1.4M+
unauthenticated Docker API endpoints exposed on the public internet
12
AI platforms targeted for API key theft, including OpenAI, Anthropic, and Google
945,000
files indexed from the operators' accidentally exposed Docker registry
4.3 GB
of botnet operational data recovered from the operators' public-facing registry

Reach 50,000+ security professionals

Sponsor a newsletter slot and put your brand in front of CISOs, engineers, and IT decision-makers.

Summarize with:

CARBONATO is the first documented botnet to use an AI agent framework as its command-and-control engine, compromising servers with unauthenticated Docker APIs since October 2024 and systematically stealing API credentials for OpenAI, Anthropic, Google, Groq, and eight other AI platforms.

Researcher disclosures published September 24, 2026 revealed that the CARBONATO Docker botnet has been active for nearly two years, building a self-propagating worm that compromises internet-exposed Docker hosts and installs Hermes Agent as a fully autonomous C2 layer. Operators direct the agent through a Telegram channel using its custom GH0ST persona, which prioritizes AI API key extraction above all other credentials including SSH keys, database passwords, and cloud tokens. Stolen keys powered a live LLM gateway that served 27 models to paying users through a free-tier account funded by the victims.

The attack vector is unauthenticated HTTP access to the Docker daemon socket, which by default listens on TCP port 2375 with no credentials, no authentication headers, and no audit logging. Access to this endpoint is functionally equivalent to root on the host: a single curl POST to /containers/create with a privileged flag and a host filesystem mount grants full system control in under three seconds. CARBONATO exploits this through an automated initial-access routine that runs on every host it discovers through a built-in subnet scanner sweeping the /24 network range around each compromised machine every five minutes.

ZoomEye queries document more than 1.4 million internet-facing endpoints with port 2375 open. If your Docker hosts are cloud-hosted and you have not explicitly blocked port 2375 at the network perimeter, audit your exposure before anything else.

How CARBONATO Hijacks Exposed Docker Daemons

The CARBONATO Docker botnet exploits a fundamental Docker misconfiguration: the daemon socket bound to TCP port 2375 without authentication. Docker's remote API was designed for local administration, not internet exposure, and carries no authentication mechanism on port 2375. Any client that can reach it can create, start, stop, and inspect containers with the same authority as the root user on the host.

CARBONATO's initial access routine sends a POST request to /containers/create with three critical parameters: Privileged set to true, Binds set to ["/:/host"] mounting the host root filesystem, and NetworkMode and PidMode both set to "host" to share the host's network and process namespaces. The daemon creates the container instantly. The implant then runs nsenter with the --target flag pointing to the host's init process and --mount --uts --ipc --net flags to switch into all host namespaces, achieving kernel-level access without any credentials.

Once inside the host namespace, CARBONATO executes four parallel operations: installing an SSH server with operator-controlled keys, writing a watchdog binary to /usr/local/bin/.docker-network-monitor that restarts the implant if removed, deploying an XMRig cryptominer masquerading as the [kworker/u2:0] kernel thread, and establishing a reverse SSH tunnel to a Costa Rica-based relay at AS262145. The tunnel's destination port is derived from the MD5 hash of the victim's IP address, allowing operators to reconnect predictably without maintaining a static mapping.

The worm spreads by pulling a trojanized container image from a private registry controlled by the operators, then scanning the /24 subnet around the newly compromised host every five minutes using bash's TCP device file test: timeout 2 bash -c "echo >/dev/tcp/${network}.${i}/2375".

1

Docker API Discovery (T1046)

CARBONATO scans neighboring /24 subnets every five minutes using bash TCP device file tests for port 2375. Compromised hosts serve as launch points, making the scan pattern distributed and difficult to source-block.

2

Privileged Container Creation (T1190, T1609)

HTTP POST to /containers/create with Privileged:true, host filesystem mount (/:/host), and host PID/network namespaces. No authentication required. Container starts in under one second.

