mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-07-26 18:17:30 +08:00
feat(security): add dedicated install flags decoupled from security_level
Gate 'install via git URL' and 'install via pip' with dedicated opt-in boolean flags (allow_git_url_install / allow_pip_install) in config.ini [default], fully replacing the security_level term on those surfaces (REPLACE, not AND — a strict level no longer denies when the flag is on; a weak level no longer allows when the flag is off). - glob/manager_server.py: pure predicate is_dedicated_install_allowed (flag AND loopback, request-time args.listen); REPLACE gates at /customnode/install/git_url and /customnode/install/pip; batch unknown-URL arm routes through the same full predicate at the risky position (loopback term is load-bearing — the middle entry gate has no network-position term; the entry gate itself stays in force); unknown-pip in batch stays unconditionally blocked; new SECURITY_MESSAGE_FLAG_* denial constants name the responsible flag; security_403_response gains flag_token (comfyui_outdated keeps precedence) - glob/manager_core.py: register both keys (read via get_bool default-false, write list, exception fallback); "true"-only truthy; restart-only activation - js/common.js: 403 dialog copy names the responsible flag at the two install call sites - README.md: security-policy docs for both flags (per-surface scope incl. the batch entry-gate qualifier, REPLACE decoupling, loopback bound, opt-in config snippet, default-deny + migration note); stale tier lists corrected against the actual gates - CHANGELOG.md: opt-in migration note + accepted residual risk (flags bypass the forced-strong outdated-ComfyUI hardening on loopback, opt-in only), decoupling claim qualified for the batch entry gate Tests: unit suite (predicate truth table, REPLACE litmus both directions, AST binding-proofs against live handlers, subprocess-isolated config contract) plus a real-server E2E suite that mounts the Manager-under-test via git worktree (exact-SHA pin, detached) against a real ComfyUI and exercises both flag surfaces and both arms — deny arms (403 + flag-naming body/log + no install artifact), git-URL allow arm (real clone), pip allow arm as a two-phase reservation oracle — with zero-residual self-clean. Module skips without E2E_COMFYUI_ROOT; unit suite unaffected. The manager-v4 branch ships the identical policy (shared invariants + config contract); this tree uses the degraded predicate 'flag AND loopback' (no personal_cloud-equivalent mode here).
This commit is contained in:
@@ -1,75 +1,5 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "sln77",
|
||||
"title": "ComfyUI-Tagger",
|
||||
"reference": "https://github.com/sln77/ComfyUI-Tagger",
|
||||
"files": [
|
||||
"https://github.com/sln77/ComfyUI-Tagger"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI node integration for the Camie tagger v2 model from Hugging Face for image tagging. (Description by CC)"
|
||||
},
|
||||
{
|
||||
"author": "archerkattri",
|
||||
"title": "ComfyUI-TRELLIS-HiCache",
|
||||
"reference": "https://github.com/Archerkattri/ComfyUI-TRELLIS-HiCache",
|
||||
"files": [
|
||||
"https://github.com/Archerkattri/ComfyUI-TRELLIS-HiCache"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Training-free TRELLIS image-to-3D acceleration: forecast the flow-matching velocity on skipped DiT steps (HiCache Hermite / HiCache++ DMD, via hicache-pp) across both the sparse-structure and SLaT stages. ~2x faster, near-lossless. Drop between the TRELLIS loader and sampler."
|
||||
},
|
||||
{
|
||||
"author": "shommey",
|
||||
"title": "LoRA Helpers",
|
||||
"reference": "https://github.com/shommey/comfyui-lora-helpers",
|
||||
"files": [
|
||||
"https://github.com/shommey/comfyui-lora-helpers"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "ComfyUI nodes for LoRA training evaluation — XY grid sampling across checkpoints and prompts"
|
||||
},
|
||||
{
|
||||
"author": "wochenlong",
|
||||
"title": "Anima Edit LoRA",
|
||||
"reference": "https://github.com/wochenlong/ComfyUI-Anima-Edit-LoRA",
|
||||
"files": [
|
||||
"https://github.com/wochenlong/ComfyUI-Anima-Edit-LoRA"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Anima Edit ReferenceLatent compatibility patch for ComfyUI. Lets built-in ReferenceLatent workflows drive single or multiple Anima Edit reference latents."
|
||||
},
|
||||
{
|
||||
"author": "Dragon7108",
|
||||
"title": "ComfyUI-QuickRatio",
|
||||
"reference": "https://github.com/Dragon7108/ComfyUI-QuickRatio",
|
||||
"files": [
|
||||
"https://github.com/Dragon7108/ComfyUI-QuickRatio"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Aspect-ratio calculator node for ComfyUI — preset + custom ratios, base-resolution scaling, dimensions snapped to multiples of 8, with a live web preview."
|
||||
},
|
||||
{
|
||||
"author": "sparknight",
|
||||
"title": "ComfyUI-ConditioningMultiplyAdvanced",
|
||||
"reference": "https://github.com/SparknightLLC/ComfyUI-ConditioningMultiplyAdvanced",
|
||||
"files": [
|
||||
"https://github.com/SparknightLLC/ComfyUI-ConditioningMultiplyAdvanced"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Node for scheduling conditioning strength while preserving non-floating tensors such as token ids."
|
||||
},
|
||||
{
|
||||
"author": "wiltodelta",
|
||||
"title": "Remove AI Watermarks",
|
||||
"reference": "https://github.com/wiltodelta/ComfyUI-remove-ai-watermarks",
|
||||
"files": [
|
||||
"https://github.com/wiltodelta/ComfyUI-remove-ai-watermarks"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Remove visible and invisible AI watermarks (Gemini / Nano Banana, ChatGPT, Stable Diffusion) and erase regions, inside ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "denyazzolin",
|
||||
"title": "comfyui-daz-tools",
|
||||
|
||||
+126
-481
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user