American Fuzzy Lopは、非特権ユーザーまたはchrootでテストプログラムを実行します。

American Fuzzy Lopは、非特権ユーザーまたはchrootでテストプログラムを実行します。

tcsh練習として American Fuzzy Lop を使用して OS X でテストしようとしていますが、システム上の有用なファイルを誤って破壊したくありません。

ファズ テストについてはほとんど何も知らなかったので、次の操作を実行しました。

brew 経由でファザーをインストールしました。

$ brew install afl-fuzz

サイドノードとして、tcshconfigure スクリプトはフラグを無視するようです--disable-shared

$ ./configure CC=afl-clang --disable-shared --prefix="$HOME"/opt/fuzzy-local ; make

次に、愚かなサンプルテスト スクリプトを示しました。samples/sample.csh

echo '45'

それから、私は可能な限り最も単純な方法でしばらく afl-fuzz を実行しました。

$ afl-fuzz -i samples -o afl_findings ./bin/tcsh -f @@

すぐに、ランダムに生成されたシェル スクリプトによっていくつかのゴミファイルが作成されたことがわかりました。

$ ls
?d%FF%FFd%A7    ?               5?              bin             share
?45?            45              afl_findings    samples

ランダムに生成されたシェル スクリプトが実行できることを制限し、重要なファイルを削除または変更する可能性を防ぐ正しい方法は何でしょうか。

私は試してみた

$ chown nobody:nogroup afl-findings
$ sudo -u nobody afl-fuzz -i samples -o all_findings ./bin/tcsh -f @@

しかし、ランダムに生成されたシェル スクリプトが実行できることを十分に制限できるかどうかはわかりません。

関連情報