
Escáner de seguridad para agentes de IA, servidores MCP y habilidades de agentes.
Descubre y escanea los componentes de agente de tu máquina en busca de inyecciones de prompt
y vulnerabilidades (incluidos agentes, servidores MCP y habilidades).
Nota: La salida de la CLI es experimental y está sujeta a cambios
Agent Scan v0.5.x (previsto para su obsolescencia)
La salida sin procesar de esta CLI (incluidos los códigos de problema, los nombres de los campos, las etiquetas de gravedad y la 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 o códigos de problema específicos de la CLI.
Agent Scan v0.6 y versiones posteriores
La salida sin procesar de esta CLI (incluidos los nombres de los indicadores de riesgo, las puntuaciones, los nombres de los campos y la 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 o nombres de riesgo específicos de la CLI.
Si eres un cliente empresarial que usa Snyk para gestionar el riesgo de seguridad de los 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, el descubrimiento y la evaluación de riesgos subyacentes que impulsan las implementaciones empresariales son estables y cuentan con soporte; cualquier cambio se comunicará de acuerdo con las prácticas estándar de producto de Snyk. Contacta con tu equipo de cuentas para obtener orientación sobre la implementación.
NUEVO Lee nuestro informe técnico sobre las amenazas emergentes del ecosistema de habilidades de agentes publicado junto con Agent Scan 0.4, que añade soporte para escanear habilidades de agentes.
[!WARNING] Agent Scan v0.5.x utiliza salida con códigos de problema. Esta línea de CLI está prevista para su obsolescencia.
Agent Scan te ayuda a descubrir todos los componentes de agente instalados (harnesses, servidores MCP y habilidades) y los escanea en busca de amenazas comunes como inyecciones de prompt, manejo de datos sensibles o payloads de malware ocultos en lenguaje natural. Ignora el análisis de habilidades usando --no-skills.
⚠️ IMPORTANTE: Escanear configuraciones de MCP ejecutará los comandos definidos en ellas.
Cuando Agent Scan escanea un archivo de configuración de MCP, inicia los servidores MCP stdio ejecutando los comandos y argumentos especificados en la configuración. Esto es necesario para recuperar las descripciones de las herramientas y realizar el análisis de seguridad.
Recomendaciones:
- Ejecuta los escaneos dentro de una sandbox (contenedor Docker, máquina virtual 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 y los argumentos exactos que se ejecutarán para cada servidor
- Usa
--dangerously-run-mcp-serverssolo en entornos confiables donde hayas verificado todos los comandos de los servidores MCPDe forma predeterminada, Agent Scan requiere el consentimiento explícito del usuario (s/n) antes de iniciar cada servidor MCP stdio durante las ejecuciones interactivas. Esto te da control sobre lo que se ejecuta en tu sistema.
Elige una de dos formas de ejecutar Agent Scan:
uvx siguiendo las instrucciones a continuación.Antes de usar cualquiera de las opciones:
uvxTen uv instalado en tu sistema. Elige las instrucciones para la versión de tu CLI.
Los ejemplos fijan v0.5.17 como una versión concreta de v0.5.x:```bash
uvx [email protected] ~/.vscode/mcp.json
uvx [email protected] ~/path/to/my/SKILL.md
uvx [email protected] ~/.claude/skills
> [!WARNING]
> v0.5.x usa la salida issue-code y la API de análisis `2025-09-02`. Esta línea de CLI está planificada para quedar obsoleta.
#### 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 versiones posteriores usan 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 detectan automáticamente configuraciones de agentes compatibles, como Claude Code/Desktop, Cursor, Gemini CLI y Windsurf.
Descarga el binario para tu sistema operativo y arquitectura desde la última versión de GitHub Releases. La página de la versión también proporciona un SBOM (sbom-<version>.json), archivos de sumas de verificación y archivos de código fuente generados por GitHub. Consulta la sección Verificación de binarios independientes para verificar tu descarga.
Para ver la salida basada en riesgos de v0.6, consulta la imagen de v0.6 en la parte superior de este README.
Agent Scan detecta 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.
--no-skillsLa matriz anterior muestra en qué sistemas operativos se escanea cada agente. Esta desglosa la detección por alcance de configuración y tipo de componente (skills vs servidores MCP), combinando todos los sistemas operativos. "Servers" significa servidores MCP.
Los cuatro alcances:
managed-mcp.json, archivos en /etc, /Library/Application Support o ProgramData).Leyenda: ✓ detectado · ✗ el agente lo admite, pero Agent Scan aún no lo escanea · N/A el agente no tiene ese componente en este alcance.
† OpenClaw no tiene enumeración de proyectos abiertos: sus skills de proyecto/espacio de trabajo solo se encuentran en la ruta fija ~/.openclaw/workspace/skills
‡ Amp almacena las skills de proyecto/espacio de trabajo en .agents/skills (y en la ruta de compatibilidad .claude/skills); hoy solo se detecta la de alcance de usuario ~/.config/agents/skills, por lo que las skills de alcance de proyecto son compatibles, pero aún no se escanean.
Usamos firma GPG en el archivo de sumas de verificación de la versión para garantizar la integridad y la autenticidad de la distribución.
Descarga los archivos de la versión:
Descarga el binario para tu plataforma (p. ej., agent-scan-<version>-<os>-<arch>) y el archivo de sumas de verificación firmado (sha256sums.txt.asc) desde la página de GitHub Releases en el mismo directorio.
Verifica la firma GPG del archivo de sumas de verificación: Descarga la clave pública GPG en el mismo directorio y luego ejecuta: ```bash gpg --import snyk-code-signing-public.pgp gpg --verify sha256sums.txt.asc
Busque una línea en la salida que diga gpg: Good signature from "Snyk Limited <[email protected]>".
coreutils):
grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | sha256sum -c -
shasum por defecto):
grep agent-scan-<version>-<os>-<arch> sha256sums.txt.asc | shasum -a 256 -c -
agent-scan-<version>-<os>-<arch>: OK.Agent Scan es una herramienta de escaneo de seguridad que escanea e inspecciona la cadena de suministro de los componentes de agentes en tu máquina. Escanea vulnerabilidades de seguridad comunes como inyecciones de prompt, envenenamiento de herramientas, flujos tóxicos o vulnerabilidades en las habilidades de los agentes.
Agent Scan informa indicadores de riesgo puntuados para amenazas como inyección de prompt, exposición a datos no confiables o privados, capacidades destructivas y habilidades maliciosas de agentes.
Agent Scan opera en dos modos principales que pueden usarse de forma conjunta o por separado:
Modo de escaneo: El comando CLI snyk-agent-scan escanea la máquina actual en busca de agentes y componentes de agentes, como habilidades y servidores MCP. Al finalizar, generará un informe completo para que el usuario lo revise.
Modo en segundo plano (MDM). Agent Scan escanea la máquina a intervalos regulares en segundo plano y reporta los resultados a una instancia de Snyk Evo. Esto puede ser utilizado por los equipos de seguridad para monitorear la cadena de suministro de agentes a nivel de empresa desde una ubicación central. Para configurarlo, por favor contáctenos.
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.
⚠️ Nota de seguridad: Escanear una configuración MCP ejecuta los comandos definidos en ella. Revise siempre lo que se ejecutará antes de aprobarlo.
De forma predeterminada, Agent Scan solicita el consentimiento del usuario antes de iniciar cada servidor MCP stdio durante ejecuciones interactivas. Este flujo de consentimiento:
user_declined (nunca se inician)Mejores prácticas:
Para entornos no interactivos (por ejemplo, canalizaciones CI/CD), debe usar la bandera --dangerously-run-mcp-servers para omitir la solicitud de consentimiento e iniciar todos los servidores automáticamente. Use esta bandera solo en entornos confiables donde se hayan verificado todos los comandos del servidor MCP.
Agent Scan valida los componentes descubiertos con comprobaciones locales y la API de Agent Scan. Envía la información de componentes 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 redactan antes de la transmisión.
Al usar Agent Scan, aceptas los términos de uso de Agent Scan de Snyk.
Agent Scan no almacena ni registra ningún dato de uso, es decir, el contenido y los resultados de tus llamadas a herramientas MCP.
La referencia completa de banderas está en docs/cli-reference.md. La mayoría de los comandos y banderas se comparten entre v0.5.x y v0.6 y posteriores.
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 versiones
Estas opciones existen tanto en v0.5.x como en v0.6 y posteriores. Su aplicabilidad por comando 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
--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] v0.5.x está planeado para quedar en desuso. Los ejemplos fijan v0.5.17 como una versión concreta de la serie 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 con código de problema y JSON `ScanPathResult` clave por ruta. Consulta la [referencia CLI de v0.5.x](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md#agent-scan-v05x) y la [referencia de códigos de problema](https://github.com/snyk/agent-scan/blob/HEAD/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 versiones posteriores emiten indicadores de riesgo calificados y JSON scan_path_responses. La salida de escaneo legible para humanos es compacta por defecto; --show-full-discovery la expande sin cambiar la salida JSON ni inspect. Consulte la referencia de CLI para v0.6 y versiones posteriores, la referencia de riesgos y la referencia de códigos de fallo.
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
Este repositorio incluye un servidor MCP vulnerable que demuestra los hallazgos de seguridad del Model Context Protocol que Agent Scan reporta.
¿Cómo probar 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"],
},
},
}
Ejecute la versión correspondiente:
uvx --python 3.13 [email protected] scan mcp.jsonuvx --python 3.13 snyk-agent-scan@latest scan mcp.jsonNota: si coloca la ruta del archivo de configuración mcp.json en otra ubicación, ajuste la ruta 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 no acepta contribuciones externas en este momento.
Agradecemos sugerencias, informes de errores o solicitudes de funciones como issues de GitHub.
Para ejecutar Agent Scan desde el código fuente, siga 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 o registro
Si deseas incluir los resultados de Agent Scan en tu propio proyecto o registro, [ponte en contacto](https://evo.ai.snyk.io/#contact-us) con nosotros. Existen API designadas para este propósito. Usar la API estándar de Agent Scan para escaneos a gran escala se considera un abuso y dará como resultado el bloqueo de tu cuenta.
## Documentación
- [Índice de documentación](https://github.com/snyk/agent-scan/blob/HEAD/docs/README.md) — Documentación versionada para ambas líneas de CLI.
- [Referencia de CLI](https://github.com/snyk/agent-scan/blob/HEAD/docs/cli-reference.md) — Comandos, flags, opciones y variables de entorno de v0.5.x y v0.6 y posteriores.
- [Escaneo](https://github.com/snyk/agent-scan/blob/HEAD/docs/scanning.md) — Comportamiento y ejemplos de escaneo de v0.5.x y v0.6 y posteriores.
- [Salida JSON](https://github.com/snyk/agent-scan/blob/HEAD/docs/json-output.md) — La salida de v0.5.x basada en claves de ruta y el esquema de respuesta de v0.6.
- [Códigos de problema](https://github.com/snyk/agent-scan/blob/HEAD/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/HEAD/docs/risks.md) — Indicadores de riesgo de seguridad, puntuaciones y campos de evidencia de v0.6.
- [Códigos de error](https://github.com/snyk/agent-scan/blob/HEAD/docs/failure-codes.md) — Errores operativos de descubrimiento, inspección y análisis de v0.6.
## Lectura adicional
- [Presentamos MCP-Scan](https://invariantlabs.ai/blog/introducing-mcp-scan)
- [Notificación de seguridad de MCP: ataques de envenenamiento de herramientas](https://invariantlabs.ai/blog/mcp-security-notification-tool-poisoning-attacks)
- [WhatsApp MCP explotado](https://invariantlabs.ai/blog/whatsapp-mcp-exploited)
- [Inyección de prompt en MCP](https://simonwillison.net/2025/Apr/9/mcp-prompt-injection/)
- [Análisis de flujo tóxico](https://invariantlabs.ai/blog/toxic-flow-analysis)
- [Informe de habilidades](https://github.com/snyk/agent-scan/blob/HEAD/.github/reports/skills-report.pdf)
## Historial de cambios
Consulta [CHANGELOG.md](https://github.com/snyk/agent-scan/blob/HEAD/CHANGELOG.md).
| Agente | 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) | ✗ |
| Agente | Sistema skills | Sistema servidores | Usuario skills | Usuario servidores | Proyecto / WS skills | Proyecto / WS servidores | Ext / plugin skills | Ext / plugin servidores |
|---|
| 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 |