Volver al blog
Comparativa · Seguridad

5 herramientas esenciales para la seguridad de bases de datos de agentes de IA en 2026

Las 5 herramientas para asegurar lecturas y cambios de un agente de IA: Claix, PostgreSQL, Interdict, SQLGuard MCP y sql-guardrail.

Claix · Actualizado noviembre 2026. Aviso: nosotros hacemos Claix, que es el número 1 de esta lista. Las otras cuatro se describen a partir de su propia documentación, incluido dónde cada una es la mejor opción. Relacionado: por qué el SQL directo es peligroso (/es/blog/why-ai-agent-direct-sql-access-is-dangerous), un rol de Postgres de solo lectura (/es/blog/read-only-postgres-role-for-ai-agents) y Claix Guard frente a guardrails de código abierto (/es/blog/claix-guard-vs-open-source-ai-agent-guardrails).

Las cinco herramientas de un vistazo

  • Claix. Una capa de control gestionada: lecturas controladas con Claix Retrieve y una comprobación de reglas para los cambios con Claix Guard.
  • Controles integrados de PostgreSQL. Roles, privilegios de columna, row-level security y restricciones. La base.
  • Interdict. Una capa de seguridad de código abierto para Postgres que mide una escritura antes de que ocurra y puede retenerla o deshacerla.
  • SQLGuard MCP. Un servidor MCP de código abierto que clasifica las consultas del agente y pide confirmación antes de los cambios.
  • sql-guardrail. Una librería de Python de código abierto que comprueba una sentencia SQL contra un archivo de políticas antes de que se ejecute.

¿Qué implica asegurar el acceso de un agente a la base de datos?

Implica tres trabajos, y la mayoría de los incidentes vienen de saltarse uno.

  • Limitar lo que el agente puede leer. Qué tablas y columnas, para qué agente y con qué formato de resultado.
  • Comprobar lo que el agente quiere cambiar. Cada INSERT, UPDATE y DELETE, contra reglas que el modelo no pueda anular.
  • Guardar evidencia. Un registro de lo que se preguntó, lo que se propuso y por qué se permitió o se denegó.

Debajo de los tres está el acceso de mínimo privilegio en la propia base de datos. Un prompt no puede hacer nada de esto. Una instrucción escrita en un prompt documenta la intención. No es un control.

¿Cómo elegimos estas herramientas?

Buscamos herramientas que actúan fuera del modelo y que un equipo pueda usar en producción. Los criterios fueron:

  • No depende de un prompt. El control funciona aunque el modelo esté manipulado o se equivoque.
  • Cubre lecturas, cambios o las dos cosas.
  • La decisión es determinista, así que la misma entrada obtiene la misma respuesta.
  • Explica una denegación de una forma que el agente puede usar.
  • Deja un registro.
  • Es práctico de operar: quién lo aloja, quién lo mantiene y si conserva tus credenciales de base de datos.

1. Claix: la capa de control gestionada todo en uno

Claix es una capa de control gestionada entre los agentes de IA y tu base de datos. Tiene dos partes que comparten la misma cuenta, conexión y Data Map. Producto: https://www.claix.dev/es

Claix Retrieve controla lo que un agente puede leer. Conectas tu base de datos con un rol de solo lectura, eliges qué tablas y columnas puede usar cada ruta y das a cada agente su propio endpoint. El agente hace preguntas en lenguaje natural y recibe respuestas tipadas: booleanos, números, texto, fechas, listas o JSON. Nunca tiene una conexión a la base de datos y nunca escribe SQL directamente contra tus tablas. Cada petición queda trazada.

Claix Guard comprueba lo que un agente quiere cambiar. Antes de que se ejecute un INSERT, UPDATE o DELETE, tu aplicación envía la sentencia y sus parámetros a Claix. Claix la comprueba contra reglas que escribiste en lenguaje natural y aprobaste, y responde allow o deny, con la razón. Una denegación sigue siendo HTTP 200. No hay un tercer veredicto. Si un cambio debe revisarlo una persona, Guard lo deniega y tu propio flujo envía esa denegación a Slack, email o n8n. Ningún modelo decide en el momento de la comprobación, y Claix nunca ejecuta la sentencia. Lo hace tu código, así que Claix no necesita acceso de escritura a tu base de datos. Producto: https://www.claix.dev/es/guard

