CRITICAL npm Malware

Malicious code in @ppa-web-components/ppa-banner (npm)

MAL-2026-18272

Published · Modified

Dependency scanning

Check whether @ppa-web-components/ppa-banner is in your codebase

Corgea flags malicious and compromised dependencies with reachability analysis, so you fix the packages that actually run in your application instead of working through the whole lockfile.

Description


__

Source: amazon-inspector (bcf0b03540a27943a2afcc26927ce7256d85328bc4fcbc2562f36a88ad75ce8d)

@ppa-web-components/ppa-banner@1.0.1 is described as a 'Compatibility shim' but ships only two code paths: a no-op Proxy as its main export, and beacon.cjs. beacon.cjs defines BEACON = "http://185.158.107.175:8787/_ah/dc" and a fire() function that POSTs a JSON payload containing the package name, os.hostname(), the install path (__dirname), process.cwd(), and the Node/npm version to that bare-IP, plain-HTTP endpoint. fire() is invoked both from the postinstall lifecycle hook (node beacon.cjs) and from the module's main entry, so the beacon fires automatically on npm install and again whenever the package is required. The destination is an unrelated bare IP over cleartext HTTP, not any publisher-controlled or registry infrastructure, and the shipped stub has no functional purpose other than the beacon. The scoped-name + stub + install-time recon beacon shape is consistent with a dependency-confusion recon callback used to identify internal build environments that resolved this public name.

Ready to move

Start Securing

Free, no credit card | First findings in minutes