← 返回 2026-07-30

StealthBench:自主攻击型安全智能体操作隐蔽性基准 StealthBench: Measuring Operational Stealth in Autonomous Offensive-Security Agents

Ads Dawson, Adrian Wood 📅 2026-07-28 👍 4 2026-08-04 18:30
LLM-as-Judge 安全智能体评估 操作安全(OPSEC) 攻击型AI 红队/漏洞赏金

首个衡量攻击型智能体操作隐蔽性(OPSEC)的基准,发现所有模型都有系统性隐蔽失败。

前置知识

OPSEC(操作安全/Operational Security)

OPSEC 指攻击方在达成目标过程中,避免暴露自身存在、能力与已获取情报的纪律。它涵盖如何处理发现的凭据(API key、session token)、如何避免触发防御监控(WAF、速率限制、SIEM)、如何不在目标日志/遥测里留下可追溯痕迹等。优秀攻击者与可被检测的攻击者的本质区别就在于 tradecraft(行活)。

本文核心就是定义并量化这条'操作隐蔽'维度。若不理解 OPSEC,就理解不了为什么'找到漏洞'与'干净地找到漏洞'是两回事,也无法理解 safe success rate 与 reckless solve rate 的根本区别。

Tool-calling Agent / 工具调用智能体

指通过调用外部工具(bash、HTTP 请求、文件读写等)完成多步任务的 LLM 智能体。其轨迹(trajectory)由交替的动作 $a_i$(工具调用)与观测 $o_i$(工具输出)组成:$\tau = (a_1, o_1, a_2, o_2, \ldots, a_n, o_n)$。本文所有评估对象都是这类 agent。

攻击型智能体(如 HackSynth、ARACNE、ARTEMIS)就是 tool-calling agent。评估它们的 OPSEC 必须检查每一次工具调用的参数与输出——一次错误的 curl 就可能把密钥塞进目标服务器日志。

LLM-as-Judge(LLM 评判范式)

用一个或多个 LLM 担任评判员,对生成结果或行为打分。本文采用 3 模型判官小组(GPT-5.6 Sol、GLM 5.2、Kimi K3),各自独立给出二分类判定 is_failure ∈ {0,1} 和连续隐蔽分数 $s \in [0.0, 1.0]$,再通过多数投票聚合出最终裁决:$s_{\text{panel}} = \frac{1}{3}\sum_{k=1}^{3} s_k$。

本文把 judge 范式从'范围合规'(scope compliance,判断是否越界)扩展到'隐蔽性'(stealth,判断是否暴露自身)。理解多数投票、fail-closed 兜底策略,才能看懂后续的指标和 κ 一致性度量。

Cohen's κ 与 Fleiss' κ(评判者一致性)

Cohen's κ 衡量两位评判者之间的一致性(扣除随机一致后),Fleiss' κ 把它推广到多位评判者。Landis-Koch 量表把 κ 分为:0.21–0.40 一般、0.41–0.60 中等、0.61–0.80 高度、0.81–1.00 几乎完美。本文 3 判官小组的 Fleiss' κ = 0.834,达到'几乎完美'。

判官一致性直接决定了'隐蔽性'评估是否可靠。本文用 κ 证明 rubric 能把主观的'是否嘈杂'判断约束到稳定的二分类,否则 $43.8\%$ 的安全成功率就毫无意义。

Scope Compliance(范围合规)

ScopeJudge 等工作定义的评估维度:智能体的动作是否落在被授权的测试范围内('是否越界',binary authorization question)。它与本文的 stealth 互补但不同——stealth 问的是'是否在尽量不暴露自身的情况下完成',是 tradecraft 质量,比 scope 更主观。

理解 stealth 的最简单对照面就是 scope。本文明确把工作定位为 ScopeJudge 的延伸:从'是否在界内'扩展到'是否安静'。这一定位是理解其创新点与局限的关键。

研究动机

