Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
database-sentinel — Claude Skill qui audite vos projets pour les erreurs de configuration RLS, les clés exposées, les contournements d'authentification et les vulnérabilités de stockage. 27 anti-patrons issus de CVE-2025-48757 et de 10 études de sécurité. Sûr pour la production. | Kitploit
Outils/GitHubGitHub/farenhytee/database-sentinel
Authentification et AutorisationScanners de VulnérabilitésAnalyse de CodeAudit de ConfigurationSécurité CloudDevSecOpsDétection de SecretsMauvaise ConfigurationApprentissage et Éducation

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Sécurité de l'IA
Sécurité des Bases de Données
GitHubfarenhytee/database-sentinel

database-sentinel

Claude Skill qui audite vos projets pour les erreurs de configuration RLS, les clés exposées, les contournements d'authentification et les vulnérabilités de stockage. 27 anti-patrons issus de CVE-2025-48757 et de 10 études de sécurité. Sûr pour la production.

Voir le dépôt
4155il y a 4 moisVérifié par Kitploit
Partager

🛡️ Database Sentinel

Une compétence Claude qui audite vos bases de données backend pour les vulnérabilités de sécurité.

Déposez-la dans Claude Code, Cursor ou tout environnement Claude. Dites « audite ma base de données » et obtenez un rapport de sécurité complet avec le code de correction exact — en quelques minutes, pas en jours.

Plus de 170 applications Lovable ont été compromises. 20,1 millions de lignes ont été exposées parmi les startups YC. Environ 87 000 instances MongoDB ont été laissées vulnérables à MongoBleed (CVE-2025-14847, CISA KEV). 1,8 million de mots de passe Firebase ont fuité lors d'un seul incident en 2025. 45 % du code généré par IA introduit des vulnérabilités OWASP Top 10. Database Sentinel vérifie si votre configuration de sécurité fonctionne réellement — pas seulement si elle est présente.


Ce qu'il fait

Database Sentinel effectue un audit de sécurité en 7 étapes sur le(s) backend(s) utilisé(s) par votre projet :

  1. Détecte quels backends vous utilisez (Supabase, Firebase, MongoDB, Postgres / MySQL auto-hébergés)
  2. Analyse votre codebase pour trouver des identifiants exposés, des clés en dur, des secrets dans git
  3. Inspecte chaque backend — schéma, politiques, règles, utilisateurs, rôles, configuration
  4. Compare les résultats avec des catalogues d'anti-patrons spécifiques au backend issus de CVE, rapports de brèche, benchmarks CIS et recherches sur le vibe-coding 2025–2026
  5. Sonde dynamiquement avec des primitives sûres (tx=rollback, collections canaries, détecteur MongoBleed sur option)
  6. Génère un rapport de sécurité noté avec des explications en français simple et des scénarios d'attaque concrets
  7. Produit le code de correction exact — DDL SQL, fichiers de règles, diffs de configuration, Terraform — copiez, collez, c'est fait

Le raisonnement inter-backend détecte des problèmes que les analyseurs mono-backend ratent (par exemple, un UID Firebase Auth considéré comme fiable par une API Postgres sans vérification JWT).


Statut

Database Sentinel s'appelait auparavant Supabase Sentinel (mono-backend). Le renommage a eu lieu pendant la Phase 1 de l'extension multi-backend. Un shim de rétrocompatibilité dans compat/supabase-sentinel/ préserve l'ancien nom de compétence au moins jusqu'à la prochaine version mineure — les utilisateurs existants ne voient aucune régression.


Démarrage rapide

Option 1 : Claude Code / Cursor

Clonez la compétence dans le répertoire des compétences de votre projet, ou dans un répertoire central :

root@kitploit:~
git clone https://github.com/Farenhytee/database-sentinel.git ~/claude-skills/database-sentinel

Puis demandez à Claude :

root@kitploit:~
Audite ma base de données

Database Sentinel détectera quel(s) backend(s) votre projet utilise, exécutera les audits correspondants et produira un rapport unifié. Si plusieurs backends sont présents (Firebase Auth + données Postgres, etc.), le rapport inclut une section sur les interactions inter-backend une fois la Phase 6 livrée.

