American Fuzzy Lop запускает тестовую программу как непривилегированный пользователь или в chroot

American Fuzzy Lop запускает тестовую программу как непривилегированный пользователь или в chroot

Я пытаюсь провести тестирование tcshна OS X с American Fuzzy Lop в качестве упражнения, но не хочу случайно испортить какие-нибудь полезные файлы в моей системе.

Не имея практически никаких знаний о фаззинг-тестировании, я сделал следующее:

Я установил фаззер через brew.

$ brew install afl-fuzz

как сторонний узел, tcshскрипт конфигурации, похоже, игнорирует этот --disable-sharedфлаг.

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

Затем привёл глупый пример тестового скрипта:samples/sample.csh

echo '45'

Затем я некоторое время вел себя как аф-фузз самым наивным образом.

$ 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 @@

но я не уверен, что это в достаточной степени ограничивает возможности случайно сгенерированных скриптов оболочки.

Связанный контент