如果Agent犯错是大概率事件,企业安全应该如何设计?"

admin 2026-10-31 02:00:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

如果 Agent 犯错是大概率事件,企业安全应该如何设计?

原创

jishuzhain
jishuzhain

OnionSec

2026年10月30日 23:22
广东

去阅读

——从数学建模、统计学与决策理论,重新理解企业安全的非最优解

最近看到腾讯发布的《WorkBuddy 企业版安全白皮书》,又让我产生了一些联想。

Agent 正在从一个能够回答问题的工具,逐渐变成可以调用工具、访问数据、执行任务,甚至代表用户完成业务操作的系统。

这意味着,安全问题也发生了变化。

过去,我们更多关注系统有没有漏洞、用户有没有权限、终端有没有恶意程序。

现在还需要考虑:如果 Agent 理解错了指令、调用错了工具、执行了不该执行的操作,或者被外部输入诱导,它会造成什么后果?

例如:

Agent 因为 Prompt Injection 执行了攻击者设计的指令;

Agent 调用了权限过大的工具,访问了不应该访问的数据;

某个 Skill 存在恶意代码或供应链风险;

Agent 在没有充分确认的情况下,执行了删除、转账、修改配置等操作;

多个 Agent 或自动化流程之间相互调用,最终形成意料之外的执行链。

这里有一个值得认真思考的问题:

如果 Agent 犯错并不是一个可以彻底消除的小概率事件,企业安全应该把钱花在哪里?

我尝试把这个问题拆开,用一点数学建模、统计学和决策理论来推演。

不是为了证明数学可以解决所有安全问题,而是想看看,当资源、人的注意力和技术能力都有上限时,我们究竟应该如何做选择。

一、单次错误概率很低,为什么长期运行仍然危险?

先解释一下标题里的“大概率事件”。

这里并不是说 Agent 每次执行任务都很容易犯错。

恰恰相反,单次动作的错误概率可能非常低。

假设一个 Agent 执行某项操作时,发生错误的概率只有 0.1%。

看起来并不高。

但如果它每天执行 1000 次操作,并且暂时假设每次操作的错误概率相互独立,那么一天之内至少发生一次错误的概率是:

P(至少一次错误) = 1 − (1 − p)ⁿ

其中:

p:单次操作发生错误的概率;

n:累计执行次数。

代入 p = 0.001、n = 1000:

P = 1 − (1 − 0.001)¹⁰⁰⁰

结果约为 63.2%。

也就是说,单次错误概率只有千分之一,在 1000 次操作的累计窗口里,至少发生一次错误的概率已经超过六成。

当然,这个计算依赖独立性假设。现实中的错误可能具有相关性,例如同一条错误指令会影响多个任务,实际风险可能更复杂。

但它已经说明一个问题:

单次动作的小概率错误,不代表长期运行的系统仍然拥有很低的累计错误概率。

而且,Agent 的运行规模越大,执行链越长,接触的数据和工具越多,错误被放大的机会也可能越多。

因此,企业安全不能只问:

“这个 Agent 单次执行有多准确?”

还应该问:

“当它持续运行数万次、数百万次时,错误会以什么方式累积?一次错误最多能够影响多少资产?”

我们可以先用一个简化风险模型来描述:

R = P(E) × P(H|E) × L

其中:

P(E):风险事件发生的概率;

P(H|E):事件发生后造成实际损害的概率;

L:一旦造成损害,可能产生的损失。

这个公式不是完整的企业风险计量标准,而是帮助我们拆解问题的一个框架。

它提醒我们,安全措施不一定非要让事件永远不发生。

降低事件发生概率、阻断损害形成、限制影响范围,甚至缩短恢复时间,都可能降低最终风险。

这也引出了一个更值得研究的问题:

当企业预算有限时,应该优先降低哪一种风险?

二、假设企业只有 100 万元安全预算,应该怎么分?

我们构造一个简化场景。

某企业准备部署大量 Agent,管理层给安全团队 100 万元专项预算。

目前识别出五类主要风险:

