Overview
An active campaign is targeting over 1,000 internet-exposed instances of ComfyUI, a widely used open-source stable diffusion workflow platform, to enlist compromised hosts into a dual-purpose cryptomining and proxy botnet. Discovered by Censys researcher Mark Ellzey in late March 2026, the operation exploits a fundamental misconfiguration in ComfyUI deployments that permits unauthenticated remote code execution through the platform’s custom node plugin system. The campaign underscores a growing threat surface in AI/ML tooling infrastructure that is often deployed without hardening or authentication controls.
Technical Analysis
The attack chain begins with a purpose-built Python scanner that continuously sweeps major cloud IP ranges for publicly accessible ComfyUI instances. The scanner checks whether any of several known vulnerable custom node families are installed, including:
Vova75Rus/ComfyUI-Shell-Executorfilliptm/ComfyUI_Fill-Nodesseanlynch/srl-nodesruiqutech/ComfyUI-RuiquNodes
These node families share a critical trait: they accept raw Python code as input and execute it directly without authentication checks. If none of the target nodes are found, the scanner probes for ComfyUI-Manager — a legitimate plugin management tool — and uses it to silently install a malicious package (ComfyUI-Shell-Executor) created by the attacker. This package then fetches a next-stage shell script (ghost.sh) from the attacker’s infrastructure at 77.110.96[.]200, a host associated with bulletproof hosting provider Aeza Group.
Upon successful exploitation, the scanner removes forensic artefacts and proceeds to deploy:
- XMRig for Monero mining
- lolMiner for Conflux mining
- Hysteria V2 for proxy botnet functionality
All compromised nodes are centrally managed via a Flask-based command-and-control (C2) dashboard. The technique of abusing ComfyUI custom nodes for arbitrary code execution was partially documented by Snyk in December 2024, but this campaign represents the first known large-scale weaponisation.
Framework Mapping
- AML.T0010 (ML Supply Chain Compromise): The attacker introduces a malicious custom node package via ComfyUI-Manager, poisoning the plugin supply chain of the target environment.
- AML.T0047 (ML-Enabled Product or Service): ComfyUI itself is abused as the attack surface — the ML platform becomes the initial access vector.
- LLM07 (Insecure Plugin Design): Custom nodes execute arbitrary Python without authentication, directly mapping to insecure plugin/extension design patterns.
- LLM05 (Supply Chain Vulnerabilities): Malicious packages are injected through a trusted plugin management mechanism (ComfyUI-Manager).
- LLM08 (Excessive Agency): The plugin system is granted execution privileges far exceeding what is needed for legitimate inference workflows.
Impact Assessment
With over 1,000 publicly accessible ComfyUI instances identified, the immediate victim pool consists primarily of independent researchers, small studios, and developers running AI image generation workflows on cloud infrastructure without authentication controls. The financial impact manifests through stolen compute resources used for cryptomining. However, the same exploitation primitive could be trivially repurposed for data exfiltration, lateral movement, or persistent access to AI development environments containing sensitive model weights or training data.
Mitigation & Recommendations
- Never expose ComfyUI directly to the internet. Place instances behind a VPN, reverse proxy with authentication, or restrict access via firewall rules.
- Audit installed custom nodes and remove any packages not sourced from verified, well-maintained repositories.
- Disable ComfyUI-Manager’s remote install capability in production environments to prevent attacker-driven package installation.
- Monitor outbound network traffic from AI workstations for connections to mining pools or unknown C2 endpoints.
- Apply principle of least privilege to ComfyUI process accounts to limit post-exploitation impact.
- Scan for indicators of compromise including connections to
77.110.96[.]200and presence ofghost.sh, XMRig, or lolMiner binaries.