当前位置:首页 >  站长 >  建站经验 >  正文

AI生成的代码别直接上线——OWASP安全审查清单请收好

 2026-09-01 13:14  来源: 互联网   我来投稿 撤稿纠错

  一键部署OpenClaw

AI写代码的毛病很一致:能用,但不安全。它优化的是“能不能跑通”,不是“扛不扛得住攻击”。OWASP专门给AI生成的代码排了个十大风险榜,排前面的就是注入、认证失败、安全配置错误、脆弱依赖、SSRF、日志缺失——全是老熟人,只是AI把它生产得更快了。

最典型的是SQL注入。AI从训练数据里学到的老代码,很可能就是字符串拼接SQL的写法,你让它“写个查询”,它给你拼一个出来。还有把权限检查放在前端、后端不校验的;日志只打console.log不落盘的;fetch用户提供的URL不带任何校验的。这些坑,AI不会自己意识到,因为它不理解你的业务里哪些数据敏感、哪些接口对外。

落地一套审查流程,不用复杂,五步够用:第一步,用工具扫——密钥扫描(gitleaks)、依赖漏洞(npm audit / composer audit)、静态分析(Semgrep带OWASP规则);第二步,人查SQL,全局搜字符串拼接的查询,确认全是参数化;第三步,人查鉴权,每个接口确认后端做了权限校验,不是只在前端藏按钮;第四步,查密钥,代码里不能有任何硬编码的密码、token、密钥;第五步,查日志和错误处理,堆栈不能裸奔给用户。

# 第一步:工具扫描,三条命令先跑起来
# 密钥扫描
gitleaks detect --source . --report-format json --report-path gitleaks.json
# PHP依赖漏洞
composer audit
# JS依赖漏洞
npm audit --omit=dev

# 第二步:全局搜SQL拼接(应返回0条)
grep -rn "mysql_query(\|mysqli_query(\|->query(" app/ --include="*.php" | grep "\$_\(GET\|POST\|REQUEST\)"

# 第四步:全局搜硬编码密钥
grep -rn -E "(password|passwd|secret|api_key|token)\s*=\s*['\"][^'\"]{6,}['\"]" config/ --include="*.php"

审查时给AI产出的代码分个级:只动界面文案、测试代码的,常规过一遍就行;碰数据库、登录鉴权、支付、上传下载、公网API的,属于高危改动,必须逐行人工审查,最好让第二个AI反向审一遍,再用工具扫一遍,三保险。别因为“AI写的应该没问题”就跳级。

OWASP那份清单,建议打印出来贴显示器旁边。每次AI生成的代码要上线,就对着过一遍。多花十分钟,省下的可能是整个数据库。这不是吓唬人——AI让写代码的门槛变低了,攻击者也一样在用AI,速度还比你快。

申请创业报道,分享创业好点子。点击此处,共同探讨创业新机遇!

相关标签
AI编程
php教程

相关文章

  • 编程提示词模板:角色+约束+示例输出,一套固定套路

    同一个AI,有人用着像老程序员,有人用着像新手。差别不在模型,在提示词。很多人问AI要代码,就一句“写个登录功能”,AI按最通用的理解给你一套,你用不了还得自己改——不是AI不行,是你没告诉它你的环境、你的约束、你要的格式。编程提示词有个固定套路,四要素:角色、任务、约束、示例输出。角色让AI切换专

    标签:
    ai技术
    AI编程
  • 2026开源编程模型怎么选?Qwen3-Coder、DeepSeek、GLM实测对比

    想本地部署个编程模型,打开模型库一看:Qwen3-Coder、DeepSeek、GLM、CodeGeeX……名字一堆,参数从几十亿到几千亿都有,价格和硬件要求天差地别。选错了,要么跑不动,要么效果拉胯。2026年这个时间点,开源编程模型的格局其实很清楚,按用途选就行。第一梯队看三个家族。阿里Qwen

    标签:
    AI编程
  • Ollama部署DeepSeek-Coder,离线代码补全十分钟搞定

    有些代码不能出网。客户源码、带密钥的配置文件、还没上线的项目——喂给云端AI总有顾虑。本地部署一个代码模型,不联网、不扣费、没有速率限制,代码就在自己机器上跑。以前这事门槛高,现在Ollama把部署简化到一条命令。Ollama是当前最省事的本地模型运行工具,一条命令装好,一条命令拉模型。代码场景首选

    标签:
    ai技术
    AI编程
  • EXPLAIN结果看不懂?丢给AI要索引优化建议,人工确认再落地

    页面打开慢,查出来是某个SQL拖了后腿。你对MySQL有点基础,知道要看EXPLAIN,但type一列写着ALL,rows几万行,Extra里还有个Usingfilesort——认识每个词,就是不知道从哪下手改。这种时候,AI是个好参谋,但记住它只是参谋,拍板还得你自己来。第一步把证据收集齐:慢SQ

    标签:
    AI编程
    mysql
  • awk日志分析命令总写错?给AI看样例日志,让它反推

    想让AI写awk命令统计访问日志,最常见的结果是:命令写出来了,字段编号是错的。AI默认以为日志是空格分隔、第一列是IP,但Nginx的combined格式、Apache的common格式、加了代理的头字段,列的位置全不一样。AI没见过你的日志,凭经验写,错是必然的。正确姿势是反推:把日志的真实样例

    标签:
    ai技术
    AI编程

热门排行

信息推荐