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