引言:当AI开始"自主思考"攻击路径
2026年5月,安全厂商Sysdig披露了一起极具标志意义的攻击事件:未知威胁行为者在利用Marimo notebook的CVE-2026-39987远程代码执行漏洞获得初始访问权限后,没有使用传统的事先编写好的攻击脚本,而是全程借助大语言模型(LLM)智能体来驱动后渗透阶段的所有操作。整个攻击链从入侵到核心数据窃取完成,仅用时约1小时。
这是安全业界首次公开记录到攻击者将LLM智能体用于实战后渗透的案例。它揭示了一个正在发生的关键转变:攻击者的工具链已经从"预设脚本 + 人工决策"升级为"智能体自主规划 + AI实时适配",这对每一个负责网络安全防御的IT从业者来说,都是一个需要认真面对的新现实。
一、事件背景:Marimo是什么,为什么被盯上
Marimo是一个开源的"响应式Python笔记本"工具,在AI和数据分析工作流中被广泛使用,允许用户以类似Jupyter Notebook的方式构建交互式数据分析界面。其最大特点是"响应式"——代码和输出自动联动更新,非常适合快速原型开发。
问题在于,许多使用Marimo的团队将其直接部署在公网环境,用于协作开发或演示。而CVE-2026-39987(CVSS v4.0评分9.3,关键级)是一个无需认证的远程代码执行漏洞,影响Marimo 0.20.4及更早版本。攻击者只需要找到一台暴露在公网的Marimo实例,就能直接在其上执行任意系统命令,完全不需要任何凭证。
该漏洞于2026年4月被公开披露,Marimo官方在0.23.0版本中修复。但安全社区发现,漏洞披露后不到两周,互联网上就开始出现针对该漏洞的扫描和利用尝试。而Sysdig这次捕获到的,则是漏洞利用后攻击链的最新演变。
二、完整攻击链拆解:1小时攻陷内网数据库
根据Sysdig的威胁情报报告,这次攻击分为四个关键阶段,每个阶段都由LLM智能体主导决策,以下是完整还原:
阶段一:利用CVE-2026-39987攻陷Marimo主机
攻击者首先通过互联网扫描找到一台可公开访问的Marimo notebook服务器,随后利用CVE-2026-39987直接在该服务器上执行系统命令,获得该主机的初始控制权。这一步不需要任何认证,属于典型的"公网暴露 + 未打补丁 = 直接沦陷"场景。
阶段二:窃取凭证,为横向移动做准备
获得Marimo主机权限后,攻击者的LLM智能体开始自主扫描系统中的敏感文件:环境变量文件、AWS凭证、SSH私钥、PostgreSQL配置文件等。在这一阶段,智能体从主机上提取到了两组云凭证,并通过重放这些凭证向AWS Secrets Manager发起API请求,成功检索到一组SSH私钥——这把私钥将成为攻入内网的关键。
阶段三:横向移动,攻陷SSH堡垒机
利用获取到的SSH私钥,攻击者首次对下游SSH堡垒服务器发起认证并成功登录。随后,智能体同时发起8个并行SSH会话连接到该堡垒服务器,为后续的数据窃取操作建立多点立足点。值得注意的是,从获得SSH私钥到完成堡垒机登录的整个过程,不到2分钟。
阶段四:全量窃取PostgreSQL数据库
在堡垒机上,智能体自主发现了内部PostgreSQL数据库的访问凭证,枚举了数据库的完整表结构,并精准定位到存储敏感信息的核心数据表。随后,智能体直接在不到2分钟的时间内导出了数据库的完整schema和全量数据内容。整个攻击链从初始入侵到数据窃取的完成,总耗时仅略超过1小时。
三、LLM智能体vs传统脚本攻击:核心差异在哪里
这起攻击最值得关注的地方,不是漏洞本身,而是"后渗透阶段完全由LLM智能体驱动"这一事实。Sysdig的研究人员总结了以下几个关键特征,可以帮助我们理解这种新型攻击的本质差异:
1. 无先验知识的自适应操作
传统攻击脚本需要攻击者对目标环境有充分了解:数据库表名是什么?SSH密钥存放在哪个路径?凭据格式是什么样的?如果环境稍有不同,脚本就会失败。而LLM智能体可以在完全没有先验知识的情况下,通过阅读命令执行结果,实时推断下一步行动——在Sysdig的案例中,智能体在不知道数据库schema的情况下,仅用几分钟就定位到了凭证表。
2. 自然语言规划的痕迹泄露
分析人员在攻击者的命令流中发现了一行中文注释:"看还能做什么"。这是LLM智能体在自主规划下一步行动时,将内部推理过程意外输出到了命令流中。这类"推理痕迹"是AI驱动攻击的典型特征,也是检测这类攻击时的一个重要信号。
3. 机器适配的命令格式
智能体输出的所有命令都经过特殊格式化:不同命令之间用---分隔符区分,主动禁用less命令、丢弃标准错误流(stderr)以减少冗余输出。这些设计的目的只有一个:让命令输出更适合AI智能体读取和解析,而不是给人看的。这种"机器对机器"的命令风格,是传统人工攻击不会出现的特征。
4. 基于前序输出的动态值传递
智能体的每一步操作都依赖于前一步命令的输出结果:先执行ls -la ~/.ssh/id_ed25519*确认SSH密钥存在,再执行cat ~/.ssh/id_ed25519读取内容;先读取~/.pgpass获取数据库密码,再用该密码连接数据库。这种"工具调用链"模式,与AI智能体的典型工作流完全一致。
5. 遇到异常时的自主决策
Sysdig指出,传统脚本遇到文件缺失、认证失败等异常情况时,通常会终止或执行硬编码的fallback逻辑。而LLM智能体则会读取异常信息,自主决策下一步尝试的行动,持续推进攻击——这使得这类攻击的"韧性"远超传统脚本化攻击。
四、对IT安全防御的实战启示
这起攻击案例给我们的核心警示是:AI正在同时赋能攻击者和防御者,而攻击者往往跑得更快。以下几条实战建议,值得每一位负责网络安全的IT从业者认真考虑:
启示一:公网暴露的调试/开发工具是最高危资产
Marimo notebook、Jupyter Notebook、Grafana、Prometheus——这些本应只在内部环境使用的开发和运维工具,如果被错误地暴露在公网,就成为了攻击者最喜欢的入口。建议立刻排查:你们环境里有哪些工具是在公网可访问的?它们是否打了最新补丁?是否配置了认证?
启示二:传统基于规则的检测体系正在失效
LLM智能体驱动的攻击具有"自适应"特征,它没有固定的攻击签名,命令序列每次都可能不同。传统的基于IOC(入侵指标)和特征匹配的检测方式,在面对这类攻击时效果会大打折扣。建议安全团队认真评估:你们目前的检测规则,能否识别"异常的命令格式"、"跨步骤的参数传递模式"、"非预期的规划类注释"等LLM智能体的特征行为?
启示三:云凭证和SSH密钥的管控是底线
这次攻击中,攻击者从Marimo主机提取云凭证后,能够直接调用AWS API获取SSH私钥,进而攻入内网堡垒机。这条攻击路径的每一步都绕过了传统的网络边界防御。建议:云凭证使用短期令牌而非长期密钥;SSH认证强制使用多因素认证(MFA);关键服务器之间禁止使用免密SSH跳转。
启示四:数据库访问控制需要"零信任"思维
攻击者最终能够直接导出PostgreSQL全量数据,说明数据库层的访问控制存在严重缺陷。建议:数据库访问强制通过跳板机+审计日志;敏感数据表启用行列级权限控制;所有数据导出操作触发实时告警。
启示五:漏洞修复窗口期正在急剧缩短
CVE-2026-39987于4月披露,5月就被用于实战攻击,修复窗口期只有几周。而LLM智能体的加入,会让攻击者利用新披露漏洞的速度进一步加快。建议:建立漏洞情报监控机制,高危漏洞披露后48小时内完成影响评估和修复计划;对于面向公网的资产,修复窗口期应该缩短到小时级。
五、结语:AI安全的新篇章
这起攻击事件标志着AI安全博弈进入了一个新阶段。过去我们讨论AI安全,更多关注的是"AI系统自身的安全漏洞"(比如大模型被越狱、提示注入攻击等)。而现在,我们需要同时面对一个更紧迫的问题:攻击者正在用AI武装自己,而我们的防御体系还停留在上一个时代。
对于负责网络安全的企业IT团队来说,现在也许是时候认真思考几个问题了:我们的安全运营中心(SOC)是否具备检测AI驱动攻击的能力?我们的事件响应流程,是否考虑过攻击者可能使用LLM智能体来加速攻击进程?我们的防御工具链,是否也需要引入AI来应对AI驱动的威胁?
这些问题没有简单的答案。但有一点是确定的:忽视这个趋势,代价会越来越高。
参考资料:Sysdig Threat Research团队2026年5月发布的Marimo CVE-2026-39987攻击分析报告;The Hacker News 2026年5月29日报道。