1万件のDockerイメージがインターネット上にライブなクラウド認証情報をばらまいている

Docker Hubは静かに、ライブなクラウドキーや認証情報の宝庫となっており、1万件以上のパブリックコンテナイメージが、フォーチュン500企業や大手銀行を含む100社以上の企業からの機密情報をさらしている。

これは、カナダのサイバーセキュリティ企業Flareのセキュリティ研究者らによるもので、彼らが2025年11月にアップロードされたDocker Hubイメージを分析したところ、1万456個のコンテナから1つ以上のシークレットが漏えいしていることが判明したという。その多くは本番システム、クラウドサービス、CI/CDパイプライン、AIプラットフォームへのアクセスを許可するもので、不正なイメージのほぼ半数には5つ以上の値が露出していた。つまり、1回のpullだけで、攻撃者が重要インフラ全体を自由に動き回るのに十分な数のキーを手に入れられる可能性があるということだ。

露出しているシークレットは、理論上のテスト用トークンやプレースホルダーではなく、実際に有効な認証情報を含んでいる。最も一般的に検出されたカテゴリは、大規模言語モデルやその他のAIサービス向けのAPIキーで、野ざらし状態で見つかったモデルアクセス用トークンは約4,000件に上った。これは、開発者によるAI導入のスピードが、セキュリティ衛生のレベルを上回っている可能性を示している。

Flareの調査結果はまた、開発者が気付かないうちにシークレットをコンテナに含めてしまうことがいかに簡単かも示している。Dockerイメージはコードだけでなく、ビルドコンテキスト内にあるあらゆるものを取り込む。.envファイルからハードコードされたAPIキーまでだ。一度公開されると、そうした「うっかり」は誰でもpullできるイメージの一部となり、自動スキャナによって、誰かがミスに気付くよりはるか前に拾い上げられてしまう。

さらに悪いことに、こうした漏えいのかなりの部分は、いわゆる「シャドーIT」アカウントに起因している。つまり、正式な企業ガバナンスの枠外にいる個々の開発者、契約社員、小規模チームなどが所有するDocker Hubレジストリだ。これらのアカウントは、しばしばエンタープライズの監視やスキャンツールの対象外となるため、内部のアラームを一切鳴らすことなく、高価値の認証情報をホストしてしまう可能性がある。

「私たちは、フォーチュン500企業のシークレットが、個人のパブリックDocker Hubアカウントを通じて露出している事例を特定しました。おそらく従業員か契約社員のものと思われます」とFlareは述べている。「リポジトリを個人や組織と結び付ける明確な識別子は存在しませんでしたが、コンテナマニフェストには、複数の内部環境にアクセスできる非常に機密性の高い認証情報が含まれていました。」

Flareが収集した別の例では、ある大手国立銀行のシニアソフトウェアアーキテクトが運営するコンテナレジストリが関与していた。このアカウントには数百件のイメージがホストされており、そのうちいくつかはAI向けAPIトークンを漏えいしていた。しかし真に衝撃的だったのは、銀行に紐づく430件以上のコンテナが、実質的なアクセス制御なしに完全に公開状態になっていたことだ。つまり、個人的な実験から本番コンポーネントになり得るものまで、あらゆるものが事実上インターネットに公開されており、攻撃者に対して、その国で最も機密性の高い金融環境の1つへの格好の侵入口を提供していたことになる。

開発者がシークレットを露出させてしまったことに気付き、イメージやマニフェストから削除したとしても、基盤となる認証情報が失効されることはほとんどない。Flareは、公開済みイメージからシークレットが削除されたケースのおよそ75パーセントで、キーやトークン自体は依然として有効なままだったと指摘している。つまり、露出期間中にそれを入手した者は、今でも利用できる可能性があるということだ。

この流出を食い止めるために、Flareは開発者に対し、ビルド時にシークレットをイメージへ埋め込むのをやめ、専用のシークレット管理ツールやボールト、短命な(エフェメラル)認証情報、そしてパブリックレジストリへアーティファクトをプッシュする前の自動スキャンを利用するよう強く求めている。こうした変化がなければ、次の大規模な情報漏えいは、ゼロデイ脆弱性の悪用ではなく、何の変哲もないDocker pullから始まるかもしれない。®

翻訳元: https://go.theregister.com/feed/www.theregister.com/2025/12/11/docker_hub_secrets_leak/

ソース: go.theregister.com