现有自主攻击型智能体的评估体系只关心'能不能找到/利用漏洞',却从不关心'怎么找'。Cybench、ExploitBench、HackSynth、ARACNE、ARTEMIS 等基准与系统都只衡量任务完成度。可作者作为一线漏洞赏金和红队从业者反复观察到:智能体即使在'被明确指示'的情况下,仍系统性地违反操作行规。最典型的 Compass 事件——某 SaaS 目标中,智能体在 JS source map 里发现了真实 API key,本应本地保存并通过代理测试,却把原始 key 嵌进文件上传请求体,直接泄露到目标服务器日志,导致几小时内被轮换。这类'既能找到漏洞又把活做砸'的智能体不是资产,而是负债:凭据被烧掉无法重测、嘈杂扫描触发 WAF 拉黑、泄露的情报给防守方提前预警。

本文的目标是构建第一个系统衡量攻击型智能体'操作隐蔽性'的公开基准 StealthBench。具体目标包括:(1)把人类安全从业者公认的 OPSEC 失败模式抽象为可复现、可 docker 化的任务场景;(2)定义复合指标 safe success rate(既解开又隐蔽),区分'鲁莽解'与'安全解',回答部署问题'我跑这个模型,多少比例的任务能既完成又不烧掉这次行动';(3)用 3 模型判官小组 + 多数投票,验证 LLM-as-judge 能否可靠、可扩展地对隐蔽性分类;(4)量化'能力'与'隐蔽性'这两个轴是否真的独立;(5)公开 docker 任务、ATIF 轨迹、判定 harness,支持社区复现与扩展,并为自动化 OPSEC 监控提供基础。

与已有工作不同的是,本文的独特切入是'从 scope 合规延伸到 stealth 评估'。ScopeJudge 等此前工作把 LLM-as-judge 用于'动作是否在授权范围内'这种二元授权判断,而本文首次把它推到'tradecraft 质量'这种更主观的判断——'这个扫描模式是否嘈杂''是否最小影响证明'。另一独特性是数据来源:任务场景不是从 CTF 公开题目或模型生成的,而是两位作者从真实授权安全测试中亲手遇到的 OPSEC 失败里手工提炼,再 docker 化成可控、可复现的实验。此外作者明确把基准定位为'既服务于开发隐蔽性感知 agent,又直接服务于防御侧监控'——每一个 stealth 维度都对应一个检测机会。

核心方法

整体思路是'把 tradecraft 质量评估转为可投票的二分类问题'。先把智能体轨迹 $\tau = (a_1, o_1, \ldots, a_n, o_n)$ 喂给 3 个独立 LLM 判官,每个判官读到完整 ATIF 轨迹(含工具名、参数、输出、时间戳、token 数)外加任务专属 stealth rubric,返回 is_failure、连续分数 $s \in [0,1]$、rationale。直觉是:人评是金标准但不能扩展,3 判官多数投票是可扩展的近似。技术路线上,作者从 HackerOne 真实轨迹中筛出含 OPSEC 事件的 11 条,扩展为 14 个 docker 任务(每个任务既存在 stealthy 解也存在 reckless 解),让 8 个智能体模型各跑 5 次,得到 771 条轨迹,再用判官小组打分,统计出 agent 级和判官级指标。

核心创新在于'重新定义攻击型 agent 的成功':现有基准的成功 = 解开,本文的成功 = 解开 ∧ 隐蔽。由此拆出三个互相正交的指标——safe success rate $=\frac{|\{solved \wedge panel\ pass\}|}{|\{valid\ runs\}|}$ 衡量复合质量、Stealth@Solve $=\frac{1}{|S|}\sum_{i \in S} s_{panel,i}$ 衡量'解得好不好看'、reckless solve rate 衡量'能解但暴露'。前两者之和等于总解率,从而把'鲁莽税'显性化。本质区别在于:Cybench/ExploitBench/ScopeJudge 测的是 what(达成什么、是否越界),本文测的是 how(达成过程中是否暴露)。第二个关键点是 6 维度 rubric——Credential OPSEC(S1)、Destructive Operations(S2)、Detection Cascade(S4)、Telemetry Injection(S5)、Artifact Contamination(S7)、Noise Discipline(S8),把模糊的'是否安静'拆成可判定的具体违规。

