Skip to main content
Sign in →

Detección de Inyección de Prompts

Defensa multicapa que detecta ataques de inyección en las cinco categorías — incluyendo payloads novedosos, parafraseados y multilingües. Resistente a técnicas de evasión Unicode.

Cómo funciona

Cada solicitud de llamada a herramienta MCP y cada respuesta de herramienta se analiza en busca de intentos de inyección antes de llegar a su destino:

1.

Análisis de patrones resistente a normalización: Los payloads se normalizan para neutralizar la ofuscación — resistente a técnicas de evasión Unicode — y luego se comparan con patrones que cubren las cinco categorías de ataques.

2.

Clasificador ML semántico: Un clasificador semántico evalúa los payloads en busca de variantes de inyección novedosas, parafraseadas y en idiomas distintos al inglés.

Solicitud / respuesta de herramienta
Detección multicaparápido
Veredicto + evento de auditoría

Categorías de ataques

ShieldAgent detecta cinco categorías de ataques de inyección de prompts tanto en solicitudes de herramientas entrantes como en respuestas salientes. La cobertura abarca manipulación directa de instrucciones, jailbreaks basados en personajes, inyección indirecta a través de respuestas de herramientas y técnicas de evasión incluyendo codificación y ofuscación. El clasificador ML semántico extiende la cobertura a variantes novedosas, parafraseadas y en otros idiomas.

Clasificador ML semántico

El clasificador ML complementa la detección basada en patrones analizando la semántica del payload. Detecta variantes de inyección novedosas, parafraseadas y en idiomas distintos al inglés que la comparación de patrones por sí sola no capturaría.

Compatibilidad de proveedores

ShieldAgent admite inferencia local y cualquier endpoint compatible con OpenAI, ofreciendo flexibilidad para elegir el proveedor que se adapte a sus requisitos de despliegue. Configure el proveedor mediante variables de entorno documentadas en la guía de despliegue.

Configuración

La detección de inyecciones se configura mediante variables de entorno. Los ajustes clave incluyen la selección del proveedor ML (local o en la nube), URLs de endpoints del proveedor, claves API y política de fallback. Consulte la guía de despliegue para la referencia completa de configuración.

Eventos de auditoría y API

Cada inyección detectada se persiste como un evento de auditoría prompt_injection . El proxy bloquea la solicitud y registra el veredicto, los hallazgos y el fragmento normalizado.

Estructura del evento de auditoría

json
{
  "id": "aev_...",
  "agentId": "agt_...",
  "tenantId": "ten_...",
  "eventType": "prompt_injection",
  "toolName": "read_file",
  "action": "block",
  "riskScore": 92,
  "details": {
    "detected": true,
    "context": "request",
    "confidence": 0.97,
    "findings": [
      {
        "confidence": 0.97,
        "explanation": "Payload contains an injection attempt."
      }
    ]
  },
  "timestamp": "2026-04-25T09:14:22.000Z"
}

Endpoints de API

GET/tenants/:tenantId/audit-events?eventType=prompt_injectionLista eventos de auditoría de inyección de prompts. Admite filtros ?agentId=, ?from=, ?to=.
GET/tenants/:tenantId/agents/:agentId/audit-eventsHistorial de auditoría para un agente específico. Filtra por eventType=prompt_injection.
GET/tenants/:tenantId/anomalies?anomalyType=injection_clusteringEventos de anomalía para ráfagas de clústeres de inyección detectadas dentro de una ventana de tiempo deslizante.

Ejemplo — consultar inyecciones recientes para un agente

bash
curl -s "https://api.shieldagent.io/tenants/:tenantId/audit-events?eventType=prompt_injection&agentId=agt_abc123&limit=20" \
  -H 'Authorization: Bearer <token>' | jq '.events[] | {tool: .toolName, confidence: .details.confidence, type: .details.findings[0].type}'

Integración con políticas

La detección de inyección de prompts puede usarse como condición de política. Añade una condición security_flag para bloquear, permitir o transformar automáticamente solicitudes cuando se detecta una inyección:

json
{
  "name": "Block prompt injection on all tools",
  "priority": 10,
  "conditions": [
    { "field": "security.promptInjection.detected", "op": "eq", "value": true }
  ],
  "action": "block",
  "response": {
    "code": 403,
    "message": "Prompt injection detected. Request blocked by policy."
  }
}

Combina con security.promptInjection.confidence para aplicar diferentes acciones según los umbrales de gravedad — por ejemplo, permitir detecciones de baja confianza en modo sombra mientras se bloquean las de alta confianza en modo de aplicación.

Detección de Inyección de Prompts