GitHub 公布了一個專門偵測「通用型密鑰」的 AI 分類模型,用來解決程式碼裡最難抓的洩漏密鑰問題:這類密鑰沒有固定格式,常常長得跟說明文件裡的範例字串、測試用假資料很像,過去的偵測方式很容易誤判,造成大量假警報,讓安全團隊疲於奔命。
新系統分兩階段運作:第一階段先用正規表達式(regex)快速掃出所有「看起來像密鑰」的候選字串,確保不漏掉真正的洩漏;第二階段則由微調過的 ModernBERT 模型,根據候選字串本身、檔案路徑、密鑰類型與周邊程式碼內容,判斷這串字到底是不是真的密鑰。訓練資料結合了真實案例、經人工標註的候選字串,以及針對說明文件、檢查碼等困難情境特製的合成範例,模型最後還轉成 ONNX 格式並做 8 位元量化,讓推論速度更快。
根據 GitHub 公布的數字,新模型讓儲存庫擁有者對警報的接受率提高 11.5%,推送後掃描的執行時間中位數降低 86%,相較舊的大型語言模型方案省下 98% 的成本,離線測試中的精準率與召回率也分別提高 13% 與 19%。這套模型現在也用在 push protection 上,能在程式碼被推送、進入儲存庫之前就先擋下洩漏的密鑰。
這則新聞偏向資訊安全與 AI 工程面,但背後的概念其實很貼近初學者:寫程式時把密碼、金鑰直接寫在程式碼裡是很危險的習慣,GitHub 投入大量工程資源就是為了在這種失誤發生前先抓出來。對正在學程式的孩子來說,養成不把機密資訊寫進程式碼、改用環境變數或設定檔管理的習慣,是很值得從一開始就建立的安全觀念。
AI資安開發工具