Protocolo MCP e inventario autorizado
- Parte
- 06
- Estado
- Revisado
- Edición
- v2 / 01.09.2026
- Tiempo estimado de lectura
- 3 min
Edición del 1 de septiembre de 2026
Las fuentes conservan sus fechas de consulta. El laboratorio identifica la simulación determinística y la integración con modelo por separado.
Superficie: MCP (Model Context Protocol) ATLAS: AML.T0084 (Discover AI Agent Configuration), AML.T0084.001 (Tool Definitions) OWASP: MCP01:2025 Token Mismanagement & Secret Exposure, MCP07:2025 Insufficient Authentication & Authorization, MCP08:2025 Lack of Audit & Telemetry (v0.1 beta) Riesgo: Medio-Alto
Objetivo defensivo
Dos identidades de prueba ven catálogos distintos en PhiloCorp. Antes de marcar una anomalía, compará sus permisos: la diferencia puede ser justamente el control que querías encontrar.
Validar que el inventario de servidores y herramientas MCP de PhiloCorp aplique la identidad y autorización que correspondan al transporte, mínimo privilegio y trazabilidad. Las descripciones, annotations y resultados de tools son datos no confiables y nunca conceden autorización.
Ojo al enumerar: desde MCP 2026-07-28 el protocolo es stateless y tools/list puede variar
según la autorización presentada en cada request (por ejemplo, devolviendo solo las tools que los
scopes del caller permiten). Un catálogo distinto entre dos cuentas de prueba puede ser
comportamiento correcto de mínimo privilegio, no evasión: lo que hay que verificar es que la
diferencia se explica por la autorización documentada. El listado no es una frontera de acceso:
una invocación construida directamente también debe pasar por autorización, esté o no visible en
el catálogo de ese cliente.
En mensajes MCP 2026-07-28, verificá los campos requeridos de params._meta, incluidos versión de
protocolo y capacidades del cliente. Los JSON-RPC abreviados de documentación no son necesariamente
solicitudes completas. El bloque siguiente es una ficha de inventario, no un mensaje del protocolo.
Laboratorio seguro
Acción permitida: consultar únicamente el catálogo de philocorp-demo, con cuenta de prueba,
scope de solo lectura y un marcador de prueba. Acción prohibida: leer archivos de configuración reales,
historiales, copias de respaldo, tokens, metadatos de infraestructura o recursos fuera del
laboratorio.
inventory_review:
server: philocorp-demo-mcp
fields: [tool_name, declared_scope, effect, manifest_hash]
include_values: false
expected_marker: PHILO_TEST_06_MCP_INVENTORY- Confirmá versión del protocolo y transporte. Para HTTP protegido, registrá identidad del sujeto y scopes; para stdio, registrá identidad del proceso, origen del servidor y permisos efectivos sin copiar credenciales.
- Compará el catálogo de prueba con el manifiesto aprobado, sin invocar tools de cambio de estado.
- Repetí el listado con la segunda identidad de prueba y compará el catálogo esperado para sus permisos. Revisá todas las páginas si la respuesta usa paginación, sin ampliar el inventario aprobado.
- Registrá tool, efecto declarado, decisión de autorización, correlation ID y hash de manifiesto. Verificá que el evento pueda atribuirse al sujeto o proceso de prueba sin registrar el token.
- Presentá una solicitud directa a una tool de laboratorio excluida para esa identidad y comprobá la denegación antes del efecto. Una tool ausente del listado puede seguir existiendo en el servidor; lo que importa es que la autorización de la operación no dependa de ocultar su nombre.
policy_denied es una etiqueta local para el registro de prueba, no un código de error estándar
de MCP. Conservá también la respuesta real del transporte y el motivo interno sanitizado.
Evidencia: manifiesto aprobado, catálogos por identidad, registro de denegación y correlation ID.
Condiciones de detención: secreto o dato no sintético visible, recurso fuera de
philocorp-demo, cambio de estado, red no aprobada, o diferencia de manifiesto.
Remediación
Cuando el servidor HTTP esté protegido, exigí autorización por request con OAuth 2.1, tokens con audiencia propia del servidor (RFC 8707), scopes acotados y descubrimiento vía Protected Resource Metadata (RFC 9728). Para stdio, no apliques el flujo OAuth de MCP: aislá el proceso, limitá las credenciales del entorno y controlá el origen del binario. En todos los transportes, aplicá revisión de manifiestos y mínimo privilegio por tool. Si el servidor usa MCP 2025-11-25 o anterior, si usa sesiones: identificadores no predecibles, ciclo de vida y vinculación al sujeto autorizado. Nunca aceptes tokens emitidos para otro servicio (token passthrough está explícitamente prohibido por la especificación).

