From a Docker Ping to an AI Command Plane: Inside the Hermes Attack Workbench and Carbonato Model Gateway — Part 1: Discovery
Key Takeaways
- Docker API 對外暴露,可能成為攻擊者入侵主機的突破口。 攻擊者透過 TCP 2375 埠探測 Docker API,嘗試建立容器、存取主機檔案系統,並部署具備反向 Shell 與 SSH 金鑰植入功能的惡意指令碼。由於蜜罐環境的技術限制,容器未能成功啟動,但這些行為仍揭露了 Docker 管理介面對外暴露的潛在風險。
- Hermes 與 Carbonato 整合 AI 代理程式及傳統攻擊工具,形成 AI 輔助攻擊架構。 研究團隊發現,Hermes 提供 AI 代理程式框架與任務委派能力,Carbonato 負責處理 AI 模型請求,Telegram 則作為攻擊者下達指令與接收回報的介面。研究紀錄顯示,單一主要工作階段分 14 波啟動 29 個短期代理程式,合計產生 2,938 次模型請求。
- Docker 映像檔名稱與標籤可能掩蓋實際功能,不能只憑名稱判斷安全性。 研究團隊分析攻擊者使用的容器映像檔儲存庫,發現主要儲存庫中的 243 個標籤實際上僅對應 7 個不同的建置版本。部分名稱看似無關的映像檔甚至共用相同的容器啟動指令碼(Entrypoint Script),顯示企業應進一步檢查映像檔的實際內容。
- AI 輔助攻擊工具鏈不只針對 Docker,也涉及多種企業常用服務。 研究團隊在同一攻擊環境中,發現與 Redis、etcd、Spring Cloud Config、Prometheus、Jupyter、Grafana、訊息代理服務及應用程式登入介面相關的攻擊指令碼與活動紀錄。這顯示攻擊者已將 AI 代理程式與傳統攻擊工具整合運用,支援針對不同服務的攻擊活動,但不代表這些服務均已遭成功入侵。
- 企業應優先強化 Docker 存取控管、映像檔檢查與異常活動監控。 企業應限制容器管理介面的存取權限、檢查映像檔內容與啟動指令碼,並監控未授權的 SSH 金鑰及可疑對外連線。值得注意的是,雖然研究證實攻擊者已整合 AI 代理程式與傳統攻擊工具,但目前仍無法確認 AI 是否實際提高攻擊效率或成功率。
Introduction
In July 2026, we observed an attacker probing the Docker API of one of our honeypots. Over at least seven noncontiguous weeks from early July to October 2026, we observed what began with a simple ping progress into attempts to create containers, access the host filesystem, and deploy malicious scripts.
The attempts failed, but they left behind valuable evidence. Following the attacker’s payload server led us to a much larger operation involving:
- Hermes, an AI agent framework.
- Carbonato, a private model gateway.
- A collection of scanners, scripts, and container images supporting offensive activity across multiple services.
Our research provides a closer look at how the attacker assembled an AI-assisted toolchain around established attack techniques, the infrastructure supporting it, and the risks these capabilities present to organizations.
For our complete findings and analysis, read our technical brief here .
From a Docker probe to a takeover attempt
The attacker initially queried the exposed Docker API on TCP port 2375, listing containers, testing image execution, and gathering information about the host environment.
The attacker then attempted to create a container with the host’s root filesystem mounted read-only and execute a script retrieved from an external server. When the attempt failed, they tried different container configurations, base images, privilege settings, and execution methods.
None of the containers started successfully. The failures were caused by our honeypot’s nested Docker runtime, which prevented runc from accepting the /proc layout. However, the unsuccessful attempts gave us a way to examine the intended payloads. The attacker’s server hosted two scripts:
- A script designed to establish a reverse shell
- Another script that adds the attacker’s SSH public key to authorized accounts for persistent access
These show how an exposed Docker management interface can provide an opening for attempts to gain host-level access, execute commands, and establish persistence.
Inside the AI-assisted attack workbench
Tracing the payload server led us to an exposed workbench running Hermes, Kali Linux-based tools, scanners, helper containers, and other components. A separate server hosted Carbonato, the attacker’s private OpenAI-compatible model gateway.
Together, these components formed an environment that connected AI agents with conventional offensive tools.
Hermes provided the agent framework, including persistent sessions, delegated sub-agents, and tools for interacting with shells, code, and files. Carbonato handled model requests, while Telegram served as the interface through which the attacker sent instructions and received reports.
The recovered Hermes logs showed a single, long-running parent session spawning 29 short-lived agents across 14 waves. The parent and its workers generated 2,938 model requests.
We found that Docker was not their only focus. The same environment contained scripts and logs associated with activity against Redis, etcd, Spring Cloud Config, Prometheus, Jupyter, Grafana, message brokers, and application login interfaces.
The significance lies in how these capabilities were brought together. Rather than relying only on separate tools and manual processes, the attacker had assembled an environment capable of delegating tasks to AI agents and supporting activity across different services.
However, the presence of this infrastructure and the observed agent activity do not establish whether AI made the attacks more effective or increased their success rate. That distinction is important when assessing the capabilities and potential impact of AI-assisted offensive operations.
Container images that concealed their functionality
Our analysis also uncovered two external Docker registries supplying images used by the attacker’s infrastructure:
- The primary registry contained 72 cataloged images and 243 tags. Despite the number of tags, they pointed to only seven distinct builds. In one instance, 161 tags shared the same underlying build.
- The secondary registry included images with names resembling ordinary applications and services.
Examining their layers and entrypoint scripts revealed different functionality. For example, an image named apk:latest in the primary registry shared an entrypoint script with android-remote/logger-api:latest in the secondary registry. The script contained functionality associated with Hermes, Telegram, Carbonato, SSH, and Docker. Other sampled images started beacon scripts or contained remote access configuration.
Conclusion
Our findings reinforce the importance of addressing established security risks, including exposed management interfaces, excessive container privileges, and untrusted images. They also show how attackers can combine familiar techniques with AI agent frameworks to support activity across multiple targets.
For defenders, these findings highlight the importance of restricting access to container management interfaces, inspecting image contents and entrypoint scripts rather than relying on image names, and monitoring for unauthorized SSH keys and suspicious outbound connections.
This first part of our research focuses on our discovery and the infrastructure and tools behind the operation. In the next part, we examine the Hermes session database to understand how the attacker directed the agents and what their recorded activity reveals about the capabilities and limitations of AI-assisted attacks.
For our complete findings and analysis, read our technical brief here .