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 就不需要安全审查"。