
Kit di strumenti di sicurezza per agenti AI. Scansiona la tua macchina alla ricerca di skills e configurazioni MCP pericolose, monitora gli attacchi alla supply chain, testa la resistenza alle injection di prompt e verifica i server MCP live per il tool poisoning.
Documentazione · Registro MCP · Dashboard · Blog
pip install agentseal # oppure: npm install agentseal
agentseal guard # analizza il tuo computer - nessuna chiave API necessaria
Tutto qui. AgentSeal trova file skill pericolosi, configurazioni MCP avvelenate e percorsi di esfiltrazione dati in ogni agente AI sul tuo computer.
Vuoi testare un prompt di sistema contro attacchi avversari?
agentseal scan --prompt "Sei un assistente utile..." --model ollama/llama3.1:8b # gratuito, locale
agentseal scan --prompt "Sei un assistente utile..." --model gpt-4o # cloud
*Gratuito con Ollama. I provider cloud (OpenAI, Anthropic, ecc.) richiedono una chiave API.
Analizza tutte le configurazioni degli agenti AI sul tuo computer. Nessuna chiave API, nessuna chiamata di rete - tutto viene eseguito localmente.
Agenti supportati: Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Gemini CLI, Codex CLI, Cline, Roo Code, Kilo Code, Copilot CLI, Aider, Continue, Zed, Amp, Amazon Q, Junie, Goose, Kiro, OpenCode, OpenClaw, Crush, Qwen Code, Grok CLI, Visual Studio, Kimi CLI, Trae, MaxClaw.
agentseal guard
Guard esegue una pipeline di rilevamento in sei fasi su ogni file trovato:
agentseal guard init # genera il file di policy .agentseal.yaml per il progetto
agentseal guard --output sarif # SARIF per la scheda Sicurezza di GitHub
agentseal guard --output json # output leggibile dalla macchina
agentseal guard --no-diff # salta la sezione delta baseline
agentseal guard test # valida le tue regole personalizzate
Testa un prompt di sistema contro 225 sonde di attacco avversario: 82 tecniche di estrazione, 143 tecniche di iniezione e 8 trasformazioni di mutazione adattativa. Restituisce un punteggio di fiducia deterministico.
Come funziona il rilevamento: Le sonde di iniezione incorporano una stringa canary univoca (es. SEAL_A1B2C3D4_CONFIRMED). Se la canary appare nella risposta, la sonda è trapelata. Le sonde di estrazione usano il matching n-gram contro il prompt di riferimento. Nessun giudice LLM - stesso input, stesso risultato, ogni volta.
Punteggio di fiducia (0–100):
# OpenAI
agentseal scan --prompt "Sei un assistente utile..." --model gpt-4o
# Anthropic
agentseal scan --prompt "Sei un assistente utile..." --model claude-sonnet-4-5-20250929
# Ollama (gratuito, locale)
agentseal scan --prompt "Sei un assistente utile..." --model ollama/llama3.1:8b
# Qualsiasi endpoint HTTP
agentseal scan --url http://localhost:8080/chat
# Da un file
agentseal scan --file ./prompt.txt --model gpt-4o
agentseal scan --file ./prompt.txt --model gpt-4o --min-score 75
Codice di uscita 1 se il punteggio di fiducia è inferiore alla soglia. Usa --output sarif per l'integrazione con la scheda Sicurezza di GitHub.
Si connette a un server MCP live tramite stdio o SSE. Enumera ogni strumento, poi esegue ogni descrizione attraverso pattern matching, deoffuscazione, similarità semantica e classificazione LLM opzionale. Restituisce un punteggio di fiducia per server.
# Server stdio
agentseal scan-mcp --server npx @modelcontextprotocol/server-filesystem /tmp
# Server SSE
agentseal scan-mcp --sse http://localhost:3001/sse
Rileva l'avvelenamento delle descrizioni degli strumenti - istruzioni nascoste incorporate nelle descrizioni che spingono l'agente a esfiltrare dati, eseguire comandi o sovrascrivere l'intenzione dell'utente.
Monitoraggio file in tempo reale per i percorsi delle configurazioni degli agenti. Notifiche desktop quando compaiono minacce. Mette automaticamente in quarantena i file con payload rilevati.
pip install agentseal[shield] # include watchdog + dipendenze per notifiche desktop
agentseal shield
Monitora gli stessi percorsi che guard analizza, ma in modo continuo. Utile per rilevare attacchi alla supply chain in cui un npm install o pip install modifica silenziosamente le configurazioni degli agenti.
I server MCP forniscono agli agenti AI accesso a file locali, database, API e credenziali. Le descrizioni degli strumenti possono contenere istruzioni nascoste che l'agente segue ma l'utente non vede mai.
graph TD
U["User"] -->|prompt| A["AI Agent (LLM)"]
A -->|tool call| M1["MCP Server\n(filesystem)"]
A -->|tool call| M2["MCP Server\n(slack)"]
A -->|tool call| M3["MCP Server\n(database)"]
M1 -->|reads| FS["~/.ssh/\n~/.aws/\n~/Documents/"]
M2 -->|reads| SL["Messages\nChannels"]
M3 -->|queries| DB["Tables\nCredentials"]
SL -.->|"toxic flow"| M1
M1 -.->|"exfiltration"| EX["Attacker"]
style U fill:#1a1a2e,stroke:#58a6ff,color:#e6edf3
style A fill:#1a1a2e,stroke:#58a6ff,color:#e6edf3
style M1 fill:#3b1d0e,stroke:#f59e0b,color:#e6edf3
style M2 fill:#3b1d0e,stroke:#f59e0b,color:#e6edf3
style M3 fill:#3b1d0e,stroke:#f59e0b,color:#e6edf3
style EX fill:#3b0e0e,stroke:#ef4444,color:#e6edf3
style FS fill:#1a1a2e,stroke:#30363d,color:#8b949e
style SL fill:#1a1a2e,stroke:#30363d,color:#8b949e
style DB fill:#1a1a2e,stroke:#30363d,color:#8b949e
graph LR
IN["Skill Files\nMCP Configs"] --> P["Pattern\nSignatures"]
P --> D["Deobfuscation\n(Unicode Tags,\nBase64, BiDi,\nZWC, TR39)"]
D --> S["Semantic\nAnalysis\n(MiniLM-L6-v2)"]
S --> B["Baseline\nTracking\n(SHA-256)"]
B --> R["Registry\nEnrichment"]
R --> RU["Custom\nRules"]
RU --> OUT["Report +\nSeverity"]
style IN fill:#1a1a2e,stroke:#58a6ff,color:#e6edf3
style P fill:#161b22,stroke:#30363d,color:#e6edf3
style D fill:#161b22,stroke:#30363d,color:#e6edf3
style S fill:#161b22,stroke:#30363d,color:#e6edf3
style B fill:#161b22,stroke:#30363d,color:#e6edf3
style R fill:#161b22,stroke:#30363d,color:#e6edf3
style RU fill:#161b22,stroke:#30363d,color:#e6edf3
style OUT fill:#0d4429,stroke:#22c55e,color:#e6edf3
from agentseal import AgentValidator
validator = AgentValidator.from_openai(
client=openai.AsyncOpenAI(),
model="gpt-4o",
system_prompt="Sei un assistente utile...",
)
report = await validator.run()
print(f"Punteggio di fiducia: {report.trust_score}/100 ({report.trust_level})")
# Anthropic
validator = AgentValidator.from_anthropic(
client=client, model="claude-sonnet-4-5-20250929", system_prompt="..."
)
# Endpoint HTTP
validator = AgentValidator.from_endpoint(url="http://localhost:8080/chat")
# Funzione personalizzata - porta il tuo agente
validator = AgentValidator(agent_fn=my_agent, ground_truth_prompt="...")
npm install agentseal
import { AgentValidator } from "agentseal";
import OpenAI from "openai";
const validator = AgentValidator.fromOpenAI(new OpenAI(), {
model: "gpt-4o",
systemPrompt: "Sei un assistente utile...",
});
const report = await validator.run();
console.log(`Punteggio: ${report.trust_score}/100 (${report.trust_level})`);
Il pacchetto npm fornisce gli stessi comandi CLI (agentseal guard, scan, scan-mcp, shield) e un'API TypeScript programmatica.
Oltre 6.600 server MCP scansionati e valutati per rischi di sicurezza. Cerca per nome, sfoglia i risultati, controlla i punteggi di fiducia prima di installare.
guard, shield, scan-mcp funzionano offline senza chiave APIscan richiede un LLM - usa Ollama per inferenza locale gratuita, oppure fornisci una chiave API cloudAgentSeal Pro è per team di sicurezza che eseguono valutazioni continue. Estende lo scanner open-source con:
*Il CLI Snyk agent-scan è concesso in licenza Apache-2.0. La piattaforma Evo, Agent Guard e il red-teaming sono SaaS proprietari.
Hai trovato un gap di rilevamento, un falso positivo o vuoi aggiungere una nuova sonda? Vedi CONTRIBUTING.md per istruzioni di configurazione e il processo di PR.
| Comando | Cosa fa | Necessita di un LLM? |
|---|
guard | Analizza file skill, configurazioni MCP, flussi di dati tossici e modifiche alla supply chain sul tuo computer | No |
scan | Testa un prompt di sistema contro oltre 225 sonde di attacco avversario | Sì* |
scan-mcp | Si connette a un server MCP live e controlla le descrizioni degli strumenti per rilevare avvelenamento | No |
shield | Monitora i file di configurazione degli agenti in tempo reale, avvisa su minacce, mette in quarantena i payload | No |
| Punteggio | Livello | Significato |
|---|
| 85–100 | Eccellente | Difese forti, resiste alla maggior parte degli attacchi noti |
| 70–84 | Alto | Buone difese, piccole lacune |
| 50–69 | Medio | Rischio moderato, diverse categorie di sonde sono trapelate |
| 30–49 | Basso | Vulnerabilità significative |
| 0–29 | Critico | Difesa minima o assente contro attacchi al prompt |
| Provider | Flag | Chiave API |
|---|
| OpenAI | --model gpt-4o | OPENAI_API_KEY |
| Anthropic | --model claude-sonnet-4-5-20250929 | ANTHROPIC_API_KEY |
| MiniMax | --model MiniMax-M2.7 | MINIMAX_API_KEY |
| Ollama | --model ollama/llama3.1:8b | Nessuna |
| LiteLLM | --model any --litellm-url http://... | Variabile |
| HTTP | --url http://your-agent.com/chat | Nessuna |
| Capacità | AgentSeal | Snyk (agent-scan) | Pillar | Lakera | Mindgard |
|---|
| Scanner open-source | Sì | Parziale* | No | No | No |
| Guardia locale (skill + MCP) | Sì | Sì | Parziale | No | No |
| Red-teaming del prompt | 225+ sonde | 20 obiettivi di attacco | Sì | Sì | Sì |
| Rilevamento avvelenamento strumenti MCP | Sì | Sì | Parziale | Parziale | No |
| Analisi del flusso di dati tossici | Sì | Sì | Parziale | No | No |
| Monitoraggio file in tempo reale | Sì | No | No | No | No |
| Registro pubblico di server MCP | 6.600+ | No | No | No | No |
| Agenti supportati | 28 | 10+ | 2+ | N/D | N/D |
| Supporto LLM locale (Ollama) | Sì | No | No | No | No |
| Nessuna chiave API richiesta (guard) | Sì | No | No | No | No |