> 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="/docs/docs-ja/kontenaimjisukyan/cloud-provider-registries.md"><strong>コンテナレジストリを接続</strong></a></td><td></td><td><a href="/docs/docs-ja/kontenaimjisukyan/cloud-provider-registries.md">クラウドプロバイダーレジストリ</a></td></tr><tr><td><a href="/docs/docs-ja/kontenaimjisukyan/standalone-registries.md"><strong>スタンドアロンレジストリを接続</strong></a></td><td></td><td><a href="/docs/docs-ja/kontenaimjisukyan/standalone-registries.md">スタンドアロンレジストリ</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 に近づく、または EOL を過ぎると、Aikido はアラートを発し、非推奨日が近づくか過ぎるにつれて重大度を引き上げます。これは、すべてがまだ正常に動作しているように見えても、セキュリティ更新が停止することをコンテナ所有者に早めに知らせるためです。

最後に、Aikido 独自のスキャナーでスキャンされたイメージについては、未加工のソフトウェア部品表をエクスポートできます。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 とソフトウェアサプライチェーンの可視化

コンテナのソフトウェア部品表は、イメージに何が含まれていて、どこから来たのかを具体的に把握するのに役立ちます。イメージがスキャンされると、コンテナ詳細ページから未加工の SBOM をエクスポートできます。このエクスポートは次をサポートするよう設計されています:

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

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

### ランタイムとサポート終了リスクの監視

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

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

### コンテナ向け AI AutoFix

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

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

Aikido がコンテナのベースイメージに脆弱性を見つけると、AutoFix はそのベースイメージを更新する Dockerfile の変更を提案します。これは、複数の更新 विकल्पを提案し、特定のベースイメージに紐づく 3〜5 個の Dockerfile 変種を生成することで実現されます。各変種について、AutoFix はどの脆弱性が修正され、どの新しい脆弱性が導入される可能性があるかを示します。

#### Aikido Images

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

* 維持されているベースイメージとサポート終了ベースイメージの両方で利用可能
* 互換性を保ちながら、既知の深刻な（Critical および High）CVE を除去するドロップイン代替として提供
* [2000 以上のベースイメージ](https://images.aikido.dev/images) が利用可能で、長期的な代替としても、完全なアップグレードが可能になるまでの暫定措置としても使用できます

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

コンテナ AutoFix は、前段のリンク手順に依存しています:

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

オプションを選択すると、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.
