オープンソース依存関係のAutoFix
Aikido AutoFixは、影響を受けたパッケージをアップグレードすることで、オープンソース依存関係の脆弱性を修正するプルリクエストを作成します。アップグレードは常に、問題を解決するために必要な最小限のバージョンを対象とします。マイナーバージョンおよびパッチバージョンのアップグレードがメジャーバージョンよりも優先され、破壊的変更を最小限に抑えます。AutoFixはリポジトリとロックファイルごとに修正をグループ化するため、各PRは焦点が絞られ、マージしやすい状態が保たれます。場合によっては、単一のアップグレードによって1つの脆弱性だけでなく、脆弱性のクラス全体が解消されることもあります。
メジャーバージョンのアップグレードが提案される場合、脆弱性を解決するマイナーバージョンやパッチバージョンが存在しないことを意味します。

AutoFixのオプション
Section titled “AutoFixのオプション ”AutoFixは、次の2つの方法で脆弱性を修正できます。
- トップレベル依存関係の更新(Update Top-Level Dependencies) は、脆弱性を引き起こしているトップレベルの依存関係を特定し、アップグレードします。パッケージマネージャーが脆弱なサブ依存関係の正しいバージョンを自動的に解決します。これはデフォルトかつ推奨の戦略であり、JavaScript、.NET、Java、Kotlin、Pythonでサポートされています。
- 依存関係へのオーバーライドの追加(Add Overrides for Dependencies) は、脆弱なサブ依存関係を特定のパッチ済みバージョンに固定します。これは、メジャーバージョンのアップグレードが破壊的変更となるなど、トップレベルの依存関係をまだアップグレードできない場合に役立ちます。

依存関係へのオーバーライドの追加(Add Overrides for Dependencies) を使用して複数の脆弱性を一度に修正する場合、All available fixes ドロップダウンでどのパッケージを含めるかを制御できます。
- All available fixes — メジャーバージョンのアップグレードを含む、すべての修正を適用します
- Minor and patch versions only — メジャーバージョンのアップグレードが必要な修正をスキップします
- Critical issues only — Aikido優先度がCriticalの問題のみを修正します

その後、PR作成の状況を示す進行状況ウィンドウ(右下)が表示されます。PRの準備が完了すると、更新通知が届きます。
