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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
LibAFL — 高度なファジングライブラリ - Rustでファザーを組み立てよう!コアやマシンを越えてスケール。Windows、Android、MacOS、Linux、no_std対応、... | Kitploit
ツール/GitHubGitHub/aflplusplus/libafl
ペネトレーションテストフレームワーク動的分析 (サンドボックス)エクスプロイトフレームワーク脆弱性分析ファジングバイナリ解析論文と研究学習と教育
GitHubaflplusplus/libafl

LibAFL

高度なファジングライブラリ - Rustでファザーを組み立てよう!コアやマシンを越えてスケール。Windows、Android、MacOS、Linux、no_std対応、...

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

人気

すべて見る →

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

すべてのツールを探索

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

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

LibAFL、ファザーライブラリ

LibAFL ロゴ

高度なファジングライブラリ - 独自のファザーを組み合わせ、Rustを使用して機能を拡張しましょう。

LibAFL は、Rustで書かれた再利用可能なファザーの部品のコレクションであり、市販のファザーの利点の多くを提供しながら、完全にカスタマイズ可能です。 現在の主な特徴は次のとおりです:

  • fast: コンパイル時にできる限りのことを行い、ランタイムのオーバーヘッドを最小限に抑えます。ユーザーはスマートフォン上の frida モードで(全コア使用)120k execs/sec を達成しています。
  • scalable: Low Level Message Passing(略称 LLMP)により、LibAFL はコア数にほぼ線形にスケーリングし、TCP経由で複数のマシンにもスケーリングできます。
  • adaptable: LibAFL の各部品を置き換えることができます。例えば、BytesInput は入力形式の一例に過ぎません。構造化ファジングのためのASTベースの入力を自由に追加できます。
  • multi platform: LibAFL は Windows、macOS、iOS、Linux、Android などで動作します。LibAFL は no_std モードでビルドでき、組み込みデバイスやハイパーバイザーなどの特殊なターゲットに注入できます。
  • bring your own target: Frida-Mode などのバイナリのみのモードと、ソースベースのインストルメンテーションのための複数のコンパイルパスをサポートしています。もちろん、カスタムのインストルメンテーションバックエンドを追加するのも簡単です。

コアコンセプト

LibAFL は高速、マルチプラットフォーム、no_std 互換で、コアやマシン間でスケーリングします。カスタムファザーのためのビルディングブロックを提供するメインクレート libafl、ターゲットインストルメンテーションに使用できる共通コードを含むライブラリ libafl_targets、およびコンパイラをラップする機能を提供するライブラリ libafl_cc を提供します。また、人気のインストルメンテーションフレームワークとの統合も提供しています。現在サポートされているバックエンドは次のとおりです:

  • SanitizerCoverage、libafl_targets 内
  • Frida、libafl_frida 内
  • QEMU ユーザーモードおよびシステムモード(エミュレーション用フック含む)、libafl_qemu 内
  • TinyInst、libafl_tinyinst 内(作者:elbiazo)

ビルドとインストール

依存関係のインストール

  • Rust開発言語
    • Linuxディストリビューションのパッケージは古い可能性が高いため、使用しないことを強くお勧めします。代わりに Rust を直接インストールしてください。手順はこちらにあります。

    • 最小サポートRustバージョンが定義されています。現在必要なバージョンは LibAFL の Cargo.toml で確認できます。

      インストールされている Rust のバージョンが Cargo.toml に記載されているものより古い場合は、最新の安定版ツールチェーンにアップデートしてください:

      root@kitploit:~
      rustup update stable
      
  • LLVMツール
    • LLVMツール(clang、clang++ を含む)が必要です(LLVM 15.0.0 から LLVM 18.1.3 まで)。Debian/Ubuntu を使用している場合も、こちらからパッケージをインストールすることを強くお勧めします。
  • Just:
    • fuzzers/ ディレクトリ内のファザーをビルドするために just を使用します。お使いの環境へのインストール手順は Just Programmer's Manual にあります。

LibAFL リポジトリのクローン

root@kitploit:~
git clone https://github.com/AFLplusplus/LibAFL

ライブラリのビルド

root@kitploit:~
cargo build --release

APIドキュメントのビルド

root@kitploit:~
cargo doc

LibAFL ブック(WIP!)の閲覧(mdbook が必要)

root@kitploit:~
cd docs && mdbook serve

はじめに

すべてのサンプルファザーは ./fuzzers に集められています。それらのドキュメント(およびソース)を必ず読んでください。これが 自然な始め方です!

root@kitploit:~
just run

ファザーディレクトリに Justfile ファイルがあれば、以下のコマンドで各サンプルファザーを実行できます。最もテストされているファザーは ./fuzzers/inprocess/libfuzzer_libpng で、libpng ハーネスに LibAFL を使用するマルチコア libfuzzer ライクなファザーです。

リソース

  • インストールガイド
  • オンライン API ドキュメント
  • LibAFL ブック(WIP)オンライン または リポジトリ
  • 研究論文
  • RC3 トーク(コアコンセプトの説明)
  • Fuzzcon Europe トーク(いくつかのサンプルファザーの構築方法に関するステップバイステップの議論(少し古いですが、それほどではありません))
  • Fuzzing101 の解答とブログ記事シリーズ(作者:epi)
  • バイナリのみのファジングライブラリ libaf_qemu に関するブログ記事 Hacking TMNF - ゲームサーバーのファジング、作者:RickdeJager。
  • LibAFL 入門ワークショップ、作者:Jordan Whitehead

コントリビューター

LibAFL は以下のメンバーによって作成・管理されています:

  • Andrea Fioraldi [email protected]
  • Dominik Maier [email protected]
  • s1341 [email protected]
  • Dongjia Zhang [email protected]
  • Addison Crump [email protected]
  • Romain Malmain [email protected]

コントリビューション

コントリビューションガイドラインについては、CONTRIBUTING.md をご確認ください。

デバッグ

ファザーが期待通りに動作しませんか? DEBUGGING.md を読んで、問題のデバッグ方法を理解してください。

引用

学術研究で LibAFL を使用する場合は、以下の論文を引用してください:

root@kitploit:~
@inproceedings{libafl,
 author       = {Andrea Fioraldi and Dominik Maier and Dongjia Zhang and Davide Balzarotti},
 title        = {{LibAFL: A Framework to Build Modular and Reusable Fuzzers}},
 booktitle    = {Proceedings of the 29th ACM conference on Computer and communications security (CCS)},
 series       = {CCS '22},
 year         = {2022},
 month        = {November},
 location     = {Los Angeles, U.S.A.},
 publisher    = {ACM},
}

ライセンス

選択により、Apache License, Version 2.0 または MIT license のいずれかの下でライセンスされています。
明示的に別途記載しない限り、Apache-2.0 ライセンスで定義されているように、あなたがこのクレートに含めるために意図的に提出したコントリビューションは、追加の条件なしに上記と同様にデュアルライセンスされるものとします。
ツールをダウンロード