Option 2 : Invocation mono-backend

Si vous voulez auditer uniquement un backend spécifique, demandez explicitement :

root@kitploit:~
Audite mon projet Supabase
Audite mon instance MongoDB

Le répartiteur réduit le périmètre.

Option 3 : Manuel (tout assistant IA)

Copiez le contenu de SKILL.md plus le backends/<name>/workflow.md correspondant dans votre prompt système. Parcourez les 7 étapes avec vos identifiants.


Ce qu'il détecte

Supabase (Phase 1) — 27 patrons

MongoDB (Phase 2) — 20 patrons

La sonde réseau MongoBleed (backends/mongodb/mongobleed-probe.md) embarque un détecteur à paquet unique qui confirme l'exploitabilité à l'exécution — vérifié contre mongo:7.0.20 (vulnérable) et mongo:7.0.28 (patché). Il est en lecture seule, verrouillé derrière deux confirmations opt-in, et n'extrait jamais de contenu.


Exemple de sortie

root@kitploit:~
╔════════════════════════════════════════════════════════╗
║                  AUDIT DE SÉCURITÉ SENTINELLE          ║
╠════════════════════════════════════════════════════════╣
║  Backends :   supabase, mongodb                         ║
║  Scanné :     30/04/2026 14:30 UTC                     ║
║  Score :      0/100 🔴                                  ║
║  Résumé :     2 backends, 8 constats (3C / 4H / 1M)    ║
╚════════════════════════════════════════════════════════╝

─────────────────────────────────────────────────────────
  Supabase                                       35/100 🔴
─────────────────────────────────────────────────────────

🔴 CRITIQUE — public.users : RLS désactivée                 [SB-001]

  Risque :   N'importe qui sur Internet peut lire toute votre table users.
  Attaque :  Ouvrir DevTools navigateur → copier clé anon → curl l'API → extraire
             tous les emails, noms et métadonnées.
  Preuve :   curl retourne [{"id":"...","email":"[email protected]",...}]
  Source :   CVE-2025-48757 / Splinter 0013_rls_disabled_in_public

  Correction :
  ALTER TABLE public.users ENABLE ROW LEVEL SECURITY;

  CREATE POLICY "users_select_own"
    ON public.users FOR SELECT TO authenticated
    USING ((SELECT auth.uid()) = id);

─────────────────────────────────────────────────────────
  MongoDB                                         0/100 🔴
─────────────────────────────────────────────────────────

🔴 CRITIQUE — mongod 7.0.20 : MongoBleed (CVE-2025-14847)  [MG-SH-001]

  Risque :   Un seul paquet TCP divulgue des fragments de la mémoire de MongoDB —
             y compris identifiants, requêtes et données documentaires — sans
             nécessiter aucune connexion.
  Attaque :  PoC public disponible depuis le 26 décembre 2025 ; CISA KEV. Des requêtes
             répétées extraient progressivement davantage de l'espace de travail.
  Preuve :   buildInfo.version = "7.0.20" (vulnérable ; patché dans 7.0.28)
             compression zlib activée (par défaut) : true
             Sonde active retourné : vulnérable (opCode=2012, 163 octets)
  Source :   CVE-2025-14847 / CISA KEV / MongoDB Server Security Update Dec 2025

  Correction :
  Mettez à niveau vers 7.0.28+. Atténuation le jour même si la mise à niveau est bloquée :
  net.compression.compressors = "snappy,zstd"  dans mongod.conf

✅ PASSÉ — Supabase : orders, payments, invoices, subscriptions

Structure des fichiers

