AI 生成的代码敢直接上线?8 条安全自检清单
AI 写代码优先"能跑",安全往往是欠账:密钥裸奔、SQL 注入、越权访问、依赖漏洞……上线前照这 8 条清单过一遍,附「让 AI 自我审计」的提示词。
登录后收藏折腾鸭可能通过推广链接获得佣金,但不会影响编辑结论,也不会增加你的支付价格。
AI 帮你写代码时,目标是"让它先跑起来",安全从来不是它的优先项。本地 demo 没人攻击你,一旦上线,全网扫描器当天就能找到你。这篇给你一份上线前的安全自检清单,专门针对 AI 生成代码的高发漏洞(服务器层面的通用加固见 服务器安全加固)。
清单:8 条挨个过
1. 密钥有没有裸奔在前端
老问题但年年有人栽:F12 打开你的网页 → Sources 标签搜 sk-、API_KEY,搜得到就是裸奔。密钥必须走后端环境变量(详见 环境变量与密钥安全)。
2. 依赖有没有已知漏洞
AI 选的库可能是老版本。跑一条命令自检:npm audit(Node)或 pip-audit(Python),高危(high/critical)的修掉再上线;lock 文件锁好版本。
3. 有没有 SQL 注入
AI 偷懒时爱写字符串拼接:SELECT * FROM users WHERE name='${name}'——这就是注入。检查所有数据库调用是否用参数化查询 / ORM,搜代码里的 ${ 出现在 SQL 语句里的位置。
4. 接口有没有越权
AI 最典型的安全盲区:接口只检查"登录了吗",不检查"这条数据是你的吗"。攻击者改一下 URL 里的 id 就能看/删别人的数据。每个涉及数据读写的接口,都要校验 当前用户 = 数据归属者。
5. 有没有"按钮级权限"假象
前端隐藏"删除"按钮≠权限。真正的权限必须在后端接口里校验,前端只是展示层。自测方法:不登录直接用 curl 调你的管理接口,能通就是大洞。
6. 管理后台有没有锁
AI 生成的项目常自带 /admin 页面且默认无密码或弱密码。上线前:加认证、改强密码、或干脆路由改复杂点并限制来源 IP。
7. 有没有限流
你的 AI 功能每次调用都要花钱(LLM API 按量计费)。没有限流,一个爬虫一晚上能刷爆你的账单(成本账单详解见 部署平台真实成本)。最简方案:每 IP 每分钟限 N 次(express-rate-limit 之类的库一行配置)。
8. CORS 是不是全开
AI 调试时图省事写 cors() 不带参数(允许所有来源)。上线前收紧成白名单:cors({ origin: ['https://你的域名'] })。
偷懒法:让 AI 自己审计
在 Cursor / Claude Code 里贴这段:
请对这个项目做安全审计,逐条检查:1. 前端代码里是否有密钥或敏感信息;2. 是否存在 SQL 注入风险(找字符串拼接的查询);3. 每个数据接口是否校验了资源归属(越权风险);4. 是否存在无认证的管理接口;5. CORS 配置是否过宽;6. 依赖是否有已知漏洞。每个问题给出:风险等级、位置(文件+行号)、修复代码。
注意:AI 审计能抓住大部分"模式化"漏洞,但不能 100% 替代人工——涉及钱的接口(支付、提现)建议找人再复核一遍。
上线之后
- 定期
npm audit+ 升级依赖(每月一次即可)。 - 看访问日志里的异常流量(单个 IP 高频打接口),复习 监控与告警。
- 密钥轮换:怀疑泄露立刻去服务商吊销重发,不要拖延。
相关阅读
最近更新:2026-08-27。信息发生变化时,我们会同步修订。