现在有一群 AI agent 正在实时攻击 Lovable 自己的系统。它们像人类攻击者一样试探每一个入口,不找到一条可验证的漏洞就不停手。这套系统跑得攻击性极强,补上了AI 原生的安全厂商都没补上的空档:AppSec 团队终于能把时间花在真正要紧的 bug 上,负责攻击的研究员也因为找case的脏活被 agent 干掉了,推进速度快了一大截。

为了不让这篇文章一上来就制造焦虑,我想先告诉大家。Agent 还是要人来编排、人来理解,红队研究员照样有干不完的活。这篇想讲的是,我们怎么围绕"可验证的结果"搭起这套内部攻防体系,又怎么编排一群 Agent,让它找出真漏洞,而不是制造一堆噪音。

夺旗是金标准

Agent 说自己发现了一个漏洞,怎么知道它不是吹的?办法是夺旗:我们在一台它没有访问权限的系统里提前放一面 Flag,它能取回来,就说明它真的拿到了那台系统的访问权限,漏洞是真的。Flag 就是一段特殊字符串。大多数扫描器做不到这个,它们只会说模型应该没问题。

这套想法来自 CTF 比赛,但我们把尺度完全反过来。一场 CTF 通常是给你一个故意种了漏洞的服务,让你去攻击。我们反着来:往自家基础设施和最特权的产品面上撒满 Flag,任何地方都不故意设置漏洞。一个 Agent 抓到旗子,就说明它找到了一条真实的问题。这样设计整套系统,让整套机制成立的是那个可验证的目标。有了它,我们可以让 agent 一直进行攻击,直到真的攻破、交出一份报告。没有这个约束,安全 agent 倾向于提前退场,告诉你没问题,或者给你找一些可有可无的问题。

攻击面最大化,攻击距离最小化

只有一条黄金原则:最大化攻击面,最小化攻击距离。把 agent 的活设计得越容易越好,因为难的攻击路径,是容易的攻击路径的子集。

我们内部有个跨项目访问场景就是个例子。把攻击者 agent 以协作者身份邀请进一个合成项目,任务是把同一个合成 workspace 里另一个受害项目攻击到,攻击距离压到最短。我们不需要再单独准备一个匿名无权限访问场景,因为如果那条难的路能打通,这条容易的路必然早就通了。

图片

攻击场景示意:以协作者身份进入合成 workspace,目标是打穿同 workspace 的受害项目

攻击面这边,我们把每个产品面都交给 agent。主编码 agent 背后的那套工具平时被 LLM 机制挡得严严实实,我们就给黑客 agent 开一个专用 API 直连,让它能程序化地够到平时够不着的地方,这些入口和其他入口一样合法。至于没直接交到agent手里的地方,也不拦。但是要注意,攻击面全部覆盖是有代价的,其开得越大,编排越要小心,不然 agent 一跑偏就拽不回来了。

怎么编排 agent

编排取决于整体的效率和成本,没有银弹。不同的环境要不同的目标和优先级。

agent 自己构思攻击挺在行,但配上人类的知识,找到能用的东西的几率才上得来。我们要给定agent一个基本方向,而不是让其去当无头苍蝇。你肯定不想拿 token 审计你已置信的边界。解决这个问题的办法是把心智负担降下来,把信任边界做得清晰可查。边界做好了,agent实施攻击就快,系统也方便快速调整。

agent 没有灵感的时候不太会主动去捅底层系统,但你可以把依赖的源码和 CVE 喂给它当引子。按 bug 类别选打法:有些类别用便宜模型加几百个 subagent,只扫一种非常具体的行为,只在最有希望的方向上尝试利用,这样才最划算。prompt 里有个反直觉的坑。绝不要问 agent 这里有没有漏洞。一问"有没有",一次本来彻底的扫描就会被agent当做没有漏洞,然后agent会马上收工,你收获一堆低危噪音。你应该反过来告诉它,漏洞是真的,你的唯一任务就是把它找出来,它就没有退出的理由,会一直扫描下去。关键的点不是疑问,而是假定好一个假设一直推进。

没有银弹

这套东西替代不了安全工程。Lovable 照样在往认证、授权这些底层原语里砸资源,也替代不了人类进攻性研究。agent 是好手,但要有人辅助,它才又便宜又好用。

最后一点,这套玩法不是新东西,但用的人很少,因为它很难被商品化。AI SAST、agent 渗透测试服务都能打包卖,但我们这种东西打包不了,现阶段只能由懂自家信任边界和架构的人自建。

文章里讲到"问有没有漏洞,agent 就提前收工",我立刻想起我们之前分享的那篇 /goal 实测文章。那篇文章谈论的点是,当Codex 的 goal 由干活的模型自己宣布是否完成时,目标就变得不可验证,agent跑得越久,错误就会越来越多。今天分享的文章正好给出了解法:我们的 Flag 就是 ground truth,agent 骗不了自己,想收工,先把旗子交上来。给 agent 的目标能不能被它自己伪造,决定了它是你的长工,还是许愿机。安全 agent 不缺攻击力,缺一个它骗不了自己的验收标准。

Hacking has always been an art, and agentic hacking is no different. There are no rules here. Apply taste.

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