网易首页 > 网易号 > 正文 申请入驻

BrassCoders:AI编码助手反复犯5种FastAPI安全错误,错误根源在训练数据

0
分享至

AI编程助手几分钟就能生成可用的FastAPI端点,但它们在不同代码库中反复犯着同样的五种安全错误。BrassCoders团队说,不是因为FastAPI本身不安全——官方安全文档对参数化查询和身份验证模式讲得很清楚。

问题出在训练数据上。AI从数以百万计的教程示例和StackOverflow答案中学习,其中很多为了简洁而采用了不安全的写法。AI预测接下来该写什么,而教程里接下来常常就是直接往SQL查询里拼接变量的代码。

BrassCoders能用其开源扫描器一次性检测出下面这五种模式,工具集包括Bandit、Yelp的detect-secrets,以及三个针对AI引入反模式的定制检测器。

AI编程助手本质上是模式补全引擎,它们见得最多的模式不一定是正确的模式。Python Web API的训练数据偏向教程和快速上手指南——代码追求的是可读性,而不是安全性。一条StackOverflow答案用f-string拼接SQL查询展示FastAPI路由写法,因为清晰易懂而获得高赞。同样的代码被AI助手大规模复制,SQL注入漏洞就此上线。

这是结构性问题。靠提示工程只能勉强改善判断。更可靠的方案是:在AI代码生成后运行扫描器,标记AI助手反复出错的具体模式。

第一种模式是用f-string拼接SQL查询导致注入风险。BrassCoders用Bandit的B608规则检测这种写法,一旦发现SQL语句中直接插入了用户可控的值就会报警。AI生成的典型代码看起来没问题:user_id被FastAPI标记为int类型,确实能挡住最明显的字符串注入载荷——但挡不住全部。更要命的是,这种写法教会AI和读代码的开发者f-string拼SQL没问题。同样的写法复制粘贴到字符串类型字段上,就成了教科书级别的SQL注入。OWASP API安全Top 10中,注入攻击被列为API8:2023,横跨数据库查询、Shell命令和模板引擎。正确的做法是参数化查询,BrassCoders能抓到f-string版本,参数化版本则不会触发检测。

第二种模式是配置中硬编码凭据。BrassCoders检测硬编码的密钥、密码和令牌,这些凭据直接写在源代码里而非环境变量或密钥管理服务中。

第三种模式涉及异常处理暴露内部信息。AI常生成直接向客户端返回原始异常的端点,这会泄露数据库结构、文件路径和内部逻辑。BrassCoders标记返回未经处理的异常对象或将堆栈跟踪返回给客户端的模式。

第四种是缺少速率限制。AI生成的端点通常不带任何限速机制,BrassCoders检测缺少速率限制中间件的端点定义,这类端点天然面临暴力破解和资源耗尽的风险。

第五种是过度宽松的CORS配置。AI倾向于生成允许所有来源的CORS设置,BrassCoders检测allow_origins=["*"]这类配置,并标记同时允许所有来源又允许携带凭据的危险组合。

这五种模式的共同点在于:教程里为了展示功能而写的简略代码,被AI当成生产级代码的标准写法。解决思路不是在每次提问时叠加安全提示,而是在代码落地前加一层自动检查。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
成为国家大会座上宾才几天,于东来“亮野心”,张雪果然没说错

成为国家大会座上宾才几天,于东来“亮野心”,张雪果然没说错

范动舍长
2026-07-19 06:23:07
美军凌晨发起绝杀打击,伊朗地下导弹基地彻底瘫痪

美军凌晨发起绝杀打击,伊朗地下导弹基地彻底瘫痪

老马拉车莫少装
2026-07-17 22:26:30
牛犇儿子66岁演员王侃去世,死因曝光,低调抗癌2年,牛犇心碎了

牛犇儿子66岁演员王侃去世,死因曝光,低调抗癌2年,牛犇心碎了

叨唠
2026-07-19 01:47:12
一场比2008年严重10倍的金融危机,真的要来了吗?

一场比2008年严重10倍的金融危机,真的要来了吗?

三农老历
2026-07-19 10:55:27
不简单!北京今年能够被公办本科录取的孩子,就是“光宗耀祖”了

不简单!北京今年能够被公办本科录取的孩子,就是“光宗耀祖”了

糖逗在娱乐
2026-07-19 11:05:45
世界上寿命最长的王朝,至今还存在,已延续2685年,传位126代

世界上寿命最长的王朝,至今还存在,已延续2685年,传位126代

青史卷中人
2026-07-17 02:24:38
莎头组合为何止步半决赛?赛后王楚钦毫不避讳说出实情,句句在理

