- 本番環境におけるセキュリティ脆弱性(CVE)を最小化するために設計された軽量コンテナイメージ群
- ChainguardのapkoとWolfiパッケージをベースに毎日再ビルドされ、最新のセキュリティパッチを反映
- 不要なパッケージを削除して攻撃対象領域を最小化し、ほとんどのイメージは0~5件以下のCVEのみを含有
- Python、Node.js、Bun、Go、Nginx、HTTPD、Jenkins、Redis、PostgreSQL、SQLite など主要ランタイムおよびサービス向けイメージを提供
- 各イメージは非rootユーザー(non-root)で実行され、デフォルトでシェルを含まない
- セキュリティ重視の設計
- CVEゲートを通過できない場合、ビルドは失敗として処理
- cosignベースの署名と**SBOM(Software Bill of Materials)**を自動生成
- すべてのイメージはSigstoreのkeyless署名で検証可能
- ビルドパイプライン構成
- Wolfiパッケージ → apkoでOCIイメージ生成 → TrivyでCVEスキャン → cosign+SBOMで署名および配布
- Jenkins、Redisなどはmelangeを通じてソースビルド後に統合
- 自動更新および保守方式
- 毎日UTC 2時の自動ビルドで最新のCVEパッチを反映
- mainブランチへのマージ時に構成変更を自動デプロイ
- 手動トリガーによる緊急再ビルドに対応
- セキュリティおよびコンプライアンス対応の効果
- SOC2、FedRAMP、PCI-DSS などセキュリティ監査および規制遵守が容易
- Debian/Ubuntu比でパッチ反映速度が10倍以上向上(48時間以内)
- 署名検証およびSBOM提供によりサプライチェーンセキュリティを強化
- MITライセンスで公開
- 各イメージに含まれるサードパーティパッケージはApache-2.0、MIT、GPL、BSD など個別ライセンスを明記
- SBOMを通じてすべてのパッケージのライセンス情報を確認可能
2件のコメント
最近はライブラリのサプライチェーン攻撃も多いので、毎日最新バージョンに更新することが、かえって安全ではない場合もあるように思います
https://github.com/GoogleContainerTools/distroless これとの違いがいまいちよく分かりませんね