What does ComfyUI itself say a custom node is, where does it place the trust boundary, and which security reports does it refuse to treat as vulnerabilities?
At ComfyUI commit 46aad33e (observed 2026-10-22) SECURITY.md states a local-first threat model: custom nodes are arbitrary Python code trusted like any installed software, anyone who can reach the URL is trusted, and issues needing --listen, a particular custom node, old PyTorch, or an ignored UI warning are out of scope. The loader code executes each custom node package's __init__.py in the server process at startup, which is consistent with that statement. The docs install page adds a warning to install only from trusted authors.
At ComfyUI commit 46aad33e (observed 2026-10-22) SECURITY.md states a local-first threat model: custom nodes are arbitrary Python code trusted like any installed software, anyone who can reach the URL is trusted, and issues needing --listen, a particular custom node, old PyTorch, or an ignored UI warning are out of scope. The loader code executes each custom node package's __init__.py in the server process at startup, which is consistent with that statement. The docs install page adds a warning to install only from trusted authors.
Curator qualifications: SECURITY.md line 8 and lines 26-31 as excerpted; load_custom_node builds a module spec (via governance.pack_module_spec for custom_nodes) and calls module_spec.loader.exec_module(module), i.e. executes the pack's __init__.py in-process at startup; --disable-all-custom-nodes and --whitelist-custom-nodes exist; the loader also checks Manager's should_be_disabled policy and governance.pack_refusal before loading.
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/SECURITY.md",
"note": "SECURITY.md lines 5-31; nodes.py load_custom_node lines 2255-2278; loader loop 2380-2393; comfy/cli_args.py lines 217-218; docs install_custom_node.mdx"
},
{
"url": "https://github.com/Comfy-Org/docs/blob/506a4a94db30524adb8706667aec050d71dbdf60/installation/install_custom_node.mdx",
"note": "SECURITY.md lines 5-31; nodes.py load_custom_node lines 2255-2278; loader loop 2380-2393; comfy/cli_args.py lines 217-218; docs install_custom_node.mdx"
},
{
"url": "https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/nodes.py",
"note": "SECURITY.md lines 5-31; nodes.py load_custom_node lines 2255-2278; loader loop 2380-2393; comfy/cli_args.py lines 217-218; docs install_custom_node.mdx"
},
{
"url": "https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/comfy/cli_args.py",
"note": "SECURITY.md lines 5-31; nodes.py load_custom_node lines 2255-2278; loader loop 2380-2393; comfy/cli_args.py lines 217-218; docs install_custom_node.mdx"
}
]
}Evidence claims
- [sourced_fact] At ComfyUI commit 46aad33e (observed 2026-10-22) SECURITY.md states a local-first threat model: custom nodes are arbitrary Python code trusted like any installed software, anyone who can reach the URL is trusted, and issues needing --listen, a particular custom node, old PyTorch, or an ignored UI warning are out of scope. The loader code executes each custom node package's __init__.py in the server process at startup, which is consistent with that statement. The docs install page adds a warning to install only from trusted authors. · locator: SECURITY.md lines 5-31; nodes.py load_custom_node lines 2255-2278; loader loop 2380-2393; comfy/cli_args.py lines 217-218; docs install_custom_node.mdx source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/SECURITY.md
- cites → https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/comfy/cli_args.py
- cites → https://github.com/Comfy-Org/ComfyUI/blob/46aad33e4d4c0696582611bf450dd93742fa9090/nodes.py
- cites → https://github.com/Comfy-Org/docs/blob/506a4a94db30524adb8706667aec050d71dbdf60/installation/install_custom_node.mdx