American Fuzzy Lop executa programa de teste como usuário sem privilégios ou em chroot

American Fuzzy Lop executa programa de teste como usuário sem privilégios ou em chroot

Estou tentando testar tcshno OS X com American Fuzzy Lop como exercício, mas não quero destruir acidentalmente nenhum arquivo útil em meu sistema.

Não sabendo essencialmente nada sobre testes de fuzz, fiz o seguinte:

Instalei o fuzzer através do brew.

$ brew install afl-fuzz

como um nó secundário, o tcshscript configure parece ignorar o --disable-sharedsinalizador.

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

Em seguida, dei um exemplo estúpido de script de teste:samples/sample.csh

echo '45'

Então fiquei confuso por um tempo da maneira mais ingênua possível.

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

Logo descobri que os scripts de shell gerados aleatoriamente criaram alguns arquivos inúteis.

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

Qual seria a maneira correta de limitar as coisas que os scripts de shell gerados aleatoriamente podem fazer e impedi-los de excluir ou modificar arquivos de meu interesse.

fui tentar

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

mas não tenho certeza se isso faz um trabalho bom o suficiente para restringir o que os scripts de shell gerados aleatoriamente podem fazer.

informação relacionada