
Open-source security audits for Supabase: a read-only MCP server, a CLI agent and a Claude Skill. Finds RLS misconfigurations, exposed keys and risky functions, and returns a scored report with fix SQL. Hosted version: Locksoup.
Security audits for your database backend. Ask "audit my database" and get a scored report with exact fix code.
Works as a Claude Skill (Supabase, MongoDB), a read-only MCP server for any AI client, or a CLI agent that uses your own model (both Supabase).
→ MCP server setup and usage guide
→ Don't want to run it yourself? Locksoup is the hosted version: a Supabase security audit with scheduled re-checks and alerts.
2026-10-01 (v1.0.1)
2026-09-30 (docs)
evals/mcp_client.py, eval system m.v1.0.0 (2026-09-30): MCP server release
audit prompt and the catalog resources. Benchmarked end to end: a model driving the server over stdio scored test F1 0.865, with critical recall 1.0.BYPASSRLS, all 20 queries.anon/authenticated revoked isn't reported as exposed.026.git+https://github.com/Farenhytee/[email protected] in any uvx/pipx command. The Claude Code plugin is pinned automatically.--deep runs the tool-using agent, which scored the same on our bench at ~5× the cost.v0.2.1 (2026-09-30)
v0.2.0 (2026-09-29)
--fix: prints fix SQL for findings you pick. It's never executed.2026-09-29
uvx --from git+… sentinel-mcp) and the agent (pipx install "database-sentinel[agent] @ git+…").sentinel-mcp --role-sql prints the read-only role setup SQL.2026-09-28
audit prompt and the pattern catalog as resources. Your own LLM does the analysis, so it's free.sentinel-audit). A LangGraph pipeline that works with any OpenAI-compatible model: OpenRouter, OpenAI, or local Ollama.Claude Code installs the audit skill and the MCP server in one go (needs uv):
claude plugin marketplace add Farenhytee/database-sentinel
claude plugin install database-sentinel@database-sentinel
Supabase users: create the read-only login (step 1), then run /plugin configure database-sentinel@database-sentinel in Claude Code. Then ask: Audit my database.
Other MCP clients, and full setup: MCP guide
Skill only (Claude Code picks it up automatically):
git clone https://github.com/Farenhytee/database-sentinel.git ~/.claude/skills/database-sentinel
CLI agent (Supabase, bring your own model):
pipx install "database-sentinel[agent] @ git+https://github.com/Farenhytee/database-sentinel"
export SENTINEL_BASE_URL=http://localhost:11434/v1 SENTINEL_MODEL=<model> # Ollama, or any OpenAI-compatible API + SENTINEL_API_KEY
sentinel-audit --dsn "postgresql://sentinel_auditor:<password>@<host>:5432/postgres" \
--rest-url https://<ref>.supabase.co --anon-key <anon key> --repo ./my-app
The default audit is one prompt plus anon-probe verification. --deep runs a tool-using agent instead: same accuracy on our bench, ~5× the cost. --fix prints fix SQL for the findings you pick; it's never executed.
| Backend | Patterns | Examples |
|---|---|---|
| Supabase | 27 (catalog) | RLS disabled, service-role key in frontend, USING (true), views bypassing RLS, exposed SECURITY DEFINER functions, user_metadata in policies, mass assignment, public buckets |
| MongoDB | 20 (catalog) | MongoBleed (CVE-2025-14847), auth disabled, 0.0.0.0/0 Atlas allowlist, server-side JS, privileged app user |
Full tables are in Appendix A.