> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/docs/docs-ja/kontenaimjisukyan/container-image-scanning-overview.md).

# コンテナーイメージスキャン概要

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="/pages/02dcac33b4672cefd400c511b0edae1e19f3b4f1"><strong>コンテナレジストリを接続</strong></a></td><td></td><td><a href="/pages/02dcac33b4672cefd400c511b0edae1e19f3b4f1">/pages/02dcac33b4672cefd400c511b0edae1e19f3b4f1</a></td></tr><tr><td><a href="/pages/1a016dceeeda839a32e29a474c5b2318a3ed4bd4"><strong>スタンドアロンレジストリを接続</strong></a></td><td></td><td><a href="/pages/1a016dceeeda839a32e29a474c5b2318a3ed4bd4">/pages/1a016dceeeda839a32e29a474c5b2318a3ed4bd4</a></td></tr></tbody></table>

Aikidoのコンテナイメージスキャンは、あなたのイメージを最重要のセキュリティ資産として扱うよう設計されています。通常はサイロ化されている3つの要素、つまりレジストリ（イメージが存在する場所）、コード（実際に問題を修正できる場所）、ランタイム（リスクが具体化する場所）をつなぎます。

{% hint style="info" %}
Aikidoは静的イメージとクラスタにデプロイされたコンテナの両方をスキャンします。詳しくは以下をご覧ください。 [クラスタ内イメージスキャン](https://help.aikido.dev/cloud-scanning/kubernetes-cluster-scanning/kubernetes-in-cluster-image-scanning).
{% endhint %}

### コンテナイメージスキャンの定義

コンテナイメージは、アプリケーションコード、OSパッケージ、言語ランタイム、Webサーバー、サポートツールを1つの不変アーティファクトにまとめたものです。Aikidoのコンテナイメージスキャンは、これらのアーティファクトにおけるリスクを大きく3つのカテゴリに絞って評価します。

1. **既知の脆弱性（CVE）** OSパッケージやその他のコンポーネントにおける
2. **古い、またはEOL（サポート終了）のランタイム** （例：言語ランタイムやWebサーバー）
3. **ソフトウェア構成とライセンス**、詳細なソフトウェア部品表（SBOM）を通じて。

AWS ECRのようなレジストリのスキャンを有効にすると、Aikidoは脆弱性、ライセンス、EOLランタイムの有無をイメージに対して調査し、定期的に再スキャンします。これにより、イメージが最近再ビルドやプッシュされていなくても、新たに公開されたCVEを見逃しません。

Aikidoは、イメージ内で検出された主要ランタイム（Python、Node.js、PHP、Nginxなど）の状態も追跡し、それらを **古い**, **ほぼ古い**, **最新**、または **見つかりません**に分類します。これはベンダーのサポート期間に基づいています。ランタイムがEOLに近づくか到達すると、Aikidoはアラートを発し、廃止日が近づく、または過ぎるにつれて重大度を引き上げます。これにより、すべてがまだ正常に動いているように見えても、セキュリティアップデートが止まることをコンテナ所有者に早期に知らせられます。

最後に、Aikido独自のスキャナーでスキャンされたイメージについては、生のSoftware Bill of Materialsをエクスポートできます。SBOMには、検出されたコンポーネントのファイルシステム上の場所と、その由来に関する情報が含まれます。脆弱性、ランタイムの状態、SBOMデータがそろうことで、Aikidoのコンテナセキュリティモデルの基盤が形成されます。

### Aikidoがイメージデータを取得する場所

Aikidoは、どのイメージが存在するかについてはコンテナレジストリ（またはビルドパイプライン）を唯一の信頼できる情報源として扱い、その後、異なる環境全体で結果を標準化します。

#### クラウドレジストリ

ほとんどのクラウドレジストリでは、クラウドプロバイダーのスキャナー（例：AWS ECS向けのAWS Inspector）かAikidoスキャナーのどちらかを使用できます。Aikido Scannerを使用すると、Aikidoは次を追加します。

* ライセンスとEOLランタイムのスキャン。
* タグ単位のターゲティング（つまり、特定のタグに一致するイメージのみをスキャン）
* 最近プッシュされていないイメージであっても、毎日のスケジュールで継続的にスキャンし、新たに公開されたCVEを時間の経過とともに検出します。

#### スタンドアロンレジストリ

AikidoはDocker Hubのようなスタンドアロンレジストリにも直接接続します。読み取り専用のアクセストークンを提供すると、Aikidoはアクセス可能なリポジトリを列挙し、必要に応じてコードリポジトリとリンクして重複排除を改善し、脆弱性をスキャンします。その結果はAikidoフィードに流れ込みます。

#### ローカルイメージスキャンとゲーティング

すべてのイメージが継続的インテグレーションシステムから外に出るわけではありません。そのような場合、Aikidoは自分の環境で実行するローカルイメージスキャナーを提供します。このスキャナーは次のことができます。

* イメージをローカルでスキャンし、問題をAikidoに報告する。
* リリースゲートとして機能し、選択した重大度以上の問題がプッシュ前に存在する場合はパイプラインを失敗させる。
* プルリクエストゲートとして機能し、プルリクエストからビルドされたイメージのセキュリティ状態をベースコミットと比較し、閾値を超える新しい問題が導入された場合に失敗させる。

これにより、コンテナセキュリティを、デプロイ後の定期チェックではなく、ビルドとリリースを囲むガードレールとして扱えます。

### イメージをコードとクラウドのコンテキストに結びつける

イメージ内の脆弱性は、それを修正できるチームやコードに結びつけられて初めて有用です。Aikidoのモデルは、コンテナをリポジトリやクラウド資産に明示的にリンクすることを前提に構築されています。

コンテナイメージは、手動またはスマートな提案で対応するコードリポジトリにリンクできます。リンクすると、

* コンテナの問題が関連するリポジトリ内に直接表示される
* Aikidoがイメージに関連付けられたDockerfileを確実に特定できるため、Container AutoFixが利用可能になる（下記参照）

### SBOMとソフトウェアサプライチェーンの可視性

コンテナのSoftware Bill of Materialsは、イメージ内に何があり、どこから来たのかを具体的に把握するのに役立ちます。イメージがスキャンされると、コンテナ詳細ページから生のSBOMをエクスポートできます。このエクスポートは次の用途を支援するよう設計されています。

* 確認する **f**イルシステム上の場所**s** 特定のコンポーネント（およびその脆弱性）が見つかった場所。
* レイヤーをまたいだインストール済みコンポーネントの由来を追跡する。

SBOMの生成は、Aikidoの公開APIを通じて自動化することもでき、次のエンドポイントを公開しています。 [生成](https://apidocs.aikido.dev/reference/generatecontainersbom) に、 [ダウンロード](https://apidocs.aikido.dev/reference/exportcontainerrepolicenses) スキャン済みイメージのSBOM。

### ランタイムとEOLリスクの監視

コンテナにおける重大な問題の多くは、単一のCVEではなく、ベンダーサポートが終了したランタイムやWebサーバー上で実行されていることに起因します。レジストリを接続すると、AikidoはPythonやNode.jsのランタイム、ApacheやNginxのような一般的なWebサーバーを含む、イメージ内の主要ランタイムを監視します。

監視対象の各ランタイムについて、Aikidoは「古い」「最新」「ほぼ古い」といったステータスを割り当てます。また、特定のパッケージバージョンがベンダーによって保守されなくなったときには、廃止前からフィードにアラートを作成し、日付が近づく、または過ぎるにつれて問題の重大度を高めます。

### コンテナ向けAI AutoFix

コンテナスキャンは、脆弱性がどこにあるかを特定します。Container AutoFixは、最小限の手作業でイメージを変更し、脆弱性を取り除くのを支援します。

#### ベースイメージ中心の修復

Aikidoがコンテナのベースイメージに脆弱性を見つけると、AutoFixはそのベースイメージを更新するDockerfileの変更を提案します。複数の更新オプションを提示し、それぞれ特定のベースイメージに紐づく3〜5個のDockerfileバリアントを生成することでこれを行います。各バリアントについて、AutoFixはどの脆弱性が修正され、どの新しい脆弱性が導入される可能性があるかを示します。

#### Aikido Images

新しいOSリリースやベースイメージへのアップグレードにコストやリスクが高い場合、Aikidoは [**Aikido Images**](/docs/docs-ja/autofix-xiu-zheng/aikido-images/autofix-for-containers-using-aikido-images.md)、コンテナ向けのCVEゼロのベースイメージのレジストリを提供します。これらは次のとおりです。

* メンテナンス対象およびEOLのベースイメージの両方で利用可能
* 既知の重大な（CriticalおよびHigh）CVEを除去しつつ互換性を保つことを意図した、そのまま差し替え可能な代替品として提供
* [2000以上のベースイメージ](https://images.aikido.dev/images) が利用可能で、長期的な代替としても、本格的なアップグレードが可能になるまでの暫定措置としても使用できます

#### リポジトリとレジストリとの統合

Container AutoFixは、前述のリンク手順に依存します。

* コンテナをリポジトリにリンクすると、それらのコンテナでAutoFixが有効になり、Dockerfileが正しく特定されます
* プライベートベースイメージがAikidoでスキャンされている限り、AutoFixは公開ベースイメージとプライベートベースイメージの両方で動作できます。

オプションを選択すると、AutoFixは更新されたDockerfileと関連変更を含むプルリクエストをソース管理システムに作成します。これはイメージごとに手動で実行することも、選択したイメージに対して定期的にPRを作成するよう設定することもできます。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/docs/docs-ja/kontenaimjisukyan/container-image-scanning-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
