
Claude Skill zur Prüfung Ihrer Projekte auf RLS-Fehlkonfigurationen, offengelegte Schlüssel, Authentifizierungsumgehungen und Speicherschwachstellen. 27 Anti-Patterns aus CVE-2025-48757 und 10 Sicherheitsstudien. Produktionstauglich.
Ein Claude-Skill, der deine Datenbank-Backends auf Sicherheitslücken prüft.
Füge ihn in Claude Code, Cursor oder eine beliebige Claude-Umgebung ein. Sage „audit my database“ und erhalte einen umfassenden Sicherheitsbericht mit exaktem Fix-Code – in Minuten, nicht Tagen.
Über 170 Lovable-Apps wurden kompromittiert. 20,1 Mio. Datensätze waren bei YC-Startups exponiert. ~87.000 MongoDB-Instanzen waren anfällig für MongoBleed (CVE-2025-14847, CISA KEV). 1,8 Mio. Firebase-Passwörter wurden in einem einzigen Vorfall im Jahr 2025 geleakt. 45 % der KI-generierten Codes führen OWASP Top 10-Sicherheitslücken ein. Database Sentinel testet, ob deine Sicherheitskonfiguration tatsächlich funktioniert – nicht nur, ob sie vorhanden ist.
Database Sentinel führt eine 7-stufige Sicherheitsprüfung für die Backends durch, die dein Projekt verwendet:
tx=rollback, Canary-Collections, optionalem MongoBleed-Detektor)Backend-übergreifende Analysen erkennen Probleme, die Einzel-Backend-Scanner übersehen (z. B. ein Firebase Auth UID, dem eine Postgres-API ohne JWT-Verifizierung vertraut).
| Phase | Backend | Status |
|---|---|---|
| 1 | Supabase | ✅ ausgeliefert |
| 2 | MongoDB (selbstgehostet + Atlas) | ✅ ausgeliefert |
| 3 | Firebase (Firestore / RTDB / Storage / Functions / Remote Config) | 🚧 geplant |
| 4 | PostgreSQL (selbstgehostet, inkl. pgBouncer) | 🚧 geplant |
| 5 | MySQL (selbstgehostet) | 🚧 geplant |
| 6 | Backend-übergreifende Interaktionsanalyse | 🚧 geplant |
| 7 | Distribution + Feinschliff | 🚧 geplant |
Database Sentinel hieß früher Supabase Sentinel (Einzel-Backend). Die Umbenennung erfolgte während Phase 1 der Multi-Backend-Erweiterung. Ein Abwärtskompatibilitäts-Shim unter compat/supabase-sentinel/ bewahrt den alten Skill-Namen mindestens bis zum nächsten Minor-Release – bestehende Benutzer sehen keine Regression.
Klone den Skill in das Skills-Verzeichnis deines Projekts oder in ein zentrales:
git clone https://github.com/Farenhytee/database-sentinel.git ~/claude-skills/database-sentinel
Dann frage Claude:
Audit my database
Database Sentinel erkennt, welche Backends dein Projekt verwendet, führt die entsprechenden Audits durch und erstellt einen einheitlichen Bericht. Wenn mehrere Backends vorhanden sind (Firebase Auth + Postgres-Daten usw.), enthält der Bericht nach Phase 6 einen Abschnitt zu Backend-übergreifenden Interaktionen.
Wenn du nur ein bestimmtes Backend prüfen möchtest, frage explizit:
Audit my Supabase project
Audit my MongoDB instance
Der Dispatcher schränkt den Umfang ein.
Kopiere den Inhalt von SKILL.md plus das entsprechende backends/<name>/workflow.md in deinen System-Prompt. Durchlaufe die 7 Schritte mit deinen Anmeldeinformationen.
| Schweregrad | Muster | Bedeutung |
|---|---|---|
| 🔴 KRITISCH | SB-001 RLS_DISABLED | Tabellen ohne Row-Level Security – vollständig im Internet exponiert |
| 🔴 KRITISCH | SB-002 SERVICE_ROLE_EXPOSED | service_role-Schlüssel im Frontend-Code – umgeht ALLE Sicherheit |
| 🔴 KRITISCH | SB-003 POLICIES_BUT_NO_RLS | Richtlinien geschrieben, aber RLS nie aktiviert – falsche Sicherheit |
| 🔴 KRITISCH | SB-005 WRITE_USING_TRUE | INSERT/UPDATE/DELETE mit USING(true) – jeder kann ändern |
| 🟠 HOCH | SB-006 USING_TRUE_SELECT | Alle Zeilen für anonyme Benutzer lesbar bei sensiblen Tabellen |
| 🟠 HOCH | SB-007 VIEW_NO_SECURITY_INVOKER | Views umgehen RLS, laufen als Superuser |
| 🟠 HOCH | SB-008 SECURITY_DEFINER_EXPOSED | Funktionen im public-Schema umgehen RLS, über API aufrufbar |
| 🟠 HOCH | SB-009 USER_METADATA_IN_POLICY | Richtlinien referenzieren benutzeränderbare Metadaten – Privilegienerweiterung |
| 🟠 HOCH | SB-010 UPDATE_NO_WITHCHECK | UPDATE-Richtlinien ohne WITH CHECK – Massenzuweisungsrisiko |
| 🟠 HOCH | SB-011 GHOST_AUTH | Anmeldungen mit unbestätigter E-Mail gewähren authentifizierte Sitzungen |
| 🟠 HOCH | SB-012 STORAGE_NO_RLS | Storage-Bucket ohne Zugriffskontrollrichtlinien |
| 🟠 HOCH | SB-013 JWT_SECRET_EXPOSED | JWT-Signing-Secret geleakt – kann Token für jeden Benutzer fälschen |
| 🟡 MITTEL | + 15 weitere Muster | Siehe backends/supabase/anti-patterns.md |
| Schweregrad | Muster | Bedeutung |
|---|---|---|
| 🔴 KRITISCH | MG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV) | Pre-Auth-Heap-Offenlegung durch manipuliertes komprimiertes Paket. ~87K Instanzen zum Zeitpunkt der Offenlegung exponiert. |
| 🔴 KRITISCH | MG-SH-002 Auth deaktiviert | mongod ohne Authentifizierung – Angriffsfläche für Meow-Ransomware |
| 🔴 KRITISCH | MG-SH-003 Internet-gebundener mongod | --bind_ip_all + 27017 erreichbar – gepaart mit MG-SH-002 für vollständige Kompromittierung |
| 🔴 KRITISCH | MG-AT-001 Atlas Allowlist 0.0.0.0/0 | Atlas-Cluster von überall im Internet erreichbar |
| 🟠 HOCH | MG-SH-004 Localhost-Auth-Bypass + Container-Ausführung | enableLocalhostAuthBypass true + docker exec-Zugriff |
| 🟠 HOCH | MG-SH-005 Serverseitiges JS aktiviert | $where / $function / mapReduce erreichbar – NoSQL-RCE-Angriffsfläche |
| 🟠 HOCH | MG-SH-006 TLS nicht erforderlich | Klartextverkehr auf der Leitung |
| 🟠 HOCH | MG-SH-007 Privilegierte Rolle für App-Benutzer | App verbindet sich als root / dbAdminAnyDatabase usw. |
| 🟠 HOCH | MG-SH-008 Selbständerbares Rollendokument | findByIdAndUpdate(id, req.body) + kein Validator + Rollenfeld |
| 🟠 HOCH | MG-AT-002 Atlas Function als DB-Durchgang | NoSQL-Injection über HTTPS – nach Data-API-Abkündigung stark verbreitet |
| 🟠 HOCH | MG-AT-003 Atlas Data API noch im Code | Am 30. September 2025 eingestellt; defekt UND wahrscheinlich zu weniger geprüften Functions verschoben |
| 🟡 MITTEL | MG-SH-009 Mongoose < 8.9.5 | CVE-2024-53900 / CVE-2025-23061 – populate-match $where-Injection |
| 🟡 MITTEL | + 8 weitere Muster | Siehe backends/mongodb/anti-patterns.md |
Der MongoBleed-Netzwerkprobe (backends/mongodb/mongobleed-probe.md) enthält einen Ein-Paket-Detektor, der die Ausnutzbarkeit zur Laufzeit bestätigt – verifiziert gegen mongo:7.0.20 (anfällig) und mongo:7.0.28 (gepatcht). Er ist schreibgeschützt, durch zwei Opt-in-Bestätigungen abgesichert und extrahiert niemals Inhalte.
╔════════════════════════════════════════════════════════╗
║ SENTINEL SECURITY AUDIT ║
╠════════════════════════════════════════════════════════╣
║ Backends: supabase, mongodb ║
║ Scanned: 2026-04-30 14:30 UTC ║
║ Score: 0/100 🔴 ║
║ Summary: 2 backends, 8 findings (3C / 4H / 1M) ║
╚════════════════════════════════════════════════════════╝