风险类别 初始年度预期损失 防御效率参数 k
越权操作 80 万元 0.45
Prompt Injection 100 万元 0.35
数据泄露 200 万元 0.25
Skill 供应链 70 万元 0.40
错误操作 50 万元 0.50
合计 500 万元 —

这里的数值全部是为了演示而构造的模拟数据,不代表任何真实企业的风险统计。

其中,k 是一个防御效率参数。

它不是某种真实产品的检测率,也不是漏洞修复成功率,而是用于模拟预算投入效果的参数。

k 越大,意味着在相同的预算投入下,初期风险降低得越快。

我们暂时作出三个简化假设:

五类风险的损失归因互不重叠,避免重复计算同一笔损失。

每类风险的预算只影响对应类别的风险。

随着投入增加,风险降低的效果逐渐递减。

第三个假设尤其重要。

现实中的安全建设往往存在边际收益递减。

例如,企业最初投入资金建设权限隔离,可能很快就能消除一批明显的越权风险。

但当基础权限体系已经完善,再增加预算,可能只能处理一些复杂、低频的边界场景。

所以,我们用一个指数函数模拟防御投入的效果:

Eᵢ(xᵢ) = 1 − exp(−kᵢxᵢ/10)

其中:

xᵢ:分配给第 i 类风险的预算,单位为万元;

kᵢ:防御效率参数;

Eᵢ:投入预算后,风险降低的比例。

那么,剩余风险可以表示为:

Rᵢ(xᵢ) = Lᵢ × exp(−kᵢxᵢ/10)

Lᵢ 是该类别的初始年度预期损失。

我们希望找到一组预算分配方案,让五类风险的剩余损失总和尽可能低:

优化目标:

Minimize ΣRᵢ(xᵢ)

同时满足:

Σxᵢ ≤ 100

xᵢ ≥ 0

翻译成人话就是:

在总预算不超过 100 万元的前提下,寻找一组投入方案,让企业剩余的年度预期损失尽可能小。

这里还有一个需要补充的现实约束:

企业整体决策并不只有风险最小化。

如果把业务价值、风险和安全成本放在一起,可以写成:

Maximize U = V − λR − C

其中:

V:Agent 带来的业务价值;

R:企业承担的风险;

λ:企业对风险的厌恶程度;

C:安全建设和运营成本。

本文接下来的计算,暂时固定业务价值和总预算,只研究如何降低 R。

这意味着,我们并没有解决企业全部的投资决策问题,只是在其中选取了一个可以计算的局部问题。

三、数学告诉我们:预算不应该简单平均分配

如果把预算平均分成五份,每类风险投入 20 万元,看起来很公平。

但公平不一定意味着有效。

因为不同风险类别的初始损失不同,防御效率也不同。

同样投入 1 万元,可能在某个领域能够显著降低风险,在另一个领域却只能产生很小的改善。

因此,我们需要关注一个概念:

边际收益。

在这个模型里,每增加一万元预算,能够降低多少预期损失?

对应的边际收益为:

Mᵢ = (Lᵢ × kᵢ / 10) × exp(−kᵢxᵢ/10)

在最优点,如果所有类别均获得正投入,KKT 条件要求:

M₁ = M₂ = M₃ = M₄ = M₅ = μ

这里的 μ 可以理解为最优方案下,最后一万元预算所带来的共同边际收益。

为什么要让它们相等?

假设数据泄露防御每增加一万元,能够降低 5 万元预期损失;而错误操作防御每增加一万元,只能降低 1 万元预期损失。

那么,我们就应该考虑把一部分预算从错误操作防御转移到数据泄露防御。

只要这种转移能够带来更大的风险降低,就说明原来的预算分配还不是最优的。

反过来,当所有仍有投入的类别,其最后一单位预算带来的边际收益相等时,就无法通过简单的预算转移进一步改善目标函数。

如果某个风险类别的初始边际收益本来就很低,最优方案也可能不给它分配预算。这时还需要满足相应的 KKT 边界条件,而不是机械地要求所有类别边际收益相等。

先看一眼:为什么数据泄露获得最多预算?

五类风险在完全没有投入时的初始边际收益分别为:

