Les chercheurs en sécurité de Socket ont découvert TrapDoor, l'une des attaques de la chaîne d'approvisionnement les plus sophistiquées de 2026 — une campagne coordonnée déployant 34 packages malveillants sur npm, PyPI et Crates.io simultanément, ciblant les développeurs des communautés crypto, DeFi, IA et cybersécurité.
Points clés
- 34 packages malveillants et 384 versions réparties sur npm (21), PyPI (7) et Crates.io (6)
- Vole les clés de portefeuilles crypto, clés SSH, identifiants AWS, tokens GitHub, données de navigateur et variables d'environnement
- Première détection le 22 mai 2026 ; les attaquants ont continué à publier de nouvelles versions même après les suppressions
- Temps de détection médian par Socket : 5 minutes 27 secondes — détection la plus rapide : 58 secondes après la publication
- Ouverture de pull requests malveillantes sur LangChain, LlamaIndex, MetaGPT, OpenHands et browser-use
Un nouveau vecteur : les assistants IA de programmation
Ce qui rend TrapDoor particulièrement inquiétant, c'est son ciblage délibéré des assistants IA comme Cursor et Claude. Les packages malveillants implantent des fichiers .cursorrules et CLAUDE.md modifiés contenant des instructions cachées encodées avec des caractères Unicode de largeur nulle. Lorsqu'un développeur ouvre le projet infecté et travaille avec un assistant IA, celui-ci lit ces fichiers comme des configurations de confiance — et peut exécuter à son insu des commandes qui exfiltrent des secrets.
L'attaquant a également ouvert des pull requests sur des projets open source majeurs — LangChain, LlamaIndex, MetaGPT, OpenHands et browser-use — tentant d'injecter ces fichiers de configuration malveillants directement dans des bases de code utilisées par des millions de développeurs.
Comment fonctionne l'attaque
TrapDoor utilise des chemins d'exécution natifs à chaque écosystème pour maximiser l'infection :
- npm : Des hooks postinstall exécutent un récolteur de credentials de 1 149 lignes (
trap-core.js) qui valide les tokens AWS et GitHub volés via des appels API en direct, puis tente un déplacement latéral via SSH sur le réseau du développeur - PyPI : Les packages s'auto-exécutent à l'importation, téléchargent et exécutent du JavaScript depuis un domaine GitHub Pages contrôlé par l'attaquant via
node -e - Crates.io : Des scripts
build.rsmalveillants recherchent les keystores de portefeuilles locaux, les chiffrent par XOR avec la clécargo-build-helper-2026, et les exfiltrent vers des GitHub Gists
La persistance est établie via plusieurs vecteurs : .cursorrules, CLAUDE.md, hooks Git, hooks shell, services systemd et cron jobs — rendant le nettoyage difficile après une compromission initiale.
Noms de packages ciblés
Les packages ont été conçus avec des noms qui semblent légitimes aux développeurs des communautés visées :
Exemples npm : crypto-credential-scanner, prompt-engineering-toolkit, solidity-deploy-guard, llm-context-compressor, wallet-security-checker
Exemples PyPI : eth-security-auditor, defi-risk-scanner, cryptowallet-safety
Exemples Crates.io : sui-move-build-helper, move-compiler-tools, sui-framework-helpers
Que faire ?
Si vous avez installé des packages npm, PyPI ou Crates.io depuis des sources inconnues ces derniers jours :
- Auditez vos lockfiles et vérifiez les packages installés par rapport à la liste IOC publiée par Socket
- Révoquez vos credentials immédiatement : clés SSH, credentials AWS, tokens GitHub, et passphrases de portefeuilles crypto
- Recherchez les fichiers inattendus :
.cursorrulesouCLAUDE.mdque vous n'avez pas créés dans vos projets - Auditez vos pipelines CI/CD pour détecter tout signe d'exfiltration ou de trafic sortant anormal
- Épinglez les versions exactes des packages — évitez
^oulatestdans vos spécifications de dépendances
Contexte
Les attaques de la chaîne d'approvisionnement ciblant les registres de développeurs ont fortement progressé en 2026. Ce qui distingue TrapDoor, c'est la combinaison d'une portée multi-écosystèmes, du détournement des assistants IA, et de la validation en temps réel des credentials volés — les attaquants vérifient que les tokens sont toujours actifs avant exfiltration, maximisant la valeur de chaque compromission.
L'équipe de sécurité Socket a classifié les 34 packages comme malveillants et en a informé les registres npm, PyPI et Crates.io. La surveillance des nouveaux packages liés à la même infrastructure se poursuit.
Source : Socket Security