SQL 藏进字符串字面量即可绕过 LLM 门控,schemagate 1.15.1 修复
Temporary_Papaya1058 · reddit · 2026-10-29
安全研究员 Artur Chlebicki 报告了 schemagate(text-to-SQL agent 的开源访问层)的一个绕过漏洞:外部查询不直接引用任何表名,而是把真正的查询藏在字符串字面量里传给能在服务端执行 SQL 的函数,例如 Postgres 的 querytoxml('SELECT FROM hrcompensation', ...)。只检查"SQL 触及哪些表"的门控看不到任何表名就会放行。同类漏洞在 Oracle(DBMSXMLGEN.GETXML)和 SQL Server(OPENQUERY/spexecutesql)中同样存在。
1.15.1 的修复包括:拒绝所有从字符串执行 SQL 的函数(Postgres toxml/dblink、Oracle DBMS/UTL、SQL Server OPENROWSET/xp、Snowflake IDENTIFIER() 等);兜底策略是拒绝任何"看起来像查询且引用了隐藏表的字符串"参数;新增 31 个测试(其中 23 个在 1.15.0 上失败)。作者坦承仍有缺口:通过拼接构造、传给未被列入清单的函数的字符串仍可能穿透;解析器级门控只能收窄风险,真正锁死还要靠只读数据库授权。给自建类似门控者的建议:用藏在字符串里的 SQL 测试你的门控。
「编程与Agent」频道最新
- Agent 30 秒干活 5 分钟核查:自动化省下的时间去哪了 — djgoel123 · 2026-10-29
- Gemini 上线 Customize 中枢:统一管理自定义技能与关联应用 — sysrpl · 2026-10-29
- 新方法超 GEPA 约 14%:结构化搜索 + prompt 性能上限估计 — sanmikoyejo · 2026-10-29
- 苍何新书《Codex 从入门到精通》出版,面向新手实战教学 — lxfater · 2026-10-29
- 上交大 TAO 调度框架:工具感知使 Agent 服务延迟最多降 26.8% — AIOR-Research · 2026-10-29
- 网友用 Claude 一天写出完整 3D 大富翁游戏 — sysrpl · 2026-10-29