Résumé
Le projet Database Sentinel est un serveur MCP qui effectue des audits de sécurité sur des bases de données Supabase en utilisant Claude Code. Il fournit des outils pour détecter les erreurs de sécurité courantes, telles que les politiques de sécurité définies incorrectement ou les clés de service exposées. Le serveur MCP est conçu pour fonctionner avec n'importe quel client MCP et est open source.
Pourquoi c’est intéressant
Ce projet est intéressant car il montre comment Claude Code peut être utilisé pour créer des outils de sécurité spécialisés qui peuvent être intégrés dans des serveurs MCP. Il démontre également l'importance de la sécurité des bases de données et la nécessité de mettre en place des mesures de protection pour prévenir les attaques.
Comment Claude est utilisé
Le projet utilise Claude Code pour créer un serveur MCP qui effectue des audits de sécurité sur des bases de données Supabase. Le serveur MCP est conçu pour fonctionner avec n'importe quel client MCP, y compris Claude Code, Cursor et Claude Desktop.
Idées dérivées
- 01
Audit de sécurité web
Créer un serveur MCP pour auditer la sécurité des applications web en utilisant Claude Code et des outils de sécurité spécialisés.
- 02
Extension de sécurité pour Claude Code
Développer un plugin pour Claude Code qui permet d'intégrer des outils de sécurité supplémentaires dans le serveur MCP, tels que des scanners de vulnérabilités ou des outils de détection d'intrusions.
- 03
Détection d'anomalies de base de données
Utiliser le serveur MCP comme base pour créer un système de détection d'anomalies pour les bases de données, en utilisant les capacités d'apprentissage automatique de Claude pour identifier les comportements anormaux.
Afficher le post originalMasquer le post original
A few months ago I built Database Sentinel as a Claude Skill. It was a set of instructions, audit queries and fix templates that Claude would follow to check a Supabase (or MongoDB) project for the usual vibe-coding mistakes: RLS off, `USING (true)` policies, SECURITY DEFINER functions anyone can call through `/rpc`, service-role keys sitting in frontend code.
It worked, but it bugged me. A skill is just instructions. It runs with whatever database access Claude already has, and it only works in Claude.
So I turned it into an MCP server. Same audit, but now the tools themselves are locked down, and it works in Claude Code, Cursor, Claude Desktop, or any MCP client.
What it gives your model:
- 20 fixed audit queries (RLS, policies, grants, definer functions, buckets). Nothing else runs.
- Schema with anon/authenticated grants and function bodies. No rows.
- An anon-key probe: "can a stranger read this table?" It returns a status code and row count, never data.
- A repo scan for leaked service-role keys and JWT secrets. It reports file and line, never the value.
It connects as its own `sentinel_auditor` role: read-only, 5s timeout, no SELECT on your tables. There are no write or drop tools. Fixes come back as SQL for you to review.
Does it actually work?
I wrote 25 labeled Supabase projects, and a separate agent wrote 10 of them blind; those are hash-locked as a test set. The audit rules scored F1 0.85 there and caught every critical issue. That's with a single prompt and a small open model.
Then I ran it on two of my own hosted projects. It found real problems. It also found a bug in itself: it called every RLS-off table "exposed" even when anon had no grants on it. That's fixed in 1.0.
Try it
- Claude Code: `claude plugin marketplace add Farenhytee/database-sentinel`, then `claude plugin install database-sentinel@database-sentinel`
- Cursor: one-click button in the README
- Setup guide: https://github.com/Farenhytee/database-sentinel/blob/main/docs/mcp.md
The skill is still there if you prefer it, and it still covers MongoDB. The MCP server is Supabase-only for now. PRs are always welcome.
Happy coding.