CodeQL 开始检测 system prompt injection:把 AI 安全变成 CI 数据流问题
Tech
CodeQL 2.26.0 让用户输入、系统指令与工具描述之间的信任边界可以在 CI 中检查。
发生了什么
GitHub 于 2026 年 7 月 10 日发布 CodeQL 2.26.0。新查询 `js/system-prompt-injection` 会追踪不可信值流向 system prompt 和工具描述的路径。
为什么重要
该查询覆盖 OpenAI、Anthropic 与 Google GenAI SDK 的多种 API。建议把自由文本降到 user message 或结构化参数,必须进入可信指令的动态值则用固定 allowlist 限制。
社区信号
静态分析只是一层。运行时读取的网页、邮件和 RAG 内容需要 adversarial eval;工具调用仍要依靠服务器端授权、租户隔离和审批。
对开发与运维的影响
先用 audit mode 盘点存量问题,再把新增高置信路径设为 PR gate,并在模型、SDK、prompt 或工具变化后重新执行。
本周检查清单
✓更新 CodeQL bundle。
✓把自由文本移到 user message 或结构化 tool parameter。
✓在服务器端实施最小权限、租户范围和审批。
风险与反方观点
先用 audit mode 盘点存量问题,再把新增高置信路径设为 PR gate,并在模型、SDK、prompt 或工具变化后重新执行。