4.6 KiB
4.6 KiB
Vendoo 1.31.0 – Ist- und Lückenanalyse
Stand der Prüfung: 09.07.2026
Geprüfte Basis: Vendoo_Feature_1_31_0_Multiuser_Security_Foundation.zip
Verifizierte SHA-256 der Basis: cad2670d663c98964b7c3b4e95e5f6e475a3bcae12921339a0a84576b77d325b
Die Bewertung basiert auf dem real enthaltenen Code. Paketnamen und Dokumentation wurden nicht als alleiniger Funktionsnachweis verwendet.
| Bereich | Status in 1.31.0 | Reale Fundstelle | Risiko/Lücke | Änderung in 1.32.0 |
|---|---|---|---|---|
| Versionen | bestätigt | package.json, Lockfile, UI-Build und Manifest = 1.31.0 |
keine | auf 1.32.0 synchronisiert |
| Rollen/RBAC | bestätigt | lib/security.mjs, globaler apiPermissionGuard |
einzelne Sonderrouten bleiben zusätzlich manuell zu beobachten | unverändert erhalten |
| Sessions/Login-Schutz | bestätigt, Setup-Ausnahme riskant | lib/auth.mjs, gehashte Tokens, Sperrlogik, Widerruf; requireAuth übersprang im Setup-Modus alle APIs |
vor erstem Admin waren geschützte API-Routen unnötig offen; kein Offline-Notfallreset für verlorenen letzten Admin | API im Setup-Modus gesperrt; Notfallreset als Folgepunkt dokumentiert |
| CSRF/Cookies | vorhanden | Double-Submit-Cookie und Header, HttpOnly, dynamisches Secure, SameSite=lax |
Cookie-Modus nicht konfigurierbar; Proxyannahme nur boolesch/ein Hop | Cookie-Modus konfigurierbar, Proxy-Hops/Scopes unterstützt |
| CORS/Origin | vorhanden, unvollständig | Host-/Origin-Middleware in server.mjs |
jede Browser-Extension-Origin wurde pauschal akzeptiert | in Produktion nur konkrete Extension-Origins, unsicherer Opt-in separat |
| Audit/Locks | bestätigt | Audit-Log, resource_locks, Adminansicht |
keine kritische Deployment-Lücke | erhalten |
| Health | teilweise | /healthz liefert Prozessstatus |
keine Readiness-, DB- oder Schreibpfadprüfung | /readyz mit DB- und Volume-Schreibtest |
| Shutdown | fehlt | direkter app.listen() ohne Signalbehandlung |
WAL/Jobs können beim Containerstopp hart beendet werden | SIGTERM/SIGINT, Server-Close, WAL-Checkpoint, DB-Close |
| Datenbankpfad | unvollständig | fest db/vendoo.db im Codeordner |
Container-Image und Nutzerdaten nicht sauber trennbar | VENDOO_DB_PATH und zentrale Laufzeitpfade |
| Uploadpfad | unvollständig | fest uploads/ im Codeordner |
keine getrennte Persistenz; öffentlich statisch erreichbar | konfigurierbarer Pfad, Zugriff hinter Anmeldung |
| Uploadprüfung | Sicherheitsrisiko | Dateiendung oder image/* genügte |
manipulierbarer MIME-Typ konnte beliebige Endungen umgehen | Endung und Bild-MIME erforderlich; Größenlimit bleibt aktiv |
| Backups | bestätigt, aber codegebunden | verifizierte ZIPs mit DB/Uploads in operations-center.mjs |
Pfade fest an Projektroot; Live-Volume-Kopie nicht dokumentiert | separate Backup-/Operations-Volumes und sichere Stop/Backup/Start-Anleitung |
| Restore/Update | vorhanden, gestuft | Operations Center und setup.ps1 |
Container darf Anwendungscode nicht in-place überschreiben | Docker-Update nur über neues Image; Windows-Update bleibt erhalten |
| Docker/Compose | fehlt | keine entsprechenden Dateien | kein reproduzierbarer NAS-/Produktionsbetrieb | Dockerfile, Compose, Healthcheck, non-root, read-only, Volumes |
| Reverse Proxy | teilweise | Host/Origin, PUBLIC_BASE_URL, trust proxy |
kein fertiger Produktionsleitfaden | HTTPS-/Proxy-Dokumentation und sichere Standardbindung |
| FLUX/ComfyUI | getrennt im Konzept | externer URL-Endpunkt; lokaler Windows-Installer | Bootstrap schreibt in Projektordner und passt nicht zu read-only Container | Container startet standardmäßig ohne FLUX; externer Dienst bleibt optional |
| Browser-Erweiterungen | real vorhanden | Chrome/Edge/Firefox/Safari-Strukturen und Pakete | Remote-Kopplung nutzt weiterhin Login-Cookie statt widerrufbarem Extension-Token | CORS gehärtet; Tokenkopplung bleibt geplanter 1.34.0-Slice |
| UI-Begriffe/Kernbereiche | weitgehend bestätigt | Navigation, Artikel, Galerie, SmartCopy, Publish und Erweiterungen im realen HTML/JS | vollständige Browser-End-to-End-Abnahme nicht statisch beweisbar | keine unnötige UI-Neuentwicklung in diesem Deployment-Slice |
| VTO | entfernt | kein aktiver FASHN-/VTO-Dienst; freier FLUX-Workflow ohne LoadImage |
historische Dokumente enthalten weiterhin Kontext | keine VTO-Rückkehr |
Ergebnis
1.31.0 besitzt eine echte Mehrbenutzer- und Sicherheitsgrundlage, war aber noch kein sauber containerisierbarer Produktionsstand. Die Hauptlücken lagen in der festen Kopplung von Code und Nutzerdaten, fehlender Readiness, fehlendem geordneten Shutdown, fehlenden Containerdateien sowie zu breiten Extension-Origin- und Uploadregeln.