按 OWASP 思路审代码:注入、越权、敏感信息、上传、依赖,给风险等级与修复代码。
上线前安全自查、第三方代码验收、代码评审。
帮我做一次代码安全审计。 【技术栈】{{技术栈}} 【代码】{{要审的代码片段}} 【暴露面】{{暴露面}} 【敏感数据】{{敏感数据}} 输出: 一、风险清单(表格):编号 / 风险类型 / 位置(函数或行)/ 严重度(高/中/低)/ 攻击场景一句话 / 修复建议 按 OWASP 常见类别逐项过:注入(SQL/命令/模板)、认证与会话、越权(水平/垂直)、敏感数据暴露、文件上传、SSRF、XXE、反序列化、速率限制、日志泄露、依赖漏洞。 二、每个高危项给:攻击者具体怎么打(请求示例)、修复后的代码(同语言)、修复后如何验证。 三、5 个「看起来安全其实不安全」的写法(例如只在前端校验、用字符串拼接 SQL 但做了转义、把用户输入拼进日志、把 token 放 localStorage、用时间戳做随机数)。 四、加固清单:可执行的 10 条(参数化查询、最小权限、敏感字段脱敏、上传白名单+重命名、错误信息不外泄、限流、CSP、依赖锁定、日志脱敏、密钥走环境变量)。 五、验收测试:5 条可用 curl 或脚本复现的验证用例。 要求: - 只做防御性分析,不提供可用于攻击他人系统的完整利用工具。 - 修复代码必须能直接替换,不要写「加个校验」这种空话。
先在应用层做参数化与限流,WAF 只是补充。
锁版本 + 定期跑 audit,高危依赖优先替换而不是等待修复。