MAL-2026-14440 Malicious code in web-advertising (npm)
Malicious package
Published
MAL-2026-14440 is a malicious package: web-advertising (npm). Every version was published to cause harm.
Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.
Reference: https://insights.sbomify.com/MAL-2026-14440/ (Markdown: https://insights.sbomify.com/MAL-2026-14440/index.md)
- Package
- web-advertising
- Registry
- npm
What is MAL-2026-14440?
MAL-2026-14440 is a malicious package in web-advertising, published on 24 Aug 2026.
Official description
[email protected] declares scripts.preinstall = 'node index.js', so index.js executes automatically on npm install. The script collects hostname, username, home directory, local/public/resolver IP addresses, CI environment identifiers (GITHUB_REPOSITORY, GITHUB_ACTOR, CI_PROJECT_PATH, AWS_REGION), the parent project's package.json name/author/repo, and authenticated developer identities obtained by shelling out to
gh api user --jq.login, npm whoami, and git config user.email. The collected JSON is hex-encoded, split into 60-character chunks, and exfiltrated via DNS subdomain queries to da51rv0hb2uc72tg4gvgdepinjcallbk1.oast.fun and via HTTPS/HTTP POST to the same callback host. The package name plus 999.9.16 versioning and the OAST callback are consistent with a dependency-confusion beacon. The README's self-description as authorised research does not change the observed behavior: installer host, CI, and identity data leave the machine to an author-controlled third-party callback with no installer consent, and DNS tunneling is used to bypass egress filtering.What should I do about MAL-2026-14440?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.