用途:审计并加固 Convex 应用的授权逻辑,专门针对实测中占比最高的四类缺陷:身份来自客户端参数(userId/actorId 等 v.id 参数且函数体内无 ctx.auth)、按 _id 读取或写入时缺少归属校验、公共查询按客户端 id 返回 PII/财务/审计数据、公共 mutation 以 v.id 作为父容器外键写入时未校验调用者对父文档的归属或成员资格。
主要能力:先执行确定性正则扫描(跳过 convex/_generated/ 与 .d.ts),逐条报告文件、行号与命中的规则形态;再按 convex-expert.md 中既有模式逐字套用修复,新增或复用 convex/model/auth.ts 导出 requireIdentity(ctx) 与 requireOwner(ctx, doc);最后运行 npx tsc --noEmit 并重跑扫描确认命中为 0。
关键限制:强制首步是检查认证基础是否具备——需存在带 provider 的 auth.config.ts,以及以认证 subject 为键的 users/identities 表。任一缺失时不得注入 requireIdentity/requireOwner(此时 ctx.auth.getUserIdentity() 恒为 null,会引入新的授权缺陷),而应把特权公共函数改为 internalQuery/internalMutation,并提示用户先完成认证配置再重跑。归属以 users 行 id 为键时,需先按 subject 索引解析出用户行再比较 user._id,不能直接与 identity.subject 比对。不得扩大范围到性能、schema 或 validator 问题;无 convex/ 目录时整体跳过。官方文档与具体版本信息暂未提供。