mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-11-05 07:47:25 +00:00
[GH-ISSUE #3085] ComfyUi-MpiNodes flagged by registry security scan (false positive) — latest_version stuck at 1.0.4 despite clean source #1097
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Comfy-Org/ComfyUI-Manager#1097
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @MadPonyInteractive on GitHub (Jul 15, 2026).
Original GitHub issue: https://github.com/Comfy-Org/ComfyUI-Manager/issues/3085
Publisher:
mad-pony-interactiveNode pack:
ComfyUi-MpiNodesRepo: https://github.com/MadPonyInteractive/ComfyUi-MpiNodes
Referred here by: Denys (Comfy Org Support), via email.
Problem
Every version I've published since 1.0.5 is
NodeVersionStatusFlagged, solatest_versionis frozen at 1.0.4 (March 2026). Registry/Manager users installing my pack get months-old code. I believe this is a scanner false positive and would like a manual review.This looks like the same class of issue as #3072 and #3059.
Status from the API
GET https://api.comfy.org/nodes/ComfyUi-MpiNodes/versionseval()— correct banlatest_version= 1.0.4What I already fixed
The ban on 1.0.5–1.0.8 was legitimate — a math node used
eval(). I removed it entirely: math evaluation is now a pureast-whitelist evaluator (numeric literals + arithmetic operators +math.*only; no attribute access, no arbitrary calls). That downgraded the status Banned → Flagged, but it has stayed Flagged for every release since — including ones that contain noeval/exectoken anywhere in the source.Current source is clean (verified on latest)
eval/exec/os.system/pickle/__import__/compile()/ runtimepip install.subprocesscalls invoke ffmpeg with fixed argument lists (noshell=True, no user-controlled command string) — the same pattern VHS-VideoHelperSuite uses for video I/O, and that pack is not flagged.Ask
Could someone manually review the latest version (or the whole 1.1.0+ line) and, if it passes, clear the flag so
latest_versionadvances? If there's a specific pattern the scanner is catching, I'd genuinely like to know so I can fix it directly.Thanks!
@MadPonyInteractive commented on GitHub (Jul 15, 2026):
Update — I think I found the likely trigger, same class as #3072's
python_network_operationsfalse positive.My
web/frontend had exactly one network call: afetch()in JavaScript (web/combos.js) loading a same-origin JSON asset my own pack ships. No external host, nohttp(s)://, no user input — but it's a network op in a.jsfile, which is exactly what misfired in #3072.That fetch belonged to a BETA node (
MpiCombo) that's now superseded by a vanilla ComfyUI node and used in zero workflows. I've removed it and the entire combo node group in v1.2.4 (just published). The pack now has zero network calls anywhere in the frontend, on top of already having noeval/exec/subprocess-shell in the Python.If the scanner re-scans 1.2.4 and it clears, that confirms the JS-fetch was the trigger. If it still flags with a zero-network-call frontend, then it's matching something non-obvious and I'd really appreciate knowing what. Either way, could someone re-review 1.2.4?
@MadPonyInteractive commented on GitHub (Jul 19, 2026):
Update — the conditional in my previous comment has resolved, and it
resolved the other way.
I removed the
web/combos.jsfetch in 1.2.4, so the pack has had zerofrontend network calls since. I have published 1.2.5 and 1.2.6
since then. All still flagged;
latest_versionis still 1.0.4.That is seven consecutive versions (1.1.0 → 1.2.6) that publish
successfully and are CDN-downloadable, none of which has advanced the
pointer. So the JS-fetch was not the trigger, and my earlier guess
was wrong — please disregard it.
What this rules out, concretely:
eval/exec/os.system/pickle/__import__/compile()anywherein the Python (removing
evaldid move it Banned → Flagged, so thescanner does respond to source changes).
subprocessuse is ffmpeg with fixed argument lists, noshell=True— the same pattern VHS-VideoHelperSuite uses.I am out of things to test from my side: the version-status endpoint
returns no
status_reason, so there is nothing to work backwards from.I see #3059 was cleared this way on 2026-07-18 — same symptom (flagged
versions blocking the
latest_versionpointer), resolved by a manualreview. Could the 1.1.0+ line get the same treatment? And if the scanner
is matching something specific, I would genuinely like to know what it is.