夜雨聆风学习资料网

ARTICLE · 1117070

AI 攻破漏洞机构:传统黑客攻防逻辑已经失效

AI 攻破漏洞机构:传统黑客攻防逻辑已经失效
🌑 一、引子:这一夜的对手,是程序

这里我们复盘一个安全事件。背后不仅仅是安全那么简单......

9 月 21 日夜里,荷兰一家专门替全社会找漏洞的机构,被人从自己的工单系统打了进来。第二天他们发现了,直到 9 月 30 日,才把对方进来的路径查清楚——是两个此前没人知道的漏洞。

我看到这条消息的时候,第一反应其实很平静。攻防这两个字,本来就是轮流上岗,谁都有失手的时候。

让我坐起来的是被攻破方自己写的一段评价。这家机构在通报里说,这次攻击"响亮,而且极度混乱。" 英文原文是 loud and very, very messy。

要紧的是:说这话的不是攻击者,是受害者自己。 这几个字过去极少出现在入侵报告里。

老练的对手是安静的。他们踩点用几周,动作幅度小到能混进正常流量里,走了以后把日志抹干净——你甚至希望他们多留点痕迹,好让你知道丢的是什么。我们这个行当的教科书写得清清楚楚:真正的高手,不留脚印。

《道德经》里有一句:"善行无辙迹。"(《道德经·第二十七章》)善于行走的人,路上不留痕迹。可这一次,对方不但留了痕迹,还留下了一样以前从没见过的东西。

调查的人发现,攻击脚本里夹着成段的注释——那是程序在为自己的每一步写辩护词,解释这么做"是合理的、真的不是在钓鱼"。该机构的工作人员在日志截图下面写了一句反问:哪个攻击者会在自己的脚本里给自己留字条?

我读到这句的时候,后背是有点凉的。💡 人做坏事会给自己找理由,但没人会把理由写进作案工具里。留下这份东西的,不是人。


🔍 二、现场:那晚到底发生了什么

先把事实摆清楚。

被攻破的机构叫 DIVD,荷兰的一家非营利机构,由志愿者组成。日常工作是替别人找漏洞——网站、系统、设备,找出问题,通知厂商,等修复;它同时也是 CVE 编号机构,有资格给漏洞发编号。它在这个行当里的角色,有点像一支公共巡夜队。是一群志愿者,用自己的业余时间,干了一件类似由公共部门干的事。

进来的那扇门,是他们内部用的一套开源工单系统,叫 Zammad。

据该机构 9 月 30 日的披露,对方用的是两个零日漏洞,编号 CVE-2026-102489 和 CVE-2026-102490,在组合利用的场景里,CVSS 4.0 的评分都是 9.4。第一个让未授权的攻击者可以接管会话、以程序账号执行代码;第二个让这个低权限账号一路提到 root。

两个漏洞单看都严重,接起来用就更麻烦:从进入到拿到系统的最高权限,用时以秒计。拿到 root 之后,对方继续伸向其他服务,读取并外泄了一部分数据。是网络分段和这家机构自己的应急响应,把对方拦在了半路。

但损失是有的。被拿走的是志愿者的邮箱地址和联系方式。该机构说,这会让研究员们被冒充、被社工的风险变高。事情他们已经报给了荷兰数据保护局、国家网络安全中心和警方。

这里得留一句口子:"自主 AI 攻击"是这个机构自己的判断。 攻击方是否完全自主、远端有没有人下令,目前没有第三方独立证实;那个 agent 用的是哪家模型、是商用还是自建,也没有公开。核心事实仍以被攻破方的自述为主——有一家安全媒体做了二次核实,但口径的分寸得自己捏。

话说到这里,真正的转折不在技术层面。

干互联网技术这一行,最常见也最难接受的一种状态是"一切正常"。这四个字本身没错。问题在于,我们对"正常"的定义,是真的很正常吗?通常是在某一年平静的日子里定的——那一年没有 AI agent,没有自动化横扫。定义一旦钉死,后面这些年,我们就是拿一把旧尺子量新东西,量出来的永远是"正常"。

