Sicherheits-Updates
Vollständige Transparenz über alle Sicherheitsverbesserungen, Patches und Härtungsmaßnahmen.
E-Mail-Datenleck bei Investoren-Geboten geschlossen
Anonyme und authentifizierte Nutzer konnten über die acquisition_bids-Tabelle E-Mail-Adressen aller Bieter auslesen. Anon-Policy entfernt, sichere get_public_bids()-Funktion erstellt, authentifizierte Nutzer sehen nur noch Daten ohne E-Mail.
Chat-Anhänge für alle Nutzer lesbar (IDOR)
Jeder eingeloggte Nutzer konnte alle Chat-Anhänge anderer Nutzer herunterladen. Storage-Policies auf Datei-Eigentümer und Konversations-Teilnehmer beschränkt.
Realtime-Channels ohne Autorisierung
Authentifizierte Nutzer konnten beliebige Realtime-Channels abonnieren und fremde Nachrichten, Anrufe und Gebote mitlesen. acquisition_bids aus Realtime-Publication entfernt, Quell-Tabellen durch RLS geschützt.
Einladungen ohne Code-Kenntnis akzeptierbar
Jeder authentifizierte Nutzer konnte beliebige unbenutzte Einladungen per UUID akzeptieren, ohne den Einladungscode zu kennen. Direktes UPDATE entfernt, nur noch über accept_invitation()-Funktion mit Code-Verifikation möglich.
Profile für Chat-Partner sichtbar gemacht
Profile konnten nur vom eigenen Nutzer gelesen werden. Chat-Partner sahen keine Anzeigenamen oder Avatare. Neue RLS-Policy erlaubt Profil-Leserechte für Konversations-Teilnehmer.
Leaked Password Protection aktiviert
Passwörter werden jetzt bei Registrierung und Änderung gegen die HaveIBeenPwned-Datenbank geprüft. Kompromittierte Passwörter werden abgelehnt.
Storage UPDATE-Policy hinzugefügt
Für den chat-attachments-Bucket fehlte eine UPDATE-Policy. Nur der ursprüngliche Uploader kann Dateien jetzt aktualisieren.
Rate-Limiting auf alle Edge Functions
Brute-Force-Schutz mit maximal 5 Versuchen pro IP / 15 Minuten auf Passwort-Reset und Account-Löschung. Neue rate_limits-Tabelle mit automatischer Bereinigung.
Input-Validierung mit Zod in allen Edge Functions
Strikte Validierung aller Eingaben: Username max. 20 Zeichen [a-z0-9_], Recovery-Codes formatgeprüft, Passwörter 8-128 Zeichen. Verhindert Injection-Angriffe.
RLS-Policies komplett überarbeitet
E-Mail-Adressen in acquisition_bids nur noch für Admins sichtbar. Invitations-UPDATE eingeschränkt. contact_submissions und acquisition_bids INSERT nur noch für authentifizierte Nutzer.
CORS auf Origin eingeschränkt
Alle Edge Functions akzeptieren nur noch Requests von ghostcom.chat statt von beliebigen Origins (*). Verhindert Cross-Site-Request-Forgery.
Panic Wipe löscht jetzt den Auth-Account
Der Emergency Wipe löscht nicht mehr nur lokale Daten, sondern ruft die delete-account Edge Function auf und entfernt den Account permanent aus dem System.
File-Upload gehärtet
Upload-Limit von 20 MB auf 10 MB reduziert. MIME-Type-Whitelist implementiert. Dateinamen werden sanitiert gegen Path-Traversal-Angriffe.
Security Dashboard & Login-Anomalie-Erkennung
Neues Security Dashboard mit Security Score, Verschlüsselungsstatus, Login-History und Anomalie-Erkennung. Unbekannte Geräte werden markiert.
Passwort-Stärke-Anzeige
Echtzeit-Bewertung der Passwortstärke bei Registrierung und Passwortänderung. Prüft Länge, Komplexität und bekannte schwache Passwörter.
Nachrichten-Integritätsprüfung (SHA-256)
Jede verschlüsselte Nachricht erhält einen Integritäts-Hash. Empfänger können Manipulation erkennen. Schild-Icon zeigt verifizierte Nachrichten.
Screenshot-Guard: Auto-Lock
Chat wird automatisch gesperrt wenn die App den Fokus verliert (Tab-Wechsel, Screenshot-Versuch). Schützt vor unbefugtem Zugriff.
Global Sign-Out
Abmelden beendet jetzt alle aktiven Sessions auf allen Geräten gleichzeitig. Verhindert Session-Hijacking.
Responsible Disclosure: security@ghostcom.chat