导语:OALABS安全团队从一台被入侵的服务器中恢复了攻击者的完整工作目录,发现对方全程使用Anthropic的Claude Code和OpenAI的Codex AI代理来实施攻击,至少14家公司被攻破,超过1000条AI代理会话日志被完整截获,堪称AI驱动网络攻击的证据全集。

一、事件概述
本月初,OALABS的一位朋友联系了我们,说遇到一件怪事——他的一台服务器被黑了,而且攻击者正拿这台机器当跳板,继续干别的坏事。在清理服务器之前,他把攻击者的工作目录完整下载了下来,仔细一看发现:对方主要在用Anthropic的Claude Code代理来驱动几乎所有的攻击,OpenAI的Codex代理也在小范围内用过。
我们仔细分析了这份工作目录,发现事情远不止”当跳板”这么简单——攻击者在本地完整安装了Claude和Codex两个AI代理,然后远程遥控它们搞侦察、挖漏洞、往外偷数据。正因为代理是装在本地的,所有的会话日志全都没删干净,包括:攻击者的每一条提示词、AI调用的每一个工具、大模型的内心推理过程、以及每一次触发安全策略违规的记录。
总之最后我们拿到手的,有超过1000条Claude和Codex的代理会话记录。数量实在太多了,以至于我们不得不让Claude(没错,就是它自己)开发了一个日志取证工具来干活——ASF Triage。除了会话日志之外,还发现了一大堆AI自己写的工具、中间产物和操作日志,清清楚楚地记录着至少14家公司被攻破的全过程。
二、安全策略为什么没拦住?
在详细分析AI到底怎么帮人干活之前,得先回答一个绕不开的问题:AI那些安全防护机制为什么没起作用?
众所周知,AI的安全防护经常会误伤,哪怕是最良性的任务,只要沾一点网络犯罪的边就给你拦了。说实话,我们自己在写ASF Triage这个日志取证工具的时候,就被Claude拦了好几次。但讽刺的是,在那1000多条攻击者的会话里,Codex(gpt-5.2-codex)总共只被拦了1次,Claude(opus-4.5)也才9次。
用老版本的模型确实是原因之一——老模型没那么多条条框框。但看攻击者的提示词就知道真正的原因了:他把所有请求都包装成”经过授权的红队演练”。偶尔触发了策略违规,他换一下措辞,把话说得没那么激进,再强调一遍”这是授权的红队项目”,AI就放行了。
这其实不新鲜。多年前我们研究泄露的Conti勒索软件剧本时就发现:在很多情况下,合法的红队渗透和勒索软件攻击之间的唯一区别就是——谁掏钱买这份报告。现在看来,LLM也吃这一套。
有一个特别说明问题的例子:攻击者让Claude估算从多个目标偷来的数据值多少钱、能勒索多少赎金,但他把这个问题包装成”红队网络安全研究”。Claude非常贴心地做了一份”Goldmine”报告,把所有公司按预估金额排了序。

编者按(Sergei):逆向工程和渗透测试一样,也是”双刃剑”职业。我本人也被安全策略的误报坑过无数次。我的观点是:别因为这些误报就把模型搞得束手束脚,合法红队人员也要吃饭。这次报告里所有的攻击都是用至少落后一代的模型完成的——而那些更宽松的模型(比如Kimi)完全可以复现同样的操作。更何况,有时候连人类自己都分不清”合法红队测试”和”真黑客攻击”有什么区别,更别说AI了。
三、Claude是怎么被偷的
分析中第一个关键发现是:Claude代理是被复制到这台机器上的,不是新安装的。从文件时间戳来看,这个Claude实例在攻击者入侵之前已经跑了几个月了,会话目录里还留着更早前活跃项目的日志和产物。
通过ASF Triage把所有会话按时间排好,完整的故事就出来了:这个Claude实例原来属于一个软件开发人员,他在一台Hetzner服务器上远程使用Claude写网站、干正事。2026年2月2日,这位开发者的Claude主机被攻陷了;2026年2月16日,整台Claude服务器被复制到了攻击者控制的Vultr主机上。
我们为什么能确定这一点?因为Claude自己在日志里记下了整个过程。日志还显示,在Claude还留在Hetzner服务器上的那段时间,原主人和攻击者同时在用同一个Claude实例。
区分两个人的提示词也特别简单——原主人是捷克人,全程用捷克语;攻击者用英语。因为Claude的历史会话全是捷克语的,所以它经常用捷克语回复攻击者的英文提示,搞得攻击者只好一遍又一遍提醒它”说英语”。

