> 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/autofix-to/overview-aikido-autofix.md).

# AutoFixの概要

多くのセキュリティプログラムは、修正するよりも脆弱性を見つけることに最適化されていますが、 **AutoFix** Aikidoは修正対応をAikidoプラットフォームの中核ワークフローとして扱います。AutoFixは、オープンソース依存関係、アプリケーションコード、Infrastructure as Code、コンテナ、さらにはペンテストの検出事項に対して、具体的でレビュー可能なパッチを生成し、エンジニアがすでに使っているのと同じチャネル、つまりPR、CIゲーティング、IDEを通じて提供します。

AutoFixは以下のユースケースで利用できます

* [オープンソース依存関係](/docs/docs-ja/autofix-to/scope/autofix-for-open-source-dependencies.md) （含む [Aikido Libraries](/docs/docs-ja/autofix-to/aikido-libraries-overview.md) そのまま置き換え可能な代替品）
* [SASTおよびIaCの問題](/docs/docs-ja/autofix-to/scope/ai-autofix-for-sast-and-iac-issues.md)
* [コンテナー](/docs/docs-ja/autofix-to/scope/ai-autofix-for-containers.md) （含む [Aikido Images](/docs/docs-ja/autofix-to/scope/autofix-for-containers-using-aikido-images.md) ゼロCVEベースイメージ）
* ペンテストの問題
* AIコード監査の問題

***

### AutoFixがワークフローにどう組み込まれるか

AutoFixは、すでに作業している場所に表示されるよう設計されています:

* **IDE連携。** AikidoのIDEプラグインは、SAST、IaC、依存関係の問題をエディタ上に直接表示します。問題が検出されると、AutoFixは作業コピーにそのまま適用できるインライン差分を提示し、脆弱性が共有ブランチに届くのを未然に防ぎます。
* **CIおよびPRゲート。** PRおよびリリースゲートが有効な場合、Aikidoはパイプラインブランチとプルリクエストをスキャンして、新しいSASTおよびIaCの問題を検出します。新たな問題が導入されると、AutoFixはクリック一つで適用できる修正提案を提示します。
* **手動および自動のPR作成。** AutoFixのPRはAikidoのUIから手動で作成でき、選択したリポジトリと問題タイプに対して毎日生成するよう設定することもできます。AikidoではPRメタデータを細かく調整できるため、AutoFixのPRを既存のコントリビューションガイドラインやタスク管理の運用に合わせられます。

***

### AutoFixの対象範囲

#### オープンソース依存関係

オープンソース依存関係について、AutoFixはパッケージのアップグレードやその他の互換性のある変更によって脆弱性を取り除く変更を提案します。多くの場合、1回のAutoFix実行で、脆弱性を一つずつ対処するのではなく、ある種類の脆弱性全体を除去できます。

デフォルトでは、AutoFixは脆弱性を修正するために必要な最小バージョンを提案し、メジャーアップグレードよりもマイナーおよびパッチの更新を優先します。メジャーアップグレードが提案されるのは、それより低いバージョンでは問題を解決できないためです。

内部では、AutoFixが依存関係ツリーを解析して、変更を適用する最適な箇所を見つけます。多くの場合、直接依存関係をアップグレードすることで、複数の脆弱な推移的依存関係を一度に更新します。

**Aikido Libraries**

脆弱な依存関係は、上流の修正に破壊的なメジャーバージョン変更が必要な場合や、メンテナがまだ修正をリリースしていない場合、対処が難しいことがあります。Aikidoはこれを次の方法で解決します **Aikido Libraries**：同じパッケージ名とベースバージョンを維持しつつセキュリティパッチをバックポートした、脆弱なオープンソースパッケージのそのまま置き換え可能な代替品。

Aikido Librariesのバリアントは、CVEを除去しつつ元のバージョンと100%互換になるよう設計されており、長期的な解決策としても、完全なメジャーアップグレードが可能になるまでの一時的なつなぎとしても使えます。利用可能な場合、AutoFixはAikido Librariesへのアップグレードを依存関係のAutoFix概要に直接表示します。Aikido Librariesのバリアントは、JavaScript、Java、Python、PHP、.NETで利用できます。

#### SASTおよびIaCの問題

