Skip to content
OpenAdvisories
Malicious MAL-2026-13772

camelot-ammv2-core

npm package · versions 1.1.0, 1.1.1, 1.0.0

Reported Aug 11, 2026 · Updated Aug 12, 2026

If this package is installed

Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.

Details

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.

---
_-= Per source details. Do not edit below this line.=-_

Source: amazon-inspector (f2f471dcb89cfe3ee8be8dc3959dd224177993f77975ab2e5f4ec81fd678695b)
camelot-ammv2-core@1.1.1 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.

Indicators of compromise

Shown defanged and not clickable. Search any indicator to find other packages using it.

URLs