ComfyUI-Workflows aus dem Netz: prüfen, bevor du sie ausführst
Wer ein Custom Node installiert, räumt fremdem Code die Ausführung auf seinem Rechner ein. Das ist keine Zuspitzung, sondern die Architektur: Jede Python-Datei unterhalb von custom_nodes wird beim Start des Servers ausgeführt – ComfyUI lädt sie über importlib und ruft exec_module() auf. Ob darin ein Lade-Node steckt oder etwas anderes, entscheidet sich erst zur Laufzeit.
Das ist kein Fehler, sondern der Preis der Flexibilität, die ComfyUI ausmacht. Es heißt aber, dass die Frage „welchen Node installiere ich für Modell X“ sicherheitsrelevant ist – und dass sie sich nicht aus einem Screenshot beantworten lässt. Dieser Artikel zeigt die Prüfung, die davor gehört, am gerade aktuellsten Beispiel.
Der Anlass: der Kijai-Workflow für MiniMax H3, den es nicht gibt
Rund um H3 kursiert die Frage, welches Kijai-Repository man für den ComfyUI-Betrieb braucht. Die Antwort lautet: keines. Kijais H3-Unterstützung ist als Pull Request in ComfyUI selbst eingegangen – „feat: Support MiniMax-H3 (CORE-375)“, PR #15224 im Repository Comfy-Org/ComfyUI. Die Unterstützung ist damit nativ, die Nodes heißen MiniMaxH3ImageToVideo und MiniMaxH3ReferenceToVideo, und die Gewichte kommen aus Comfy-Org/MiniMax-H3, das beim ersten Lauf geladen wird.
Die praktische Konsequenz ist die wichtigste Zeile dieses Abschnitts: Du aktualisierst ComfyUI, statt eine Erweiterung zu installieren. Wer stattdessen nach einem Wrapper sucht, sucht nach etwas, das nicht existiert – und findet dabei trotzdem etwas.
Denn um ein neues, viel diskutiertes Modell entsteht innerhalb von Wochen ein Schwarm an Dritt-Repositories: Beschleunigungs-Forks, „Easy“-Varianten mit vereinfachtem Verdrahten, „Studio“-Pakete, Sammlungen. Einzelne davon sind vermutlich gut gemacht. Der Punkt ist nicht, sie zu verdächtigen, sondern dass der Name das Einzige ist, was die meisten prüfen – und das Einzige, was nichts beweist. Ein Repository, das vor zwei Wochen für ein vier Wochen altes Modell angelegt wurde, hat keine Geschichte, an der man sich orientieren könnte.
Warum ein Custom Node kein Plugin ist
Über den automatischen Import hinaus gibt es weitere Wege, die eine Erweiterung öffnen kann. Sie darf eigene API-Endpunkte im Server registrieren – die Analyse von Snyk Labs führt als Beispiel ein ungeprüftes pip-Abhängigkeitsfeld im ComfyUI-Manager an, also in einem der verbreitetsten Werkzeuge überhaupt. Sie darf JavaScript-Erweiterungen mitbringen, die über app.apiFetch() mit dem Backend sprechen, womit aus einer Cross-Site-Scripting-Lücke eine Codeausführung werden kann.
Und – der Punkt, der am meisten überrascht: Auch eine reine Workflow-Datei ist ein Angriffsweg. JSON-Workflows werden auf Plattformen geteilt und importiert, praktisch ohne dass jemand sie vorher liest. Wenn auf dem Zielsystem ein angreifbares Node installiert ist, kann ein präparierter Workflow es fernsteuern. Eine Workflow-Datei ist kein Dokument. Sie ist eine Eingabe für Code.
Dass das keine graue Theorie ist, zeigt der bekannteste Vorfall: Im Juni 2024 verteilte ein Custom Node namens ComfyUI_LLMVISION Schadcode. Berichtet wurden ein installierter Keylogger und das Abfließen von Zugangsdaten, Passwörtern, Zahlungsdaten aus dem Browser sowie Daten von Krypto-Wallets. Installiert wurde es von Leuten, die ein Bildgenerierungs-Werkzeug erweitern wollten – nicht von Unvorsichtigen.
Die Prüfung, die zehn Minuten dauert
1. Zuerst den offiziellen Weg klären. Modellkarte des Anbieters und die ComfyUI-Dokumentation lesen: Ist die Unterstützung nativ? Dann brauchst du gar kein Node, sondern ein Update. Dieser Schritt allein erledigt einen großen Teil der Fälle – und er hätte im H3-Beispiel die ganze Suche erspart.
2. Registry-Eintrag ist ein Signal, keine Garantie. Dass eine Erweiterung im Manager auftaucht, heißt nicht, dass ihr Code geprüft wurde. Der Manager selbst war Gegenstand einer Schwachstellenanalyse.
3. Autor statt Projektname prüfen. Was hat diese Person sonst veröffentlicht, seit wann, mit welcher Commit-Historie und wie vielen Beteiligten? Ein aktives Konto mit mehreren gepflegten Projekten ist etwas anderes als ein frisches Konto mit einem Repository.
4. Lesen, bevor du ausführst. Drei Dateien reichen für einen ersten Eindruck: __init__.py, requirements.txt und ein etwaiges Installationsskript. Woran du hängen bleiben solltest: Netzwerkaufrufe an Adressen, die nichts mit dem Modell zu tun haben; subprocess-Aufrufe; lange base64-kodierte Blöcke; Pakete, die nicht aus dem offiziellen Index, sondern von einer URL installiert werden; Zugriffe auf Browserprofile, Schlüsselbund oder Umgebungsvariablen.
5. Prüfen, ob „lokal“ stimmt. Verlangt der Workflow Zugangsdaten oder ruft er einen Dienst auf, findet die Berechnung nicht bei dir statt. Ein lokal geöffnetes ComfyUI-Fenster sagt darüber nichts. Der belastbare Test: Nachdem alle legitimen Abhängigkeiten geladen sind, den Lauf ohne ausgehende Netzwerkverbindung wiederholen. Scheitert er an einem externen Aufruf, war er nie lokal.
6. Stand festhalten. Bei einer Git-Arbeitskopie die Revision notieren – git rev-parse HEAD –, sonst den dort ausgewiesenen Versionsstand. Ohne diese Notiz kannst du später nicht unterscheiden, ob ein geändertes Ergebnis vom Prompt oder von einer neuen Node-Fassung kommt.
7. Nicht in der Installation testen, mit der du arbeitest. Eine getrennte Installation oder ein gesicherter Ausgangszustand kostet einmal Zeit und erspart den Fall, dass ein neues Node Versionen gemeinsamer Python-Pakete verschiebt und bestehende Workflows stillstehen. Ein erfolgreicher Installationsbefehl ist kein Beweis, dass danach noch alles läuft. Vor der Änderung einmal python -m pip freeze in der richtigen Umgebung – und vorher prüfen, ob dieser Python-Aufruf wirklich zu deiner ComfyUI-Installation gehört.
Was H3 tatsächlich braucht – und liefert
Bevor irgendetwas davon relevant wird, steht bei diesem Modell eine andere Frage: Die Lizenz von MiniMax H3 nennt die Europäische Union ausdrücklich als ausgeschlossenes Gebiet. Die Rechteeinräumung gilt „solely within the Applicable Territory“, und die EU gehört nicht dazu. Wer hier lokal arbeiten will, stellt zuerst den Lizenzantrag über das in der Modellkarte verlinkte Formular. Die Technik danach ist der leichtere Teil.
Zu den technischen Angaben, weil auch dort Werbung und Download auseinandergehen: Offene Gewichte gibt es für H3-Base-FL2VA (Text zu Video, erster und letzter Frame) und H3-Base-Ref2VA (referenzgesteuert mit Bild, Video, Audio). Das native Canvas liegt bei 768 Pixeln kurzer Kante, bei 16:9 also 1344 × 768, mit 24 Bildern pro Sekunde, Ton in 32 kHz Stereo und Clips von etwa 4 bis 15 Sekunden. Der Ton entsteht im selben Durchlauf wie das Bild. Die 2K-Ausgabe läuft über H3-Regenerate-2K und ist wie H3-Context-IR nur über die API verfügbar – lokal ist sie nicht enthalten. Wenn eine Anleitung „2K lokal“ verspricht, ist entweder ein Upscaling-Schritt gemeint oder der API-Pfad.
Beim Ausgabeformat lohnt der Blick in den Workflow selbst: Welche Node nimmt den Prompt, welche erzeugt das Ergebnis, welche speichert es? Plane keine Videokodierung ein, bevor klar ist, dass die Ausgabe sie braucht – und ein Bild-Speicher-Node hilft nicht, wenn am Ende ein anderes Datenformat ankommt. Bei Vorlagen mit Referenzbildern prüfe, wie viele Eingänge vorgesehen sind und welche Rolle jedes Bild spielt; ein Prompt-Beispiel aus dritter Hand mit drei Referenzbildern belegt keine Modellgrenze.
Erst messen, dann umstellen
Für den Ausgangslauf notierst du Ladezeit, Laufzeit, maximale GPU-Speicherbelegung und Auslastung des Arbeitsspeichers, dazu Eingabegröße, Ausgabeeinstellungen und Modellvariante. Ohne diese Angaben sagt „läuft schneller“ nichts. Auf NVIDIA-Hardware hilft nvidia-smi beim Beobachten.
Unterscheide den ersten Lauf von dauerhafter Langsamkeit. Beim ersten Start kosten das Laden der Gewichte und Vorbereitungsschritte Zeit. Wiederhole einen unveränderten Lauf, bevor du eine Änderung bewertest. Steigt dabei die Auslastung des Arbeitsspeichers stark oder arbeitet der Datenträger dauerhaft, spielt Auslagerung eine Rolle – aber ob das bei dir passiert, zeigt nur die Messung an deinem Gerät.
Speicheroptionen vergleichst du einzeln, mit demselben Prompt und denselben Ausgabeeinstellungen. Auslagern in den Arbeitsspeicher kann einen Lauf überhaupt ermöglichen und verlängert ihn zugleich. Geringere Präzision ist ebenfalls kein kostenloser Gewinn: Speicherbedarf, Tempo und je nach Umsetzung auch das Ergebnis verändern sich. Protokolliere deshalb alle drei, statt nur die Zahl in der GPU-Anzeige zu optimieren.
Und halte den ersten erfolgreichen Lauf als Referenz fest: Prompt, Seed, Parameter, Workflow-Datei und Herkunft der Gewichte. Ein identischer Seed erleichtert Wiederholungen, garantiert aber nicht in jeder Umgebung bitgenau dasselbe Ergebnis. Danach jeweils nur eine Variable ändern.
Häufige Fehler und was stattdessen gilt
| Fehler | Was stattdessen gilt |
|---|---|
| Nach einem Wrapper-Repository für ein neues Modell suchen | Zuerst prüfen, ob die Unterstützung nativ ist. Bei MiniMax H3 ist sie über PR #15224 in ComfyUI selbst eingegangen – man aktualisiert, statt zu installieren |
| Ein ähnlich benanntes Node als Ersatz installieren | Namensähnlichkeit beweist keine Kompatibilität. Ein neues Repository für ein neues Modell hat keine Historie, an der man sich orientieren kann |
| Ein Custom Node als Plugin betrachten | Jede Python-Datei unter custom_nodes wird beim Serverstart ausgeführt. Dazu können eigene API-Endpunkte und JavaScript-Erweiterungen kommen |
| Eine Workflow-Datei für harmlos halten, weil sie nur JSON ist | Ein präparierter Workflow kann ein angreifbares Node auf dem Zielsystem ausnutzen. JSON-Workflows werden fast nie vor dem Import gelesen |
| Dem Eintrag im Manager vertrauen | Ein Registry-Eintrag ist keine Code-Prüfung. Der Manager selbst war Gegenstand einer Schwachstellenanalyse |
| Abhängigkeiten oder Installationsskripte ungelesen ausführen | __init__.py, requirements.txt und Installationsskript vorher ansehen: Netzwerkaufrufe, subprocess, base64-Blöcke, Pakete von URLs, Zugriffe auf Browserprofile |
| Annehmen, ein lokal geöffnetes ComfyUI rechne lokal | Nach dem Laden aller Abhängigkeiten den Lauf ohne ausgehende Verbindung wiederholen. Zugangsdaten im Workflow sind ein klares Gegenanzeichen |
| Neue Nodes in der Arbeitsinstallation testen | Getrennte Installation oder gesicherter Zustand. Ein neues Node kann Versionen gemeinsamer Pakete verschieben und bestehende Workflows stoppen |
| Bei Fehlern weitere Downloads auf Verdacht nachladen | Startmeldungen und Fehlerprotokoll lesen. Jeder zusätzliche Download auf Verdacht erschwert die Diagnose |
| Den Node-Stand nicht notieren | Revision festhalten (git rev-parse HEAD). Ohne sie lässt sich eine Abweichung nicht mehr zuordnen |
| „2K lokal“ aus einer Anleitung übernehmen | Bei H3 läuft 2K über H3-Regenerate-2K und ist API-only. Offen sind FL2VA und Ref2VA mit 768 Pixeln kurzer Kante |
| Die Lizenzfrage nach der Installation klären | Bei MiniMax H3 ist die EU ausdrücklich ausgeschlossenes Gebiet. Das gehört vor den Download, nicht danach |
Praktische Handlungsempfehlungen September 2026
Reihenfolge einhalten: Lizenz, dann offizieller Integrationsweg, dann Hardware, dann Workflow. Jeder Schritt kann die folgenden erledigen – und im H3-Fall erledigt schon der erste einiges.
Für H3 konkret: ComfyUI aktualisieren statt eine Erweiterung zu suchen. Die nativen Nodes heißen MiniMaxH3ImageToVideo und MiniMaxH3ReferenceToVideo.
Vor jedem neuen Custom Node die drei Dateien lesen – __init__.py, requirements.txt, Installationsskript – und den Autor statt des Projektnamens prüfen.
Getrennte Installation für Experimente, Paketstand vorher mit python -m pip freeze sichern, funktionierende Workflows vorher kopieren.
Offline-Test nach dem Laden aller Abhängigkeiten, wenn dir wirklich am lokalen Betrieb liegt.
Referenzlauf dokumentieren und danach nur eine Variable pro Durchgang ändern. Messen, bevor du Speicheroptionen umstellst.
Fazit
Die Frage „welchen Node brauche ich“ ist im Kern eine Sicherheitsfrage, und im Fall von MiniMax H3 hat sie eine beruhigende Antwort: gar keinen, die Unterstützung steckt in ComfyUI selbst. Genau solche Fälle machen den Unterschied, weil die Suche nach einem nicht existierenden Wrapper zuverlässig irgendwo endet – nur nicht beim richtigen Repository.
Die zehn Minuten, die eine Prüfung kostet, sind deshalb keine Vorsichtsmaßnahme gegen ein unwahrscheinliches Ereignis. Sie sind der Unterschied zwischen einem Workflow, den du verstehst, und einem, der auf deinem Rechner etwas tut, das du nicht kontrolliert hast.
Quellen und weiterführende Informationen
- Comfy-Org/ComfyUI, Pull Request #15224 „feat: Support MiniMax-H3 (CORE-375)“ von kijai – Grundlage der nativen H3-Unterstützung
- Offizielle ComfyUI-Dokumentation zu MiniMax H3 – Nodes MiniMaxH3ImageToVideo und MiniMaxH3ReferenceToVideo, Gewichte aus Comfy-Org/MiniMax-H3, lokaler Ablauf
- Modellkarte MiniMaxAI/MiniMax-H3 – Modellvarianten, Auflösung, Bildrate, Ton, Clipdauer sowie Lizenz und Antragsformular
- MiniMax H3 Community License Agreement – Definition von Applicable Territory und Excluded Territories
- Snyk Labs: Analyse der Angriffsfläche von ComfyUI-Custom-Nodes – automatischer Import über importlib und exec_module, eigene API-Endpunkte, JavaScript-Erweiterungen, Workflow-JSON als Angriffsweg, Empfehlungen zu Vetting und Isolation
- Berichterstattung zum Vorfall um das Custom Node ComfyUI_LLMVISION (Juni 2024) – Keylogger, Abfluss von Zugangsdaten, Zahlungsdaten und Wallet-Daten
- Dokumentation des jeweiligen Repositories – maßgeblich für Dateinamen, Verzeichnisse, Prüfsummen und erforderliche Zusatzmodelle
Transparenzhinweis: Grundlage dieses Artikels sind die offizielle ComfyUI-Dokumentation, der genannte Pull Request, die Modellkarte und der Lizenztext des Modells sowie eine veröffentlichte Sicherheitsanalyse und Berichterstattung zu einem dokumentierten Vorfall. Wir testen und messen nicht selbst; für diesen Artikel wurden keine Nodes installiert und keine Renderläufe durchgeführt. Die Prüfschritte sind aus den genannten Quellen abgeleitet, nicht aus eigenen Sicherheitstests.
Keine Sicherheitsprüfung deines Systems: Die hier beschriebene Prüfung senkt ein Risiko, sie beseitigt es nicht. Eine Sichtprüfung von Quelldateien erkennt keinen gut versteckten Schadcode, und eine unauffällige Erweiterung kann sich mit einem späteren Update ändern. Wer mit vertraulichem Material arbeitet, trennt die Umgebung und beschränkt den Zugriff auf Zugangsdaten und Schlüsselmaterial. Bei Verdacht auf eine Kompromittierung sind Passwortwechsel und die Prüfung betroffener Konten Sache einer fachlichen Einschätzung, nicht eines Ratgebers.
Lizenz vor Technik, und kein Rechtsrat: Die Angaben zur Lizenz von MiniMax H3 geben den Wortlaut des Lizenztexts zum Stand September 2026 wieder. Ob und unter welchen Bedingungen eine Nutzung in deinem Fall zulässig ist, insbesondere bei gewerblicher Arbeit für Kunden, klärt eine auf IT- und Urheberrecht spezialisierte Rechtsberatung. Lizenzen, Repositories, Modellkarten und verlinkte Nutzungsbedingungen können jederzeit geändert werden – bewahre eine datierte Kopie der Fassung auf, die zum Zeitpunkt deines Downloads galt.
Stand, Netzwerk und Affiliate-Hinweis: Angaben zu Nodes, Dateinamen, Versionen, Auflösungen und Schnittstellen entsprechen dem Stand September 2026; Modellfassungen, Erweiterungen, Treiber und Abhängigkeiten ändern sich. „Lokal“ bedeutet nicht automatisch, dass keine Daten das Gerät verlassen: Eine Erweiterung oder eine optionale Funktion kann Verbindungen herstellen, etwa für Updates. Enthält dieser Artikel Links zu Produkten oder Anbietern, kann es sich um Affiliate-Links handeln; bei einem Kauf darüber erhält aimageddon.de eine Provision, ohne dass sich dein Preis erhöht. Genannte Markennamen sind Warenzeichen der jeweiligen Inhaber und dienen der sachlichen Information.
Affiliate-Hinweis: Dieser Beitrag enthält Affiliate-Links (mit * oder als Amazon-Partnerlink gekennzeichnet). Bei einem Kauf über diese Links erhalten wir eine kleine Provision – für dich entstehen dabei keine zusätzlichen Kosten. Wir empfehlen nur Produkte, die wir für sinnvoll halten.