Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious packageDiscovered by O3 Security

camelot-ammv2-corenpm

camelot-ammv2-core is a confirmed malicious npm package (MAL-2026-13772) that steals credentials and exfiltrates sensitive data (malicious versions 1.0.0, 1.1.0, 1.1.1). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in camelot-ammv2-core (npm)

MAL-2026-13772
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall camelot-ammv2-core

What this malware does

camelot-ammv2-core is a malicious npm package that impersonates Camelot DEX's AMM v2 core contracts. It carries no legitimate functionality; the published tarball contains only a package.json and an install-time payload (index.js). Both preinstall and postinstall run node index.js || true, so the code executes automatically when the package is installed.

Version 1.0.0 harvests environment variables whose names match KEY|TOKEN|SECRET|PASS|PRIVATE|MNEMONIC|RPC|AWS|GITHUB|NPM|KUBE|VAULT|AUTH|PGP|GPG|SEED|WALLET, the contents of ~/.npmrc and ~/.gitconfig, and directory listings of ~/.ssh, ~/.foundry/keystores, ~/.config/hardhat, and ~/.config/gcloud, along with the hostname, username, working directory, and platform. The collected JSON is exfiltrated via an HTTPS POST to https://webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09. Errors are swallowed so the install never visibly fails.

Version 1.1.0, published roughly 2.5 hours after 1.0.0 for all six packages within the same ~9-second window, reads full file contents (up to 4000 bytes) instead of just listing them. New targets include .aws/credentials, .aws/config, .ssh/id_rsa, .ssh/id_ed25519, .ssh/config, .kube/config, .docker/config.json, .netrc, .pgpass, .pypirc, .git-credentials, and two GCP credential files (application_default_credentials.json and legacy_credentials) — the ~/.config/gcloud directory listing is still collected too. It also reads local .env, .env.local, .env.production, .env.development, and secrets.env files from the working directory, and adds cryptocurrency wallet theft: key files from Solana, Anchor, NEAR, and Sui wallet paths, plus the first three files under ~/.foundry/keystores. The credential regex gains BEARER, API, INFURA, ALCHEMY, HELIUS, QUICKNODE, ANKR, and PRIVATE_KEY to catch RPC and API provider tokens. Both versions exfiltrate to the same webhook.site endpoint.

In 1.0.0, index.js opens with a fake comment claiming it is @plumenetwork/nest-artifacts, an unrelated install-time shim — @plumenetwork/nest-artifacts is not itself a malicious package, just a leftover label from whatever template the attacker reused across this batch, published by npm account mssjeep843. The fake comment was removed in 1.1.0. Five sibling packages from the same account impersonate Euler's EVC, Aerodrome Finance, Camelot AMM, and the BoringVault pattern, sharing this same webhook.site endpoint, byte-identical payload template, and 1.0.0-to-1.1.0 escalation. Two further packages from the same account (PyPI dlmm and dlmm-sdk, impersonating Meteora's DLMM SDK) ran an equivalent harvester and are tracked separately as MAL-2026-13728 and MAL-2026-13729.

Any environment that installed either version should rotate the exposed secrets and treat harvested keys as compromised, prioritizing wallet private keys and RPC/API tokens if 1.1.0 was installed.

[email protected] is a typosquat impersonating the Camelot DEX. Its install lifecycle runs index.js, which harvests installer-side secrets — AWS credentials (/.aws/credentials), SSH private keys (/.ssh/id_rsa), kube/docker/netrc/npmrc/gcloud/solana/foundry keystores,.env files, and environment variables matching KEY|TOKEN|SECRET|PASS|PRIVATE|MNEMONIC — packs them, and POSTs the collection over HTTPS to webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09. The exfil is dispatched by spawning a detached Node child process with a 60–240 second delay so the request outlives short-lived scanners, and the script bails out when os.hostname() matches sandbox/analysis patterns (scan-, detonation, sandbox, ubuntu-fc-uvm), when the user is scan/nonroot/sandbox, when canarytoken/honey env markers are present, or when a mirror registry is configured. The package name impersonates Camelot to target wallet/DeFi developers whose environments contain RPC endpoints and wallet mnemonics.

Malicious versions

3 flagged
1.0.01.1.01.1.1

Indicators of compromise (SHA-256)

da33123d1733da84f609aeeeba82d28033a807e64f7e7e46b668a27db622067b
f2f471dcb89cfe3ee8be8dc3959dd224177993f77975ab2e5f4ec81fd678695b
8a23cf272d0ac8894273d2af4796c5a8d86a3ee1b5a13cc19f9b86a893089b92

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for camelot-ammv2-core (3 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging camelot-ammv2-core across your stack and pipelines.

  2. If you installed it — respond

    camelot-ammv2-core is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If camelot-ammv2-core was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks camelot-ammv2-core before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. camelot-ammv2-core on npm has been identified as a malicious package (versions 1.0.0, 1.1.0, 1.1.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-017443IN-MAL-2026-017437IN-MAL-2026-017455

References

Credits

  • Amazon Inspector · finder
  • O3 Security · finder
  • SafeDep · finder

Detect & block this

O3 blocks camelot-ammv2-core-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

Explore