A kernel API fuzzer for macOS that automatically infers API models from execution logs to generate targeted fuzzers.
IMF (Inferred Model-based Fuzzer) is a security research tool that automatically infers models of kernel APIs from execution logs and generates targeted fuzzers to discover vulnerabilities. It specifically focuses on macOS kernel interfaces including IOKit and CoreFoundation frameworks, providing a systematic approach to kernel security testing.
Security researchers and kernel developers working on macOS systems who need to systematically test kernel APIs for vulnerabilities. Academic researchers studying fuzzing techniques and automated software testing.
IMF eliminates the need for manual API model specification by automatically inferring models from execution traces, making kernel fuzzing more accessible and efficient. Its research-backed approach has proven effective in discovering real vulnerabilities like CVE-2017-7159.
Inferred Model-based Fuzzer
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Eliminates manual API modeling by inferring models from execution traces, reducing initial setup effort as shown in the multi-step log collection process.
Generates custom fuzzers based on inferred models, leading to systematic vulnerability discovery proven by CVE-2017-7159.
Specifically designed for IOKit and CoreFoundation APIs, making it highly effective for niche macOS security testing.
Based on peer-reviewed CCS 2017 paper, ensuring a validated methodology for academic and security applications.
Requires six distinct steps including hook generation, log filtering, and compilation, with minimal automation or error handling guidance.
Only supports macOS, as stated in the README, restricting its use to a single operating system family.
Relies on python2.7, which is deprecated, posing compatibility issues and security risks for modern systems.
The README lacks detailed explanations, troubleshooting, or examples, making it challenging for users beyond the basic workflow.