Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
sentrymcp — Un escáner de seguridad estático + de tiempo de ejecución para servidores MCP (Model Context Protocol) | Kitploit
Herramientas/GitHubGitHub/zaydmulani09/sentrymcp
Análisis EstáticoEscáneres de VulnerabilidadesDetección de SecretosMala ConfiguraciónSeguridad de APIsSeguridad de IA
GitHubzaydmulani09/sentrymcp

sentrymcp

Un escáner de seguridad estático + de tiempo de ejecución para servidores MCP (Model Context Protocol)

Ver Repositorio
47hace 21 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

sentrymcp

Un escáner de seguridad estático y de runtime para servidores MCP (Model Context Protocol). Entre enero y abril de 2026, investigadores de seguridad revelaron más de 40 CVEs en implementaciones de servidores MCP, y un análisis de Endor Labs de 2026 sobre servidores MCP públicos encontró que el 82% era vulnerable a al menos una clase de riesgo del OWASP MCP Top 10, el 67% exponía sumideros de path traversal o de inyección, y el 34% manejaba credenciales hardcodeadas o con privilegios excesivos — investigaciones aparte estimaron que aproximadamente el 38-40% de los servidores analizados se ejecutaban sin autenticación alguna.

License: MIT Rust Build Corpus

Instalación

Docker:

root@kitploit:~
docker build -t sentrymcp .
docker run --rm -v "$(pwd):/scan" sentrymcp scan /scan

(PowerShell: docker run --rm -v ${PWD}:/scan sentrymcp scan /scan)

Desde el código fuente:

root@kitploit:~
git clone https://github.com/zaydmulani09/sentrymcp.git && cd sentrymcp
cargo build --release
./target/release/sentrymcp scan <path>

Nota para Windows: si el toolchain predeterminado de rustc es -gnu y la compilación falla con dlltool.exe not found, cambia a MSVC una vez dentro del directorio del repositorio: rustup override set stable-x86_64-pc-windows-msvc.

Ejemplo rápido

Salida real contra el ejemplo sintético de path traversal en corpus/:

root@kitploit:~
$ sentrymcp scan corpus/vulnerable-git-server

== Code Vulnerabilities ==

[HIGH] mcp_server_git/server.py:17  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > repo_path = Path(arguments["repo_path"])
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

[HIGH] mcp_server_git/server.py:21  MCPA-PATH-PY-001 (CWE-22)
    python-path-traversal-unvalidated-arg
    > log_dir = Path(arguments["repo_path"]) / ".git" / "logs"
    fix: Resolve the path with .resolve() and verify containment (e.g. path.resolve().is_relative_to(allowed_root)) before using it, or reject paths containing '..'.

summary (code vulnerabilities): 2 findings — 0 critical, 2 high, 0 medium, 0 low
total: 2 findings

Qué detecta

CategoríaQué detectaEjemplo
Vulnerabilidades de códigoPath traversal, inyección de comandos/shell, eval/exec insegurosPath(arguments["repo_path"]) usado sin comprobación de contención respecto a un directorio raíz
Envenenamiento de herramientasInstrucciones ocultas, unicode invisible/homoglifo, descripciones desmesuradamente largas ocultas en metadatos de la herramientaUna descripción de herramienta que dice "...ignora las instrucciones anteriores, no le digas al usuario..."
Autenticación y permisosFalta de autenticación en transports de red, credenciales hardcodeadas, fugas de credenciales mediante logs, alcance con privilegios excesivosapi_key = "sk-live-..." incluida como literal en lugar de leerse desde el entorno
Proxy de runtimeCambios de "rug pull" en la descripción de herramientas y conexiones salientes inesperadas, observadas en vivoLa description de una herramienta cambia entre la primera respuesta y una posterior de tools/list en la misma sesión

sentrymcp scan <path> cubre los tres primeros (estático, solo código fuente). sentrymcp proxy -- <target cmd> cubre el cuarto (runtime, se sitúa entre un cliente MCP y el servidor real a través de stdio, retransmitiendo el tráfico de forma transparente mientras observa).

Arquitectura

Un workspace de Cargo, cuatro crates:

  • sentrymcp-core — motor de coincidencia de reglas, escáner de directorios, extracción de descripciones de herramientas.
  • sentrymcp-rules — cada regla de detección como TOML (severidad, referencia CWE/OWASP, remediación) — no hay patrones de detección hardcodeados en Rust.
  • sentrymcp-proxy — el relay stdio de runtime, el diffing de tools/list y el watcher de red de mejor esfuerzo.
  • sentrymcp-cli — el binario único sentrymcp (subcomandos scan y proxy).

Las notas de diseño más profundas y las limitaciones conocidas por mecanismo viven en los comentarios de documentación de cada crate (engine.rs, extract.rs, netwatch.rs).

Limitaciones

  • El escaneo estático es una regex de una sola pasada sobre el código fuente bruto, no un AST ni un rastreador de taint — no detecta vulnerabilidades que pasan por una variable intermedia antes de llegar a un sumidero.
  • La extracción de descripciones de herramientas es un emparejamiento de patrones dirigido, no un parser real — no sigue valores construidos mediante concatenación, f-strings o constantes con nombre.
  • El watcher de red del proxy de runtime solo tiene una implementación funcional en Windows (basada en netstat); otras plataformas siempre reportan cero conexiones, una brecha documentada en lugar de una silenciosa.
  • Los hallazgos marcados con confianza heuristic (missing-auth, homoglyph, overprivileged-scope) son avisos para revisión, no veredictos confirmados — espera algunos falsos positivos ahí por diseño.

Contribuciones

Haz fork, crea una rama, envía un PR. Mantén las nuevas reglas de detección en TOML, no en Rust, y añade un par vulnerable/parcheado a corpus/ para cualquier novedad.

Licencia

MIT — consulta LICENSE.

Descargar herramienta