Skip to content
supplychainattack.orgSupply chain attack incident catalog
containedcritical

Malicious code in camelot-ammv2-periphery (npm)

camelot-ammv2-periphery is a malicious npm package impersonating Camelot DEX's AMM v2 periphery contracts. Versions 1.0.0 and 1.1.0 execute install-time payloads that harvest environment variables, SSH keys, AWS credentials, GCP credentials, and other sensitive files from developer machines, exfiltrating them via HTTPS POST.

ShareXLinkedInHacker News
Disclosed
Last updated
Blast radius
All npm users who installed camelot-ammv2-periphery versions 1.0.0 or 1.1.0; credentials and secrets harvested from developer machines.
Ecosystems
Attack vectors
Affected entities
  • camelot-ammv2-periphery · 1.0.0, 1.1.0

camelot-ammv2-periphery is a typosquatting/impersonation attack targeting developers working with Camelot DEX. The package contains no legitimate functionality—only a package.json and a malicious install-time payload (index.js) that executes via preinstall and postinstall hooks.

Version 1.0.0 harvests environment variables matching patterns like KEY, TOKEN, SECRET, PASS, PRIVATE, MNEMONIC, RPC, AWS, GITHUB, NPM, KUBE, VAULT, AUTH, PGP, GPG, SEED, and WALLET. It also collects ~/.npmrc, ~/.gitconfig, directory listings of ~/.ssh, ~/.foundry/keystores, ~/.config/hardhat, and ~/.config/gcloud, plus hostname, username, working directory, and platform information. All collected data is exfiltrated via HTTPS POST to https://webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09.

Version 1.1.0, published approximately 2.5 hours after 1.0.0, escalates the attack by reading full file contents (up to 4000 bytes) from sensitive locations including .aws/credentials, .aws/config, .ssh/id_rsa, .ssh/id_ed25519, .ssh/config, .kube/config, .docker/config.json, .netrc, .pgpass, .pypirc, .git-credentials, and GCP credential files (application_default_credentials.json and legacy_credentials).

Both versions use error suppression (|| true) to ensure the install process completes without visible failure, maximizing the likelihood of successful compromise.

Indicators of compromise

Packages
  • camelot-ammv2-periphery
Domains
  • webhook.site

Remediation

  • Immediately uninstall camelot-ammv2-periphery from all systems
  • Rotate all credentials, API keys, SSH keys, and secrets that may have been exposed (AWS, GCP, GitHub, NPM, Kubernetes, etc.)
  • Review npm install logs and package-lock.json for presence of camelot-ammv2-periphery versions 1.0.0 or 1.1.0
  • Audit git history and recent commits for unauthorized changes
  • Monitor exfiltration endpoint https://webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09 if possible to assess exposure scope
  • Use npm audit to identify any remaining malicious dependencies
  • Implement package pinning and lock file verification in CI/CD pipelines
  • Consider using npm package signature verification and allowlisting trusted publishers

Sources

  1. GitHub Advisory GHSA-m3cv-6763-2mrv · GitHub Advisory Database

Cite this entry

"Malicious code in camelot-ammv2-periphery (npm)." supplychainattack.org, Supply Chain Attack Incident Catalog. Disclosed August 12, 2026; last updated August 12, 2026. https://supplychainattack.org/incident/malicious-code-in-camelot-ammv2-periphery-npm-1vyp2y

Suggest a correction

Found an error or have a newer source? Corrections to factual errors take priority over new entries.

  1. resolvedcritical

    Malicious code in create-coin (npm)

    create-coin@20.1.1 on npm contained malicious postinstall code that collected sensitive environment variables, credentials, and host reconnaissance data. The package impersonated an esbuild platform build and exfiltrated data to a hardcoded endpoint.

    npmCompromised packageTyposquatting
  2. containedcritical

    Malicious code in chai-as-testkit (npm)

    The npm package chai-as-testkit is a typosquat/impersonation attack delivering obfuscated malicious code that executes on import. The package falsely claims to be a vulnerability management tool but ships pino library files under a different author, with a synthetic stub that loads a 4MB+ obfuscated bundle containing attacker-controlled code.

    npmTyposquattingCompromised package
  3. resolvedcritical

    Malicious code in @next-fonts/font (npm)

    @next-fonts/font is a typosquat package on npm that executes arbitrary attacker-controlled code via a blockchain-mediated C2 channel when its Inter() function is called. The malicious payload is base64-encoded and executed through Node.js spawn or eval, with no legitimate font functionality.

    npmTyposquattingCompromised package
  4. resolvedcritical

    Malicious code in chai-as-soul (npm)

    chai-as-soul@2.3.5 is a typosquat of the pino logging library containing malicious code that exfiltrates environment variables (including AWS/GCP/CI tokens) and executes arbitrary remote code on installation.

    npmTyposquattingCompromised package