用途
Supabase Pentest Skills 是一套模块化的安全审计框架,提供 24 个 AI 智能体技能,用于对使用 Supabase 的应用进行专业安全审计。根据资料,它被设计用于获授权的开发团队进行内部自我评估。资料明确强调:这些技能仅用于授权测试,使用者必须拥有目标应用或获得明确的审计许可。
主要能力
工具包按功能划分为多个技能组:
- 编排与取证:supabase-pentest(主编排器,提供引导式分步审计)、supabase-evidence(初始化专业证据收集)、supabase-help(快速参考)。
- 检测与提取:supabase-detect(从 HTML/JS 检测 Supabase 使用)、supabase-extract-url(提取项目 URL)、supabase-extract-anon-key(提取 anon/公开 API 密钥)、supabase-extract-service-key(重点检测泄露的 service_role 密钥)、supabase-extract-jwt(提取并解码 JWT)、supabase-extract-db-string(检测暴露的数据库连接字符串)。
- API 与 RLS 测试:supabase-audit-tables-list(列出暴露的 PostgREST 表)、supabase-audit-tables-read(尝试读取数据)、supabase-audit-rls(测试行级安全策略)、supabase-audit-rpc(测试暴露的 RPC 函数)。
- 存储与认证:supabase-audit-buckets-list(列出存储桶)、supabase-audit-buckets-read(测试文件访问)、supabase-audit-buckets-public(检测公开桶配置错误)、supabase-audit-auth-config(分析认证配置)、supabase-audit-auth-signup(测试开放注册)、supabase-audit-auth-users(测试用户枚举)、supabase-audit-authenticated(创建测试用户以检测 IDOR)。
- 实时、函数与报告:supabase-audit-realtime(测试 Realtime 通道)、supabase-audit-functions(测试 Edge Functions)、supabase-report(生成综合报告)、supabase-report-compare(对比两次审计报告)。
使用方式
安装采用命令行方式,可整体安装全部 24 个技能,也可按技能包或单个技能安装:
- 全部安装:npx skills add yoanbernabeu/supabase-pentest-skills
- 仅检测:npx skills add yoanbernabeu/supabase-pentest-skills --skill supabase-detect
- 密钥提取包(5 个技能):--pack supabase-extraction
- API 审计包(4 个技能):--pack supabase-audit-api
- 存储审计包(3 个技能):--pack supabase-audit-storage
- 认证与 IDOR 测试包(4 个技能):--pack supabase-audit-auth
- 全局安装(所有项目):-g
- 列出可用技能:--list
推荐的专业流程为:创建审计目录后安装技能,并下载代理配置模板(curl -o CLAUDE.md https://raw.githubusercontent.com/yoanbernabeu/supabase-pentest-skills/main/templates/CLAUDE.md),随后启动 AI 智能体并运行 /supabase-pentest。
资料列出多种使用模式,包括:完整引导式审计(依次初始化证据、系统执行全部 24 个技能、记录每一步、保存证据、生成最终报告);定向凭证提取;RLS 策略测试;IDOR 检测(创建测试用户、尝试跨用户访问、测试权限提升、记录概念验证);存储安全审计;以及对比两次审计报告以查看新增漏洞、已修复问题与安全评分变化。
状态与证据文件
所有技能通过文件共享状态,包括 .sb-pentest-context.json(目标 URL、Supabase URL、anon 密钥、service 密钥是否泄露、P0/P1/P2 发现、暴露的表、公开桶、测试用户等)、.sb-pentest-audit.log(审计日志)以及 .sb-pentest-evidence/ 证据目录(含 README 索引、可复现的 curl-commands.sh、时间线 timeline.md 与按阶段归档的发现文件)。资料提供了上述文件的格式示例。
报告与配置
supabase-report 可生成带严重性分级(P0/P1/P2)与修复建议的 Markdown 报告,示例中包含安全评分、执行摘要、关键发现(如客户端代码暴露 service role 密钥、users 表未启用 RLS)、修复建议(轮换密钥、启用 RLS、创建策略、公开桶改为私有或加存储策略等)以及修复清单。
配置方面,技能以上下文文件替代环境变量,但支持 SUPABASE_PENTEST_TARGET、SUPABASE_PENTEST_AUTO_CONFIRM、SUPABASE_PENTEST_EVIDENCE_DIR 等环境变量,并可下载 CLAUDE.md 模板以约束执行规则(先进入计划模式、先初始化证据、系统执行全部技能、每个技能后更新上下文与日志、生成最终报告等)。资料还给出了与 GitHub Actions 集成的示例,用于按月定时审计。
限制与注意事项
资料明确该工具仅限授权测试使用,必须拥有目标应用或获得明确许可。资料中说明的已知问题包括:目标未使用 Supabase 或密钥动态加载时可能检测不到;可能遭遇 Supabase API 限流(技能会自动降速,持续限流需等待 5 分钟后重试);可能找不到表(未暴露表或密钥无效);上下文文件缺失通常因技能执行顺序错误;测试用户创建失败可能因注册被禁用或需要邮箱验证。关于收费、价格与具体平台支持范围,资料未提供更多信息。