
Scanner d'extrémités (endpoints) développeur en lecture seule pour les métadonnées de paquets, extensions et outils de développement présents sur disque, conçu pour vérifier l'exposition à des compromissions connues de la chaîne d'approvisionnement logicielle.
Catalogues d'exposition tenus à jour pour les récentes campagnes de chaîne d'approvisionnement, construits à partir des rapports publics de renseignement sur les menaces avec Perplexity Computer et mis à jour via des PR à mesure que de nouvelles campagnes sont signalées.
Transmettez un catalogue à une analyse avec --exposure-catalog <path>. Vérifiez les entrées par rapport aux avis de sécurité en vigueur avant une utilisation en production.
| Fichier | Campagne | Source |
|---|
mastra-2026-06-17.json | Compromission de la chaîne d'approvisionnement npm de Mastra (141 paquets / 141 versions parmi @mastra/* ainsi que create-mastra et la dépendance typosquat [email protected] qui a livré un voleur d'informations multiplateforme via postinstall) | Socket, 2026-06-17 |
mini-shai-hulud-leoplatform-2026-06-24.json | Vague LeoPlatform/RStreams de Mini Shai-Hulud / Miasma (variante Hades) (compte npm czirker compromis ; 26 paquets npm + 1 module Go / 27 versions ; hook d'installation binding.gyp « Phantom Gyp », voleur d'informations préparé via Bun, marqueur de dépôt mort « Alright Lets See If This Works ») | Socket, 2026-06-24; OX Security, 2026-06-24 |
mini-shai-hulud.json | Compromission npm et PyPI de Mini/Shai-Hulud de mai 2026 (tableau des paquets concernés d'OX Security) | Recoupé avec Fleet, Socket, Snyk, Mistral, TanStack, The Hacker News |
mini-shai-hulud-redhat-cloud-services.json | Compromission par Mini Shai-Hulud des paquets npm Red Hat Cloud Services (@redhat-cloud-services) (32 paquets / 95 versions ; marqueur de ver « Miasma: The Spreading Blight ») | Socket, 2026-06-01 |
laravel-lang-2026-05-23.json | Compromission de la chaîne d'approvisionnement Composer/Packagist de Laravel Lang touchant laravel-lang/lang, laravel-lang/http-statuses, laravel-lang/attributes et laravel-lang/actions | Socket, 2026-05-23 |
nx-console-vscode-2026-05-18.json | Compromission de l'extension VS Code Nx Console (nrwl.angular-console 18.95.0) publiée sur le VS Code Marketplace le 2026-05-18 (OpenVSX non affecté ; corrigée dans 18.100.0+) | StepSecurity, 2026-05-18 |
antv-mini-shai-hulud.json | Vague de ver npm AntV / Mini Shai-Hulud de mai 2026 (324 paquets / 643 versions sur npm et PyPI ; ciblant les artefacts détectés à partir du 2026-05-13) | Socket, 2026-05-19 |
node-ipc-credential-stealer.json | Compromission de node-ipc npm en 2026-05 par un voleur d'identifiants (7 versions malveillantes) | Socket, 2026-05-14 |
shopsprint-decimal-typosquat.json | Typosquat Go github.com/shopsprint/decimal v1.3.3 avec porte dérobée DNS TXT | Socket, 2026-05-19 |
gemstuffer.json | Campagne d'exfiltration GemStuffer sur RubyGems (123 gems / 155 versions) ciblant les administrations locales britanniques | Socket, 2026-05-13 |
glassworm.json | Ver auto-propagateur d'extensions IDE GlassWorm sur Open VSX / VS Code (chargeur en Unicode invisible, livraison transitive via extensionPack/Dependencies, C2 par memo Solana, vol d'identifiants/portefeuilles) ; 243 paquets editor-extension / 381 versions + 2 paquets npm / 2 versions (245 entrées / 383 versions) | CSV de la campagne GlassWorm v2 de Socket et rapport transitif de Socket, 2026-03-13 ; complété par Koi Security, 2025-10-18, Checkmarx, 2026-03 et Sonatype, 2026-03-17 |
trapdoor-crypto-stealer.json | Voleur d'identifiants/portefeuilles multi-écosystèmes TrapDoor Crypto Stealer sur npm, PyPI et Cargo/Crates.io (28 entrées npm/PyPI / 378 versions ; 6 paquets Cargo documentés sous _cargo_packages, non mis en correspondance tant que la prise en charge de Cargo n'est pas disponible) | Socket, 2026-05-24 |
tools/osvcatalog convertit un instantané OSV local en catalogue hors ligne. Bumblebee n'interroge jamais osv.dev au moment de l'analyse. Seuls les enregistrements de paquets malveillants (identifiants MAL-, ou enregistrements ayant un alias vers l'un d'eux) sont émis, avec severity: "critical".
Deux formats d'entrée sont pris en charge. Choisissez celui qui correspond à la couverture souhaitée.
Dépôt OSSF malicious-packages (recommandé, tous les écosystèmes dans une seule arborescence) :
git clone --filter=blob:none --sparse --depth=1 \
https://github.com/ossf/malicious-packages.git mp
git -C mp sparse-checkout set osv/malicious
go run ./tools/osvcatalog \
-source "https://github.com/ossf/malicious-packages@$(git -C mp rev-parse HEAD)" \
-o threat_intel/osv-malicious.json mp/osv/malicious/
Extraction OSV par écosystème (un seul écosystème, archive zip) :
curl -fsSLO https://osv-vulnerabilities.storage.googleapis.com/npm/all.zip
go run ./tools/osvcatalog -o threat_intel/osv-npm-malicious.json npm/all.zip
Chaque chemin d'entrée peut être une arborescence de répertoires, une archive OSV all.zip ou un enregistrement .json unique. Les écosystèmes OSV pris en charge correspondent à Bumblebee comme suit : npm, PyPI → pypi, Go → go, RubyGems → rubygems, Packagist → packagist, VSCode → editor-extension. Les enregistrements dont les plages déclarent toutes les versions affectées (un seul événement introduced: "0") sont émis avec "versions": ["*"] ; les enregistrements avec uniquement des plages bornées et sans liste affected[].versions sont ignorés. La sortie est déterministe, validée par rapport au schéma, et doit être vérifiée avant utilisation. Le _comment généré consigne le périmètre, les décomptes par écosystème, la ventilation des motifs d'exclusion et l'étiquette de provenance optionnelle -source.