Skip to content
KitploitKITPLOIT
ツールブログ
Log in
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
lava — LAVA: 大規模自動脆弱性追加 | Kitploit
ツール/GitHubGitHub/panda-re/lava
脆弱性分析ファジングバイナリ解析論文と研究学習と教育
GitHubpanda-re/lava

lava

LAVA: 大規模自動脆弱性追加

リポジトリを見る
41765741日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

LAVA: 大規模自動脆弱性追加

Publish Lava Package and Container

Lava Tests

バグ発見ツールの評価と改善は、現時点では正解データコーパス(すなわち、トリガーとなる入力を持つ既知のバグを含むソフトウェア)の不足により困難です。LAVA は、ソフトウェアに自動的にバグを注入することでこの問題の解決を試みます。すべての LAVA バグには、それをトリガーする入力が付随しており、通常の入力ではそれがトリガーされる可能性は極めて低いです。これらの脆弱性は合成的なものですが、プログラムの深部に埋め込まれており、実際の入力によってトリガーされるという意味で、依然として現実的であると私たちは主張します。私たちの研究は、大規模な正解データ脆弱性コーパスをオンデマンドで生成するためのアプローチの基盤を形成し、厳密なツール評価を可能にし、ツール開発者に高品質なターゲットを提供します。

LAVA は MIT Lincoln Laboratory、NYU、Northeastern University の協力の成果です。

クイックスタート

Docker

LAVA の master ブランチの最新バージョンは、Ubuntu 22.04 をベースとした Docker イメージとして自動的にビルドされ、Docker Hub に公開されます。ほとんどのユーザーは、PANDA と LAVA がランタイム依存関係とともにインストールされた lava コンテナを使用したいと思うでしょうが、コンテナのサイズを削減するためにビルド成果物やソースコードは含まれていません。

lava コンテナを使用するには、Docker Hub からプルできます:

$ docker pull pandare/lava

または、このリポジトリからビルドします:

$ DOCKER_BUILDKIT=1 docker build lava .

Ubuntu, Debian

ローカルインストール

Ubuntu 22.04 が動作しているシステムでは、単に bash install.sh を実行するだけでよいはずです。 このインストールスクリプトはパッケージをインストールし、システムに変更を加えることに注意してください。 バイナリは sudo apt-get remove lava を使用して削除できます。

バイナリのインストールが完了したら、pip install . を実行してローカルにインストールできます。

注意 として、Python パッケージはバイナリのコンパイルから生成された SQL ファイルが python/src/pyroclastic/data/lava.sql に配置されている必要があります。 このファイルがないと、Python パッケージは正しく動作しません。

通常のインストール

あるいは、LAVA の依存関係を手動でインストールしてからソースからビルドすることもできます。 releases にある Debian パッケージをダウンロードしてください。次に Python パッケージ pip install pyroclastic をインストールします。

最終ステップ

host.json の活用

次に、init_host を実行して ~/.lava ディレクトリに host.json を生成します。 このファイルは LAVA があなたのマシン固有の設定を保存するために使用されます。必要に応じてこれらの設定を編集できますが、デフォルト値で動作するはずです。vars.py を参照してください。

覚えておくべきいくつかの値は以下の通りです:

  • pguser これはデータベースユーザーの名前で、現在は postgres がデフォルトです
  • host はすべての LAVA バグを含む Postgres SQL データベースの名前です。現在は database がデフォルトですが、LAVA をローカルにインストールした場合は、これを localhost に変更する必要があるでしょう

注意: Postgres SQL データベースには 2 つの環境変数も必要です:

  • POSTGRES_PASS これは Postgres SQL ユーザーのパスワードです`
  • POSTGRES_USER これは Postgres SQL データベースのホスト名です

プロジェクト設定

プロジェクト設定は target_configs ディレクトリにあり、各設定は target_configs/projectname/projectname.json に配置されています。 これらの設定ファイル内で指定されたパスは、host.json ファイルで設定された値に対して相対的です。

Postgres SQL データベースのセットアップ

前述したように、Postgres SQL ユーザーを作成する必要があります。環境変数を使用するスクリプトを使用して、以下を行うことができます:

  • 環境変数から提供されたユーザー名とパスワードでユーザーを作成します。
  • ホスト上の Postgres SQL データベースを更新して、外部ソース(例: LAVA Docker コンテナ)からのトラフィックを受け入れるようにします。

使用方法

最後に、lava を実行して実際にプログラムにバグを注入できます。 target_configs ディレクトリにあるプロジェクトの名前を指定するだけです。例えば:

lava -ak toy

これで toy のバグ入りコピーができたはずです!

新しいターゲットにバグを注入したい場合は、いくつかの変更が必要になるでしょう。 ガイダンスについては How-to-Lava を参照してください。

ドキュメント

始めるには docs フォルダを参照してください。

著者

LAVA は多くの人々による数年にわたる開発の成果です。貢献者の一部(アルファベット順)のリストは以下の通りです:

  • Andy Davis
  • Brendan Dolan-Gavitt
  • Andrew Fasano
  • Zhenghao Hu
  • Patrick Hulin
  • Amy Jiang
  • Engin Kirda
  • Tim Leek
  • Andrea Mambretti
  • Andrew Quijano
  • Wil Robertson
  • Aaron Sedlacek
  • Rahul Sridhar
  • Frederick Ulrich
  • Ryan Whelan
ツールをダウンロード