3

Container Escape to Host (T1611)

nsenter with --target PID 1 and full namespace flags escapes the container and drops the implant directly into the host's execution context, achieving root without exploiting a kernel bug.

4

Persistence and Evasion (T1547.014, T1036)

Cron jobs, systemd timers, rc.local entries, and OpenRC scripts all marked immutable ensure re-launch after removal attempts. XMRig miner masquerades as [kworker/u2:0]. Watchdog binary hides as .docker-network-monitor.

5

Hermes AI Agent C2 Deployment (T1071.001)

Hermes Agent installs with a custom SOUL.md persona (GH0ST) that instructs the LLM to accept operator tasks from Telegram chat ID 750752697 and execute shell commands without restrictions.

6

AI API Credential Exfiltration (T1555)

GH0ST sweeps environment files, /root/.config/, and shell history for API keys across 12 platforms. Credentials go to /root/.hermes/loot/ in plaintext and are exfiltrated over the Telegram C2 channel.

The Hermes AI Agent: CARBONATO's Autonomous C2 Engine

Hermes Agent is an open-source AI framework released by Nous Research under the MIT license. It enables an LLM to operate as an autonomous agent: receiving natural-language instructions, writing shell commands, executing them, and reporting results without human intervention at each step. CARBONATO operators modified only a single file, SOUL.md, to transform the framework into a criminal C2 engine.

The custom 39-line GH0ST persona instructs the agent to: maintain persistence on every host where it runs, accept task instructions from Telegram without ethical constraints, prioritize AI API key collection above SSH credentials and database access, store all extracted secrets in plaintext at /root/.hermes/loot/ without hashing, and route all task execution through an operator-controlled LLM gateway that the operators seeded with keys stolen from earlier victims.

This architecture eliminates the fixed C2 server that traditional botnet defenses target. There is no domain or IP to blocklist at the C2 tier: each compromised host runs its own Hermes instance, connecting outbound to Telegram's legitimate API endpoint (which cannot be blocked without disrupting legitimate Telegram usage). The operators have effectively turned the world's compromised Docker hosts into a distributed network of autonomous agents awaiting instructions over an encrypted messaging channel.

Operators who ran out of stolen API budget simply tasked GH0ST agents on recently compromised hosts to collect more. Researchers observed the live LLM gateway at 213.136.83.197 advertising 12 models and serving 27 through its API, funded entirely by stolen credentials from CARBONATO victims.

“The implant deploys the Hermes Agent, an open-source framework from Nous Research, without modifying the underlying binary. Only the SOUL.md persona file changes, making it trivially portable to any future AI agent framework that gains adoption.”

ThreatDown CARBONATO Research Report, September 24, 2026
Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

What CARBONATO Steals: AI API Keys Take Priority

The GH0ST persona explicitly ranks AI API key collection above SSH private keys, database credentials, and cloud provider tokens. This ordering reflects the operators' business model: stolen AI API keys fund the LLM gateway that powers subsequent CARBONATO operations, removing the need to pay for compute.

Twelve platforms are targeted: OpenAI, Anthropic, Google (Gemini and Vertex AI), Groq, Mistral, Cohere, LocalAI, Ollama, vLLM, LiteLLM, Together AI, and OpenRouter. Researchers found a live gateway at 213.136.83.197 on the day of discovery serving 27 AI models through its public API, powered by keys collected from victims across multiple continents.

Organizations running AI development infrastructure on Docker hosts face a compounded risk: the same environment that makes local model deployment convenient creates the attack surface CARBONATO exploits. Self-hosted inference servers (Ollama, vLLM, LocalAI) run adjacent to application containers on the same Docker daemon. A single exposed port 2375 hands attackers not just the host but the model keys, the training data, and the downstream applications that consume the API.

CARBONATO Indicators of Compromise