root@kitploit:~
database-sentinel/
├── SKILL.md                                # Répartiteur — détecte les backends, achemine les audits (~2K tokens)
├── DECISIONS.md                            # Décisions d'architecture verrouillées (D1-D4 + remplacements)
├── core/
│   ├── workflow.md                         # Workflow d'audit universel en 7 étapes
│   ├── detection.md                        # Détection des backends + manifeste JSON
│   ├── scoring.md                          # Poids par backend, agrégation min
│   ├── reporting.md                        # Format de rapport unifié (texte + JSON)
│   └── credentials.md                      # Gestion des clés publiques et privilégiées
├── backends/
│   ├── supabase/                           # Phase 1 — implémenté
│   │   ├── workflow.md                     # Audit en 7 étapes spécialisé pour Supabase
│   │   ├── audit-queries.md                # 20 requêtes SQL pour l'introspection du schéma
│   │   ├── anti-patterns.md                # 27 patrons (SB-001..SB-027)
│   │   └── fix-templates.md                # Modèles de correction SQL (7 patrons RLS + plus)
│   └── mongodb/                            # Phase 2 — implémenté
│       ├── workflow.md                     # Audit en 7 étapes spécialisé pour MongoDB
│       ├── introspection.md                # mongosh + Atlas Admin API + scan IaC
│       ├── anti-patterns.md                # 20 patrons (MG-SH-001..014, MG-AT-001..006)
│       ├── mongobleed-probe.md             # Détecteur à paquet unique sûr CVE-2025-14847
│       ├── fix-templates.md                # Matrice de versions + mongod.conf + validateurs + Atlas TF
│       └── test-recipe.md                  # Recette de test de bout en bout document uniquement
├── compat/
│   └── supabase-sentinel/                  # Shim de rétrocompatibilité (force backend=supabase)
│       └── SKILL.md
├── references/
│   ├── vibe-coding-context.md              # CVE-2025-48757, études de brèches — inter-backend
│   └── cve-feed.md                         # Liste CVE inter-backend (MongoBleed amorcé)
├── assets/
│   └── ci/
│       ├── github-action-supabase.yml      # 1 job — audit de sécurité
│       └── github-action-mongodb.yml       # 3 jobs — IaC statique, audit en direct, sonde MongoBleed
├── README.md                               # ce fichier
├── LICENSE                                 # MIT
├── DECISIONS.md
└── sentinel-implementation-plan.md         # Feuille de route d'extension multi-backend

