From file to useful result
How to ask with this skill installed
Installing the skill gives your AI a method. Your request still has to provide the case-specific facts, constraints and expected output.
Describe the decision or deliverable, not just the topic.
Add source material, audience, limits and known facts.
Set format, quality criteria and checks.
When to use it
| 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)
Note: Fuzzing harnesses written for libFuzzer are compatible with AFL++, making it easy to transition if you need more advanced features like better multi-core support.
Mistakes to avoid
| Problem | Cause | Solution | |---------|-------|----------| | No crashes found after hours | Poor corpus, low coverage | Add seed inputs, use dictionary, check harness | | Very slow executions/sec (<100) | Target too complex, excessive logging | Optimize target, use -close_fd_mask=3, reduce logging | | Out of memory | ASan's 20TB virtual memory | Set -rss_limit_mb=0 to disable RSS limit | | Fuzzer stops after first crash | Default behavior | Use -fork=1 -ignore_crashes=1 to continue | | Can't reproduce crash | Non-determinism in harness/target | Remove random number generation, global state | | Linking errors with -fsanitize=fuzzer | Missing libFuzzer runtime | Ensure using Clang, check LLVM installation | | GCC project won't compile with Clang | GCC-specific code | Switch to AFL++ with gcc_plugin instead | | Coverage not improving | Corpus plateau | Run longer, add dictionary, improve seeds, check coverage report | | Crashes but ASan doesn't trigger | Memory error not detected without ASan | Recompile with -fsanitize=address |