aflpp は何をしますか?
AFL++は、優れたファジング性能と高度な機能を備えたAFLのフォークです。C/C++プロジェクトのマルチコアファジングに使用します。
概要
AFL++は、American Fuzzy Lop(AFL)の活発にメンテナンスされているフォークであり、元のツールと比較して大幅に改善されたファジング性能と追加機能を提供します。これは、CおよびC++アプリケーション向けのカバレッジガイド型ファジングツールであり、ソフトウェアのバグや脆弱性を自動的に発見するのに役立ちます。
主な機能
- マルチコアファジング: 複数のCPUコアを活用してファジングスループットとカバレッジを向上させます。
- 高度な計測: エッジカバレッジ、レアエッジ、およびその他の高度な計測モードをサポートします。
- カスタマイズ可能なファジング戦略: さまざまなファジング戦略とスケジューラから選択できます。
- 永続モード: 一時的なモードと比較して、はるかに高速なファジングを可能にします。
- 辞書サポート: 既知のトークンを使用してファジング効率を向上させます。
使用方法
AFL++スキルは、AIエージェント環境でファジングワークフローを自動化するために設計されています。開発者はこのスキルを使用して、次のことができます:
- テスト対象のターゲットバイナリを準備する
- AFL++ファジングキャンペーンを開始する
- 複数のコアにわたるファジングを調整する
- 結果を分析し、クラッシュを特定する
設定
最適な結果を得るには、ファジング環境が次の要件を満たしていることを確認してください:
- 対応プラットフォーム: Linux(推奨)、macOS(限定的サポート)
- 依存関係:
afl-clang-fast、afl-clang-fast++、afl-fuzz - 推奨設定: 永続モードの有効化、辞書の提供、マルチコア実行
例
# 永続モードでの単一コアファジング
AFL_USE_ASAN=1 afl-clang-fast -o target target.c -lm
afl-fuzz -i input -o output -- ./target @@
# マルチコアファジング
screen -S fuzz1 -d -m afl-fuzz -i input -o output -M fuzzer1 -- ./target @@
screen -S fuzz2 -d -m afl-fuzz -i input -o output -S fuzzer2 -- ./target @@