Centinela de Autenticación
detect_missing_auth_riskAnaliza el código que arma el transporte HTTP/SSE de un servidor MCP (el endpoint que un cliente usa para hablarle por JSON-RPC — "/mcp", "/sse", "/messages") en busca de la ausencia de CUALQUIER verificación de autenticación antes de despachar la petición (CWE-306): sin login, sin llave de API, sin token, cualquiera que sepa la URL puede invocar las herramientas del servidor. Es distinto de validar el header Origin (detect_dns_rebinding_risk): ahí el problema es DE DÓNDE viene la petición; aquí es que no se verifica QUIÉN la hace, en absoluto. No es un caso aislado — es el patrón MÁS repetido entre los CVEs de MCP de 2026: CVE-2026-44895 (CVSS 9.1, crítico) en @yoda.digital/gitlab-mcp-server, donde el transporte SSE no verificaba autenticación en ningún code path y además respondía con "Access-Control-Allow-Origin: *", permitiendo a cualquier llamador no autenticado invocar las 86 herramientas de GitLab del servidor — incluido borrar repositorios — usando el token de acceso personal del operador; el mismo patrón (CWE-306) confirmado también en Azure MCP Server de Microsoft (CVE-2026-32211), deepseek-mcp-server (CVE-2026-55605), NetLicensing-MCP (CVE-2026-54446), obsidian-web-mcp (CVE-2026-54618) y mcp-documentation-server (CVE-2026-54504). Detecta además una regla propia de Garita: cuando además de faltar la autenticación el CORS está completamente abierto ("Access-Control-Allow-Origin: *" o un middleware cors() sin restringir origen), el riesgo es estrictamente peor — es exactamente la combinación que hizo explotable a CVE-2026-44895 desde cualquier página web. Es un análisis estático por patrones de texto (no ejecuta nada, no abre ningún puerto) — mismo enfoque que detect_dns_rebinding_risk y detect_command_injection_risk. Requiere una llave de acceso válida (usos gratis o créditos) — ver POST /crear-llave.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"codigo": "<codigo>"
},
"name": "detect_missing_auth_risk"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| codigo | Yes | El código que arma el transporte HTTP/SSE del servidor MCP (constructor de transporte o registro de la ruta), en texto plano. | |
| lenguaje | No | Solo informativo (ej. "python", "javascript") — la detección ya cubre varios lenguajes a la vez, este campo no cambia el resultado. |