CodeQL 开始检测 system prompt injection:把 AI 安全变成 CI 数据流问题

Tech

CodeQL 2.26.0 让用户输入、系统指令与工具描述之间的信任边界可以在 CI 中检查。

CodeQL 2.26.0 让用户输入、系统指令与工具描述之间的信任边界可以在 CI 中检查。
静态分析只是一层。运行时读取的网页、邮件和 RAG 内容需要 adversarial eval;工具调用仍要依靠服务器端授权、租户隔离和审批。

发生了什么

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 或工具变化后重新执行。

来源