🗞️ Claude Code 日报/用 Claude Code 做安全审查:不是替代专家,是让你先发现明显问题
1 分钟阅读13 天内

用 Claude Code 做安全审查:不是替代专家,是让你先发现明显问题

#claude-code#security#code-review#owasp𝕏 分享

Claude 不是安全专家,但它能在 30 秒内扫描你的代码,找出初级工程师常犯的安全错误。这是有价值的——不是作为最终防线,而是作为第一道快速检查。

OWASP Top 10 的快速扫描:

claude "对 src/handlers/ 做 OWASP Top 10 的基础安全检查:
重点关注:
1. SQL 注入(用户输入直接拼接进查询)
2. XSS(未转义的用户输入输出到 HTML)
3. IDOR(对象权限检查是否完整)
4. 硬编码的密钥或凭据
5. 不安全的反序列化

只报告有把握的问题,不要误报。给出文件名和行号。"

权限检查的系统性审查:

claude "检查所有需要认证的 API handler(src/handlers/),
确认每个 handler 都做了:
1. 用户是否登录的检查
2. 用户是否有权限访问该资源的检查(不只是登录,还要是资源的所有者/管理员)

列出缺少权限检查的接口。"

发现敏感数据泄露:

claude "扫描 API 响应的结构体定义(models/),
找出可能意外暴露的字段:
- 密码 hash
- 内部 ID 或数据库主键(应该用 UUID)
- 其他用户的私有数据
- 内部系统路径

输出:结构体名称 + 字段名 + 风险说明。"

依赖安全检查:

claude "分析 go.sum 里的依赖版本,
找出:
1. 已知有 CVE 的版本(查你的知识库)
2. 超过 2 年没有更新的关键库
3. 安全敏感库(crypto、auth、session)有没有使用非主流版本

注意:你的知识库有截止日期,结果需要用 govulncheck 验证。"

输入验证的完整性:

claude "检查 src/handlers/ 里所有接收用户输入的接口:
1. 数值参数有没有范围校验(防止负数 ID、超大数字)
2. 字符串参数有没有长度限制(防止 payload 超大)
3. 文件上传有没有类型和大小校验
4. 分页参数有没有最大值限制(防止一次拉取百万条)

特别关注查询接口里的 limit/offset 参数。"

重要提醒:

Claude 的安全检查适合找"显而易见的问题",不适合替代: - 专业的渗透测试 - 自动化安全扫描工具(Semgrep、Snyk、govulncheck) - 有安全背景的人工审查

把 Claude 当成"让你在提 PR 前做一遍基础检查"的工具,不是"有了 Claude 就不需要安全审查"。

← 上一篇Claude Code 与数据库迁移:高风险操作的安全流程下一篇 →让错误信息真正有用:用 Claude 重写你的错误处理