莎头组合为何止步半决赛?赛后王楚钦毫不避讳说出实情,句句在理

江启
2026-07-19 12:45:11
租7座车带父母游,母亲执意接弟弟一家,我笑着开车去往一处地方

租7座车带父母游,母亲执意接弟弟一家,我笑着开车去往一处地方

观观说事
2026-07-19 14:10:03
穆里尼奥彻底看走眼!皇马新援史诗崩盘,世界杯沦为大笑话

穆里尼奥彻底看走眼!皇马新援史诗崩盘,世界杯沦为大笑话

奶盖熊本熊
2026-07-19 07:47:38
悲哀!邹市明被逼成什么样了,他完全不想直播带货,双目无神,昔日拳王的风光不复存在了,网友鸣不平引热议

悲哀!邹市明被逼成什么样了,他完全不想直播带货,双目无神,昔日拳王的风光不复存在了,网友鸣不平引热议

火山詩话
2026-07-16 16:59:46
“为什么不召回!” 小鹏X9因高温大面积趴窝,官方致歉称升级,车主追问“上市前不做试验?”

“为什么不召回!” 小鹏X9因高温大面积趴窝,官方致歉称升级,车主追问“上市前不做试验?”

新浪财经
2026-07-17 16:44:28
世界杯预测,西班牙队击败阿根廷队夺得冠军,因为他们的防守更强

世界杯预测,西班牙队击败阿根廷队夺得冠军,因为他们的防守更强

足球分析员
2026-07-19 11:00:06
宜家集中出售上海、广州、天津、哈尔滨、南通、徐州、贵阳、宁波的8座商场:已全面清空,7家商场今年2月刚关停

宜家集中出售上海、广州、天津、哈尔滨、南通、徐州、贵阳、宁波的8座商场:已全面清空,7家商场今年2月刚关停

鲁中晨报
2026-07-18 15:08:02
尘埃落定!长沙占车位女干部完整后续,试用期副处长前途彻底断送

尘埃落定!长沙占车位女干部完整后续,试用期副处长前途彻底断送

天天热点见闻
2026-07-18 16:42:23
2019年,声优女神乔碧萝被发现是“大妈”,如今7年过去,她怎么样了

2019年,声优女神乔碧萝被发现是“大妈”,如今7年过去,她怎么样了

从零到一研究所
2026-07-16 18:55:24
明明治安比美国好,为什么有钱人移民都不来中国

明明治安比美国好,为什么有钱人移民都不来中国

怪味历史连连看
2026-07-17 22:04:33
A股罕见!周六,5家创业板公司发布业绩预告!301536,净利预增约6倍

A股罕见!周六,5家创业板公司发布业绩预告!301536,净利预增约6倍

中国基金报
2026-07-19 09:42:30
美国封锁海峡:中国没石油,肯定求饶!中国:谢谢,我用电就行。

美国封锁海峡:中国没石油,肯定求饶!中国:谢谢,我用电就行。

一曲一场談
2026-07-18 16:26:18
特斯拉也宣布涨价了!全系车型均迎来上涨

特斯拉也宣布涨价了!全系车型均迎来上涨

XCiOS俱乐部
2026-07-19 13:39:03
人事调我当保安月薪6万变3千,下午门禁全瘫痪,总裁怒问谁调走的

人事调我当保安月薪6万变3千,下午门禁全瘫痪,总裁怒问谁调走的

千秋文化
2026-07-17 18:55:21
2026-07-19 14:48:49
全栈遛狗员
全栈遛狗员
白天跟需求对线,晚上在小区遛狗。
284文章数 90关注度
往期回顾 全部

科技要闻

Kimi K3单项登顶 整体落后前沿模型2-3个月

头条要闻

罗纳尔多预测世界杯决赛结果:西班牙队将轻松夺冠

头条要闻

罗纳尔多预测世界杯决赛结果:西班牙队将轻松夺冠

体育要闻

世界杯决赛,从“澡盆德比”500年前讲起

娱乐要闻

全网都心疼邹市明,再逼他支棱了

财经要闻

任泽平VIP会员自称爆仓巨亏千万

汽车要闻

把中国超跑卖到英国,比亚迪正在被世界看见

态度原创

手机
健康
数码
教育
时尚

手机要闻

苹果二季度国内出货量逆势大涨!iPhone 17系列销量突破3776万台

刮痧也会刮出脑梗?讲个真实案例

数码要闻

微软发布Win11 KB5121767补丁,修复部分戴尔电脑过热关机问题

教育要闻

日常英语:公交车司机态度有问题

伊姐周六热推:电视剧《雀骨》;电影《功夫女足》......

无障碍浏览 进入关怀版