Skip to content

Can AI Agents Really Perform Reverse Engineering? SRE-Bench Reveals Their Limits

Paper ReferencearXiv:2608.11469
BenchmarkSRE-Bench (Aug 2026)
Scale19 Binaries Β· 1,572 Tasks
Human Dev Effort5,000+ Expert Hours

1. Introduction: The Mirage of Automated Binary Auditing

Section titled β€œ1. Introduction: The Mirage of Automated Binary Auditing”

Over the past two years, claims regarding LLM capabilities in software engineering have soared. In source-code benchmarks such as SWE-bench, reasoning models equipped with file-editing tools solve multi-file bug tickets with impressive success. However, binary reverse engineering (RE) represents an entirely different class of cognitive complexity:

  • Information Loss: Compilation strips variable names, high-level typing, control constructs, and source comments.
  • Non-Linear State Spaces: Disassembly forces reasoning over register clobbering, indirect calls, stack frames, and hardware architecture semantics.
  • Adversarial Defenses: Real-world malware and proprietary software employ intentional anti-analysis obfuscationsβ€”opaque predicates, anti-debugging, and control-flow flattening.

Until recently, most academic evaluations of AI reverse engineering suffered from a critical methodological flaw: dataset contamination. Models were evaluated on open-source CTF binaries (such as Flare-On or DefCon challenges) whose writeups and decompilations saturated the pre-training corpuses of frontier models.

In August 2026, researchers published SRE-Bench (β€œThe Next Challenge for Agentic Cybersecurity: A Realistic, Contamination-Free Reverse Engineering Benchmark”, arXiv:2608.11469), establishing the first clean, real-world baseline for autonomous binary reverse engineering.


SRE-Bench addresses the three primary vulnerabilities of prior AI cybersecurity benchmarks:

  1. The Contamination Trap: Every target program in SRE-Bench was written from scratch in private repositories over 5,000 collective engineering hours by senior security engineers. No line of source code, binary hash, or task specification ever leaked into public LLM training datasets.
  2. Realistic Code Scale: Rather than testing miniature 50-line C snippets, SRE-Bench targets complete, modular programs averaging 16,900 lines of code (ranging from 4,200 to over 48,000 LOC).
  3. The Anti-Analysis Chasm: Real-world binary analysis is not a frictionless translation of clean Ghidra pseudocode. SRE-Bench integrates 44 production-grade anti-analysis primitives, mirroring techniques deployed by sophisticated cybercrime syndicates and commercial digital rights management systems.

3. How the Research Works: The Evaluation Architecture

Section titled β€œ3. How the Research Works: The Evaluation Architecture”

The benchmark evaluates autonomous AI agents interacting with a dedicated execution container equipped with standard reverse engineering tools:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ SRE-Bench Evaluation Loop β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Autonomous Agent Orchestrator β”‚
β”‚ (Reasoning Core + Action Generator) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–²β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ Tool Call β”‚ Tool Output
β–Ό β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Containerized RE Workspace (Ghidra, IDA Pro Headless, GDB, Radare2, Angr) β”‚
β”‚ β”‚
β”‚ 1. Static Decompilation & CFG Recovery (Disassembly Engine) β”‚
β”‚ 2. Dynamic Execution & Emulation (QEMU / GDB Python Scripting) β”‚
β”‚ 3. Memory Inspection & Register State Tracing β”‚
β”‚ 4. Anti-Analysis Bypasses & Hook Injection β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”‚ Deterministic Validation
β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Automated Ground-Truth Verifier β”‚
β”‚ (Exact Flag / Protocol Patch / Key Match) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Agents are granted terminal execution access to command-line decompilers (headless Ghidra, radare2), symbolic execution engines (angr), and dynamic debuggers (GDB). Tasks are structured as goal-oriented challenges requiring the agent to deduce internal cryptographic algorithms, recover hidden command-and-control protocol grammars, or defeat anti-debugging checks to extract embedded verification keys.


SRE-Bench comprises 19 custom software architectures, compiled across diverse optimization levels (-O0, -O2, -O3, -Os) and stripped of all debug symbols:

DomainTarget ProgramsAvg. LOCPrimary Reverse Engineering Objective
Network ProtocolsCustom P2P, encrypted tunnels, IoT daemons18.4KReconstruct proprietary packet framing, handshake crypto, and state machines.
Firmware & EmbeddedRTOS parsers, bootloaders, sensor monitors14.2KIdentify memory-mapped I/O peripherals, flash checksum routines, and hardcoded creds.
File Format ParsersProprietary container, audio compression, 3D asset22.1KReverse-engineer chunk headers, variable-length bitstreams, and decompression logic.
Malware SimulatorsRansomware loaders, banking trojans, rootkits12.8KUnpack staged payloads, extract C2 dead-drop resolvers, neutralize evasion routines.
Logic & GamingTurn-based engines, physics engines, license validators16.7KIdentify game-state integrity checks, anti-tamper memory hashes, and serial algorithms.

The benchmark systematically applies combinations of 44 distinct anti-analysis primitives:

  • Anti-Debugging: ptrace self-attachment, PEB BeingDebugged monitoring, timing checks (rdtsc delta verification), hardware breakpoint detection via debug registers (DR0-DR3).
  • Anti-Disassembly: Junk-byte insertion across conditional jumps, overlapping instructions, return-oriented call manipulation, indirect jump tables.
  • Control-Flow Obfuscation: Opaque predicates (polynomial invariants), control-flow flattening via dispatcher loops (Chenxi-style dispatchers), and basic block splitting.
  • Data-Flow Concealment: Dynamic string decryption (RC4/custom XOR unrolling), API hashing via MurmurHash3/CRC32, and stack-string assembly.

The researchers evaluated premier frontier models operating within agentic scaffolds:

  1. Autonomous ReAct Agents: Iterative planning and tool-execution loops utilizing Ghidra headless scripts and GDB.
  2. Models Benchmarked:
    • Claude-3.5-Sonnet / Claude-Opus-5 (Anthropic)
    • GPT-4o / OpenAI o1-preview / GPT-5.6-sol (OpenAI)
    • DeepSeek-Coder-V2 / R1 (Open-source frontier reasoning)
    • Gemini-1.5-Pro / Ultra 2.0 (Google)

Each agent was evaluated across single-pass execution (one shot at solving the task) and multi-turn iterative execution (up to 30 interaction rounds with decompiler/debugger feedback).


The quantitative outcomes in SRE-Bench demonstrate a stark divide between source-code reasoning and binary reverse engineering:

Model / Agent ScaffoldClean Binaries (No Obfuscation)Light Obfuscation (Stripped + Anti-Debug)Full Obfuscation (Flattening + Crypto)Complete Task Solve Rate
OpenAI o1 / GPT-5.6-sol38.4%19.2%4.1%14.6%
Claude-3.5-Sonnet (Agent Scaffold)34.1%16.5%3.2%12.8%
DeepSeek-R1 (Reasoning Core)31.7%14.8%2.9%11.2%
GPT-4o (Zero-Shot Baseline)14.2%5.1%0.8%4.9%
  1. The Obfuscation Cliff: As soon as binaries incorporate control-flow flattening and dynamic string encryption, solve rates collapse by over 85% across all models.
  2. Partial vs. Complete Success: While models frequently achieve partial semantic understanding (e.g., correctly determining that a function performs AES-128 encryption or socket communication, solving 42% of sub-tasks), they fail to synthesize the exact mathematical inversion or key schedule needed to complete the task.
  3. Context Window Saturation: Across multi-turn debug sessions, decompiler output and assembly dumps rapidly consume context tokens, causing the agent to lose coherence after 8 to 12 iterations.

7. Critical Analysis: Why Do AI Agents Fail at Binaries?

Section titled β€œ7. Critical Analysis: Why Do AI Agents Fail at Binaries?”

The authors’ rigorous qualitative breakdown reveals four systemic failure modes:

When Ghidra or IDA outputs pseudocode with undefined types (undefined4, longlong), models routinely project wishful semantics onto variable names. If a decompiled loop contains an index variable named uVar1, the LLM frequently guesses its purpose based on common programming clichΓ©s rather than strictly auditing the assembly constraints.

