American Fuzzy Lop ejecuta el programa de prueba como usuario sin privilegios o en chroot

American Fuzzy Lop ejecuta el programa de prueba como usuario sin privilegios o en chroot

Estoy intentando realizar una prueba tcshen OS X con American Fuzzy Lop como ejercicio, pero no quiero dañar accidentalmente ningún archivo útil en mi sistema.

Sin saber esencialmente nada sobre las pruebas fuzz, hice lo siguiente:

Instalé el fuzzer mediante cerveza.

$ brew install afl-fuzz

Como nodo lateral, el tcshscript de configuración parece ignorar la --disable-sharedbandera.

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

Luego le dio un estúpido script de prueba de ejemplo:samples/sample.csh

echo '45'

Luego me quedé sin palabras durante un tiempo de la manera más ingenua posible.

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

Pronto descubrí que los scripts de shell generados aleatoriamente habían creado algunos archivos basura.

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

¿Cuál sería la forma correcta de limitar las cosas que pueden hacer los scripts de Shell generados aleatoriamente y evitar que eliminen o modifiquen los archivos que me interesan?

seguí probando

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

pero no estoy seguro de que eso haga un buen trabajo al limitar lo que pueden hacer los scripts de shell generados aleatoriamente.

información relacionada