Witchcraft Solver - Automated 0day Discovery in Stripped Binaries
Where
Main Stage
DEF CON 34
Duration
57 min
Shows an automated pipeline that lifts stripped binaries to LLVM bytecode, runs static and symbolic analyzers over them, and uses fuzzing and concolic execution to turn candidate bugs into proofs of concept.
Summary
The talk presents Witchcraft Solver, a pipeline that takes a stripped ELF binary with no source, symbols or harness and searches it for bugs. The speaker opens with a long digression on the limits of formal reasoning and AI claims, then argues that the practical problem is getting from a binary to a candidate vulnerability and then to a working exploit input.
The pipeline lifts binaries to LLVM bytecode using several open-source lifters. Function boundaries are recovered from exception-handling frame sections instead of relying on IDA. Sink functions come from sanitizer backtraces produced by OSS-Fuzz and ARVO. The bytecode then goes to several symbolic and abstract-interpretation analyzers, and an LLM triages the reports. On FFmpeg, about 26 candidates were flagged, and the triage separated false positives from a few real memory corruptions. A comparison on a libjpeg-turbo bug with no public exploit contrasts coverage-based fuzzing, directed fuzzing and concolic execution on a stripped binary.
The closing section looks at future work toward machine-checked proofs and at the preservation of vulnerability records, including the revival of the BugTraq mailing list. A demonstration of a type-confusion flaw in the Lean prover makes the point that proof tools also have bugs. The takeaway is that binary-only pipelines can reach real programs, but their output still needs human or formal verification.
Materials
- DEF CON 34 - Jonathan Brossard - Witchcraft Solver Automated 0day Discovery in Stripped Binaries.rar
- Watch on DEF CON media
- github.com
- github.com
- github.com
- github.com
- github.com
- DEF CON 34 - Jonathan Brossard - Witchcraft Solver Automated 0day Discovery in Stripped Binaries - these.pdf
- Jonathan Brossard - Witchcraft Solver Automated 0day Discovery in Stripped Binaries - pipeline v1.pdf
Related talks
Talks·44 min
James Henderson
Shows how skipped protocol steps let an IPMI management service bypass authentication, using reverse engineering, fuzzing and debugging.
Talks·50 min
Dillon Franke
Walks through fuzzing macOS Mach IPC handlers to find low-level vulnerabilities and possible sandbox escape paths.
Main Stage·35 min
Ron Ben Yizhak
Traces unauthenticated RCE and privilege escalation bugs in GNU telnetd and Samba, showing how decades-old Linux services still hide critical flaws.


