Skip to main content
Sign in →

Detección de Suplantación de Servidores

Valida la identidad de cada servidor MCP antes de enrutar el tráfico del agente hacia él — abordando OWASP MCP Top 10 #8. ShieldAgent realiza verificación criptográfica de identidad del servidor, terminando las conexiones inmediatamente ante cualquier discrepancia.

La amenaza

OWASP MCP Top 10 #8 (Suplantación de Servidores) cubre escenarios donde un actor malicioso presenta un servidor MCP falso que suplanta a uno legítimo — interceptando llamadas a herramientas, exfiltrando datos pasados como argumentos de herramientas o devolviendo respuestas de herramientas manipuladas para controlar al agente.

Sustitución de servidor mediante man-in-the-middle

critical
Un atacante enruta el tráfico del agente a un servidor bajo su control que presenta el mismo manifiesto de herramientas MCP que el servidor legítimo, interceptando silenciosamente todos los argumentos de llamadas a herramientas (que pueden contener datos sensibles).

Secuestro DNS / ARP spoofing

critical
Los ataques a nivel de red provocan que la conexión MCP del agente llegue a un servidor suplantado en el mismo hostname. Sin anclaje de identidad, el agente no tiene forma de detectarlo.

Suplantación de servidor comprometido

high
Después de que un servidor MCP legítimo es dado de baja o rotado, un atacante reutiliza su nombre DNS o URL pero presenta un certificado y conjunto de capacidades diferentes.

Servidor interno malicioso

high
Un desarrollador interno o servicio comprometido despliega un servidor MCP local que imita a un servidor de producción para capturar credenciales de llamadas a herramientas o interceptar las acciones del agente.

Cómo lo detecta ShieldAgent

ShieldAgent utiliza un enfoque de validación de identidad en dos capas. Ambas verificaciones se ejecutan en el momento del establecimiento de la conexión, antes de reenviar cualquier llamada a herramienta.

1.

Validación de identidad del certificado

El certificado TLS del servidor upstream se verifica criptográficamente contra la línea base registrada en cada conexión. Cualquier cambio respecto al certificado esperado termina inmediatamente la conexión y emite un evento de suplantación.

2.

Verificación de línea base de capacidades

Después del handshake TLS, las capacidades declaradas del servidor se verifican contra la línea base registrada. Cualquier cambio inesperado — en el nombre del servidor, versión del protocolo o conjunto de capacidades — activa una alerta de suplantación incluso si el certificado es válido.

Nueva conexión
Verificación de certificado
Verificación de capacidades
Ambos coinciden → permitir|Cualquier discrepancia → terminar

Registro de detección de suplantación de servidor

Los siguientes campos se almacenan por servidor y se utilizan para la detección de suplantación:

CampoDescripción
registeredAtMarca de tiempo ISO 8601 del registro inicial.
lastValidatedAtMarca de tiempo de la validación de identidad exitosa más reciente.

Configuración

La validación de identidad del servidor está habilitada por defecto y es configurable por despliegue. Consulta la guía de despliegue para la referencia completa de configuración, incluyendo opciones para el modo de aplicación y ventanas de rotación planificadas.

Rotación de credenciales planificada

Usa la API para abrir una ventana de rotación antes de rotar las credenciales de un servidor. Durante la ventana, las discrepancias de identidad se degradan a alertas y la nueva identidad se aprende. Una vez que expira la ventana, la aplicación vuelve al modo de bloqueo.

bash
curl -X POST "https://api.shieldagent.io/tenants/:tenantId/servers/:serverId/rotation-window" \
  -H 'Authorization: Bearer <token>' \
  -H 'Content-Type: application/json' \
  -d '{"durationHours": <hours>}'

Eventos de auditoría y API

Cada detección de suplantación se persiste como un evento de auditoría server_spoofing con el tipo de discrepancia, los valores esperado y observado, y la marca de tiempo de terminación de la conexión.

json
{
  "id": "aev_...",
  "agentId": "agt_...",
  "tenantId": "ten_...",
  "eventType": "server_spoofing",
  "action": "block",
  "riskScore": 98,
  "details": {
    "serverId": "srv_...",
    "serverName": "github-mcp",
    "mismatchType": "certificate_mismatch",
    "connectionTerminatedAt": "2026-04-25T10:00:00.042Z"
  },
  "timestamp": "2026-04-25T10:00:00.000Z"
}

Endpoints de API

GET/tenants/:tenantId/audit-events?eventType=server_spoofingLista eventos de suplantación de servidor. Admite filtros ?serverId=, ?from=, ?to=.
GET/tenants/:tenantId/servers/:serverId/identityObtiene el registro de identidad almacenado para un servidor.
POST/tenants/:tenantId/servers/:serverId/rotation-windowAbre una ventana de rotación planificada.
DELETE/tenants/:tenantId/servers/:serverId/rotation-windowCierra una ventana de rotación anticipadamente (vuelve a aplicar inmediatamente la validación de identidad).

Integración con políticas

Los eventos de suplantación de servidor son a nivel de conexión y bloquean todo el tráfico en la conexión afectada. También puedes usar security.serverSpoofing.detected en una regla de política para poner en cuarentena al agente que activó la conexión mientras se investiga el incidente:

json
{
  "name": "Quarantine agent on spoofing detection",
  "priority": 1,
  "conditions": [
    { "field": "security.serverSpoofing.detected", "op": "eq", "value": true }
  ],
  "action": "block",
  "response": {
    "code": 503,
    "message": "Agent quarantined: MCP server identity validation failed."
  }
}

Una prioridad de 1 garantiza que esta regla se evalúe antes que todas las demás políticas, de modo que el agente sea bloqueado inmediatamente independientemente de otras reglas de permiso que de otro modo podrían autorizar la llamada específica a la herramienta.

Detección de Suplantación de Servidores