
Sécurité pré-installation pour agents IA, paquets npm et serveurs MCP. Analyse statique locale sans dépendance ; les analyses normales n'exécutent jamais le code des paquets.
Inspectez un paquet npm ou un serveur MCP avant de l'installer ou de vous y connecter, et
obtenez un verdict déterministe et fondé sur des preuves : SAFE, REVIEW ou BLOCK.
Analyse statique locale, zéro dépendance — les analyses normales n'exécutent jamais le code des paquets.
Site web · Documentation · Calibration · Signaler un bug
Exécutions réelles : guard valide [email protected], puis bloque un échantillon inspiré de la compromission de @solana/web3.js en 2024.
1. Démarrage rapide · 2. Ce qu'il analyse et détecte · 3. Verdicts · 4. Utilisation · 5. Intégrations · 6. Comparaison · 7. Documentation
Les assistants de codage IA installent des paquets et se connectent à des serveurs MCP à la vitesse
de la machine, souvent sans qu'un humain lise le code. Sonatype a identifié plus de
454 600 nouveaux paquets open-source malveillants dans les écosystèmes surveillés en
2025, dont plus de 99 % sur npm
(Sonatype).
npm audit se demande ce paquet a-t-il une CVE connue ? ; pkgxray se demande aussi que fait
réellement le code — avant que quoi que ce soit ne soit installé.
1. Analysez un paquet connu comme bénin (aucune installation de pkgxray nécessaire) :
npx --yes [email protected] guard npm:[email protected]
Il place l'archive en quarantaine et exécute les vérifications statiques et de chaîne
d'approvisionnement — pas de npm install, pas de scripts de cycle de vie, aucun code de paquet exécuté.
Decision: SAFE Grade: A+ (99/100)
No high- or medium-risk indicators were found in the provided evidence.
Notes:
- INFO npm-vs-github-clean — npm tarball matches the linked GitHub repo at the
published version. (15/16 files match GitHub @4.21.0)
2. Lisez le verdict :
| Verdict | Exit | Signification |
|---|---|---|
SAFE | 0 | Aucun indicateur de risque élevé ou moyen ; la politique par défaut autorise la promotion. |
REVIEW | 3 | Les preuves sont incomplètes ou une capacité privilégiée nécessite un examen humain. |
BLOCK | 2 | Preuves citées de gravité élevée — rejetez ou enquêtez. |
SAFE n'est pas une preuve qu'un paquet est inoffensif ; l'analyse statique ne peut pas voir une
charge utile téléchargée uniquement au moment de l'exécution. Voir le modèle de menace.
3. Observez un BLOCK sur le fixture inerte fourni :
npx --yes [email protected] --file examples/onboarding-malicious.json --format markdown
Le fixture est un texte source inerte modélisant une lecture et une exfiltration de clé SSH
fractionnée — il n'est jamais exécuté. Il renvoie BLOCK (code de sortie 2) avec le
fichier cité et les preuves.
4. Ajoutez-le à votre flux de travail — rechecks & CI, MCP, porte d'installation Hookshot.
Deux modèles d'exécution. Les analyses par défaut
guardetauditsont statiques — le code du paquet n'est jamais exécuté. L'énumération d'un serveur MCP peut le lancer etmcp-proxyl'exécute derrière une porte ; lecanaryoptionnel est la seule exception délibérée qui exécute le paquet dans un bac à sable pour confirmer son comportement — il peut confirmer la malveillance mais jamais prouver qu'un paquet est sûr. Frontière complète : SECURITY.md.
Analyses — pkgxray guard npm:name@version, github:owner/repo, un répertoire local,
des lockfiles entiers (npm, yarn, pnpm), des serveurs MCP et des extensions d'agent IA.
Détections — vol d'identifiants (y compris les chemins à fragments scindés), récolte des
métadonnées d'instance cloud et des coffres de secrets, injection de prompt, contrebande Unicode,
charges utiles base64 et chargeurs de stade 2, exfiltration, persistance (profil shell,
planificateur OS et workflows CI/CD injectés), droppers auto-supprimants, réplication de ver de
registre (npm publish au moment de l'installation), exécution d'arguments calculés obscurcis,
CVE connues (via OSV, avant le téléchargement), divergence des artefacts npm↔GitHub, mises à jour
piégées (recheck) et abus de la surface de capacités MCP.
La matrice de couverture complète — et l'angle mort connu du téléchargement ultérieur — se trouve dans le modèle de menace ; un tableau comparatif côte à côte est sur le site web.
| Verdict | Vous devriez |
|---|---|
SAFE | Installer. Seul safe sort de la quarantaine par défaut. |
REVIEW | Inspecter la copie en quarantaine avant de la promouvoir. |
BLOCK | Ne pas installer. Chaque constat nomme le fichier et les preuves. |
Les codes de sortie sont stables et adaptés à la CI : 0 sûr/autoriser · 2 bloquer ·
3 examiner.