用途
secure-code-review 是一个系统性的代码安全审查技能,基于 OWASP Top 10(2021)标准构建。它用于对 Web 应用进行以安全为导向的代码审查,逐项检查常见漏洞并给出修复建议。
主要能力
该技能覆盖 OWASP Top 10 的十个类别,每项均包含漏洞描述、典型易受攻击代码、检查要点与修复示例。快速参考如下:
- A01 访问控制失效(Broken Access Control):每个端点是否验证当前用户身份?用户能否通过修改 ID 访问他人数据?
- A02 加密失败(Cryptographic Failures):密码是否使用 bcrypt/argon2 哈希?密钥是否硬编码?
- A03 注入(Injection):是否存在字符串拼接 SQL?是否使用 shell=True?模板输出是否未转义?
- A04 不安全设计(Insecure Design):是否有限流?关键流程能否被绕过?
- A05 安全配置错误(Security Misconfiguration):是否启用 DEBUG?错误页是否暴露堆栈跟踪?是否使用默认凭据?
- A06 易受攻击和过时的组件(Vulnerable Components):pip audit / npm audit 是否发现 CVE?
- A07 认证失败(Authentication Failures):JWT 签名是否验证?令牌能否撤销?是否支持 MFA?
- A08 完整性失败(Integrity Failures):是否存在 pickle.loads 反序列化不可信数据?
- A09 日志与监控失败(Logging & Monitoring Failures):日志中是否有明文密码?失败登录是否记录?
- A10 SSRF:用户提供的 URL 是否针对内网 IP 进行过滤?
使用方式
提供待审查的代码文件或代码片段,并指定需要检查的 OWASP 类别(或要求完整审查),即可获得逐项审计报告。
示例提示语:
- "Check this code for SQL injection risks"
- "Run a full OWASP Top 10 security review on this project"
- "Does this API endpoint have any SSRF vulnerabilities?"
审查流程(SOP)
核心原则:宁可误报,也不漏报。
- 界定范围——确定待审查的文件、模块或代码片段。
- 全量覆盖检查——依次扫描 A01-A10。每一项都必须出现在报告中(无发现的项标记为通过)。默认行为仅报告发现的问题,而本流程要求全量覆盖以确保没有遗漏。
- 风险分级——为每个发现打标签:
- 红色 高:可直接利用(RCE、SQL 注入、SSRF 触及内网、明文密码存储)
- 黄色 中:特定条件下可利用(缺少限流、弱密码策略、静态令牌)
- 绿色 低:纵深防御缺口,无直接利用路径(缺少安全响应头、日志不足)
- 每个发现必须包含可直接使用的修复代码(实际代码,而非仅描述),并标注具体的 file:line_number。
- 输出审查报告——使用模板,发现按严重程度降序排列,末尾附优先修复清单。
适用场景
适用于对 Web 应用进行安全导向的代码审查,涵盖访问控制、加密、注入、设计、配置、依赖组件、认证、数据完整性、日志监控以及 SSRF 等安全检查。审查中给出 Python/Flask 示例,涉及参数化查询、bcrypt 哈希、subprocess 安全调用、JWT 验证、安全反序列化、安全日志记录及 URL 校验等实践。
限制
资料未提供该技能的安装命令、运行环境要求、支持的语言范围、是否收费及价格等具体信息,这些内容暂未提供。需要明确的是,审查结果依赖于所提供代码的完整性与所指定的检查范围。