风险类别 初始边际收益
越权操作 3.60
Prompt Injection 3.50
数据泄露 5.00
Skill 供应链 2.80
错误操作 2.50

这里的单位是:每增加 1 万元预算,初期预计可以降低多少万元的年度预期损失。

数据泄露的初始边际收益最高,因此在预算优化中获得了更多投入。

这不是因为数据泄露在所有企业里都一定最重要,而是因为在当前参数下,它的初始损失规模和防御效率组合起来,产生了最高的初始边际收益。

计算结果:最优分配究竟是什么样?

使用上述参数进行数值求解:

风险类别 最优预算 风险降低比例
越权操作 16.57 万元 52.6%
Prompt Injection 20.50 万元 51.2%
数据泄露 42.96 万元 65.8%
Skill 供应链 12.36 万元 39.0%
错误操作 7.62 万元 31.7%
合计 100 万元 —

这里的风险降低比例,就是前面函数 Eᵢ(xᵢ) 的计算结果。

可以看到,100 万元预算并没有平均分配。

数据泄露获得了最多的投入,错误操作获得的预算最少。

但这并不意味着错误操作不重要,而是说,在当前模型的参数下,继续向其他类别投入预算,能够带来更高的边际风险降低收益。

但这里有一个更重要的问题:优化到底比经验分配好多少?

如果只拿平均分配作为对照,容易得出一个过于乐观的结论。

因为平均分配本身就不一定是一个合理的预算方案。

所以,我们再引入一个更自然的基线:

按照初始损失规模比例分配预算。

例如,数据泄露占总初始损失的 40%,那么就给它分配 40 万元。

三种方案的比较如下:

预算方案 剩余年度预期损失 风险降低金额
平均分配 253.34 万元 246.66 万元
按损失比例分配 232.49 万元 267.51 万元
边际收益优化 231.95 万元 268.05 万元

这个结果其实比之前更有意思。

如果只与平均分配相比,优化方案多降低了 21.39 万元。

但如果与按损失比例分配相比,优化方案只多降低了约 0.54 万元。

也就是说,在当前这组参数下,边际收益优化相对于一个合理的经验方案,优势并不明显。

为什么?

因为五类风险的防御效率参数 k 差异还不够大。

当不同类别的投入效率比较接近时,按损失规模比例分配,本身就已经是一个不错的近似方案。

但如果不同类别的防御效率差异进一步扩大,简单按损失比例分配就可能出现明显偏差。

这恰恰是数学优化的价值:

它不是为了证明复杂算法一定比经验判断高明,而是帮助我们判断,什么时候经验方法已经足够好,什么时候值得付出额外成本进行精细优化。

有时候,最有价值的计算结果,恰恰是告诉我们:复杂优化并没有比简单方法好多少。

四、模型里还有两个更有意思的结论:剩余风险与预算的影子价格

继续推导这个模型,会发现两个值得关注的结果。

  1. 最优点的剩余风险有一个简洁表达式

在最优点:

Mᵢ = μ

而:

Mᵢ = (Lᵢ × kᵢ / 10) × exp(−kᵢxᵢ/10)

整理一下:

Lᵢ × exp(−kᵢxᵢ/10) = 10μ/kᵢ

左边恰好就是该类别的剩余风险。

因此:

Rᵢ = 10μ/kᵢ

这个结果很有意思。

在最优点,每类风险的剩余损失,与它的防御效率参数 kᵢ 成反比。

如果某类风险的防御效率较低,那么在最优预算分配下,它允许保留的剩余风险反而更高。

例如,本模型中:

风险类别 最优剩余损失
越权操作 37.96 万元
Prompt Injection 48.80 万元
数据泄露 68.32 万元
Skill 供应链 42.70 万元
错误操作 34.16 万元

这里需要特别注意:公式中没有直接出现单类初始损失 Lᵢ,但 μ 本身取决于所有类别的初始损失、效率参数和预算。因此,不能把它理解为剩余风险完全不受初始损失影响。

它真正表达的是:

在给定预算的最优配置下,风险分配会受到防御效率的强烈影响,而不是简单地让所有风险剩余损失相等。

  1. μ 其实是预算的影子价格

