Cyber Risks · Trail of Bits Blog

Performing Concolic Execution on Cryptographic Primitives

Summary: A Trail of Bits intern built Sandshrew, a prototype concolic unit testing tool that uses Manticore and Unicorn to check equivalence between an unverified C cryptographic implementation and a benchmark verified one. Sandshrew concretizes calls to wrapped primitives to avoid SMT timeouts, then reintroduces an unconstrained symbolic variable to keep execution going, but analysis still stalls on many test cases because the Manticore z3 interface often times out.

Bottom line: The tool's own author reports that arriving at a solution is probabilistic and that analysis gets stuck on many test cases, so any team treating symbolic execution as a path to crypto verification should plan for solver timeouts rather than assume exhaustive coverage.

Read the original at Trail of Bits Blog ↗