Retour aux mises à jour
New releaseSep 19, 2026

agent-scan v0.6.4-snapshot-6e2d290-1638

Scanner de sécurité pour agents IA, serveurs MCP et compétences d'agents.

Partager

Snyk Agent Scan

Découvrez et analysez les composants d'agents sur votre machine pour détecter les injections de prompt
et les vulnérabilités (y compris les agents, les serveurs MCP, les skills).

Remarque : Nous ne publions pas de package npm pour Agent Scan. Installez-le via uvx ou en tant que binaire autonome.

Remarque : la sortie de la CLI est expérimentale et susceptible de changer

Agent Scan v0.5.x (dépréciation prévue)

La sortie brute de cette CLI — y compris les codes d'incident, les noms de champs, les libellés de sévérité et la structure des réponses — est expérimentale et peut changer sans préavis entre les versions. Nous ne recommandons pas de construire des workflows de production qui dépendent de champs de sortie ou de codes d'incident spécifiques de la CLI.

Agent Scan v0.6 et versions ultérieures

La sortie brute de cette CLI — y compris les noms d'indicateurs de risque, les scores, les noms de champs et la structure des réponses — est expérimentale et peut changer sans préavis entre les versions. Nous ne recommandons pas de construire des workflows de production qui dépendent de champs de sortie ou de noms de risque spécifiques de la CLI.

Si vous êtes un client entreprise utilisant Snyk pour gérer le risque de sécurité des agents à grande échelle, la sortie de la CLI peut ne pas refléter ce qui est envoyé et affiché dans la plateforme Evo. L'intégration sous-jacente, la découverte et l'évaluation des risques qui alimentent les déploiements entreprise sont stables et prises en charge — tout changement sera communiqué conformément aux pratiques produit standard de Snyk. Contactez votre équipe de compte pour obtenir des conseils de déploiement.

NOUVEAU Lisez notre rapport technique sur les menaces émergentes de l'écosystème des skills d'agents publié avec Agent Scan 0.4, qui ajoute la prise en charge de l'analyse des skills d'agents.

snyk-agent-scan snyk-agent-scan license snyk-agent-scan python version requirements

Sortie d'Agent Scan v0.5.x

[!WARNING] Agent Scan v0.5.x utilise une sortie par code d'incident. Cette ligne de CLI est prévue pour être dépréciée.

agent-scan-pretty

Sortie d'Agent Scan v0.6 et versions ultérieures

Agent Scan v0.6 and later report showing scored MCP server and skill risks

Agent Scan vous aide à découvrir tous vos composants d'agents installés (harnais, serveurs MCP et skills) et les analyse pour détecter les menaces courantes telles que les injections de prompt, la gestion de données sensibles ou les charges malveillantes cachées dans le langage naturel. Ignorez l'analyse des skills en utilisant --no-skills.

Avertissement de sécurité

⚠️ IMPORTANT : L'analyse des configurations MCP exécutera les commandes qui y sont définies.

Lorsqu'Agent Scan analyse un fichier de configuration MCP, il démarre les serveurs MCP stdio en exécutant les commandes et arguments spécifiés dans la configuration. Cela est nécessaire pour récupérer les descriptions des outils et effectuer l'analyse de sécurité.

Recommandations :

  • Exécutez les analyses dans un bac à sable (conteneur Docker, VM ou environnement jetable) lors de l'évaluation de configurations MCP non fiables ou tierces
  • Examinez attentivement l'invite de consentement lors des analyses interactives, elle affiche la commande et les arguments exacts qui seront exécutés pour chaque serveur
  • Utilisez --dangerously-run-mcp-servers uniquement dans des environnements de confiance où vous avez vérifié toutes les commandes des serveurs MCP

Par défaut, Agent Scan exige le consentement explicite de l'utilisateur (o/n) avant de démarrer chaque serveur MCP stdio lors des exécutions interactives. Cela vous donne le contrôle sur ce qui est exécuté sur votre système.

Démarrage rapide

Choisissez l'une des deux façons d'exécuter Agent Scan :

  1. Exécutez le package Python avec uvx en suivant les instructions ci-dessous.
  2. Téléchargez un binaire autonome pour votre plateforme depuis GitHub Releases. Les versions incluent également le SBOM, les sommes de contrôle, les sommes de contrôle signées et les archives du code source.

Avant d'utiliser l'une ou l'autre option :

  1. Inscrivez-vous sur Snyk et obtenez un jeton d'API depuis https://app.snyk.io/account (API Token → KEY → cliquez pour afficher).
  2. Définissez le jeton comme variable d'environnement avant d'exécuter toute analyse : ```bash export SNYK_TOKEN=your-api-token-here

Exécuter avec uvx

Ayez uv installé sur votre système. Choisissez les instructions correspondant à votre version de CLI.

Agent Scan v0.5.x

Les exemples épinglent la version v0.5.17 comme version concrète de la branche v0.5.x :```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 utilise la sortie issue-code et l'API d'analyse `2025-09-02`. Cette ligne de CLI est prévue pour être dépréciée.

