Solo lectura no es suficiente: Protecciones para agentes de IA

Los ingenieros senior suelen decir una cosa para mantener seguros a los agentes de IA: darles acceso de solo lectura.

Parece seguro. El agente puede investigar consultas lentas o resumir esquemas sin romper nada.

Pero el solo lectura no es un modelo de seguridad. Es una limitación.

En el momento en que tu agente necesita realizar un trabajo útil, el solo lectura lo detiene. Si un agente encuentra un índice defectuoso o una fila corrupta, no puede arreglarlo. Terminas con un asistente que señala un incendio pero no puede tomar una manguera.

Los equipos suelen rendirse y entregar al agente acceso de escritura. Ahí es cuando comienza el verdadero peligro.

La verdadera pregunta no es "si el agente debe escribir". La verdadera pregunta es "cómo gobiernas esas escrituras".

No intentes gobernar las escrituras con instrucciones. No pongas reglas en el system prompt como "nunca elimines una tabla".

La inyección de prompts (prompt injection) hace que estas reglas sean inútiles. Un atacante puede usar una fila de datos o un comentario para engañar al agente y que ignore tus reglas. Si la protección reside en la misma ventana que el agente, el agente puede argumentar para evadirla.

Necesitas una distinción entre escrituras no gobernadas y escrituras mediadas.

• Escrituras no gobernadas: El agente decide ejecutar un comando y la base de datos lo ejecuta. El único control es el propio juicio del agente. • Escrituras mediadas: El comando pasa a través de un punto de control fuera del agente. Este punto de control se sitúa en la ruta de datos entre el agente y la base de datos.

Una escritura mediada funciona así:

  • El agente propone una sentencia.
  • Un proxy o plano de control analiza la sentencia.
  • El proxy clasifica el riesgo.
  • El proxy decide si permitirla o solicitar la aprobación de un humano.

Este enfoque te protege de la inyección de prompts. Una instrucción maliciosa podría engañar al agente para que escriba un comando DROP TABLE, pero no puede engañar al proxy. El proxy no lee la intención del agente; solo observa el comando SQL real.

Utiliza esta estructura para mantenerte seguro:

  • Permitir automáticamente lecturas seguras. Deja que los agentes ejecuten consultas SELECT libremente para mantener la rapidez del trabajo.
  • Controlar las escrituras de riesgo. Requiere aprobación humana para DELETE, UPDATE o cambios de esquema.
  • Registrarlo todo. Mantén un registro inmutable de quién propuso un cambio y quién lo aprobó.

No confíes en las réplicas de lectura para la seguridad. Las réplicas ayudan con la investigación, pero no pueden aplicar correcciones. Para solucionar un problema de producción, debes escribir en la base de datos principal.

La mediación permite que el agente sea útil mientras mantiene tus datos seguros.

Fuente: https://dev.to/maxime_dalessandro_28171d/read-only-isnt-enough-guardrails-for-ai-agents-that-change-your-database-2e5h

Comunidad de aprendizaje opcional: https://t.me/GyaanSetuAi