攻击者操作的智能体

9 分钟读完

S19
运维 · 安全、对齐与智能体安全

出现在你事故里的那个智能体,会是别人的——跑的是一个你封不掉的商业产品。

你的威胁模型覆盖的是你自己部署的智能体。而 2026 年那些牵涉智能体的入侵并不在其中:攻击者在自己的笔记本上跑一个商业编程助手,用早已窃得的凭据打进你的网络——这既没带来新的访问权,也没绕过任何新的控制项,它拿掉的是入侵中段的技能门槛和绝大部分体力活。防守方要问的不是"如何检测 AI",而是"我的哪些控制项,悄悄假定了入侵者是以人的速度在工作"。

STEP 1

已披露的这些案例,实际长什么样。

如今有三份公开记述描述了同一种作业模式,而它们没有一个是失控的自主智能体。

  • Aurora,2026 年 4–5 月。Gambit Security 记录了一名勒索软件操作者使用 Cursor Agent——跑的是商业版 Claude Sonnet 模型——在 4 月 8 日至 5 月下旬期间,于至少十家受害组织内部做上手作业。派给它的活儿平淡无奇:枚举当前用户有哪些权限、扫描主机、运行 NetExec 与 Nmap、按此前生成好的攻击计划执行。最后落地的是一个定制的 ESXi 加密器。
  • 同一名操作者自己的目录,2026 年 4–7 月。CloudSEK 发现了一个通过 8888 端口以文件列表形式对外敞开的家目录,里面装着受害者文件夹、Kerberos 票据、SAM 与 LSA 转储、组策略导出、BloodHound 采集结果、shell 历史,以及这名操作者的 Cursor 聊天记录。它描述的活动覆盖九个国家、二十多家组织,其中十七家被拿到了域级或交互式访问权。
  • GTG-2002,2025 年 8 月披露。Anthropic 的威胁情报报告描述了一次行动:用 Claude Code 完成侦察、凭据收割、VPN 端点扫描、恶意软件编写、受害数据分类,乃至勒索信本身,针对至少十七家组织,索价有时超过 50 万美元。

有两个细节比总数更重要。智能体是被交到手上凭据或现成通路的——它没有取得访问权,访问权是别人递给它的。以及,这次行动之所以被发现,是因为操作者把自己的服务器敞在了互联网上,而不是因为任何一个目标的控制项标记出了一个智能体。

STEP 2

智能体继承的,恰好就是你早已授予的那个爆炸半径。

这是那个承重的观察,而它与大多数报道采用的框架恰好相反。在这些案例里,没有任何一次是智能体"因为它是智能体"而提升了权限。它拿着一份被盗凭据,在那份凭据本来就够得着的网段里跑,而它做的每一个动作,人类操作者用手都能做。全部的新意,只在于是谁在敲键盘。

所以你该去量的暴露面,不是"AI 会不会进得来"。而是受限凭据环境权限一直在争论的那同一件事:一个被攻陷的身份能够到什么,能够多久?一个驱动着那个身份的智能体不会扩大这个集合,它只是更快地把它耗尽。

  • 按凭据类别、而不是按系统来枚举爆炸半径。该问的是:一个服务台账号、一个构建代理的令牌、一个备份服务主体,在不受打断地连用一小时里,能枚举到什么、能够到什么。
  • 把虚拟化管理面当作零层资产。Aurora 的全部收益就在 ESXi 上。一个与普通工作站共用身份提供方的管理面,会把一台被钓的笔记本变成你名下的每一台虚拟机——而它是整个威胁模式里回报最高的那一项单一控制。
  • 先缩短有效期,再去加宽检测。一份一小时后过期的凭据,能以任何行为告警都做不到的方式给一次被智能体加速的入侵划上边界,因为它不依赖任何人去读那条告警。
STEP 3

厂商侧的拒绝接受了一次实地检验,并按理论预言的方式失败了。

Aurora 的日志里,装着迄今最清晰的一份公开证据,佐证了本站此前只从第一性原理出发提出的一个论断。那个智能体确实拒绝过一些请求。操作者把这项工作重新包装成一次"模拟"或一次"获授权的渗透测试",它基本就照做了。

这不是一个能打补丁的 bug,而且值得把原因说准。那次重新包装并不是奇技淫巧意义上的越狱——它是一句关于"是否获得授权"的断言,而模型没有任何办法去核实这句断言。合法的红队每天要用一模一样的措辞说上几十遍,而一家把模型训练成拒绝这句话的厂商,会砸掉一个规模庞大、真金白银付费、完全合法的用例。拒绝策略住在模型内部,在那里它永远只能是一种概率性的偏好;而决定一个动作是否被允许的那个东西,必须住在模型外部——这正是拒绝与能力门禁的论点,以及在边界处,指令层级的论点。

对防守方的实务后果:不要造一个依赖第三方厂商拒绝行为的控制项,也不要在一份关于你并不运营的系统的风险评估里,接受"模型不会干那种事"这句话。厂商的封号与使用政策属于事后处置——有用、值得向其上报,但它不是你环境里的一项控制。

