AI 軟體安全
GitHub 開放 AI Scan 管理 API,但 AI 弱點發現仍不能阻擋合併
GitHub 新增組織與儲存庫層級 REST API,讓安全團隊能以程式批次部署 PR 的 AI 弱點掃描。掃描可補足 CodeQL 未覆蓋的語言與框架,但結果目前僅屬建議、消耗 AI credits,也不能納入 ruleset 作為合併門檻。

GitHub 於9月10日把 pull request 的 AI Scan 開關帶進 REST API。安全管理員現在可透過 `/orgs/{org}/code-scanning/ai-scan` 讀寫組織設定,並以 `/repos/{owner}/{repo}/code-scanning/ai-scan` 查詢或調整個別儲存庫;組織若停用,儲存庫不能自行覆寫。這讓企業能依風險、語言或試點批次建立部署清單,不必逐一操作網頁介面。
AI Scan 是 CodeQL 的補充而非替代品。它在 PR 建立及每次新增 commit 後執行,直接分析差異內容,並利用程式碼搜尋取得儲存庫脈絡,不需要建置專案。它使用專門提示,不讀取 `copilot-instructions.md` 或 `CLAUDE.md` 等自訂代理指令;即使 CodeQL 等待或失敗,AI 掃描仍可獨立完成。結果會與 CodeQL 警示一起出現在 Conversation 及 Files changed 頁面,部分發現可交由 Copilot Autofix 產生修補建議。
技術覆蓋面著重於 CodeQL 尚不完整支援的 PHP、Shell、Terraform HCL、Dockerfile,以及 JSP、Blazor 等框架缺口。現有類別包括字串注入、弱密碼學、存取控制錯誤、敏感資料外洩、SSRF、反序列化及供應鏈風險。這使它適合在多語言單體儲存庫中充當額外的 PR 審查訊號。
限制同樣明確:功能仍是 public preview,只支援 github.com,且需 GitHub Advanced Security 與 Copilot 授權並消耗 AI credits。它不執行完整儲存庫掃描,AI 發現也不會進入安全待辦清單,現階段不能透過 ruleset 阻擋合併。模型可能產生誤報,支援語言與分類也可能改變。導入團隊應先以 API 分批啟用,追蹤每個儲存庫的誤報率、處理時間與 credits,再決定是否擴大,而不應把它視為確定性的合規控制。