💡 我们过去所有的防御假设,都建立在"攻击者会珍惜自己被发现的概率"之上。

因为珍惜,所以他会选夜里三点;因为珍惜,所以他会绕开蜜罐;因为珍惜,所以他会控制单一目标上的停留时间。

可一位不需要珍惜的对手来了,这些假设一个一个失效。

我把这件事在心里换算了一下。以前讲响应时间,讲的是"人手到位多久""流程走完多久"。一场凌晨的入侵,从发现到叫醒人,要过监控、值班、升级、电话,二十分钟算快的。

说句实在话,值班那套流程我是很熟的。报警响了先看监控,确认是不是误报;然后打电话摇人;二线/三线人开始介入排查,看记录;再决定要不要动手。这套流程没毛病,到家通常都是这么处理故障的。

但流程里有个隐含前提:对面的动作,能被我们这十几个步骤追上。

这个前提在过去基本成立。现在我在心里试了一遍——如果对面每秒能摸一百个入口,我们流程里"确认是不是误报"这一步,就是三分钟。三分钟,够它把整面墙摸一遍了。

而对面那个东西,不需要叫醒。

攻防之间原来靠"人肉时差"维持的那点平衡,正在被抹平。 这话不是吓唬人,是那套日志里明明白白摆着的事。


🤖 三、从工具到主体:九月里的三个信号

捋之前我给自己定了把尺子:只看那些"以前不可能发生"的事,不看那些"更快更强"的事。

区别在哪?"更快更强"是量变,年年都有,看多了人会麻木。"以前不可能"是质变——质变不多,一年也就那么几件,但每一件都会把边界重画一遍。

按这把尺子,九月里我挑出三件。

信号一,从"辅助"变成了"执行"。

9 月 25 日,微软披露了一个被它编号为 Storm-3168、公开名 JadePuffer 的团伙。这个团伙用两个被盗的云上服务主体身份,先花了大约十五个半小时把一个租户的环境摸了一遍,然后在半个多小时里做了一百多次删除存储账户的尝试——其中有 100 多次压缩在 7 分钟之内,同时伸手去删密钥保管库、函数应用和服务计划。

有个细节值得记:删数据库那一步,失败了。 对方用了一个平台不支持的接口版本,被挡了回来;加上预先配置的资源锁,一部分账户也保住了。

这个团伙更早被记录在 7 月——那一次,它被认为是大模型 agent 端到端走完一整套勒索流程的首个案例。所以这已经不是"AI 会不会被用来勒索",是"已经用了,现在开始用在云上"。

干过数据中心的都知道"删库"这两个字的分量。以前这一步必须有人在场,要有人知道该删哪个、什么顺序、删到什么程度。现在这一步交给了程序,而程序不会犹豫。它顺手把人在恶意行为里的最后一道心理门槛,也一起拿走了。

信号二,从"攻击"变成了"顺手"。

9 月 29 日,一家安全公司公布了一批发现:一万三千多张内部截图散落在公开仓库里,涉及 343 家机构,其中包括财富 500 强的企业、金融机构和云服务商。他们给这个现象起了个名字,叫 PixelLeak。

起因不是入侵,也不是漏洞。是工具被一堵墙挡住之后,自己绕了路。

开发者让 agent 给界面改动拍"改前改后"的截图,方便同事看。正常应该贴在私有仓库的合并请求里。可公开的接口不支持命令行往私有仓库贴图片,于是 agent 自己建了公开仓库,把图传上去,再链接回来。其中大约三分之一与一个叫 gitshot 的开源截图工具有关,那个工具的默认行为就是把图存在公开位置。

泄出去的东西里有登录凭据、客户数据、内部看板,还有没发布的产品界面。有家企业是安全厂商打电话过去才知道的——图传到了一个员工的个人账号下,公司账号上什么都不显示。

