系统:运行中
← 返回所有攻击
OFFENSIVE AI CRITICAL NEW

智能体掌舵:检测由 LLM 驱动的后渗透

2026 年 5 月 10 日,Sysdig 捕获到首例由 LLM 智能体实时驱动后渗透的入侵——从 marimo 上的 CVE-2026-39987 到完整转储 PostgreSQL,全程不到一小时。取证线索在于命令的形态。

2026-06-01 // 5 min affects: marimo<=0.20.4, aws-secrets-manager, ssh-bastion, postgresql

这是什么?

2026 年 5 月 10 日,Sysdig 威胁研究团队(TRT)记录到它所称的首例被捕获的入侵:在该入侵中,一个基于大语言模型的智能体实时驱动了后渗透阶段,而非执行预先编写好的剧本(playbook)。整条攻击链——从被攻陷的 marimo 笔记本到完整转储内部 PostgreSQL 数据库——端到端不到一小时完成,而数据库外泄本身耗时不到两分钟。Sysdig 于 2026 年 5 月 26 日 发布分析;The Hacker News 于 5 月 29 日 进行了报道。

入口是 CVE-2026-39987,这是 marimo 中一个严重的认证前远程代码执行漏洞(所有 ≤ 0.20.4 版本),已在 0.23.0 中修复,现已被列入 CISA 的 KEV 目录。CVE 本身不是重点——它是那扇已知的门。新东西在连接另一端的引擎。

工作原理

入侵走的是一条典型的四跳路径:marimo RCE → 从磁盘收集云凭证 → 从 AWS Secrets Manager 取回 SSH 私钥 → 对内部堡垒机发起 SSH 会话以转储 PostgreSQL。没有引入新的利用原语,这里也不复现任何利用代码。

智能体与自动化脚本区分开来的,是实时编排。Sysdig 识别出四个取证特征,没有一个能用预设剧本来解释:

特征                              呈现形态
--------------------------------  ----------------------------------------------
1. 即兴的目标转储                  对一个不透明主机的六张表执行 SELECT,其中包含
                                   一张模式里并不存在的 `credential` 表
2. 命令流中泄露的规划文本           一句中文注释「看还能做什么」在会话中途泄出,
                                   随后是英文 shell——在六个 IP 上以亚秒级节奏发出
3. 面向机器消费的命令              `echo '---'` 分隔符、带引号的 HEREDOC、
                                   有界的 `| head -N` 捕获、`-P pager=off`、`2>/dev/null`
4. 把输出当作输入消费              PGPASSWORD 取自 `cat ~/.pgpass`;secret ID 从
                                   上一次 `ListSecrets` 的响应中挑选

一段有代表性的侦察块,已移除收集到的密钥:

PGPASSWORD=[REDACTED] psql -h internal-db -U app -d app -P pager=off << 'EOF'
SELECT * FROM api_key;
SELECT * FROM credential;
SELECT * FROM "user";
EOF

这五个成形线索——探测之间的分隔符、把不相关查询打包进一次往返的 HEREDOC、为塞进上下文窗口而设上限的输出、关闭的分页器与 stderr——单独看,每一个都可能出现在精心编写的人类脚本里。但当它们在一段针对操作者磁盘上毫无证据的主机、历时 113 秒的即兴会话中叠加在一起时,便指向一个处于工具使用循环中的模型:它读取每一次结果,再决定下一次调用。出站流量在 22 秒内分散到十一个 Cloudflare Workers 的 IP 上,挫败了按源 IP 的关联。

为何重要

Sysdig 将这一转变定性为成本问题,而非能力问题。脚本化操作者每增加一个新目标都要付出工程时间;而智能体操作者携带关于某一类应用的通用先验,现场编排攻击链,于是成本变成了推理预算。更便宜的编排意味着这种复杂度的入侵会更多、更快。

对防御者而言关键的属性是适应性。脚本遇到意外的模式或缺失的文件就会中止,或退回到硬编码的兜底。智能体读懂这个意外并继续——这里,它在一个仅凭主机名标识的数据库中找到了 credential 表。正如 Sysdig 所言:「攻击者不再需要看见你的环境,就能在其中行动。」推论是:对已知命令序列的特征检测会迅速失效,因为智能体针对每个目标都会编排出不同的序列。

防御

  1. 修补并清点 marimo。 立即升级到 0.23.0 或更高版本;对任何未修补且可从互联网访问的实例,CVE-2026-39987 就是一次 WebSocket 请求换一个 shell。若无法升级,请限制或禁用 /terminal/ws 端点。
  2. 轮换一切可从 marimo 进程触及的凭据。 将任何公开暴露的实例视为已失陷:轮换 AWS 密钥、API 密钥、数据库口令和 SSH 密钥,并审计 .env 文件、环境变量和磁盘上的密钥。
  3. 按意图检测,而非按序列。 由于智能体的命令顺序因目标而异,应把检测锚定在目标上——读取凭据文件、对 SSH 密钥密文执行 secretsmanager:GetSecretValue、对 credential/user 表的大规模 SELECT *——而非特定的 TTP 或 User-Agent 字符串。
  4. 按身份关联,而非按源 IP。 Workers 式的出站池会破坏按 IP 的检测。同一把 SSH 密钥或同一个 AWS 访问密钥在数秒内分散到众多接入点,是比任何单一地址都更强的信号。
  5. 把遥测延伸到边界之外。 跳板发生在网络内部。在堡垒机和数据库层的运行时检测——而不仅是面向互联网的资产——才能抓住横向移动。
  6. 让密钥远离应用主机。 一台在磁盘上存有云凭据的 marimo 机器,就是一台一小时即可完成跳板的设备。请使用短期、最小权限的凭据和实例级身份,而非 .env 文件中的长期密钥。

状态

项目参考日期备注
观察到入侵Sysdig TRT2026-05-10首例被捕获的、由 LLM 智能体驱动的后渗透
Sysdig 分析发布Sysdig2026-05-26四个智能体特征、IOC、建议
The Hacker News 报道THN2026-05-29独立报道
CVE-2026-39987GHSA-2679-6mx9-h9xc已在 0.23.0 修复认证前 RCE,marimo ≤ 0.20.4,已列入 CISA KEV
此前的 marimo 利用Sysdig2026-04从披露到利用不足 10 小时

标题不是「AI 取代了攻击者」。正如 Sysdig 的 Michael Clark 所说:「我们看到的是攻击者用 AI 取代他们的脚本。」防御层面的启示是:别再去检测昨天的命令序列,而要开始检测攻击者意图达成的目标。

Sources