Why an operation allowlist is not enough: the case of UPDATE without WHERE
Operation allowlists decide on the first token of the query. But an agent that generates UPDATE products SET price = 0 without WHERE, a DELETE … WHERE 1=1 or a DROP inside a DO block gets past that filter. This is how AST parsing catches what the allowlist lets through.
Post-mortem of a scenario: how a LangChain agent can delete every user in production
An illustrative scenario built on a documented pattern: a LangChain agent with write access to Postgres generates a DELETE FROM users without WHERE from an ambiguous request. The full failure path and which control would have stopped it.
AST parsing for SQL security: how pg_query works under the hood
pg_query is the binding for libpg_query, which packages the parser from the PostgreSQL source code. We show how Vericto uses it to build the complete syntax tree of every query and evaluate the rules on it.
How to use the Vericto audit trail as evidence in a SOC 2 audit
The audit trail, the signed PDF report and the control mapping: SOC 2 evidence ready to hand to the auditor.
MCP servers and SQL security: the ecosystem growing without a protection layer
MCP servers expose databases directly to AI agents, and several that advertise a read-only mode turned out not to be. What fails in that model and which control layer is missing.
Shift-left SQL security: validating migrations in CI/CD before deploy
How to add vericto check to GitHub Actions to catch destructive queries in migrations before they reach the database.
Benchmark: what the Vericto proxy adds over a direct connection
The method and results of the proxy benchmark run on staging on October 16, 2026: the latency it adds at p50 and p99 over a direct connection, on PostgreSQL and MySQL, and how many statements per second a 0.25 vCPU instance handles.