Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
FuzzUSB is a specialized fuzzing framework designed to test USB gadget drivers in the Linux kernel. It combines stateful fuzzing techniques to systematically uncover vulnerabilities in USB device emulation code, which is critical for improving the security of embedded systems and IoT devices that rely on USB gadget functionality. ## Key Features - **Hybrid Stateful Fuzzing** — Combines coverage-guided fuzzing with state-aware mutation to effectively explore complex USB gadget state machines. - **Linux Kernel Integration** — Specifically targets USB gadget subsystem drivers within the Linux kernel. - **Syzkaller Integration** — Built on top of the syzkaller kernel fuzzer with custom patches for USB gadget fuzzing. - **Automated Workflow** — Includes scripts for kernel building, disk image preparation, and test execution. - **Research-Backed Approach** — Developed based on academic research into USB gadget security vulnerabilities. ## Philosophy FuzzUSB adopts a systematic, research-driven approach to fuzzing, focusing on the often-overlooked USB gadget stack to uncover deep-seated security issues in Linux-based embedded systems.