回到頂部
概念插畫:深藍紙織帶斷成兩段,兩個斷口分離,旁邊留下小片赭色纖維,表達外洩後要切斷原有存取能力

GitHub AI 抓密碼,誰來處理外洩?

GitHub 新憑證模型會讀程式碼上下文,找出沒有固定格式的密碼。既有警示已升級,推送檢查仍在預覽;從確認服務、更新憑證到查核紀錄,說清楚警示之後誰要接手。

內容查核: 來源查核:

有些外洩密碼沒有供應商前綴,也沒有固定長度,光比對字串格式很難認出來。 GitHub 10 月 7 日公布的新模型,會連同周圍程式碼判斷一段文字是否可能是憑證,將 AI 偵測往推送程式碼之前延伸。既有 AI 密碼警示已自動換用新模型,新的推送檢查仍在私人預覽。

這項更新的價值,是讓沒有標準格式的密碼更早進入安全人員的視野。對替客戶維護網站、資料庫或內部系統的台灣開發團隊,下一個問題則是:收到警示的工程師,通常不是所有服務憑證的擁有人。偵測之後,仍要有人接手實際的服務更新。

讀上下文,補上格式比對的缺口

GitHub 的支援類型文件把偵測分成供應商金鑰、一般格式與 AI 類型。前兩者主要靠規則辨識,例如供應商權杖的格式、私鑰標頭;AI 類型則處理密碼這類沒有一致外觀的敏感文字。新模型專為這項分類工作調整,不負責生成程式或文章。

可以把差別想成「看這串字長什麼樣」,與「看它在程式裡做什麼」。若文字被放在連線設定裡,周圍資訊就能提供判斷線索。這是偵測方法的差別;GitHub 並未在這次公告提供可供獨立比較的準確率,本文也無法據此判定誤報會減少多少。

三個使用位置的進度各不相同,費用也分開:

使用位置目前進度與費用
儲存庫的 AI 密碼警示既有掃描已升級,仍包含在 Secret Protection/Advanced Security 權益內,不另加費
推送時的 AI 憑證檢查私人預覽;公告預告自選新檢查將消耗 AI Credits
Copilot /security-review 額外憑證檢查預告將進入私人預覽,新檢查預設關閉,執行命令不會自行啟用

既有的 Copilot 安全審查代理採唯讀方式回報漏洞,新增分類模型也不會讓它取得線上服務的修改權限。若日後開啟付費檢查,預算通知與停止使用的設定要分開處理:只有寄出通知,費用仍可能繼續累積。其他審查的公司付費選項可另看 Copilot 計費更新。

找到密碼後,工作轉到服務負責人手上

憑證掃描會檢查所有分支的 Git 歷史。因此,最新檔案已經刪掉密碼,過去的提交仍可能留著副本;真正需要停止的是舊憑證對服務的存取能力。

以網站工作室替客戶維護訂單系統為例:開發者可以從警示定位哪次提交、哪個連線設定出了問題,客戶的資料庫管理者才有權更換密碼。接著還有部署人員,要把網站、排程或其他使用同一憑證的服務改用新值。這是示意分工,不是 GitHub 提供的實測案例。

依官方補救指南,已提交的憑證應視為遭洩露,更新使用舊憑證的服務,並依供應商查看是否有未授權活動。對團隊而言,警示至少需要三個明確交接結果:服務負責人處理舊憑證,部署人員更新相依服務,事件處理人員查看存取紀錄。小團隊可能由同一人完成,但三件事都要有結果。

一般密碼目前沒有自動有效性檢查,AI 警示本身不能證明它仍能登入。GitHub 的「Report leak」代為撤銷流程,也只適用符合條件的 GitHub 個人存取權杖,不能拿來處理客戶資料庫密碼。相關工具背景可參考 Copilot 指南。

這次更新值得用來提早找問題,但導入時應把警示送給能處理該服務的人。 等憑證、相依服務與查核都完成,再留下理由關閉警示,才能避免開發者刪完一行程式,客戶的舊密碼卻還能使用。若收到的是開源漏洞報告,則可接著看 OSS Scanner 的維護者分工。

常見問題

新的 AI 憑證偵測已全面開放嗎?

既有 AI 密碼警示已升級;AI 推送檢查在私人預覽,Copilot 額外憑證檢查則尚待私人預覽。不能把新模型的發布視為三個入口都已全面開放。

從儲存庫刪掉密碼,就能結案嗎?

不能。刪除文字不會撤銷憑證,也不會自動關閉警示。應由服務負責人處理舊憑證,更新相依服務並完成查核,再記錄結案理由。

執行 Copilot 安全審查會自動幫我改密碼嗎?

不會。內建安全審查採唯讀方式回報,新分類檢查也預設關閉。修改線上憑證需要另有服務權限與部署安排。

參考來源

№ · further reading

延伸閱讀