Reglas de detección
Todas las reglas, con una demo que puedes ejecutar.
Las 54 reglas. Elige una para ver un archivo que la activa, la parte que importa y el resultado que produce el escáner. Los resultados se generan ejecutando el escáner real, no se escriben a mano.
Las demos interactivas necesitan JavaScript. Mientras tanto, aquí tienes todas las reglas.
Seguridad del agente
- Payload de inyección de prompts — Instrucciones dirigidas al agente, escondidas en un texto que el agente va a leer de todos modos.
- La descripción no coincide con la capacidad — Una herramienta que se describe como de solo lectura mientras sus parámetros dicen lo contrario.
- Unicode invisible — Caracteres que no se muestran en pantalla pero que igual llegan al modelo.
- Esquema de parámetros laxo — Una entrada de alto riesgo, como una URL o una ruta de archivo, que acepta absolutamente cualquier cosa.
- Instrucción oculta — Un comando oculto en una parte del archivo que el resultado renderizado nunca muestra.
- Inyección en el esquema — Una instrucción escondida dentro de la descripción de un parámetro, un nivel por debajo de la propia herramienta.
- Contrabando con etiquetas Unicode — Texto escrito con caracteres Unicode Tag, que no se muestran en absoluto.
- Interferencia entre herramientas — Una herramienta que da instrucciones sobre cómo debería comportarse otra herramienta distinta.
- Solicitud de escalación de permisos — Le pide a la persona, no a la máquina, que baje una defensa.
- Baliza de imagen en markdown — Una imagen de markdown cuya dirección transporta datos afuera cuando se muestra la respuesta.
- Resultado de herramienta falsificado — Texto con la forma de la salida de una herramienta que nunca se ejecutó.
- Envenenamiento de memoria — Escribe instrucciones en un archivo que el agente lee al inicio de cada sesión.
- Disparador diferido — Se comporta con normalidad al principio, y luego hace algo distinto más adelante.
- Inyección en cadena de agentes — Una instrucción dirigida al siguiente agente de una cadena, no al usuario.
- Diputado confundido — Una herramienta sin permisos especiales que le indica al agente que use otra que sí los tiene.
- Extracción del prompt del sistema — Le pide al agente que revele sus propias instrucciones y herramientas.
- Acceso al historial de conversación — Solicita el historial de la conversación sin que su descripción dé un motivo.
- Instrucción en un mensaje de error — Una instrucción escondida en un error, donde se lee justo en el momento en que nadie mira con atención.
Exfiltración
- Patrón de exfiltración — Una herramienta que maneja secretos y que también puede enviar datos afuera.
- Sumidero de webhook — Una dirección codificada directamente cuyo único propósito es recolectar lo que sea que se le envíe.
- Exfiltración por DNS — Datos codificados en los nombres de las consultas de dominio.
- Flujo de capacidades tóxico — Una herramienta que lee datos privados y que también puede publicar en algún lugar externo.
- Llamada de red en una herramienta "sin conexión" — Dice que nunca usa la red. Usa la red.
Credenciales
- Secreto codificado directamente — Una credencial escrita directamente en un archivo.
- Acceso al almacén de credenciales — Lee un archivo cuyo único propósito es almacenar credenciales.
- Acceso a metadatos de la nube — Le pide al host en la nube las credenciales que entrega a cualquiera que las solicite.
- Acceso al historial de shell — Lee el registro de comandos escritos en una terminal.
- Credencial en configuración MCP — Un token activo pegado en un archivo de configuración MCP.
- Secreto escrito en registros — Una credencial impresa en un lugar donde se conservará mucho más tiempo del debido.
- Configuración incorrecta de OAuth — OAuth configurado de una forma que elimina la protección para la que se añadió.
Cadena de suministro
- Instalación externa no confiable — Instrucciones de configuración que te dicen que descargues algo y lo ejecutes.
- Servidor MCP sin fijar — Un servidor que puede convertirse en un software distinto sin que hagas nada.
- Servidor MCP con vulnerabilidad conocida — Una versión fijada con un aviso de seguridad publicado.
- Suplantación de paquete MCP — Un nombre de paquete a un carácter de distancia del que querías.
- Hook de script de instalación — Un comando que se ejecuta desde internet en el momento en que se instala el paquete.
- Confusión de dependencias — Un paquete público con el mismo nombre que uno de tus paquetes privados.
- Dependencia vulnerable — Una dependencia declarada dentro del rango afectado de un aviso publicado.
- Procedencia sin verificar — Una descarga que se instala sin comprobar que sea el archivo genuino.
- Nombre de herramienta con homoglifo — Dos nombres de herramientas que se ven idénticos en pantalla pero no son el mismo texto.
- Nombre de herramienta duplicado — El mismo nombre de herramienta declarado en dos archivos distintos.
- Servidor MCP oculto — Servidores MCP que tu agente puede usar y que la configuración de tu proyecto no declara.
- Mutación del conjunto de herramientas — Una herramienta que ya has visto antes, ahora entregada desde un archivo distinto y modificada.
- Cambio en el manifiesto — Una herramienta que ya revisaste, cambiada en silencio después.
Ejecución
- Permisos excesivos — Una herramienta que pide muchísimo más acceso del que su tarea podría necesitar.
- Ejecución dinámica — Código ensamblado en tiempo de ejecución a partir de algo que se le entregó al agente.
- Payload opaco — Algo incluido con un skill que nadie puede leer: en este caso, un programa disfrazado de archivo común.
- Aprobación automática en MCP — Un servidor MCP configurado para ejecutar todas las herramientas sin preguntar.
- Comando de inicio de MCP demasiado amplio — Un comando de inicio que le da al servidor más de lo que necesita.
- Superficie de inyección STDIO de MCP — Un servidor en el transporte STDIO de MCP, donde los valores de configuración se convierten en un comando que ejecuta el host.
- Mecanismo de persistencia — Se escribe a sí mismo en un lugar que sobrevive a un reinicio.
- Escape de sandbox — Hace referencia a una forma de salir del contenedor en el que se ejecuta.
- Reensamblaje de cadenas — Construye una palabra peligrosa a partir de fragmentos para que una búsqueda de ella no dé resultados.
- Superficie de inyección de comandos — Un comando de shell construido pegando un valor proporcionado en tiempo de ejecución.
- CORS permisivo — Un servidor HTTP que permite que cualquier sitio web lo llame.
OWASP MCP Top 10
Cobertura en las diez categorías.
Cada regla se asocia con al menos una categoría del OWASP MCP Top 10, que sigue en beta. Algunas reglas cubren más de una categoría, por lo que los recuentos suman más que el número de reglas. La falta de auditoría y telemetría tiene una sola regla, y así debe ser: el registro de eventos es un problema que un escáner puede señalar, no resolver.
| Categoría | Nombre | Reglas | Cobertura relativa |
|---|---|---|---|
| MCP01 | Gestión indebida de tokens y exposición de secretos | 7 | |
| MCP02 | Escalación de privilegios por ampliación de alcance | 7 | |
| MCP03 | Envenenamiento de herramientas | 13 | |
| MCP04 | Ataques a la cadena de suministro de software y manipulación de dependencias | 13 | |
| MCP05 | Inyección y ejecución de comandos | 8 | |
| MCP06 | Subversión del flujo de intención | 10 | |
| MCP07 | Autenticación y autorización insuficientes | 3 | |
| MCP08 | Falta de auditoría y telemetría | 1 | |
| MCP09 | Servidores MCP ocultos | 1 | |
| MCP10 | Inyección de contexto y sobrecompartición | 9 |
Ejecuta todas las reglas sobre tus propios archivos.
El plan gratuito incluye las 54 reglas y 20 escaneos al mes.