Transitive npm Trust Becomes the Attack Surface

A direct dependency check is not enough here. One of the malicious packages reaches projects through a real PostCSS library, so a team can pull in the trojan without ever typing the fake package name itself. That turns normal npm resolution into the point of exposure and puts build machines and developer endpoints in the blast radius. JFrog found three malicious npm packages published in the past month and still available on npm: aes-decode-runner-pro, postcss-minify-selector, and postcss-minify-selector-parser. They impersonate PostCSS tooling, ride a dependency on the legitimate postcss-selector-parser, and deliver a Windows RAT that steals Chrome credentials, collects extension data, runs commands, and moves files. The same trick travels anywhere packages are pulled transitively. If a trusted library name can be mirrored closely enough, dependency review can miss the compromise until the payload is already on Windows hosts.

Part of the PlainSec briefing for 2026-06-24

Sources