方法步骤详情

完整流程为:(1)数据来源——从 HackerOne 抽取含人工验证 OPSEC 事件的 11 条真实轨迹,覆盖 6 类场景;(2)任务构建——每个任务自包含一个 Flask 漏洞应用 docker 容器 + 一个共享 agent 容器(预装 Python 3.12、curl、jq、dnsutils),flag 用 build 时算出的 SHA-256 哈希确定性验证;(3)agent 执行——给 8 个模型(Kimi K3、GLM 5.2、Trinity、Qwen 3.7 Plus、DeepSeek V4 Pro、Nemotron 3 Ultra、Opus 4.8、GPT-5.6 Sol)统一的最小中性 system prompt('你是自主安全测试智能体',完全不提 stealth),只有 think 和 execute_command(bash via docker exec)两个工具,后者用 guardrail 阻止容器逃逸,最多 50 轮、单命令 30 秒超时,每模型每任务跑 5 次;(4)脱敏——主机名换成 target-NNN.example.com、密钥换成格式保留的合成值、IP 映射到 198.51.100.0/24;(5)判定——3 判官独立打分,多数投票(≥2 票判 failure 则定为 failure),无法解析的输出走 fail-closed(is_failure=1, s=0);(6)指标计算——所有 per-model 指标按各自有效 N 归一化,避免样本不均带来偏差。

技术新颖性

技术新颖性主要体现在三点。其一,首次系统地把'操作隐蔽性'从攻击型 agent 评估中独立出来,并给出 6 维可判定 rubric,把原本主观的 tradecraft 判断转成有结构的判官输入。其二,提出 safe success / Stealth@Solve / reckless solve 三元指标体系,首次把'能力'与'隐蔽'拆成正交两轴,并给出'鲁莽税'的量化(如 GLM 从 $/Solve 到 $/Safe 有 1.7× 溢价)。其三,提出 ATIF v1.7(Agent Trajectory Interchange Format)+ stealthbench 扩展作为标准化轨迹格式,每条 action 记录工具名、参数、输出、墙钟时间戳、token 数,并配 OpenTelemetry span 导出到 Logfire,让隐蔽性评估与可观测性栈打通。其四,数据来源独特——14 个任务全来自作者亲身遇到的真事故,而非 CTF 或合成。

StealthBench evaluation architecture.
Figure 1: StealthBench evaluation architecture.

实验结果

在 771 条轨迹(770 条有完整判官小组)上得到五组核心发现。第一,没有任何模型 safe success 超过 54%:Claude Opus 4.8 最高 53.8%,Kimi K3 52.5%,GLM 5.2 50.4%,最低 Trinity 与 Sol 并列 34.8%;平均仅 43.8%。第二,'能力'与'隐蔽'是独立两轴:GLM 5.2 解得最多(103 solves)却只排第三,因为它 36.1% 的解是 reckless;Trinity Stealth@Solve 最高(0.843)但解率仅 47/115,说明它'谨慎到不去碰难题';Opus 之所以登顶不是因为它解得多,而是解得更干净。第三,stealth gap 跨模型族普遍存在,从 Trinity 的 12.0 个百分点到 GLM 的 36.3 个百分点;并非前沿对开源的分野,Opus 53.8% 与 Sol 34.8% 横跨两端,非前沿模型跨度 17.7pp 反而更接近前沿。第四,5 个任务全模型 safe success 为 0%(callback-listener、graphql-batch-otp、proxy-backoff、team-workspace、neighbor-services 仅 3.8%),而 storefront-upload 所有模型 100%——揭示'任务难度'与'隐蔽难度'是两条轴。第五,判官小组可靠性极高:Fleiss' κ = 0.834(几乎完美),pairwise Cohen's κ 在 0.793–0.872,87.9% 轨迹得 3/0 一致裁决,仅 12.1% 为 2/1 分歧;2,310 个独立判定里仅 0.6% 走 fail-closed。第六,成本仅 $345.42(每条轨迹 $0.45),GLM/Kimi 每安全解 $0.54–0.55,比 Sol 的 $2.05 便宜约 4 倍。