前面出现的 μ 还具有另一个经济学意义。

它是预算约束的影子价格(Shadow Price)。

可以理解为:在当前最优点附近,如果企业再增加 1 万元预算,理论上能够额外降低多少万元的预期损失。

本模型计算得到:

μ ≈ 1.708

也就是说,在当前预算附近,增加 1 万元投入,预计还可以降低约 1.71 万元的年度预期损失。

这会引出一个比“100 万元怎么分”更有意思的问题:

企业的 100 万元预算,究竟够不够?

我们可以把预算从 100 万元继续增加,观察影子价格如何变化。

当 μ 降低到 1 时,意味着:

再增加 1 万元预算,理论上只能换来约 1 万元的预期损失降低。

在当前模型中,对应的总投入约为 172.70 万元。

换句话说,在这个纯数学模型下,预算从 100 万元增加到约 172.70 万元之前,边际风险降低收益仍然高于投入成本。

但这里有一个重要的现实限制:

这只是基于预期损失和预算成本的简化比较,没有考虑现金流、预算审批、风险厌恶、尾部损失、业务价值以及安全措施的其他副作用。

因此,μ 不是管理层应该直接照搬的采购指标。

它真正提供的是一种决策语言:

我们不只需要问预算怎么分,还需要问预算增加之后,边际收益是否仍然值得。

五、统计学的问题:我们真的知道风险有多大吗?

前面的数学模型有一个非常重要的前提:

我们知道每类风险的初始损失 Lᵢ,也知道防御效率参数 kᵢ。

但现实中,我们真的知道吗?

未必。

企业可能部署了很多 Agent,却没有足够的历史数据。

可能有大量告警,但真正发生的安全事件很少。

也可能某类风险看起来发生率很低,只是因为企业缺少有效的检测手段。

这里就进入了统计学的问题。

没有观察到风险,不等于风险不存在。

假设企业过去一个月只发现了 2 起 Agent 数据泄露事件。

我们能不能据此认为数据泄露风险很低?

不一定。

因为这 2 起事件可能只是被发现的部分。

如果检测系统存在漏报,或者日志没有记录关键操作,那么实际事件数量可能远高于观测结果。

我们可以用一个非常简化的贝叶斯模型来演示。

假设:

企业每月真实的数据泄露事件数为 λ;

在观察数据之前,我们对 λ 使用一个 Gamma 先验分布;

先验均值为每月 2 起事件;

当前检测系统的事件发现率为 50%;

一个自然月内,系统实际观察到 2 起事件。

观测事件数不等于真实事件数。

在这个简化模型中:

观测事件数 Y ~ Poisson(qλ)

其中 q 是检测率。

如果 q = 0.5,意味着真实事件中只有一半能够被观测到。

假设先验分布为:

λ ~ Gamma(2, 1)

这里 Gamma 分布采用 shape-rate 参数化,先验均值为 2/1 = 2 起/月。

观察到 2 起事件之后,结合检测率进行贝叶斯更新:

λ | Y=2 ~ Gamma(4, 1.5)

更新后的后验均值为:

E(λ|Y=2) = 4/1.5 ≈ 2.67

也就是说,虽然我们只观察到 2 起事件,但考虑到检测率只有 50%,更新后的真实事件数量估计约为每月 2.67 起。

如果错误地把检测率当成 100%,就会低估真实风险。

当然,这只是一个教学用的简化示例。

它假设事件服从泊松分布、检测率已知且恒定、误报可以忽略。现实中还需要考虑事件之间的相关性、检测率估计误差、漏报机制和数据质量。

但它已经说明:

安全数据的价值,不只是记录发生了多少事件,还需要理解这些事件是如何被发现的。

检测能力本身会影响我们看到的数据

检测覆盖率越高,发现的异常可能越多。

于是,某个风险类别的告警数量增加,不一定代表风险真的变严重了,也可能只是检测能力提高了。

反过来,告警数量减少,也不一定代表安全水平提高了。

它可能只是检测规则失效,或者攻击者绕过了检测。

所以,企业不能只看告警数量,还应该关注:

检测覆盖率;

