用途
audit-security 用于对应用代码进行安全审计与修复,依据 OWASP 标准检查注入、安全响应头、依赖漏洞等问题。当用户提出“审查安全性”或“检查漏洞”时使用。认证门禁相关问题应转交 audit-auth-flows。
主要能力
该技能覆盖以下审计维度:
- 认证审计:密码哈希算法、会话令牌随机性、会话过期、密码重置令牌、MFA、登录限流、账户锁定、OAuth state 校验、JWT 密钥与过期时间。
- 授权审计:每个 API 端点的权限检查、IDOR、基于角色的访问控制、最小权限原则、管理员功能、多租户数据库的 RLS、API 密钥作用域。
- 输入验证审计:服务端验证、输入净化、文件上传校验、JSON/XML 解析限制、URL 参数、SQL 参数化查询、eval/innerHTML/dangerouslySetInnerHTML 的使用。
- 数据保护审计:静态加密、TLS/HTTPS、密钥管理、PII 合规、数据库连接加密、API 响应信息泄露、密码字段属性。
- 安全响应头审计:HSTS、CSP、X-Content-Type-Options、X-Frame-Options、Referrer-Policy、Permissions-Policy、CORS、Cookie 属性。
- 依赖审计:使用 npm audit、pip-audit、cargo audit、govulncheck、bundle audit 检查已知 CVE、依赖更新情况、锁文件提交、不必要的依赖。
- 常见漏洞模式排查:SQL 注入、XSS、IDOR、敏感数据暴露。
- 环境与密钥扫描:硬编码密钥、.gitignore 校验、环境变量校验(示例使用 zod)。
使用方式
技能按步骤执行:
- 第 0 步:了解项目(高自由度)——读取 package.json / requirements.txt / go.mod,识别认证库、数据库 ORM、HTTP 框架、安全相关包,识别认证模式与数据流。
- 第 1 步:研究当前威胁(高自由度)——使用 firecrawl 搜索当前 OWASP 最佳实践与依赖 CVE,抓取 OWASP Top 10。
- 第 2 步:检查生产安全错误(高自由度)——若配置了 Sentry,搜索 401/403、CORS、CSP、限流相关错误。
- 第 3 步:自动化代码扫描(高自由度)——按认证、授权、输入验证、数据保护、安全响应头、依赖等清单逐项检查。
- 第 4 步:常见漏洞模式(高自由度)——grep 危险汇聚点并阅读上下文。
- 第 5 步:环境与密钥(低自由度,仅名称/前缀)——扫描硬编码密钥、校验 .gitignore、验证环境变量。
依赖与密钥扫描为低自由度,需严格按给定命令执行。修复前需自我批判:有证据(file:line 或审计输出)、可复现、严重性有依据、归属正确、不产生虚假安全感。
适用场景
适用于对应用代码进行 OWASP 静态安全审查,包括注入、响应头、依赖漏洞等。可在发现漏洞后就地修复,但仅修补有证据的漏洞点,无关弱点只作为发现项记录。认证行为、RLS、密钥轮换、支付与迁移需停止并确认。会话、路由×门禁、getSession() 相关发现应转交 audit-auth-flows。
限制
- 明确禁止编写漏洞利用 PoC。
- 依赖与密钥扫描必须严格按给定命令执行,不得随意更改。
- 修复仅限有证据的漏洞点,无关弱点只记录不修复。
- 仅在仓库已有安全测试或任务要求时添加测试。
- 认证行为、RLS、密钥轮换、支付与迁移需停止并确认。
- 会话、路由×门禁、getSession() 相关发现不属于本技能范围,应转交 audit-auth-flows。
- 输出为结构化安全审计报告,包含技术栈、严重问题、高风险、中风险、通过检查、依赖、研究来源等部分。