Skip to main content

libfuzzer

libfuzzer

Catalogue généré le 2026-05-11

En une phrase

Coverage-guidedlibFuzzer fuzzerest builtun into"fuzzer" intégré au compilateur LLVM forqui bombarde une fonction C/C++ projects.avec des milliers d'entrées aléatoires pour trouver les bugs et plantages cachés — c'est l'outil le plus simple pour démarrer.

Quand l'utiliser

  • UseTester forune fonction C ou C++ avec un setup minimal et rapide.
Démarrer du fuzzing C/C+sans s'embêter avec des configurations complexes. Fuzzer un projet compilé avec Clang. Quand un seul cœur CPU suffit (pas de campagne géante). Prototyper avant de basculer plus tard sur AFL++ codesi that can be compiled with Clang.besoin.

Comment l'invoquer

  • Slash command : /libfuzzer (si exposé dans ton CLI)
  • Phrases déclencheurs (texte) : voir"fuzz laC/C++ descriptionwith complètelibFuzzer", ci-dessous"quick fuzzing setup", "LLVM fuzzer"
  • Auto-invocation : surSur demande explicite

Description complètedétaillée

Coverage-guidedlibFuzzer est le fuzzer built"starter intopack" pour le C et C++. Un fuzzer, c'est un robot qui essaie de casser ton programme en lui passant des entrées tordues, aléatoires, jamais prévues. Le but : voir s'il plante, accède à de la mémoire interdite ou se met dans un état bizarre. libFuzzer est fait par les équipes LLVM for(les C/C+mêmes qui font le compilateur Clang), donc c'est super intégré au pipeline de compilation moderne.

Tu écris juste une petite fonction appelée LLVMFuzzerTestOneInput qui reçoit des octets aléatoires, tu compiles avec -fsanitize=fuzzer et c'est parti. C'est le plus rapide à mettre en route, mais il a deux limitations : il tourne sur un seul cœur CPU et il est en mode "maintenance" depuis fin 2022 (pas de nouvelles features).

Bonne nouvelle : les harnesses (les petits programmes d'entrée écrits pour libFuzzer) sont compatibles avec AFL++. projects.Donc Usetu forcommences fuzzingavec C/C++libFuzzer pour aller vite, et si tu veux scaler sur plusieurs cœurs plus tard, tu réutilises le même code thatavec canAFL++. beC'est compiledun withexcellent Clang.premier pas avant les outils plus avancés.

Pour aller plus loin

libFuzzer

Pour

libFuzzerles isexemples anconcrets, in-process,options coverage-guidedde fuzzerconfiguration thatet ispatterns part of the LLVM project. It's the recommended starting point for fuzzing C/C++ projects due to its simplicity and integration with the LLVM toolchain. While libFuzzer has been in maintenance-only mode since late 2022, it is easier to install and use than its alternatives, has wide support, and will be maintained for the foreseeable future.

When to Use

Fuzzer Best For Complexity libFuzzer Quick setup, single-project fuzzing Low AFL++ Multi-core fuzzing, diverse mutations Medium LibAFL Custom fuzzers, research projects High Honggfuzz Hardware-based coverage Medium

Choose libFuzzer when:

    You need a simple, quick setup for C/C++ code Project uses Clang for compilation Single-core fuzzing is sufficient initially Transitioning to AFL++ later is an option (harnesses are compatible)

    (extrait —avancés, voir le SKILL.md complet pour la suite)original.

    Source

    • Plugin : trailofbits/testing-handbook-skills
    • Nom interne : libfuzzer
    • Fichier : /home/thymon/.claude/plugins/cache/trailofbits/testing-handbook-skills/1.0.1/skills/libfuzzer/SKILL.md