用途:当用户要求审计安全、检查漏洞、审查代码安全问题或加固应用时,使用该技能对代码库进行系统性安全审计。
主要能力与检查项:
- 扫描硬编码密钥:查找源码中的 API key、token、密码和连接字符串,关注 password=、secret=、token=、api_key= 等模式,Base64 编码凭据,AWS 密钥(AKIA...)、Stripe 密钥(sk_live_...)、GitHub token(ghp_...),以及提交到 git 的 .env 和含凭据的 config.json。
- 检查认证与授权:确认所有 API 路由在处理前校验认证;确保基于角色的访问控制由服务端强制执行而非仅 UI;确认密码哈希使用 bcrypt/argon2 而非 MD5/SHA1;验证会话 token 为 HTTP-only、secure 且有合理过期时间。
- 检查注入漏洞:SQL 注入(字符串拼接而非参数化查询)、XSS(dangerouslySetInnerHTML、innerHTML 或未转义用户输入)、命令注入(exec()、eval()、child_process.exec() 配合用户输入)、路径遍历(文件操作中未净化的用户输入路径)。
- 审查依赖安全:运行 npm audit 或 pip audit 检查已知漏洞,标记存在已知 CVE 的过时依赖,检查过于宽松的依赖版本范围。
- 检查 CORS 与 CSP 配置:确认生产环境未使用 Access-Control-Allow-Origin: *,检查 Content Security Policy 头,验证 X-Frame-Options、X-Content-Type-Options 和 Strict-Transport-Security 头。
- 审查数据暴露:检查 API 响应是否泄露敏感字段(密码哈希、内部 ID、PII),确认生产环境错误信息不暴露堆栈跟踪或内部细节,检查日志是否写入敏感数据。
- 生成报告:按严重级别(Critical / High / Medium / Low)汇总每项发现,包含文件路径、行号和修复建议。
限制与说明:这是代码审查而非渗透测试;建议使用 npm audit、trivy 或 snyk 等工具进行自动化扫描;始终检查 .gitignore 确保 .env、凭据和密钥文件被排除;全面审计可参考 OWASP Testing Guide。