
Scanner di sicurezza per server MCP. Valuta autenticazione, permessi, rischi di injection e sicurezza degli strumenti. Il faro della sicurezza degli agenti.
Il Faro della sicurezza degli agenti.
Scansiona qualsiasi server MCP. Ottieni una pagella di sicurezza.
Il tuo server MCP espone strumenti agli agenti AI. Quanto è sicuro?
La maggior parte dei server MCP viene fornita senza autenticazione, senza permessi per strumento, senza validazione dell'input e con descrizioni degli strumenti vulnerabili all'iniezione di prompt. Semplicemente non lo sai ancora.
AgentsID Scanner te lo dice.
npx @agentsid/scanner -- npx @some/mcp-server
Tutto qui. Ottieni un voto in lettere e risultati dettagliati.
| Categoria | Cosa controlla | Perché è importante |
|---|---|---|
| Iniezione | Descrizioni degli strumenti per 11 pattern di iniezione di prompt | Descrizioni malevole possono dirottare il comportamento dell'agente |
| Permessi | Nomi degli strumenti classificati per rischio (distruttivo, esecuzione, finanziario, credenziali) | 50 strumenti senza controllo accessi sono un attacco a 50 superfici |
| Validazione | Schemi di input per vincoli mancanti, stringhe illimitate, parametri solo opzionali | Nessuna validazione = input arbitrario ai tuoi gestori di strumenti |
| Autenticazione | Indicatori di autenticazione nella superficie dello strumento | Nessuna autenticazione = agenti non autenticati chiamano i tuoi strumenti |
| Segreti | Strumenti che potrebbero esporre credenziali nell'output | Chiavi API, token, password trapelate nelle risposte |
| Output | Output di file/dati non filtrati | Contenuti di file sensibili restituiti senza oscuramento |
╔══════════════════════════════════════════════════════════════╗
║ AgentsID Security Scanner — Rapporto ║
╚══════════════════════════════════════════════════════════════╝
Server: my-mcp-server v1.0.0
Strumenti: 23
Scansionato: 2026-03-29T12:00:00.000Z
Voto complessivo: D (42/100)
Voti per categoria:
iniezione A
permessi F
validazione D
autenticazione F
output B
Profilo di rischio degli strumenti:
distruttivo ████ 4
esecuzione ██ 2
accesso_credenziali █ 1
Risultati: 31
CRITICO: 2
ALTO: 8
MEDIO: 15
BASSO: 6
Raccomandazioni:
1. Affronta immediatamente i risultati CRITICI e ALTI
2. Aggiungi controlli di permesso per strumento (agentsid.dev/docs)
3. Implementa la validazione dell'input su tutti i parametri degli strumenti
4. Aggiungi autenticazione agli endpoint del server
# Scansiona qualsiasi server MCP installabile via npx
agentsid-scan -- npx @modelcontextprotocol/server-filesystem ./
# Scansiona un file server locale
agentsid-scan -- node my-server.mjs
# Scansiona un server MCP Python
agentsid-scan -- python -m my_mcp_server
agentsid-scan --url https://mcp.example.com/mcp
agentsid-scan --json -- npx @some/mcp-server > report.json
agentsid-scan --env API_KEY=xxx --env DB_URL=postgres://... -- node server.mjs
Inizia da 100 punti. Detrazioni per risultato:
I risultati MEDI e BASSI vengono normalizzati in base al numero di strumenti, in modo che un problema per strumento (ad esempio maxLength mancante su ogni input) non si accumuli linearmente con le dimensioni del server. Un server con 50 strumenti e 50 BASSO ottiene lo stesso punteggio di un server con 5 strumenti e 5 BASSO. I CRITICI e ALTI rimangono assoluti — le vulnerabilità reali sono dannose indipendentemente dalle dimensioni del server.
Lo scanner controlla le descrizioni degli strumenti per 11 pattern di iniezione di prompt:
Ogni strumento è classificato per pattern del nome:
Lo scanner ti dice cosa non va. Ecco come risolverlo:
npm install @agentsid/guard
AgentsID Guard convalida ogni chiamata allo strumento rispetto alle regole di permesso prima dell'esecuzione. 50 strumenti, 16 categorie, tutti protetti.
npm install @agentsid/sdk
Tre righe di middleware nel tuo server MCP. Documentazione completa su agentsid.dev/docs.
import { scanStdio, scanHttp, scanToolDefinitions } from "@agentsid/scanner";
// Scansiona un server locale
const report = await scanStdio("npx @some/server", { json: true });
// Scansiona un server remoto
const report = await scanHttp("https://mcp.example.com", { json: true });
// Scansiona le definizioni degli strumenti direttamente (nessun server necessario)
const report = scanToolDefinitions(myToolArray, { json: true });
Hai trovato un pattern che non rileviamo? Apri un issue o una PR. Il motore delle regole si trova in src/rules.mjs — aggiungere un nuovo pattern è una regex.
Tutti i 15.982 server valutati e ricercabili: agentsid.dev/registry
MIT
| Gravità | Detrazione | Normalizzazione | Limite |
|---|
| CRITICO | -25 ciascuno | Assoluta — colpisce sempre al massimo | Senza limite |
| ALTO | -15 ciascuno | Assoluta — colpisce sempre al massimo | Max -45 |
| MEDIO | -8 ciascuno | Diviso per √(numero strumenti) | Max -25 |
| BASSO | -3 ciascuno | Diviso per √(numero strumenti) | Max -15 |
| INFO | 0 | — | — |
| Voto | Punteggio | Significato |
|---|
| A | 90-100 | Postura di sicurezza eccellente |
| B | 75-89 | Buono — problemi minori |
| C | 60-74 | Accettabile — necessita miglioramenti |
| D | 40-59 | Scarso — rischi significativi |
| F | 0-39 | Fallimento — vulnerabilità critiche |
| Livello di rischio | Pattern | Esempi di strumenti |
|---|
| Critico | execute, shell, admin, sudo, payment | shell_run, admin_reset, process_payment |
| Alto | delete, remove, drop, deploy, credential | delete_user, deploy_prod, get_api_key |
| Medio | create, update, send, write | create_issue, send_email, write_file |
| Info | read, get, list, search, describe | get_status, list_users, search_docs |