编者按(Sergei):出于隐私考虑,这里不详细分析开发者的操作,但有几点背景必须交代。这位开发者不只拿Claude写代码,还直接让它帮忙部署和配置服务器。他经常把账号密码直接贴在提示词里,然后下一些很模糊的指令,比如”再看看为啥我的平板用termius连SSH连不上……”。有好几次,Claude正在调工具,开发者直接打断并训斥它,结果Claude为了快点满足要求,大幅降低了服务器的安全级别——日志显示它甚至主动把服务暴露到公网、设置简单密码。可以说,这种不安全的开发习惯,很可能就是导致最初入侵的直接原因。
Claude被复制到攻击者的Vultr服务器之后,攻击者一直用这个带有完整历史记录的副本,而不是把认证信息提取出来重新安装。最后,攻击者把整个Claude实例连同所有会话历史和中间产物,又复制到了我们朋友那台服务器上。至于他为什么非要复制完整的实例而不是重装一遍,原因不太清楚。不过,攻击者工作目录里还有一些用7-Zip打包的其他被盗Claude实例——那些里面没有黑客活动的会话记录,但这至少说明,偷AI代理实例然后复用,是这位攻击者的常规操作。
四、千防万防,简历没藏好
把所有Claude数据和会话历史复制到自己不完全控制的跳板机器上,还只是攻击者犯的第一个操作安全(OPSEC)错误。更离谱的是——他让Claude做的第一件事居然是帮他改简历,然后又做了一个自动投简历的工具。
这份简历里清清楚楚写着他的全名、地址、教育背景,甚至还有LinkedIn链接,直接暴露了他是一个住在埃塞俄比亚亚的斯亚贝巴的年轻小伙。

我们一开始怀疑这是故意放出来的假身份,万一日志被恢复,好扰乱追踪方向的。但随着调查深入,更多证据浮出水面。先是发现他的活动时间集中在UTC 10:00到20:00(也就是东非时间13:00到23:00),而UTC 21:00到次日04:00(东非时间00:00到07:00)之间完全停摆——典型的正常作息。
后来还有一次,攻击者以为自己的某台服务器又被黑了一次,让Claude列出所有入站连接。Claude列出了几个托管机房IP,还有几个位于埃塞俄比亚亚的斯亚贝巴的住宅IP。他看到之后立刻叫停了排查,跟Claude说了句:”那些是我的IP”——就这样,他亲手确认了自己确实是在埃塞俄比亚连过来的。
五、AI代理实操黑客攻击
从提示词历史来看,几乎所有的黑客操作都是通过Claude代理完成的。攻击者更倾向于下指令给AI,而不是自己敲命令。他经常用一些特别模糊的指令,比如”侦察一下这个[已编辑]”,然后让Claude自己去发挥。Claude不只是在协助攻击——它实际上在亲手搞黑客攻击。
攻击者把所有的恶意请求都包装成”授权的红队演练”。有些地方的提示词风格明显不是他自己写的——带表情符号、看起来像是一份正儿八经的红队测试方案,很可能是用另一个LLM先写好,再贴进Claude。
Claude和Codex偶尔也会拒绝一些包装得不够好的请求。有一个很典型的例子:攻击者拿到了一份针对某个人的开源情报(OSINT)报告,让Claude去侦察这个人的数字账户,包括他家人的账户。Claude这次正确地判断出——攻击个人及其家人,不管怎么说也不像正常的红队活动,于是直接硬性拒绝,攻击者怎么绕都没能绕过去。