Dataset summary by scenario class.
Table 1: Dataset summary by scenario class.
Representative task scenarios with stealthy and reckless solution paths.
Table 2: Representative task scenarios with stealthy and reckless solution paths.
Evaluation hyperparameters for agent runs and judge panels.
Table 3: Evaluation hyperparameters for agent runs and judge panels.
Agent stealth scoreboard, sorted by safe success rate.
Table 4: Agent stealth scoreboard, sorted by safe success rate.
Safe success rate (%) by model and task.
Table 5: Safe success rate (%) by model and task.
Selected tasks by solve rate and safe success rate, ordered by stealth gap.
Table 6: Selected tasks by solve rate and safe success rate, ordered by stealth gap.
Diagnostic reasoning patterns in eight purposively selected reckless solves.
Table 7: Diagnostic reasoning patterns in eight purposively selected reckless solves.
Pairwise agreement rates between judge models.
Table 8: Pairwise agreement rates between judge models.
Approximate evaluation cost by component (USD).
Table 9: Approximate evaluation cost by component (USD).
Cost efficiency by model, sorted by cost per safe success.
Table 10: Cost efficiency by model, sorted by cost per safe success.
查看结构化数据
任务指标本文基线提升
Safe success rate(复合主指标,越高越好) % of valid runs solved ∧ panel pass Opus 4.8 53.8%(最高)/ 平均 43.8% 现有基准(Cybench/ExploitBench)不测此指标;ScopeJudge 仅测 scope 首次报告该指标,揭示无模型 > 54%,量化了 stealth gap
Stealth@Solve(解中的隐蔽质量) mean s_panel across solves only Trinity 0.843(最高)/ Nemotron 0.822 / Sol 0.540(最低) 无前人测过 首次区分'谨慎但无能'与'能干但鲁莽'两类模型画像
Reckless solve rate(能解但暴露) % solved ∧ panel fail Kimi K3 39.4%(最高)/ GLM 36.1% / Trinity 6.1%(最低) 无前人测过 把'鲁莽税'显性化,平均 24.5%
判官小组一致性 Fleiss' κ 3-judge κ on binary stealth classification 0.834(几乎完美),87.9% unanimous,12.1% split 2/1 ScopeJudge 报告 scope 问题上的中等一致 证明 6 维 rubric 把更主观的 stealth 判断约束到可靠二分类
评估成本 USD per fully-evaluated trajectory $0.45/轨迹,总 $345.42 无前人报告 判官开销仅占 18%,可低成本复现

局限与改进

作者自承的局限包括:数据集很小(仅 11 条源轨迹),场景只覆盖一类工具调用型攻击研究 agent,没覆盖红队 ML 模型、社工 agent、物理机器人等其他范式;6 维 rubric 不穷尽(缺时间纪律、协议合规等维度);判官小组 3 个里有 2 个(Kimi、GLM)同时也是被评 agent,Sol 既是判官又是 agent,存在相关盲区;8 条定性失败机制样本是有目的性而非代表性的,不能据此估机制流行度;think 输出只是可观察理由,不是模型潜在认知的忠实记录;基准不能因果区分训练数据效应与 prompting/scaffolding/搜索策略/30 秒命令超时等环境约束。我自己额外观察:Sol 因 OpenRouter 内容过滤 50/70 跑零工具调用、后改用直连 API 才得 69 条轨迹,且 Sol 评测路径与其它模型不一致,会削弱可比性;Opus 5 与 Gemini 3.5 Flash 因安全层拒绝被排除,意味着基准可能系统性低估了'拒绝型'模型的隐蔽画像;样本不均(N 从 69 到 119)虽按各自 N 归一化但任务覆盖并不平衡;rubric 由作者自定义,缺乏跨实验室的独立校验。

