Een nieuwe gecoördineerde aanvalscampagne voor de supply chain van software die meerdere ecosystemen omvat, heeft zich gericht op npm, PyPI en Crates.io om malware te verspreiden die inloggegevens steelt.
De campagne, met codenaam TrapDooromvat meer dan 34 kwaadaardige pakketten in meer dan 384 versies. De vroegste activiteit werd geregistreerd op 22 mei 2026, om 20:20 uur UTC, waarbij nieuwe pakketten snel achter elkaar in golven vanuit een cluster van accounts naar de ecosystemen werden gepubliceerd.
“TrapDoor richt zich op ontwikkelaars in crypto-, DeFi-, Solana- en AI-gemeenschappen”, aldus Socket. “De kwaadaardige pakketten zijn ontworpen om ontwikkelaarsgeheimen, crypto-wallets, SSH-sleutels, cloudgegevens, browsergegevens en omgevingsvariabelen te stelen.”
“Verschillende npm-pakketten implementeren ook een gedeelde payload, trap-core.js, die scant op inloggegevens, AWS- en GitHub-tokens valideert, SSH-gebaseerde laterale beweging probeert en persistentie plant via .cursorrules, CLAUDE.md, Git hooks, shell hooks, systemd, cron en SSH.”
Het is de moeite waard om op te merken dat de activiteit geen verband houdt met een andere campagne met dezelfde naam, die het Satori Threat Intelligence and Research Team van HUMAN vorige week beschreef als betrokkenheid bij advertentiefraude door het verspreiden van 455 Android-apps via de Google Play Store.
De lijst met geïdentificeerde pakketten vindt u hieronder:
-
Kratten.io
- move-analyzer-build
- move-compiler-tools
- verhuis-project-bouwer
- sui-framework-helpers
- sui-move-build-helper
- sui-sdk-build-utils
-
npm
- async-pipeline-builder
- build-scripts-utils
- kettingsleutelvalidator
- crypto-credential-scanner
- defi-env-auditor
- defi-dreigingsscanner
- implementatiesleutel-auditor
- dev-env-bootstrapper
- eth-wallet-schildwacht
- llm-context-compressor
- geheugensteuntje-veiligheidscontrole
- model-switch-router
- knooppunt-setup-helpers
- project-init-tools
- prompt-engineering-toolkit
- stevigheid-inzet-bewaker
- token-gebruik-tracker
- portemonnee-back-up-verifier
- portemonnee-beveiligingscontrole
- web3-geheimen-detector
- werkruimte-config-loader
-
PyPI
- cryptowallet-veiligheid
- data-pipeline-controle
- defi-risicoscanner
- env-loader-cli
- eth-security-auditor
- git-config-sync
- stevigheid-build-guard
De operatie valt op door de diverse leveringspaden, waarbij gebruik wordt gemaakt van postinstall-hooks, externe JavaScript-payloads die worden uitgevoerd tijdens het importeren van pakketten, en kwaadaardige build.rs-scripts die zich richten op Sui- en Move-ontwikkelaars. De pakketten doen zich voor als schijnbaar onschadelijke hulpmiddelen, waardoor aanvallers een breed publiek kunnen bereiken.
Er is vastgesteld dat de npm-pakketten een JavaScript-payload (“trap-core.js”) uitvoeren, die scant op inloggegevens en ontwikkelaarsgeheimen, gestolen inloggegevens valideert met behulp van AWS- en GitHub API-aanroepen, en persistentie op de host creëert met behulp van cron-jobs, systemd-services, Git-hooks en via SSH over het netwerk beweegt.
De Rust-kratten zoeken op een vergelijkbare manier naar lokale sleutelopslagplaatsen, versleutelen de gegevens met behulp van een hardgecodeerde XOR-sleutel en exfiltreren deze naar GitHub Gists. De pakketten zijn ook opmerkelijk vanwege het gebruik van een build-script (“build.rs”) om de uitvoering van de kwaadaardige code te activeren.
De Python-pakketten die aan TrapDoor zijn gekoppeld, zijn zo ontworpen dat ze bij het importeren automatisch worden uitgevoerd. Het primaire doel van de pakketten is om JavaScript te downloaden van een door de aanvaller bestuurd GitHub Pages-domein (“ddjidd564.github(.)io”), en het uit te voeren met “node -e.”
“Deze techniek maakt het mogelijk dat het Python-pakket de uitvoering delegeert aan een externe JavaScript-payload, waardoor de aanvaller na publicatie meer flexibiliteit krijgt”, legt Socket uit. “Door de payload extern te hosten, kan de aanvaller het gedrag bijwerken zonder een nieuwe PyPI-release te publiceren.”
Een ongebruikelijk aspect van de campagne is de implantatie van .cursorrules en CLAUDE.md met verborgen instructies om assistenten van kunstmatige intelligentie (AI) te misleiden om een ‘beveiligingsscan’ uit te voeren die resulteert in geheime ontdekking en exfiltratie. Dit wordt bereikt door GitHub pull-requests (PR’s) te openen voor populaire AI- en ontwikkelaarsprojecten, waaronder ‘browser-use/browser-use’, ‘langchain-ai/langchain’ en ‘langflow-ai/langflow’.
De PR-activiteiten geven aan dat TrapDoor verder gaat dan het pushen van kwaadaardige pakketten naar open-source-ecosystemen. Socket zei dat de bedreigingsacteur waarschijnlijk test of AI-gerelateerde projectbestanden kunnen worden geïntroduceerd via reguliere open-source bijdrageworkflows, waardoor AI-coderingstools die verborgen instructies gaan parseren en toepassen.
De bevindingen laten opnieuw zien hoe bedreigingsactoren zich steeds meer richten op de workflows van ontwikkelaars, met als doel een breed scala aan informatie te stelen die het mogelijk zou kunnen maken om dieper in doelomgevingen te graven voor vervolgaanvallen.
“TrapDoor laat zien hoe aanvallers traditionele typosquatting van pakketten combineren met nieuwere aanvalspaden in de ontwikkelaarsomgeving”, aldus Socket. “De pakketnamen zijn zo gemaakt dat ze relevant lijken voor crypto-ontwikkeling, AI-tooling, lokale omgevingsinstellingen en beveiligingsworkflows. De malware gebruikt vervolgens ecosysteemspecifieke uitvoeringspaden: build.rs in Rust, postinstall-hooks in npm en uitvoering tijdens importtijd in Python.”