mcpField
S
secure-code-review

secure-code-review

github.com/securityskills安全01.3k 次安装9 周前更新
代码仓库

关于 secure-code-review

Secure Code Review 是一项系统化的代码审查技能,检查数据流、访问控制、密钥和状态变更中的安全漏洞,并指导报告严重性、受影响路径、利用示例及修复建议。

主要功能

  1. 01梳理入口和信任边界
  2. 02追踪不可信数据到敏感操作
  3. 03审计授权和对象级访问
  4. 04检查密钥与密码学实践
  5. 05检查竞态和共享状态

适用场景

  1. 01审查代码变更中的安全风险
  2. 02追踪用户输入进入查询或命令的路径
  3. 03检查端点授权和租户隔离
  4. 04编写含修复建议的分级问题报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/securityskills/skills --skill secure-code-review

安装后在 Claude Code 中输入/secure-code-review确认已加载。

详细介绍

安全代码审查

系统地审查代码中的漏洞,而不是逐行审查。

1. 熟悉代码

  • 这段代码的作用是什么?识别:入口点、信任边界、数据存储、特权操作
  • 阅读测试——它们揭示了哪些不变量?
  • 检查差异的影响范围:身份验证逻辑?解析?文件处理?加密?

2. 跟踪不可信数据

从入口点追踪每项输入,直到其最终落点:

落点类别验证内容
SQL/NoSQL使用参数化查询;不通过拼接字符串构建查询;标识符使用白名单
命令执行不将用户数据放入 shell 字符串;使用 argv 数组 API;不设置 shell=True
HTML/渲染根据上下文自动转义;原始/不安全 HTML 标志须有合理依据
文件路径使用基名/白名单;规范化并检查前缀;不在 include 中使用用户路径
反序列化优先使用 JSON 等类型化格式,而非对象序列化器;解析后进行验证
重定向仅允许相对目标或白名单中的目标
eval/动态代码必须有合理依据且不包含用户输入,否则应拒绝

3. 审查身份验证和访问控制

  • 每个端点都在服务端强制执行授权;在资源层面进行角色检查,而不只在控制器中检查
  • 对象级检查(IDOR):查询是否按调用者的租户 ID/用户 ID 进行筛选?
  • 会话管理:轮换、失效、安全 Cookie 标志
  • 密码重置流程:令牌熵、过期时间、单次使用、防止账号枚举

4. 审查密钥和配置

  • 不硬编码凭据/密钥/API 令牌;日志或错误消息中不包含密钥
  • 加密:使用经批准的算法和库原语(不手工实现),采用正确的模式,并使用来自 CSPRNG 的随机数

5. 竞态和状态

  • 文件检查中的 TOCTOU 问题;配额/额度的先检查后使用问题
  • 可变共享状态的并发问题;多步写入缺少事务

沟通

报告发现的问题,注明严重程度、具体代码路径、攻击示例和建议的修复方案。区分“必须修复”和“之后再加固”。

评论

支持 Markdown