fuzzing
termosegurançaprogramaçãohacking
Alimentar um programa com quantidades enormes de entradas malformadas ou aleatórias para ver o que o faz quebrar.
Uma queda é uma pista, já que um programa que trata mal a entrada a ponto de morrer pode tratá-la mal de forma explorável, e fuzzers acham em horas o que a revisão de código deixa passar por anos. Fuzzers modernos guiados por cobertura, como AFL e libFuzzer, mutam entradas e guardam as que alcançam caminhos novos de código, e é por isso que são combinados com sanitizadores que transformam corrupção silenciosa em falha ruidosa e reproduzível. Fica dos dois lados da cerca: a mesma ferramenta serve ao fabricante endurecendo um parser e a quem pesquisa bugs nele.
Também conhecido como: fuzz testing, fuzzer, AFL