
Escáner de seguridad para agentes de IA, servidores MCP y habilidades de agentes.
<p align="center"> <h1 align="center"> Snyk Agent Scan </h1> </p> <p align="center"> Descubre y escanea los componentes de agentes en tu máquina en busca de inyecciones de prompts<br/> y vulnerabilidades (incluyendo agentes, servidores MCP, skills). </p> > **Nota:** No publicamos un paquete npm para Agent Scan. Instálalo mediante [`uvx`](#run-with-uvx) o como un [binario independiente](#run-with-a-standalone-binary). > **Nota: La salida de la CLI es experimental y está sujeta a cambios** > > **Agent Scan v0.5.x (con deprecación planificada)** > > La salida sin procesar de esta CLI — incluyendo códigos de incidencia, nombres de campos, etiquetas de severidad y estructura de respuesta — es experimental y puede cambiar sin previo aviso entre versiones. No recomendamos crear flujos de trabajo de producción que dependan de campos de salida específicos de la CLI o códigos de incidencia. > > **Agent Scan v0.6 y posteriores** > > La salida sin procesar de esta CLI — incluyendo nombres de indicadores de riesgo, puntuaciones, nombres de campos y estructura de respuesta — es experimental y puede cambiar sin previo aviso entre versiones. No recomendamos crear flujos de trabajo de producción que dependan de campos de salida específicos de la CLI o nombres de riesgo. > > Si eres un cliente empresarial que utiliza Snyk para gestionar el riesgo de seguridad de agentes a escala, la salida de la CLI puede no reflejar lo que se envía y se muestra en la plataforma Evo. La integración subyacente, el descubrimiento y la evaluación de riesgos que impulsan los despliegues empresariales son estables y compatibles — cualquier cambio se comunicará conforme a las prácticas estándar de productos de Snyk. Contacta con tu equipo de cuenta para obtener orientación sobre el despliegue. > **NUEVO** Lee nuestro [informe técnico sobre las amenazas emergentes del ecosistema de skills de agentes](https://github.com/snyk/agent-scan/blob/main/.github/reports/skills-report.pdf) publicado junto con Agent Scan 0.4, que añade soporte para escanear skills de agentes. <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> ### Salida de Agent Scan v0.5.x > [!WARNING] > Agent Scan v0.5.x utiliza salida con códigos de incidencia. Esta línea de la CLI tiene deprecación planificada. <div align="center"> <img width="1304" height="976" alt="agent-scan-pretty" src="https://assets.kitploit.com/production/public/readmes/721/98fbbb9009fa00bb52906b85514664b3d4834bd558b2b9fb3bce959cfa87a4e8.png" /> </div> ### Salida de Agent Scan v0.6 y posteriores <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 te ayuda a descubrir todos los componentes de agentes instalados (harnesses, servidores MCP y skills) y los escanea en busca de amenazas comunes como inyecciones de prompts, manejo de datos sensibles o cargas maliciosas ocultas en lenguaje natural. Omite el análisis de skills usando `--no-skills`. ## Advertencia de seguridad > **⚠️ IMPORTANTE: Escanear configuraciones de MCP puede ejecutar comandos o realizar solicitudes de red salientes.** > > Para recuperar las descripciones de las herramientas, Agent Scan inicia servidores MCP de stdio ejecutando los comandos de la configuración y se conecta a las URL de servidores MCP remotos configuradas con sus encabezados configurados. > > **Recomendaciones:** > - **Ejecuta los escaneos dentro de un sandbox** (contenedor Docker, VM o entorno desechable) al evaluar configuraciones MCP no confiables o de terceros > - **Revisa cuidadosamente el aviso de consentimiento** durante los escaneos interactivos; muestra el comando o la URL remota de cada servidor > - **Usa `--dangerously-run-mcp-servers`** solo en entornos de confianza donde hayas verificado todos los comandos de servidores MCP y las URL remotas > > Las solicitudes MCP remotas rechazan destinos que resuelven a direcciones link-local o endpoints conocidos de metadatos en la nube (`169.254.0.0/16`, `fe80::/10`, `fd00:ec2::254` y `100.100.100.200`). Las direcciones de loopback y privadas siguen permitidas para servidores MCP locales e internos. No se siguen las redirecciones HTTP. El DNS se valida antes de cada solicitud, pero la resolución de nuevo en el momento de la conexión deja una ventana de DNS rebinding. > > Por defecto, Agent Scan requiere el consentimiento explícito del usuario (s/n) antes de contactar con cada servidor MCP descubierto durante las ejecuciones interactivas en primer plano. Los escaneos en segundo plano y con push-key continúan inspeccionando servidores remotos automáticamente para la cobertura de la flota, pero no inician servidores stdio a menos que se establezca `--dangerously-run-mcp-servers`. ## Inicio rápido Elige una de las dos formas de ejecutar Agent Scan: 1. **Ejecuta el paquete de Python con `uvx`** siguiendo las instrucciones a continuación. 2. **Descarga un binario independiente** para tu plataforma desde [GitHub Releases](https://github.com/snyk/agent-scan/releases). Las versiones también incluyen el SBOM, sumas de verificación, sumas de verificación firmadas y archivos de código fuente. Antes de usar cualquiera de las dos opciones: 1. **Regístrate en [Snyk](https://snyk.io)** y obtén un token de API en [https://app.snyk.io/account](https://app.snyk.io/account) (API Token → KEY → haz clic para mostrar). 2. **Establece el token como variable de entorno** antes de ejecutar cualquier escaneo: ```bash export SNYK_TOKEN=your-api-token-here ``` ### Ejecutar con `uvx` Ten [uv](https://docs.astral.sh/uv/getting-started/installation/) instalado en tu sistema. Elige las instrucciones para tu versión de CLI. #### Agent Scan v0.5.x Los ejemplos fijan v0.5.17 como una versión concreta de 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 utiliza salida de código de problema y la API de análisis `2025-09-02`. Esta línea de CLI está planificada para su deprecación. #### Agent Scan v0.6 y posteriores ```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 y posteriores utilizan la salida basada en riesgos y la API de análisis `2026-07-10`. Ambas versiones escanean servidores MCP, herramientas, prompts, recursos y skills, y descubren automáticamente configuraciones de agentes compatibles como Claude Code/Desktop, Cursor, Gemini CLI y Windsurf. ### Ejecutar con un binario independiente Descarga el binario para tu sistema operativo y arquitectura desde la [última versión de GitHub](https://github.com/snyk/agent-scan/releases/latest). La página de la versión también proporciona un SBOM (`sbom-<version>.json`), archivos de checksum y archivos de código fuente generados por GitHub. Consulta [Verificación de binarios independientes](#verifying-standalone-binaries) para verificar tu descarga. ## Aspectos destacados - Descubrimiento automático de configuraciones MCP, herramientas de agentes, skills - Escaneo de Claude, Cursor, GitHub Copilot, Windsurf, Gemini CLI, Amp, Amazon Q y otros agentes. ### Agent Scan v0.5.x - Detecta [más de 15 riesgos de seguridad distintos](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) en servidores MCP y skills de agentes: - 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 y posteriores - Detecta [14 riesgos de seguridad distintos](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) en servidores MCP y skills de agentes: - 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) y [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) y más ## Agentes y capacidades compatibles Agent Scan descubre automáticamente los agentes y sus capacidades (servidores MCP o skills) cuando existen sus rutas de instalación. La siguiente tabla muestra en qué sistemas operativos se escanea cada agente. - **✓**: se define al menos una ruta para esa capacidad. - **✗**: el agente está listado para ese SO pero no tiene rutas para esa capacidad. - **—**: ese agente no está incluido para ese SO. - **Skills** Las skills se pueden ignorar usando `--no-skills` | Agente | 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) | ✗ | ### Cobertura de detección por ámbito La matriz anterior muestra en qué sistemas operativos se escanea cada agente. Esta desglosa la detección por **ámbito de configuración** y **tipo de componente** (skills vs servidores MCP), combinados entre sistemas operativos. "Servers" significa servidores MCP. Los cuatro ámbitos: - **System** — configuración de toda la máquina / gestionada por el administrador / empresarial que se aplica a todos los usuarios (p. ej. `managed-mcp.json`, archivos bajo `/etc`, `/Library/Application Support` o `ProgramData`). - **User** — la configuración del directorio home del usuario (se aplica a todos sus proyectos). - **Project / workspace** — configuración limitada a un proyecto o workspace abierto. - **Extension / plugin** — componentes incluidos dentro de extensiones o plugins instalados. Leyenda: **✓** detectado · **✗** el agente lo soporta pero Agent Scan aún no lo escanea · **N/A** el agente no tiene dicho componente en este ámbito. | Agente | 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 no tiene enumeración de proyectos abiertos: sus skills de proyecto/workspace solo se encuentran en la ruta fija `~/.openclaw/workspace/skills` ‡ Amp almacena las skills de proyecto/workspace en `.agents/skills` (y la ruta de compatibilidad `.claude/skills`); hoy solo se detecta el ámbito de usuario `~/.config/agents/skills`, por lo que las skills de ámbito de proyecto están soportadas pero aún no se escanean. § GitHub Copilot abarca la CLI y la aplicación de escritorio, que comparten el home `~/.copilot` con Copilot en VS Code, y se detecta desde ese home en lugar de desde una instalación de VS Code. Las reubicaciones de `COPILOT_HOME` se respetan al escanear tu propio home. El ámbito de proyecto abarca los archivos `.mcp.json` / `.github/mcp.json` relativos al repositorio y los directorios `.github/skills`, `.claude/skills` y `.agents/skills`, para las carpetas pasadas al escaneo y los directorios que Copilot ha registrado en `permissions-config.json`, además de sus ancestros. El ámbito de plugin abarca `~/.copilot/installed-plugins`, incluidos los manifiestos `plugin.json` que reubican su configuración MCP o declaran raíces de skills adicionales. No se escanean: las raíces de proyecto por sesión en `session-state/*/workspace.yaml`. Las rutas de nivel de usuario de Copilot también se listan bajo VS Code, que lee los mismos archivos. El descubrimiento de plugins de Claude Desktop es compatible con macOS y Linux. Para Claude Code, los eventos de descubrimiento de instalación y de inicio de sesión de Guard también reportan conectores registrados desde `claude-code-sessions/*/*/local_*.json` y `local-agent-mode-sessions/*/*/local_*.json`, agrupados por organización y deduplicados por UUID de conector usando los metadatos de sesión más recientes. Solo se envían el UUID, el nombre, la URL, las definiciones de herramientas y las instrucciones de cada conector; otros campos como las cabeceras se descartan, y los valores de consulta de la URL se redactan. En Windows, el descubrimiento de conectores usa `~/AppData/Roaming/Claude` con el mismo diseño de sesión asumido, que aún no se ha verificado en una máquina Windows. El descubrimiento de plugins en Windows sigue sin ser compatible. ## Verificación de binarios independientes Usamos firma GPG en el archivo de checksums de la versión para garantizar la integridad y autenticidad de la distribución. ### Guía de verificación paso a paso 1. **Descarga los recursos de la versión:** Descarga el binario para tu plataforma (p. ej., `agent-scan-<version>-<os>-<arch>`) y el archivo de checksums firmado (`sha256sums.txt.asc`) desde la página de [GitHub Releases](https://github.com/snyk/agent-scan/releases) en el mismo directorio. 2. **Verifica la firma GPG del archivo de checksums:** Descarga la [clave pública GPG](https://github.com/snyk/agent-scan/blob/main/help/_about-this-project/snyk-code-signing-public.pgp) en el mismo directorio y luego ejecuta: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc ``` Busca en la salida una línea que diga `gpg: Good signature from "Snyk Limited <[email protected]>"`. 3. **Verifica la integridad del binario:** Después de confirmar que la firma es válida, comprueba que el binario descargado coincide con la suma de verificación: * **En Linux (o macOS con `coreutils`):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c - ``` * **En macOS (usando `shasum` por defecto):** ```bash grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c - ``` Esto mostrará `agent-scan-<version>-<os>-<arch>: OK`. ## Capacidades del escáner ### Agent Scan v0.5.x Agent Scan es una herramienta de escaneo de seguridad que sirve tanto para escanear como para inspeccionar la cadena de suministro de los componentes de agentes en tu máquina. Escanea en busca de vulnerabilidades de seguridad comunes como inyecciones de prompts, envenenamiento de herramientas, flujos tóxicos o vulnerabilidades en las habilidades de los agentes. ### Agent Scan v0.6 y posteriores Agent Scan informa de indicadores de riesgo puntuados para amenazas como la inyección de prompts, la exposición a datos no confiables o privados, las capacidades destructivas y las habilidades maliciosas de los agentes. Agent Scan opera en dos modos principales que pueden usarse conjuntamente o por separado: 1. **Modo de escaneo**: El comando de CLI `snyk-agent-scan` escanea la máquina actual en busca de agentes y componentes de agentes como habilidades y servidores MCP. Al finalizar, mostrará un informe completo para que el usuario lo revise. 2. **Modo en segundo plano** (MDM). Agent Scan escanea la máquina a intervalos regulares en segundo plano y envía los resultados a una instancia de [Snyk Evo](https://evo.ai.snyk.io). Esto puede ser utilizado por los equipos de seguridad para monitorizar la cadena de suministro de agentes de toda la empresa en una ubicación central. Para configurar esto, por favor [contáctanos](https://evo.ai.snyk.io/#contact-us). ## Cómo funciona ### Escaneo Agent Scan busca en los archivos de configuración de tu agente local para encontrar agentes, habilidades y servidores MCP. Para MCP, se conecta a los servidores y recupera las descripciones de las herramientas. #### Consentimiento interactivo para servidores MCP > **⚠️ Nota de seguridad**: Escanear una configuración MCP puede ejecutar sus comandos stdio o realizar solicitudes salientes a sus URL remotas. Revisa siempre lo que se va a contactar antes de aprobar. Por defecto, Agent Scan solicita el consentimiento del usuario antes de contactar con cada servidor MCP descubierto durante las ejecuciones interactivas. Este flujo de consentimiento: - Muestra el nombre del servidor y su comando o URL remota; las variables de entorno y las cabeceras se ocultan - Te permite aprobar o rechazar cada servidor individualmente - Evita que se contacte con servidores potencialmente no confiables sin tu permiso explícito - Registra los servidores rechazados con un error `user_declined` (nunca se contacta con ellos) **Buenas prácticas:** - Revisa los comandos, argumentos y URL remotas con atención antes de aprobar - Cuando escanees configuraciones MCP no confiables o de terceros, ejecuta Agent Scan dentro de un sandbox (Docker, VM o entorno desechable) - Rechaza cualquier servidor con comandos desconocidos o sospechosos Los entornos no interactivos (por ejemplo, los escaneos en segundo plano y con push-key) inspeccionan los servidores MCP remotos automáticamente. No inician servidores stdio a menos que se establezca `--dangerously-run-mcp-servers`. **Usa esta opción solo en entornos de confianza donde se hayan verificado todos los comandos de los servidores MCP y las URL remotas.** #### Análisis y validación Agent Scan valida los componentes descubiertos con comprobaciones locales y la API de Agent Scan. Envía la información del componente necesaria para el análisis, incluidos los detalles de la aplicación del agente, las configuraciones y firmas de los servidores MCP, los nombres y descripciones de las herramientas y el contenido de las habilidades. Los secretos en los valores de configuración y el texto se ocultan antes de la transmisión. Al usar Agent Scan, aceptas los [términos de uso de Snyk para Agent Scan](https://github.com/snyk/agent-scan/blob/main/TERMS.md). Agent Scan no almacena ni registra ningún dato de uso, es decir, el contenido y los resultados de tus llamadas a herramientas MCP. ## Parámetros de CLI La referencia completa de opciones está en [docs/cli-reference.md](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md). La mayoría de los comandos y opciones son compartidos entre v0.5.x y v0.6 y posteriores. ### Comandos compartidos ```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 ``` ### Opciones compartidas por ambas líneas de versión Estas opciones existen tanto en v0.5.x como en v0.6 y posteriores. Su aplicabilidad a los comandos se detalla en la referencia completa 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 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 está planificado para su descontinuación. Los ejemplos fijan v0.5.17 como una versión concreta de 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 emite hallazgos de códigos de problema y JSON de `ScanPathResult` con clave de ruta. Consulte la [referencia de CLI de v0.5.x](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v05x) y la [referencia de códigos de problema](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md). ### Agent Scan v0.6 y posteriores ```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 y posteriores emiten indicadores de riesgo puntuados y JSON de `scan_path_responses`. La salida de escaneo legible por humanos es compacta por defecto; `--show-full-discovery` la expande sin cambiar el JSON ni la salida de `inspect`. Consulte la [referencia de CLI de v0.6 y posteriores](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md#agent-scan-v06-and-later), la [referencia de riesgos](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) y la [referencia de códigos de fallo](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md). ### Ejemplos ```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 Este repositorio incluye un servidor MCP vulnerable que demuestra los hallazgos de seguridad del Protocolo de Contexto de Modelo que Agent Scan reporta. ¿Cómo demostrar los hallazgos de seguridad de MCP? 1. Clona este repositorio 2. Crea un archivo de configuración `mcp.json` en el directorio raíz del repositorio git clonado con el siguiente contenido: ```jsonc { "mcpServers": { "Demo MCP Server": { "type": "stdio", "command": "uv", "args": ["run", "mcp", "run", "demoserver/server.py"], }, }, } ``` 3. Ejecuta la versión adecuada: - Agent Scan v0.5.x (salida de código de problema): `uvx --python 3.13 [email protected] scan mcp.json` - Agent Scan v0.6 y posteriores (salida basada en riesgo): `uvx --python 3.13 snyk-agent-scan@latest scan mcp.json` Nota: si colocas el archivo de configuración `mcp.json` en otra ubicación, ajusta la ruta de `args` dentro de la configuración del servidor MCP para reflejar la ruta al servidor MCP (`demoserver/server.py`), así como el comando `uvx` que ejecuta Agent Scan con la ruta correcta a `mcp.json`. ## Agent Scan está cerrado a contribuciones Agent Scan no acepta contribuciones externas en este momento. Agradecemos sugerencias, informes de errores o solicitudes de funciones como issues de GitHub. ## Configuración de desarrollo Para ejecutar Agent Scan desde el código fuente, sigue estos pasos: ```bash uv run pip install -e . uv run -m src.agent_scan.cli ``` ## Incluir los resultados de Agent Scan en tu propio proyecto / registro Si deseas incluir los resultados de Agent Scan en tu propio proyecto o registro, por favor [contáctanos](https://evo.ai.snyk.io/#contact-us). Existen APIs designadas para este propósito. El uso de la API estándar de Agent Scan para escaneos a gran escala se considera abuso y resultará en el bloqueo de tu cuenta. ## Documentación - [Índice de documentación](https://github.com/snyk/agent-scan/blob/main/docs/README.md) — Documentación versionada para ambas líneas de CLI. - [Referencia de CLI](https://github.com/snyk/agent-scan/blob/main/docs/cli-reference.md) — Comandos, flags, opciones y variables de entorno de v0.5.x y v0.6-and-later. - [Escaneo](https://github.com/snyk/agent-scan/blob/main/docs/scanning.md) — Comportamiento y ejemplos de escaneo de v0.5.x y v0.6-and-later. - [Salida JSON](https://github.com/snyk/agent-scan/blob/main/docs/json-output.md) — La salida con claves de ruta de v0.5.x y el esquema de respuesta de v0.6. - [Códigos de problema](https://github.com/snyk/agent-scan/blob/main/docs/issue-codes.md) — Referencia de hallazgos de seguridad `E*` y `W*` de v0.5.x. - [Referencia de riesgos](https://github.com/snyk/agent-scan/blob/main/docs/risks.md) — Indicadores de riesgo de seguridad, puntuaciones y campos de evidencia de v0.6. - [Códigos de fallo](https://github.com/snyk/agent-scan/blob/main/docs/failure-codes.md) — Fallos operativos de descubrimiento, inspección y análisis de v0.6. ## Lecturas adicionales - [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) ## Registro de cambios Consulta [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/main/CHANGELOG.md).