Aikido Libraries
脆弱なパッケージの安全な差し替え製品。アップグレード不要。破壊的変更なし。
脆弱な依存関係をアップグレードするということは、まだテストしていないバージョンを使うことを意味し、破壊的変更のリスクがあり、そのアップグレードの展開をチーム全体で調整する必要があります。Aikido Libraries に移行すれば、そのトレードオフはなくなります。現在使用中のまったく同じバージョンにパッチを適用するため、同じパッケージ、同じバージョン、同じ API、同じ動作のまま、アプリケーションコードに手を加えることなくセキュリティ修正を得られます。
Aikidoは 11,500+ JavaScript、Java、Python、PHP、Go、.NET、Ruby、Rust 全体でライブラリを保護しています。Aikido Libraries が最も役立つのは次のような場合です:
- CVE にまだ安全な上流の修正がない
- 上流の修正には、適用できないメジャーバージョンアップが必要である
- パッケージがすでにメンテナンスされていない
Aikido Libraries を 1 つ以上のリポジトリに展開する
- 左側のサイドバーで、 AutoFix に移動し、 Aikido Libraries.

- を開き、 一括展開 タブを開いてクリックします リポジトリを選択.
- クリックします リポジトリを追加 を開き、保護したいリポジトリを選択します。
- 右側の クレジット パネルでクレジットの内訳を確認してください。
- クリックします 一括展開を有効にする して確定します。

有効にすると、Aikido は毎日 PR を作成し、あなたのパッケージを保護済みの Aikido バリアントに固定します。新しい CVE は自動的に検出され、後続の PR に含まれます。手動対応は不要です。
料金
リポジトリ保護はクレジット制の 1 年契約で、毎年更新されます。費用は登録時点でのリポジトリ内のパッケージ数と未解決の CVE 数に基づきます。正確な費用は、確定前にクレジットパネルに表示されます。
Aikido に送信されるもの
リポジトリが保護されている場合、Aikido は各パッケージについてこの情報を送信し、対応する保護済みバリアントを照合・生成できるようにします:
- CVE識別子
- パッケージ名
- パッケージのバージョン
リポジトリ内のソースコードは送信されません。
単一の依存関係を修正する
脆弱な依存関係に対して Aikido Libraries のバリアントが利用できる場合、Aikido は 2 か所でそれを修正 विकल्पとして表示します。単発の修正にはクレジットは不要です。
- フィードから: 課題の詳細を開き、AutoFix PR を作成する際に Aikido Libraries オプションを選択します。
- AutoFix > Dependencies から: をクリックします 修正を表示 依存関係を選択し、モーダルで Aikido Libraries バリアントを選びます。
例: log4j@1.2.16
20年以上前にリリースされたにもかかわらず、log4j の 1.2.16 は、log4j 2.x へのアップグレードが破壊的変更となるため、多くのチームで今なお使用されています。
バージョン 1.2.16 には、次の重大な問題があります:
- CVE-2019-17571 - リモートコード実行
- CVE-2020-9493 - 悪意あるコード実行
- CVE-2022-23305 - SQLインジェクション
の Aikido Libraries バリアントは log4j 1.2.16 への移行を強制することなく、これらの CVE を修正します 2.x.
AutoFix を使えば、既存の log4j@1.2.16 ライブラリからそれに対応する Aikido 版へ安全に移行できます。
AutoFix は、利用可能な場合に Aikido Libraries バリアントへの移行を提案します。これは AutoFix の依存関係の概要.

Aikido Libraries バリアントへ移行するには、AutoFix 作成モーダルでこのオプションを選択してください。
