昨年5月にDocker Hardened Images(DHI)をリリースしてからもうすぐ1年が経ちますが、今月初めにマイルストーンを迎えたことで、実際に私たちが何を作ってきたのかを振り返りました。
今月初め、SLSAビルドレベル3パイプラインで、1日あたり500,000件以上のDHIプルと25,000件以上のOSレベルの連続パッチパッチを完了しました。昨年末に無料のDHIコミュニティ層を立ち上げて以来、カタログは 2、000+ハード化された画像、MCPサーバー、ヘルムチャート、ELS画像に拡大しました。CVE、ディストリビューション、バージョンを越えてすべてのアーティファクトを継続的にパッチアップしているため、現在は100万以上のビルドを定期的に稼働させており、これから始まったばかりです。カタログのカバー範囲は、より多くのDebianパッケージ、ELSイメージ、新しいアーティファクトタイプが追加されることで、まもなく再び拡大するでしょう。
しかし、興味深いのは数字ではありません。重要なのは、どうやってここに至ったかだ。
私たちは意図的により難しい道を選びました。私たちが下した製品やエンジニアリングの決定は、常に構築や運用が難しかったものの、開発者やエコシステムのセキュリティにとっては良い結果でした。ハードドイメージを無料でオープンソースにしました。私たちはマルチディストリビューション製品を構築したため、導入はベンダーの独自OSへの移行を意味しません。既に運用しているディストリビューションのシステムパッケージはソースからビルドしています。私たちはすべての画像に多数の署名入り証明書を提出しています。なぜなら、独立した検証可能性が実際にそれを必要とするからです。
その過程で、業界全体が同じ問題にどのように取り組んでいるかも詳しく調べ、パッチのタイムライン、SBOMの完全性、アドバイザリーカバレッジのパターンが見つかり、強化画像プロバイダーを評価する前に理解しておく価値があります。
強化イメージを広く公開し、各チームがセキュリティ基準を上げられるようにしました
私たちはインターネットのセキュリティ体制に本当の打撃を与えたかったので、ハードな画像を広くアクセス可能にする必要がありました。だからこそ、業界の慣習のようにカタログをゲート付きの有料壁にするのではなく、すべての開発者に無料で提供しました。
この規模で強化されたイメージパイプラインを構築し維持するのは簡単なことではありません。私たちは10年以上にわたり、Docker Official Imagesを使ってコミュニティのために無料でこれを行ってきたので、それがわかります。
許可されたアパッチ・ 2のもとでDHIコミュニティがリリースされました。ライセンス0 、エコシステム全体のセキュリティ基準を引き上げました。セキュリティはプレミアム機能であるべきではありません。このような影響力は、規模で実現できるのは、財団が開かれているからこそです。
私たちはマルチディストリビューションを構築し、導入がドロップインできるようにし、移行税を課すことはありません
この分野の一部のベンダーは、まったく新しいLinuxディストリビューションを「ディストロレス」と呼びましたが、実際にはチームが一度も運用・テスト・監査したことのない独自のOSであることを考えると、これは驚くべきブランド名です。DebianやAlpineのような確立されたLinuxディストリビューションは、最新のアップストリームバージョンのみを追跡するパッケージリポジトリの名前を持っています。彼らはこれを「不安定」または「エッジ」と呼び、安定とは呼びません。
Dockerは独自のディストリビューションを出荷するわけではなく、すでに信頼しているものをハード化しています。その決定は私たちの工学的現実ではなく、あなたの工学的現実に最適化します。決して採用されない硬いイメージは、セキュリティ価値を全く提供しません。
Dockerの「マルチディストリビューション」アプローチにより、現在はDebianとAlpineの両方をサポートしており、今後もさらなるディストリビューションもサポートしています。これは実際には難しいことです。DebianとAlpineのエコシステムは単にパッケージングが異なるだけでなく、それらはlibc、依存関係ツリー、CVEストリーム、パッチタイミング、ツールの分野で異なります。実質的に、それぞれ独自の細かな違いやセキュリティ体制を持つ並行したサプライチェーンを維持しているのです。DHIカタログにあるすべてのハードドイメージは、AlpineとDebianの両方で、AMD64 およびARM64 アーキテクチャの両方で利用可能であり、各組み合わせを独立して構築、パッチ適用、認証を行い、運用上の負担を引き受けるので、あなたがその手間を省くことができます。
私たちは他ベンダーの独自ディストリビューションを評価するエンジニアリングチームと定期的に話をしますが、同じ壁に直面します。すなわち、既存の社内専門知識、ツール、テスト、パイプラインはAlpineやDebianを中心に構築されているということです。
慣れないベンダー所有のOSへの移行はセキュリティアップグレードではなく、採用プロジェクトであり、強化画像サブスクリプションの価格とともに重要なコスト項目です。ベンダーロックインの要素は言うまでもありません。
移行作業には、CIパイプラインの再検証、プラットフォームチームの再訓練、まったく新しいパッケージエコシステムの監査、そして展開開始から数週間後に浮かび上がる互換性のギャップの解消が含まれます。複数のチームは移行のストーリーを購入し、数ヶ月かけて作成し、エンジニアが採用していない画像に対してまだ支払いを続けていると語っています。Dockerでは、チームは既に運用しているディストリビューションに留まり、導入コストは四半期ではなく時間単位で測定されます。
Attentiveの顧客の一人(プリンシパルエンジニア、スティーブン・コミッソ)は、DHI導入を「サービス200 – ドラマゼロ」というフレーズで表現しています。
「展開は製品チームに対して完全に透明でした。200以上のサービスで問題は一切なく、特にUbuntuからDebianへのLinuxディストリビューション切り替えを同時に行っていたことを考えると、これは非常に印象的でした。重い作業はすべてPOCの間に起こった。」
私たちは、すでに使っているディストリビューションのために、すべてのシステムパッケージをソースからビルドしています
Hardened System Packagesのリリースにより、DockerはSLSAビルドレベル 3 パイプラインで数万のAlpineおよびDebianシステムパッケージを、暗号署名付きの完全なプロウェナンスでソースからビルドします。これによりCVEの方程式は根本的に変わります。
他のベンダーもソースからシステムパッケージを構築していると主張しています。違いは、彼らが独自のLinuxディストリビューション向けに作られており、独立したコミュニティの審査を受けておらず、顧客が本番環境で実行したことがない点です。
DockerはAlpineやDebian向けのパッケージを構築します。これらのディストリビューションは、あなたのチームがすでに運用し、テストし、信頼しているものです。AlpineとDebianは、独立したメンテナンス者、公開メーリングリスト、上流プロジェクトとの連携した開示、そして商業的利益から独立して運営されるボランティアのセキュリティチームを持つ広大なエコシステムです。ソースからのパッチ適用によるセキュリティ上のメリットを得られますが、慣れないOSを採用する際の互換性コストがかかりません。
CVEがほぼゼロになるのではなく、すべての画像を独立して検証可能にしました
Dockerのコンテナセキュリティへのアプローチは、攻撃面の最小化、検証可能なSBOM、安全なビルドプロオナンス、悪用可能性のコンテキスト、暗号学的検証という 5つの柱に基づいています。私たちはこれらの考えに基づいて製品開発の理念を凝縮しました。なぜなら、あなたのセキュリティ体制がそれにかかっていると考えているからです。ハードイメージ市場のすべてのベンダーがこの哲学を共有しているわけではありません。
この分野のほとんどのベンダーは、クリーンな CVE スキャン結果という一つの指標に最適化しています。
Dockerもほぼゼロの CVE にこだわりますが、私たちはさらに進みました。セキュリティチーム、監査人、SOC、変更アドバイザリーボードに対して、画像に関するあらゆる質問に対して機械可読で暗号署名された証拠を提供する認証インフラを構築しました。
DHIカタログのすべての2000+画像に署名入りの証明を17付けています。これは独立した検証性を提供するために必要なことです:
|
質問 |
DHIには 証明が含まれていました |
この証言とは何か |
なぜそれがあなたにとって重要なのか |
|
この画像には何が写っているのでしょうか? |
サイクロンDXスボム、SPDXスボム |
すべてのパッケージ、バージョン、推移依存関係の機械可読インベントリ。 |
監査人がコンプライアンスレビューで最初に求めること。両方のフォーマットが含まれているので、異なるツールチェーンごとに変換する必要がありません。 |
|
どのように建てられ、証明できますか? |
SLSAの出所対1、SLSA検証要約、スカウトの出自、DHI画像ソース |
すべての画像を正確なソース定義に結びつける暗号学的証明。 |
サプライチェーンのセキュリティポリシーで義務付けられています。インシデント対応者がフォレンジック時に使用し、画像が正当に作成されたか注入されたかを確認するために使われます。 |
|
どのような脆弱性があり、どのようなものが評価されているのでしょうか? |
CVE対0。1,CVE対0。2,VEX、スカウトの体力スコア |
CVEスキャン結果と、画像自体に付随するCVEごとの脆弱性の正当化。 |
GRCチームがFedRAMPのPOA&Mを作成したり、セキュリティチームが新たなアドバイザリーをトリアージしたとき、証拠はすでにアーティファクトに付着しています。 |
|
コンプライアンスは妥協していますか? |
FIPS準拠、STIGスキャン |
FIPSエビデンスとOpenSCAP生成のSTIG結果 |
FedRAMP、PCI DSS、HIPAA 監査のための準備済み成果物。通常、手作業で作るには最も高価なアーティファクトです。Dockerは自動的にそれらを生成します。 |
|
CVE以外のリスクはチェックされましたか? |
シークレットスキャン、ウイルススキャン、テスト |
リークされた認証情報も既知のマルウェアもなく、画像も正常に動作していることを確認しました。 |
これらは、SOCチームやセキュリティ審査委員会が本番環境展開を承認する前に求めるチェックです。Dockerはすべてのビルドでそれらを動かしています。 |
|
何が変わったのか? |
変更ログ |
バージョン間で追加・削除・パッチがかかった内容の署名済み記録。 |
変更アドバイザリーボードは更新を承認するためにこれが必要です。それがなければ、チームは手動で画像を差し替えることになります。 |
認証は画像に関する質問に答え、次の質問はベンダーに関するものです。
ベンダーに何を尋ねるべきか、そして同じ質問をしたときに私たちが見つけたこと
急速に変化するエコシステムでは、CVEが時折見落とされ、アドバイザリーに隙間があり、大規模に運営されているベンダーが完璧な記録を持つことはありえません。重要なのは、その空白が孤立した事例を示すのか、それともパターンを示すのかです。以下の質問は、Dockerを含むすべてのベンダーに問い合わせる価値があります。
ベンダーのパッチ適用へのコミットメントはどの程度ですか?
ベンダーに脆弱性の解決にどの程度対応しているか聞いてみてください。DockerはDebian、Alpine、そして複数の主要なOSSソフトウェアプロジェクトで継続的にCVEをパッチし、数万のシステムパッケージと数千のイメージをソースから再構築しています。これは多くのベンダーが避ける大きなエンジニアリングおよび運用上の投資であり、単一の独自OS向けにイメージを構築する方が容易だからです。
Dockerのコミットメントはカタログ内の画像だけにとどまりません。上流に修正が存在しない場合、Dockerのセキュリティチームがそれを作成する例は多くあります。CVE-2025-12735の場合、 9です。8Kibanaの依存チェーンにおける重要なRCE、影響を受けたライブラリはメンテナンスされておらずパッチも適用されていませんでした。Dockerは修正を作成し、顧客に提供し、LangChain.jsにも貢献しました。この修正は2025年11月17日に公開されたnpmパッケージとしてリリースされました。
私たちが調べたあるベンダーは、適格なパッチが公開された後、重要なCVEに対して 7日で対応するというCVEポリシーを公開しています。この場合、彼らの修正はDockerが作成し、上流プロジェクトから配信されたその限定パッチの数週間後に現れました。
この上流へのコミットメントは、当社のセキュリティチームの運用方法に組み込まれています。Dockerは2022年からMITREのCVEナンバリングオーソリティであり、脆弱性の特定、開示、修正能力に対する継続的な投資の一環です。
SBOMの完全性についてどんな保証がありますか?
ベンダーのSBOMにコンパイル済みの依存関係(Rustクレート、Goモジュール、JavaScriptパッケージ)が含まれているのか、それともシステムレベルのパッケージのみが含まれているのかを尋ねてみてください。プロジェクトの実際の依存関係と照らしてSBOMの完全性を独立して検証できるかどうかを尋ねてください。DockerのSBOMには、すべてのコンパイルされた依存関係が含まれています。他のベンダーのイメージも調べましたが、例えばVector(数百のRustクレート依存からコンパイルされた観測性パイプライン)では、あるベンダーのSBOMにはこれらの依存関係が含まれていないようです。
依存関係がSBOMに含まれていなければ、その依存関係の脆弱性は顧客のスキャナーには見えず、顧客のセキュリティチームによって検証もできません。DockerのセキュリティチームがVectorのRust依存関係に高重度CVEを特定した際、その日の夜にパッチが当てられ、出荷されました。
ベンダーのアドバイザリーフィードは、出荷するパッケージの既知のCVEをすべて表示していますか?
ベンダーの画像を第三者のスキャナーで公開アドバイザリーデータと照らし合わせてスキャンできるかどうかを尋ねてみてください。ベンダー自身のアドバイザリーフィードに頼らず、それでも一貫した結果が得られるかどうか。
DockerはGrype、Trivy、Wiz、またはMendでの検証を推奨しています。ベンダーのノードイメージを調べたところ、出荷されたイメージにはCVE-2025-9308 とCVE-2025-8262 (いずれもyarn 122.22に影響を与える)が存在していましたが、ベンダーの脆弱性ページやセキュリティアドバイザリーフィードには表示されていませんでした。DockerのYarn 1のハード化されたシステムパッケージ。22。22 ソースからビルドされ、両方のCVEにパッチが適用されています。
ベンダーのアドバイザリーフィードに隙間があれば、スキャナーがその隙間を引き継ぎ、セキュリティチームは不完全なデータに基づいて意思決定をしています。
CVEが悪用不可と評価された場合、ベンダーは監査可能な正当な理由を提供しますか?
すべての CVE にパッチが必要というわけではなく、どのベンダーもその判断を下します。問題は、あなたのチームがその理由を理解できるかどうかです。Dockerのセキュリティチームは、各最小コンテナイメージの文脈で不正利用可能性を評価し、すべての評価を透明に公開しています。
一部のベンダーは、実際のパッケージが一致しない値にアドバイザリーバージョン範囲を設定し、これによりCVEがスキャナーから見えなくなり、正当化や監査の痕跡を提供しないこともあります。
Dockerは、脆弱性を伝えるためのCISA支援標準であるVEXを使用しており、すべての顧客が読んで監査できる、各CVEごとの機械可読な正当化を提供します。
私たちは他の人が残したサプライチェーンセキュリティの役割を引き受けました
マルチディストリビューション対応、ソースからのパッチ適用、透明性を超えて、私たちは独自の安全でシンプルな体験を組み合わせた一連の選択をしました。
ほとんどのベンダー保証はベースイメージの端で終了します。Dockerはカスタマイズされたイメージの完全な所有権を持ちます。環境が必要とするものを追加し、CVEが上流でパッチを当てると、Dockerは自動的にカスタマイズされたイメージを再構築し、SLAは作成するすべての成果物に伝播します。カスタマイズがセキュリティ保証を無効にするわけではありません。また、ハードンシステムパッケージリポジトリも公開し、専用コンテナでハードンパッケージを活用できるようにしました。
この厳密さを今後は言語ライブラリにも拡張していく予定です。npm、pip、またはMavenを通じてアプリケーションが取り込む依存関係は、その下のOSレイヤーと同じ出所とパッチ保証を持ちます。
また、上流でサポートを終了したソフトウェアを運用する組織に対しては、Extended Lifecycle Supportはサービス終了後も最大5年間セキュリティパッチを提供し続け、チームが自らのスケジュールでアップグレードしながらセキュリティ体制を維持できるようにします。
運動に参加しよう
1年前、DHIカタログを毎日 50000回引き、何百万ものビルドが定期的に動いているのが節目のように感じられました。今日、これが基準です。
これらすべては、Adobeを含む早い段階で私たちを信頼し、強く推してくれたチームがいなければ実現しなかったでしょう Crypto.com注意深く、他にも多くの人がいます。n8n.io のようなプロジェクト大規模に運営するために何が必要かを理解する助けになりました。Socket.dev のようなパートナー、Snykと Mend.io はこの基盤の上にセキュリティワークフローを構築しています。
私たちは引き続き耳を傾け、繰り返し、あなたにとってより良い難しいことを続けています。なぜならそれが大切だからです。もしサプライチェーンのセキュリティについて考えているなら、特にAIエージェントがもたらすサプライチェーンのリスクの量と強度を考えると、今こそDockerでベースラインを上げる時です。
Docker Hardened Imagesカタログを探索し、サプライチェーンを安全に保ちましょう: https://www.docker.com/products/hardened-images/
すべてのチームと開発者にとって、オープンソースのDHIコミュニティ層は即座にセキュリティ体制を向上させます。企業向けには、お客様のニーズに合った幅広い選択肢をご用意しています。
さらに多くのリソース:
- DHIの文書: https://docs.docker.com/dhi/
- ご覧ください: なぜ8n.ioDHIに移籍しました
- 読む: MedplumのDHI養子縁組のステップバイステップのプレイブック