mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-08-10 08:21:54 +00:00
The page claimed read-only mode blocked "multi-statement queries containing semicolons" and said nothing about CTEs, EXPLAIN ANALYZE, or the fact that a SELECT can still reach the database server's filesystem. Both gaps matter now that those routes are enforced. - Replace the semicolon sentence with a table of every indirect write route blocked in read-only mode: multi-statement, writable CTEs (including AS MATERIALIZED), a write after a CTE, EXPLAIN ANALYZE, INTO OUTFILE, server-filesystem functions, and unparseable WITH statements. - Explain that analysis masks literals and comments, so `SELECT 'DROP TABLE users'` is allowed while `EXPLAIN /*x*/ ANALYZE DELETE ...` is blocked, and that a semicolon inside a literal no longer splits statements. - Document the new SET TRANSACTION READ ONLY backstop and which backends fall back without it. - Add a warning that these checks are defence in depth and a least-privileged read-only database role is the only complete control. Every example in the new table was verified against the implementation. Applied to en/ar/ko/pt-BR under docs/edge; the ko and pt-BR pages carry the warning inline as they have no Hardening Recommendations section. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
8.2 KiB
8.2 KiB