ComfyUI Painter

Security checks across static analysis, malware telemetry, and agentic risk

Overview

ComfyUI Painter mostly matches its image-generation purpose, but it opens ComfyUI to all network interfaces and can force-stop unrelated Python programs, so it needs review before use.

Use this skill only if you are comfortable with it starting and stopping local ComfyUI, downloading models, using a CivitAI API key, and posting generated images to Discord. Before installing, change ComfyUI to bind to localhost unless remote access is intentional, replace the all-Python kill command with PID-specific shutdown, validate download filenames, and use scoped credentials.

Static analysis

No static analysis findings were reported for this release.

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Risk analysis

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

If the host firewall allows it, other machines on the reachable network may be able to access the ComfyUI API and submit generation jobs.

Why it was flagged

The manager starts ComfyUI bound to all network interfaces even though the skill describes controlling a local ComfyUI API.

Skill content
'--listen','0.0.0.0','--port','{COMFY['port']}'
Recommendation

Bind ComfyUI to 127.0.0.1 by default, document any intentional remote access, and require firewall/authentication controls before listening on 0.0.0.0.

What this means

Idle shutdown or a manual stop could terminate unrelated Python apps, notebooks, servers, or user work running on the machine.

Why it was flagged

The stop routine targets every Python process, not just the ComfyUI process started by this skill.

Skill content
Get-Process python -ErrorAction SilentlyContinue | Stop-Process -Force
Recommendation

Track the specific ComfyUI process ID or command line and stop only that process; avoid force-killing all Python processes.

What this means

A malformed filename containing absolute paths or ../ segments could write outside the intended ComfyUI checkpoint directory if passed through by the agent or user.

Why it was flagged

The download helper accepts a caller-supplied filename and joins it to the destination directory without visible path validation.

Skill content
dest = os.path.join(dest_dir, filename + ".tmp"); final = os.path.join(dest_dir, filename)
Recommendation

Normalize to a basename, reject path separators and absolute paths, resolve the final path, verify it remains inside the checkpoint directory, and avoid overwriting existing files without confirmation.

What this means

Installing or using the CivitAI features gives this skill access to the user's CivitAI API key for model search/download operations.

Why it was flagged

The skill reads a local CivitAI API token and sends it as a bearer token to CivitAI for authenticated API/download calls.

Skill content
cred_file = CREDENTIALS_DIR / "civitai.md" ... cmd.extend(["-H", f"Authorization: Bearer {key}"])
Recommendation

Use a scoped CivitAI token, protect the credential file permissions, and document this credential requirement in metadata.

What this means

Discord output may use delegated bot/account authority to post generated images to the configured channel.

Why it was flagged

The design document says Discord posting may use a bot token from OpenClaw's local configuration, although the included scripts do not show direct token handling.

Skill content
**Discord Bot Token**: 从 `~/.openclaw/openclaw.json` 读取
Recommendation

Prefer a scoped message tool or a narrowly scoped Discord token, and ensure token use is explicitly declared before enabling Discord posting.

What this means

ComfyUI may continue running and consuming local GPU/resources until the idle shutdown runs.

Why it was flagged

The skill is designed to keep ComfyUI running after use and manage it via heartbeat-based idle checks.

Skill content
心跳时调用 auto_shutdown.py 检查空闲时间,超过 15 分钟无使用自动关闭 ComfyUI
Recommendation

Make the background/heartbeat behavior visible to users and provide an easy manual stop option.