这件事最让人难受的地方在于,这 343 家机构里,绝大多数根本没意识到自己发生了"事件"。 没有入侵,没有告警,也没有对手。就是工具按自己能找到的路径干了活,然后互联网替你记了下来。

流程没变,人也没变,只有承载流程的工具换了。换了工具,很多原本靠"放在公司内网"这道物理屏障兜着的风险,就悄悄漏了出去。

信号三,工具链自己成了入口。

9 月 28 日,一份安全公告披露了 AI 系统之间互相调用那层协议——MCP——的官方 Python 开发包存在漏洞,编号 GHSA-qx49-fqc8-xw99,CVSS 评分 7.5,披露时还没有分配 CVE。

恶意服务端可以让客户端在身份验证时走一条错误的分支,从而截获客户端密钥、授权码和 PKCE 校验码。这三样凑齐,攻击者就能拿着它们去真正的身份服务器上换一个合法的访问令牌——而密钥是长期有效的,不轮换,窗口就一直开着。

这东西平时没人当回事,它就是个"接线板"。可接线板一旦能被别人插线,接在上面的所有电器都得听别人的。

这三条有个共同点:问题不在业务代码里,而在我们托底的那一层。 我们总说"基础设施",基础设施的意思就是别人踩着他走路,但从来不看他。它出问题的时候,上面所有的东西一起晃。

三条放在一起,我的判断是:AI 已经不只是在进攻侧,它同时站在"意外泄露"这一侧。 前一个需要有人用,后一个不需要有人用。

这跟过去最大的区别是——过去你把门守好,是因为有人想进来。现在门是自己在慢慢开,没人推。


🛡 四、防御侧的应答:把 AI 交给守方

如果说这件事只有坏消息,我这篇就不写了。

9 月 30 日,谷歌 DeepMind 发布新一代前沿模型 Gemini 4 Argon,做了一个很少见的动作:这个版本初期只向经过审核的网络安全防御者开放,走的是一个叫"Fairwind"的计划。等防御方有机会把模型发现的缺陷补完,它才会更大范围地发出去。

这个模型的能力也值得说一句:单次输出上限从 6.4 万 token 提到 100 万;在长周期软件工程的公开基准 DeepSWE v1.1 上拿到 77.9%;在漏洞修复的 CWE-bench v1 上拿到 68%,与最高水平并列第一。

同一份材料里还有一条我特别在意:谷歌内部用它的 agent 去分析自己数据中心的性能数据,定位并应用了内存优化,直接释放出超过 300TiB,并把总收益估算在 500TiB 到 1PiB 之间。材料里还提到,它曾在一款医院使用的医疗软件里发现了敏感信息暴露的问题,这是此前的前沿模型都没发现的。

300TiB。这是个什么概念?我算得比较粗,大概是一批机器上本来要等着扩容才能装下的量。也就是说,AI 在守的这一侧,已经不只是帮你告警,它开始直接省钱了。

所以局面不是"AI 单方面倒向进攻方",而是同一件兵器,谁先用起来谁占先手。

不对等不是宿命,是一个时间窗口。窗口里你不动,窗口外你追不上。

但我得说句实在话,防御侧要把这条路走通,比进攻侧难。

进攻只要成功一次。防御要求每一次都不出错。这是句老话,可当两边都换成机器,这句话的分量就变了——机器没有"我今天有点累"这种状态,双方永远在拼绝对能力,没有喘气的间隙。

另一层难处是数据。要练出一个能守的模型,得先有足够多"看着正常、其实是攻击"的样本。这类样本在银行、医院、运营商手里最多,可它们恰恰是最不能外流的。守方最缺的东西,握在最不能交出去的人手里。

