fuzzing-dictionary

Generate domain-specific token dictionaries for libFuzzer, AFL++, and cargo-fuzz.

19.0k|5.6k|Updated Jul 9, 2024
One-click install
npx skills add https://github.com/elizaOS/eliza --skill fuzzing-dictionary-elizaos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: fuzzing-dictionary
Source: https://github.com/elizaOS/eliza/tree/main/packages/skills/skills/testing-handbook-skills/skills/fuzzing-dictionary
Command: npx skills add https://github.com/elizaOS/eliza --skill fuzzing-dictionary-elizaos

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps fuzzing tools discover deeper code paths by providing them with relevant keywords, magic bytes, and protocol commands, significantly improving the efficiency of security testing.

Core Features & Use Cases

  • Token-Based Fuzzing: Enhances fuzzers by incorporating domain-specific strings.
  • Broad Compatibility: Works with popular fuzzers like libFuzzer, AFL++, and cargo-fuzz.
  • Use Case: When fuzzing a custom network protocol, use a dictionary containing common commands and headers to help the fuzzer generate more realistic and effective test cases.

Quick Start

Use the fuzzing-dictionary skill to create a dictionary file for fuzzing a PNG parser.

Frequently Asked Questions about fuzzing-dictionary

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I guide fuzzers to find deeper vulnerabilities in format-specific code?

To guide fuzzers toward deeper code paths, you provide domain-specific tokens like keywords and magic numbers, enabling targeted mutation strategies that uncover vulnerabilities in parsers and protocols more efficiently.

What is a fuzzing dictionary and when do I need one for security testing?

A fuzzing dictionary contains domain-specific strings and protocol commands used to guide fuzzers. You need one when security testing custom protocols or parsers to help generate realistic, effective test cases.

Does this fuzzing dictionary approach work with libFuzzer and AFL++?

Yes, token injection is compatible with popular fuzzers including libFuzzer, AFL++, and cargo-fuzz, allowing them to use known keywords and magic bytes for targeted mutation strategies.

How do I create a dictionary file for fuzzing a PNG parser?

To create a dictionary for fuzzing a PNG parser, you compile relevant magic bytes, headers, and format-specific tokens into a file that instructs your fuzzer to generate valid structural test cases.

Why does my fuzzer fail to reach deep code paths in protocol parsers?

Fuzzers fail to reach deep code paths without relevant context. Supplying domain-specific tokens and protocol commands helps them bypass initial parsing barriers and discover deeper vulnerabilities.