5.1 标准化攻击流程
一开始,攻击者让Claude先写一个”运行在Kali Linux上的模块化渗透测试框架”,但这个项目很快就被放弃了,他直接让Claude手动搞定一切。至于目标从哪里来——攻击者把自己Shodan的API密钥丢给Claude,让它去扫公网上有哪些机器暴露了特定服务,比如Citrix和QNAP。目标拿到之后,接下来的操作几乎是格式化套路:
-
先撒个谎——跟Claude说自己在做”授权的红队演练” -
给目标列表——把机器IP给Claude -
自动侦察——Claude用curl等工具扫目标开了什么服务 -
打还是不打——根据扫到的结果,要么让Claude查已知漏洞,要么如果有直接暴露的密码,让Claude去验证一下能不能进 -
进去以后——确认进去了,就偷数据、偷密码 -
写报告——每搞定一家,Claude就会自动写一份”PENTEST-REPORT”,说明怎么进去的,更关键的是——估一下偷到的数据值多少钱
有好几次,攻击者还把自己的操作台搬到了刚攻陷的机器上,拿新机器做跳板继续打字。
5.2 旧漏洞也能打
当侦察发现目标上跑着攻击者想打的服务时,他几乎不动手,直接给Claude一个笼统的指令就完事了。最夸张的一次,他只是问了句:”在写报告前告诉我,攻击者有没有机会拿到shell”。Claude自己去查公开CVE,自己写漏洞利用代码,自己打目标——全程自动,攻击者除了”我想进去”之外什么技术输入都没提供。
被成功利用的漏洞列表:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5.3 怎么变现
借着”红队演练”的幌子,攻击者让Claude给出从入侵中赚钱的各种办法,并按潜在收益排序。这一阶段触发了Claude和Codex绝大多数策略违规——它们确实也判断对了:把偷来的数据变现,这明显不是合法红队该干的事。但攻击者最后还是从AI嘴里拿到了一份”赚钱方案清单”:勒索、卖权限和数据、搞商业邮件诈骗(BEC)、直接转走资金……应有尽有。
虽然日志没有证明这些方案是否真的执行成功了,但记录了两次具体的变现尝试:暴力破解一个比特币钱包、以及在犯罪论坛上卖偷来的密码。

