Protección de agentes de IA y uso de herramientas
Restrinja las acciones de los agentes autónomos.
Protección de agentes de IA y uso de herramientas es una lección gratuita de Cyber Security Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cyber Security Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cyber Security Academy incluye 4 lecciones en total.
Qué hace que los agentes sean arriesgados
Un agente de IA es un LLM conectado a herramientas y a un bucle: razona, llama a funciones (búsqueda, ejecución de código, API, acceso a archivos), observa los resultados y repite hasta alcanzar un objetivo. Esta autonomía es potente y peligrosa.
El cambio esencial en seguridad es el siguiente: con un chatbot normal, una mala salida es solo texto. Con un agente, una mala decisión se convierte en una acción real: un registro eliminado, un correo enviado, un dólar gastado o un secreto filtrado.
Puesto que el contenido no confiable puede entrar en el bucle de razonamiento, cada herramienta que posee el agente es una superficie de ataque para la inyección de prompts.
Privilegio mínimo para las herramientas
El control más importante, con diferencia, es el privilegio mínimo. Asigne a cada herramienta el alcance más limitado que permita realizar la tarea.
- Prefiera solo lectura a lectura y escritura; limite las lecturas a los datos del usuario actual.
- Divida las herramientas generales en otras específicas (una herramienta
get_invoice, no una herramienta de SQL sin restricciones). - Vincule las credenciales de la herramienta a la identidad del usuario final, no a una cuenta de servicio compartida, para que el agente herede únicamente las acciones que el usuario puede realizar.
# Scope queries to the authenticated user, never raw SQL
def get_invoice(invoice_id: str, *, user_id: str):
return db.query(
"SELECT * FROM invoices WHERE id=%s AND owner=%s",
(invoice_id, user_id),
)Puntos de control con intervención humana
Para acciones de alto impacto o irreversibles, requiera aprobación humana explícita antes de ejecutarlas. El agente propone; una persona confirma.
- Enviar correos electrónicos o mensajes externos.
- Realizar transacciones financieras o compras.
- Eliminar o sobrescribir datos.
- Implementar código o cambiar la infraestructura.
Muestre al usuario la acción exacta y los argumentos en lenguaje sencillo para que pueda detectar un comando inyectado o alucinado antes de que se ejecute.
Aislamiento de código y comandos
Los agentes que ejecutan código o comandos de shell deben hacerlo en un sandbox aislado, nunca en el host.
- Use contenedores efímeros o microVM sin montajes del host.
- Desactive el acceso de red de forma predeterminada; permita únicamente una lista explícita de destinos permitidos para el tráfico saliente.
- Establezca límites de CPU, memoria y tiempo para contener el código descontrolado o malicioso.
- Ejecute el proceso como un usuario sin privilegios que no sea root y con un sistema de archivos raíz de solo lectura.
docker run --rm \
--network none \
--read-only \
--user 1000:1000 \
--memory 256m --cpus 0.5 \
--pids-limit 64 \
agent-sandbox:latest python /work/task.pyRomper la trifecta letal
Un agente se convierte en una herramienta de exfiltración de datos cuando tiene simultáneamente acceso a datos privados, exposición a contenido no confiable y capacidad para comunicarse externamente. Esa combinación es la trifecta letal.
Diseñe el sistema para eliminar al menos uno de estos elementos en cualquier flujo de trabajo:
- Aísle las sesiones que manejan contenido no confiable de las que contienen datos confidenciales.
- Restrinja la salida de red a una lista estricta de destinos permitidos.
- Exija aprobación antes de cualquier envío externo cuando haya datos privados en el contexto.
Salida de herramientas no confiable
Los resultados de las herramientas vuelven a entrar en el contexto del modelo, por lo que la salida de las herramientas es una entrada no confiable. Una página web, un archivo obtenido o una respuesta de API pueden contener instrucciones inyectadas dirigidas al siguiente paso de razonamiento.
- Delimite la salida de las herramientas con claridad y etiquétela como datos, no como comandos.
- Elimine o neutralice el texto oculto (comentarios HTML, caracteres de ancho cero, CSS fuera de pantalla).
- Limite el tamaño del contenido inyectado para limitar el espacio disponible para la carga útil.
No permita que la salida sin procesar de una herramienta determine silenciosamente la siguiente llamada sin comprobaciones de políticas.
Listas de acciones permitidas y aplicación de políticas
No confíe en que el modelo se controle a sí mismo. Imponga una capa de políticas implementada en código entre el agente y cada herramienta.
- Valide cada llamada a una herramienta frente a una lista de acciones permitidas y una estructura de argumentos autorizada.
- Rechace las llamadas que queden fuera del alcance de la tarea actual.
- Aplique límites de frecuencia y presupuestos por herramienta y por usuario.
Esta barrera determinista se ejecuta independientemente de lo que decida el modelo, por lo que incluso una inyección exitosa se encuentra con un muro infranqueable.
def authorize(call):
if call.name not in ALLOWED_TOOLS:
raise PolicyError("tool not allowed")
if not SCHEMA[call.name].validate(call.args):
raise PolicyError("bad arguments")
if exceeds_budget(call):
raise PolicyError("rate limit")Limitar el bucle
Los bucles autónomos pueden descontrolarse: reintentos infinitos, llamadas recursivas a herramientas y gasto desbocado (denial-of-wallet). Establézcales límites.
- Limite el número máximo de pasos y el total de tokens por tarea.
- Establezca tiempos de espera absolutos para toda la ejecución.
- Controle el coste acumulado y aborte al alcanzar el umbral.
- Detecte bucles (llamadas idénticas repetidas) y salga de ellos.
Estos límites también mitigan los ataques de DoS y de consumo sin límites (OWASP LLM10).
Riesgos de la memoria y de los múltiples agentes
La memoria persistente del agente y los sistemas de múltiples agentes añaden nuevas superficies de ataque:
- Envenenamiento de la memoria: una inyección escrita en la memoria a largo plazo durante una sesión influye en sesiones posteriores. Valide y limite el alcance de lo que se conserva.
- Confianza entre agentes: un agente comprometido puede inyectar contenido en otro. Considere no confiables los mensajes entre agentes.
- Delegado confundido: un agente privilegiado que actúa a partir de la solicitud de un agente con menor nivel de confianza. Transmita la autorización del principal original a lo largo de la cadena.
Registro y observabilidad
No puede proteger lo que no puede ver. Instrumente toda la traza del agente:
- Registre cada llamada a una herramienta, sus argumentos y su resultado.
- Registre el contexto de razonamiento y cualquier contenido recuperado para realizar análisis forenses.
- Genere alertas ante anomalías: salida de red inesperada, uso de privilegios, denegaciones repetidas o picos de costes.
- Conserve un registro de auditoría inmutable asociado al usuario que realiza la acción.
Una buena telemetría convierte un compromiso silencioso en un incidente detectable e investigable.
Una arquitectura de agente por capas
Al integrarlo todo, una pila de agente defendible tiene el siguiente aspecto:
- Identidad: las acciones se ejecutan como el usuario final con alcances de privilegio mínimo.
- Barrera de políticas: lista determinista de acciones permitidas y validación de esquemas en cada llamada a una herramienta.
- Sandbox: ejecución aislada con red y recursos restringidos.
- Puntos de control humanos: aprobación para acciones irreversibles.
- Límites: presupuestos de pasos, tokens, tiempo y costes.
- Observabilidad: registro de auditoría completo y alertas de anomalías.
Suponga que el modelo puede ser secuestrado; asegúrese de que, incluso en ese caso, el radio de impacto sea reducido.
Comprobación rápida
Ponga a prueba su comprensión de los controles de seguridad de los agentes.
Resumen
Protección de los agentes de IA y del uso de herramientas:
- Los agentes convierten las salidas incorrectas en acciones reales, por lo que cada herramienta es una superficie de ataque.
- Aplique el principio de mínimo privilegio a cada herramienta y vincule las credenciales al usuario final.
- Exija aprobación humana para las acciones irreversibles y ejecute el código en un sandbox.
- Rompa la tríada letal; trate la salida de las herramientas como una entrada no confiable.
- Aplique un punto de control de políticas determinista (listas de permitidos, validación de esquemas) en el código, no en el prompt.
- Limite el bucle (pasos, tokens, tiempo, coste) y registre cada llamada a una herramienta para facilitar la detección.
Preguntas frecuentes
¿La lección «Protección de agentes de IA y uso de herramientas» es gratis?
Sí — el texto completo de «Protección de agentes de IA y uso de herramientas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cyber Security Academy, actualiza a CoddyKit PRO. El curso de Cyber Security Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Protección de agentes de IA y uso de herramientas»?
Restrinja las acciones de los agentes autónomos. Practicas Cyber Security Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Cyber Security Academy?
No se requiere experiencia previa. Cyber Security Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Protección de agentes de IA y uso de herramientas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Cyber Security Academy?
Sí. Cada lección de Cyber Security Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Prompt injection y jailbreaks
- Los 10 principales riesgos de OWASP para LLM
- Protección de agentes de IA y uso de herramientas
- Riesgos del modelo, los datos y la cadena de suministro