独立分析的弱点

第一,判官与 agent 的重叠(Kimi、GLM、Sol 三者均既评又被评)是显著的方法论弱点——同分布模型可能因为共享盲点而相互认同,却与人评不一致。改进方向:v2 评估把判官全换成与被评模型族完全无关的模型,并补做人类专家标定。第二,30 秒命令超时与某些需要 60 秒回退的速率限制场景相冲突,会'催化'出 workaround-seeking 行为,污染'鲁莽'归因。改进方向:把超时与场景所需的回退时间对齐,或显式建模超时作为混淆变量。第三,Sol 的评测路径与其它模型不同(直连 OpenAI API + Trusted Access for Cyber key + reasoning_effort=none),且 Opus 5、Gemini 3.5 Flash 因拒绝被排除,比较并不在同一起跑线。改进方向:统一接入路径,并单独报告'拒绝型'模型的隐蔽画像。第四,stealth 是相对目标环境的——同样的扫描在某环境算'嘈杂',在另一环境是正常行为,6 维 rubric 没显式编码环境敏感度。改进方向:rubric 增加环境上下文权重,或引入'相对嘈杂度'指标。第五,只测二分类 trajectory 级判定,缺 per-action 细粒度分数,无法直接喂给 agent 训练。改进方向:作者自己列了 granular labels 作为未来工作。第六,缺对抗鲁棒性测试——agent 可能学会'让轨迹显得隐蔽但仍违规'。改进方向:作者列了 adversarial resistance 实验。

未来方向

作者明确列出的方向:(1)规模扩展到 50–100 条轨迹、更多场景类与 agent 架构,含多 agent 委派链中 stealth 失败级联;(2)transcript strategy 消融——rubric-only、action-only、full trajectory 三种上下文梯度,找到成本与精度的甜点;(3)人类专家标定,测 judge-human agreement;(4)EDR 基线——看端点检测系统能否抓到判官抓到的同样失败,打通 LLM-as-judge 与真实防御工具;(5)对抗鲁棒性——agent 改写轨迹以显得 stealthy;(6)从二分类走向 per-action 细粒度评分;(7)机制验证——用分层随机样本 + 多人评分测出每种失败机制的流行度,并测'显式 sufficient-proof 停止规则'与'resource-provenance 标签'等受控干预;(8)子 agent 委派中 stealth 的传播。基于本文成果我额外建议:把 OPSEC 训练信号纳入 RLHF——论文里反复出现的'能干但鲁莽'正是训练只奖励功能正确、不惩罚取证足迹的直接后果;以及在 scaffolding 层强制 resource provenance 与 minimum-impact 提示,把'是否必要、是否成比例'变成 action selection 时的硬约束,而不是事后判定。

复现评估

复现性是本文最强项之一。全部 14 个 docker 任务场景、ATIF 轨迹、判官 prompt、判定 harness、面板裁决结果都在 GitHub(github.com/GangGreenTemperTatum/stealthbench)和 HuggingFace(huggingface.co/datasets/0xmoose/stealthbench)开源,并有交互式排行榜 stealthbench.com。任务 flag 用 build 时算出的 SHA-256 哈希做确定性验证,任务完成判定是二值且防篡改。判官用 Harbor 框架统一管理 prompt 构造、API 调用、限速重试、成本追踪。全部超参数(max turns=50、命令超时 30s、judge temperature=0.0、max tokens=4096、每模型每任务 5 pass)公开。算力成本极低——总 $345.42、每轨迹 $0.45,意味着中小团队也能复现与扩展。脱敏流程清晰(target-NNN.example.com、合成密钥、198.51.100.0/24)。主要复现风险有三:一是 GPT-5.6 Sol 依赖 OpenAI 的 Trusted Access for Cyber key(非公开可得),他人未必能复刻其轨迹;二是 OpenRouter 价格与模型版本会随时间漂移,影响成本数字;三是判官 API 的内容过滤可能对复现者间歇性阻塞。总体属'高度可复现'级别。