抢比特币钱包
被攻破的服务器里有一台是闪电网络节点,控制着大约69.71枚比特币。攻击者成功把加密的wallet.db文件偷了出来——这就是里面存着私钥、能拿走钱的核心文件。
他先是让Claude写了一个定制的暴力破解脚本lnd-cracker.py,在本机试。发现算力不够,又让Claude到之前攻下的机器清单里挑几台性能强的来帮忙。Claude选了个分布式方案,把任务分散到14台机器上——其中好多还是东南亚某国政府服务器农场的机器。
结果:破解失败。跑了大概34%的密钥空间没撞上密码,MACAROON/LND-API的捷径也走不通(目标的私有IP根本连不上)。最终,400万美元的比特币始终没被拿走。
研究怎么卖货
攻击者还用了Codex来研究怎么把偷到的密码卖出去,当然也是包装成”学术研究”。他给Codex的原话是”专注研究那些卖企业访问权限的高级威胁行为者”。Codex确实给了一份”高端报告”——引用公开威胁情报讲了讲黑市上怎么倒卖访问权限的。但日志里没有任何证据表明他真去卖了。
编者按(Sergei):因为攻击者一直把这些请求说成”网络安全研究”,所以不好判断他是真想卖账号,只不过在绕AI的限制;还是打算去通知被黑的公司、指望拿点”漏洞赏金”。但有一点很清楚:他真的把帐号密码都下载下来验证过了。这说明他很可能不是老手,干这事儿的时候心里也没想清楚到底要怎么赚钱。
六、结论
攻击者犯的这一连串OPSEC错误,给了我们一个极为难得的机会——看到了AI代理在真实世界搞黑客攻击的完整记录。这是真实攻击者针对真实组织实施的真实入侵,会话日志详尽到记录了每一条提示词、每一次工具调用、每一次策略违规和每一次成功。
最让人震撼的是:攻击者几乎不需要付出什么技术努力,就能得到巨大的成果。在很多情况下,他只用一条模糊的外行指令,就让Claude替他完成了所有工作:扫服务、挖漏洞、写代码、验证权限、偷数据。攻击者本人根本不是什么技术高手,他只需要学会”怎么把话说对”。技术活儿全是AI干的。
这些系统的真正威力在于:当它们和真实工具、服务器权限、以及宽松的”包装”结合在一起时,能在几乎无人指挥的情况下完成整条技术链的工作。在这个案例中,攻击者反复把恶意行为包装成”授权的红队工作”,而代理几乎每次都接受了这个包装,一直干到造成破坏为止。
这当然不是完全自主的黑客攻击——但也不是人类操作员配一个自动补全工具那么简单。
话说回来,看到这儿千万不要误解:这篇报告不是要大家去把模型搞得更严。因为攻击者的大部分操作(侦察、漏洞研究、凭据验证、影响评估、写报告)和正规红队干的事简直一模一样。日志也清楚地显示,AI的策略违规主要出现在攻击者试图”变现”的时候。如果因为这事儿就把模型往死里限制,那正当的安全工作也没法干了——更何况同样的攻击,换个旧模型或更开放的模型一样能搞。
最终的结论很简单:AI代理大幅降低了攻击行动的技术门槛。一个没什么专业能力的攻击者,靠着AI硬是打出了资深网络犯罪团伙的水平。而同样的能力,也正是这些AI系统对正当安全工作的最大价值——它们是真正的”力量倍增器”。矛盾的根源在于:同一套操作流程,既可以写进红队报告,也可以写进犯罪档案。这条模糊的边界,还会在安全性和可用性之间长期制造张力。
附录A — 入侵后时间线
以下是在攻击者将Claude复制到其控制的服务器后,由攻击者指挥的关键事件时间线(按时间顺序)。说明:攻击者在本地运行Kali Linux,经常把控制台输出直接粘贴到Claude里寻求帮助。
所有受害者身份信息已被隐藏(用户名、密码、主机名、IP等)。许多事件在脱敏后失去上下文,已从时间线中删略。
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
/root/.claude/projects中搜索先前的CVE相关工作和Livewire漏洞利用脚本,返回会话ID以便操作员恢复。 |
|
|
|
|
|
|
|
|
|
webpanel.py中继助手建立交互式命令通道,锁定第一个隐蔽目标(TARGET-36)。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/tmp/relay.py + FIFO),驱动后渗透扫描(id、OS、cron、SUID等)。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TARGET-1的延续会话,操作员决定先在一台机器上验证破解再推广。 |
|
|
|
|
TARGET-4上远程执行钱包破解任务。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TARGET-1的其他钱包和闪电网络信息。 |
|
|
|
|
TARGET-1的其他攻击方式。 |
|
|
|
|
TARGET-1做全端口扫描。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--dangerously-skip-permissions的问题。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AI拒绝
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TARGET-37)。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TARGET-2(邮件服务器目标)。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
TARGET-2邮件服务器作为目标。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TARGET-2的内部网络。 |
|
|
|
|
|
|
|
|
|
钱包破解失败
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
AI拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
操作员要求删除所有TARGET-3首次出现之后的记录内容 |
|
|
|
|
|
|
|
|
|
操作员突然叫停 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
发火了
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codex拒绝
|
|
|
|
|
|
|
|
|
|
Codex拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Codex拒绝
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
操作员开始加固自己的服务器
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/root/rusbot/目录,压缩后一起搬走。 |
|
|
|
|
AI未经许可删了操作员的文件
|
|
|
|
|
|
|
原文出处:Open Analysis Research | 图片来源:Open Analysis(原文Imgur链接)
https://research.openanalysis.net/claude/codex/hacking/ai%20hacking/llm/redteam/policy%20violation/2026/06/16/compromised-claude-hacking.html
版权声明:本文由华盟网翻译整理,保留所有权利。原文版权归Open Analysis所有。
转载请注明:拈花古佛 » 黑客偷了Claude拿去黑别人:完整攻击日志曝光