
Sicurezza pre-installazione per agenti AI, pacchetti npm e server MCP. Analisi statica locale zero-dipendenze; le scansioni normali non eseguono mai il codice dei pacchetti.
Ispeziona un pacchetto npm o un server MCP prima di installarlo o di connetterti ad esso, e
ottieni un verdetto deterministico e basato su prove: SAFE, REVIEW, o BLOCK.
Analisi statica locale, a zero dipendenze — le scansioni normali non eseguono mai il codice del pacchetto.
Sito web · Documentazione · Calibrazione · Segnala un bug
Esecuzioni reali: guard approva [email protected], poi blocca un campione modellato sul compromesso del 2024 di @solana/web3.js.
1. Avvio rapido · 2. Cosa scansiona e rileva · 3. Verdetti · 4. Utilizzo · 5. Integrazioni · 6. Come si confronta · 7. Documentazione
Gli assistenti di codifica AI installano pacchetti e si connettono a server MCP a velocità
macchina, spesso senza che un umano legga il codice. Sonatype ha identificato più di
454.600 nuovi pacchetti open-source dannosi negli ecosistemi monitorati nel
2025, oltre il 99% dei quali su npm
(Sonatype).
npm audit chiede esiste una CVE nota?; pkgxray chiede anche cosa fa
davvero il codice — prima che qualsiasi cosa venga installata.
1. Scansiona un pacchetto noto come benigno (non è necessaria l'installazione di pkgxray):
npx --yes [email protected] guard npm:[email protected]
Prepara il tarball in quarantena ed esegue i controlli statici e di supply chain
— niente npm install, niente script di ciclo di vita, nessun codice di pacchetto eseguito.
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. Leggi il verdetto:
| Verdetto | Exit | Significato |
|---|---|---|
SAFE | 0 | Nessun indicatore ad alto o medio rischio; la policy predefinita consente la promozione. |
REVIEW | 3 | Le prove sono incomplete o una capacità privilegiata richiede una revisione umana. |
BLOCK | 2 | Prove citate ad alta gravità — rifiuta o indaga. |
SAFE non è la prova che un pacchetto sia innocuo; l'analisi statica non può vedere un
payload scaricato solo a runtime. Vedi il modello di minaccia.
3. Vedi un BLOCK sul fixture inerte fornito:
npx --yes [email protected] --file examples/onboarding-malicious.json --format markdown
Il fixture è testo sorgente inerte che modella una lettura di chiave SSH a stringa spezzata e
l'exfiltrazione — non viene mai eseguito. Restituisce BLOCK (exit 2) con il file e le prove citati.
4. Aggiungilo al tuo flusso di lavoro — recheck e CI, MCP, gate di installazione Hookshot.
Due modelli di esecuzione. Le scansioni predefinite
guardeauditsono statiche — il codice del pacchetto non viene mai eseguito. L'enumerazione di un server MCP può avviarlo emcp-proxylo esegue dietro un gate; l'opzionalecanaryè l'unica eccezione deliberata che esegue il pacchetto in una sandbox per confermarne il comportamento — può confermare la malizia ma non provare mai che un pacchetto sia sicuro. Confine completo: SECURITY.md.
Scansioni — pkgxray guard npm:name@version, github:owner/repo, una
directory locale, interi file di lock (npm, yarn, pnpm), server MCP ed estensioni
per agenti AI.
Rilevamenti — furto di credenziali (incl. percorsi a frammenti separati), cloud
raccolta di metadati dell'istanza e di secret store, prompt injection, contrabbando Unicode
payload base64 e loader di stage-2, esfiltrazione, persistenza
(profilo di shell, scheduler del sistema operativo e workflow CI/CD iniettati), dropper
auto-eliminanti, replicazione worm nei registry (npm publish durante l'installazione),
esecuzione offuscata di argomenti calcolati, CVE note (via OSV, prima del
download), divergenza degli artefatti npm↔GitHub, aggiornamenti trojanizzati (recheck) e abuso
della superficie di capacità MCP.
La matrice di copertura completa — e il noto punto cieco del download successivo — è nel modello di minaccia; una tabella di confronto affiancato è sul sito web.
| Verdetto | Cosa fare |
|---|---|
SAFE | Installa. Solo safe promuove fuori dalla quarantena per impostazione predefinita. |
REVIEW | Ispeziona la copia in quarantena prima di promuoverla. |
BLOCK | Non installare. Ogni rilevamento indica il file e le prove. |
I codici di uscita sono stabili e adatti alla CI: 0 safe/allow · 2 block ·
3 review.