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 或工具變更後重新執行。