本文へスキップ
MameTechNews
バックエンド

公開GitHubに有効な認証情報が54万件超、失効の有無で残存率に差

## POINTS

  • 54万3699件が2026年7月も有効で、中央値784日、最古は2009年6月から残っていた。
  • 有効な認証情報の51.8%は接続文字列やGoogle APIキー、秘密鍵など既定のPush Protection対象外だった。
  • npmやGitHubトークンはほぼ失効済みだが、Google Cloudのサービスアカウントは半数超が有効のままだった。

セキュリティ企業Truffle Securityは、大規模言語モデルの学習用データセットThe Stack v3を使い、公開GitHubリポジトリ2億2455万3295件、約584億ファイルを調査した。データセットの収集は2025年8月7日に終わり、見つかった認証情報を2026年7月27〜28日に発行元へ照合したところ、54万3699件がまだ使えた。フォークや複数ファイルを数えると露出は110万3438件になる。GIGAZINEが10月2日に伝えている。

有効なまま残っていた期間の中央値は784日で、全体の10%は6.3年以上前から公開されていた。最古は2009年6月に更新されたファイル内のデータベース認証情報で、調査時点でも利用できた。リポジトリ名は、認証情報が今も有効なため公表していない。

GitHubのPush Protectionは、対応する形式の秘密を公開リポジトリへ送る操作を止める仕組みで、2024年2月から既定で有効になった。それでも54万3699件のうち19万9843件は、それ以降に公開されたファイルから見つかった。有効な認証情報の51.8%は、データベース接続文字列、Google APIキー、秘密鍵など、標準設定ではブロックされない種類だった。既定有効化の前後12カ月を比べると、保護対象の検出数はファイル100万件あたり53%減った。

残るかどうかは発行元の失効で分かれる。公開されたnpmトークン10万1886件で調査時に有効だったのは1件、GitHubトークン7万3048件では260件だった。一方、Google Cloudのサービスアカウント認証情報は12万6963件中6万9041件が有効だった。誤ってコミットした鍵は、検知の有無にかかわらず漏えいとして先に失効し、その後で履歴を整理する。2024年2月より前の履歴は、自分でスキャンする必要がある。