
Sicherheitsscanner für KI-Agenten, MCP-Server und Agenten-Fähigkeiten.
<p align="center"> <h1 align="center"> Snyk Agent Scan </h1> </p> <p align="center"> Entdecke und scanne Agent-Komponenten auf deinem Rechner auf Prompt-Injections<br/> und Schwachstellen (einschließlich Agents, MCP-Servern, Skills). </p> > **Hinweis:** Wir veröffentlichen kein npm-Paket für Agent Scan. Installiere es über [`uvx`](#run-with-uvx) oder als [eigenständige Binärdatei](#run-with-a-standalone-binary). > **Hinweis: Die CLI-Ausgabe ist experimentell und kann sich ändern** > > **Agent Scan v0.5.x (zur Abkündigung vorgesehen)** > > Die Rohausgabe dieser CLI — einschließlich Issue-Codes, Feldnamen, Schweregrad-Labels und Antwortstruktur — ist experimentell und kann sich zwischen Releases ohne Vorankündigung ändern. Wir empfehlen nicht, Produktions-Workflows zu erstellen, die von bestimmten CLI-Ausgabefeldern oder Issue-Codes abhängen. > > **Agent Scan v0.6 und später** > > Die Rohausgabe dieser CLI — einschließlich Risikoindikator-Namen, Scores, Feldnamen und Antwortstruktur — ist experimentell und kann sich zwischen Releases ohne Vorankündigung ändern. Wir empfehlen nicht, Produktions-Workflows zu erstellen, die von bestimmten CLI-Ausgabefeldern oder Risikonamen abhängen. > > Wenn du ein Enterprise-Kunde bist, der Snyk nutzt, um Agent-Sicherheitsrisiken im großen Maßstab zu verwalten, spiegelt die CLI-Ausgabe möglicherweise nicht wider, was an die Evo-Plattform gesendet und dort angezeigt wird. Die zugrunde liegende Integration, Discovery und Risikobewertung, die Enterprise-Deployments antreibt, ist stabil und unterstützt — Änderungen werden gemäß den üblichen Snyk-Produktpraktiken kommuniziert. Wende dich an dein Account-Team für Deployment-Anleitungen. > **NEU** Lies unseren [technischen Bericht über die aufkommenden Bedrohungen des Agent-Skill-Ökosystems](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf), der zusammen mit Agent Scan 0.4 veröffentlicht wurde und Unterstützung für das Scannen von Agent-Skills hinzufügt. <p align="center"> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/v/snyk-agent-scan.svg" alt="snyk-agent-scan"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/l/snyk-agent-scan.svg" alt="snyk-agent-scan license"/></a> <a href="https://pypi.python.org/pypi/snyk-agent-scan"><img src="https://img.shields.io/pypi/pyversions/snyk-agent-scan.svg" alt="snyk-agent-scan python version requirements"/></a> </p> ### Agent Scan v0.5.x-Ausgabe > [!WARNING] > Agent Scan v0.5.x verwendet Issue-Code-Ausgabe. Diese CLI-Zeile ist zur Abkündigung vorgesehen. <div align="center"> <img width="1304" height="976" alt="agent-scan-pretty" src="https://assets.kitploit.com/production/public/readmes/721/98fbbb9009fa00bb52906b85514664b3d4834bd558b2b9fb3bce959cfa87a4e8.png" /> </div> ### Agent Scan v0.6 und spätere Ausgabe <div align="center"> <img width="1000" alt="Agent Scan v0.6 and later report showing scored MCP server and skill risks" src="https://raw.githubusercontent.com/snyk/agent-scan/HEAD/demo-v0.6.svg" /> </div> <br> Agent Scan hilft dir, alle installierten Agent-Komponenten (Harnesses, MCP-Server und Skills) zu entdecken und sie auf gängige Bedrohungen wie Prompt-Injections, den Umgang mit sensiblen Daten oder in natürlicher Sprache versteckte Malware-Payloads zu scannen. Ignoriere die Analyse von Skills mit `--no-skills`. ## Sicherheitswarnung > **⚠️ WICHTIG: Das Scannen von MCP-Konfigurationen kann Befehle ausführen oder ausgehende Netzwerkanfragen stellen.** > > Um Tool-Beschreibungen abzurufen, startet Agent Scan stdio-MCP-Server, indem es die Befehle in der Konfiguration ausführt, und verbindet sich mit konfigurierten Remote-MCP-Server-URLs mit ihren konfigurierten Headern. > > **Empfehlungen:** > - **Führe Scans in einer Sandbox aus** (Docker-Container, VM oder Wegwerf-Umgebung), wenn du nicht vertrauenswürdige oder Drittanbieter-MCP-Konfigurationen bewertest > - **Prüfe die Zustimmungsaufforderung sorgfältig** während interaktiver Scans; sie zeigt den Befehl oder die Remote-URL für jeden Server an > - **Verwende `--dangerously-run-mcp-servers`** nur in vertrauenswürdigen Umgebungen, in denen du alle MCP-Server-Befehle und Remote-URLs überprüft hast > > Remote-MCP-Anfragen lehnen Ziele ab, die zu Link-Local-Adressen oder bekannten Cloud-Metadata-Endpunkten (`169.254.0.0/16`, `fe80::/10`, `fd00:ec2::254` und `100.100.100.200`) aufgelöst werden. Loopback- und private Adressen bleiben für lokale und interne MCP-Server erlaubt. HTTP-Weiterleitungen werden nicht befolgt. DNS wird vor jeder Anfrage validiert, aber die erneute Auflösung zum Verbindungszeitpunkt lässt ein DNS-Rebinding-Fenster offen. > > Standardmäßig erfordert Agent Scan die ausdrückliche Zustimmung des Benutzers (j/n), bevor er während interaktiver Vordergrundläufe jeden entdeckten MCP-Server kontaktiert. Hintergrund- und Push-Key-Scans inspizieren Remote-Server weiterhin automatisch für die Flottenabdeckung, starten aber keine stdio-Server, es sei denn, `--dangerously-run-mcp-servers` ist gesetzt. ## Schnellstart Wähle eine von zwei Möglichkeiten, Agent Scan auszuführen: 1. **Führe das Python-Paket mit `uvx` aus** gemäß den Anweisungen unten. 2. **Lade eine eigenständige Binärdatei** für deine Plattform von [GitHub Releases](https://github.com/snyk/agent-scan/releases) herunter. Die Releases enthalten auch die SBOM, Prüfsummen, signierte Prüfsummen und Quellcode-Archive. Bevor du eine der beiden Optionen verwendest: 1. **Registriere dich bei [Snyk](https://snyk.io)** und hole dir ein API-Token von [https://app.snyk.io/account](https://app.snyk.io/account) (API Token → KEY → zum Anzeigen klicken). 2. **Setze das Token als Umgebungsvariable** vor dem Ausführen eines Scans: ```bash export SNYK_TOKEN=your-api-token-here ``` ### Ausführen mit `uvx` Installiere [uv](https://docs.astral.sh/uv/getting-started/installation/) auf deinem System. Wähle die Anweisungen für deine CLI-Version. #### Agent Scan v0.5.x Die Beispiele pinnen v0.5.17 als konkretes v0.5.x-Release: ```bash # Scan the whole machine uvx [email protected] # 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 verwendet die Issue-Code-Ausgabe und die Analyse-API `2025-09-02`. Diese CLI-Zeile ist zur Abkündigung vorgesehen. #### 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äter verwenden die risikobasierte Ausgabe und die Analyse-API `2026-07-10`. Beide Versionen scannen MCP-Server, Tools, Prompts, Ressourcen und Skills und entdecken automatisch unterstützte Agent-Konfigurationen wie Claude Code/Desktop, Cursor, Gemini CLI und Windsurf. ### Ausführen mit einer eigenständigen Binärdatei Laden Sie die Binärdatei für Ihr Betriebssystem und Ihre Architektur aus dem [neuesten GitHub-Release](https://github.com/snyk/agent-scan/releases/latest) herunter. Die Release-Seite bietet außerdem eine SBOM (`sbom-<version>.json`), Prüfsummendateien und von GitHub generierte Quellcode-Archive. Siehe [Verifying Standalone Binaries](#verifying-standalone-binaries), um Ihren Download zu verifizieren. ## Highlights - Automatische Erkennung von MCP-Konfigurationen, Agent-Tools, Skills - Scannen von Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q und anderen Agents. ### Agent Scan v0.5.x - Erkennt [15+ verschiedene Sicherheitsrisiken](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) über MCP-Server und Agent-Skills hinweg: - MCP: [Prompt Injection](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001), [Tool Poisoning](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E001), [Tool Shadowing](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E002), [Toxic Flows](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#ToxicFlows) - Skills: [Prompt Injection](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E004), [Malware Payloads](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#E006), [Untrusted Content](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W011), [Credential Handling](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W007), [Hardcoded Secrets](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md#W008) ### Agent Scan v0.6 und später - Erkennt [14 verschiedene Sicherheitsrisiken](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) über MCP-Server und Agent-Skills hinweg: - MCP: [Prompt injection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_tool_desc), [untrusted content](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#untrusted_content), [private data](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#private_data) und [destructive capabilities](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#destructive_capabilities) - Skills: [prompt injection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#prompt_injection_skill_instructions), [suspicious downloads](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#suspicious_download_url), [malicious code](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#malicious_code), [credential handling](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#insecure_credential_handling), [secret detection](https://github.com/snyk/agent-scan/blob/main/docs/risks.md#secret_detection) und mehr ## Unterstützte Agents und Fähigkeiten Agent Scan erkennt Agents und ihre Fähigkeiten (MCP-Server oder Skills) automatisch, wenn ihre Installationspfade existieren. Die folgende Tabelle zeigt, auf welchen Betriebssystemen jeder Agent gescannt wird. - **✓**: mindestens ein Pfad ist für diese Fähigkeit definiert. - **✗**: der Agent ist für dieses Betriebssystem aufgeführt, hat aber keine Pfade für diese Fähigkeit. - **—**: dieser Agent ist für dieses Betriebssystem nicht enthalten. - **Skills** Skills können mit `--no-skills` ignoriert werden | 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) | ✗ | ### Erkennungsabdeckung nach Geltungsbereich Die obige Matrix zeigt, auf welchen Betriebssystemen jeder Agent gescannt wird. Diese hier schlüsselt die Erkennung nach **Konfigurationsgeltungsbereich** und **Komponententyp** (Skills vs. MCP-Server) auf, kombiniert über Betriebssysteme hinweg. „Server" bedeutet MCP-Server. Die vier Geltungsbereiche: - **System** — maschinenweite / administrativ verwaltete / unternehmensweite Konfiguration, die für alle Benutzer gilt (z. B. `managed-mcp.json`, Dateien unter `/etc`, `/Library/Application Support` oder `ProgramData`). - **User** — die Konfiguration im Home-Verzeichnis des Benutzers (gilt für alle seine Projekte). - **Project / workspace** — Konfiguration, die auf ein geöffnetes Projekt oder einen Arbeitsbereich beschränkt ist. - **Extension / plugin** — Komponenten, die in installierten Erweiterungen oder Plugins gebündelt sind. Legende: **✓** erkannt · **✗** der Agent unterstützt dies, aber Agent Scan scannt es noch nicht · **N/A** der Agent hat keine solche Komponente in diesem Geltungsbereich. | Agent | System<br>skills | System<br>servers | User<br>skills | User<br>servers | Project / WS<br>skills | Project / WS<br>servers | Ext / plugin<br>skills | Ext / plugin<br>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 | ✓ | ✓ | | 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 hat keine Aufzählung geöffneter Projekte: seine Projekt-/Workspace-Skills werden nur am festen Pfad `~/.openclaw/workspace/skills` gefunden ‡ Amp speichert Projekt-/Workspace-Skills unter `.agents/skills` (und dem Kompatibilitätspfad `.claude/skills`); derzeit wird nur der benutzerbezogene Pfad `~/.config/agents/skills` erkannt, sodass Projekt-Skills unterstützt, aber noch nicht gescannt werden. § GitHub Copilot umfasst die CLI und die Desktop-App, die sich das `~/.copilot`-Home mit Copilot in VS Code teilen, und wird von diesem Home aus erkannt, nicht von einer VS Code-Installation. `COPILOT_HOME`-Verlagerungen werden beim Scannen Ihres eigenen Homes berücksichtigt. Der Projekt-Geltungsbereich umfasst die repo-relativen Dateien `.mcp.json` / `.github/mcp.json` und die Verzeichnisse `.github/skills`, `.claude/skills` und `.agents/skills`, für die an den Scan übergebenen Ordner und die Verzeichnisse, die Copilot in `permissions-config.json` aufgezeichnet hat, sowie deren übergeordnete Verzeichnisse. Der Plugin-Geltungsbereich umfasst `~/.copilot/installed-plugins`, einschließlich `plugin.json`-Manifeste, die ihre MCP-Konfiguration verlagern oder zusätzliche Skills-Wurzeln deklarieren. Nicht gescannt: die sitzungsbezogenen Projektwurzeln in `session-state/*/workspace.yaml`. Copilots benutzerbezogene Pfade sind auch unter VS Code aufgeführt, das dieselben Dateien liest. Die Plugin-Erkennung von Claude Desktop wird auf macOS und Linux unterstützt. Für Claude Code melden Guards Installations- und Session-Start-Erkennungsereignisse außerdem protokollierte Konnektoren aus `claude-code-sessions/*/*/local_*.json` und `local-agent-mode-sessions/*/*/local_*.json`, gruppiert nach Organisation und dedupliziert nach Konnektor-UUID unter Verwendung der neuesten Sitzungsmetadaten. Es werden nur die UUID, der Name, die URL, die Tool-Definitionen und die Anweisungen jedes Konnektors gesendet; andere Felder wie Header werden verworfen, und URL-Abfragewerte werden redigiert. Unter Windows verwendet die Konnektor-Erkennung `~/AppData/Roaming/Claude` mit demselben angenommenen Sitzungslayout, das noch nicht auf einem Windows-Rechner verifiziert wurde. Die Windows-Plugin-Erkennung bleibt nicht unterstützt. ## Verifying Standalone Binaries Wir verwenden GPG-Signierung der Release-Prüfsummendatei, um die Integrität und Authentizität der Distribution sicherzustellen. ### Schritt-für-Schritt-Verifizierungsanleitung 1. **Laden Sie die Release-Assets herunter:** 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 [GitHub Releases](https://github.com/snyk/agent-scan/releases)-Seite in dasselbe Verzeichnis herunter. 2. **Verifizieren Sie die GPG-Signatur der Prüfsummendatei:** Laden Sie den [GPG public key](https://github.com/snyk/agent-scan/blob/main/help/_about-this-project/snyk-code-signing-public.pgp) in dasselbe Verzeichnis herunter und führen Sie dann aus: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc ``` Suchen Sie in der Ausgabe nach einer Zeile mit `gpg: Good signature from "Snyk Limited <[email protected]>"`. 3. **Überprüfen Sie die Integrität der Binärdatei:** Nachdem Sie bestätigt haben, dass die Signatur gültig ist, prüfen Sie, ob Ihre heruntergeladene Binärdatei mit der Prüfsumme übereinstimmt: * **Unter Linux (oder macOS mit `coreutils`):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c - ``` * **Unter macOS (mit dem Standard-`shasum`):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c - ``` Dies gibt `agent-scan-<version>-<os>-<arch>: OK` aus. ## Scanner-Funktionen ### Agent Scan v0.5.x Agent Scan ist ein Sicherheitsscanning-Tool, das sowohl die Lieferkette von Agent-Komponenten auf Ihrem Rechner scannt als auch inspiziert. Es sucht nach gängigen Sicherheitslücken wie Prompt-Injections, Tool-Poisoning, toxischen Flows oder Schwachstellen in Agent-Skills. ### Agent Scan v0.6 und später Agent Scan meldet bewertete Risikoindikatoren für Bedrohungen wie Prompt-Injection, Exposition gegenüber nicht vertrauenswürdigen oder privaten Daten, destruktive Fähigkeiten und bösartige Agent-Skills. Agent Scan arbeitet in zwei Hauptmodi, die gemeinsam oder getrennt verwendet werden können: 1. **Scan-Modus**: Der CLI-Befehl `snyk-agent-scan` scannt den aktuellen Rechner nach Agents und Agent-Komponenten wie Skills und MCP-Servern. Nach Abschluss gibt er einen umfassenden Bericht zur Überprüfung durch den Benutzer aus. 2. **Hintergrundmodus** (MDM). Agent Scan scannt den Rechner in regelmäßigen Abständen im Hintergrund und meldet die Ergebnisse an eine [Snyk Evo](https://evo.ai.snyk.io)-Instanz. Dies kann von Sicherheitsteams genutzt werden, um die unternehmensweite Agent-Lieferkette an einem zentralen Ort zu überwachen. Um dies einzurichten, [kontaktieren Sie uns](https://evo.ai.snyk.io/#contact-us) bitte. ## Funktionsweise ### Scannen Agent Scan durchsucht die Konfigurationsdateien Ihres lokalen Agents, um Agents, Skills und MCP-Server zu finden. Für MCP verbindet es sich mit Servern und ruft Tool-Beschreibungen ab. #### Interaktive Zustimmung für MCP-Server > **⚠️ Sicherheitshinweis**: Das Scannen einer MCP-Konfiguration kann deren stdio-Befehle ausführen oder ausgehende Anfragen an deren Remote-URLs senden. Überprüfen Sie stets, welche Kontakte hergestellt werden, bevor Sie zustimmen. Standardmäßig fordert Agent Scan bei interaktiven Ausführungen die Zustimmung des Benutzers an, bevor er sich mit jedem entdeckten MCP-Server verbindet. Dieser Zustimmungsablauf: - Zeigt den Servernamen und dessen Befehl oder Remote-URL an; Umgebungsvariablen und Header werden redigiert - Ermöglicht es Ihnen, jeden Server einzeln zu genehmigen oder abzulehnen - Verhindert, dass potenziell nicht vertrauenswürdige Server ohne Ihre ausdrückliche Erlaubnis kontaktiert werden - Zeichnet abgelehnte Server mit einem `user_declined`-Fehler auf (sie werden nie kontaktiert) **Best Practices:** - Überprüfen Sie Befehle, Argumente und Remote-URLs sorgfältig, bevor Sie zustimmen - Wenn Sie nicht vertrauenswürdige oder Drittanbieter-MCP-Konfigurationen scannen, führen Sie Agent Scan in einer Sandbox aus (Docker, VM oder Wegwerf-Umgebung) - Lehnen Sie alle Server mit unbekannten oder verdächtigen Befehlen ab Nicht-interaktive Umgebungen (z. B. Hintergrund- und Push-Key-Scans) inspizieren Remote-MCP-Server automatisch. Sie starten keine stdio-Server, es sei denn, `--dangerously-run-mcp-servers` ist gesetzt. **Verwenden Sie dieses Flag nur in vertrauenswürdigen Umgebungen, in denen alle MCP-Server-Befehle und Remote-URLs verifiziert wurden.** #### Analyse und Validierung Agent Scan validiert entdeckte Komponenten mit lokalen Prüfungen und der Agent Scan API. Es sendet die für die Analyse erforderlichen Komponenteninformationen, einschließlich Agent-Anwendungsdetails, MCP-Server-Konfigurationen und -Signaturen, Tool-Namen und -Beschreibungen sowie Skill-Inhalten. Geheimnisse in Konfigurationswerten und Text werden vor der Übertragung redigiert. Durch die Verwendung von Agent Scan stimmen Sie den Snyk [Nutzungsbedingungen für Agent Scan](https://github.com/snyk/agent-scan/blob/main/TERMS.md) zu. Agent Scan speichert oder protokolliert keine Nutzungsdaten, d. h. die Inhalte und Ergebnisse Ihrer MCP-Tool-Aufrufe. ## CLI-Parameter Die vollständige Flag-Referenz finden Sie in [docs/cli-reference.md](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md). Die meisten Befehle und Flags sind in v0.5.x und v0.6 und später gemeinsam. ### Gemeinsame Befehle ```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 ``` ### Von beiden Versionslinien gemeinsam genutzte Optionen Diese Optionen existieren sowohl in v0.5.x als auch in v0.6 und später. Ihre Befehlsanwendbarkeit 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 --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 contact all configured 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] > v0.5.x ist für die Einstellung geplant. Die Beispiele pinnen v0.5.17 als konkrete v0.5.x-Version. ```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-Findings und pfadbasierte `ScanPathResult`-JSON aus. Siehe die [v0.5.x CLI-Referenz](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) und die [Issue-Code-Referenz](https://github.com/snyk/agent-scan/blob/main/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 JSON- oder `inspect`-Ausgabe zu verändern. Siehe die [CLI-Referenz für v0.6 und später](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v06-and-later), die [Risiko-Referenz](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) und die [Fehlercode-Referenz](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md). ### Beispiele ```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 Dieses Repository enthält einen verwundbaren MCP-Server, der Sicherheitsbefunde zum Model Context Protocol demonstriert, die Agent Scan meldet. Wie demonstriert man MCP-Sicherheitsbefunde? 1. Klonen Sie dieses Repository 2. Erstellen Sie eine `mcp.json`-Konfigurationsdatei im Stammverzeichnis des geklonten Git-Repositories mit folgendem Inhalt: ```jsonc { "mcpServers": { "Demo MCP Server": { "type": "stdio", "command": "uv", "args": ["run", "mcp", "run", "demoserver/server.py"], }, }, } ``` 3. Führen Sie die entsprechende Version aus: - Agent Scan v0.5.x (issue-code-Ausgabe): `uvx --python 3.13 [email protected] scan mcp.json` - Agent Scan v0.6 und später (risikobasierte Ausgabe): `uvx --python 3.13 snyk-agent-scan@latest scan mcp.json` Hinweis: Wenn Sie die Konfigurationsdatei `mcp.json` an einem anderen Ort ablegen, passen Sie den `args`-Pfad innerhalb der MCP-Server-Konfiguration an, um den Pfad zum MCP-Server (`demoserver/server.py`) sowie den `uvx`-Befehl widerzuspiegeln, der Agent Scan mit dem korrekten Dateipfad zu `mcp.json` ausführt. ## Agent Scan ist für Beiträge geschlossen Agent Scan akzeptiert derzeit keine externen Beiträge. Wir begrüßen Vorschläge, Fehlerberichte oder Funktionsanfragen als GitHub-Issues. ## Entwicklungsumgebung einrichten 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 ``` ## Agent-Scan-Ergebnisse in Ihr eigenes Projekt / Ihre eigene Registry aufnehmen Wenn Sie Agent-Scan-Ergebnisse in Ihr eigenes Projekt oder Ihre eigene Registry aufnehmen möchten, [kontaktieren Sie uns](https://evo.ai.snyk.io/#contact-us) bitte. Für diesen Zweck gibt es spezielle APIs. Die Verwendung der Standard-Agent-Scan-API für Scans in großem Umfang gilt als Missbrauch und führt zur Sperrung Ihres Kontos. ## Dokumentation - [Dokumentationsindex](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — Versionierte Dokumentation für beide CLI-Linien. - [CLI-Referenz](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — Befehle, Flags, Optionen und Umgebungsvariablen für v0.5.x und v0.6-and-later. - [Scannen](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — Scan-Verhalten und Beispiele für v0.5.x und v0.6-and-later. - [JSON-Ausgabe](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — Die pfadbasierte Ausgabe von v0.5.x und das Antwortschema von v0.6. - [Issue-Codes](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — Referenz zu Sicherheitsbefunden `E*` und `W*` in v0.5.x. - [Risiko-Referenz](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — Sicherheitsrisikoindikatoren, Bewertungen und Evidenzfelder in v0.6. - [Fehlercodes](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — Betriebliche Fehler bei Discovery, Inspektion und Analyse in v0.6. ## Weiterführende Literatur - [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 Siehe [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md).