panda-re/lava

LAVA: Large-scale Automated Vulnerability Addition

何を解決するか

LAVAは、バグ検出ツールの評価と改善に必要な「真の正解」データセットの不足を解決します。開発者は、ソフトウェアにバグを自動的に挿入することで、大規模かつ現実的な合成バグデータセットをオンデマンドで作成できます。

動作方法

LAVAはターゲットソフトウェアプログラムにバグを自動的に挿入します。各挿入されたバグは、そのバグをトリガーする特定の入力とペアになります。これにより、バグが再現可能かつ既知であることが保証されます。このようにして作成された「真の正解」データセットでは、バグとそのトリガーとなる入力が明確に分かっているため、バグ検出ツールが実際に同じ脆弱性を検出できるかをテストできます。

対象ユーザー

このツールは、バグ検出ツールの開発者や、高品質でラベル付きの脆弱なソフトウェアデータセットを必要とするセキュリティ研究者向けに設計されています。

特徴

  • 自動バグ挿入: 既存のソフトウェアにバグを自動的に生成します。
  • 真の正解の生成: すべてのバグには対応するトリガー入力が付随します。
  • 現実的な合成バグ: バグはプログラムの深部に埋め込まれており、現実世界のシナリオを模倣します。
  • 拡張可能: target_configs ディレクトリ内の設定ファイルを使って、新しいターゲットプロジェクトを簡単に追加できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト