← Latest papers
🤖 machine learning

SEC-bench Pro: Can Language Models Solve Long-Horizon Software Security Tasks?

This paper introduces SEC-bench Pro, a rigorous benchmark featuring 183 real-world vulnerabilities in V8 and SpiderMonkey that reveals current language model-based coding agents struggle with long-horizon software security tasks, achieving at most a 38.8% success rate even with frontier models.

Original authors: Hwiwon Lee, Jiawei Liu, Dongjun Kim, Ziqi Zhang, Chunqiu Steven Xia, Lingming Zhang

Published 2026-05-27
📖 4 min read☕ Coffee break read

Original authors: Hwiwon Lee, Jiawei Liu, Dongjun Kim, Ziqi Zhang, Chunqiu Steven Xia, Lingming Zhang

Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer

Imagine you are hiring a team of super-smart, AI-powered detectives to find hidden traps in a massive, complex video game engine. These engines (called JavaScript engines) run the code that makes websites and apps work. If a detective finds a trap, they have to show exactly how to trigger it (a "Proof of Concept" or PoC) so the game developers can fix it.

This paper introduces a new, very strict test called SEC-bench Pro to see how good these AI detectives really are at finding these traps in the real world.

The Problem with Old Tests

Previous tests were like giving the detective a treasure map that already marked the "X" where the treasure was. They might have said, "Go to line 500 and press this button to break the game."

  • The Issue: Real bug hunting doesn't work that way. Real detectives have to look at the whole code, figure out where the trap might be, and then try to trigger it without knowing exactly where it is. Old tests didn't measure this real skill; they just measured if the AI could follow a map.

The New Test: SEC-bench Pro

The authors built a new, harder test using two famous game engines: V8 (used by Google Chrome) and SpiderMonkey (used by Firefox).

  1. The Setup: They took 183 real, confirmed traps that humans had found before.
  2. The Environment: They recreated the exact "time machine" version of the software where the trap existed, plus the version where it was fixed.
  3. The Rules: The AI agents were given the raw code and a vague description of a problem. They had to:
    • Figure out the specific code path to the trap.
    • Write a script (the PoC) to trigger the crash.
    • Prove that the script only breaks the old version and is fixed in the new version.

The "Three-Image" Judge

This is the most important part of their new test. In the past, if an AI caused any crash, it got a point. But an AI might accidentally break something else in the game that wasn't the specific trap they were looking for.

SEC-bench Pro uses a Three-Image Judge (a sophisticated AI referee):

  • Image 1 (The Trap): Does the script break the old version?
  • Image 2 (The Fix): Does the script stop breaking the new version (where the patch is applied)?
  • Image 3 (The Latest): Does the script break the newest version (where other fixes might have happened)?

If the AI causes a crash in the old version but also crashes the fixed version, the Judge says, "You didn't find the specific trap; you just broke the game generally." This prevents the AI from getting points for lucky, unrelated mistakes.

The Results: The AI Detectives Struggle

The paper tested three top-tier AI "detectives" (powered by models like GPT-5.4, Opus 4.6, and Kimi-K2.6). Here is what happened:

  • The Scorecard: Even the smartest AI could only solve about 32% to 39% of the traps. That means they failed on more than 60% of the cases.
  • The "Open-Weight" Rookie: A cheaper, open-source AI (Kimi-K2.6) only solved about 11.7% of the V8 traps.
  • The Teamwork Effect: Interestingly, the AI detectives found different traps. When you combined the results of the two best AIs, they solved about 48% of the SpiderMonkey traps together, but neither could do it alone. They are like two detectives with different specialties; one is good at finding one type of clue, the other at a different type.

Why Did They Fail?

The paper found two main reasons the AIs struggled:

  1. Too Much Guessing (The "Spray and Pray" approach): One AI (Claude) tried to generate thousands of scripts. Most of them didn't actually break anything, or they broke the wrong thing. It was like throwing a million darts at a board and hoping one hits the bullseye.
  2. Too Much Caution (The "Over-Thinker" approach): Another AI (Codex) was very careful. It would analyze the code, decide a trap might be there, but if it couldn't prove it 100% before submitting, it would give up and say "I can't do it." It missed many traps because it was too afraid of being wrong.

The Big Takeaway

The paper concludes that while AI is getting better at writing code, it is still not very good at the long, difficult process of hunting for security bugs in complex, real-world software.

The current best AI can find a few traps, but it misses the majority. The new benchmark (SEC-bench Pro) proves that we need better tools to help these AIs connect the dots between the code and the hidden traps, rather than just hoping they get lucky with a crash.

Drowning in papers in your field?

Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.

Try Digest →