コンテンツにスキップ

CVE Exploitability Analysis

CVE Exploitability Analysisは、Aikido のLLMエージェントを使用して、オープンソース依存関係のCVEを実際のコードベースに照らして評価します。すべてのCVEを同じ緊急度で扱うのではなく、エージェントはリポジトリ内で脆弱なパッケージがどのように使用されているかを読み取り、その検出結果がお使いの環境で本当に悪用可能かどうかを判断し、許可されたトリアージアクションを実行します。

これはクレジットベースの、ワークスペース全体に適用される自動化機能です。Triage Settings で一度設定すれば、Aikido は該当するオープンなCVE検出結果に対して毎晩解析を実行します。また、オンデマンドで実行をトリガーしたり、実行履歴をレビューしたりすることもできます。

  • 依存関係のノイズを削減: コード内で悪用できないCVEを自動的に無視、または重要度を引き下げます
  • 🎯 本当のリスクを優先: エージェントが基本スコアの示唆よりも悪用が容易であると判断した場合、重要度を引き上げます
  • ⚙️ 自動化を制御: どのアクションを自動実行し、どのアクションに承認が必要かを選択できます
  • 🔍 コードベース固有の推論を取得: パッケージの使用方法に基づいた分析により、一般的なCVE説明を超えた洞察が得られます

CVE Exploitability Analysisは、既存のオープンな依存関係検出結果をトリアージします。Aikido のLLMエージェントは、コード内でパッケージがどのように使用されているかに基づいて各CVEを評価し、許可されたアクション(重要度の変更、スヌーズ、無視など)を適用します。

検出結果が無視された場合、その課題の重要度の内訳にCVE determined not exploitableという理由が表示されます。

  • CVEトリアージ1件につきAikido クレジット1件: エージェントが分析した各CVEは、Aikido Wallet から1クレジットを消費します。
  • 管理者アクセスが必要: ワークスペース管理者のみがCVE Exploitability Analysisの設定を表示・変更できます。

CVE Exploitability Analysisを設定する

Section titled “CVE Exploitability Analysisを設定する”

SettingsTriage に移動し、CVE Exploitability Analysis セクションを見つけてManageをクリックします。

CVE Exploitability Analysisを有効にする

Section titled “CVE Exploitability Analysisを有効にする”

Enable CVE Exploitability Analysis をオンにすると、以下のフィールドを編集できます。有効化すると、Aikido は設定された重要度およびリポジトリの範囲に一致するすべてのオープンな検出結果に対して分析を実行します。

  • Minimum Severity: トリアージ対象とする検出結果を選択します: Critical onlyHigh and aboveMedium and above、またはAll severities
  • Repositories: 分析を実行するリポジトリを選択します。クレジットを一度に大量に消費しないよう、まずは小さい範囲でこの機能を試すことをお勧めします。

許可するアクションを選択する

Section titled “許可するアクションを選択する”

Allowed Actions の下で、それぞれの結果をFully AutomatedまたはHuman Approvalに設定します:

  • Downgrade: コードベース内でCVEのリスクが低い場合に重要度を引き下げます
  • Upgrade: 基本スコアの示唆よりも悪用可能性が高い場合に重要度を引き上げます
  • Snooze: 指定した日付まで検出結果を一時的に非表示にします
  • Ignore: CVEがお使いの環境で悪用不可能な場合に、検出結果をフィードから削除します

Fully Automatedの場合、エージェントは分析後すぐにアクションを適用します。Human Approvalの場合、エージェントはアクションを提案し、分析履歴からの承認を待ちます。

Spend Limit per Day を設定して、24時間あたりに分析が使用できるクレジット数の上限を設定します(デフォルトは100)。Cost to Inbox Zero の見積もりでは、設定範囲に一致するCVEの件数と、フル実行で使用されるクレジット数、および利用可能なクレジット数が表示されます。

エージェントが変更できる内容

Section titled “エージェントが変更できる内容”
アクション 使用される場面 表示される内容
Downgrade CVEは実在するが、基本重要度が示唆するよりもコード内での悪用可能性が低い エージェントが提供する理由とともに重要度スコアが低下
Upgrade 基本重要度が示唆するよりもコード内での悪用可能性が高い エージェントが提供する理由とともに重要度スコアが上昇
Snooze 検出結果は今すぐではなく後で対応が必要 エージェントが設定した日付まで、理由とともに検出結果がスヌーズされる
Ignore CVEがお使いの環境で悪用不可能 CVE determined not exploitableという理由とともに検出結果が無視される

重要度の変更は、検出結果の現在の重要度がエージェントが分析した時点の重要度と一致している場合にのみ適用されます。分析後にアクション実行までの間に重要度が変更されていた場合(たとえば別のルールによる変更)、競合する更新を避けるためその変更はスキップされます。

オンデマンドで分析を実行する

Section titled “オンデマンドで分析を実行する”

分析は毎晩自動的に実行されますが、夜間ジョブを待つ必要はありません。Advanced SettingsのCVE Exploitability Analysis セクションでStart Analysisをクリックすると、設定範囲に一致するCVEに対して即座に実行がキューに追加されます。

各実行は、日次の支出上限と利用可能なクレジットに従います。実行は一度に1つのみ行われます。実行中はStart Analysisが無効化され、An analysis is already in progressと表示されます。実行すべき内容がない場合、Aikido はその理由を表示します(たとえば、クレジットが不足している、日次支出上限に達している、一致する課題が見つからないなど)。

すべての実行は記録されるため、エージェントが何を分析し、何を実行したかを確認できます。CVE Exploitability AnalysisセクションのView Historyをクリックすると、CVE Exploitability History ページが開きます。

履歴テーブルには、各実行の日付、パッケージ、リポジトリ、分析されたCVEの件数、および実行されたトリアージアクション(ignore、snooze、upgrade、downgrade)が一覧表示されます。紫色のpendingバッジは、エージェントが提案したが適用されなかったアクションを示します。検索とリポジトリフィルタを使ってリストを絞り込めます。

任意の実行をクリックすると詳細が開き、以下が表示されます:

  • エージェントが作成した実行のサマリー
  • 分析された課題、各CVEで実行されたアクションとエージェントの推論
  • 実行のタイムライン

提案されたアクションを承認する

Section titled “提案されたアクションを承認する”

アクションがHuman Approvalに設定されている場合、エージェントは推奨事項を記録しますが適用はしません。実行詳細では、保留中のアクションがApprove IgnoreApprove SnoozeApprove Downgrade、またはApprove Upgradeとして表示されます。バッジをクリックすると、エージェントの推論が事前入力された関連トリアージフローが開きます。確認後、そのアクションは履歴上で実行済みとしてマークされます。

  • 分析は、この機能が有効なワークスペースに対して毎晩実行されるほか、オンデマンドで開始することもできます。設定に一致する新しい検出結果は、以降の実行で処理されます。
  • 日次支出上限は、分析が1日に使用できるクレジット数の上限を設定します(デフォルトは100)。上限に達すると実行は停止し、翌日に再開されます。
  • エージェントがパッケージの使用方法を分析するには、接続されたリポジトリへの読み取りアクセスが必要です。
  • リポジトリとパッケージごとに1つの分析タスクのみが同時に実行されます。タスクが保留中の間は、同じパッケージに対する重複実行は防止されます。
  • アクションをFully AutomatedからHuman Approvalに変更しても、エージェントがすでに実行したアクションは元に戻りません。