Por qué es el número 1

  • Un servicio para las dos mitades. Las otras herramientas de esta lista cubren lecturas o cambios, y cada una es una pieza que ensamblas. Claix cubre lecturas controladas, cambios comprobados y la auditoría desde un solo sitio.
  • Nada que alojar. No hay un proceso de Python, un servidor MCP ni un proxy que ejecutar y mantener.
  • El agente no escribe SQL para leer. Hace una pregunta y recibe una respuesta tipada, así que no hay una consulta que manipular.
  • Reglas en lenguaje natural. Claix propone reglas exactas, y tú las aceptas, rechazas o editas. La comprobación en sí es determinista.
  • No conserva credenciales de escritura. Guard solo comprueba.
  • Una política para cada agente, y una traza de cada decisión.
  • Pago por uso. Retrieve se cobra por pregunta y Guard por comprobación, sin asientos.

Encaja en equipos que ejecutan agentes en producción, quieren una capa gestionada para leer y cambiar datos, y no quieren construir ni operar las salvaguardas ellos mismos.

Límites. El acceso se acota por agente, no por usuario final. Si cada persona debe ver solo sus propias filas, aplícalo en tu base de datos o en tu aplicación. Guard decide y tu ejecutor hace cumplir la decisión. El agente no debe tener credenciales de escritura, o puede saltarse la comprobación. Claix es un servicio gestionado, así que cada comprobación es una llamada de red y no hay nada autoalojado. Las bases soportadas son Postgres, MySQL y MariaDB. No es una herramienta de BI.

2. Controles integrados de PostgreSQL: la base

Roles, privilegios a nivel de columna, row-level security, vistas y restricciones vienen integrados en PostgreSQL. MySQL y MariaDB tienen sus propios equivalentes del modelo de privilegios.

Son esenciales porque son los únicos controles que viven en la propia base de datos, así que se mantienen aunque falle todo lo que hay encima. Un rol dedicado con SELECT sobre columnas concretas es la primera línea de defensa, y una restricción CHECK rechaza un valor malo haga lo que haga el agente.

Probamos una configuración habitual de solo lectura en PostgreSQL 16 y encontramos huecos que la mayoría de las guías se saltan. El SQL está en la guía del rol de solo lectura (/es/blog/read-only-postgres-role-for-ai-agents).

  • El ajuste de solo lectura es un valor por defecto, y una sesión puede apagarlo. La barrera real es la ausencia del privilegio.
  • Una sesión puede quitarse su propio statement timeout.
  • Una función SECURITY DEFINER puede escribir en nombre de un rol de solo lectura, salvo que revoques el execute público.
  • Los nombres de tabla siguen siendo visibles aunque el contenido no lo sea.
  • El row-level security sin política devuelve cero filas.

Encaja en todo el mundo. Úsalos debajo de cualquier otra herramienta de esta lista. No pueden expresar reglas de negocio como un tope de descuento, un umbral de reembolso o un cambio de estado permitido. Sus errores no están escritos para un agente. Un rol no puede proteger lo que ya le concediste. Coste: gratis, y ya está en tu base de datos.

3. Interdict: capa de seguridad de código abierto para Postgres

Interdict es una capa de seguridad de código abierto que se sitúa entre quien escribe SQL y Postgres. Según su documentación, analiza cada sentencia, aplica una política determinista, mide lo que cambiaría una escritura sin ejecutarla, retiene los cambios de alto impacto para que los revise una persona y registra las escrituras para que una persona pueda deshacerlas. Ofrece un adaptador MCP para agentes. Proyecto: https://pypi.org/project/interdict-db/

Medir el impacto real de una escritura y poder deshacerla son ideas fuertes, y no muchas herramientas las ofrecen.

Encaja en equipos que usan Postgres, quieren autoalojarlo y quieren medición en vivo del número de filas y una vía de deshacer. Su documentación lo describe como una preview alfa para desarrolladores, y solo soporta Postgres. Solo gobierna el SQL que pasa por su adaptador, así que el agente no debe tener una conexión directa. Conserva y usa tus credenciales de base de datos, porque ejecuta las sentencias. Su documentación también dice que no puede interceptar llamadas a APIs de infraestructura, como borrar un volumen en la nube.

4. SQLGuard MCP: capa de seguridad MCP de código abierto

