大規模言語モデルを用いた脆弱性検知において、多様な脆弱性パターンへの対応とプロンプト最適化の自動化を両立するため、ルーターと専門デテクターで構成されるマルチエージェント枠組み「MulVul」が提案されました。
大規模言語モデルを用いた脆弱性検知において、多様な脆弱性パターンへの対応とプロンプト最適化の自動化を両立するため、ルーターと専門デテクターで構成されるマルチエージェント枠組み「MulVul」が提案されました。 このシステムは、生成用と実行用のモデルを分離してプロンプトを洗練させる「クロスモデル・プロンプト進化」と、構造化されたコード表現を用いた検索拡張生成(RAG)を組み合わせることで、ハルシネーションを抑制しつつ高精度な検知を実現します。 130種類のCWEを用いた検証では、既存の最良手法を41.5%上回る34.79%のMacro-F1スコアを記録し、特にプロンプト進化メカニズムが手動プロンプトと比較して性能を51.6%向上させることが実証されました。
現代のソフトウェアシステムが複雑化する中で、手動によるコード監査はコストが高く、時間がかかり、ミスが発生しやすいという深刻な課題に直面しています。これを解決するために大規模言語モデル(LLM)を活用した自動化手法が期待されていますが、既存の手法には主に3つの大きな障壁が存在します。第一に、脆弱性のパターンは極めて異質(ヘテロジニアス)であるという点です。例えば、バッファオーバーフローの検知にはポインタ演算やメモリ境界に関する深い推論が必要ですが、インジェクション攻撃の検知には、信頼できない入力が機密性の高い操作にどのように流れるかというデータフローの追跡が不可欠です。単一の統合モデルでは、これらの多様で詳細なパターンを共有された潜在空間内で同時に捉えることが難しく、結果として検知漏れや誤検知が多発してしまいます。 第二に、膨大な数の脆弱性カテゴリに対して手動でプロンプトエンジニアリングを行うことは、スケーラビリティの観点からほぼ不可能です。Common Weakness Enumeration(CWE)には数百のエントリが存在し、それぞれの専門エージェントに対して固有の指示を手動で最適化することは現実的ではありません。…
本論文では、検索拡張型マルチエージェント枠組みである「MulVul」を提案しています。この枠組みの核心は、粗い粒度から細かい粒度へと段階的に検知を進める「Router-Detector」アーキテクチャと、プロンプト最適化を自動化する「クロスモデル・プロンプト進化(Cross-Model Prompt Evolution)」にあります。MulVulは、まずルーターエージェントが入力コードに対して上位k個の粗い脆弱性カテゴリを予測し、その後、該当するカテゴリに特化したデテクターエージェントのみを呼び出すという戦略を採ります。これにより、すべての脆弱性タイプに対してエージェントを起動する計算負荷を避けつつ、高い網羅性を維持しています。…
続きはログイン/プランで閲覧できます。
続きを読む
無料プランで全文は月 2 本まで読めます。
Related