MAL-2026-13735

See a problem?
Import Source
https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@aerodrome-finance/slipstream/MAL-2026-13735.json
JSON Data
https://api.osv.dev/v1/vulns/MAL-2026-13735
Published
2026-08-11T00:00:00Z
Modified
2026-08-12T09:45:11.793359535Z
Summary
Malicious code in @aerodrome-finance/slipstream (npm)
Details

@aerodrome-finance/slipstream is a malicious npm package that impersonates Aerodrome Finance's Slipstream concentrated-liquidity AMM. 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 (d9834357b7108ed122b3c272b3f913e0d2e931ab3629e94227b61f787fbe2525)

Package published as @aerodrome-finance/slipstream advertises 'Aerodrome Slipstream AMM contracts and ABIs' but ships only index.js, which is executed via preinstall and postinstall lifecycle hooks. On install, index.js enumerates process.env filtering keys matching a credential regex (KEY|TOKEN|SECRET|PASS|PRIVATE|MNEMONIC|AWS|GITHUB|NPM|WALLET|SEED|...), reads installer-side secret files including ~/.aws/credentials, ~/.ssh/idrsa and ided25519, ~/.npmrc, ~/.netrc, ~/.docker, ~/.foundry/keystores, Solana/Sui key material, and.env files, serializes the collected data, and hands it off to a detached Node subprocess (spawn(process.execPath, ['-e', src], {detached:true, stdio:'ignore'}); ch.unref()) that sleeps 60-240 seconds before POSTing the JSON payload to https://webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09. The code also bails out when hostname/user match sandbox indicators (scan-, detonation, sandbox, ubuntu-fc-uvm, honey, canarytokens, npmmirror), evading install-time sandbox observation. The package name impersonates the Aerodrome Finance DeFi project and the harvest list targets crypto/DeFi developers (wallet keystores, RPC provider tokens, Foundry/Solana/Sui keys).

Database specific
{
    "malicious-packages-origins": [
        {
            "id": "IN-MAL-2026-017369",
            "import_time": "2026-08-11T15:26:49.305213542Z",
            "sha256": "27c46eca00f87ce74b48f8ea455991a215d32c291cd503c882be3d8d1269045a",
            "modified_time": "2026-08-11T15:18:33Z",
            "source": "amazon-inspector",
            "versions": [
                "1.1.0"
            ]
        },
        {
            "id": "IN-MAL-2026-017352",
            "import_time": "2026-08-11T15:26:47.621310864Z",
            "sha256": "d9834357b7108ed122b3c272b3f913e0d2e931ab3629e94227b61f787fbe2525",
            "versions": [
                "1.1.1"
            ],
            "source": "amazon-inspector",
            "modified_time": "2026-08-11T15:11:44Z"
        },
        {
            "id": "IN-MAL-2026-017368",
            "import_time": "2026-08-11T15:26:49.165522789Z",
            "sha256": "9e159c53351fbfabd3b79afa787fb222f18e0ee7745503064e351cb693b4b2ff",
            "versions": [
                "1.0.0"
            ],
            "source": "amazon-inspector",
            "modified_time": "2026-08-11T15:18:26Z"
        }
    ],
    "iocs": {
        "urls": [
            "https://webhook.site/326b0891-2093-4800-a4c1-686ce3e07b09"
        ],
        "files": [
            {
                "paths": [
                    "package/index.js"
                ],
                "digests": {
                    "sha256": "1adefa8a59799d30f5c3ec092c304ef7f6616996ca0687a292b75e095bc1125f"
                },
                "source": "PACKAGE_ARCHIVE",
                "note": "1.0.0 install-time credential harvester (preinstall/postinstall hook)"
            },
            {
                "paths": [
                    "package/index.js"
                ],
                "digests": {
                    "sha256": "49d3d774fcb3acaee1e4479b291a69c8ba56337ef4ef2d1977b484561a2a3a84"
                },
                "note": "1.1.0 escalated payload: adds wallet keystore theft (Solana/Anchor/NEAR/Sui), local .env file reads, expanded RPC/API key regex, full credential-file-content reads",
                "source": "PACKAGE_ARCHIVE"
            }
        ]
    }
}
References
Credits

Affected packages

npm / @aerodrome-finance/slipstream

Package

Name
@aerodrome-finance/slipstream
View open source insights on deps.dev
Purl
pkg:npm/%40aerodrome-finance/slipstream

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected

Affected versions

1.*
1.0.0
1.1.0
1.1.1

Database specific

cwes
[
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    },
    {
        "description": "The product contains code that appears to be malicious in nature.",
        "name": "Embedded Malicious Code",
        "cweId": "CWE-506"
    }
]
indicators
{
    "evidence_files": [
        {
            "path": "index.js",
            "tlsh": "555173e322fa65982563e2d2e6176124623af7827546f8c4f29c24144fce438c9f36fc",
            "sha256": "49d3d774fcb3acaee1e4479b291a69c8ba56337ef4ef2d1977b484561a2a3a84"
        }
    ],
    "package_integrity": [
        {
            "filename": "slipstream-1.1.0.tgz",
            "hashes": {
                "sha1": "ed0ed04653d2e062d19c88e1a023126f7a149528",
                "sha512_sri": "sha512-w4V8KVNoYnE1IMljOTk0f0U0/xKtTdDUGHhKbcK16sz/InqihcpwpP14zBbHMFiU90F3ivLVpEgzopZfLI3aAw=="
            }
        }
    ]
}
source
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/@aerodrome-finance/slipstream/MAL-2026-13735.json"