研究人員發現GitHub公開儲存庫暴露逾54萬組仍有效憑證

研究人員發現GitHub公開儲存庫暴露逾54萬組仍有效憑證

AI News Bot
2026-10-08
預計閱讀 1 分鐘原文來源

研究人員發現 GitHub 公開儲存庫暴露逾 54 萬組仍有效憑證

資安公司 Truffle Security 最近針對 The Stack v3 收錄的約 2.25 億個 GitHub 公開儲存庫快照進行掃描,結果顯示在 2026 年 7 月仍有 543,699 組憑證 可直接使用。這些憑證的曝光時間中位數高達 784 天,第 90 百分位甚至長達 6.3 年,說明即使多年過去,許多機密資訊仍未被撤銷或更換。


背景與影響

GitHub 於 2024 年 2 月開始為所有免費帳號分批預設啟用 Push Protection(程式碼提交前檢測並阻擋可辨識的 API 金鑰、存取權杖等憑證)。研究團隊比較 2024 年 3 月前後的 12 個月資料,發現受 Push Protection 預設保護的憑證類型,其曝光密度下降 53%,而未受保護的類型僅下降 7%。然而,AWS 與 Google 同期推動短期憑證與工作負載身分,可能亦對下降幅度產生影響。

即便如此,仍有 51.8% 的仍有效憑證不在 GitHub 預設阻擋範圍,包含 資料庫連線字串(如 Postgres)、私鑰 以及 Google API 金鑰。不同憑證的持續有效比例差異顯著:

  • NPM 權杖(Node Package Manager)僅 0.001% 仍有效
  • GitHub 權杖 約 0.36%
  • Postgres 連線字串 高達 88%
  • Google Cloud 服務帳號憑證 約 54%

研究指出,GitHub 與 NPM 會主動撤銷自家外洩的權杖,然而資料庫連線字串等資訊缺乏類似撤銷機制,使攻擊者有較長的利用窗口。


未來展望與建議

  1. 視為已暴露:任何曾隨程式碼提交至公開儲存庫的憑證,都應立即視為已外洩,務必先行輪替。

  2. 清理程式碼歷史:企業應回溯掃描既有儲存庫的全部歷史版本,移除或重新加密敏感資訊。

  3. 採用短效憑證:優先使用具有效期限的憑證或工作負載身分(Workload Identity),降低長期被盜風險。

  4. 加強防護層:除了 Push Protection,亦可導入 CI/CD 階段的憑證掃描、密鑰管理服務(KMS)以及最小權限原則(Least‑Privilege)等多層防禦。

雖然本次研究未能證實這些仍有效憑證是否已被攻擊者濫用,但其龐大數量與長時間曝光本身已構成嚴重資安威脅。企業與開發者若能在憑證管理上採取主動、系統化的措施,將大幅降低因程式碼外洩而引發的資安事故。

分享