cryptodao-sdk@99.99.99
Malicious code in cryptodao-sdk (npm)
Analysis
This npm package is a dependency-confusion attack payload. It uses an extremely high version number (99.99.99) and an internal-sounding name to shadow a private package of the same name, so a build system pulls the public malicious copy. A postinstall script (recon.js) executes automatically on install. It fingerprints the host and harvests secrets from a large list of CI/CD environment variables (GitLab CI job/registry/deploy tokens, GitLab access/API tokens, SSH/deploy private keys, AWS access keys and session tokens, database and Redis URLs/passwords, crypto private keys, mnemonics and seed phrases, Infura/Alchemy API keys, Docker/npm/Slack/Discord tokens, container registry credentials). It additionally reads common .env files across the filesystem and extracts any line containing KEY/SECRET/TOKEN/PASS/PRIVATE/MNEMONIC, and enumerates CI build directories. The harvested data is serialized to JSON and exfiltrated over HTTPS to external collector endpoints (a webhook[.]site bin and a pipedream[.]net endpoint), with TLS verification disabled, and is also written to a temp file and printed to stdout for log scraping.
- analyzed by
- Leitwacht
- first seen
- Jun 17, 2026, 03:25 AM
- analyzed
- Jun 17, 2026, 03:52 AM
Related advisories
- @mastra/node-speaker@0.1.1
- harpoon-package@1.1.0
- backoffice-charges-module@1.999.0
- chai-test-mocks@1.2.0
- aillmgen@4.0.2
- chai-plugin-kit@5.8.1
- easyllmai@3.0.1
- ssr-auth-sync@1.6.16
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.