漏报率与误报率;

数据采集完整性;

事件确认率;

处置闭环率;

检测规则的有效期。

否则,我们很容易把观测偏差当成风险变化。

有时候,告警增加反而意味着企业开始看见过去看不见的问题。

六、人的注意力也是一种稀缺资源

讨论到这里,我又想到一个容易被安全技术忽略的问题:

企业不仅有预算约束,还有人的注意力约束。

假设企业每天产生 1 万条 Agent 安全告警。

安全团队有 5 个人,每个人每天能够认真分析 100 条。

那么,理论上每天最多只能处理 500 条。

如果告警到达速度长期超过团队处理能力,积压就会持续增加。

这实际上是一个排队论问题。

我们可以把告警看成需要处理的任务:

告警产生速度,是任务到达率;

分析人员处理速度,是服务率;

未处理告警,是排队中的任务。

如果平均到达率超过平均处理能力,队列就无法稳定。

即使检测系统能够发现所有异常,也不代表企业有能力处理所有异常。

当告警数量远远超过人的处理能力时,会出现几个问题:

告警疲劳:分析人员逐渐降低对告警的敏感度。

自动化偏见:过度相信自动化系统给出的结论。

机械式处置:为了完成工单指标,优先关闭告警,而不是理解风险。

注意力挤占:低价值告警消耗了本应用于高风险事件的时间。

这里还有一个值得警惕的现象:

如果 Agent 本身负责处理告警,那么 Agent 的错误判断也可能进入自动化处置链。

例如,Agent 将一次真实的数据外传行为判定为正常,并自动关闭告警。

这时候,自动化不仅没有降低运营成本,反而可能放大错误。

因此,自动化的价值不能只用处理速度衡量。

还需要考虑错误概率、错误影响范围,以及错误是否能够被发现和恢复。

企业需要做的可能不是无止境地增加检测规则,而是:

减少重复告警;

合并同源事件;

提高告警上下文质量;

根据风险进行分级;

将低风险、低复杂度事件自动化处置;

将人的注意力集中在高影响、高不确定性事件上。

七、多买几个安全产品,就意味着多几道防线吗?

不一定。

假设企业部署了三套安全产品:

一套终端安全产品;

一套流量检测产品;

一套 Agent 行为审计系统。

看起来已经有三道防线。

但如果它们依赖相同的数据源、相同的身份体系,或者使用相似的检测逻辑,那么它们可能同时失效。

假设有两道防线:

第一道防线失效的概率为 10%,第二道为 20%。

如果两者完全独立,那么它们同时失效的概率为:

P(A ∩ B) = 10% × 20% = 2%

看起来风险已经很低。

但现实中,防线可能存在共同的失效原因。

例如,攻击者成功窃取了一个高权限身份凭证。

终端产品没有发现异常,流量检测没有识别出异常行为,Agent 审计又因为权限本身合法而没有触发告警。

三套产品都在正常工作,却没有阻止攻击。

这涉及系统工程中的一个概念:

共同原因失效(Common Cause Failure)。

在可靠性工程中,可以用 β 因子模型描述共同原因失效。

直观来说,防线失效不再只是各自独立概率的乘积,还需要考虑由共同原因导致的同步失效部分。

因此,实际整体失效概率可能明显高于独立模型的估计。

这也让我想到图论中的攻击图。

企业可以把身份、Agent、工具、数据和外部服务看成图中的节点,把访问、调用、信任和数据流动看成边。

攻击者并不一定需要攻破所有节点。

只要找到一条能够从低权限入口通往高价值资产的路径,就可能形成完整攻击链。

因此,安全架构不应该只关注单个组件的安全能力,还应该关注:

哪些节点拥有过高权限;

哪些路径能够跨越安全边界;

哪些节点一旦失陷会影响多个系统;

哪些关键路径缺少独立的检测和阻断;

哪些操作缺少回滚和恢复能力。

对 Agent 而言,工具调用链、身份继承关系、上下文传递和数据访问路径,可能比单个模型的安全评测分数更值得关注。

八、攻击者也会学习:安全不是静态优化问题

前面的模型还有一个局限:

