Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
database-sentinel — 面向 Supabase 的开源安全审计工具:一个只读 MCP 服务器、一个 CLI 代理和一个 Claude Skill。可发现 RLS 配置错误、暴露的密钥和高风险函数,并返回带有修复 SQL 的评分报告。托管版本:Locksoup。 | Kitploit
工具/GitHubGitHub/farenhytee/database-sentinel
身份验证与授权漏洞扫描器代码分析配置审计云安全DevSecOps秘密检测错误配置学习与教育AI 安全数据库安全
4153414天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
farenhytee/database-sentinel

database-sentinel

面向 Supabase 的开源安全审计工具:一个只读 MCP 服务器、一个 CLI 代理和一个 Claude Skill。可发现 RLS 配置错误、暴露的密钥和高风险函数,并返回带有修复 SQL 的评分报告。托管版本:Locksoup。

查看仓库网站

🛡️ Database Sentinel

ci

针对你的数据库后端的安全审计。 只需说“审计我的数据库”,即可获得一份带评分的报告以及精确的修复代码。

可作为 Claude Skill(Supabase、MongoDB)、面向任何 AI 客户端的只读 MCP 服务器,或使用你自己模型的 CLI agent(两者均支持 Supabase)运行。

→ MCP 服务器设置与使用指南

→ 不想自己运行?Locksoup 是托管版本:带定时复查和告警的 Supabase 安全审计。


更新日志

2026-10-01 (v1.0.1)

  • 修复: 不带 WITH CHECK 的 UPDATE 策略不再被报告为允许用户重新分配行所有权(Postgres 会复用 USING 作为检查)。Q8 的标签和 agent 提示词此前说法相反,导致在真实项目上产生错误的批量赋值发现。
  • 基准测试:来自该项目的新的开发用例 027。测试 F1 不变(0.836 对 0.838,同一天)。运行结果。

2026-09-30 (文档)

  • MCP 流程已基准测试: 一个模型通过 stdio 驱动真实服务器,测试 F1 得分为 0.865,精确率 0.905,严重项召回率 1.0(结果)。测试框架:evals/mcp_client.py,评估系统 m。

v1.0.0 (2026-09-30):MCP 服务器发布

  • MCP 服务器 v1.0: 四个只读 Supabase 工具、一个 audit 提示词以及目录资源。端到端基准测试:一个模型通过 stdio 驱动服务器,测试 F1 得分为 0.865,严重项召回率 1.0。
  • 已在托管 Supabase 上验证: 会话池化器、带 BYPASSRLS 的只读角色、全部 20 条查询。
  • 更少的误报:
    • Q1 现在检查 API 授权:RLS 关闭但 anon/authenticated 已被撤销时,不再被报告为暴露。
    • 审计提示词知道 SECURITY INVOKER 函数只拥有调用者的权限。
    • 在真实项目上发现;新的开发用例 026。
  • 固定版本: 在任何 uvx/pipx 命令中使用 git+https://github.com/Farenhytee/[email protected]。Claude Code 插件会自动固定版本。
  • 标准审计现已成为 CLI 默认: 一个提示词加上 anon 探测验证,每次审计约 $0.0007 和约 15 秒。--deep 运行使用工具的 agent,在我们的基准测试中得分相同,但成本约为 5 倍。

v0.2.1 (2026-09-30)

  • 测试 F1: agent 0.782 → 0.831,单提示词 0.766 → 0.849。无崩溃或超时(结果)。
  • 修复:
    • 错误的工具参数不再终止审计;错误会返回给模型。
    • OpenRouter 调用路由到最快的提供商(慢的会导致超时)。
    • agent 的最终发现步骤不再列出它已排除的候选。

v0.2.0 (2026-09-29)

  • 已发布的测试结果: agent F1 0.782,单提示词 0.766,规则 0.559,在盲测、锁定的 10 用例测试集上,各运行 3 次(结果)。
  • 基准: 25 个标注用例(15 个开发,10 个盲测)。
  • Agent:
    • 验证步骤: 以 anon 身份探测,确认可利用的发现。
    • --fix: 为你选择的发现打印修复 SQL。它从不被执行。
    • 成本报告: 每次审计的 token、$ 和工具调用。
  • CI: 免费的仅规则回归门禁。

2026-09-29

  • 一条命令安装: Claude Code 插件(skill + MCP 服务器,提示输入你的连接字符串)以及一个 Add to Cursor 按钮。
  • 从 GitHub 安装: MCP 服务器(uvx --from git+… sentinel-mcp)和 agent(pipx install "database-sentinel[agent] @ git+…")各一条命令。
  • sentinel-mcp --role-sql 打印只读角色设置 SQL。
  • 更清晰的错误:MCP 客户端现在能看到调用失败的原因,CLI 打印单行错误。

