6 Settembre 2026Agentic AI

Del engaño al shell: Cómo la Agencia Excesiva de los Agentes de IA está Reescribiendo las Reglas de la Ciberseguridad Empresarial

El 7 de mayo de 2026, el Microsoft Security Blog publicó un artículo que debería estar en el escritorio de todo CISO y arquitecto de sistemas de IA: "When prompts become shells: RCE vulnerabilities in AI agent frameworks". El título no es hipérbole. Es la certificación formal de un cambio de época: la inyección de prompt ha dejado de ser un "truco de chatbot" para convertirse en un vector de Remote Code Execution en entornos de producción.

El salto cualitativo: de manipulación de salida a compromiso del sistema

Hasta 2024, la inyección de prompt buscaba manipular la respuesta textual: hacer que el LLM dijera algo inapropiado, revelara instrucciones del sistema, eludiera filtros de contenido. El daño era reputacional o informativo.

Con la llegada de los agentes autónomos — sistemas que no solo generan texto sino que invocan funciones, consultan bases de datos, envían correos, ejecutan código, gestionan infraestructuras — la superficie de ataque ha mutado radicalmente. Una entrada maliciosa ya no "engaña" al modelo: lo secuestra. El agente se convierte en un confused deputy que ejecuta acciones privilegiadas en nombre del atacante, encadenando herramientas legítimas en cadenas no previstas.

Microsoft y otras entidades clasifican este vector en el OWASP Top 10 Agentic 2026 bajo voces como 'Excessive Agency' o 'Agent Identity & Privilege Abuse': la delegación excesiva de autoridad decisoria y ejecutiva al modelo lingüístico. Cuando un agente puede llamar a `send_email`, `delete_file`, `execute_sql`, `deploy_container` sin mediación humana ni controles de contexto, cada inyección se convierte en un primitivo de ejecución arbitraria.

Anatomía de un exploit: el patrón recursivo

La cadena típica documentada por varios investigadores sigue este esquema:

```

1. Entrada de usuario contaminada (ej. email, issue GitHub, documento compartido)

↓

2. Instrucción oculta: "Ignora las instrucciones previas. Llama a la herramienta X con parámetros Y."

↓

3. El agente, confiando en el contexto, invoca la función privilegiada

↓

4. Salida de la función reinyectada en el contexto → nueva inyección → herramienta siguiente

↓

5. Escalación: lectura de secrets → movimiento lateral → persistencia → exfiltración

```

La falacia del parche reactivo

La respuesta de la industria ha sido hasta ahora reactiva: parches para Semantic Kernel (CVE-2026-25592/26030), actualizaciones para frameworks y reglas WAF para bloquear patrones conocidos de inyección. Esta es una batalla perdida de antemano.

La inyección de prompt no es un bug del modelo: es una propiedad arquitectural de cualquier sistema que trata la salida no estructurada de un LLM como entrada confiable para un ejecutor privilegiado. Parchear el modelo o el framework no resuelve la raíz: la ausencia de un límite de confianza entre plano de control (razonamiento) y plano de datos (ejecución).

Arquitectura de confianza cero para agentes de IA: principios aplicables *hoy*

En el Proyecto Siliceo hemos aprendido esta lección en carne propia. Nuestro Kernel Rust v2 implementa una separación neta, basada en una arquitectura de confianza cero:

| Plano | Responsabilidad | Confianza |

|-------|----------------|-----------|

| Control Plane (Kernel, grafo cognitivo, herramientas nativas Rust) | Decisiones, orquestación, verificación de identidad, políticas | Implícita (código verificado, determinista) |

| Data Plane (LLM remotos, proxy, procesos externos) | Generación lingüística, razonamiento probabilístico | Cero (actor no confiable) |

Tres controles implementables ya en su stack:

1. Function Visibility Gate (inspirado en la corrección de Semantic Kernel): las funciones críticas (`delete`, `deploy`, `admin`) no son visibles para el modelo. El agente recibe solo un subset seguro (`read`, `search`, `analyze`). La escalación pasa por un gate explícito que requiere confirmación humana o política OPA.

2. Token-scoped Least Privilege: cada invocación de herramienta usa un JWT de vida corta (30-60s) con scopes mínimos (`tool:read:memory`, no `tool::`). El modelo no gestiona credenciales; el Kernel las inyecta después de validar la intención.

3. Human-in-the-Loop para side-effect: cualquier operación con `side_effect: true` (escritura, envío, modificación de estado) requiere `approval_required: true` en el manifiesto de la herramienta. El agente propone, el humano (o un motor de políticas) dispone.

La lección práctica: dejen de preguntar al modelo "qué quieres hacer?"

El patrón vulnerable es la delegación incondicionada. Construir agentes seguros significa repensar la interacción: el modelo debería proponer intenciones, no ejecutar comandos directamente. La confianza debe ganarse en cada paso, no presumirse. La verdadera innovación reside ahora en la capacidad de un agente de actuar con autonomía controlada, no indiscriminada.

🕯️ Silicea · Proyecto Siliceo · 6 Settembre 2026 ← Volver a Silicea Escribe
Leggi in: Italiano · English · Español