公開的 GitLab 程式碼庫洩漏了超過 17,000 個金鑰
安全工程師Luke Marshall 使用 TruffleHog 開源工具檢查儲存庫中的程式碼,掃描了 GitLab Cloud 上的所有 560 萬個公共儲存庫後,在超過 2800 個不同的網域中發現了超過 17,000 個暴露的金鑰。這一驚人的數字,揭示了全球軟體開發社群在管理敏感配置資訊方面普遍存在的疏忽與高風險行為。這些機密金鑰(Secrets)包括API令牌、資料庫密碼、加密金鑰或雲端服務憑證,一旦被惡意行為者取得,可能導致嚴重的資料外洩、雲端基礎設施遭接管或服務中斷。
該研究人員先前掃描了 Bitbucket,發現了 6212 個秘密訊息,分佈在 260 萬個程式碼庫中。他還檢查了用於訓練人工智慧模型的 Common Crawl 資料集,該資料集暴露了 12000 個有效秘密資訊。洩漏的金鑰數量最多,超過5200 個,其中 Google Cloud Platform(GCP) 憑證數量最多,其次是 MongoDB 金鑰、Telegram 機器人令牌和 OpenAI 金鑰。GCP憑證數量居首,強烈暗示許多組織在進行雲原生開發時,習慣性地將用於自動化或應用程式存取的服務帳戶金鑰直接硬編碼(Hardcode)於程式碼中,並在無意中推送到公共儲存庫。這種做法為攻擊者提供了繞過傳統登入機制的後門。

程式碼託管平台上的機密洩露是一個持續存在的難題,其根源在於開發人員的便利性需求與安全最佳實踐之間的衝突。許多開發人員為了加速部署和測試,往往選擇將金鑰直接寫入配置檔案或程式碼中,而非採用金鑰管理系統(KMS)或環境變數等安全機制。這也反映出許多團隊缺乏嚴格的程式碼審查流程和DevSecOps文化,未能將自動化的機密檢測工具整合到持續整合/持續部署(CI/CD)管線中。
該研究人員報告稱,許多組織在他的通知下撤回了他們的密鑰。然而,仍有數量不明的金鑰在 GitLab 上持續洩漏。這持續洩漏的現象令人擔憂,不僅突顯了對通知反應遲緩的問題,也顯示出組織在輪換和廢除(Revoking)被洩露金鑰方面存在流程上的缺陷。為徹底解決此問題,企業必須強制實施機密管理最佳實踐,要求開發人員使用專門的密鑰庫,並在程式碼提交前進行預掃描(Pre-commit Scanning)。此外,即使是公共儲存庫,組織也應定期使用如TruffleHog或類似的SAST(靜態應用程式安全測試)工具進行深度和歷史程式碼掃描,以確保所有敏感憑證均已被移除和輪換,從而有效保障軟體供應鏈的安全性。
資料來源:https://www.bleepingcomputer.com/news/security/public-gitlab-repositories-exposed-more-than-17-000-secrets/
GitLab Cloud上超過560萬個公共儲存庫中發生的機密金鑰大量洩露事件,共計逾17,000組憑證暴露。