Proxy TCPAPI de runtimeMCPSDK (próximamente)

Agentes de IA y text-to-SQL: limita lo que el agente puede ejecutar

Un agente que traduce preguntas a SQL puede generar un DELETE sin WHERE, leer columnas que no debería o seguir una instrucción inyectada en un ticket. Vericto no ve el prompt, solo el SQL: lo evalúa en el proxy TCP, en la API de runtime o, mientras un agente de código escribe, por MCP.

Diagrama: agentes de IA y text-to-SQL con VerictoUna pregunta en lenguaje natural llega a un agente de IA, que genera SQL. En tu infraestructura, el SQL pasa por el proxy de Vericto, que aplica la allowlist del agente (VERICTO-087) y el enmascaramiento (VERICTO-085) antes de PostgreSQL o MySQL; si lo bloquea, el agente recibe la regla. En Vericto Cloud, la API de runtime decide antes de ejecutar, a través del SDK para LangChain y LlamaIndex, que es próximamente; y MCP devuelve a un agente de código el veredicto de check_sql sin ejecutar nada.Tu infraestructuraVericto Cloudbloqueada: vuelve la reglaPreguntalenguaje naturalAgente de IAgenera SQLProxy de Verictoallowlist 087 · máscara 085Evalúa aquíBase de datosPostgreSQL o MySQLSDK de VerictoLangChain · LlamaIndexPróximamenteAPI de runtimedecide antes de ejecutarEvalúa aquíAgente de códigoClaude Code, CopilotMCP: check_sqlveredicto, nada se ejecutaEvalúa aquíDiagrama: agentes de IA y text-to-SQL con VerictoUna pregunta en lenguaje natural llega a un agente de IA, que genera SQL. En tu infraestructura, el SQL pasa por el proxy de Vericto, que aplica la allowlist del agente (VERICTO-087) y el enmascaramiento (VERICTO-085) antes de PostgreSQL o MySQL; si lo bloquea, el agente recibe la regla. En Vericto Cloud, la API de runtime decide antes de ejecutar, a través del SDK para LangChain y LlamaIndex, que es próximamente; y MCP devuelve a un agente de código el veredicto de check_sql sin ejecutar nada.Tu infraestructuraVericto CloudSQL generadoPreguntalenguaje naturalAgente de IAgenera SQLProxy de Verictoallowlist 087 · máscara 085Evalúa aquíBase de datosPostgreSQL o MySQLSDK de VerictoLangChain · LlamaIndexPróximamenteAPI de runtimedecide antes de ejecutarEvalúa aquíMCP: check_sqlveredicto, nada se ejecutaEvalúa aquíAgente de códigoClaude Code, Copilot
  • Ruta de la sentencia SQL
  • Sentencia bloqueada: vuelve un error
  • Donde Vericto evalúa
  • Componente de Vericto que no evalúa
  • Próximamente: aún no disponible
Arriba, el camino que impone las reglas en producción: el proxy. En medio, la API de runtime, que la herramienta SQL del agente consulta antes de ejecutar (los SDK que lo harán por ti son próximamente). Abajo, MCP para agentes de código.

Qué protege

  • VERICTO-087, acceso de agentes (Team y Enterprise): una allowlist de tablas y columnas por identidad, en lectura o lectura y escritura. Empieza en observe, pasa a enforce, y todo lo demás se deniega.
  • VERICTO-085, columnas sensibles (Team y Enterprise): en el proxy, una columna etiquetada mask llega enmascarada al agente y una block no se lee. La API de runtime y MCP devuelven la query aprobada (rewritten_query, approved_query), que tu código debe ejecutar en lugar de la original.
  • VERICTO-001, 042, 010 y 011: el SQL destructivo que un LLM genera ante un pedido ambiguo.
  • VERICTO-090: tautologías como OR 1=1, típicas de una instrucción inyectada.
  • VERICTO-050 y 051: SELECT sin LIMIT o SELECT * sin WHERE, que se marcan para que veas qué agentes leen tablas enteras.

La identidad cambia según el modo: en el proxy es el usuario de base de datos de la sesión; en la API de runtime y MCP, la API key. Usa un usuario o una key por agente. La allowlist se impone en el proxy; en los demás modos es una decisión que tu código respeta.

Latencia y disponibilidad

Proxy: un salto de red y la evaluación en su propio proceso.

Para el parsing y la evaluación de reglas, el objetivo de diseño es p99 < 2 ms. Es un objetivo, no una medición: el benchmark de latencia del proxy todavía no está publicado.

API de runtime: una llamada HTTP por sentencia, antes de ejecutarla. No publicamos todavía una cifra para ese round trip: mídelo desde tu región. Tiene un límite de seguridad de 100 solicitudes por segundo por API key. MCP queda fuera del camino de ejecución, y cada statement cuenta en la cuota de validaciones.

La API de runtime, la API de validación y MCP corren en Vericto Cloud, con un SLA de 99,5% en Builder y de 99,9% en Team y Enterprise (99,95% y 99,99% con despliegue dedicado). El estado del servicio, en la página de estado.

Cómo implementarlo

  1. Crea un usuario de base de datos para el agente y conéctalo a través del proxy TCP (Postgres o MySQL): el agente no cambia, solo su connection string.
  2. En el dashboard, crea la allowlist del agente en observe, déjalo trabajar y simula la política contra sus queries de los últimos 7 días.
  3. Etiqueta las columnas sensibles (email, tarjeta, documento) con mask o block.
  4. Pasa la allowlist a enforce: lo que queda fuera se bloquea con VERICTO-087.
  5. Sin proxy (Oracle, SQL Server o un agente que no puedes reconectar), llama a la API de runtime desde la herramienta SQL del agente y ejecuta solo si la respuesta es 200, usando rewritten_query cuando venga.
  6. Para agentes de código (Claude Code, Copilot, Kiro), conecta el servidor MCP para que validen el SQL con check_sql mientras lo escriben.

Próximamente: los SDK de Vericto para Python y Node, con integraciones para LangChain y LlamaIndex que consultarán la API de runtime antes de cada ejecución. Todavía no están publicados en PyPI ni en npm; hasta entonces, usa el proxy o la API de runtime directamente.

Cuándo no usar esta opción

  • Como única defensa. Vericto es defensa en profundidad: los roles, los permisos y el row-level security de tu base siguen siendo la primera línea. Si el agente solo lee un conjunto fijo de datos, una vista o una réplica de solo lectura con su propio rol puede bastar.
  • Para detectar la inyección de prompts. Vericto no ve el prompt: limita lo que una inyección exitosa puede hacer con el SQL.
  • MCP como control. Un agente puede ignorar el veredicto. Para imponer las reglas en runtime, usa el proxy.
  • Vistas, funciones y triggers. Vericto no conoce tu esquema: una vista o una función sobre una tabla no se resuelve a esa tabla en la allowlist.

Disponibilidad por plan

FunciónFreeBuilderTeamEnterprise
Proxy TCP (PostgreSQL y MySQL)SíSíSíSí
API de runtimeSíSíSíSí
MCP (check_sql)SíSíSíSí
Validaciones de CLI y MCP1K al mes10K al mesIlimitadasIlimitadas
Allowlists por agente (VERICTO-087)——SíSí
Columnas sensibles y enmascaramiento (VERICTO-085)——SíSí
SDK de Python y Node (LangChain, LlamaIndex)Próximamente

Precios y todos los límites en Precios.

Pruébalo con tu propio SQL

El plan Free incluye 500K queries al mes y 1.000 validaciones de CLI y MCP, sin tarjeta de crédito. Para despliegues en tu VPC, SSO y SLA dedicados, habla con ventas.