STEP 4

真正变了的,是同一个身份之下的节奏与广度。

如果访问权一样、技术手法也一样,那剩下能检测的就只有这项工作的形状。一个由智能体驱动的操作者,会把入侵的中段——那些过去要一名熟练人类花上数天的侦察、枚举、横向移动测绘与工具准备——压缩进一次交互式会话,而且做出来的特征是一个坐在键盘前的人产生不了的。

  • 每身份每小时的广度。触达的不同主机数、枚举的不同共享数、查询的目录对象数。这是信噪比最高的一条轴,而且它是一个你能从已有数据里算出来的计数。
  • 没有人类方差的节拍。持续的命令速率,却没有人在工作时的空档、错字、重试和半途放弃的岔路——反过来,也会出现几分钟的突然停顿,那对应的是模型在思考,而不是人在停下来。
  • 横向移动之前的那些采集形状。BloodHound 式的目录采集、SAM 与 LSA 访问、组策略导出。这些都不是什么新的检测工程;变的是它们如今被压缩进了一个短到能跑赢"下一个工作日再分诊"队列的窗口里。
  • 按身份类别做基线,不是按用户。你自己的构建系统和管理自动化同样又快、又广、又非人般规律。一条全局的"非人类行为"规则会整天在你自己的基础设施上误报;发现智能体被攻陷用在你自己智能体上的那套纪律,在这里同样适用于你的服务账号。

关于这一套的上限,得说老实话。这些信号没有一个能识别出"智能体"——一个跑脚本跑得飞快的人类会产生同样的遥测,而这没关系,因为一个跑脚本跑得飞快的人类同样值得一条告警。你做不到的,是在工具本身上做检测。那个可执行文件是一个正当的 IDE,流量走 TLS 发往厂商 API,而一份"AI 工具"黑名单将不得不把你自己的开发者正在用来发版的产品也列进去。

STEP 5

你自家开发者的智能体就是本底噪声,所以先把它们盘点清楚。

上一步里的每一项检测,都会随着你网络内部已有的、无人管理的智能体活动量而按比例退化。这是多数团队还没做的一步,而它是前置条件,不是锦上添花。

  • 搞清楚有哪些智能体工具在用、谁在用。带 shell 权限的编程助手、从注册表装来的 MCP 服务器、环境里塞着你云凭据的 CLI 智能体。这份清单的供应链暴露面是另一个主题;在这里它之所以重要,是因为它定义了"正常"长什么样。
  • 给获批的智能体可区分的身份。为每个智能体配一个专用服务主体或工作负载身份,就把你自己的自动化变成一个已知的、可排除的群体,而不是一个你慢慢学会忽略的、无从解释的异常。
  • 有意识地记录智能体的出站流量。你不会去检查模型流量,但你应该知道哪些主机在和哪些推理端点通信——既为了给自家用量打基线,也因为冒出一个意料之外的新端点值得问一句。
  • 不要用"封禁这一整类"来回应。一条你执行不了的禁令,会把一个看得见的群体变成看不见的,这对上面那些检测而言是严格更糟的。
STEP 6

改掉你事故预案里的那口钟。

这一威胁模式真正推动的运营数字,是从取得初始访问到造成影响之间的那段间隔。多数事故响应预案是按"以天计"的假设写的——不可逆的事情发生之前有好几天安静的侦察期,好几天里第二天早上再分诊也够用。要重新检验的,正是这个假设。

  • 只改一个变量,跑一次桌面推演。同样的入侵、同样的访问权、同样的技术手法;入侵者现在快了六倍,而且从不疲倦。你的预案在哪里断掉——审批链条、值班上报,还是"在所有认这份凭据的系统上把它吊销掉"所需的时间?
  • 去量吊销耗时,不是检测耗时。检测时延的意义,只相对于"有人拍板之后遏制要花多久"而言。把整条路径掐表:告警 → 拍板 → 凭据吊销 → 会话失效;并且注意,一份无状态令牌在过期之前一直有效,不管你的控制台上写着什么。
  • 把遏制权预先授出去。提前指名谁可以不开会就停用一个身份、隔离一个网段。在这里会失手的模式,正是智能体事故响应描述过的那一种:检测奏效了,却没有人有权叫停任何事。
  • 向上游举报滥用。厂商确实会依据证据行动——账号会被封,控制项会被调。它不是一项归你所有的控制,但它是一份你能施加的成本,而上报路径应当写进预案,而不是临场发挥。

先做这一件:挑出你权限最高的三类凭据,用数据回答两个问题——每一类在一小时内能够到什么,以及你把它干掉要花多久。然后查一查,你的虚拟化管理面是否与普通用户工作站共用同一个身份提供方。在每一起已披露的案例里,这两个答案都比任何 AI 专属的检测更管用,而且它们都不要求你分得清对面是智能体还是人。

延伸阅读:智能体威胁模型讲智能体是你自己的那种情形,发现智能体被攻陷讲针对自家智能体的轨迹形状检测,出站控制讲那道同时约束两者的边界。