用途:作为 Supabase 安全审计的一部分,检测 service_role(管理员)密钥是否被误泄露到客户端代码中,属 P0 严重问题。
主要能力:搜索包含 service_role 声明的 JWT 密钥;匹配常见变量名(如 SUPABASE_SERVICE_KEY、SUPABASE_SERVICE_ROLE_KEY、SUPABASE_ADMIN_KEY 等);识别与 anon key 一同暴露的意外泄露;检查是否暴露 source maps;区分 anon key(遵循 RLS,可用于客户端)与 service key(绕过 RLS,绝不可用于客户端)。
使用方式:需目标应用可访问,通常先完成 Supabase 检测(必要时自动调用)。基本用法示例:“Check for service key leak on https://myapp.example.com”;深度扫描用“Deep scan for service key exposure on https://myapp.example.com”。执行时须即时写入 .sb-pentest-context.json 与 .sb-pentest-audit.log,证据保存于 .sb-pentest-evidence/02-extraction/service-key-exposure/。
若发现密钥,建议步骤:立即在 Supabase Dashboard > Settings > API 轮换 service_role key;从客户端代码删除并重新部署;审计滥用日志;将特权操作迁移至 Edge Functions。常见成因包括环境变量误用、复制粘贴错误、遗留调试代码或打包配置不当。
限制:作为审计检测技能,资料未提供收费、价格或平台兼容性等信息。