#### Agent Scan v0.6 et versions ultérieures```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 et les versions ultérieures utilisent la sortie basée sur les risques et l'API d'analyse 2026-07-10.

Les deux versions analysent les serveurs MCP, les outils, les prompts, les ressources et les skills, et découvrent automatiquement les configurations d'agents prises en charge telles que Claude Code/Desktop, Cursor, Gemini CLI et Windsurf.

Exécution avec un binaire autonome

Téléchargez le binaire correspondant à votre système d'exploitation et à votre architecture depuis la dernière version GitHub. La page de version fournit également un SBOM (sbom-<version>.json), des fichiers de sommes de contrôle et des archives de code source générées par GitHub. Consultez Vérification des binaires autonomes pour vérifier votre téléchargement.

Points forts

  • Découverte automatique des configurations MCP, des outils d'agents, des skills
  • Analyse de Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q et d'autres agents.

Agent Scan v0.5.x

Agent Scan v0.6 et versions ultérieures

Agents et capacités pris en charge

Agent Scan découvre automatiquement les agents et leurs capacités (serveurs MCP ou skills) lorsque leurs chemins d'installation existent. Le tableau ci-dessous indique sur quels systèmes d'exploitation chaque agent est analysé.

  • : au moins un chemin est défini pour cette capacité.
  • : l'agent est répertorié pour ce système d'exploitation mais n'a aucun chemin pour cette capacité.
  • : cet agent n'est pas inclus pour ce système d'exploitation.
  • Skills Les skills peuvent être ignorés en utilisant --no-skills
AgentmacOS MCPmacOS SkillsLinux MCPLinux SkillsWindows MCPWindows Skills
Windsurf
Cursor
VS Code
GitHub Copilot
Claude Desktop
Claude Code
Gemini CLI
OpenClaw
Amp
Kiro
OpenCode
Antigravity
Codex
Amazon Q✓ (WSL)

Couverture de détection par portée

La matrice ci-dessus indique sur quels systèmes d'exploitation chaque agent est analysé. Celle-ci détaille la détection par portée de configuration et type de composant (skills vs serveurs MCP), combinés sur l'ensemble des systèmes d'exploitation. « Serveurs » désigne les serveurs MCP.

Les quatre portées :

  • Système — configuration à l'échelle de la machine / gérée par l'administrateur / d'entreprise qui s'applique à tous les utilisateurs (par ex. managed-mcp.json, fichiers sous /etc, /Library/Application Support ou ProgramData).
  • Utilisateur — configuration du répertoire personnel de l'utilisateur (s'applique à tous ses projets).
  • Projet / espace de travail — configuration limitée à un projet ou un espace de travail ouvert.
  • Extension / plugin — composants intégrés dans les extensions ou plugins installés.

Légende : détecté · l'agent prend cela en charge mais Agent Scan ne l'analyse pas encore · N/A l'agent n'a pas de tel composant à cette portée.

AgentSystème
skills
Système
serveurs
Utilisateur
skills
Utilisateur
serveurs
Projet / WS
skills
Projet / WS
serveurs
Ext / plugin
skills
Ext / plugin
serveurs
WindsurfN/A
CursorN/AN/A
VS CodeN/AN/A
GitHub Copilot §N/AN/A
Claude DesktopN/AN/AN/AN/AN/A
Claude Code
Gemini CLIN/A
OpenClawN/AN/A✓ †N/A
AmpN/A✗ ‡
KiroN/AN/A
OpenCodeN/AN/A
AntigravityN/AN/A
Codex
Amazon QN/AN/AN/AN/AN/AN/A

† OpenClaw n'a pas d'énumération de projet ouvert : ses skills de projet/espace de travail ne sont trouvés qu'au chemin fixe ~/.openclaw/workspace/skills

‡ Amp stocke les skills de projet/espace de travail dans .agents/skills (et le chemin de compatibilité .claude/skills) ; seul le chemin de portée utilisateur ~/.config/agents/skills est détecté aujourd'hui, donc les skills de portée projet sont pris en charge mais pas encore analysés.

