MAL-2026-4730 Malicious code in wml-components (npm)
Malicious package
Published
MAL-2026-4730 is a malicious package: wml-components (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-4730/ (Markdown: https://insights.sbomify.com/MAL-2026-4730/index.md)
- Package
- wml-components
- Registry
- npm
What is MAL-2026-4730?
MAL-2026-4730 is a malicious package in wml-components, published on 25 May 2026.
Official description
[email protected] declares
preinstall: node poc.js in package.json, so npm install automatically runs poc.js with no consent step. poc.js iterates process.env and captures every variable whose name matches credential-shaped prefixes (TOKEN, AWS, AZURE, NPM, GITHUB, GITLAB, CI_, JENKINS, WALMART, WMT, BUILD, PROJECT, REPO, etc.) with full values, runs host-recon commands (ip a/ipconfig /all, id/whoami /all, os.hostname(), os.platform()), and walks up the directory tree reading the parent project's package.json and CI configuration (.gitlab-ci.yml, .github/workflows, Jenkinsfile, azure-pipelines.yml). The collected bundle is POSTed over HTTPS to a hardcoded interactsh out-of-band callback host (d8a5d9pon5bugoc35cngp9hcregcqyezu.oast.me, poc.js:11 and poc.js:113). The package's main is an empty object — it provides no functionality and exists only to execute the exfiltration payload. The name and version ([email protected]) are shaped as a dependency-confusion lure against an internal Walmart wml-* namespace, with the high version number designed to win resolution over the legitimate internal package. Although the package description claims authorized bug-bounty testing, any developer or CI system outside the intended scope that resolves this name (mistyped dependency, public-mirror automation, untargeted CI) leaks credentials, source-tree metadata, and host identifiers to the attacker-controlled OAST endpoint.What should I do about MAL-2026-4730?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.