用途:这是一个数据库安全审计技能,聚焦数据层安全,包括行级安全(RLS)强制、零信任数据库架构与取证审计追踪,主要面向 Supabase、Postgres 和 Convex。通用应用安全(OWASP Top 10、认证模式、安全响应头、输入校验)由 security 技能负责,本技能作为其补充。
主要能力:RLS 覆盖检查与策略审查;service_role 密钥暴露审计;函数审计(security definer 函数、Convex 缺失认证守卫);视图审计(security_invoker);审计追踪验证(触发器、PGAudit);合规校验。
审计流程:攻击面映射、RLS 覆盖检查、策略审查、service role 审计、函数审计、访问模拟、视图审计、审计追踪验证、合规校验。
关键实践:每张公开表启用 RLS 并按操作拆分策略;为 RLS 列建索引,将 auth.uid() 包裹为 (select auth.uid());Convex 每个公开函数调用 ctx.auth.getUserIdentity();service_role 密钥仅限服务端;视图设置 security_invoker = true(Postgres 15+);使用触发器与 PGAudit 记录审计日志。
常见错误:未包裹 auth.uid()、使用 FOR ALL 而非分操作策略、anon 角色可读敏感表、RLS 列无索引、Convex 函数缺少身份校验、客户端使用 service_role 密钥、视图绕过 RLS、security definer 函数置于暴露 schema、缺少审计日志。
适用场景:Supabase/Postgres/Convex 数据层安全审计、零信任数据库设计、合规证据生成。限制:具体安装与调用方式资料未提供。