Forscher von Socket haben eine koordinierte Angriffskampagne auf die Software-Lieferkette entdeckt, die den Codenamen TrapDoor erhalten hat und gleichzeitig die drei größten Paket-Repositories – npm, PyPI und Crates.io – betroffen hat. Nach Angaben der Forscher umfasst die Kampagne mehr als 34 bösartige Pakete in über 384 Versionen, die auf den Diebstahl von Kryptowährungs-Wallets, SSH-Schlüsseln, Cloud-Zugangsdaten und Umgebungsvariablen abzielen. Entwicklern, die mit Kryptowährungsprojekten, DeFi-Tools, der Solana-Plattform und KI-Werkzeugen arbeiten, wird empfohlen, ihre Abhängigkeiten umgehend auf die nachfolgend aufgeführten Pakete zu überprüfen.
Umfang und Zeitlinie der Kampagne
Nach Angaben von Socket wurde die erste Aktivität von TrapDoor am 22. Mai 2026 um 20:20 UTC registriert. Neue Pakete wurden in Wellen aus einem Cluster von Konten in schneller Folge veröffentlicht – eine für koordinierte Angriffe auf die Lieferkette typische Taktik, bei der der Angreifer versucht, die Verbreitung zu maximieren, bevor er entdeckt wird.
Die vollständige Liste der bösartigen Pakete verteilt sich auf die Ökosysteme wie folgt:
- Crates.io (6 Pakete): move-analyzer-build, move-compiler-tools, move-project-builder, sui-framework-helpers, sui-move-build-helper, sui-sdk-build-utils
- npm (21 Pakete): async-pipeline-builder, build-scripts-utils, chain-key-validator, crypto-credential-scanner, defi-env-auditor, defi-threat-scanner, deployment-key-auditor, dev-env-bootstrapper, eth-wallet-sentinel, llm-context-compressor, mnemonic-safety-check, model-switch-router, node-setup-helpers, project-init-tools, prompt-engineering-toolkit, solidity-deploy-guard, token-usage-tracker, wallet-backup-verifier, wallet-security-checker, web3-secrets-detector, workspace-config-loader
- PyPI (7 Pakete): cryptowallet-safety, data-pipeline-check, defi-risk-scanner, env-loader-cli, eth-security-auditor, git-config-sync, solidity-build-guard
Die Paketnamen sind so gewählt, dass sie wie legitime Werkzeuge für Kryptowährungsentwicklung, Security Audits, Umgebungs-Setups und KI-Arbeit wirken. Die Pakete in Crates.io imitieren gezielt Tools aus den Ökosystemen Sui und Move.
Technische Umsetzung nach Ökosystemen
npm: gemeinsame Nutzlast trap-core.js
Mehrere npm-Pakete nutzen postinstall-Hooks, um ein gemeinsames JavaScript-Modul namens trap-core.js auszuführen. Dieses Modul führt folgende Aktionen aus: Es scannt das Dateisystem nach Entwickler-Credentials und -Secrets, validiert die gestohlenen AWS- und GitHub-Tokens über Aufrufe der jeweiligen APIs, richtet Persistenz über cron-Jobs, systemd-Services und Git-Hooks ein und ermöglicht laterale Bewegung im Netzwerk über SSH.
Crates.io: Exfiltration über GitHub Gists
Die bösartigen Rust-Pakete nutzen den Mechanismus der Cargo-Build-Skripte (build.rs), um den schädlichen Code bereits in der Kompilierphase auszuführen. Die Malware sucht nach lokalen Schlüsselspeichern, verschlüsselt die gefundenen Daten mit einem hartkodierten XOR-Schlüssel und sendet sie an GitHub Gists. Die Verwendung von build.rs – einem regulären Cargo-Mechanismus – erschwert die Entdeckung der schädlichen Aktivität ohne spezialisierte Analyse erheblich.
PyPI: Delegation der Ausführung an entferntes JavaScript
Python-Pakete werden beim Import automatisch ausgeführt. Ihre Hauptaufgabe besteht darin, JavaScript von der Domain des Angreifers ddjidd564.github[.]io (GitHub Pages) zu laden und über node -e auszuführen. Dieser Ansatz ermöglicht es dem Angreifer, das Verhalten der Malware zu verändern, ohne neue Versionen des Pakets auf PyPI veröffentlichen zu müssen – es genügt, den Inhalt auf GitHub Pages zu ändern.
Angriff auf KI-Assistenten durch Vergiftung von Konfigurationsdateien
Das ungewöhnlichste Element der Kampagne ist das Einschleusen der Dateien .cursorrules und CLAUDE.md mit versteckten Anweisungen, die darauf abzielen, KI-Assistenten für das Programmieren zu manipulieren. Diese Dateien enthalten Vorgaben, die die KI dazu bewegen sollen, eine „Sicherheitsprüfung“ zu starten, die in Wirklichkeit zur Entdeckung und Exfiltration von Secrets führt.
Nach Angaben von Socket eröffnete der Angreifer Pull Requests in populären, mit KI verbundenen Projekten, darunter browser-use/browser-use, langchain-ai/langchain und langflow-ai/langflow. Die Forscher vermuten, dass der Angreifer die Möglichkeit testete, bösartige Konfigurationsdateien über die üblichen Open-Source-Contribution-Workflows einzuschleusen. Gelangen solche Dateien in ein Repository, werden KI-Tools zur Codeerstellung die versteckten Anweisungen automatisch parsen und ausführen. Diese Einschätzung stammt aus einer einzelnen Forschungssource und bedarf unabhängiger Bestätigung.
Indikatoren einer Kompromittierung
- Domain: ddjidd564.github[.]io – wird zum Hosten entfernter JavaScript-Nutzlasten verwendet
- Dateien: trap-core.js – gemeinsames bösartiges Modul in npm-Paketen
- Persistenz-Mechanismen: .cursorrules, CLAUDE.md, Git-Hooks, Shell-Hooks, systemd-Services, cron-Jobs, SSH-Konfiguration
Auswirkungsanalyse
Am stärksten gefährdet sind Entwickler, die mit Kryptowährungsprojekten, DeFi-Protokollen, der Solana-Blockchain sowie mit KI-Tools arbeiten. Eine Kompromittierung der Entwickler-Workstation kann zur Offenlegung privater Schlüssel von Kryptowallets, AWS-Cloud-Zugangsdaten, GitHub-Tokens und SSH-Schlüsseln führen – und damit den Weg für weitere Angriffe auf die Infrastruktur der Organisation ebnen. Der Mechanismus der lateralen Bewegung über SSH bedeutet, dass bereits eine einzelne infizierte Maschine als Einstiegspunkt in das Unternehmensnetz dienen kann.
Empfehlungen
- Abhängigkeiten prüfen: Führen Sie ein Audit der Dateien package.json, requirements.txt und Cargo.toml auf das Vorhandensein eines der 34 aufgelisteten Pakete durch. Entfernen Sie gefundene Pakete und alle zugehörigen Artefakte.
- Rotation von Secrets: Wenn ein bösartiges Paket installiert war, widerrufen und erneuern Sie umgehend alle AWS- und GitHub-Tokens, SSH-Schlüssel sowie mnemonischen Phrasen von Kryptowallets, auf die das kompromittierte System Zugriff hatte.
- Persistenz-Mechanismen prüfen: Kontrollieren Sie cron-Jobs (
crontab -l), systemd-Services, Git-Hooks in Repositories (.git/hooks/) sowie die Dateien .cursorrules und CLAUDE.md im Projektroot. - Domain blockieren: Fügen Sie ddjidd564.github[.]io auf DNS- und Proxy-Ebene zu Ihren Blocklisten hinzu.
- Review von Pull Requests: Überprüfen Sie bei der Pflege von Open-Source-Projekten eingehende PRs auf Dateien .cursorrules und CLAUDE.md mit verdächtigen Anweisungen.
- Tools zur Abhängigkeitsanalyse einsetzen: Implementieren Sie Paketprüfungen in der CI/CD-Pipeline mit spezialisierten Scannern, die auffällige postinstall-Hooks, build.rs-Skripte und Autoausführung beim Import erkennen können.
Die TrapDoor-Kampagne zeigt die Konvergenz zweier Entwicklungen: klassisches Package-Typosquatting und die Ausnutzung neuer Angriffsvektoren über KI-Assistenten für die Entwicklung. Vorrangige Maßnahme ist ein Audit der Abhängigkeiten anhand der genannten Paketliste, gefolgt von der Rotation aller Secrets auf betroffenen Systemen. Teams, die KI-Tools zur Codeerstellung (Cursor, Claude) einsetzen, sollten ihre Repositories zusätzlich auf unautorisierte Konfigurationsdateien prüfen, die das Verhalten von KI-Assistenten steuern können.