
agent-scan v0.6.4-snapshot-6e2d290-1638
Scanner di sicurezza per agenti AI, server MCP e abilità degli agenti.
Snyk Agent Scan
Scopri e analizza i componenti degli agenti sulla tua macchina per prompt injection
e vulnerabilità (inclusi agenti, server MCP, skill).
Nota: Non pubblichiamo un pacchetto npm per Agent Scan. Installalo tramite
uvxoppure come binario standalone.
Nota: l'output della CLI è sperimentale e soggetto a modifiche
Agent Scan v0.5.x (deprecazione pianificata)
L'output grezzo di questa CLI — inclusi codici dei problemi, nomi dei campi, etichette di severità e struttura della risposta — è sperimentale e può cambiare senza preavviso tra le release. Non consigliamo di creare workflow di produzione che dipendono da campi specifici dell'output della CLI o da codici dei problemi.
Agent Scan v0.6 e successivi
L'output grezzo di questa CLI — inclusi nomi degli indicatori di rischio, punteggi, nomi dei campi e struttura della risposta — è sperimentale e può cambiare senza preavviso tra le release. Non consigliamo di creare workflow di produzione che dipendono da campi specifici dell'output della CLI o da nomi di rischio.
Se sei un cliente enterprise che utilizza Snyk per gestire il rischio di sicurezza degli agenti su larga scala, l'output della CLI potrebbe non riflettere ciò che viene inviato e mostrato nella piattaforma Evo. L'integrazione, la scoperta e la valutazione del rischio sottostanti che alimentano i deployment enterprise sono stabili e supportate — eventuali modifiche saranno comunicate in linea con le pratiche standard dei prodotti Snyk. Contatta il tuo account team per indicazioni sul deployment.
NOVITÀ Leggi il nostro report tecnico sulle minacce emergenti dell'ecosistema delle skill degli agenti pubblicato insieme ad Agent Scan 0.4, che aggiunge il supporto per l'analisi delle skill degli agenti.
Output di Agent Scan v0.5.x
[!WARNING] Agent Scan v0.5.x utilizza l'output con codici dei problemi. Questa linea della CLI è destinata alla deprecazione.
Output di Agent Scan v0.6 e successivi
Agent Scan ti aiuta a scoprire tutti i componenti degli agenti installati (harness, server MCP e skill) e li analizza alla ricerca di minacce comuni come prompt injection, gestione di dati sensibili o payload malware nascosti nel linguaggio naturale. Ignora l'analisi sulle skill utilizzando --no-skills.
Avviso di sicurezza
⚠️ IMPORTANTE: l'analisi delle configurazioni MCP eseguirà i comandi in esse definiti.
Quando Agent Scan analizza un file di configurazione MCP, avvia i server MCP stdio eseguendo i comandi e gli argomenti specificati nella configurazione. Ciò è necessario per recuperare le descrizioni degli strumenti ed eseguire l'analisi di sicurezza.
Raccomandazioni:
- Esegui le analisi all'interno di una sandbox (container Docker, VM o ambiente usa e getta) quando valuti configurazioni MCP non attendibili o di terze parti
- Esamina attentamente il prompt di consenso durante le analisi interattive, mostra il comando e gli argomenti esatti che verranno eseguiti per ogni server
- Usa
--dangerously-run-mcp-serverssolo in ambienti attendibili in cui hai verificato tutti i comandi dei server MCPPer impostazione predefinita, Agent Scan richiede il consenso esplicito dell'utente (s/n) prima di avviare ogni server MCP stdio durante le esecuzioni interattive. Questo ti dà il controllo su ciò che viene eseguito sul tuo sistema.
Avvio rapido
Scegli uno dei due modi per eseguire Agent Scan:
- Esegui il pacchetto Python con
uvxseguendo le istruzioni riportate di seguito. - Scarica un binario standalone per la tua piattaforma da GitHub Releases. Le release includono anche l'SBOM, i checksum, i checksum firmati e gli archivi del codice sorgente.
Prima di utilizzare una delle due opzioni:
- Registrati su Snyk e ottieni un token API da https://app.snyk.io/account (API Token → KEY → clicca per mostrare).
- Imposta il token come variabile d'ambiente prima di eseguire qualsiasi analisi: ```bash
export SNYK_TOKEN=your-api-token-here
Esegui con uvx
Installa uv sul tuo sistema. Scegli le istruzioni per la tua versione della CLI.
Agent Scan v0.5.x
Gli esempi fissano la v0.5.17 come release concreta della serie v0.5.x:```bash
Scan the whole machine
Scan a specific MCP configuration
uvx [email protected] ~/.vscode/mcp.json
Scan a single agent skill
uvx [email protected] ~/path/to/my/SKILL.md
Scan all Claude skills
uvx [email protected] ~/.claude/skills
> [!WARNING]
> v0.5.x utilizza l'output issue-code e l'API di analisi `2025-09-02`. Questa linea CLI è destinata alla deprecazione.
#### Agent Scan v0.6 e successivi```bash
# Scan the whole machine
uvx snyk-agent-scan@latest
# Scan a specific MCP configuration
uvx snyk-agent-scan@latest ~/.vscode/mcp.json
# Scan a single agent skill
uvx snyk-agent-scan@latest ~/path/to/my/SKILL.md
# Scan all Claude skills
uvx snyk-agent-scan@latest ~/.claude/skills
v0.6 e versioni successive usano l'output basato sul rischio e l'API di analisi 2026-07-10.
Entrambe le versioni scansionano server MCP, tool, prompt, risorse e skill, e scoprono automaticamente le configurazioni degli agenti supportati come Claude Code/Desktop, Cursor, Gemini CLI e Windsurf.
Esecuzione con un binario standalone
Scarica il binario per il tuo sistema operativo e la tua architettura dalla ultima release GitHub. La pagina della release fornisce anche un SBOM (sbom-<version>.json), file di checksum e archivi del codice sorgente generati da GitHub. Consulta Verifica dei binari standalone per verificare il tuo download.
Punti salienti
- Scoperta automatica di configurazioni MCP, tool degli agenti, skill
- Scansione di Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q e altri agenti.
Agent Scan v0.5.x
- Rileva oltre 15 rischi di sicurezza distinti tra server MCP e skill degli agenti:
Agent Scan v0.6 e versioni successive
- Rileva 14 rischi di sicurezza distinti tra server MCP e skill degli agenti:
- MCP: Prompt injection, untrusted content, private data e destructive capabilities
- Skills: prompt injection, suspicious downloads, malicious code, credential handling, secret detection e altro ancora
Agenti e capacità supportati
Agent Scan scopre automaticamente gli agenti e le loro capacità (server MCP o skill) quando i loro percorsi di installazione esistono. La tabella seguente mostra su quali sistemi operativi viene scansionato ciascun agente.
- ✓: almeno un percorso è definito per quella capacità.
- ✗: l'agente è elencato per quel sistema operativo ma non ha percorsi per quella capacità.
- —: quell'agente non è incluso per quel sistema operativo.
- Skills Le skill possono essere ignorate usando
--no-skills
| Agent | macOS MCP | macOS Skills | Linux MCP | Linux Skills | Windows MCP | Windows Skills |
|---|---|---|---|---|---|---|
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | ✓ | ✗ | — | — | ✓ | ✗ |
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenClaw | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Amp | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Kiro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Antigravity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | — | — |
| Amazon Q | ✓ | ✗ | ✓ | ✗ | ✓ (WSL) | ✗ |
Copertura del rilevamento per scope
La matrice sopra mostra su quali sistemi operativi viene scansionato ciascun agente. Questa suddivide il rilevamento per scope di configurazione e tipo di componente (skill vs server MCP), combinati tra i sistemi operativi. "Servers" indica i server MCP.
I quattro scope:
- System — configurazione a livello macchina / gestita dall'amministratore / enterprise che si applica a tutti gli utenti (ad es.
managed-mcp.json, file sotto/etc,/Library/Application SupportoProgramData). - User — configurazione nella home directory dell'utente (si applica a tutti i suoi progetti).
- Project / workspace — configurazione limitata a un progetto o workspace aperto.
- Extension / plugin — componenti inclusi all'interno di estensioni o plugin installati.
Legenda: ✓ rilevato · ✗ l'agente supporta questo ma Agent Scan non lo scansiona ancora · N/A l'agente non ha tale componente a questo scope.
| Agent | System skills | System servers | User skills | User servers | Project / WS skills | Project / WS servers | Ext / plugin skills | Ext / plugin servers |
|---|---|---|---|---|---|---|---|---|
| Windsurf | ✓ | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| GitHub Copilot § | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | N/A | N/A | ✗ | ✓ | N/A | N/A | N/A | ✗ |
| Claude Code | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | N/A | ✗ | ✓ | ✓ | ✗ | ✗ | ✗ | ✗ |
| OpenClaw | N/A | N/A | ✓ | ✗ | ✓ † | N/A | ✗ | ✗ |
| Amp | N/A | ✗ | ✓ | ✗ | ✗ ‡ | ✗ | ✗ | ✗ |
| Kiro | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | N/A | N/A |
| Antigravity | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Amazon Q | N/A | N/A | N/A | ✓ | N/A | ✗ | N/A | N/A |
† OpenClaw non ha enumerazione dei progetti aperti: le sue skill di progetto/workspace si trovano solo nel percorso fisso ~/.openclaw/workspace/skills
‡ Amp memorizza le skill di progetto/workspace in .agents/skills (e nel percorso di compatibilità .claude/skills); oggi viene rilevato solo lo scope utente ~/.config/agents/skills, quindi le skill di scope progetto sono supportate ma non ancora scansionate.
§ GitHub Copilot copre la CLI e l'app desktop, che condividono la home ~/.copilot con Copilot in VS Code, ed è rilevato da quella home anziché da un'installazione di VS Code. Le rilocazioni di COPILOT_HOME vengono rispettate quando si scansiona la propria home. Lo scope progetto copre i file .mcp.json / .github/mcp.json relativi al repo e le directory .github/skills, .claude/skills e .agents/skills, per le cartelle passate alla scansione e le directory che Copilot ha registrato in permissions-config.json, più i loro antenati. Lo scope plugin copre ~/.copilot/installed-plugins, inclusi i manifest plugin.json che rilocano la loro configurazione MCP o dichiarano root di skill aggiuntive. Non scansionati: le root di progetto per sessione in session-state/*/workspace.yaml. I percorsi a livello utente di Copilot sono elencati anche sotto VS Code, che legge gli stessi file.
Verifica dei binari standalone
Utilizziamo la firma GPG sul file dei checksum della release per garantire l'integrità e l'autenticità della distribuzione.
Guida passo-passo alla verifica
-
Scarica gli asset della release: Scarica il binario per la tua piattaforma (ad es.
agent-scan-<version>-<os>-<arch>) e il file dei checksum firmato (sha256sums.txt.asc) dalla pagina GitHub Releases nella stessa directory. -
Verifica la firma GPG del file dei checksum: Scarica la chiave pubblica GPG nella stessa directory, poi esegui: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc
Cerca nell'output una riga che dica gpg: Good signature from "Snyk Limited <[email protected]>".
- Verifica l'integrità del binario:
Dopo aver confermato che la firma è valida, controlla che il binario scaricato corrisponda al checksum:
- Su Linux (o macOS con
coreutils):grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c - - Su macOS (usando
shasumpredefinito):grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
agent-scan-<version>-<os>-<arch>: OK. - Su Linux (o macOS con
Capacità dello Scanner
Agent Scan v0.5.x
Agent Scan è uno strumento di scansione di sicurezza per scansionare e ispezionare la supply chain dei componenti degli agent sulla tua macchina. Cerca vulnerabilità di sicurezza comuni come prompt injection, tool poisoning, flussi tossici o vulnerabilità nelle competenze degli agent.
Agent Scan v0.6 e successivi
Agent Scan segnala indicatori di rischio con punteggio per minacce come prompt injection, esposizione a dati non attendibili o privati, capacità distruttive e competenze malevole degli agent.
Agent Scan opera in due modalità principali che possono essere usate congiuntamente o separatamente:
-
Modalità Scan: Il comando CLI
snyk-agent-scanscansiona la macchina corrente alla ricerca di agent e componenti degli agent come competenze e server MCP. Al termine, produrrà un report completo per la revisione da parte dell'utente. -
Modalità in Background (MDM). Agent Scan scansiona la macchina a intervalli regolari in background e riporta i risultati a un'istanza Snyk Evo. Questo può essere usato dai team di sicurezza per monitorare la supply chain degli agent a livello aziendale in una posizione centralizzata. Per configurarlo, ti preghiamo di contattarci.
Come Funziona
Scansione
Agent Scan cerca attraverso i file di configurazione degli agent locali per trovare agent, competenze e server MCP. Per MCP, si connette ai server e recupera le descrizioni degli strumenti.
Consenso Interattivo per i Server MCP
⚠️ Nota di Sicurezza: La scansione di una configurazione MCP esegue i comandi definiti in essa. Rivedi sempre ciò che verrà eseguito prima di approvare.
Per impostazione predefinita, Agent Scan richiede il consenso dell'utente prima di avviare ogni server MCP stdio durante le esecuzioni interattive. Questo flusso di consenso:
- Mostra il nome del server, il comando e le variabili d'ambiente (oscurate) che verranno eseguite
- Consente di approvare o rifiutare ogni server individualmente
- Impedisce che server potenzialmente non attendibili vengano eseguiti senza il tuo esplicito permesso
- Registra i server rifiutati con un errore
user_declined(non vengono mai avviati)
Buone Pratiche:
- Rivedi attentamente il comando e gli argomenti prima di approvare
- Quando scansiona configurazioni MCP non attendibili o di terze parti, esegui Agent Scan all'interno di una sandbox (Docker, VM o ambiente usa e getta)
- Rifiuta qualsiasi server con comandi sconosciuti o sospetti
Per ambienti non interattivi (ad esempio, pipeline CI/CD), devi usare il flag --dangerously-run-mcp-servers per bypassare la richiesta di consenso e avviare tutti i server automaticamente. Usa questo flag solo in ambienti attendibili dove tutti i comandi dei server MCP sono stati verificati.
Analisi e Validazione
Agent Scan convalida i componenti scoperti con controlli locali e l'API di Agent Scan. Invia le informazioni sui componenti necessarie per l'analisi, inclusi i dettagli dell'applicazione agent, le configurazioni e le firme dei server MCP, i nomi e le descrizioni degli strumenti e il contenuto delle competenze. I segreti nei valori di configurazione e nel testo vengono oscurati prima della trasmissione.
Utilizzando Agent Scan, accetti i termini di utilizzo per Agent Scan di Snyk.
Agent Scan non memorizza né registra alcun dato di utilizzo, ovvero il contenuto e i risultati delle tue chiamate agli strumenti MCP.
Parametri CLI
Il riferimento completo dei flag è in docs/cli-reference.md. La maggior parte dei comandi e dei flag è condivisa tra v0.5.x e v0.6 e successivi.
Comandi condivisi```text
snyk-agent-scan scan [CONFIG_FILE...] Scan MCP servers and skills (default) snyk-agent-scan inspect [CONFIG_FILE...] Inspect components without analysis snyk-agent-scan help Display help
### Opzioni condivise da entrambe le linee di versione
Queste opzioni esistono sia in v0.5.x sia in v0.6 e versioni successive. La loro applicabilità ai comandi è dettagliata nel riferimento completo della CLI.```text
--storage-file FILE Path to store scan state (default: ~/.mcp-scan)
--analysis-url URL Analysis endpoint; the default API version depends on the CLI version
--verification-H HEADER Additional analysis request header (repeatable)
--mcp-oauth-tokens-path PATH OAuth tokens for protected remote MCP servers
--verbose Enable detailed logging
--print-errors Show error details and tracebacks
--print-full-descriptions Show full entity descriptions without truncation
--json Emit JSON; the response schema depends on the CLI version
--skip-ssl-verify Disable TLS certificate verification
--skills / --no-skills Include skills (default) or skip them
--scan-all-users Scan all readable user home directories
--show-analysis-results Force synchronous analysis so results display for push-key scans
--ci Exit non-zero when findings or operational failures remain
--server-timeout SECONDS MCP connection timeout (default: 10)
--suppress-mcpserver-io BOOL Suppress stdio MCP server stderr
--dangerously-run-mcp-servers Skip consent and start configured stdio MCP servers
--control-server URL Upload destination (repeatable)
--control-server-H HEADER Header for the current control-server block
--control-identifier ID Identifier for the current control-server block
--no-bootstrap Accepted compatibility no-op; does not change behavior
--checks-per-server NUM Accepted compatibility no-op; does not change behavior
Agent Scan v0.5.x
[!WARNING] La v0.5.x è destinata alla deprecazione. Gli esempi fissano la v0.5.17 come release concreta della v0.5.x.```text --analysis-url URL Defaults to the 2025-09-02 analysis API --ignore-issues-codes CODES Comma-separated E/W security finding codes and X failure codes to ignore in CI
v0.5.x emette risultati con codici di problema e JSON `ScanPathResult` con chiave di percorso. Consulta il [riferimento CLI v0.5.x](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) e il [riferimento dei codici di problema](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md).
### Agent Scan v0.6 e versioni successive```text
--analysis-url URL Defaults to the 2026-07-10 analysis API
--ignore-risks NAMES Comma-separated risk names to omit from output and CI evaluation
--ignore-failure-codes CODES Comma-separated X codes to omit from CI evaluation
--show-full-discovery List every MCP entity and skill file instead of compact scan summaries
v0.6 e versioni successive emettono indicatori di rischio con punteggio e JSON scan_path_responses. L'output della scansione leggibile dall'uomo è compatto per impostazione predefinita; --show-full-discovery lo espande senza modificare il JSON o l'output di inspect. Consultare il riferimento CLI per v0.6 e versioni successive, il riferimento sui rischi e il riferimento sui codici di errore.
Esempi```bash
Scan all known MCP configs and agent skills
snyk-agent-scan
Scan a specific config file or skill
snyk-agent-scan ~/custom/config.json snyk-agent-scan ~/path/to/my/SKILL.md
Inspect without security analysis
snyk-agent-scan inspect
CI mode
snyk-agent-scan --ci --dangerously-run-mcp-servers
## Demo
Questo repository include un server MCP vulnerabile che dimostra i risultati di sicurezza del Model Context Protocol che Agent Scan segnala.
Come dimostrare i risultati di sicurezza MCP?
1. Clona questo repository
2. Crea un file di configurazione `mcp.json` nella directory root del repository git clonato con il seguente contenuto:```jsonc
{
"mcpServers": {
"Demo MCP Server": {
"type": "stdio",
"command": "uv",
"args": ["run", "mcp", "run", "demoserver/server.py"],
},
},
}
-
Esegui la versione appropriata:
- Agent Scan v0.5.x (output basato su issue-code):
uvx --python 3.13 [email protected] scan mcp.json - Agent Scan v0.6 e successive (output basato sul rischio):
uvx --python 3.13 snyk-agent-scan@latest scan mcp.json
- Agent Scan v0.5.x (output basato su issue-code):
Nota: se collochi il filepath di configurazione mcp.json altrove, allora modifica il percorso args all'interno della configurazione del server MCP per riflettere il percorso del server MCP (demoserver/server.py) così come il comando uvx che esegue Agent Scan con il filepath corretto di mcp.json.
Agent Scan è chiuso ai contributi
Agent Scan non accetta contributi esterni al momento.
Accogliamo con favore suggerimenti, segnalazioni di bug o richieste di funzionalità come issue su GitHub.
Configurazione per lo sviluppo
Per eseguire Agent Scan dal codice sorgente, segui questi passaggi:```bash uv run pip install -e . uv run -m src.agent_scan.cli
## Includere i risultati di Agent Scan nel tuo progetto / registry
Se desideri includere i risultati di Agent Scan nel tuo progetto o registry, ti invitiamo a [contattarci](https://evo.ai.snyk.io/#contact-us). Esistono API designate per questo scopo. L'utilizzo della API standard di Agent Scan per scansioni su larga scala è considerato abuso e comporterà il blocco del tuo account.
## Documentazione
- [Indice della documentazione](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — Documentazione versionata per entrambe le linee CLI.
- [Riferimento CLI](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — Comandi, flag, opzioni e variabili d'ambiente per v0.5.x e v0.6-and-later.
- [Scansione](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — Comportamento ed esempi di scansione per v0.5.x e v0.6-and-later.
- [Output JSON](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — L'output con chiavi di percorso di v0.5.x e lo schema di risposta di v0.6.
- [Codici dei problemi](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — Riferimento ai finding di sicurezza `E*` e `W*` di v0.5.x.
- [Riferimento dei rischi](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — Indicatori di rischio di sicurezza, punteggi e campi di evidenza di v0.6.
- [Codici di errore](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — Errori operativi di discovery, inspection e analisi di v0.6.
## Ulteriori letture
- [Introducing MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [MCP Security Notification Tool Poisoning Attacks](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp MCP Exploited](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [MCP Prompt Injection](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Toxic Flow Analysis](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Skills Report](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf)
## Changelog
Vedi [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md).