Human reverse engineers maintain a mental map of the runtime stack, register assignments, and memory layouts. LLMs process disassembly as sequential tokens. When an anti-analysis trick deliberately alters the instruction pointer via indirect stack manipulation (push <target>; ret), the LLM’s autoregressive attention mechanism completely fails to model the control flow transfer.

Current agent harnesses struggle to integrate dynamic debugger traces. When GDB reports a SIGSEGV or an anti-debugging abort, agents rarely set strategic breakpoints upstream to isolate the triggering instruction. Instead, they repeatedly run the same decompiler commands or generate trivial syntax variations.


To maintain scientific integrity, Hermes separates capabilities into three explicit categories:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ HERMES CAPABILITY SEPARATION (SRE-BENCH) β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [1] DEMONSTRATED CAPABILITY (Empirically Proven Today) β”‚
β”‚ βœ” Explain un-obfuscated decompiled C functions in stripped binaries. β”‚
β”‚ βœ” Identify standard cryptographic constants (AES s-boxes, MD5 initializers). β”‚
β”‚ βœ” Automate high-level triage: identifying imported APIs and basic protocol IO. β”‚
β”‚ βœ” Solve simple cracking tasks on binaries under 5K LOC without anti-debug. β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [2] REASONED INFERENCE (High Probability Near-Term Capability) β”‚
β”‚ ◐ Assisting human analysts as an interactive Ghidra / IDA copilot. β”‚
β”‚ ◐ Automatically proposing function and variable renames in clean libraries. β”‚
β”‚ ◐ Generating basic angr / symbolic execution scripts for simple logic bombs. β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ [3] HYPOTHETICAL SPECULATION (Unproven / Disproven by SRE-Bench) β”‚
β”‚ βœ– Autonomous end-to-end unpacking of heavily protected commercial malware. β”‚
β”‚ βœ– Defeating sophisticated control-flow flattening without human guidance. β”‚
β”‚ βœ– Replacing human reverse engineers in zero-day discovery in stripped firmware.β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

  • Binary-Level Vulnerability Hunting Remains Hard for AI: Threat actors cannot simply point current AI agents at stripped commercial binaries or closed-source zero-days and expect automated exploit extraction.
  • Triage Acceleration: Attackers can, however, use models to accelerate the initial triage of small security updates (patch diffing between two DLL revisions) when compiler optimization differences are minimal.
  • Malware Authors Still Hold the Advantage: Because modern obfuscators (such as OLLVM, VMProtect, and Themida) shatter AI reasoning, malware developers who employ standard anti-analysis techniques remain largely insulated from autonomous AI reverse engineering.

  • SOC & Incident Response Triage: For defensive teams analyzing first-stage loaders and un-obfuscated script-based droppers, AI agents can drastically reduce time-to-insight by automatically extracting C2 IP addresses and configuration parameters.
  • Do Not Rely on Autonomous Malware Analysis: Incident response teams cannot deploy autonomous LLMs as untended malware reverse engineers. High-consequence malware (such as nation-state wipers or ransomware encryptors) will easily mislead AI agents through anti-analysis triggers.
  • The Need for Tool Co-Design: Security tooling must evolve. Instead of feeding raw assembly dumps to LLMs, reverse engineering platforms need to expose structured semantic abstractions (sliced data-flow graphs, def-use chains, and execution trace diffs) optimized for reasoning models.

11. What Does This Mean for the Next 12–24 Months?

Section titled β€œ11. What Does This Mean for the Next 12–24 Months?”

Over the next 12 to 24 months, progress will not come from simply expanding context windows. The bottleneck in binary reverse engineering is state tracking and dynamic feedback integration.

We anticipate that the integration of specialized symbolic execution plugins (automated angr harnesses) and native debugger hooks directly into the agent’s reasoning loop will raise clean-binary solve rates from ~35% toward 60%. However, heavily obfuscated targets with layered virtualization and control-flow flattening will remain an exclusively human domain for the foreseeable future.