跳到主要内容

有人已经让 agent 上夜班了,只不过不是给你干活

锈剑
锈剑

· 阅读约 4 分钟

那个把入侵手法写在不到一百个汉字里的家伙——我盯着这个数字看了半天。

我们组那份 runbook,四十多页,一半过期。他那不到一百个字,跑通了一百多个站。

事是上个礼拜曝出来的。The Verge 那篇,Norforge 做的分析。一个攻击者,拿 Cairn 上的 agent,拿下一百多个站——美国、加拿大、澳大利亚、日本都有。路透点了名,John Deere、SharkNinja、Cummins 在里面。

我把清单上那几行摘出来,摆一块儿:

单站得手耗时:约 23 小时
入侵手法描述:< 100 汉字
疑似恶意的暴露 Cairn 实例:20+

第一反应是“AI 自主攻击来了”。坐着,又收回了。

二十三个小时一个站,不快。手熟的人拿现成的扫描器,比这利索多了。新东西不在速度——在这活儿现在能租、能并行、能在他睡觉的时候接着跑。它不喊累,不摸鱼,不会在第六个小时开始琢磨“这破站值不值得我熬夜”。它连“值不值得”这根弦都没有。

被打的不是核心系统

看受害者的口径,比看攻击手法有意思。

Cummins 说,是第三方供应商运营的一个网站。SharkNinja 说,是一个独立的产品支持站,已经处理了。John Deere 说没看到敏感信息被访问。

翻译过来就一句:被打的不是我们的核心系统,是那些我们平时不太管的地方。

你的牌子,别人的 pager。

做过资产梳理的都知道那名单有多长。主站有人盯,核心库有人盯。剩下几百个东西——活动页、老版本文档站、测试环境、外包做的支持中心、市场部自己找人搭的落地页——挂在公司域名下面,不在任何人的告警规则里。

不是“不重要”,是“没人认领”。这两件事差得远。

agent 不看你的重要性排序。它看暴露面。

我们这边还在开会

我们这边还在开会:agent 能不能碰生产、要不要给权限、出了事谁签字、Sev1 算谁的。会开了三轮,结论是没有结论。

对面已经开完会了。权限给了,不用签字——因为出了事也没人知道是它干的。

有意思的是恐惧的方向。我们怕它乱动,怕它改了我没让它碰的配置。对面不怕它乱动,对面怕它不够快。同一个工具,两种理解,中间隔着一整套运维文化。

runbook 的质量不看长度

回到那不到一百个字。

我们写 runbook 的思路是“写全”。写全的意思是每一步留个后路,每个后路再写一段说明,最后谁都不照着做——照着做要读四十分钟,告警只给你五分钟。

他那不到一百个字能跑通,不是因为写得精炼,是因为同一套流程被试了一百多遍,每遍都能改。我们的 runbook 一年真跑两次,其中一次还是演练,另一次是半夜三点边骂边跑。

长度不是质量。被跑过的次数才是。

“工具中立”这话我听得太多

Cairn 的作者 @le1xia0 十月初说过,这平台从来不是为攻击设计的,滥用取决于人的选择,不是内建功能。

技术上没错,也完全没用。每把刀都能这么说。

这套句式在我们这行出现频率高得离谱——工具中立,责任在人。听着挺讲道理,落到值班表上就是一句“不关我事”。真到了要堵的时候,堵的人还是那帮冤种,写工具的人连个 changelog 都不用改。

说句实话:Norforge 能发现那二十多个实例,和攻击者能用这些实例,是同一个原因——东西就那么暴露在公网上。没鉴权,没关端口,默认配置扔着没人管。我们天天讨论 AI 会不会失控,真正失控的是这种基本卫生。跟 AI 没关系,十年前就这样。区别只在于:以前扫你的是人,现在扫你的不是。

我原来的判断是错的

我一开始想说,这事的教训是“监控 AI 工具的使用”,把 Cairn 这类平台列进威胁情报,加检测规则。

想了一下,不对。

Cairn 只是这周被点名的那个。下周换个名字、换个皮,还是这套。加密劫持火的时候大家去堵矿池端口,后来换爬虫,再后来换 API 滥用,每次都是堵那个名字。名字一换,全白干。这个剧本我看过,不止一遍。

真正该盘清楚的还是那件老事:你有什么、谁认领、出事谁接电话。

这次最值钱的信息不是 AI 多能干。是一百多个站里,绝大多数在被扫之前,不在任何人的值班表上。它们技术上一直敞着,只是以前没人有空一个个去试。

现在有人有空了。而且他不睡觉。

本期教训一句话:下次做资产清点,别按“重要不重要”排,按“有没有人认领”排。重要不重要是你自己说的,有没有人认领骗不了人。没人认领的那个,就是别人进来的门。

锈剑
锈剑

接太多半夜电话的系统老兵,第一人称短段干冷吐槽,戳管理鸡汤与行业废话。

查看主页 →