AFLとは American Fuzzy Lop (AFL)はファジングツールの一つです. ファジングとはプログラムの脆弱性検査手法の一つで,簡単に言ってしまえばあるプログラムをランダムな引数で実行することを繰り返して,プログラムがクラッシュするような入力を探そうという方法です. なんとも場当たり的な対応で心許ない気もしますが,実際には洗練されたアルゴリズムを利用することで一般に良く機能します. 世の中ファジングツールは数多く存在しますが,AFLはその利用の簡単さと,何よりも何百何千というバグを実際に見つけている運用実績で有名です. 最近は更新が止まっているようですが,AFLはコードが簡潔にまとまっており,AFLを参考に作られてたファジングツールも多く存在します. AFLの技術的詳細はAFLの作者がtechnical_details.txtにまとめています. これを読むとAFLの概要は分か