2023年の GitHub:全体で 1200万件のシークレットが漏えいしてしまった

Over 12 million auth secrets and keys leaked on GitHub in 2023

2024/03/11 BleepingComputer — 2023年に GitHub ユーザーが、誤って公開してしまった認証や機密のシークレットは 1280万件に達し、それらは 300万以上の公開リポジトリ上に存在している。GitGuardian のサイバー・セキュリティ専門家たちによると、シークレットを暴露してしまった人々に 180万通の無料メール・アラートを送ったが、連絡を受けた人たちのうち、誤りを修正するために迅速に行動したのは、僅か 1.8% に過ぎなかったという。


公開されてしまったシークレットに含まれるのは、アカウントパスワード/API キー/TLS SSL証明書/暗号化キー/クラウドサービス認証情報/OAuth トークンなどである。それらが外部の脅威アクターに悪用されると、さまざまなプライベート・リソースやサービスへの無制限の不正アクセスが生じ、データ漏洩や金銭的な損害につながる可能性がある。

2023 Sophos Report では、昨年の上半期に記録された全攻撃において、根本的な原因の 50% が漏洩した認証情報だとされ、それに続く 23% が脆弱性の悪用だったと強調されている。

GitGuardian によると、世界で最も人気のあるコード・ホスティング/コラボレーションのプラットフォームである GitHub において、2020年以降のシークレット暴露はネガティブなトレンドにあるという。

Secrets exposed on GitHub each year
Millions of secrets exposed on GitHub each year (GitGuardian)

2023年において、最も漏えい多かった国々は、インド/米国/ブラジル/中国/フランス/カナダ/ベトナム/インドネシア/韓国/ドイツである。

また、最も機密が流出した分野は、IT が 65.9%でトップであり、二番手が教育 の20.1% である。三番手は 14% の科学/小売/製造/金融/行政/医療/娯楽/運輸となっている。

GitGuardian の汎用的な検出機能により、2023年に漏洩したシークレットの約 45% が補足されている。その結果を分析すると、以下のようになる。

Top 10 generic secrets
Top 10 generic secrets (GitGuardian)

流出したシークレットを特定し、より具体的なカテゴリーに分類した結果としては、Google API と Google Cloud のキー/MongoDB の認証情報/OpenWeatherMapとTelegram のボットトークン/MySQL と PostgreSQL の認証情報/GitHub の OAuthキーなどの、大量流出が示されている。

Top 10 valid specific secrets
Top 10 valid specific secrets (GitGuardian)

公開されたシークレットの 2.6% は、最初の1時間以内に失効しているが、GitGuardian が監視を停止する5日後であっても、なんと 91.6% は有効な状態であったという。Riot Games/GitHub/OpenAI/AWS は、悪質なコミットを検出して状況を改善するための、最高の対応メカニズムを持っているようだ。

AI トレンド

生成 AIツールは、2023年も爆発的な成長を続けた。それは、昨年に GitHub で公開されたシークレットの件数にも反映されている。

GitGuardian によると、GitHub 上で流出した OpenAI API キーの数は、2022年との比較において 1,212倍へと大幅に増加したという。1ヶ月の平均で、46,441個の API キーが流出し、レポートの中で最も高い成長データポイントを達成している。

OpenAI は ChatGPT や DALL-E などの製品を提供しており、技術コミュニティ以外でも、それらは広く利用されている。多くの企業や従業員が、ChatGPT のプロンプトに機密情報を入力しているため、それらのキーの流出はきわめて危険である。

オープンソースの AI モデル・リポジトリである HuggingFace でも、流出したシークレットが急増している。つまり、研究者や開発者の間で、AI の人気が高まっていることにダイレクトに関係している。

Monthly key leaks
Monthly key leaks (GitGuardian)

Cohere/Claude/Clarifai/Google Bard/Pinecone/Replicate などの AI サービスにおいても、はるかに低いレベルではあるが、シークレットの漏えいがあった。

GitGuardian によると、AI サービスを利用している人たちは、より安全にシークレットを保護する必要がある。AI 技術は、シークレットを検出し、安全に保護するためにも利用できるはずだ。

同社によると、大規模言語モデル (LLM) を活用すれば、漏えいしたシークレットを素早く分類し、誤検知を少なくできるという。しかし、このような試みが困難な理由としては、大規模な運用規模/コストと時間の問題/識別の効率性などが挙げられるという。

先月に GitHub は、新しいコードをプラットフォームにプッシュする際に、誤ってシークレット漏れるのを防ぐための、プッシュ保護をデフォルトで有効化している。