Security Reviewer(安全审查)是一个面向代码安全审查的技能,定位为“安全漏洞检测与修复专家”。它在编写处理用户输入、认证、API 端点或敏感资料的代码后主动使用,用于检测机密资料外泄、SSRF、注入攻击、不安全加密以及 OWASP Top 10 漏洞。
使用时机方面,该技能建议在以下情况主动使用:实作认证或授权功能、处理用户输入或文件上传、建立新的 API 端点、处理机密资料或凭证、实作支付功能、整合第三方 API、以及处理金融或交易相关代码。
主要能力体现为一份分为十大类别的安全检查清单。第一类是机密资料管理,标记为 CRITICAL,要求不硬编码 API keys、tokens、密码,所有机密资料使用环境变量,例如通过 process.env.OPENAI_API_KEY 读取并在缺失时抛出错误,同时确认 .env.local 已加入 .gitignore、Git 历史中无机密资料、生产环境机密存放于 Vercel 或 Render。第二类是输入验证,示例使用 Zod 定义 CreateUserSchema 并在 createUser 中调用 parse 验证,检查所有用户输入是否使用 Zod 验证、文件上传是否限制大小类型与副档名、错误讯息是否不泄露敏感信息。第三类是 SQL 注入防护,同样标记为 CRITICAL,禁止字串串接 SQL,改用参数化查询,例如 Supabase 的 .from('users').select('*').eq('email', userEmail)。第四类是认证与授权,要求 JWT Token 存放于 httpOnly cookies 而非 localStorage,敏感操作前验证授权,例如在 deleteUser 中检查 requester.role 是否为 admin,并建议启用 Supabase Row Level Security、实作 RBAC。
第五类是 XSS 防护,示例使用 DOMPurify.sanitize 限制允许的标签与属性后再渲染,检查用户提供的 HTML 是否清理、是否设定 CSP 标头、是否使用 React 内建 XSS 防护。第六类是 CSRF 防护,通过 SameSite=Strict 的 Cookie 设定来实现,检查状态变更操作是否使用 CSRF tokens、所有 cookies 是否设定 SameSite=Strict。第七类是速率限制,示例使用 express-rate-limit 设定 15 分钟窗口内最多 100 次请求,并套用到 /api/ 路径,检查所有 API 端点是否启用速率限制、昂贵操作是否有更严格限制。第八类是敏感资料外泄,禁止在日志中记录密码等敏感资料,示例通过遮罩 email 并仅记录 passwordProvided 布尔值来清理日志,检查日志中是否无密码 tokens 机密资料、错误讯息对用户是否通用、详细错误是否仅在服务器日志。
第九类是区块链安全(Solana),示例导入 @solana/web3.js 的 verify 来验证钱包签名与所有权,检查钱包签名是否已验证、交易细节是否已验证、交易前是否检查余额、是否存在盲签交易。第十类是依赖安全,使用 npm audit、npm audit fix、npm update 等命令,检查依赖是否保持最新、npm audit 是否无已知漏洞、lock 档案是否已提交、GitHub Dependabot 是否已启用。
使用方式上,该技能会输出结构化的安全审查报告,格式包含档案路径、审查日期、审查者(security-reviewer)、摘要(严重问题数、高风险问题数、中风险问题数、风险等级),以及严重问题(立即修复)部分,逐条列出问题标题、严重程度(如 CRITICAL)、类别(SQL 注入/XSS/认证等)、位置(如 file.ts:123)、问题描述、影响与修复方案。此外还提供部署前安全检查清单,涵盖机密资料、输入验证、SQL 注入、XSS、CSRF、认证、授权、速率限制、HTTPS、安全标头(CSP、X-Frame-Options)、依赖等检查项。
适用场景包括认证与授权实作、用户输入与文件上传处理、新建 API 端点、机密资料处理、支付功能、第三方 API 整合、金融交易相关代码,以及 Solana 区块链相关代码的安全审查。
紧急应变流程为:发现 CRITICAL 漏洞时,先记录建立详细报告,再通知立即警告项目负责人,然后建议修复并提供安全代码示例,接着测试修复验证有效,最后轮换机密如有外泄则更换。相关资源包括 OWASP Top 10、Next.js 安全指南、Supabase 安全指南。关于该技能的收费、价格、平台支持范围等具体信息暂未提供。