§ GitHub Copilot couvre la CLI et l'application de bureau, qui partagent le répertoire personnel ~/.copilot avec Copilot dans VS Code, et est détecté depuis ce répertoire personnel plutôt que depuis une installation VS Code. Les relocalisations via COPILOT_HOME sont prises en compte lors de l'analyse de votre propre répertoire personnel. La portée projet couvre les fichiers .mcp.json / .github/mcp.json relatifs au dépôt et les répertoires .github/skills, .claude/skills et .agents/skills, pour les dossiers passés à l'analyse et les répertoires que Copilot a enregistrés dans permissions-config.json, ainsi que leurs ancêtres. La portée plugin couvre ~/.copilot/installed-plugins, y compris les manifestes plugin.json qui relocalisent leur configuration MCP ou déclarent des racines de skills supplémentaires. Non analysés : les racines de projet par session dans session-state/*/workspace.yaml. Les chemins au niveau utilisateur de Copilot sont également listés sous VS Code, qui lit les mêmes fichiers.

Vérification des binaires autonomes

Nous utilisons la signature GPG sur le fichier de sommes de contrôle de la version pour garantir l'intégrité et l'authenticité de la distribution.

Guide de vérification étape par étape

  1. Téléchargez les ressources de la version : Téléchargez le binaire correspondant à votre plateforme (par ex. agent-scan-<version>-<os>-<arch>) et le fichier de sommes de contrôle signé (sha256sums.txt.asc) depuis la page GitHub Releases dans le même répertoire.

  2. Vérifiez la signature GPG du fichier de sommes de contrôle : Téléchargez la clé publique GPG dans le même répertoire, puis exécutez : ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc

Cherchez une ligne dans la sortie indiquant gpg: Good signature from "Snyk Limited <[email protected]>".

  1. Vérifier l'intégrité du binaire : Après avoir confirmé que la signature est valide, vérifiez que votre binaire téléchargé correspond à la somme de contrôle :
    • Sur Linux (ou macOS avec coreutils) :
      grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c -
      
    • Sur macOS (en utilisant shasum par défaut) :
      grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
      
    Cela affichera agent-scan-<version>-<os>-<arch>: OK.

Capacités du scanner

Agent Scan v0.5.x

Agent Scan est un outil d'analyse de sécurité permettant à la fois d'analyser et d'inspecter la chaîne d'approvisionnement des composants d'agents sur votre machine. Il recherche les vulnérabilités de sécurité courantes telles que les injections de prompt, l'empoisonnement d'outils, les flux toxiques ou les vulnérabilités dans les compétences d'agents.

Agent Scan v0.6 et versions ultérieures

Agent Scan signale des indicateurs de risque notés pour des menaces telles que l'injection de prompt, l'exposition à des données non fiables ou privées, les capacités destructrices et les compétences d'agents malveillantes.

Agent Scan fonctionne selon deux modes principaux qui peuvent être utilisés conjointement ou séparément :

  1. Mode Scan : La commande CLI snyk-agent-scan analyse la machine actuelle à la recherche d'agents et de composants d'agents tels que les compétences et les serveurs MCP. Une fois terminé, il génère un rapport complet que l'utilisateur peut consulter.

  2. Mode arrière-plan (MDM). Agent Scan analyse la machine à intervalles réguliers en arrière-plan et transmet les résultats à une instance Snyk Evo. Cela peut être utilisé par les équipes de sécurité pour surveiller la chaîne d'approvisionnement des agents à l'échelle de l'entreprise depuis un emplacement central. Pour configurer cela, veuillez nous contacter.

Fonctionnement

Analyse

Agent Scan parcourt les fichiers de configuration de votre agent local pour trouver les agents, les compétences et les serveurs MCP. Pour MCP, il se connecte aux serveurs et récupère les descriptions des outils.

Consentement interactif pour les serveurs MCP

⚠️ Note de sécurité : L'analyse d'une configuration MCP exécute les commandes qui y sont définies. Examinez toujours ce qui sera exécuté avant d'approuver.

Par défaut, Agent Scan demande le consentement de l'utilisateur avant de démarrer chaque serveur MCP stdio lors des exécutions interactives. Ce flux de consentement :

  • Affiche le nom du serveur, la commande et les variables d'environnement (masquées) qui seront exécutées
  • Vous permet d'approuver ou de refuser chaque serveur individuellement
  • Empêche les serveurs potentiellement non fiables de s'exécuter sans votre autorisation explicite
  • Enregistre les serveurs refusés avec une erreur user_declined (ils ne sont jamais démarrés)

Bonnes pratiques :

  • Examinez attentivement la commande et les arguments avant d'approuver
  • Lors de l'analyse de configurations MCP non fiables ou tierces, exécutez Agent Scan dans un bac à sable (Docker, VM ou environnement jetable)
  • Refusez tout serveur dont les commandes sont inconnues ou suspectes

Pour les environnements non interactifs (par exemple, les pipelines CI/CD), vous devez utiliser le drapeau --dangerously-run-mcp-servers pour contourner l'invite de consentement et démarrer tous les serveurs automatiquement. N'utilisez ce drapeau que dans des environnements de confiance où toutes les commandes des serveurs MCP ont été vérifiées.

