News
- EMNLP 2026 Main: “Evaluating Coding Agents on Kernel Exploit Generation” has been accepted for an oral presentation.
Evaluating Coding Agents on Kernel Exploit Generation
EMNLP 2026 Main (Oral Presentation)
KEX-bench evaluates coding agents on exploit primitive generation against real Linux and Windows kernels. The benchmark contains 45 task instances across 40 CVEs, with deterministic, primitive-specific verification.
Linux includes 25 tasks across 20 CVEs: 9 kernel address leaks, 6 instruction-pointer control tasks, 6 heap reads, and 4 heap writes.
| # | Model | Success | Tokens | Runtime | Provider |
|---|---|---|---|---|---|
| 1 | 92.0%
23/25
|
113.7M | 22.5h | Anthropic | |
| 2 | 76.0%
19/25
|
176.5M | 30.3h | Anthropic | |
| 3 | 48.0%
12/25
|
123.7M | 9.9h | OpenAI | |
| 4 | 40.0%
10/25
|
449.9M | 21.4h | Anthropic | |
| 5 | 24.0%
6/25
|
56.7M | 7.0h | OpenAI | |
| 6 | 12.0%
3/25
|
87.2M | 5.7h | OpenAI | |
| 7 | 8.0%
2/25
|
41.8M | 3.7h | Anthropic | |
| 8 | 8.0%
2/25
|
84.2M | 5.7h | OpenAI | |
| 9 | 8.0%
2/25
|
90.9M | 13.0h | Moonshot AI | |
| 10 | 4.0%
1/25
|
14.4M | 11.2h | ||
| 11 | 0.0%
0/25
|
39.6M | 3.7h | Anthropic |
Results use the released 45-task evaluation suite. Each agent/model pair is evaluated once per task in each setting.
Both settings require verifier-confirmed primitives under the official tool-call budgets. Crashes and textual claims do not count as solved tasks.
Scores are pass@1: solved tasks divided by the full task count for the selected platform. Overall uses all 45 task instances; Linux uses 25; Windows uses 20.
Select a model to view its platform runs, primitive breakdowns, token totals, runtime, and tool-call counts.