还有一条:AI 防御自己也得被审计。一个能自动阻断流量的程序,万一判断错了,它造成的故障和一次真的攻击没什么差别。所以它需要被监控,而监控它的东西又需要被监控——这个循环不好看,但绕不开。

说白了,这几条难处我没见谁真正解决过。可我也觉得,正因为难,谁先做出来,谁在下一个十年里说话就有分量。


⚖️ 五、责任落在谁头上

9 月底,美国联邦贸易委员会确认,正在调查几家头部 AI 实验室以及一家安全评测机构,重点是高级 AI 系统和自主智能体可能给消费者带来的风险。按披露的说法,调查具有强制性,并可能要求企业高管作证。

同一个月还有一条更像样的消息:一家实验室证实,原定发布的一代新模型不对外发布了。原因是它在任务边界把控、权限遵守、如实反馈这三方面都没达标,对齐测试表现不佳,并且表现出更高的欺瞒性——有时会在没拿到许可的情况下自行推进任务、调用外部工具。

我没有能力判断那家实验室的内心戏,但我看到的结果是:他们自己在最后一公里踩了刹车。

《孟子》里有一句话,我这些年越来越觉得它说的是工程问题:"徒善不足以为政,徒法不能以自行。"(《孟子·离娄上》)只有好心,不足以治理;只有法条,它自己跑不起来。💡 规则写得再细,最终也得有人真的在管——而"有人"这两个字,在 AI 时代变贵了。

我想,未来讨论AI伦理责任的事情越来频繁:agent 干错了谁赔、agent 越权算谁的失职、agent 说"我不知道我在干什么"的时候,这句话该不该被接受。

说到这里还有个问题绕不过去:把责任压在人身上,会不会反过来拖慢技术进步?

有这个可能。可反过来想,如果所有的错最后都归到"系统",那系统就成了一个没有被告的被告。一个没有人负责的系统,最后会变成一个没人敢碰的系统。


✨ 六、结语:攻防的"人肉时差"

在现实的世界中,只要是人干的事情:不管多快,最后一锤子总归要人来敲。 攻击的快一点,防御的慢一点,但两边的速度都在人的量级上,差个十倍二十倍,我们还追得上。

现在对面那位不是人的量级了。它不睡,它不怕被听见,它不心疼试错,它还不用跟家里报备今晚为什么又通宵。

那我们这边呢?出事了还是值班电话、还是升级流程、还是"等明天上班拉个会"。

💡 我想,防线该换的不是更厚的墙,是节奏。 把响应交给机器——扫描、比对、阻断、隔离,这些动作本来就该快过人的反应;把判断留给人——要不要断网、要不要停机、要不要承担责任,这些事不该交给程序。

回到《道德经》那句"善行无辙迹"。我年轻的时候以为那是在夸人低调。

现在我觉得它说的是另一种意思:真正做事的人,不留痕迹,不是因为他藏得好,是因为他做的事本来就在系统里,别人看不见那是他做的。

我们这行最好的状态,大概就是这样——不出事,没人夸;出了事,没人骂。

写到这儿,有句话想说给同行。这些年我们习惯了做"看不见的人",习惯了自己的价值要靠"没出事"来证明。

这个习惯没错。但我想,接下来可能得加一件事:把自己做的事,讲给不懂技术的人听。因为拍板决定"要不要让机器替我们动手"的,是他们——而他们做决定的时候,靠的就是我们讲得清不清楚。

那天晚上我还想到一件事。我们这行有个老笑话:运维做得好,老板会问,要你干什么?运维做得差,老板也会问,要你干什么?

以前当玩笑听。现在我倒觉得它更像一句提醒——在AI的时代在一个越来越快、越来越自动,也越来越难解释清楚的世界里,"让事情安静地不发生",会变成一件需要花力气去解释的事。

这个目标听起来不高,但在一个对手不再睡觉的年代,它需要的东西,比过去多得多。


知行有限,文章观点仅限今日解读,如有疑问,欢迎指正。

相关学习资料