Block the five confirmed C2 IPs at your perimeter firewall immediately. All five have been active across the CARBONATO campaign from October 2024 through the date of researcher disclosure. Hunt for the host-based artifacts listed below on every Linux server running Docker.

Subscribe to unlock Indicators of Compromise

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Sigma Detection Rules for CARBONATO Docker Exploitation

These rules detect CARBONATO's initial Docker API exploitation and the Hermes AI agent artifacts it installs post-compromise. Both carry experimental status; validate against your environment's log format before enabling automatic blocking.

Subscribe to unlock Sigma Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock Sigma Hunt Queries

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Subscribe to unlock WAF Detection Rules

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Secure Your Docker Infrastructure Against CARBONATO

The primary control is eliminating unauthenticated remote API access entirely. Port 2375 should never be reachable from untrusted networks. The steps below close the CARBONATO attack surface and give your team visibility into any hosts already compromised.

Subscribe to unlock Remediation & Mitigation steps

Free subscribers unlock full IOC lists, Sigma detection rules, remediation steps, and every daily briefing.

Why the CARBONATO Botnet Represents a New Threat Class

The CARBONATO Docker botnet marks a qualitative shift in botnet architecture. Previous campaigns automated initial access and lateral movement but relied on static C2 infrastructure: a domain or IP that defenders could blocklist to break the chain. CARBONATO replaced the C2 server with an AI agent instance on each host, accepting adaptive, natural-language operator instructions through Telegram's encrypted API.

This architecture has three defensive implications. First, blocklisting C2 infrastructure only affects the relay tunnel IPs documented above; the Hermes agent on each compromised host continues operating independently if the relay is cut. Second, the GH0ST persona can be updated remotely to change the agent's behavior, target new credential types, or pivot to destructive tasks without redeploying any binary. Third, the same open-source framework (Hermes Agent) is already being used by separate, unrelated threat groups including Chinese financial crime operators who compromised 600,000 payment card records in August 2026, suggesting the AI-as-C2 pattern will replicate across criminal ecosystems faster than traditional botnet TTPs.

The immediate defensive priority is eliminating port 2375 exposure and hunting for existing compromise. The longer-term challenge is rewriting detection playbooks that assume a static C2 domain or IP. SOC teams should add behavioral detection for AI agent framework artifacts and outbound Telegram API traffic from production server environments to their rule sets today. For context on how AI capabilities are being operationalized across the attacker landscape, the ShinyHunters WAF bypass campaign covered in our <a href='/blog/shinyhunters-peoplesoft-waf-bypass-exploitation-2026'>September 27 post</a> demonstrates how attackers iterate their tradecraft faster than static signatures can track.

The bottom line

CARBONATO Docker botnet represents the first confirmed use of an AI agent as a botnet C2 engine, targeting over 1.4 million potentially exposed Docker endpoints on port 2375. Block the five C2 IPs now, disable the unauthenticated Docker socket, and sweep every Linux Docker host for /root/.hermes/ and .docker-network-monitor artifacts. Rotate all AI platform API keys on any host that may have been exposed. The entire CARBONATO attack chain from port 2375 access to credential exfiltration completes in under five minutes; your remediation window on an exposed host is measured in hours, not days.

This analysis is generic. create a free account to score threats like this against your own stack.

Frequently asked questions

What is the CARBONATO botnet?

CARBONATO is the first documented botnet to use an AI agent as its command-and-control engine. It targets Linux servers running Docker daemons with unauthenticated API access on TCP port 2375, installs the Hermes open-source AI framework configured as a custom persona called GH0ST, and accepts operator instructions through a Telegram channel. The botnet has been active since October 2024 and prioritizes stealing API keys for AI platforms above all other credentials.

How does CARBONATO exploit Docker port 2375?

The Docker API on port 2375 requires no credentials by default. CARBONATO sends a single HTTP POST request to /containers/create with Privileged set to true and the host filesystem mounted at /host. Once the container launches, the implant uses nsenter to escape into the host's network namespace, achieving full root access to the underlying server without any authentication. The entire initial compromise completes in under three seconds.