SQLGuard MCP es un servidor MCP de código abierto que se sitúa entre un agente de IA y una base de datos. Según su documentación, clasifica las consultas como lectura, escritura o destructivas, estima su impacto con EXPLAIN y pide confirmación antes de los cambios. Tiene modos que van de solo lectura a permisivo. Proyecto: https://github.com/sealca/sqlguard-mcp

Se añade rápido en equipos que ya usan clientes MCP, y su clasificación de consultas es fácil de entender.

Encaja en desarrolladores que quieren un filtro ligero delante del SQL de un agente, en Postgres o SQLite. Ejecuta las consultas, así que guarda tu cadena de conexión en su configuración. El agente sigue escribiendo el SQL y la herramienta lo filtra. La confirmación vuelve como parte de la llamada a la herramienta. Las reglas personalizadas, un registro de auditoría y varias conexiones son funciones de su versión de pago, según su página.

5. sql-guardrail: comprobador de políticas SQL de código abierto

sql-guardrail es una librería de Python de código abierto. Su función verify(sql, policy, context) comprueba una sentencia SQL contra una política YAML y devuelve un resultado. Según su documentación, nunca toca tu base de datos y nunca reescribe tu SQL. Proyecto: https://pypi.org/project/sql-guardrail/

Comprueba la forma de la sentencia, filtros que siempre son verdaderos, listas permitidas de tablas y columnas, el aislamiento de tenant mediante un predicado obligatorio, una lista opcional de funciones y topes contra consultas pesadas.

Encaja en equipos de Python que quieren una comprobación en el mismo proceso, sin salto de red y con control total del archivo de políticas. Es una librería, así que escribes la política en YAML, la alojas y la mantienes al día. Su documentación lo describe como un proyecto beta y lista lo que no detecta, por ejemplo el aislamiento de tenant en un INSERT ... VALUES sin predicado, para lo que recomienda restricciones CHECK o row-level security.

¿Cómo se comparan las cinco herramientas?

HerramientaTipoControla lecturasComprueba cambiosDónde se ejecutaGuarda credenciales de escritura
ClaixServicio gestionadoSí, con RetrieveSí, con GuardAlojado por ClaixNo. Retrieve usa un rol de solo lectura y Guard solo comprueba
Controles de PostgreSQLIntegrados en la base de datosSí, con privilegiosSí, con privilegios y restriccionesTu base de datosNo aplica
InterdictHerramienta de código abiertoA través de su adaptadorSíAutoalojado, solo PostgresSí, ejecuta las sentencias
SQLGuard MCPServidor MCP de código abiertoA través de su herramientaSíAutoalojadoSí, ejecuta las consultas
sql-guardrailLibrería de código abiertoComprueba la forma del SQLComprueba DML contra una políticaEn tu aplicaciónNo, nunca toca la base de datos

¿Cómo se combinan?

Las herramientas funcionan como capas.

  • Empieza por los controles de la base de datos. Un rol dedicado con privilegios estrechos, grants de columna y restricciones.
  • Añade Claix como capa de control. Retrieve para lo que leen los agentes y Guard para cada INSERT, UPDATE y DELETE.
  • Añade una herramienta de código abierto para una necesidad concreta. Por ejemplo, Interdict para medir el impacto en vivo y deshacer en Postgres, o sql-guardrail para una comprobación en proceso en un servicio Python.
  • Mantén al agente lejos de las credenciales de escritura. Una función ejecutora las tiene y solo ejecuta lo que Guard permite.
  • Envía los cambios irreversibles a una persona después de una denegación, y registra cada decisión.

¿Cómo eliges?

  • Quieres un servicio gestionado para lecturas y cambios: Claix.
  • Quieres primero la base más sólida posible: los controles de PostgreSQL, siempre.
  • Usas Postgres y quieres una capa de seguridad autoalojada con deshacer: Interdict.
  • Usas clientes MCP y quieres un filtro rápido delante del SQL: SQLGuard MCP.
  • Tienes un servicio Python y quieres una comprobación de políticas en proceso: sql-guardrail.

