
Sicherheitsscanner für KI-Agenten, MCP-Server und Agenten-Fähigkeiten.
Entdecken und scannen Sie Agent-Komponenten auf Ihrem Rechner auf Prompt-Injections
und Schwachstellen (einschließlich Agenten, MCP-Server und Skills).
Hinweis: Die CLI-Ausgabe ist experimentell und kann sich ändern
Agent Scan v0.5.x (zur Einstellung vorgesehen)
Die Rohausgabe dieser CLI – einschließlich Issue-Codes, Feldnamen, Schweregradbezeichnungen und Antwortstruktur – ist experimentell und kann sich ohne Vorankündigung zwischen Releases ändern. Wir empfehlen nicht, Produktionsworkflows zu entwickeln, die von bestimmten CLI-Ausgabefeldern oder Issue-Codes abhängen.
Agent Scan v0.6 und später
Die Rohausgabe dieser CLI – einschließlich Risikoindikatornamen, Bewertungen, Feldnamen und Antwortstruktur – ist experimentell und kann sich ohne Vorankündigung zwischen Releases ändern. Wir empfehlen nicht, Produktionsworkflows zu entwickeln, die von bestimmten CLI-Ausgabefeldern oder Risikonamen abhängen.
Wenn Sie Enterprise-Kunde sind und Snyk zur Verwaltung von Agent-Sicherheitsrisiken in großem Maßstab einsetzen, spiegelt die CLI-Ausgabe möglicherweise nicht wider, was an die Evo-Plattform gesendet und dort angezeigt wird. Die zugrunde liegende Integration, Erkennung und Risikobewertung, die Enterprise-Bereitstellungen unterstützen, ist stabil und wird unterstützt – Änderungen werden im Einklang mit den üblichen Snyk-Produktpraktiken kommuniziert. Wenden Sie sich für Bereitstellungshinweise an Ihr Account-Team.
NEU Lesen Sie unseren technischen Bericht über die aufkommenden Bedrohungen des Agent-Skill-Ökosystems, der zusammen mit Agent Scan 0.4 veröffentlicht wurde und Unterstützung für das Scannen von Agent-Skills hinzufügt.
[!WARNING] Agent Scan v0.5.x verwendet die Issue-Code-Ausgabe. Diese CLI-Linie ist zur Einstellung vorgesehen.
Agent Scan hilft Ihnen, alle installierten Agent-Komponenten (Harnesses, MCP-Server und Skills) zu entdecken und auf häufige Bedrohungen wie Prompt-Injections, den Umgang mit sensiblen Daten oder in natürlicher Sprache versteckte Malware-Payloads zu scannen. Überspringen Sie die Analyse von Skills mit --no-skills.
⚠️ WICHTIG: Das Scannen von MCP-Konfigurationen führt die darin definierten Befehle aus.
Wenn Agent Scan eine MCP-Konfigurationsdatei scannt, startet es die stdio-MCP-Server, indem es die in der Konfiguration angegebenen Befehle und Argumente ausführt. Dies ist notwendig, um Tool-Beschreibungen abzurufen und eine Sicherheitsanalyse durchzuführen.
Empfehlungen:
- Führen Sie Scans in einer Sandbox aus (Docker-Container, VM oder Wegwerfumgebung), wenn Sie nicht vertrauenswürdige oder Drittanbieter-MCP-Konfigurationen auswerten
- Überprüfen Sie den Zustimmungsdialog sorgfältig bei interaktiven Scans; er zeigt den genauen Befehl und die Argumente, die für jeden Server ausgeführt werden
- Verwenden Sie
--dangerously-run-mcp-serversnur in vertrauenswürdigen Umgebungen, in denen Sie alle MCP-Server-Befehle verifiziert habenStandardmäßig verlangt Agent Scan bei interaktiven Ausführungen eine ausdrückliche Benutzereinwilligung (y/n), bevor jeder stdio-MCP-Server gestartet wird. Dies gibt Ihnen die Kontrolle darüber, was auf Ihrem System ausgeführt wird.
Wählen Sie eine der beiden Möglichkeiten, Agent Scan auszuführen:
uvx aus unter Verwendung der nachstehenden Anweisungen.Bevor Sie eine der beiden Optionen verwenden:
uvxStellen Sie sicher, dass uv auf Ihrem System installiert ist. Wählen Sie die Anweisungen für Ihre CLI-Version.
Die Beispiele legen v0.5.17 als konkrete v0.5.x-Version fest:```bash
uvx [email protected] ~/.vscode/mcp.json
uvx [email protected] ~/path/to/my/SKILL.md
uvx [email protected] ~/.claude/skills
> [!WARNING]
> v0.5.x verwendet die Ausgabe von Issue-Codes und die Analyse-API `2025-09-02`. Diese CLI-Reihe ist für die Einstellung geplant.
#### Agent Scan v0.6 und später```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 und spätere Versionen verwenden die risikobasierte Ausgabe und die 2026-07-10-Analyse-API.
Beide Versionen scannen MCP-Server, Tools, Prompts, Ressourcen und Skills und erkennen automatisch unterstützte Agent-Konfigurationen wie Claude Code/Desktop, Cursor, Gemini CLI und Windsurf.
Laden Sie die Binärdatei für Ihr Betriebssystem und Ihre Architektur von der aktuellen GitHub-Version herunter. Die Versionsseite stellt außerdem eine SBOM (sbom-<version>.json), Prüfsummendateien und von GitHub erzeugte Quellcode-Archive bereit. Informationen zur Überprüfung Ihres Downloads finden Sie unter Standalone-Binärdateien verifizieren.
Für die risikobasierte Ausgabe von v0.6 siehe das v0.6-Bild oben in dieser README.
Agent Scan erkennt Agenten und ihre Fähigkeiten (MCP-Server oder Skills) automatisch, wenn deren Installationspfade vorhanden sind. Die folgende Tabelle zeigt, auf welchen Betriebssystemen jeder Agent gescannt wird.
--no-skills ignoriert werden.Die obige Matrix zeigt, auf welchen Betriebssystemen jeder Agent gescannt wird. Diese hier gliedert die Erkennung nach Konfigurationsbereich und Komponententyp (Skills vs. MCP-Server), über alle Betriebssysteme hinweg kombiniert. „Server“ bedeutet MCP-Server.
Die vier Bereiche:
managed-mcp.json, Dateien unter /etc, /Library/Application Support oder ProgramData).Legende: ✓ erkannt · ✗ der Agent unterstützt dies, aber Agent Scan scannt es noch nicht · N/A der Agent hat keine solche Komponente in diesem Bereich.
† OpenClaw verfügt über keine Aufzählung geöffneter Projekte: Seine Projekt-/Arbeitsbereichs-Skills werden nur unter dem festen ~/.openclaw/workspace/skills gefunden.
‡ Amp speichert Projekt-/Arbeitsbereichs-Skills unter .agents/skills (und im Kompatibilitätspfad .claude/skills); derzeit wird nur der benutzerbezogene ~/.config/agents/skills erkannt, daher werden projektbezogene Skills unterstützt, aber noch nicht gescannt.
Wir verwenden GPG-Signaturen für die Prüfsummendatei der Veröffentlichung, um Integrität und Authentizität der Verteilung zu gewährleisten.
Release-Assets herunterladen:
Laden Sie die Binärdatei für Ihre Plattform (z. B. agent-scan-<version>-<os>-<arch>) und die signierte Prüfsummendatei (sha256sums.txt.asc) von der Seite GitHub Releases in dasselbe Verzeichnis herunter.
GPG-Signatur der Prüfsummendatei verifizieren:
Laden Sie den GPG-öffentlichen Schlüssel in dasselbe Verzeichnis herunter und führen Sie dann Folgendes aus: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc
Achten Sie in der Ausgabe auf eine Zeile mit dem Inhalt gpg: Good signature from "Snyk Limited <[email protected]>".
coreutils):
grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c -
shasum):
grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
agent-scan-<version>-<os>-<arch>: OK aus.Agent Scan ist ein Sicherheits-Scan-Tool, das die Lieferkette von Agent-Komponenten auf Ihrem Rechner scannt und prüft. Es erkennt häufige Sicherheitslücken wie Prompt-Injection, Tool-Vergiftung, toxische Abläufe oder Schwachstellen in Agent-Skills.
Agent Scan meldet bewertete Risikoindikatoren für Bedrohungen wie Prompt Injection, Offenlegung nicht vertrauenswürdiger oder privater Daten, destruktive Fähigkeiten und bösartige Agent-Skills.
Agent Scan arbeitet in zwei Hauptmodi, die einzeln oder gemeinsam verwendet werden können:
Scan-Modus: Der CLI-Befehl snyk-agent-scan scannt den aktuellen Rechner nach Agenten und Agent-Komponenten wie Skills und MCP-Servern. Nach Abschluss wird ein umfassender Bericht zur Überprüfung durch den Benutzer ausgegeben.
Hintergrundmodus (MDM). Agent Scan scannt den Rechner in regelmäßigen Abständen im Hintergrund und meldet die Ergebnisse an eine Snyk Evo-Instanz. Dies kann von Sicherheitsteams genutzt werden, um die unternehmensweite Agenten-Lieferkette an einem zentralen Ort zu überwachen. Zur Einrichtung kontaktieren Sie uns bitte hier.
Agent Scan durchsucht die Konfigurationsdateien Ihres lokalen Agenten, um Agenten, Skills und MCP-Server zu finden. Für MCP verbindet es sich mit Servern und ruft Tool-Beschreibungen ab.
⚠️ Sicherheitshinweis: Beim Scannen einer MCP-Konfiguration werden die darin definierten Befehle ausgeführt. Prüfen Sie immer, was ausgeführt wird, bevor Sie zustimmen.
Standardmäßig fragt Agent Scan bei interaktiven Läufen vor dem Start jedes stdio-MCP-Servers um Benutzerzustimmung. Dieser Zustimmungsablauf:
user_declined-Fehler auf (sie werden nie gestartet)Bewährte Vorgehensweisen:
Für nicht-interaktive Umgebungen (z. B. CI/CD-Pipelines) müssen Sie das Flag --dangerously-run-mcp-servers verwenden, um die Zustimmungsabfrage zu umgehen und alle Server automatisch zu starten. Verwenden Sie dieses Flag nur in vertrauenswürdigen Umgebungen, in denen alle MCP-Serverbefehle überprüft wurden.
Agent Scan validiert gefundene Komponenten mit lokalen Prüfungen und der Agent-Scan-API. Es sendet die für die Analyse benötigten Komponenteninformationen, einschließlich Agent-Anwendungsdetails, MCP-Serverkonfigurationen und -Signaturen, Tool-Namen und -Beschreibungen sowie Skill-Inhalte. Geheimnisse in Konfigurationswerten und Text werden vor der Übertragung geschwärzt.
Durch die Nutzung von Agent Scan stimmen Sie den Snyk Nutzungsbedingungen für Agent Scan zu.
Agent Scan speichert oder protokolliert keine Nutzungsdaten, d. h. die Inhalte und Ergebnisse Ihrer MCP-Tool-Aufrufe.
Die vollständige Flag-Referenz finden Sie in docs/cli-reference.md. Die meisten Befehle und Flags werden in v0.5.x und v0.6 und später gemeinsam verwendet.
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
### Optionen, die beiden Versionslinien gemeinsam sind
Diese Optionen sind sowohl in v0.5.x als auch in v0.6 und später vorhanden. Ihre Anwendbarkeit in Befehlen ist in der vollständigen CLI-Referenz detailliert beschrieben.```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
--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
[!WARNING] Die Einstellung von v0.5.x ist geplant. In den Beispielen wird v0.5.17 als konkrete Version der v0.5.x-Reihe festgelegt.```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 gibt Issue-Code-Befunde und pfadbezogenes `ScanPathResult`-JSON aus. Siehe die [v0.5.x-CLI-Referenz](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md#agent-scan-v05x) und die [Issue-Code-Referenz](https://github.com/snyk/agent-scan/blob/HEAD/docs/issue-codes.md).
### Agent Scan v0.6 und später```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 und später geben bewertete Risikoindikatoren und scan_path_responses-JSON aus. Die menschenlesbare Scan-Ausgabe ist standardmäßig kompakt; --show-full-discovery erweitert sie, ohne die JSON- oder inspect-Ausgabe zu verändern. Siehe die CLI-Referenz ab v0.6, Risiko-Referenz und Fehlercode-Referenz.
snyk-agent-scan
snyk-agent-scan ~/custom/config.json snyk-agent-scan ~/path/to/my/SKILL.md
snyk-agent-scan inspect
snyk-agent-scan --ci --dangerously-run-mcp-servers
## Demo
Dieses Repository enthält einen verwundbaren MCP-Server, der Model Context Protocol-Sicherheitsbefunde demonstriert, die Agent Scan meldet.
Wie können MCP-Sicherheitsbefunde demonstriert werden?
1. Klonen Sie dieses Repository
2. Erstellen Sie eine `mcp.json`-Konfigurationsdatei im Stammverzeichnis des geklonten Git-Repositorys mit folgendem Inhalt:```jsonc
{
"mcpServers": {
"Demo MCP Server": {
"type": "stdio",
"command": "uv",
"args": ["run", "mcp", "run", "demoserver/server.py"],
},
},
}
Führen Sie die entsprechende Version aus:
uvx --python 3.13 [email protected] scan mcp.jsonuvx --python 3.13 snyk-agent-scan@latest scan mcp.jsonHinweis: Wenn Sie den Dateipfad der mcp.json-Konfiguration an anderer Stelle platzieren, passen Sie sowohl den args-Pfad in der MCP-Serverkonfiguration an, um den Pfad zum MCP-Server (demoserver/server.py) widerzuspiegeln, als auch den uvx-Befehl, der Agent Scan mit dem korrekten Dateipfad zu mcp.json ausführt.
Agent Scan akzeptiert derzeit keine externen Beiträge.
Wir begrüßen Vorschläge, Fehlerberichte oder Feature-Wünsche als GitHub-Issues.
Um Agent Scan aus dem Quellcode auszuführen, befolgen Sie diese Schritte:```bash uv run pip install -e . uv run -m src.agent_scan.cli
## Einbeziehung von Agent-Scan-Ergebnissen in Ihr eigenes Projekt / Ihre eigene Registry
Wenn Sie Agent-Scan-Ergebnisse in Ihr eigenes Projekt oder Ihre eigene Registry einbinden möchten, [kontaktieren Sie uns](https://evo.ai.snyk.io/#contact-us). Für diesen Zweck gibt es eigens vorgesehene APIs. Die Verwendung der Standard-Agent-Scan-API für großflächiges Scannen gilt als Missbrauch und führt zur Sperrung Ihres Kontos.
## Dokumentation
- [Dokumentationsindex](https://github.com/snyk/agent-scan/blob/HEAD/docs/README.md) — Versionierte Dokumentation für beide CLI-Linien.
- [CLI-Referenz](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md) — Befehle, Flags, Optionen und Umgebungsvariablen für v0.5.x und v0.6 und spätere Versionen.
- [Scannen](https://github.com/snyk/agent-scan/blob/HEAD/docs/scanning.md) — Scan-Verhalten und Beispiele für v0.5.x und v0.6 und spätere Versionen.
- [JSON-Ausgabe](https://github.com/snyk/agent-scan/blob/HEAD/docs/json-output.md) — Die nach Pfaden gegliederte Ausgabe von v0.5.x und das v0.6-Antwortschema.
- [Issue-Codes](https://github.com/snyk/agent-scan/blob/HEAD/docs/issue-codes.md) — Referenz zu den Sicherheitsbefunden `E*` und `W*` von v0.5.x.
- [Risiko-Referenz](https://github.com/snyk/agent-scan/blob/HEAD/docs/risks.md) — Sicherheitsrisiko-Indikatoren, Bewertungen und Evidenzfelder von v0.6.
- [Fehlercodes](https://github.com/snyk/agent-scan/blob/HEAD/docs/failure-codes.md) — Betriebliche Fehler bei Erkennung, Inspektion und Analyse von v0.6.
## Weiterführende Literatur
- [Einführung von MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [MCP-Sicherheitsbenachrichtigung: Tool-Poisoning-Angriffe](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp-MCP ausgenutzt](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [MCP-Prompt-Injection](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Toxic-Flow-Analyse](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Skills-Bericht](https://github.com/snyk/agent-scan/blob/HEAD/.github/reports/skills-report.pdf)
## Changelog
Siehe [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/HEAD/CHANGELOG.md).
| Agent | macOS MCP | macOS Skills | Linux MCP | Linux Skills | Windows MCP | Windows Skills |
|---|
| Windsurf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Claude Desktop | ✓ | ✗ | — | — | ✓ | ✗ |
| Claude Code | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Gemini CLI | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenClaw | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Amp | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ |
| Kiro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| OpenCode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Antigravity | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Codex | ✓ | ✓ | ✓ | ✓ | — | — |
| Amazon Q | ✓ | ✗ | ✓ | ✗ | ✓ (WSL) | ✗ |
| Agent | System Skills | System Server | Benutzer Skills | Benutzer Server | Projekt / WS Skills | Projekt / WS Server | Erweiterung / Plugin Skills | Erweiterung / Plugin Server |
|---|
| Windsurf | ✓ | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cursor | N/A | N/A | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| VS Code | 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 |