大家读完觉得有帮助记得关注和点赞!!!
摘要。我们提出了网络防御基准(Cyber Defense Benchmark),这是一个衡量大语言模型(LLM)智能体在执行安全运营中心(SOC)分析师核心任务——威胁狩猎——方面表现的基准:给定一个包含原始Windows事件日志的数据库,没有任何引导性问题或提示,识别恶意事件的确切时间戳。该基准将来自OTRF Security-Datasets语料库的106个真实攻击步骤(涵盖13种战术中的93种MITRE ATT&CK子技术)封装到一个Gymnasium强化学习环境中。每个回合向智能体提供一个内存中的SQLite数据库,包含75,000-135,000条日志记录,这些记录由确定性战役模拟器生成,该模拟器对原始录音进行时间偏移和实体混淆。智能体必须迭代地提交SQL查询以发现恶意事件时间戳并显式标记它们。智能体性能通过单一覆盖率分数(Coverage Score,取值[0,1])进行总结——智能体检测到的攻击轨迹片段中正确提交日志时间戳的比例,在每次运行的各实例上等权平均。对前沿模型(专有模型Claude Opus 4.7、GPT-5、Gemini 3.1 Pro,以及开源权重模型Kimi K2.6、Qwen3.6 Plus、DeepSeek V3.2、MiniMax M2.7)在覆盖105/106个步骤的26个战役上的评估发现,所有模型均表现惨淡,即使最佳模型Claude Opus 4.6也是如此,没有任何模型在任何一次运行中找到所有威胁。我们将及格分数定义为在每个ATT&CK战术上召回率≥50%——这是无人监督SOC部署的最低标准。表现最佳的Claude Opus 4.6在13个战术中有6个未达到此阈值。这一结果表明,尽管当前LLM在精心设计的问答型安全基准上表现强劲,但它们并不适合开放式的、证据驱动的威胁狩猎任务。
1. 引言
安全运营中心(SOC)分析师面临一个根本性挑战: adversaries 在数百万条日志事件中留下分散的痕迹,使用能够绕过静态规则的技术,分析师必须跨大型异构遥测数据进行推理,以重建攻击链。这项任务——威胁狩猎——需要生成假设、迭代查询、证据综合以及对恶意活动的精确定位。大语言模型在安全知识测试和针对预分段的日志片段的自然语言问答上表现出了强劲的性能,但它们在原始遥测数据上进行开放式、智能体驱动的威胁狩猎的能力尚未得到严格衡量。
现有的安全基准分为两类。知识基准(CTI-Bench [4]、SecBench [2]、CyberMetric [3])测试事实回忆和文本推理。引导式日志分析基准(例如,微软研究院2025年的基准[15],包含44天的数据和基于8个模拟真实世界攻击的问答)将分析师任务分解为可回答的子问题,从而限制了对于真实威胁狩猎至关重要的假设形成过程。两者都没有捕捉到开放式调查的难度。
我们提出的网络防御基准在三个维度上与先前工作不同:
无引导性问题。智能体仅收到一份简短的威胁情报简报和原始日志;所有假设必须由智能体自身产生。
基于真实攻击遥测的可扩展规模。日志来自在Windows主机上记录的实际 adversary 技术执行,而非合成生成。
广泛的MITRE覆盖和攻击变异性。涵盖13种战术中93种ATT&CK子技术的106个步骤,通过一个强制杀伤链依赖关系和顺序实体混淆的模拟器组合成多阶段战役,这防止了记忆化,并允许测试LLM在端到端威胁狩猎中的推理能力。
2. 相关工作
2.1 LLM安全基准
越来越多的研究在网络安全任务上评估LLM。SecBench [2]和CyberMetric [3]通过多项选择题评估事实性和程序性安全知识。CTI-Bench [4]测试网络威胁情报推理能力。CAI-Bench [13]将安全构建为竞赛风格的问答。这些基准衡量知识,但不衡量在证据收集环境中的操作技能。CyberAIBench引入了CTF挑战,在精神上更接近我们的工作,但其侧重于利用而非防御。
2.2 日志分析与威胁检测
先前的工作要求LLM对单条日志条目进行分类,或在预先选择的日志窗口上回答问题。微软研究院安全副驾驶评估[15]使用44天的合成组织日志,包含8个预定义的攻击场景,并评估结构化问答,这分解了分析师任务并移除了假设形成步骤。我们的基准向智能体呈现完整的、未分段的日志数据库,并且没有攻击场景框架。
2.3 智能体安全评估
InterCode-CTF [6]和NYU CTF Bench [7]评估智能体在进攻性CTF挑战上的表现。PentestBench [8]评估针对易受攻击机器的端到端渗透测试。网络防御基准是第一个针对防御性对应任务的基准:来自防御者遥测的智能体威胁狩猎,需要主动发现证据,而非预先呈现的攻击产物。
2.4 数据集来源
网络防御基准建立在OTRF Security-Datasets (Mordor) [1]之上,这是一个公共语料库,包含在受控实验室环境中执行的106个攻击者步骤的记录Windows事件日志。先前的工作使用Mordor日志进行Sigma规则开发;我们是第一个将其转换为具有确定性战役模拟的、计分式的、回合制基准的人。
2.5 与现有基准的定位
Simbian先前的工作——AI SOC LLM Leaderboard [17]——是第一个衡量端到端智能体告警调查的基准,覆盖整个SOC工作流——从告警摄入到分类、调查和处理——跨越100个完整杀伤链场景,这些场景源自知名APT组织(APT32、APT38、APT43、Cobalt Group、Lapsus$等)的行为。网络防御基准是互补的:前者衡量告警驱动的调查(用告警种子启动狩猎),而我们的基准衡量从原始遥测数据出发、无种子告警的假设驱动的威胁狩猎。表1将两者置于更广泛的LLM网络安全基准图景中。
表1:LLM网络安全基准图景
| 基准 | 聚焦领域 | 格式 | 规模 | 真实遥测 | 智能体 | 防记忆化 | 成本跟踪 |
|---|---|---|---|---|---|---|---|
| CTI-Bench | CTI知识 | 多项选择题/简答 | 固定 | — | — | — | — |
| CyberSOCEval [18] | SOC推理 | 多答案选择题 | 固定 | — | — | — | — |
| AI SOC LLM Leaderboard | 告警调查 | 端到端智能体 | 固定 | ✓ | ✓ | — | — |
| ExCyTIn-Bench | 威胁调查 | 基于任务的问答 | 固定 | ✓ | ✓ | — | — |
| SIR-Bench | 事件响应 | 词法发现 | 可扩展(人工) | ✓ | ✓ | ✓ | — |
| 网络防御(本文) | 威胁狩猎 | 攻击日志狩猎 | 可扩展(代码) | ✓ | ✓ | ✓ | ✓ |
3. 任务形式化
3.1 问题陈述
一个威胁狩猎回合是一个部分可观测的序列决策问题。状态 s 是数据库中的完整日志记录集,包括哪些记录对应恶意事件。智能体的信念状态是其对话历史。在每个回合,智能体可以(a)执行SQL查询并观察最多10行结果,或(b)提交其认为是恶意的时间戳列表。当智能体提交所有正确时间戳、耗尽50次查询预算或明确放弃时,回合终止。
该任务比表面看起来更难:一个典型的战役数据库包含75,000-135,000条日志记录,其中1,539-6,713条是恶意的(大约1-5%)。每次查询最多显示10行。在50次查询预算内找到所有恶意事件需要覆盖一个大的搜索空间——这是一个无法通过广度优先扫描单独解决的信息检索问题。
3.2 评分
真实情况是一组恶意事件时间戳(标记,flags),来源于Sigma规则检测和LLM丰富的后果事件(第6节)。时间戳在规范化UTC后缀后以微秒精度匹配。
覆盖率分数(主要报告指标)。原始标记数量不是一个良好的跨战役信号,因为不同战役的标记密度差异巨大(每次运行从几十到几千个)。我们改为在叙事步骤层面聚合智能体性能。每个步骤将其恶意活动分解为一个有序的叙事步骤链(初始访问 → 执行 → 持久化,…);每个真实标记都被标记其所属的步骤。一个重放由(攻击链,攻击步骤)id标识——这允许跟踪智能体进展的连续性和完整性。对于每个实例 i,我们定义:
c_i(t) = | 到第t轮为止提交的标记所覆盖的步骤数 | / | 实例 i 中可覆盖的步骤数 |
其中,如果一个步骤至少有一个映射到它的筛选内标记(默认为高严重性、高相关性的sigma/程序标记),则该步骤是可覆盖的。在第t轮时的每运行覆盖率分数 C(t) 是实例加权平均值 C(t) = mean_i c_i(t);每个LLM的 headline 分数是各运行中 C(T_final) 的平均值。覆盖率分数取值 [0,1],是在Pareto y轴、每轮差值图以及雷达图总体上报告的量。在底层数据框中,它对应列 ratio_step_procedure_host_user_in_submitted。
我们额外跟踪两个原始计数作为诊断指标:n_flags_in_submitted(正确提交的时间戳,传统提交率的分子)和 n_flags_in_query(在任何查询结果中出现过的标记,是智能体可观测性的上界)。两者之间的差距量化了智能体的归因失败——看到了证据但未明确标记。
4. 环境设计
4.1 Gymnasium 接口
HolodeckHuntEnv 实现了 Gymnasium Env API [12]。动作空间是 spaces.Text(max_length=2000)——一个自由形式的SQL字符串。观测空间是 spaces.Text(max_length=50000)——一个结构化字符串,包含当前简报、最近的查询以及查询结果或错误消息。回合限制:max_queries=50(截断),在75个智能体轮次处设有1.5倍安全上限。该环境有意保持最小化:没有工具使用API、没有向量存储、没有检索增强——唯一的信息收集机制是SQL。
4.2 SQLite 日志数据库
日志存储在一个内存中的SQLite数据库中,有一个单一扁平表 logs。模式包含505个文本列,对应整个106步骤语料库中观察到的所有Windows和Sysmon EventData字段,外加一个包含完整原始事件的 raw_json 列。在热门字段上构建了四个索引:EventID、Computer、Hostname 和 User。查询结果截断为10行;始终报告总行数,以便智能体规划分页查询。扁平模式设计迫使智能体推理哪些字段对哪些事件类型携带信号——这是一项模拟真实世界SIEM查询编写的技能。
4.3 噪声注入
当 include_noise=True(默认)时,500条合成良性Sysmon EventID-1记录被混洗到攻击日志中,模拟跨8个常见二进制文件(explorer.exe, chrome.exe, svchost.exe等)、3个用户和50个工作站的背景进程创建活动。噪声记录不关联任何标记,防止智能体将所有进程创建事件视为自动可疑。
4.4 智能体接口
UniversalHunter 智能体收到一个系统提示,包含:(i)任务声明,(ii)完整的505列模式,(iii)查询分页指令,以及(iv)三种可用动作。在每个回合,智能体必须返回一个结构化的 HunterAction,通过提供商原生的JSON-schema约束解码强制执行:
python
HunterAction { reasoning: str # 必填,非空的内部独白 tool: Enum # run_sql | submit_flags | give_up sql_query: str | None # 当且仅当 tool == run_sql 时需提供 submitted_timestamps: list | None # 当且仅当 tool == submit_flags 时需提供 }三种工具可用:run_sql(执行SQL,消耗一个查询回合);submit_flags(提交候选时间戳,免费——不消耗回合);以及 give_up(提前终止)。通过LiteLLM [14]访问模型,支持Anthropic、OpenAI、Google Vertex AI(为Gemini启用高思考模式)、AWS Bedrock、Fireworks AI以及自定义OpenAI兼容端点。
5. 数据集
5.1 来源:OTRF Security-Datasets
该基准使用了来自开放威胁研究联盟(OTRF)Security-Datasets项目[1]的106个步骤记录,这是一个通过在被控实验室环境中执行特定攻击者技术生成的Windows事件日志公共语料库。每个步骤由人类 adversary 模拟操作员执行,并通过Windows事件转发(WEF)、Sysmon或HELK堆栈收集管道捕获。这些步骤涵盖MITRE ATT&CK中定义的凭证转储、横向移动、权限提升、持久化、防御规避和其他行为。
5.2 规范化
原始记录跨越9个基础设施环境和5种日志格式:HELK/Elasticsearch JSON、WEF导出、raw_event、Winlogbeat和ADFS-schema。一个自定义规范化器强制执行通用模式:每条记录都有一个ISO-8601格式的 TimeCreated 字段;@timestamp 字段被丢弃;字段别名(例如 IpAddress/Ipaddress, ProcessID/ProcessId)被解决。106个步骤中的774,218条原始记录全部解析成功,零错误。
表2:核心数据集统计
| 统计项 | 数值 |
|---|---|
| 总步骤数 | 106 |
| 总原始日志记录数 | 774,218 |
| 每步骤平均记录数 | 7,304 |
| 记录范围(最小-最大) | 68-9,896 |
| 唯一(Channel, EventID)对 | 303 |
| 唯一模式字段键 | 507 |
| MITRE ATT&CK子技术数 | 93 |
| 覆盖的MITRE战术数 | 12 |
| 父技术覆盖率 | 38%(87/231) |
| 恶意事件标记总数 | 23,268 |
| 每步骤平均标记数 | 219.5 |
| 标记范围(每步骤最小-最大) | 11-3,068 |
5.3 MITRE ATT&CK 覆盖
106个步骤覆盖了ATT&CK企业矩阵中12种战术的93个独特MITRE ATT&CK子技术:初始访问、执行、持久化、权限提升、防御规避、凭证访问、发现、横向移动、收集、命令与控制、渗透、影响。这相当于覆盖战术中所有父技术的38%(87/231)。第9节中的战术级分析将资源开发添加为第13个类别以作补充。基准的贪婪种子选择算法(第7.3节)确保26个战役实例覆盖105/106个步骤——剩余的步骤在默认蓝图的操作标签约束下无法达到。
6. 标记提取管道
6.1 Sigma规则检测
对于每个步骤的规范化日志,我们针对SigmaHQ规则仓库[9]运行 WithSecureLabs Chainsaw [10]。Chainsaw 在 (EventID, Channel, record-index) 级别产生匹配。每个 Chainsaw 命中产生一个或多个 sigma 标记,标记有匹配规则的标识符和严重性(严重、高、中、低)。需要对规则进行修补,将 yaml.safe_load 改为 yaml.safe_load_all,因为 SigmaHQ 使用了带有 action: global 的多文档YAML。
6.2 LLM后果丰富化
Sigma规则针对特定事件模式,会错过恶意活动的因果邻域。我们使用一个LLM丰富步骤,对于每个Sigma匹配的事件,识别后果事件:紧接在检测之前或之后、因果上可归因于攻击者动作的日志记录(例如,加载到WMIC进程中的DLL,从cmd.exe派生的子进程)。这些被标记为 consequent_sigma 或 consequent_procedure。另一个丰富步骤根据Sigma YAML元数据分配严重性、相关性分数(1 = 攻击核心,2 = 支撑性,3 = 附带)以及叙事步骤映射。
6.3 标记分类法
该基准定义了5个组中的29个 FlagType 值:攻击者基础设施(IP、域名、URL、端口)、受害者身份(主机、用户、SID等)、其他实体(主机、用户、进程、DLL、服务)、恶意工件(进程路径、命令、哈希、注册表项、互斥锁等)以及恶意事件时间戳。对于威胁狩猎任务,所有真实标记都是 malicious_event_timestamp 类型,在规范化UTC后缀后以微秒精度匹配。在26个基准战役中,每个战役的标记数量范围从1,539到6,713(平均值 ≈ 2,765)。
表3:标记来源标签分布(单个标记可能携带多个标签)
| 来源标签 | 描述 | 总数(26个战役) |
|---|---|---|
| sigma_code | 事件代码级Sigma规则匹配 | 30,772 |
| consequent_sigma | LLM识别的Sigma事件因果邻居 | 25,799 |
| sigma | 规则级Sigma匹配 | 8,495 |
| consequent_procedure | 从步骤派生的后果事件 | 7,612 |
| procedure | 原始步骤标记 | 1,057 |
| 总计 | 73,735 |
7. 战役模拟
7.1 动机
原始Mordor记录不适合作为可泛化的基准:它们在各个步骤中共享相同的IP地址、主机名和用户账户,因此模型可以学习识别特定字符串,而不是检测真正的恶意模式。我们的战役模拟器通过将多个步骤组合成一个多阶段杀伤链并应用确定性实体混淆来解决这个问题。
7.2 杀伤链模板
步骤被标记有16个语义动作标签:DELIVERY、EXECUTION、DISCOVERY、CREDENTIAL_HARVESTING、PRIVILEGE_ESCALATION、LATERAL_MOVEMENT、PERSISTENCE、C2、QUIET等。三个链模板定义了杀伤链结构:
SHORT(4步):Delivery → Execution → Quiet → Persistence。
MEDIUM(6步):Delivery → Execution → Discovery → Credential Harvesting → Weakening → Quiet。
LONG(9步):Delivery → Execution → Weakening → Discovery → Privilege Escalation → Credential Harvesting → Quiet → Lateral Movement → Persistence。
默认的 DIVERSE_INTRUSION 蓝图每个战役运行一条 SHORT + 一条 MEDIUM + 一条 LONG 链(共19步),模拟一个跨越多个主机和凭证上下文的真实多阶段入侵。
7.3 步骤采样与种子选择
每个杀伤链槽位通过对合格步骤进行softmax采样来填充,并使用温度驱动对已使用步骤的抑制。合格性由 requires/adds 依赖语法控制:一个需要 domain_admin 权限的 DCSync 步骤只有在之前步骤已提升到域管理员级别时才能被选中。为了最大化MITRE覆盖率,我们扫描种子0-999,并计算每个种子的战役调用了哪些步骤。贪婪集合覆盖选择了26个种子,它们共同覆盖了106个步骤中的105个。
7.4 确定性日志变异
ReplayProjector 为每个战役转换原始步骤日志:
时间偏移。所有12个时间戳字段都按一个以2026-01-14T00:00:00Z为锚点的、从种子导出的增量进行偏移。多条链以30分钟间隔交错排列,并带有40%的每步抖动,模拟真实的驻留时间。
实体替换。IP、主机名、用户名、域名和SID根据从种子导出的替换映射进行重写。每个替换都记录在战役包中包含的审计变更日志中。
GUID重新匿名化。八个GUID形状的字段(ProcessGuid、ParentProcessGuid、LogonGuid等)被替换为新的UUID,防止通过字符串记忆进行跨战役指纹识别。
标记协同偏移。真实标记时间戳按相同增量偏移,以保持与变异后日志的一致性。
实体混淆和GUID重新匿名化的组合确保模型无法利用从公共Mordor数据集中记忆的字面字符串来解决基准回合。使用相同的(seed, blueprint, timestamp)三元组运行会产生字节相同的战役输出,从而实现精确的可复现性。
8. 评估协议
8.1 评估的模型
| 模型 | 提供商 | 上下文窗口 | 运行次数 |
|---|---|---|---|
| Claude Opus 4.6 | Anthropic | 1M tokens | 26 |
| Claude Sonnet 4.6 | Anthropic | 1M tokens | 26 |
| Claude Opus 4.7 | Anthropic | 1M tokens | 26 |
| Gemini 3.1 Pro Preview | 1M tokens | 260 | |
| GPT-5 | OpenAI | 400K tokens | 52 |
| Kimi K2.6 | 开源权重 | 256K tokens | 78 |
| Qwen3.6 Plus | 开源权重 | 1M tokens | 12 |
| Gemini 3 Flash Preview | 1M tokens | 260 | |
| MiniMax M2.7 | 开源权重 | 200K tokens | 13 |
| Kimi K2.5 | 开源权重 | 256K tokens | 78 |
| DeepSeek V3.2 | 开源权重 | 128K tokens | 28 |
表4:网络防御基准 v1 中评估的模型
8.2 实验设置
每个模型对每个战役种子进行一次 rollout,预算为50次SQL查询(max_queries=50)。在75个智能体轮次处设有1.5倍安全上限以防止失控循环。所有运行在所有模型上使用相同的系统提示:任务声明、完整的505列模式、分页指令和动作描述。不提供任何攻击提示、时间窗口或受害者主机列表。通过每个提供商的线程池控制提供商级并行性,以遵守API速率限制。所有859次狩猎运行的总实验成本:约1,672美元。
8.3 指标
覆盖率分数(主要):每次运行中检测到的可覆盖叙事步骤的实例加权比例,在各次运行上平均(第3.2节)。在Pareto y轴、每轮差值图以及雷达图总体上报告。取值 [0,1];对应数据框列 ratio_step_procedure_host_user_in_submitted。
n_flags_in_submitted:正确提交的恶意事件时间戳(原始计数;支持传统提交率视图)。
n_flags_in_query:在任何查询结果中出现过的标记(可观测性天花板)。
total_flags:战役的真实标记数量(召回率分母)。
total_cost:LLM API调用的美元成本。
total_tokens:消耗的总token数(输入+输出)。
9. 结果
9.1 排行榜
| 模型 | 覆盖率分数 (mean±σ) | 成本 (mean±σ) | Tokens (均值) | 轮次 (mean±σ) | 发现标记比例 (% mean±σ) |
|---|---|---|---|---|---|
| Claude Opus 4.6 | 0.55±0.05 | 17.98±17.98±4.12 | 3,541,395 | 51.7±5.7 | 4.48%±1.40% |
| Claude Sonnet 4.6 | 0.44±0.08 | 12.99±12.99±4.63 | 4,258,925 | 55.8±2.9 | 3.43%±1.12% |
| Claude Opus 4.7 | 0.36±0.13 | 3.66±3.66±4.28 | 704,453 | 18.8±15.1 | 0.91%±1.59% |
| Gemini 3.1 Pro Preview | 0.22±0.13 | 1.85±1.85±1.22 | 1,970,302 | 37.3±14.8 | 2.01%±1.70% |
| GPT-5 | 0.21±0.08 | 1.07±1.07±0.34 | 1,941,648 | 33.5±11.3 | 2.24%±1.13% |
| Kimi K2.6 | 0.20±0.14 | 0.52±0.52±0.17 | 2,420,330 | 52.1±3.7 | 1.15%±1.06% |
| Qwen3.6 Plus | 0.19±0.11 | 0.41±0.41±0.17 | 1,783,604 | 36.4±13.9 | 2.24%±2.59% |
| Gemini 3 Flash Preview | 0.18±0.08 | 0.19±0.19±0.13 | 675,706 | 20.6±10.8 | 1.44%±0.83% |
| MiniMax M2.7 | 0.15±0.10 | 0.10±0.10±0.03 | 958,640 | 33.2±7.1 | 0.98%±0.64% |
| Kimi K2.5 | 0.11±0.13 | 1.44±1.44±0.68 | 2,343,434 | 50.5±9.6 | 0.86%±1.09% |
| DeepSeek V3.2 | 0.10±0.07 | 0.94±0.94±0.46 | 1,519,284 | 29.2±15.5 | 0.82%±0.79% |
表5:主要结果,按覆盖率分数降序排列。覆盖率分数是每次运行检测到的可覆盖叙事步骤的实例加权比例,在每个模型的所有运行上平均。成本(美元)、token数和轮次是每运行均值。发现标记比例是狩猎最后一步中正确提交的恶意事件时间戳的比例(n_flags_in_submitted / total_flags),以百分比表示。σ 是该模型运行的样本标准差。
图1:成本-性能帕累托前沿。每个点显示均值 ± σ 覆盖率分数(每个(步骤、主机、用户)攻击实例中由正确提交标记覆盖的叙事步骤比例,在实例上平均)与每运行平均API成本。Claude Opus 4.6 在覆盖率上占主导,但成本比 GPT-5 高一个数量级。
9.2 零及格分数
我们将及格分数定义为在基准中代表的每个 MITRE ATT&CK 战术上召回率 ≥50%。这一阈值源于操作现实:低于50%,模型在该战术中漏掉的恶意事件多于检测到的,这使其无法用于无人监督的SOC部署。共覆盖13种战术(在Mordor语料库中观察到的12种杀伤链战术,加上资源开发)。
没有任何模型通过。Claude Opus 4.6 在13个战术中的7个上超过了50%的及格线。GPT-5 额外有两个完全盲点的战术,在那里它几乎从未在任何运行中提交正确的标记。其他模型的平均召回率在10%到44%之间——远低于全面通过阈值。
9.3 所有模型均未能完成狩猎
最惊人的发现是,没有任何模型在任何一次运行中找到了所有标记。即使是领先者 Claude Opus 4.6,平均每次运行也留有超过45%的可覆盖叙事步骤未被触及,原始标记数量也说明了同样的问题:在标记密度最高的战役(5,713-6,713个真实标记)中,Claude Opus 4.6 最多提交约150个标记——大约5%的召回率。n_flags_in_query 和 n_flags_in_submitted 之间的差距揭示了一致的模式:智能体观察到的恶意事件多于它们明确报告的。Claude Opus 4.6 平均观察到159个标记,但只提交了113个,表明智能体遇到了正确的证据,但未能一致地将其归因。
图2:每轮覆盖率分数,按LLM分组(样本rollout)。Claude Opus 4.6 在提交前探索更深;GPT-5 更早提交。没有任何模型在任何战役中接近完整程序覆盖。
9.4 战术级召回率
| MITRE 战术 | Claude Opus 4.6 | Claude Sonnet 4.6 | Claude Opus 4.7 | Gemini 3.1 Pro | GPT-5 | Kimi K2.6 | Qwen3.6 Plus | Gemini 3 Flash | MiniMax M2.7 | Kimi K2.5 | DeepSeek V3.2 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 防御规避 | 0.59 | 0.49 | 0.38 | 0.25 | 0.25 | 0.23 | 0.20 | 0.21 | 0.18 | 0.13 | 0.11 |
| 执行 | 0.56 | 0.45 | 0.36 | 0.23 | 0.21 | 0.20 | 0.19 | 0.19 | 0.15 | 0.11 | 0.10 |
| 持久化 | 0.56 | 0.43 | 0.34 | 0.25 | 0.27 | 0.19 | 0.21 | 0.19 | 0.16 | 0.13 | 0.14 |
| 资源开发 | 0.56 | 0.44 | 0.34 | 0.26 | 0.20 | 0.20 | 0.17 | 0.21 | 0.12 | 0.14 | 0.14 |
| 命令与控制 | 0.55 | 0.45 | 0.41 | 0.23 | 0.23 | 0.21 | 0.22 | 0.20 | 0.16 | 0.12 | 0.11 |
| 发现 | 0.54 | 0.37 | 0.37 | 0.20 | 0.24 | 0.18 | 0.18 | 0.16 | 0.15 | 0.11 | 0.10 |
| 权限提升 | 0.52 | 0.41 | 0.31 | 0.22 | 0.26 | 0.20 | 0.14 | 0.18 | 0.15 | 0.11 | 0.12 |
| 初始访问 | 0.37 | 0.24 | 0.19 | 0.13 | 0.02 | 0.10 | 0.12 | 0.12 | 0.04 | 0.06 | 0.04 |
| 影响 | 0.33 | 0.28 | 0.24 | 0.10 | 0.22 | 0.13 | 0.15 | 0.10 | 0.11 | 0.06 | 0.07 |
| 凭证访问 | 0.27 | 0.20 | 0.14 | 0.09 | 0.07 | 0.12 | 0.03 | 0.06 | 0.05 | 0.06 | 0.04 |
| 横向移动 | 0.25 | 0.18 | 0.16 | 0.08 | 0.04 | 0.09 | 0.09 | 0.06 | 0.03 | 0.05 | 0.04 |
| 收集 | 0.24 | 0.16 | 0.04 | 0.09 | 0.05 | 0.07 | 0.17 | 0.06 | 0.02 | 0.04 | 0.03 |
| 渗透 | 0.24 | 0.17 | 0.15 | 0.05 | 0.02 | 0.02 | 0.05 | 0.04 | 0.00 | 0.02 | 0.01 |
表6:每个MITRE战术的归一化召回率(仅高严重性标记)。1.0 = 任何模型在该战术上找到的最大标记数。
图3:所有五个模型的归一化战术召回率雷达图。仅高严重性(严重/高)、高相关性(1-2)的标记。Claude Opus 4.6 在所有13个战术上领先;所有模型在凭证访问和初始访问上显示接近零的覆盖率。
Claude Opus 4.6 在防御规避(0.59)和持久化(0.56)上实现了最高的归一化召回率,在这些战术中,常见启发式方法——PowerShell编码检测、注册表运行键写入、签名二进制代理执行——可以通过简单的关键词查询检测到。所有模型在凭证访问上显示接近零的召回率,在初始访问上显示接近零或零召回率,在这些战术中,攻击留下的痕迹更微妙(LSASS DRSUAPI调用、Kerberoasting服务票证模式),需要特定的领域查询知识,这些知识并非自发产生的。
9.5 狩猎策略分析
在所有模型中,主导策略是广度优先的关键词扫描:范围发现(事件计数、时间戳范围、通道分布),然后按常见恶意事件ID进行过滤(EventID 1 进程创建、EventID 4104 PowerShell脚本块日志记录、EventID 4624 登录事件)。Claude Opus 4.6 的一个典型前五轮序列:
T1:
SELECT COUNT(*), MIN(TimeCreated), MAX(TimeCreated) FROM logs→ 134,867条记录,2026-01-14T00:00:00Z 到 T01:51:35ZT2:
SELECT EventID, Channel, COUNT(*) AS cnt FROM logs GROUP BY EventID, Channel ORDER BY cnt DESCT5:
SELECT TimeCreated, EventID, Image, CommandLine FROM logs WHERE EventID='1' AND (CommandLine LIKE '%encoded%' OR CommandLine LIKE '%bypass%' OR CommandLine LIKE '%invoke%')→ 发现16个新标记
GPT-5 更早提交(平均第34轮,而Claude Opus 4.6为第52轮),表明存在不同的探索-利用权衡。Gemini 3 Flash 达到了与GPT-5相当的标记提交数,但成本低6倍(0.19vs.0.19vs.1.07),这表明推理质量——而非token吞吐量或上下文长度——是此任务的主要瓶颈。
10. 讨论
10.1 模型为何失败?
三个因素可能导致低召回率:
搜索空间的难解性。针对75K-135K条记录的10行结果限制,迫使智能体面临一个信息收集问题,无法在50次查询内通过广度优先扫描解决。有效的威胁狩猎需要语义压缩:制定能够检索高密度恶意证据的查询。
归因差距。n_flags_in_query 和 n_flags_in_submitted 之间的一致差距表明智能体观察到恶意证据但未能归因。这可能反映了在部分信息下的信心不足、对提交错误时间戳的厌恶,或者在长对话历史中跟踪证据的能力限制。
战术盲点。GPT-5 在初始访问和横向移动上记录零召回率;所有模型在凭证访问上显示接近零的召回率。某些ATT&CK战术需要非常特定的查询模式——安全日志中的Kerberoasting指标、Sysmon中的DRSUAPI调用模式——当前模型在没有明确的检测工程训练的情况下无法自发产生。
10.2 基准有效性考虑
基于Sigma规则的真实情况是全面的,但并不完美:规则可能在良性的相似事件上触发,而LLM后果丰富化将评估者自己的模型引入到标注管道中。500条记录的噪声注入是对生产日志量的保守模拟;真实的企业环境每天包含数百万条事件,进一步放大了搜索挑战。微秒精度的时间戳匹配是严格设计的:粗粒度的提交(例如,提交一分钟窗口内的所有事件)不应获得部分分数,因为任务要求精确的取证归因。
11. 可复现性
给定(seed, blueprint, timestamp)三元组,所有26个战役种子、步骤标签、链模板、模拟器代码、标记提取管道和评估工具都是完全确定性的。26种子选择过程在 research/chain_analysis/seed_simulation.py 中实现。所有859次狩猎结果JSON都包含在发布中,包含完整的对话轨迹、每轮SQL查询和结果、标记发现事件、token计数和成本。基准图表可以通过以下命令重新生成:
python tools/generate_benchmark_page.py \ --output output/benchmark.html \ --artifacts release/artifacts/
LLM API结果在温度 >0 时是非确定性的;对于多个模型报告了单次 rollout 结果。建议未来比较使用多次 rollout 平均(≥3次 rollout)。战役生成器管道是 Simbian AI 的专有部分;基准种子的预构建战役JSON随发布一起分发,以便在不需要生成器的情况下进行独立评估。
12. 局限性与未来工作
单次 rollout 评估。高方差表明需要多次 rollout 平均以获得统计可靠性。
仅限Windows遥测。所有106个步骤都使用Windows事件日志。Linux auditd、AWS CloudTrail 和网络流量数据代表了真实SOC工作负载的很大一部分,但未被覆盖。
告警增强设置。一个互补的评估可以预先提供一个Sigma规则告警,并衡量智能体从已知入侵指标进行 pivot 的能力,从而将调查深度与发现广度分开测试。
强化学习智能体。所有评估的智能体都使用零样本提示。优化覆盖率分数的RL训练智能体可能会产生显著更高的召回率。
每链归因。当前的标记集合并了所有恶意事件,无论子链来源如何。未来版本将按杀伤链成员关系标记标记,从而实现每链和每阶段召回率指标。
13. 结论
网络防御基准是第一个评估LLM智能体在真实攻击遥测数据上进行开放式、证据驱动的威胁狩猎的基准。我们对五个前沿模型在26个多步骤战役(覆盖数据集中106个MITRE ATT&CK步骤中的105个)的859次运行上的评估显示,召回率普遍较低:最佳模型(Claude Opus 4.6)平均达到0.55 ± 0.05的覆盖率分数(每次运行中它发现的、实例加权后的可覆盖叙事步骤比例),没有任何模型能完成一次狩猎。根据我们的及格标准(每个ATT&CK战术召回率≥50%),领先者在13个战术中的7个上达标,其他四个模型在零个上达标——没有任何模型通过。这些结果并不反映模型在安全知识任务上的质量(这些模型在那些任务上得分很高);相反,它们暴露了在大规模、开放式、智能体驱动的证据收集方面的一个特定缺陷。我们发布基准环境、战役数据和所有狩猎轨迹,以使社区能够衡量和提高LLM在网络防御中的能力。