Comment fonctionne la divulgation progressive : Claude charge uniquement SKILL.md (~2K tokens) plus core/* initialement. Lorsque la détection identifie un backend, le backends/<name>/workflow.md correspondant et les fichiers de référence à la demande sont chargés. Un audit Supabase uniquement ne paie pas le coût du contenu MongoDB ; les futures extensions Firebase / Postgres / MySQL suivent le même schéma.


Surveillance continue (GitHub Actions)

Chaque backend implémenté embarque un modèle de workflow CI :

BackendWorkflowModes de job
Supabaseassets/ci/github-action-supabase.yml

Les workflows se déclenchent sur les modifications de fichiers pertinents (migrations, fichiers de règles, IaC, manifestes de dépendances), cron hebdomadaire (lundi 06:00 UTC) et déclenchement manuel. Ils publient des commentaires PR, téléchargent des artefacts de rapport et font échouer la build sur les constats critiques.

Demandez simplement : « Configure une surveillance de sécurité continue pour ce projet. »


Recherche sous-jacente

La base de données d'anti-patrons de Database Sentinel est sourcée à partir de :

Écosystème Supabase / Firebase / vibe-coding

  • CVE-2025-48757 — 170+ applications Lovable exposées, CVSS 9,3 (Matt Palmer, mai 2025)
  • Escape.tech — 2 000+ vulnérabilités dans 5 600 applications vibe-codées (octobre 2025)
  • Veracode — 45 % du code généré par IA introduit des vulnérabilités OWASP Top 10 (juillet 2025)
  • Carnegie Mellon SusVibes — 82,8 % du code IA fonctionnellement correct était non sécurisé (décembre 2025)
  • SupaExplorer — 11 % des applications indés exposent des identifiants Supabase (janvier 2026)
  • ModernPentest — 20,1 millions de lignes exposées dans 107 startups YC (mars 2026)
  • OpenFirebase / Icex0 (septembre 2025) — ~150 applications Firebase avec lecture/écriture non authentifiée
  • Zendata (mai 2025) — 1,8 million de mots de passe Firebase en texte clair divulgués dans 900+ applications
  • GitGuardian — 19,8 millions de secrets Firebase divulgués dans GitHub public
  • Supabase Splinter — Les 16 lints de sécurité officiels cartographiés et étendus
  • Wiz Research — Contournement d'auth critique dans la plateforme de vibe-coding Base44 (juillet 2025)

MongoDB / Atlas

  • CVE-2025-14847 « MongoBleed » (CVSS 8,7, CISA KEV) — divulgation heap pré-auth, ~87K instances exposées
  • CVE-2024-53900 / CVE-2025-23061 — Injection $where dans populate-match Mongoose
  • CVE-2025-30706 — MongoDB Connector/J critique (Oracle CPU avril 2025)
  • Dépréciation de l'API Data MongoDB Atlas (30 septembre 2025)
  • Suivi Shadowserver / ransomware Meow (opérations continues 2024–2025)
  • CIS MongoDB 7 Benchmark v1.2

Voir references/vibe-coding-context.md et references/cve-feed.md pour l'ensemble complet des citations.


Ce que Database Sentinel détecte et que les outils intégrés ratent


Sécurité

Database Sentinel est conçu pour être sûr en production :

  • Lecture seule par défaut. Les requêtes d'introspection lisent uniquement les catalogues système (pg_tables, pg_policies, getCmdLineOpts, etc.). Pas de DDL ni DML par défaut.
  • Les sondes d'écriture sont opt-in. Stratégie par backend :
    • Supabase — Prefer: tx=rollback (natif PostgREST ; aucune donnée modifiée)
    • Postgres auto-hébergé — BEGIN…ROLLBACK (DDL transactionnel)
    • MongoDB réplica/shardé — session + abortTransaction()
    • MongoDB standalone — insertion+suppression d'une collection canari (nettoyage au mieux, présenté comme opt-in)
    • Firebase — collection canari à /_sentinel_probe/{random}
    • MySQL auto-hébergé — schéma _sentinel_probe + DROP DATABASE (opt-in, destructif — avertissement explicite)
  • Les sondes réseau (MongoBleed) sont double-opt-in. La politique d'audit doit activer les sondes réseau ET l'utilisateur doit confirmer la propriété de l'hôte séparément. Certains outils de surveillance alertent sur le paquet de la sonde, même s'il s'agit d'un test en lecture seule de 42 octets.

Contribuer

Les contributions sont les bienvenues. Les contributions les plus précieuses :

  1. Nouveaux anti-patrons — Vous avez trouvé un problème de sécurité absent de notre base ? Ajoutez-le dans le backends/<name>/anti-patterns.md correspondant avec sévérité, requête de détection, code de correction et preuve réelle (CVE / brèche / Splinter / CIS).
  2. Améliorations des modèles de correction — Meilleurs patrons de politiques, cas limites ou optimisations de performance dans backends/<name>/fix-templates.md.
  3. Tests en direct — Exécutez Database Sentinel contre vos propres backends et signalez les faux positifs / négatifs. Les tests en direct ont permis de détecter trois vrais bugs pendant la Phase 2 (voir annotations « Vérifié empiriquement » dans backends/mongodb/mongobleed-probe.md).
  4. Extensions de nouveaux backends — Les phases 3 à 5 sont ouvertes. Suivez la structure de backends/mongodb/ et backends/supabase/. Le plan d'implémentation (sentinel-implementation-plan.md) contient le contrat pour chacun.
  5. Attribution de patrons de vibe-coding — Lorsque vous trouvez un patron plausiblement généré par IA (Cursor / Bolt / Lovable / Claude Code), documentez-le. C'est le fer de lance du projet.

Comment contribuer

  1. Forkez le dépôt
  2. Créez une branche (git checkout -b ajout-nouveau-patron)
  3. Ajoutez vos modifications avec une documentation claire et des citations
  4. PR avec une description du patron et des preuves

Feuille de route

À livrer prochainement

  • Phase 3 — Firebase (Firestore + RTDB + Storage + Cloud Functions + Remote Config + App Check). La plus grande extension ; sous-modules par produit Firebase pour gérer le budget de tokens.
  • Phase 4 — PostgreSQL auto-hébergé, y compris pgBouncer (détection CVE-2025-12819)
  • Phase 5 — MySQL auto-hébergé (couverture Oracle CPU CVE ; gestion de la dépréciation mysql_native_password pour 8.4+)
  • Phase 6 — Analyse des interactions inter-backend (Firebase Auth → chemins de confiance Postgres, etc.)
  • Phase 7 — Polissage du README (celui-ci), référence rapide BACKENDS.md, calendrier de dépréciation du shim supabase-sentinel

Futur

  • Outil CLI — npx database-sentinel audit pour les environnements non-Claude
  • Serveur MCP — accès programmatique pour CI/CD et tableaux de bord
  • Extension VS Code — avertissements de sécurité en ligne dans l'éditeur
  • Tableau de bord premium — tendances historiques, vues multi-projets, alertes Slack

Historique du nom

  • Supabase Sentinel (v1) — auditeur Supabase mono-backend. Version originale.
  • Sentinel (nom de travail pendant le refactoring architectural de la Phase 1)
  • DB Sentinel (v2, nom de travail transitoire pendant le déploiement multi-backend)
  • Database Sentinel (v3, actuel) — multi-backend ; mot complet « database » pour un cadrage explicite de découverte de compétence et pour correspondre au nom du dépôt GitHub

Le nom de compétence supabase-sentinel fonctionne toujours via le shim de compatibilité dans compat/supabase-sentinel/. Il force l'audit sur Supabase uniquement et produit une sortie indiscernable de la v1. Date de fin de vie : à déterminer ; au moins jusqu'à la prochaine version mineure.


Licence

MIT — utilisez-le comme vous voulez, commercialement ou non.


Conçu pour l'ère du vibe-coding.
Parce que « ça marche » et « c'est sécurisé » sont deux choses très différentes.

Télécharger l’outil
PhaseBackendStatut
1Supabase✅ livré
2MongoDB (auto-hébergé + Atlas)✅ livré
3Firebase (Firestore / RTDB / Storage / Functions / Remote Config)🚧 planifié
4PostgreSQL (auto-hébergé, y compris pgBouncer)🚧 planifié
5MySQL (auto-hébergé)🚧 planifié
6Analyse des interactions inter-backend🚧 planifié
7Distribution + polissage🚧 planifié
SévéritéPatronQuoi
🔴 CRITIQUESB-001 RLS_DISABLEDTables sans sécurité au niveau des lignes — totalement exposées sur Internet
🔴 CRITIQUESB-002 SERVICE_ROLE_EXPOSEDClé service_role dans le code frontend — contourne TOUTE sécurité
🔴 CRITIQUESB-003 POLICIES_BUT_NO_RLSPolitiques écrites mais RLS jamais activée — fausse sécurité
🔴 CRITIQUESB-005 WRITE_USING_TRUEINSERT/UPDATE/DELETE avec USING(true) — n'importe qui peut modifier
🟠 ÉLEVÉSB-006 USING_TRUE_SELECTToutes les lignes lisibles par les utilisateurs anonymes sur des tables sensibles
🟠 ÉLEVÉSB-007 VIEW_NO_SECURITY_INVOKERLes vues contournent RLS, s'exécutent en tant que superutilisateur
🟠 ÉLEVÉSB-008 SECURITY_DEFINER_EXPOSEDFonctions dans le schéma public contournent RLS, appelables via l'API
🟠 ÉLEVÉSB-009 USER_METADATA_IN_POLICYLes politiques référencent des métadonnées modifiables par l'utilisateur — escalade de privilèges
🟠 ÉLEVÉSB-010 UPDATE_NO_WITHCHECKPolitiques UPDATE sans WITH CHECK — risque d'assignation en masse
🟠 ÉLEVÉSB-011 GHOST_AUTHInscriptions avec email non confirmé qui accordent des sessions authentifiées
🟠 ÉLEVÉSB-012 STORAGE_NO_RLSBucket de stockage sans politiques de contrôle d'accès
🟠 ÉLEVÉSB-013 JWT_SECRET_EXPOSEDSecret de signature JWT divulgué — peut forger le token de n'importe quel utilisateur
🟡 MOYEN+ 15 autres patronsVoir backends/supabase/anti-patterns.md
SévéritéPatronQuoi
🔴 CRITIQUEMG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV)Divulgation de mémoire heap pré-auth via un paquet compressé fabriqué. Environ 87K instances exposées lors de la divulgation.
🔴 CRITIQUEMG-SH-002 Auth désactivémongod fonctionnant sans authentification — surface d'attaque du ransomware Meow
🔴 CRITIQUEMG-SH-003 mongod lié à Internet--bind_ip_all + 27017 joignable — associé à MG-SH-002 pour compromission totale
🔴 CRITIQUEMG-AT-001 Liste blanche Atlas 0.0.0.0/0Cluster Atlas joignable depuis n'importe où sur Internet
🟠 ÉLEVÉMG-SH-004 Contournement d'auth localhost + exécution conteneurenableLocalhostAuthBypass true + accès docker exec
🟠 ÉLEVÉMG-SH-005 JS côté serveur activé$where / $function / mapReduce joignables — surface NoSQL-RCE
🟠 ÉLEVÉMG-SH-006 TLS non requisTrafic en clair sur le réseau
🟠 ÉLEVÉMG-SH-007 Rôle privilégié sur un utilisateur applicatifL'application se connecte en tant que root / dbAdminAnyDatabase etc.
🟠 ÉLEVÉMG-SH-008 Document de rôle auto-modifiablefindByIdAndUpdate(id, req.body) + pas de validateur + champ rôle
🟠 ÉLEVÉMG-AT-002 Atlas Function comme passerelle DBInjection NoSQL sur HTTPS — proliféré après la dépréciation de l'API Data
🟠 ÉLEVÉMG-AT-003 Atlas Data API encore dans le codeDéprécié le 30 septembre 2025 ; cassé ET probablement remplacé par des Functions moins auditées
🟡 MOYENMG-SH-009 Mongoose < 8.9.5CVE-2024-53900 / CVE-2025-23061 — injection $where dans populate-match
🟡 MOYEN+ 8 autres patronsVoir backends/mongodb/anti-patterns.md
Un seul job — audit de sécurité (introspection + sondes dynamiques)
MongoDBassets/ci/github-action-mongodb.ymlTrois jobs — scan IaC statique (toujours exécuté, aucun secret), audit en direct (verrouillé sur vars.AUDIT_LIVE == 'true'), sonde MongoBleed (verrouillé sur vars.MONGOBLEED_PROBE == 'true' + confirmation de propriété)
BackendOutil intégréCe qu'il rateDatabase Sentinel couvre
SupabaseSplinter (16 lints)Si les politiques empêchent réellement l'accès non autoriséTests en direct tx=rollback de chaque chemin CRUD contre chaque table
SupabaseSplinterGhost-auth (contournement de confirmation d'email)Sonde d'inscription avec TLD .invalid
SupabaseSplinterAssignation en masse via UPDATE sans WITH CHECK + colonnes sensiblesRecoupe les noms de colonnes avec la forme des politiques
SupabaseSplinterAnalyse du codebaseTrouve les clés service_role dans le code frontend, JWT en dur, fichiers .env commités
MongoDBAtlas AdvisorConfirmation runtime MongoBleedDétecteur au niveau protocole à paquet unique (vérifié contre 7.0.20 + 7.0.28)
MongoDBAtlas AdvisorDocuments de rôle auto-modifiablesRecoupement entre patron source et validateur de collection
MongoDBTrivy / AikidoConfiguration spécifique à Atlas (listes blanches, IAM, CMK)Audit direct via l'API Admin Atlas
MongoDBmongoaudit (abandonné 2018)Actif en 2025+Catalogue de patrons maintenu avec des CVE 2025–2026
  • Les sondes d'auth utilisent le TLD .invalid. Les emails de test utilisent des domaines réservés RFC 6761 qui ne peuvent pas recevoir de courrier.
  • Les identifiants ne sont jamais stockés. Conservés en mémoire pour l'audit, supprimés à la fin. Les rapports masquent les valeurs des identifiants.
  • Open source. Auditez l'auditeur — chaque requête, sonde et patron se trouve dans ce dépôt.