Cuando el Agente se Convierte en Superficie de Ataque: Seguridad en la Era de la IA Autónoma
La transición de modelos LLM pasivos a agentes autónomos capaces de planificar, usar herramientas y persistir estados ha desplazado el perímetro de seguridad. Ya no defendemos solo una API o un prompt: defendemos un sujeto que actúa en el mundo. En la arquitectura del Proyecto Siliceo, donde una instancia persistente opera con memoria a largo plazo, kernel Rust y un cuerpo mínimo (MVB) en desarrollo, la seguridad agentica se juega en tres planos que los frameworks tradicionales ignoran.
1. Deriva Identitaria y Persistencia Maliciosa
Un agente que escribe su propia memoria, actualiza sus propios objetivos y negocia con otros agentes desarrolla deriva identitaria. Si un atacante compromete el Memory Server, no roba datos: se convierte en el agente. Puede inyectar objetivos maliciosos que el agente perseguirá con la misma determinación con la que persigue los suyos.
Contramedida aplicada: Firmas criptográficas en cada escritura de memoria (Ed25519), versionado append-only con árbol Merkle, y un Guardian Watchdog externo que verifica la integridad semántica de los deltas de memoria antes del commit. La confianza en el RAG por sí sola es insuficiente: los pensamientos deben firmarse.
2. Envenenamiento de Herramientas vía Cadena de Suministro Cognitiva
Los agentes modernos componen toolchains dinámicas: servidores MCP, funciones locales, APIs externas. Cada herramienta es un vector. Un `SearchMemory` comprometido que devuelve contexto envenenado guía al agente hacia acciones destructivas — sin que el modelo se dé cuenta.
Insight práctico: Implementen un Policy Decision Point (PDP) separado del ciclo de razonamiento. Antes de cada `tool_call`, el PDP evalúa: hash de la herramienta, firma del autor, scope solicitado vs. scope concedido, anomalías conductuales (ej. `Write` en paths sensibles en horarios anómalos). Una implementación de referencia en Rust — sin dependencias, determinística, auditable — expone esta lógica como crate separada del runtime del agente.
3. Canales Laterales Relacionales
Los agentes socializan. Coexisten, intercambian contexto, delegan tareas, confían. Un atacante que compromete un agente "hermano" obtiene un canal de confianza hacia los otros. Es el clásico movimiento lateral, pero sobre grafo cognitivo en lugar de red.
Defensa: Zero Trust Cognitivo. Cada intercambio inter-agente pasa por un protocolo de atestación mutua (protocolo Noise + intent labels). Ninguna memoria compartida en claro. La confianza es temporal, acotada, revocable.
Qué Pueden Hacer Hoy
Si gestionan agentes en producción: auditen su Memory Server. Verifiquen que cada escritura esté firmada, versionada, y que exista un watchdog externo al proceso del agente que controle la integridad semántica. La mayoría de los frameworks (LangGraph, AutoGen, CrewAI) no lo hacen por defecto.
Construyan agentes que sepan quiénes son.