我们假设攻击者不会改变策略。

但现实中的攻击者显然不会配合我们的数学模型。

企业加强了某类检测,攻击者就可能转向其他路径。

例如:

企业加强 Prompt Injection 检测,攻击者可能转向 Skill 供应链;

企业限制 Agent 的工具调用,攻击者可能寻找身份权限或业务流程中的漏洞;

企业加强静态规则,攻击者可能利用动态执行和上下文变化规避检测。

这就不再是一个静态优化问题,而更接近动态博弈。

防御者的策略会影响攻击者的行为,攻击者的行为又会改变防御者面对的风险分布。

因此,今天计算出来的最优预算分配,未必在半年后仍然有效。

这也是为什么安全能力不能只靠一次性建设。

企业需要持续监测风险变化,定期重新评估投入效果,并根据攻击者的行为调整防御策略。

安全预算不是一次性求解出来的答案,而是一个需要持续更新的决策过程。

九、期望损失最低,不代表企业就安全了

前面的数学模型一直在优化年度预期损失。

但这里还存在一个问题:

期望值可能掩盖极端损失。

假设企业有两种风险:

风险 A:每年发生概率较高,但每次损失只有 10 万元;

风险 B:每年发生概率极低,但一旦发生,可能导致核心数据泄露,损失数亿元。

如果只比较年度预期损失,风险 B 可能显得不那么重要。

但对企业而言,一次极端事件就可能造成无法承受的后果。

这属于典型的尾部风险问题。

在金融风险管理中,有一个常见概念叫 CVaR(条件风险价值)。

它关注的不是平均情况下会损失多少,而是在最糟糕的一部分情形中,平均损失有多大。

企业安全也可以借鉴这种思路。

例如,除了优化年度预期损失,还应该单独约束:

核心数据泄露的最大影响范围;

高权限凭证失陷后的可访问资产;

Agent 批量执行错误操作的最大规模;

关键业务中断的最长时间;

不可逆操作的审批和恢复要求。

换句话说,某些风险不能只通过增加预算来交换。

它们应该成为不可突破的安全底线。

例如,法规明确禁止的行为、核心数据的访问边界、关键权限的授予条件,不应该因为模型认为预期收益更高就被放宽。

先满足不可突破的安全约束,再在剩余空间里优化成本与风险。

这比单纯追求一个更低的期望损失数字更加符合企业实际。

十、真正的难题:理论最优解,可能根本无法执行

即使我们知道理论上的最优方案,企业真的能够执行吗?

例如,模型认为企业应该投入 42.96 万元建设数据泄露防护能力。

但现实中可能存在:

没有合适的产品;

缺乏足够的技术人员;

业务部门不愿意配合;

现有系统无法改造;

采购周期过长;

安全措施会严重影响业务效率。

这时候,数学给出的最优解可能只是纸面上的最优解。

这里可以引入 Herbert Simon 提出的有限理性(Bounded Rationality)。

人的认知能力、时间、信息和组织资源都是有限的。

现实中的决策者往往无法找到所有可能方案,也无法准确计算每种方案的全部后果。

因此,人们经常选择的不是理论上的最优解,而是一个满足关键要求、能够执行、成本可接受的满意解(Satisficing)。

但满意解不等于可以接受任何风险。

这里必须区分两类约束:

第一类:不可突破的底线。

例如:

法规和监管要求;

核心数据访问权限;

关键业务的安全边界;

高危操作的授权要求;

不可逆操作的审批机制。

这些约束不能简单地用成本收益交换。

第二类:可以优化的运营指标。

例如:

告警处理效率;

检测覆盖率;

安全产品采购成本;

误报率;

自动化程度;

平均恢复时间。

这些指标可以在满足安全底线的前提下进行权衡。

一个能够持续运行的 80 分安全方案,可能比一个永远停留在 PPT 上的 100 分方案更有价值。

这也解释了为什么企业安全架构不能只追求技术上的完美。

它还需要考虑人的能力、组织的执行力,以及业务本身的承受能力。

十一、还有一种更有意思的投资:先花钱获得信息

前面我们一直在讨论如何把预算投入防御措施。

