Oracle Driven Fuzzing

Search an input space too large to enumerate, with an oracle strong enough that the bug is visible when it is hit — property-based tests, structure-aware fuzzing, differential and metamorphic oracles, corpus and coverage discipline, shrinking, and crash triage that separates a reproducer from a finding. Use whenever bugs should be found by generated input rather than by reading — "fuzz this", "property-based", "hypothesis/quickcheck/proptest", "libFuzzer", "AFL", "differential testing", "generate test cases", "how do I test this parser/serializer/state machine", "it only breaks on weird input" — or when a crash corpus needs triage. Also trigger when a fuzzer "found nothing", and whenever a round-trip, an encoder/decoder pair, a cache, or a second implementation exists, because those are free oracles. Sibling of falsifiable-testing (hand-written tests) and discriminating-proof (confirming one hypothesis); this skill governs the automated search that generates them. It never calls a crash a vulnerability.

annatchijova d2bc6a4 10.2 KB Updated

File contents

annatchijova/SKILLS/tree/main/oracle-driven-fuzzing commit d2bc6a43e1

Frequently asked questions

npx skillmds@latest add annatchijova/oracle-driven-fuzzing