For the complete documentation index, see llms.txt. This page is also available as Markdown.

SAST 自動トリアージ

SAST AutoTriage は、 Aikido Agent 静的解析のノイズを減らし、本当のセキュリティ脅威となる問題に集中できるようにします。まず悪用可能性を排除しようとし、その後(必要な場合のみ)残った検出結果を (1) 悪用可能性、(2) 悪用された場合の深刻度 で順位付けします。主に SAST の検出結果に対して動作し、ローカル IDE、PR チェック、定期的な再スキャンなど、なじみのあるワークフローに組み込まれます。

AutoTriage は主に SAST を対象としています。少数のクラウドおよびコンテナのチェックも、文脈上同様の格上げ/格下げの判断が可能な場合にサポートされています。

AutoTriage とは何か(そして何ではないか)

AutoTriage 自体はスキャナーではありません。スキャン結果の下流に位置し、次の点を判断します 悪用可能性 に設定し、 深刻度 コードとそのコンテキストに基づいて。

SAST の問題の大半について、Aikido は Aikido 定義のルールに基づいてトリアージを行います。より複雑なケースでは、Aikido は推論モデルを使って、より微妙な制御フローとデータフローを解釈します。これには、コールツリーを計算し、脆弱性シンクに渡された変数を参照する呼び出し先関数を取り込むことで、関連するコードスニペットを構築することが含まれます。

Aikido の内部評価では、このアプローチは推論を使わない手法に比べて、それらの複雑なケースで約 2 倍多くの偽陽性を検出します。

AutoTriage の仕組み

トリアージ前の誤検知フィルタリング

AutoTriage が LLM でコードを確認する前に、Aikido の 到達可能性 エンジンは、脆弱なコードパスがそもそもアプリケーション内で到達可能かどうかを確認することで、誤検知を除外します。これには次のような確認が含まれる場合があります。

  • 実際に影響を受ける関数を呼び出しているかの確認

  • 脆弱な依存関係が、実運用ではなくツール内でのみ使われているかを追跡すること

  • ソースとシンクの間にサニタイズがあるかを確認すること

  • 古くなった、または未使用のコードパスを削除すること

これらの手順だけで、従来型スキャナーの多くと比べてアラートのかなりの割合を抑制できます。

多くの潜在的な問題が自動的に無視済みとしてマークされるのに気づくはずです。到達可能性分析により、信頼できない入力から危険なシンクへの経路がない、またはその使用箇所が本番フローの外にあると判断されたためです。

悪用可能性を排除できない場合、AutoTriage は優先順位付けに進みます。

優先度スコアリング

問題が引き続き悪用可能である可能性がある場合、AutoTriage は発生確率と影響度を評価して優先度を設定します。まず Aikido の深刻度スコア(0~100)を基準にし、前段の手順で収集したコードコンテキストを使って上下に調整します。

例:

  • SQL インジェクションの報告は安全に 格下げされる 入力変数が、すでに上流で検証済みのデータベースなど信頼できるソースに由来する場合

  • NoSQL インジェクションのリスクがあるログインエンドポイントは 格上げされる 以下に示すように、攻撃が非常に単純で認証に直接影響するため、「修正優先度が非常に高い」に

真陽性であれば、AutoFix は

トリアージされた真陽性については、Aikido は次を通じて推奨パッチを生成できます。 AutoFix そしてレビュー用のプルリクエストを作成します。AutoFix は報告された脆弱性のみに焦点を当てており、GitHub、GitLab、Bitbucket、Azure DevOps の PR チェックやローカル IDE で利用できます。

AutoTriage が考慮するシグナル

AutoTriage は コンテキストを強く必要とする ように設計されています。実際には、次のような要素を考慮します:

  • ユーザー入力が機密シンクに到達可能かどうか、およびサニタイズ/検証の有無と有効性

  • 入力が信頼できる保管先に由来するかどうか、また脆弱なコードがビルド時やテスト時に使われているのか、それとも本番環境で使われているのか

  • データの機密性などのビジネス影響シグナル

  • 複雑なルールでは、推論モデルが例えば OS 固有の区切り文字やパス解決の意味論などのエッジケースを評価します

Ask Aikido

クリック Ask Aikido推奨 チャットするためのパネル Aikido Agent 脆弱性について、たとえばなぜフラグが立ったのか、どのように脆弱なコードに到達するのか、あるいは知りたいことなら何でも。

最終更新

役に立ちましたか?