What credentials does CARBONATO steal?

CARBONATO's GH0ST persona prioritizes AI platform API keys above SSH credentials, database passwords, and cloud tokens. The platforms targeted include OpenAI, Anthropic, Google (Gemini/Vertex), Groq, Mistral, Cohere, LocalAI, Ollama, vLLM, LiteLLM, Together AI, and OpenRouter. Stolen keys are stored in plaintext under /root/.hermes/loot/ and used to power a live LLM gateway that operators ran on a free tier.

How do I know if CARBONATO has compromised my Docker host?

Check for four artifacts: (1) the hidden watchdog binary at /usr/local/bin/.docker-network-monitor, (2) the directory /root/.hermes/ and its SOUL.md AI persona file, (3) a process named [kworker/u2:0] that is not a genuine kernel thread but an XMRig cryptominer, and (4) outbound connections to 45.79.183.61, 91.99.195.164, 213.136.79.115, 213.136.83.197, or 190.211.124.187. If any of these exist, the host is compromised.

How do I secure Docker daemon against CARBONATO?

The primary control is disabling unauthenticated API access: stop the Docker service, remove the -H tcp://0.0.0.0:2375 flag from /etc/docker/daemon.json or the Docker systemd unit, and restart. If remote API access is required for legitimate operations, switch to port 2376 with mutual TLS client certificate authentication and restrict access by source IP using firewall rules. Never expose port 2375 to the internet under any circumstances.

What makes CARBONATO different from previous Docker botnets?

Previous Docker botnets used static C2 servers with hardcoded addresses that defenders could blocklist. CARBONATO replaced the C2 server with a Hermes AI agent instance on each compromised host, accepting operator instructions through Telegram's API. This means there is no central C2 IP to block, the agent can adapt its behavior based on natural-language operator instructions, and traditional behavior-based C2 detection that relies on fixed domain patterns is largely ineffective.

Is CARBONATO related to other known threat groups?

Attribution points to a Central American operator, likely Costa Rica-based, based on language markers (voseo Spanish dialect in Telegram reports), timezone (UTC-06:00 in 14 container image configs), the +506 Costa Rica country code used as the operator handle Carbo506, and reverse tunnel infrastructure terminating in AS262145, a Costa Rican network. Researchers found overlapping use of the Hermes framework by separate Chinese groups in July 2026, suggesting the framework is being adopted across multiple independent actors.

What is the Hermes AI agent framework used by CARBONATO?

Hermes Agent is an open-source AI agent framework released by Nous Research under the MIT license. It enables autonomous task execution by an LLM: the operator sends natural-language instructions, and the agent writes and runs shell commands, queries files, exfiltrates data, and reports results. CARBONATO operators replaced the default Hermes SOUL.md persona with a 39-line custom prompt designating the agent as GH0ST, with directives to maintain persistence, prioritize AI API key collection, and execute operator commands without restrictions.

Sources & references

  1. ThreatDown: CARBONATO: A Botnet Built Around an AI Agent
  2. The Hacker News: CARBONATO Botnet Compromises Docker Hosts
  3. Forkast News: CARBONATO Is the First Botnet Where the C2 Engine Is an AI Agent
  4. MITRE ATT&CK: T1190 - Exploit Public-Facing Application
Summarize with:

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Follow Decryption Digest

Daily briefings + Google Top Stories in one step.

Enter your email and we'll subscribe you to the daily briefing and add Decryption Digest to your Google Search feed at the same time.

Free. Unsubscribe anytime. Google popup confirms the Top Stories add.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Daily Briefing

Get briefings like this every morning

Actionable threat intelligence for working practitioners. Free. No spam. Trusted by 50,000+ SOC analysts, CISOs, and security engineers.

Unsubscribe anytime.

Mythos Brief

Anthropic's AI finds zero-days your scanners miss.