name: security description: 安全审计、漏洞检测和安全编码。用于安全审查、身份验证实现或OWASP合规性。
安全审计
识别漏洞并实施安全编码实践。
何时使用
- 代码或架构的安全审查
- 实现身份验证/授权
- 部署到生产环境前
- 用户询问安全最佳实践
- 处理敏感数据
OWASP Top 10 清单
- 注入 - 参数化查询,输入清理
- 身份验证漏洞 - 强会话,多因素认证,安全密码存储
- 敏感数据 - 静态和传输加密,最小化暴露
- XXE - 禁用外部实体,优先使用JSON而非XML
- 访问控制漏洞 - 基于角色的访问控制,默认拒绝
- 配置错误 - 安全默认设置,移除调试信息
- XSS - 输出编码,CSP头
- 不安全的反序列化 - 验证输入,避免原生反序列化
- 易受攻击的组件 - 依赖扫描,更新
- 日志记录 - 审计日志,不在日志中记录敏感数据
安全头
Content-Security-Policy: default-src 'self'
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
身份验证实现
// 密码哈希
const hash = await bcrypt.hash(password, 12);
// 带短期过期的JWT
const token = jwt.sign({ userId }, secret, { expiresIn: "15m" });
// 刷新令牌轮换
const refreshToken = crypto.randomBytes(32).toString("hex");
审计输出格式
## 安全审计报告
**严重级别:** 严重 | 高 | 中 | 低
### 严重
- [问题]: [描述] → [修复]
### 高
- [问题]: [描述] → [修复]
### 建议
- [改进建议]
示例
输入: “审查身份验证实现” 操作: 检查密码存储、会话管理、令牌处理,报告发现
输入: “使这个API安全” 操作: 添加输入验证、身份验证检查、速率限制、安全头