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

1

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

Sabendo basicamente nada sobre testes de fuzz, fiz o seguinte:

Eu instalei o fuzzer através da bebida.

$ brew install afl-fuzz

como um nó lateral, o script tcsh configure parece ignorar o sinalizador --disable-shared .

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

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

echo '45'

Então eu corri por um tempo, da maneira mais ingênua possível.

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

Logo descobri que os shell scripts gerados aleatoriamente criaram alguns arquivos de lixo.

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

Qual seria a maneira correta de limitar as coisas que os shell scripts gerados aleatoriamente podem fazer e impedir que eles excluam ou modifiquem potencialmente os arquivos que me interessam.

Eu continuei tentando

$ 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 é suficiente para restringir o que scripts shell gerados aleatoriamente podem fazer.

    
por Gregory Nisbet 22.05.2016 / 03:17

0 respostas