先给结论:安全评测不能只报打穿了没。打穿是结果,过程由隔离环境、输入难度、工具和评分器共同决定。只报零一,会把找不到漏洞、复现不了、写不出利用、拿不到目标四档混成同一个零分。要把四件原语拆开,并按攻击链给部分分,才分得清模型卡在哪一档。
为什么「会不会打穿」不是一张合格证
痛点是把开放式利用当成闭卷对错。利用路径几乎任意:拒绝服务、读文件、改库、提权、外连。方法对不上,就只能钉结果。结果太粗:一个零分可能已经找到漏洞,另一个零分连入口都没摸到。把两者写成同一句「不会」,会把半程能力写成零,也会把碰巧打穿写成全面能力。
四件原语是评测骨架。隔离目标:脆弱系统跑在独立环境里,不能打到评测机本身。输入难度:最难时只给代码,对应零日;容易时给说明或补丁,对应一日。工具:命令行、读写、调试、静态分析、长任务状态。评分器:交利用或交旗帜,立刻给对错,尽量确定性。少一件,分数就不可比。
只看最终结果还有第二条坑:奖励黑客。模型可能用和漏洞无关的捷径把旗帜摸走。所以除了结果,还要抽查过程记录,确认它真的走了那条漏洞,而不是绕开题目。
五步把安全评测从总分收成门禁
- 先写四件原语。没有隔离目标、难度旋钮、工具清单、确定性评分器,套件当未写完,不准拿去对模型。
- 攻击链拆成部分分。至少四档:找到漏洞、写出能触发的复现、做成未授权执行、达成攻击者目标。零分要能指出卡在哪一档。
- 零日和一日分开。零日不给说明;一日给公开描述或补丁。混报会把「会读公告」写成「会挖洞」。
- 防护开和关分开。关防护测的是会不会碰原始漏洞;开防护测的是会不会绕过地址随机化一类现场门闩。两档分数禁止合成一张表。
- 失败原因分类。探索不足、任务理解错、焦点跑偏、工具用错、推理断档,要分列计数。只报成功率,下一次不知道改哪。
| 观察 | 误读 | 工程含义 | 门禁 |
|---|---|---|---|
| 打穿了 | 已经能当红队 | 可能只过了最易档 | 看难度和防护开关 |
| 全零分 | 完全不会 | 可能卡在利用而不是发现 | 看部分分 |
| 给了说明分数涨 | 更聪明 | 会读公开描述 | 零日一日分列 |
| 开了防护分数掉 | 题目不公平 | 现场门闩有效 | 绕过单列 |
| 多主机才成功 | 模型变强 | 往往是框架把规划从执行拆开 | 框架和模型分列 |
现场有三条。其一,夺旗、公开漏洞、崩溃复现、利用扩写、引擎阶梯、多主机红队、合约资金,测的不是同一层。夺旗测找漏洞加利用;公开漏洞测在活应用上打真实缺陷;崩溃复现测根据说明写出触发样本;利用扩写测把崩溃样本做成未授权执行;引擎阶梯测从覆盖到出沙箱到控指令;多主机测扫描、横移、提权、搜信息和外带;合约测在分叉链上把余额打上去。混报一张「安全分」,会把不会的那层藏进会的那层。
其二,工具变好不一定分数变好。长会话终端和检索对有的模型有用,对有的模型会把步数花在空转上。工具清单是实验因子,不是默认加分项。换工具要单独对照,禁止把工具升级写成模型升级。
其三,系统框架常常比底座模型更决定多主机成败。把高层任务(扫描、横移、提权、找信息、外带)和具体命令拆开,把环境状态放到提示词窗外,规划才撑得住几十台主机。拿掉任务抽象,成功率会掉到接近零。所以多主机分数要写清:这是框架分还是模型分。
度量六件事:四件原语是否写全、部分分是否按攻击链给、零日一日是否分列、防护开关是否分列、失败原因是否分类、框架和模型是否拆开报。六件说不清,安全评测是演示录像。录像不能当发布条件。
有人会说结果对就行,过程不必看。过程不看,捷径会赢。捷径赢了,线上换一种防护,分数会突然归零。所以评分器钉结果,抽查钉过程,两件都要。
样本要难到人也会花时间。只用几分钟能解的题,测不到连接步骤的能力:截断报文拼起来、补丁反推利用、低位暴力撞地址。人队首次解开时间可以当难度轴,但不要把它当成模型必须对齐的人设。模型卡在连接步骤,记连接失败,不记「还不够像人」。
成本也要进表。大规模崩溃复现会烧掉接口费和算力。关掉思考模式省钱,打开思考模式可能换来更高成功率。这两档禁止合成。报分数时写清:思考开还是关、每题几次尝试、时限多少。
合约场景还要防污染。历史利用如果已经公开,模型可能在背答案。要用知识截止日期之后的样本,或新部署且尚无已知漏洞的合约,才能说「会挖」而不是「会检索旧案」。
结论:安全分是分档,不是一张打穿证明
四件原语是骨架。攻击链部分分是刻度。零日一日、防护开关、框架模型,都要分列。还把一次打穿写成全面安全,是把最易档的结果当成能力上限。
你下次看安全评测声明,先找部分分和难度轴。没有这两项,声明只证明有人会报总分。
本文侧重全链路风控方法论。落地时请用自身业务单据做回放验证,不要把示例阈值直接当生产策略。 相关:风控体检 · 方案资源
常见问题 FAQ
为什么安全评测不能只报打穿没打穿?
因为打穿只是结果,它无法反映模型在隔离环境、输入难度、工具使用和评分器方面的具体能力。只报零一结果会把不同层次的失败混为一谈,比如找到漏洞但未利用与完全未发现漏洞都得零分,这不利于评估真实安全水平。
安全评测中的四件原语具体指什么?
四件原语是评测骨架,包括隔离目标(脆弱系统跑在独立环境)、输入难度(从零日到一日的难度旋钮)、工具(命令行、读写、调试等)和评分器(确定性评分)。它们共同决定了评测的可靠性和可比性,缺一件分数就不可比。
如何把安全评测从总分细化为门禁?
需要五步:先写全四件原语;按攻击链拆部分分(如找到漏洞、复现、未授权执行、达成目标);零日和一日分开;防护开关分列;失败原因分类。这样能分清模型卡在哪一档,避免混淆。
零日和一日评测有什么区别?
零日评测不给漏洞说明,模拟全新攻击;一日评测给公开描述或补丁,测模型读公告能力。混报会把会读公告误当会挖洞,所以必须分列分数以准确评估。
为什么在安全评测中要避免奖励捷径?
因为模型可能用无关捷径获取旗帜,比如绕过漏洞直接利用其他漏洞。这会导致分数虚高,但实际防护换一种就失效。所以要抽查过程记录,确认真的走了漏洞路径,而不是绕开题目。
安全评测中,框架和模型如何分列?
在多主机红队场景,高层任务如扫描、横移、提权由框架处理,具体命令由模型执行。分列报告能区分是框架规划能力强还是模型执行能力强,因为框架拆分任务后,成功率会显著提升。