Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
LibAFL — Biblioteca Avançada de Fuzzing - Monte seu Fuzzer em Rust! Escala em núcleos e máquinas. Para Windows, Android, MacOS, Linux, no_std, ... | Kitploit
Ferramentas/GitHubGitHub/aflplusplus/libafl
Frameworks de Testes de PenetraçãoAnálise Dinâmica (Sandboxing)Frameworks de ExploraçãoAnálise de VulnerabilidadesFuzzingAnálise de BináriosPapers e PesquisaAprendizado e Educação
GitHubaflplusplus/libafl

LibAFL

Biblioteca Avançada de Fuzzing - Monte seu Fuzzer em Rust! Escala em núcleos e máquinas. Para Windows, Android, MacOS, Linux, no_std, ...

Ver Repositório
2.6k4781há 3 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

LibAFL, a biblioteca de fuzzing

LibAFL logo

Biblioteca Avançada de Fuzzing - Monte seus próprios fuzzers e estenda seus recursos usando Rust.

LibAFL é uma coleção de peças reutilizáveis de fuzzers, escrita em Rust, que fornece muitos dos benefícios de um fuzzer pronto para uso, sendo completamente personalizável. Algumas funcionalidades de destaque atualmente incluem:

  • rápido: Fazemos tudo que podemos em tempo de compilação, mantendo a sobrecarga em tempo de execução mínima. Usuários atingem 120k execuções/seg em modo frida em um telefone (usando todos os núcleos).
  • escalável: Low Level Message Passing, LLMP para abreviar, permite que LibAFL escale quase linearmente entre núcleos, e via TCP para várias máquinas.
  • adaptável: Você pode substituir cada parte do LibAFL. Por exemplo, BytesInput é apenas uma forma potencial de entrada: sinta-se à vontade para adicionar uma entrada baseada em AST para fuzzing estruturado, e mais.
  • multiplataforma: LibAFL roda em Windows, macOS, iOS, Linux e Android, e mais. LibAFL pode ser construído em modo no_std para injetar LibAFL em alvos obscuros como dispositivos embarcados e hipervisores.
  • traga seu próprio alvo: Suportamos modos somente binário, como Frida-Mode, bem como múltiplas passagens de compilação para instrumentação baseada em código-fonte. Claro que é fácil adicionar backends de instrumentação personalizados.

Conceitos principais

LibAFL é rápido, multiplataforma, compatível com no_std e escala entre núcleos e máquinas. Ele oferece um crate principal que fornece blocos de construção para fuzzers personalizados, libafl, uma biblioteca contendo código comum que pode ser usado para instrumentação de alvos, libafl_targets, e uma biblioteca que fornece facilidades para envolver compiladores, libafl_cc. Ele oferece integrações com frameworks de instrumentação populares. No momento, os backends suportados são:

  • SanitizerCoverage, em libafl_targets
  • Frida, em libafl_frida
  • QEMU modo usuário e modo sistema, incluindo hooks para emulação, em libafl_qemu
  • TinyInst, em libafl_tinyinst por elbiazo

Construindo e instalando

Instale as Dependências

  • A linguagem de desenvolvimento Rust
    • Recomendamos fortemente não usar, por exemplo, o pacote da sua distribuição Linux, pois provavelmente está desatualizado. Portanto, instale o Rust diretamente, instruções podem ser encontradas aqui.

    • A versão mínima suportada do Rust está definida. Você pode sempre verificar a versão atualmente requerida no Cargo.toml do LibAFL:

      Se a sua versão instalada do Rust for mais antiga que a listada no Cargo.toml, atualize para o toolchain estável mais recente:

      root@kitploit:~
      rustup update stable
      
  • Ferramentas LLVM
    • As ferramentas LLVM (incluindo clang, clang++) são necessárias (mais recentes que LLVM 15.0.0 até LLVM 18.1.3). Se você está usando Debian/Ubuntu, novamente, recomendamos fortemente que instale o pacote a partir daqui
  • Just:
    • Usamos just para construir os fuzzers no diretório fuzzers/. Você pode encontrar instruções para instalá-lo no seu ambiente no Manual do Programador Just.

Clone o repositório LibAFL com

root@kitploit:~
git clone https://github.com/AFLplusplus/LibAFL

Construa a biblioteca usando

root@kitploit:~
cargo build --release

Construa a documentação da API com

root@kitploit:~
cargo doc

Navegue pelo livro LibAFL (em andamento!) com (requer mdbook)

root@kitploit:~
cd docs && mdbook serve

Primeiros passos

Coletamos todos os fuzzers de exemplo em ./fuzzers. Certifique-se de ler a documentação (e o código fonte), esta é a maneira natural de começar!

root@kitploit:~
just run

Você pode executar cada fuzzer de exemplo com o seguinte comando, desde que o diretório do fuzzer tenha um arquivo Justfile. O fuzzer mais bem testado é ./fuzzers/inprocess/libfuzzer_libpng, um fuzzer multicore semelhante ao libfuzzer usando LibAFL para um harness libpng.

Recursos

  • Guia de instalação
  • Documentação da API online
  • O livro LibAFL (em andamento) online ou no repositório
  • Nosso artigo de pesquisa
  • Nossa palestra no RC3 explicando os conceitos principais
  • Nossa palestra no Fuzzcon Europe com uma discussão passo a passo (um pouco, mas não muito desatualizada) sobre como construir alguns fuzzers de exemplo
  • As soluções do Fuzzing101 & série de postagens no blog por epi
  • Postagem no blog sobre fuzzing somente binário lib libaf_qemu, Hacking TMNF - Fuzzing the game server, por RickdeJager.
  • Um Workshop Introdutório sobre LibAFL, por Jordan Whitehead

Contribuidores

LibAFL é escrito e mantido por

  • Andrea Fioraldi [email protected]
  • Dominik Maier [email protected]
  • s1341 [email protected]
  • Dongjia Zhang [email protected]
  • Addison Crump [email protected]
  • Romain Malmain [email protected]

Contribuindo

Por favor, consulte CONTRIBUTING.md para as diretrizes de contribuição.

Depuração

Seu fuzzer não funciona como esperado? Tente ler DEBUGGING.md para entender como depurar seus problemas.

Citar

Se você usar LibAFL para seu trabalho acadêmico, cite o seguinte artigo:

root@kitploit:~
@inproceedings{libafl,
 author       = {Andrea Fioraldi and Dominik Maier and Dongjia Zhang and Davide Balzarotti},
 title        = {{LibAFL: A Framework to Build Modular and Reusable Fuzzers}},
 booktitle    = {Proceedings of the 29th ACM conference on Computer and communications security (CCS)},
 series       = {CCS '22},
 year         = {2022},
 month        = {November},
 location     = {Los Angeles, U.S.A.},
 publisher    = {ACM},
}

Licença

Licenciado sob a Licença Apache, Versão 2.0 ou a licença MIT, à sua escolha.
A menos que você declare explicitamente o contrário, qualquer contribuição intencionalmente submetida para inclusão neste crate por você, conforme definido na licença Apache-2.0, será licenciada duplamente como acima, sem quaisquer termos ou condições adicionais.
Baixar ferramenta