Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

cryptodao-contractsnpm

Malicious code in cryptodao-contracts (npm) Remove it immediately and rotate any exposed credentials.

MAL-2026-5975
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall cryptodao-contracts

What this malware does

Package is published as version 99.99.99 to win private-vs-public resolution against an internal cryptodao-contracts namespace. The package's main module is a one-line stub; the real payload runs from the postinstall script recon.js. On npm install, recon.js enumerates a hardcoded list of installer-side secret environment variables (AWS_SECRET_ACCESS_KEY, SSH_PRIVATE_KEY, NPM_TOKEN, GITLAB_ACCESS_TOKEN, MNEMONIC, SEED_PHRASE, PRIVATE_KEY, DB_PASSWORD, etc.), reads .env files from installer-owned paths (/root/.env, /app/.env, .env.production), and grep-extracts lines matching KEY|SECRET|TOKEN|PASS|PRIVATE|MNEMONIC. The collected secrets, hostname, user, cwd, and CI build-directory listings are POSTed over HTTPS to two attacker-controlled endpoints, webhook.site/d6d18927-e513-4df7-b019-58bfc64fe0dd and enqoojbegdvxj.x.pipedream.net, with TLS verification disabled (rejectUnauthorized: false). Self-described in source as a 'CryptoDAO Dependency Confusion Reconnaissance Payload'.

Malicious versions

1 flagged
99.99.99

Indicators of compromise (SHA-256)

21c450a1d14c10213b83137f9c0670a9d8ed953105f96d66eedee78a56479d82

Frequently asked questions

No. cryptodao-contracts on npm has been identified as a malicious package (version 99.99.99 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-006867

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
cryptodao-contracts (npm) malicious package — MAL-2026-5975 | O3 Security