GitHubCopilot加入基於AI的程式碼密碼掃描功能

作者 | Steef-Jan Wiggers
譯者 | 明知山
策劃 | 丁曉昀
GitHub 在其 Copilot 功能中引入了一項基於 AI 的密碼掃描功能,該功能已經整合到 GitHub Secret Protection 中。透過上下文分析,這一新功能顯著提升了檢測程式碼洩露密碼的能力。與傳統的正則表示式方法相比,這種方法可以識別多樣化的密碼結構,並減少誤報數量。
GitHub 的一篇博文寫道,該系統現在會分析潛在的密碼使用和儲存位置,以減少無關警報,並提供更準確的通知,這對保證程式碼庫的安全來說至關重要。Sensis 高階軟體工程師 Sorin Moga 在領英上評論稱,這標誌著平臺安全進入了一個新時代,AI 不僅可以協助開發,還可以保障程式碼的完整性。
在這項功能的私密預覽階段,一個關鍵性挑戰是其對非傳統檔案型別和結構的處理存在困難,這突顯了僅依賴大語言模型初始訓練資料的侷限性。GitHub 最初採用的方法是利用 GPT-3.5-Turbo 的“少量樣本提示”(few-shot prompting)技術,為模型提供示例來指導檢測。
為了解決這些問題,GitHub 大幅增強了其離線評估框架,透過加入私有預覽參與者的反饋來豐富測試用例,並利用 GitHub 程式碼安全團隊的評估流程構建更強大的資料收集管道。他們甚至使用了 GPT-4,根據開原始碼庫中現有的密碼掃描警報生成新的測試用例。這種改進的評估方法能夠更好地衡量 精確率(降低誤報)和 召回率(減少漏報)。
GitHub 嘗試了多種技術來提高檢測質量,包括嘗試不同的 LLM 模型(例如將 GPT-4 作為驗證掃描器)、重複提示(“投票”)和多樣化的提示策略。最終,他們與微軟合作,採用了微軟的 MetaReflection 技術,這是一種離線強化學習形式,結合了思維鏈(Chain of Thought,CoT)和少量樣本提示來提高準確率。
正如 GitHub 的博文所述:
我們最終決定採用這些技術的組合,並正式公開預覽 Copilot 的密碼掃描功能,向所有 GitHub Secret Protection 的使用者全面開放。
為了進一步驗證這些改進,併為全面推出做好準備,GitHub 實現了一個“映象測試”框架。該框架涉及在公開預覽的一個子集程式碼庫上測試提示和過濾更改。透過使用最新的改進來重新掃描這些程式碼庫,GitHub 可以在不影響使用者的情況下評估對實際警報量和誤報解決的影響。
測試結果表明,檢測量和誤報量均顯著減少,對實際的密碼發現影響微乎其微。在某些情況下,誤報量甚至減少了 94%。博文總結道:
對比顯示,在私有和公開預覽階段所做的所有修改都提升了精確度,而且沒有降低召回率。我們已準備好為所有 GitHub Secret Protection 使用者提供一個可靠且高效的密碼檢測機制。
Copilot 團隊在開發過程中積累了寶貴的經驗教訓,包括重視準確性、根據使用者反饋採用多樣化的測試用例、有效管理資源以及促進團隊合作。這些經驗教訓也被應用到了 Copilot Autofix 專案中。自全面推出以來,Copilot 的密碼掃描功能已經成為安全配置的一部分,使用者可以決定掃描哪些程式碼庫。
檢視英文原文
https://www.infoq.com/news/2025/03/github-ai-copilot-secretscanning/
宣告:本文由 InfoQ 翻譯,未經許可禁止轉載。
今日好文推薦
7500 萬竟滾成 2.5 億巨坑,違約還沒後果!這家“皮包”科技公司把美政府“忽悠”瘸了,延期 2 年還不斷甩鍋!
Meta開源Llama 4,正面迎戰 DeepSeek!經過重新設計,首次採用MoE
DeepSeek打擊面太廣!新論文疑是R2釋出前兆,奧特曼火速“應戰”:o3即將上線,GPT-5免費放送!
“我已經過時了!”83歲圖靈獎大師、龍書作者在大模型時代的技術焦慮:新技術越來越難以適應

相關文章