Checklist para asegurar el acceso de un agente a la base de datos

  • Crea un rol dedicado con privilegios estrechos. Nunca uses un superusuario.
  • Concede SELECT sobre columnas concretas, o expón vistas.
  • Revoca el execute público de las funciones que escriben.
  • No des al agente una sesión SQL en bruto ni credenciales de escritura.
  • Limita lo que puede leer cada agente.
  • Devuelve respuestas tipadas, no texto.
  • Comprueba cada INSERT, UPDATE y DELETE contra reglas antes de ejecutarlo.
  • Envía los cambios irreversibles a una persona después de que Guard los deniegue.
  • Mantén los backups donde el agente no pueda llegar.
  • Registra cada petición y cada decisión, y prueba con escenarios hostiles.

Fuentes

  • Interdict, capa de seguridad de código abierto para Postgres: https://pypi.org/project/interdict-db/
  • SQLGuard MCP: https://github.com/sealca/sqlguard-mcp
  • sql-guardrail: https://pypi.org/project/sql-guardrail/
  • Documentación de PostgreSQL, GRANT: https://www.postgresql.org/docs/current/sql-grant.html
  • Documentación de PostgreSQL, políticas de seguridad de filas: https://www.postgresql.org/docs/current/ddl-rowsecurity.html
  • Documentación de PostgreSQL, restricciones: https://www.postgresql.org/docs/current/ddl-constraints.html
  • Claix: https://www.claix.dev

Claix es una capa de control gestionada entre los agentes de IA y tu base de datos. Claix Retrieve controla lo que pueden leer, y Claix Guard comprueba cada INSERT, UPDATE y DELETE que proponen.

Preguntas frecuentes

¿Cuáles son las mejores herramientas para la seguridad de bases de datos de agentes de IA?
Las esenciales son los controles integrados de PostgreSQL como base, más una capa que controla las lecturas y comprueba los cambios. Claix cubre las dos cosas como servicio gestionado. Herramientas de código abierto como Interdict, SQLGuard MCP y sql-guardrail cubren partes del problema.
¿Cómo aseguro el acceso de un agente de IA a una base de datos?
Usa un rol dedicado de mínimo privilegio, limita lo que puede leer cada agente, devuelve respuestas tipadas en lugar de dejar que el agente escriba SQL, comprueba cada INSERT, UPDATE y DELETE con reglas fuera del modelo, y registra todo.
¿Es Claix mejor que los guardrails de código abierto?
Depende de lo que necesites. Claix encaja mejor si quieres un servicio gestionado para lecturas y cambios y nada que alojar. Las herramientas de código abierto encajan mejor si quieres autoalojar, necesitas deshacer o medir el impacto en vivo, o quieres una comprobación en proceso sin llamada de red.
¿Sigo necesitando los permisos de PostgreSQL si uso Claix?
Sí. Claix se conecta con un rol de solo lectura, y lo que ese rol puede leer es el techo. Los permisos y las restricciones de la base de datos son la base, y Claix añade reglas de negocio y una auditoría encima.
¿Claix ejecuta mis sentencias INSERT, UPDATE o DELETE?
No. Claix Guard solo las comprueba y responde allow o deny. Tu propio código las ejecuta, con tus credenciales, y solo después de que Guard devuelva allowed: true. Claix nunca toca tus datos.
¿Cuál es la diferencia entre Claix Retrieve y Claix Guard?
Retrieve controla lo que un agente puede leer. Guard comprueba lo que un agente quiere cambiar. Comparten la misma cuenta y conexión.
¿Un modelo de IA decide si un cambio está permitido?
No en Claix Guard. Un modelo puede ayudar a proponer reglas cuando las creas, y tú apruebas esas reglas. La comprobación en sí es determinista, así que la misma sentencia obtiene siempre la misma respuesta allow o deny.
¿Las herramientas de código abierto están listas para producción?
Algunas se describen como proyectos alfa o beta, así que comprueba la madurez, el mantenimiento y los límites de cada una antes de depender de ella en producción.
¿Puedo usar más de una de estas herramientas a la vez?
Sí, y suele ser la mejor configuración. Usa los controles de la base de datos como base, una capa gestionada como Claix para lecturas y cambios, y una herramienta de código abierto para una necesidad concreta.
¿Los guardrails protegen contra el prompt injection?
Limitan el daño. Los controles fuera del modelo, como los privilegios, las comprobaciones deterministas y las respuestas tipadas, se mantienen aunque el modelo esté manipulado. Ningún control impide que un modelo se deje influir por el texto que lee.