Zorya: Automated Concolic Execution of Single-Threaded Go Binaries
By: Karolina Gorna , Nicolas Iooss , Yannick Seurin and more
Potential Business Impact:
Finds hidden bugs in computer programs faster.
Go's adoption in critical infrastructure intensifies the need for systematic vulnerability detection, yet existing symbolic execution tools struggle with Go binaries due to runtime complexity and scalability challenges. In this work, we build upon Zorya, a concolic execution framework that translates Go binaries to Ghidra's P-Code intermediate representation to address these challenges. We added the detection of bugs in concretely not taken paths and a multi-layer filtering mechanism to concentrate symbolic reasoning on panic-relevant paths. Evaluation on five Go vulnerabilities demonstrates that panic-reachability gating achieves 1.8-3.9x speedups when filtering 33-70% of branches, and that Zorya detects all panics while existing tools detect at most two. Function-mode analysis proved essential for complex programs, running roughly two orders of magnitude faster than starting from main. This work establishes that specialized concolic execution can achieve practical vulnerability detection in language ecosystems with runtime safety checks.
Similar Papers
BASICS: Binary Analysis and Stack Integrity Checker System for Buffer Overflow Mitigation
Cryptography and Security
Fixes computer programs to stop security problems.
Soteria: Efficient Symbolic Execution as a Functional Library
Programming Languages
Finds bugs in computer code faster and better.
Soteria: Efficient Symbolic Execution as a Functional Library
Programming Languages
Finds bugs in computer code faster and better.