# AutoFix for Containers: Aikido Images

ベースイメージを最新バージョンに更新するのは、アプリケーションの変更が必要になる場合があるため、難しいことがあります。新しいベースイメージへの更新が現実的な選択肢でない場合でも、**Aikido Images** を使用することでセキュリティを維持できます。

Aikido Images は、CVE ゼロのベースイメージのレジストリです。これらはドロップイン置換として利用でき、**CRITICAL** または **HIGH** の深刻度のセキュリティ問題が報告されたライブラリについて、パッチ適用済みのバージョンを含んでいます。Aikido Image を使用する AutoFix の提案を承認すると、Dockerfile 内の既存のベースイメージが Aikido レジストリのイメージに置き換えられます。

{% hint style="info" %}
Aikido Images は、定義された[パッチ作成 SLA](https://help.aikidogov.us/docs/docs-ja/autofix-and-remediation/aikido-libraries-overview/patch-creation-sla) に基づいて OS レベルの CVE をカバーします。アプリケーションレベルのパッケージの脆弱性（Python、npm、Java、Go など）も修正されますが、ベストエフォートでの対応となり、SLA は保証されません。アプリケーションレベルで保証されたカバレッジについては、[Aikido Libraries](https://help.aikidogov.us/docs/docs-ja/autofix-and-remediation/aikido-libraries-overview) を参照してください。
{% endhint %}

たとえば、[CVE-2025-4373](https://security-tracker.debian.org/tracker/CVE-2025-4373) は Debian の Trixie と Sid では修正されていますが、Bookworm では修正されていません。`debian:bookworm` の Aikido Images バリアントには、この脆弱性を修正したパッチ適用済みの `glib2.0` が含まれています。このイメージを使用することで、破壊的な変更を避けつつ、良好なセキュリティ態勢を維持できます。

Aikido Images は新しい CVE が報告されるたびに継続的に再ビルドされるため、依存しているベースイメージは常に最新の状態に保たれ、必要に応じて AutoFix が更新を提示します。

## AutoFix で Aikido Images を使用する

1. Aikido で **Containers** に移動します。セキュリティ問題のあるコンテナについて、そのエントリのケバブメニューを選択し、**Preview AutoFix** をクリックします（その問題に対して AutoFix が利用可能な場合）。
   1. **注:** 代わりに **AutoFix > Containers** に移動し、その問題の **Status** 列にある **View Fix** をクリックすることもできます。
2. AutoFix for containers は、利用可能な場合、自動的に Aikido Image を提案します。イメージは `docker.aikido.io` でホストされています。

<figure><img src="https://help.aikidogov.us/_assets/8e55b33fc463/image-328.png" alt=""><figcaption></figcaption></figure>

この例では、`node:20-bookworm` ベースイメージを使用している Dockerfile を示しています。Aikido Images バリアントに切り替えることで、そのベースイメージに存在する 322 件の問題が解決されます。

3. **Create PR** を選択すると、SCM でプルリクエストが作成され、修正が適用されます。

### Local Scanner で Aikido Images を使用する

Aikido Images は、[Aikido Local Scanner](https://help.aikidogov.us/docs/docs-ja/container-image-scanning/local-image-scanning/setting-up-image-scanning-with-local-scanner) でイメージをスキャンする場合にも利用できます。Local Scanner は Aikido がソースコードにアクセスできない場合に使用されるため、AutoFix は Dockerfile に対してプルリクエストを作成できません。代わりに、Aikido は提案された Aikido Image を UI に表示するので、以下の[ベースイメージを手動で変更する](https://help.aikidogov.us/docs/docs-ja/autofix-and-remediation/aikido-images/autofix-for-containers-using-aikido-images#manually-changing-the-base-image)の手順に従ってご自身で変更を適用してください。

## Aikido Images の提供状況

Aikido では、[**AutoFix** > **Cloud** > **Containers** > **Aikido Images**](https://app.aikido.dev/issues/aikido-images) で利用可能なベースイメージを確認できます。

<figure><img src="https://help.aikidogov.us/_assets/f25ae7cffc64/image-447.png" alt=""><figcaption></figcaption></figure>

すべてのイメージは `amd64` と `arm64` の両方のアーキテクチャで利用できます。

### ベースイメージを手動で変更する

`Show Path` をクリックすると、ベースイメージのフルパスが表示されます。次のような形式になります:

```
docker.aikido.io/<token>/<image>:<tag>
```

トークンは、お使いの Aikido アカウント固有の読み取り専用トークンです。例として、Debian Bookworm から対応する Aikido Image に切り替える方法を示します。Dockerfile で、次の記述を

```
FROM debian:bookworm
```

次のように変更します

```
FROM docker.aikido.io/<token>/debian:bookworm
```

`<token>` を Aikido UI に表示されているトークンに置き換えることを忘れないでください。
