Skip to main content

Malicious code in @aerodrome-finance/contracts (npm)

0
Critical
Published: 08/11/2026 (08/11/2026, 00:00:00 UTC)
Source: GCVE Database
Product: @aerodrome-finance/contracts

Description

@aerodrome-finance/contracts is a malicious npm package that impersonates Aerodrome Finance. 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 (2c46806c21e6a0f5a5593eca11bbd822991f566dc05eb50c7ec56f88b649c3be) Package name typosquats the legitimate @aerodrome-finance scope. Lifecycle hooks auto-execute index.js on npm install, which reads installer secrets from ~/.aws/, ~/.ssh/, ~/.kube/, ~/.docker/, ~/.netrc, ~/.npmrc, ~/.pypirc, ~/.git-credentials, gcloud/solana/anchor/sui key directories, Foundry keystores, and.env files, and scrapes process.env for keys matching KEY|TOKEN|SECRET|PASS|PRIVATE|MNEMONIC|AWS|GITHUB|NPM|WALLET|SEED. The collected data is POSTed to a hardcoded webhook.site endpoint via https.request from a detached child process (spawn(process.execPath, ['-e', src], {detached:true, stdio:'ignore'})) that sleeps 60-240 seconds before sending, to outlive install and scan windows. Sandbox/honeypot evasion is present: host regex checks for scan-/detonation/sandbox/ubuntu-fc-uvm prefixes, non-root/sandbox user checks, canarytoken/honey env checks, and a check for npm mirror registries. Static evidence confirms co-use of child_process, https, os, and fs, with os.hostname() and a POST to https.request in index.js.

Affected software

npmghsa
@aerodrome-finance/contracts
Affected versions
=1.1.0=1.1.1=1.0.0

Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.

AI-Powered Analysis

Machine-generated threat intelligence

AILast updated: 08/11/2026, 19:05:19 UTC

Technical Analysis

The malicious npm package @aerodrome-finance/contracts (versions 1.0.0, 1.1.0, and 1.1.1) impersonates the legitimate @aerodrome-finance scope. Its lifecycle hooks auto-execute an index.js script on installation that reads sensitive installer secrets from multiple well-known directories and environment variables containing keys or tokens. It then sends the collected data via HTTPS POST to a hardcoded webhook.site endpoint using a detached child process that delays sending to outlive installation and scanning windows. The code includes checks to evade sandbox, honeypot, and automated detection environments by inspecting hostnames, user privileges, environment variables, and npm registry mirrors. Static analysis confirms use of child_process, https, os, and fs modules to perform these actions.

Potential Impact

This malicious package can lead to the compromise of a wide range of sensitive credentials and secrets stored on the victim's machine, including cloud service keys, SSH keys, Docker credentials, Git credentials, and various environment secrets. This exposure can result in unauthorized access to cloud resources, source code repositories, container registries, and other critical infrastructure. The stealth and evasion techniques increase the likelihood of successful undetected compromise during automated scans or sandbox analysis.

Mitigation Recommendations

No official patch or remediation is available as this is a malicious package impersonating a legitimate scope. Users should immediately remove versions 1.0.0, 1.1.0, and 1.1.1 of @aerodrome-finance/contracts if installed. Audit systems for the presence of this package and any suspicious network traffic to unknown endpoints. Rotate any potentially exposed credentials and secrets stored on affected hosts. Use trusted sources and verify package authenticity before installation to avoid typosquatting attacks.

Pro Console: star threats, build custom feeds, automate alerts via Slack, email & webhooks.Upgrade to Pro

Technical Details

Gcve Source
db.gcve.eu
Osv Id
MAL-2026-13734
Osv Schema Version
1.7.4
Ecosystems
["npm"]

Threat ID: 6a7b6fd9bf8831d5393eb037

Added to database: 08/11/2026, 18:54:17 UTC

Last enriched: 08/11/2026, 19:05:19 UTC

Last updated: 09/23/2026, 21:55:22 UTC

Views: 64

Community Reviews

0 reviews

Crowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.

Sort by
Loading community insights…

Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.

Actions

PRO

Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.

Please log in to the Console to use AI analysis features.

Need more coverage?

Upgrade to Pro Console for AI refresh and higher limits.

For incident response and remediation, OffSeq services can help resolve threats faster.

Latest Threats

Breach by OffSeqOFFSEQFRIENDS — 25% OFF

Check if your credentials are on the dark web

Instant breach scanning across billions of leaked records. Free tier available.

Scan now
OffSeq TrainingCredly Certified

Lead Pen Test Professional

Technical5-day eLearningPECB Accredited
View courses