アプリケーションコードについて、AutoFixは幅広い言語にわたってルール固有のパッチを生成します: JavaScript、Java、.NET、PHP、Python、Ruby、Go、Elixir、Rust、C、Kotlin、Scala、Swift。各SAST AutoFixは、特定のルールと修正パターンに結び付いています。そのルールの指示は、変更を最小限に抑え、挙動を維持し、目先の症状だけでなく根本原因に対処するよう調整されています。

AutoFixはこれらのパッチにエージェント的なアプローチを採用しています。関連するコードコンテキストを収集し、修正計画を立て、そのうえで読みやすくレビューしやすいよう設計された最小限の修正を適用します。各SAST AutoFixには、ベンチマーク結果に基づき、生成された変更が脆弱性の修正と正しい動作の維持の両方をどれほど強く示唆するかを表す信頼度（High、Medium、Low）がAikidoから割り当てられます。

Infrastructure as Code（IaC）のAutoFixも同じパターンですが、アプリケーションロジックではなく設定を対象とします。AWS、GCP、Azure、Kubernetes全体で、公開されているリソース、弱いTLS終端、暗号化の欠如などの安全でないインフラ定義を狙います。

#### コンテナとベースイメージ

Container AutoFixは、イメージスキャンとDockerfileの情報を組み合わせて、具体的なベースイメージ更新とOSレベルの修正を提案します。

主なワークフローはベースイメージのアップグレードに重点を置いています。コンテナのベースイメージで脆弱性が見つかると、Aikidoはパッチ、マイナー、メジャーの複数の更新オプションを提案します。各オプションについて、AutoFixはどの脆弱性が修正され、どの新たな脆弱性が導入されるかを表示します。自動選択されたタグが特定のスタックに適していない場合でも、設定の手間を抑えたまま、評価対象に追加タグを加えることができます。

関連するすべてのタグをスキャンして脆弱性プロファイルを評価するのは簡単ではないため、container AutoFixは提案を算出するためによりコストの高い分析を実行しますが、修正と残存リスクの両方を反映した結果を返します。Aikidoでスキャンされている限り、公開ベースイメージとプライベートレジストリの両方をサポートします。

**Aikido Images**

より新しいベースイメージへの移行が負担になる場合、AutoFixは次を統合します **Aikido Images**：保守中およびサポート終了後のベースイメージの両方にわたって、CRITICALおよびHIGH重大度の脆弱性を修正したゼロCVEベースイメージのレジストリです。Aikidoは新たなCVEが発見されるたびに、これらのイメージを継続的に再ビルドします。AutoFixは利用可能な場合にそれらを提案し、Dockerfile内のベースイメージをdocker.aikido.io上でホストされているAikido Imagesバリアントに切り替えることで適用します `docker.aikido.io`.

#### ペンテストの検出事項

AutoFixはAikidoのAIペンテストにも組み込まれています。ペンテストで問題が特定されると、Aikidoはコード、コンテナ、クラウド設定にまたがる詳細な根本原因分析を生成します。AutoFixはその分析を使って、表面的な症状だけでなく根本的な欠陥を解消するコード修正を合成できます。

***

### セキュリティとプライバシーに関する考慮事項

#### SAST、IaC、およびContainer AutoFix

SAST、IaC、またはコンテナの問題に対する修正を生成する際、Aikidoは必要最小限のコードスニペットのみを、暗号化されたチャネルを介してAWS Bedrock上でホストされるAIモデルに送信します。AikidoもAWS Bedrockも、このコードをモデルの学習やファインチューニングに使用しません。

#### 依存関係のAutoFix

サプライチェーンの側面では、AutoFixはいくつかの構造的な強化作業を支援します:

* GitHub Actionsを特定のコミットに固定する
* ベースイメージをダイジェストに固定する
* 不足しているセキュリティライブラリをインストールする

AutoFixは最終的に、大量の「機械的な」セキュリティ作業（依存関係のアップグレード、小さなコード修正、ベースイメージの更新）を処理し、人間の労力をアーキテクチャや曖昧なトレードオフの検討に集中できるようにすることを意図しています。デフォルト設定は、リスクを減らしながら、変更が安全で理解しやすい状態を保つよう設計されています。


---

# 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/autofix-to/overview-aikido-autofix.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.