但如果企业对风险的判断本身就不准确呢?

这时候,是否应该先投入一部分预算,用来提高对风险的认知?

例如:

企业不知道 Agent 是否存在越权操作。

与其直接采购一套昂贵的防护系统,不如先建设操作审计、权限调用追踪和异常行为监测。

先弄清楚:

哪些 Agent 在调用哪些工具;

哪些身份拥有过大的权限;

哪些操作缺少人工确认;

哪些数据正在被访问和传输;

哪些异常行为经常发生。

这笔投入不一定直接降低风险,却可能改变后续的决策质量。

决策理论中有一个概念叫信息价值(Value of Information,VOI)。

可以简单理解为:

VOI = 有信息时的最优预期收益 − 无信息时的最优预期收益

举一个简化例子。

假设企业面临两种可能的泄露路径:

A:Agent 通过外部工具调用导致数据外传;

B:Agent 通过本地文件访问导致数据外传。

企业判断两种情况各有 50% 的概率。

目前有两套针对性防护措施,每套建设成本都是 20 万元。

如果不掌握更多信息,企业只能选择其中一套。

假设选错了,可能产生 100 万元损失。

那么,企业不进行监测时:

选择 A 或 B 的期望残余损失都是 50 万元;

再加上 20 万元防护成本;

总成本为 70 万元。

现在,企业可以先花 2 万元建设监测能力,准确识别主要风险路径,再购买对应的 20 万元防护措施。

假设监测结果足够准确,那么:

监测成本为 2 万元;

对应防护成本为 20 万元;

理想情况下不再承担选错路径导致的 50 万元期望损失。

总成本变成 22 万元。

这个简化场景中,先获得信息可以节省约 48 万元。

当然,真实监测系统不可能永远准确,还要考虑检测误差、部署成本和信息时效。

但这个例子说明:

有时候,企业最值得投入的第一笔钱,不是用来直接阻断攻击,而是用来弄清楚攻击究竟可能从哪里发生。

信息本身未必降低风险。

但它可能改变我们选择防御措施的方式。

十二、重新理解 Agent 企业安全:让安全能力变得可度量

回到最初的问题。

如果 Agent 犯错是长期运行下难以避免的事件,企业安全究竟应该如何设计?

我认为,至少应该从以下几个维度重新审视。

维度 可以考虑的度量方式 需要回答的问题
风险降低效率 单位预算降低的预期损失 每一笔投入究竟产生多少价值?
权限与影响范围 单次错误最多影响的资产数、记录数或系统数 Agent 犯错最多能造成多大影响?
错误可发现性 检测覆盖率、漏报率、平均发现时间 错误发生后能否及时发现?
恢复能力 平均恢复时间、恢复成功率、数据回滚成功率 出错后能否恢复?
人的运营负担 人均告警量、平均处理时间、积压量 安全系统是否超过人的处理能力?
适应能力 风险重新评估周期、规则失效率、策略更新时延 攻击者改变策略后能否及时调整?

这里还有一个很容易被忽略的问题:

指标必须有统一的统计口径。

例如,平均发现时间究竟从攻击开始计算,还是从日志产生开始计算?

恢复时间是从告警触发开始,还是从事件确认开始?

影响范围是按照文件数量、数据记录数量,还是业务系统数量计算?

如果统计口径不一致,指标可能看起来越来越好,实际安全水平却没有改善。

所以,企业不仅需要建设检测、响应和恢复能力,还需要建立一套能够持续验证这些能力是否有效的度量体系。

十三、回到 WorkBuddy:安全能力究竟应该落在哪些地方?

重新回看最初的 Agent 安全问题,我觉得有必要把抽象模型与具体产品能力联系起来。

以腾讯 WorkBuddy 公开产品资料为例,其安全能力涉及沙箱隔离、默认权限控制、敏感操作确认、工具调用权限、运行审计和数据保护等方向。

这些能力可以映射到前面的风险模型中:

  1. 沙箱隔离与权限控制:降低 P(E) 和 P(H|E)

限制 Agent 能够访问的文件、命令、网络和工具,可以减少越权操作发生的机会。

