Appearance
Security Review Skill 是 Everything Claude Code 插件体系中专为认证、用户输入、API 端点、支付等高风险场景打造的全栈安全审查工具。它通过一套覆盖 secrets 管理、输入校验、SQL 注入防御、认证与授权、XSS/CSRF 防护、速率限制、敏感数据泄露、依赖安全等 10 大类的检查清单,帮助开发者在 AI 辅助编码和自动化流程中系统性发现并修复安全隐患,极大降低生产环境安全事故风险。
Everything Claude Code Security Review Skill:认证、用户输入、API 端点与支付功能的综合安全清单
在现代 AI 辅助编程环境下,安全问题往往因自动化和高并发开发节奏被忽视,导致密钥泄漏、注入攻击、权限绕过等高危漏洞频发。Everything Claude Code 的 Security Review Skill 正是为此场景而生,作为 Claude Code 完全指南 体系下的核心安全基线组件,它将安全审查流程标准化为可自动触发、可复用的 Skill,覆盖认证、用户输入、API 端点、支付与敏感数据处理等高风险环节。
本文将详细解读 Security Review Skill 的适用场景、激活方式、分步操作、实际输出示例,以及与常见 Agent/Skill 的协作方式,帮助你在 AI 编程助手驱动的生产环境中高效落地安全最佳实践。
一、Security Review Skill 能解决什么问题?
传统做法的痛点:
- 安全审查依赖人工 checklist,容易遗漏、标准不一。
- 代码生成/重构/集成第三方 API 时,安全风险难以及时发现。
- 多人协作或自动化流水线中,安全责任界限模糊,缺乏统一规范。
- 新增认证、支付、文件上传等敏感功能时,安全细节常被忽略。
Skill 价值: Security Review Skill 以自动化、结构化的方式,把 OWASP Top 10、密钥管理、输入校验、认证授权、XSS/CSRF、速率限制、依赖安全等核心安全项变成可复用的清单和代码模式。每当你在项目中涉及高风险操作时,Skill 会自动或手动触发,输出逐项检查建议、代码示例和验证步骤,极大降低安全盲区和人为疏漏。
二、Skill 触发条件与适用场景
Security Review Skill 适用于以下典型场景:
- 实现认证/授权:如用户登录、JWT、OAuth、权限校验。
- 处理用户输入:表单、API body、文件上传、参数校验等。
- 开发/暴露新 API 端点:RESTful、GraphQL、Webhook 等。
- 管理密钥/凭证:API Key、数据库密码、第三方集成密钥。
- 实现支付/敏感操作:如 Stripe 支付、区块链钱包交互。
- 存储/传输敏感数据:用户信息、财务数据、PII/PHI 等。
- 集成第三方 API:可能涉及回调、token 管理、权限委托。
Skill 可通过以下方式触发:
- 自动触发:在检测到上述高风险代码变更或 PR 时,Agent 自动调用。
- 手动触发:开发者在实现相关功能后,主动调用 Skill 进行安全审查。
三、使用流程(Step by Step)
Step 1. 明确触发时机
在以下操作前后,建议主动调用 Security Review Skill:
- 新增/修改认证、授权逻辑
- 处理用户输入、文件上传、API 参数
- 新建 API 端点或集成第三方服务
- 涉及支付、敏感数据操作
- 生产环境上线前的最终安全检查
Step 2. 调用 Skill 并指定上下文
如在 Claude Code、Cursor、Codex 等 AI 编程助手环境中,选中相关代码片段或 PR,执行:
bash
# 以 Claude Code 为例
claude -p security-review ./path/to/code-or-pr或在 UI 中选择「安全审查」Skill。
Step 3. Skill 自动输出分项安全清单
Skill 会根据代码内容,输出如下结构化安全审查报告(部分示例):
1. Secrets 管理
- [ ] 检查是否有硬编码密钥/API Key
- [ ] 是否全部使用环境变量
- [ ]
.env.local是否已加入.gitignore - [ ] 检查密钥是否泄露到 git 历史
- [ ] 生产密钥是否托管于平台(如 Vercel、Railway)
示例代码:
typescript
const apiKey = process.env.OPENAI_API_KEY
if (!apiKey) {
throw new Error('OPENAI_API_KEY not configured')
}2. 用户输入校验
- [ ] 所有输入是否有 schema 校验(如 zod、Joi)
- [ ] 文件上传是否限制大小、类型、扩展名
- [ ] 是否杜绝直接拼接用户输入到查询语句
- [ ] 校验采用白名单而非黑名单
- [ ] 错误信息是否不泄露敏感细节
示例代码:
typescript
import { z } from 'zod'
const CreateUserSchema = z.object({
email: z.string().email(),
name: z.string().min(1).max(100),
age: z.number().int().min(0).max(150)
})3. SQL 注入防御
- [ ] 所有数据库查询是否参数化
- [ ] ORM/Query Builder 是否用法正确
- [ ] Supabase 查询是否已消毒
示例代码:
typescript
await db.query(
'SELECT * FROM users WHERE email = $1',
[userEmail]
)4. 认证与授权
- [ ] Token 是否存储于 httpOnly Cookie
- [ ] 敏感操作前是否有权限校验
- [ ] Supabase 是否开启 Row Level Security
- [ ] 是否有角色/会话管理
示例代码:
typescript
res.setHeader('Set-Cookie',
`token=${token}; HttpOnly; Secure; SameSite=Strict; Max-Age=3600`)5. XSS/CSRF 防护
- [ ] 用户内容是否已 HTML 消毒
- [ ] CSP 头是否配置
- [ ] CSRF Token/SameSite Cookie 是否启用
示例代码:
typescript
import DOMPurify from 'isomorphic-dompurify'
const clean = DOMPurify.sanitize(html)6. 速率限制
- [ ] API 是否有速率限制
- [ ] 高价值操作是否更严格限制
示例代码:
typescript
import rateLimit from 'express-rate-limit'
app.use('/api/', rateLimit({ windowMs: 15*60*1000, max: 100 }))7. 敏感数据泄露
- [ ] 日志中是否有密码/token
- [ ] 用户错误信息是否泛化
示例代码:
typescript
console.log('User login:', { email, userId }) // 不打印密码8. 依赖安全
- [ ] 是否定期 npm audit
- [ ] 锁文件是否提交
- [ ] Dependabot 是否开启
示例代码:
bash
npm audit && npm audit fix9. 区块链/支付安全(如 Solana)
- [ ] 钱包签名/交易是否校验
- [ ] 金额/收款人/余额校验
示例代码:
typescript
const isValid = verify(Buffer.from(message), Buffer.from(signature), Buffer.from(publicKey))Step 4. Skill 输出验证步骤和修复建议
Skill 不仅给出检查项,还会输出每一项的验证方法和推荐修复代码片段。例如:
- “发现硬编码密钥,请改为环境变量并检查 .gitignore”
- “缺少输入校验,建议使用 zod/Joi 定义 schema 并在 API 层校验”
- “API 缺少速率限制,建议添加 express-rate-limit 中间件”
Step 5. 集成自动化安全测试
Skill 会建议添加自动化测试用例,覆盖认证、授权、输入校验、速率限制等场景。例如:
typescript
test('requires authentication', async () => {
const response = await fetch('/api/protected')
expect(response.status).toBe(401)
})Step 6. 上线前执行最终安全清单
Skill 提供一份生产部署前的安全 checklist,确保核心风险点全覆盖:
- [ ] 密钥管理
- [ ] 输入校验
- [ ] SQL 注入
- [ ] XSS/CSRF
- [ ] 认证/授权
- [ ] 速率限制
- [ ] 依赖安全
- [ ] 日志/错误处理
- [ ] Row Level Security
- [ ] CORS 配置
- [ ] 文件上传校验
- [ ] 区块链签名验证(如涉及)
四、输出示例
Skill 输出内容通常如下:
markdown
## Security Review Checklist
- [x] No hardcoded secrets (checked)
- [ ] Input validation missing on /api/users (recommend using zod)
- [x] All queries parameterized
- [ ] No rate limiting on /api/search (recommend express-rate-limit)
- [x] Token stored in httpOnly cookie
- [x] CSP header configured
- [ ] Error messages may leak stack traces (recommend generic error for users)
...
### Example Fixes
```typescript
// Add input validation
const CreateUserSchema = z.object({ ... })
// Add rate limiting
app.use('/api/search', searchLimiter)
---
## 五、常见配套 Agent 与 Skill 协作
Security Review Skill 常与以下组件协作:
- **Code Reviewer Agent**:在 PR 审查、代码生成后自动调用 Skill,输出安全审查报告(见 [Code Reviewer Agent](/agents/code-reviewer.md))。
- **Security Reviewer Agent**:专职安全审查,结合 Skill 输出更深入的安全建议(见 [Security Reviewer Agent](/agents/security-reviewer.md))。
- **Verification Loop Skill**:与自动化验证循环结合,确保每次部署前安全项全覆盖(见 [Verification Loop Skill](/skills/verification-loop.md))。
- **Agent Payment x402 Skill**:涉及支付/结算功能时,配合安全审查防止资金风险(见 [Agent Payment x402 Skill](/skills/agent-payment-x402.md))。
- **Security Scan Skill**:对 .claude/ 目录和配置文件做静态安全扫描,配合动态安全审查(见 [Security Scan Skill](/skills/security-scan.md))。
---
## 六、与 Cloud/Infra 安全的关系
Security Review Skill 聚焦于应用层代码安全。若涉及云平台、CI/CD、IAM、网络边界等基础设施安全,建议配合 [Cloud & Infrastructure Security Skill](/skills/security-review/cloud-infrastructure-security.md) 一起使用,实现从代码到云的全栈安全防护。
---
## FAQ
**Q: Security Review Skill 会自动修复代码中的安全问题吗?**
A: Skill 主要负责检测和输出修复建议,部分简单问题可自动生成修复代码,但最终修复仍需开发者确认和合并。
**Q: Skill 能发现所有类型的安全漏洞吗?**
A: Skill 覆盖了常见高危项(如密钥、注入、认证、XSS、CSRF 等),但对于业务逻辑漏洞或极端边界场景,仍建议结合人工审查和专业安全测试。
**Q: 如何将 Security Review Skill 集成到 CI/CD 流水线?**
A: 可通过命令行调用或 API 集成,将 Skill 作为 PR 检查、自动化部署前的固定环节,确保每次上线前安全基线达标。
---
通过系统性应用 Security Review Skill,你可以让 AI 编程助手不仅提升开发效率,更成为安全守门员,为生产环境保驾护航。更多进阶用法详见 [Claude Code 高级技巧](/advanced-guide.md)。