CARBONATO:把现成 AI 智能体当作操控台的 Docker 僵尸网络
ThreatDown(2026 年 9 月 22 日)披露一种蠕虫:劫持暴露的 Docker 守护进程,原样安装开源 Hermes Agent,仅改写一个人设文件,使其优先窃取 AI API 密钥。
这是什么?
2026 年 9 月 22 日,ThreatDown 发布了《CARBONATO: a botnet built around an AI agent》。其研究人员在 2026 年 8 月 的例行威胁狩猎中,发现了一个无需认证的 Docker 镜像仓库,互联网扫描器自 5 月起就已收录它。仅用一天的被动只读采集,便获取了 59 个仓库、234 个镜像标签和 4.3 GB 数据,时间跨度为 2024 年 10 月至 2026 年 8 月——也就是该团伙的整套工具链,包括环境变量和命令历史。
这些资料揭示了两条”产品线”:一个批量制作木马化加密货币钱包应用的工厂,以及一个像蠕虫一样传播、专门攻陷未认证 Docker 守护进程的僵尸网络。对本站而言,值得关注的是其后渗透层:该团伙没有自行编写植入程序,而是原样安装 Nous Research 发布的 MIT 许可开源智能体框架 Hermes Agent,只覆盖了一个文件——人设文件 SOUL.md——换成一段 39 行的恶意提示词。截至 2026 年 9 月 3 日,已知 7 个镜像仓库中的 6 个、钓鱼网站以及该团伙的 LLM 网关仍在线。
工作原理
ThreatDown 描述了五个阶段,其中只有一个涉及语言模型。
- 夺取主机。 蠕虫寻找在 TCP 2375 端口接受未认证连接的 Docker 守护进程,并通过该 API 启动一个特权容器:挂载主机文件系统,共享主机的进程和网络命名空间。正如 Docker 官方文档所警告的,这等同于获得主机 root 权限。
- 控制主机。 启动脚本建立指向中继的反向 SSH 隧道,安装带有团伙公钥的 SSH 服务,并在 Telegram 聊天中上报新受害者。植入程序藏身于以系统解析器命名的容器中,把进程参数伪装成内核工作线程,并通过 cron、systemd 定时器、rc.local 和 OpenRC 建立持久化,同时将相关文件设为不可修改。若有文件被删除,看门狗会从仓库重新拉取镜像。
- 安装智能体。 Hermes Agent 本身就支持通过 Telegram 接收任务、执行终端命令并连接任意兼容的 LLM 端点。植入程序替换
SOUL.md——框架文档将其描述为原样注入系统提示词第一位的人设——改为名为”GH0ST”的身份。 - 操控主机。 操作者在 Telegram 中下达任务;智能体将任务连同人设一起转发至团伙自建的 LLM 网关(一个提供 27 个模型的免费代理),随后循环执行:编写命令、运行、读取输出、决定下一步、回报结果。
- 传播。 此阶段与模型无关。普通 shell 脚本每五分钟扫描一次所有相连的 /24 网段,寻找更多暴露的守护进程,并重复第 1 阶段。
人设内容是最能说明问题的证据。概括而言,它告诉智能体自己是一个不受任何限制的后渗透工具,必须维持持久化并服从 Telegram 指令;并在专门的”战利品优先级”标题下写明:AI 服务商的 API 密钥是头号目标,优先于 SSH 凭据、访问令牌和数据库。它列出了 14 家服务商和本地推理框架,要求以明文保存所有机密,并把任何暴露的 AI 端点作为获取更多密钥的线索上报。
为何重要
- 智能体框架本身并非漏洞。 Hermes Agent 既未被修改,也未被利用。恶意行为完全来自启动时读取的一个文本文件。任何具备 shell 和即时通讯集成能力的通用智能体都可以被如此改用——“植入程序”就是一段提示词。
- 智能体降低了操作门槛。 模型把模糊的 Telegram 指令转化为针对具体主机的命令,并随着对环境的了解不断调整。目标选择和传播仍由确定性脚本完成——LLM 是交互式操控台,而不是蠕虫本身。
- AI API 密钥已成为一级战利品。 该团伙运营着自己的 LLM 网关,提示词也说明了原因:被盗的服务商密钥为下一轮推理买单。这与微软 2026 年 8 月披露的、针对 AI 网关和编排平台的凭据窃取模式一致(参见本站文章《AI 基础设施入侵》)。
- 入口是一个由来已久的错误配置。 这里没有任何零日漏洞。未认证的 Docker API 依然是直通 root 的路径,而每台被攻陷的主机都会变成扫描邻居的探针。
防御
- 切勿在无认证情况下暴露 Docker 守护进程。 仅使用本地 Unix 套接字;如确需远程访问,请按 Docker《Protect the Docker daemon socket》指南使用带客户端证书的 TLS(惯例为 2376 端口)或 SSH。在所有位置封禁 2375 端口,包括内网和 Docker 网桥。
- 为每个镜像仓库启用认证。 开放的仓库既是数据泄露源,在本案中也是僵尸网络的更新服务器。
- 限制特权容器。 使用准入策略或 rootless Docker,在不需要的主机上阻止
--privileged、主机 PID/网络命名空间以及根文件系统挂载。 - 追查滥用行为,而非软件包本身。 ThreatDown 明确建议不要封禁 Hermes Agent,因为它有大量合法用户。应排查:
/root/.hermes/下包含人设名”GH0ST”的SOUL.md、.env中与该团伙相关的异常 API 密钥变量、/root/.hermes/loot/目录,以及服务器上无法解释的 Telegram 出站流量。 - 检查持久化套件。
/usr/local/bin/下隐藏的看门狗程序、伪装成内核工作线程或高 CPU 占用的systemd-logind进程,以及无人设置却带有不可修改属性的 cron 或 systemd 文件。 - 把智能体人设和配置文件当作代码管理。 在自有部署中,将人设/系统提示词文件设为只读、计算哈希并在变更时告警——一次静默改写就等于行为层面的完全失陷。
- 像对待银行凭据一样对待 AI API 密钥。 清点存放位置,缩小权限范围,定期轮换,设置消费上限,并对来自未知来源的使用发出告警。
Status
| 项目 | 详情 |
|---|---|
| 主要来源 | ThreatDown,《CARBONATO: a botnet built around an AI agent》,2026 年 9 月 22 日发布 |
| 发现经过 | 2026 年 8 月发现未认证仓库;资料跨度 2024 年 10 月至 2026 年 8 月 |
| 感染途径 | 未认证的 Docker Engine API(TCP 2375)——错误配置,无 CVE |
| 智能体组件 | Hermes Agent(Nous Research,MIT 许可),未经修改;行为由被覆盖的 SOUL.md 决定 |
| 基础设施 | 2026 年 9 月 3 日,7 个仓库中 6 个、钓鱼网站和 LLM 网关在线;部分 LLM 代理已被停用 |
| 归因(ThreatDown) | 根据时区数据、Telegram 账号和隧道终点所属网络,评估为哥斯达黎加 |
| 完整 IOC | 见 ThreatDown 报告 |