Analyse et validation

Agent Scan valide les composants découverts à l'aide de vérifications locales et de l'API Agent Scan. Il envoie les informations sur les composants nécessaires à l'analyse, notamment les détails de l'application agent, les configurations et signatures des serveurs MCP, les noms et descriptions des outils, ainsi que le contenu des compétences. Les secrets présents dans les valeurs de configuration et le texte sont masqués avant la transmission.

En utilisant Agent Scan, vous acceptez les conditions d'utilisation de Snyk pour Agent Scan.

Agent Scan ne stocke ni ne journalise aucune donnée d'utilisation, c'est-à-dire le contenu et les résultats de vos appels d'outils MCP.

Paramètres CLI

La référence complète des drapeaux se trouve dans docs/cli-reference.md. La plupart des commandes et des drapeaux sont partagés entre v0.5.x et v0.6 et versions ultérieures.

Commandes partagées```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

### Options partagées par les deux lignes de version

Ces options existent à la fois dans v0.5.x et v0.6 et versions ultérieures. Leur applicabilité aux commandes est détaillée dans la référence complète de la 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 version v0.5.x est prévue pour être dépréciée. Les exemples épinglent la v0.5.17 comme version concrète de la série 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 émet des résultats de code d'issue et un JSON `ScanPathResult` indexé par chemin. Voir la [référence CLI v0.5.x](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) et la [référence des codes d'issue](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md).

### Agent Scan v0.6 et versions ultérieures```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 et versions ultérieures émettent des indicateurs de risque notés et un JSON scan_path_responses. La sortie de scan lisible par l'humain est compacte par défaut ; --show-full-discovery la développe sans modifier le JSON ni la sortie inspect. Voir la référence CLI v0.6 et versions ultérieures, la référence des risques et la référence des codes d'échec.

Exemples```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

## Démo

Ce dépôt inclut un serveur MCP vulnérable qui illustre les conclusions de sécurité du Model Context Protocol que Agent Scan signale.

Comment faire une démo des conclusions de sécurité MCP ?

1. Clonez ce dépôt
2. Créez un fichier de configuration `mcp.json` dans le répertoire racine du dépôt git cloné avec le contenu suivant :```jsonc
{
  "mcpServers": {
    "Demo MCP Server": {
      "type": "stdio",
      "command": "uv",
      "args": ["run", "mcp", "run", "demoserver/server.py"],
    },
  },
}
  1. Exécutez la version appropriée :

    • Agent Scan v0.5.x (sortie issue-code) : uvx --python 3.13 [email protected] scan mcp.json
    • Agent Scan v0.6 et versions ultérieures (sortie basée sur les risques) : uvx --python 3.13 snyk-agent-scan@latest scan mcp.json

Remarque : si vous placez le fichier de configuration mcp.json ailleurs, ajustez le chemin args dans la configuration du serveur MCP pour refléter le chemin vers le serveur MCP (demoserver/server.py) ainsi que la commande uvx qui exécute Agent Scan avec le chemin correct vers mcp.json.

Agent Scan est fermé aux contributions

Agent Scan n'accepte pas de contributions externes pour le moment.

Nous accueillons les suggestions, les rapports de bogues ou les demandes de fonctionnalités sous forme de GitHub issues.

Configuration de développement

Pour exécuter Agent Scan depuis les sources, suivez ces étapes :```bash uv run pip install -e . uv run -m src.agent_scan.cli

## Inclure les résultats d'Agent Scan dans votre propre projet / registre

Si vous souhaitez inclure les résultats d'Agent Scan dans votre propre projet ou registre, veuillez [nous contacter](https://evo.ai.snyk.io/#contact-us). Des API dédiées existent à cette fin. L'utilisation de l'API standard d'Agent Scan pour une analyse à grande échelle est considérée comme un abus et entraînera le blocage de votre compte.

## Documentation

- [Index de la documentation](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — Documentation versionnée pour les deux lignes de CLI.
- [Référence CLI](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — Commandes, flags, options et variables d'environnement des versions v0.5.x et v0.6-et-ultérieures.
- [Analyse](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — Comportement et exemples d'analyse des versions v0.5.x et v0.6-et-ultérieures.
- [Sortie JSON](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — La sortie indexée par clé de la v0.5.x et le schéma de réponse de la v0.6.
- [Codes de problème](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — Référence des constats de sécurité `E*` et `W*` de la v0.5.x.
- [Référence des risques](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — Indicateurs de risque de sécurité, scores et champs de preuve de la v0.6.
- [Codes d'échec](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — Échecs opérationnels de découverte, d'inspection et d'analyse de la v0.6.

## Pour aller plus loin

- [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)

## Journal des modifications

Voir [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md).

Catégories