2026-09-28

  • 新增:MCP 服务器 用于 Supabase。四个只读工具、一个 audit 提示词以及作为资源的模式目录。你自己的 LLM 进行分析,因此免费。
  • 新增:lite agent(sentinel-audit)。一个 LangGraph 流水线,可与任何 OpenAI 兼容模型配合使用:OpenRouter、OpenAI 或本地 Ollama。
  • 新增:基准测试 + 评估。 10 个标注的 Supabase 用例,在规则基线、单提示词基线和 agent 之间比较精确率/召回率/F1。
  • 修复: 六条 Supabase 审计查询。Q8(不带 WITH CHECK 的 UPDATE)从未匹配任何内容,Q16 和 Q19 遗漏了最小权限角色的行,Q6、Q13 和 Q14 的条件有误。

快速开始

Claude Code 一次性安装审计 skill 和 MCP 服务器(需要 uv):

claude plugin marketplace add Farenhytee/database-sentinel
claude plugin install database-sentinel@database-sentinel

Supabase 用户:创建只读登录(步骤 1),然后在 Claude Code 中运行 /plugin configure database-sentinel@database-sentinel。然后询问:Audit my database。

Cursor   Add to Cursor

其他 MCP 客户端及完整设置: MCP 指南

更多安装方式

仅 Skill(Claude Code 会自动识别):

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

CLI agent(Supabase,自带模型):

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

默认审计是一个提示词加上 anon 探测验证。--deep 改为运行使用工具的 agent:在我们的基准测试中精度相同,成本约为 5 倍。--fix 为你选择的发现打印修复 SQL;它从不被执行。


它能捕获什么

后端模式示例
Supabase27(目录)RLS 禁用、前端中的 service-role key、USING (true)、绕过 RLS 的视图、暴露的 SECURITY DEFINER 函数、策略中的 user_metadata、批量赋值、公开 bucket
MongoDB20(目录)MongoBleed (CVE-2025-14847)、认证禁用、0.0.0.0/0 Atlas 允许列表、服务端 JS、特权应用用户

完整表格见附录 A。

安全性

  • 默认只读。 仅读取系统目录。MCP 服务器和 agent 无法写入、删除或丢弃任何内容。
  • 你的行数据从不被读取。 审计角色无权访问表数据。仓库扫描报告文件和行号,从不报告密钥值。
  • 写入和网络探测为可选(仅 Skill)。详情见附录 D。

状态

后端SkillMCP 服务器 / agent
Supabase✅✅
MongoDB✅计划中
Firebase、Postgres、MySQL、跨后端计划中计划中

许可证

MIT。例外:database_sentinel/agent/、database_sentinel/mcp_server/ 和 database_sentinel/kb/ 为 AGPL-3.0(见各自的 LICENSE)。


附录

A. 模式亮点

Supabase

严重性模式说明
🔴 CRITICALRLS_DISABLED没有行级安全性的表完全暴露
🔴 CRITICALSERVICE_ROLE_EXPOSED前端代码中的 service_role key 绕过所有安全
🔴 CRITICALPOLICIES_BUT_NO_RLS编写了策略但从未启用 RLS
🟠 HIGHUSING_TRUE写入或私有数据上的 USING (true)
🟠 HIGHVIEW_NO_SECURITY_INVOKER视图绕过 RLS 并以所有者身份运行
🟠 HIGHSECURITY_DEFINER_EXPOSED可通过 API 调用的绕过 RLS 的函数
🟠 HIGHUSER_METADATA_IN_POLICY策略信任用户可编辑的元数据
🟠 HIGHMASS_ASSIGNMENT用户可以更新自己行上的权限/计费列
🟠 HIGHGHOST_AUTH未确认的注册获得已认证会话
🟠 HIGHJWT_SECRET_EXPOSED泄露的签名密钥让攻击者伪造任何 token
🟡 MEDIUM+ 17 更多anti-patterns.md

MongoDB

严重性模式说明
🔴 CRITICALMG-SH-001 MongoBleed (CVE-2025-14847, CISA KEV)认证前堆内存泄露;披露时约 87K 实例暴露
🔴 CRITICALMG-SH-002 认证禁用无认证(Meow 勒索软件攻击面)
🔴 CRITICALMG-SH-003 面向互联网的 mongod--bind_ip_all + 可达的 27017
🔴 CRITICALMG-AT-001 Atlas 允许列表 0.0.0.0/0集群可从任何地方访问
🟠 HIGHMG-SH-005 服务端 JS 启用$where / $function / mapReduce 可达
🟠 HIGHMG-SH-007 特权应用用户应用以 root / dbAdminAnyDatabase 连接
🟠 HIGHMG-AT-002 Atlas Function 直通通过 HTTPS 的 NoSQL 注入
🟡 MEDIUM+ 13 更多anti-patterns.md

MongoBleed 探测(mongobleed-probe.md)是一个单包、只读检测器。它已针对 mongo:7.0.20(易受攻击)和 7.0.28(已修补)验证,并且仅在两次可选确认后运行。

B. Skill 如何审计

  1. 检测后端。2. 扫描代码中的暴露凭据。3. 内省 schema、策略和配置。4. 与反模式目录匹配。5. 安全探测(可选)。6. 评分并报告。7. 生成修复代码。

只有 SKILL.md(约 2K token)和 core/* 会预先加载;每个后端的文件仅在该后端被检测到时加载。

C. 示例输出

下载工具