performing-fuzzing-with-aflplusplus について
AFL++でコンパイル済みバイナリをカバレッジガイド付きでファジングする手順を説明するスキルです。セキュリティテスター向けに、計測、コーパス準備、実行、クラッシュ分析を扱います。
主な機能
- 01対象プログラムの計測
- 02シードコーパスの準備と縮小
- 03入力変異によるコードパス探索
- 04カバレッジと進行状況の確認
- 05クラッシュの縮小と分析
活用シーン
- 01ソースコードのあるコンパイル済みプログラムの検査
- 02QEMUによるバイナリのみの対象のファジング
- 03入力パーサーのクラッシュやハングの検出
- 04再現可能なクラッシュレポートの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill performing-fuzzing-with-aflplusplusインストール後、Claude Code で/performing-fuzzing-with-aflplusplusを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSEreferences/api-reference.mdscripts/agent.py詳細
AFL++ を使用したファジング
概要
AFL++ は、コンパイル済みバイナリ向けにカバレッジガイド型ファジングを提供する、コミュニティが保守する American Fuzzy Lop(AFL)のフォークです。コンパイル時、またはバイナリのみを対象とするファジング用の QEMU/Unicorn モードでターゲットに計測処理を組み込み、入力コーパスを変異させて新しいコードパスを発見します。AFL++ には、高度なスケジューリング(MOpt、rare)、カスタムミューテーター、入力と状態の比較を解決するための CMPLOG、高スループットのファジングを実現する永続モードが含まれています。
使用する場面
- aflplusplus を使用したファジングを伴うセキュリティ評価を実施する場合
- 関連するセキュリティイベントのインシデント対応手順に従う場合
- 定期的なセキュリティテストまたは監査活動を実施する場合
- 実地テストを通じてセキュリティ制御を検証する場合
前提条件
- AFL++ がインストールされていること(
apt install afl++またはソースからビルド) - ターゲットのソースコード(コンパイル時の計測処理用)、またはバイナリのみを対象とする場合は QEMU モード
- ターゲット形式に対応する有効な入力の初期シードコーパス
/proc/sys/kernel/core_patternが設定された Linux システム
手順
afl-ccまたはafl-clang-fastを使用してターゲットバイナリに計測処理を組み込みます- 最小限の有効な入力を含むシードコーパスディレクトリを用意します
afl-cminでコーパスを最小化し、冗長なシードを削除します- 適切なフラグ(-i input -o output)を指定して
afl-fuzzを実行します - afl-whatsup と UI の統計情報でファジングの進捗を監視します
afl-tminによる最小化と CASR/GDB の解析でクラッシュをトリアージします- 再現手順を添えて、固有のクラッシュを報告します
期待される出力
+++ Findings +++
unique crashes: 12
unique hangs: 3
last crash: 00:02:15 ago
+++ Coverage +++
map density: 4.23% / 8.41%
paths found: 1847
exec speed: 2145/sec
コメント
Markdown 対応