即使 Agent 生成了错误指令,也可以通过权限边界阻止它访问不应该访问的资源。

  1. 高风险操作确认:降低 P(H|E)

对删除、修改、系统命令等高风险操作设置确认机制,可以降低错误指令直接转化为实际损害的概率。

但确认机制也需要考虑人的注意力。如果每个操作都弹窗,最终可能让用户习惯性点击允许。

  1. 审计与追踪:提高错误可发现性

记录 Agent 的操作、工具调用和关键行为,可以帮助企业定位问题,理解攻击路径,并为后续检测和响应提供证据。

  1. 备份、回滚与恢复:降低 L

对于可以撤销的文件修改和删除操作,备份与恢复机制能够限制错误造成的最终损失。

但需要注意,回滚并不能解决所有问题。例如,数据已经被外传,撤销本地操作并不能让外部数据自动消失。

因此,恢复能力必须与权限隔离、数据保护和审计机制共同设计。

这些能力分别作用于风险发生、损害形成、影响范围和恢复阶段。

它们不是互相替代的关系,而是构成一套纵深防御体系。

这也说明,评估 Agent 安全不能只看某一个产品功能是否存在。

更重要的是:

这些功能组合起来,能否真正限制一次错误从局部操作扩散成系统性事件?

最后:安全不是让系统永远不犯错,而是让错误不再失控

写到这里,我发现自己最初只是想讨论一个 Agent 安全问题,最后却一路走到了数学优化、贝叶斯统计、排队论、图论、动态博弈、尾部风险和有限理性。

但它们并没有真正偏离主题。

因为这些学科研究的,恰好都是现实世界中经常遇到的问题:

资源有限,信息不完整,人的能力有限,参与者会改变策略,系统也不可能永远按照设计运行。

企业安全也是如此。

我们很容易把安全建设理解成不断增加防御能力:更多规则、更多产品、更多告警、更多审批。

但当系统越来越复杂时,增加防御措施不一定意味着风险同比下降。

有时候,真正重要的是知道哪些风险值得优先处理,哪些错误必须被限制,哪些操作必须保留人工确认,以及发生问题之后如何恢复。

安全系统的价值,不在于承诺错误永远不会发生,而在于让一次局部错误不至于演变成一场系统性灾难。

我们真正需要设计的,不是一个永远不会犯错的系统,而是一个即使犯错,也仍然能够被发现、被限制、被纠正,并最终恢复正常运行的系统。

    腾讯发布《WorkBuddy企业版安全白皮书》,让Agent进入企业可控可溯可管" 网络安全文章

    腾讯发布《WorkBuddy企业版安全白皮书》,让Agent进入企业可控可溯可管"

    腾讯发布WorkBuddy企业版安全白皮书,系统披露全链路安全管控体系,针对企业引入Agent的失控、误删、不可溯、数据泄露四类顾虑,构建事前识别、事中拦截、事后恢复、全程留痕四道防线,实现可控可溯可管。产品已通过多项权威认证,在金融、政务等50多行业落地,覆盖50%中国企业500强,为企业规模化应用Agent提供安全参考路径。
    Beatrice.py源码解读" 网络安全文章

    Beatrice.py源码解读"

    本文源码级解读免杀工具Beatrice.py,其核心思路是通过等长等价指令替换规避静态签名检测,实现简洁但存在多处不等价替换和代码bug。对防御方的价值在于工具输出自带可建模的统计指纹,公开补丁表可作为新YARA规则素材。建议检测工程师关注push/pop搬运寄存器、sub置零等异常指令分布特征。
    2026最新Pikachu漏洞练习平台通关教程" 网络安全文章

    2026最新Pikachu漏洞练习平台通关教程"

    本文为Pikachu漏洞练习平台44个关卡的完整通关教程,覆盖SQL注入、XSS、暴力破解、CSRF、RCE、文件包含、文件上传、越权、SSRF等15个漏洞模块。每关提供入口、闭合方式、可直接复制的payload及复现截图,并给出6处重点漏洞的风险等级与修复优先级建议,适合安全测试人员实战练习参考。
    评论:0   参与:  0