
1万を超えるDocker Hubコンテナイメージから、本来保護されるべきデータが露出しており、その中には本番環境への有効な認証情報、CI/CDデータベース、LLMモデルキーなどが含まれていることが判明しました。
これらのシークレットは100社強の組織に影響しており、その中にはフォーチュン500企業や大手の国内銀行も含まれています。
Docker Hubは、開発者がアプリケーションの実行に必要なすべてを含む、すぐに使えるDockerイメージをアップロード、ホスト、共有、配布するための、最大規模のコンテナレジストリです。
開発者は通常、ソフトウェアの開発からデプロイまでのライフサイクル全体を効率化するためにDockerイメージを利用します。しかし、過去の調査が示しているように、これらのイメージを作成する際の不注意により、長期間有効なままのシークレットが露出してしまう可能性があります。
11月にDocker Hubへアップロードされたコンテナイメージをスキャンしたところ、脅威インテリジェンス企業Flareのセキュリティ研究者は、そのうち10,456個のイメージから1つ以上のキーが露出していることを発見しました。
最も頻繁に見つかったシークレットは、各種AIモデル(OpenAI、HuggingFace、Anthropic、Gemini、Groq)へのアクセス用トークンでした。研究者らは合計で4,000個のこの種のキーを確認しました。
スキャンしたイメージを精査したところ、42%のイメージで少なくとも5つの機密値が露出していることが判明しました。
「これらの複数シークレットの露出は重大なリスクを意味します。というのも、多くの場合、クラウド環境、Gitリポジトリ、CI/CDシステム、決済連携、その他の中核インフラコンポーネントへの完全なアクセスを提供してしまうためです」と、Flareは本日公開したレポートで述べています。

出典: Flare
205のネームスペースを分析した結果、研究者らは合計101社の企業を特定しました。その多くは中小企業でしたが、いくつかの大企業もデータセットに含まれていました。
分析によると、シークレットを露出していた組織の大半はソフトウェア開発分野に属しており、次いで市場・産業分野、AI・インテリジェントシステム分野の組織が続きます。
10社を超える金融・銀行関連企業でも機密データが露出していました。

出典: Flare
研究者によると、最も頻繁に見られた誤りの1つは、開発者がデータベースの認証情報、クラウドアクセスキー、トークン、各種プロジェクトの認証データを保存するために使用する .ENV ファイルの利用方法でした。
さらに、AIサービス向けのAPIトークンがPythonアプリケーションファイル、config.jsonファイル、YAML設定、GitHubトークン、複数の内部環境向け認証情報などにハードコードされているケースも確認されました。
一部の機密データは、イメージに関する詳細を記載するDockerイメージのマニフェストファイル内にも存在していました。
多くの漏えいは、いわゆる「シャドーIT」アカウント、すなわち個人利用や外部委託先が保有するなど、より厳格な企業の監視メカニズムの対象外となっているDocker Hubアカウントに由来しているようです。
Flareによると、Docker Hub上で誤ってシークレットを露出してしまった開発者のおよそ25%は、ミスに気づいてから48時間以内に、コンテナまたはマニフェストファイルから漏えいしたシークレットを削除していました。
しかし、そのうち75%のケースでは、漏えいしたキーが失効されておらず、露出期間中にキーを盗んだ者が、その後も攻撃に利用できる状態のままでした。

出典: Flare
Flareは、開発者に対し、コンテナイメージ内にシークレットを保存しないこと、静的で長期間有効な認証情報の使用をやめること、専用のボールトやシークレットマネージャーを用いてシークレット管理を一元化することを推奨しています。
組織は、ソフトウェア開発ライフサイクル全体にわたって能動的なスキャンを実施し、露出したシークレットの失効と古いセッションの無効化を即座に行うべきです。