日本語

オープンソース依存関係向けAutoFix

Aikidoのローカルスキャンアカウントは、UI内のAutoFixにアクセスできません。ローカルでAutoFixを使いたい場合は、IDEプラグインのご利用をおすすめします。

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

メジャーバージョンのアップグレードが提案される場合、その脆弱性を解消するマイナー版またはパッチ版は存在しません。

AutoFixのオプション

AutoFixは脆弱性を2つの方法で修正できます:

  • 直接依存関係を更新 脆弱性の原因となっているトップレベル依存関係を特定し、アップグレードします。パッケージマネージャーが、脆弱なサブ依存関係の正しいバージョンを自動的に解決します。これはデフォルトで推奨される方法で、JavaScript、.NET、Java、Kotlin、Pythonでサポートされています。
  • 依存関係を更新 脆弱なサブ依存関係を特定の修正版に固定します。これは、トップレベル依存関係をまだアップグレードできない場合、たとえばメジャーバージョンの更新が破壊的変更になる場合などに有用です。

3つ目の選択肢として、 Aikido Libraries ドロップイン代替品。 詳細はこちら.

使用する場合 依存関係を更新 複数の脆弱性を一度に修正するには、 利用可能な修正すべて のドロップダウンで、含めるパッケージを制御できます:

  1. 利用可能な修正すべて: メジャーバージョンの更新も含め、すべて修正します
  2. マイナー版とパッチ版のみ: メジャーバージョンの更新を必要とする修正はすべてスキップします
  3. 重大な問題のみ: Aikidoで優先度がCriticalの問題のみを修正します

その後、PR作成の進捗状況を示す進捗ウィンドウ(右下)が表示されます。PRの準備が整い次第、更新が届きます。

AutoFixの設定と最初のPR作成の例動画

動画