智能AI
evening
AI应用元年,只会yes,无视风险?软件开发的航行日志全面开源
2026-06-15
1 阅读
新智元
新智元报道 【新智元导读】 AI写代码的风险隐藏在看似正确的代码中,可能引发数据泄露或资产损失。Narwhal AI Code Risks开源项目整理了真实案例、早期信号和典型风险路径,帮助开发者提前识别隐患,避免重蹈覆辙。 2026年,代码正以越来越快的速度生成,却以越来越少的审视被部署。 越来越多时候,用户的需求被放进对话框,AI读完上下文,补全函数,拉起依赖,改好配置,再顺手生成测试。 等回过神来,一段代码已经躺在仓库里,等待合并。 用户都已经形成了新的习惯,先让AI写出来跑起来,有问题再看哪里需要改。 但软件世界里,最危险的东西往往是看起来平平无奇的代码:语法正确,接口合法,测试通过,注释完美。 可它仍然可能引入不存在的包名,打开过宽的权限,暴露数据库......甚至让一个能直接调用系统工具的 Agent 在提示词注入下,把敏感数据带出内部系统。 真正危险的,不是报错红灯亮起。而是所有风险仪表都显示正常。 AI 写代码的风险,过去散落在各处:一篇安全博客藏着一个案例,一个 Issue 记着一段线索。等下一个团队遇到同类问题时,又需要从头拼凑风险来源、又要耗费大量时间精力对代码进行大规模实证测量。 而北京大学Narwhal-Lab刚刚开源的 Narwhal AI Code Risks 已经把信息碎片整理好,按照真实事件、早期信号和典型风险路径这三种类型归类,供研究者查看。 论文链接: https://github.com/Narwhal-Lab/Narwhal-aicode-risks 当28项检查全部通过 系统仍然偏航 第一条线索是一个已经合并的Pull Request,PR署名栏里赫然写着Claude Opus 4.6和Copilot,以及四位人类开发者。28项检查全部通过: 没有人发现问题 。 然后,清算机器人花了几分钟,拿走了价值 1,778,044.83美元 的抵押品。 配置文件里cbETH的价格被设成了和ETH的换算比例,约等于1.12美元,而不是实际接近2,200美元的价格。 一个价格语义错误就这样穿过了开发、检查和合并流程,最后在金融系统里变成了真实损失。这就是Moonwell cbETH预言机配置事故最刺眼的地方。 问题就出在代码中没有语法报错,人类开发者也没有立刻阻断异常的流程。相反,它看起来很完整,很顺利,这就是一次正常的工程交付。 但正是这种暗流涌动的正常,才让它成为安全事件的典型例子。 AI Coding的风险在于它并不总是以报错的方式出现。 很多时候,它披着正确答案的外衣,安静地进入工程流程。代码能跑,检查能过,PR能合并,但业务语义已经偏离了真实世界。 在低风险项目里,这种语义偏离可能只是一次返工;但在金融、企业数据系统等敏感场景中,它将直接泄露数据、暴露权限和损失资产。 当AI参与写代码、改配置、做review、甚至共同署名进入PR时,我们有没有足够把握知道每一次偏航是怎么发生的? 绿色通行信号 照不到所有角落 早期的AI帮你写代码,大多停留在局部补全。如果语法写错了,编译器会报错,单元测试会失败,CI流程会将其拒之门外。 今天的AI Coding走得更远而监管却迟迟却未跟上。 它能读文件,能改配置,能安装依赖,能生成基础设施脚本,也能通过Agent在多个任务之间自行规划。 AI不再只是坐在旁边递工具,它开始进入软件工程的更长链路。 软件工程里原本清晰的边界,被AI Agent重新连成了一条更长、更难溯源的路径。 分散的记录 需要一份公共航行日志 安全事件很少一开始就有完整结论。有些事件证据充分,可以作为真实案例进入目录;有些还停留在社区截图、研究员讨论或初步披露阶段,只适合继续观察;还有一些不绑定单一真实事件,却已经形成清晰模式,适合拿来做提前推演。 Narwhal AI Code Risks 把材料分成三层:`cases/`、`inferred/` 和 `scenarios/` 。 cases/ 记录已经有公开来源和证据链支撑的真实事件; inferred/ 保存还没有完全坐实、但值得持续追踪的早期信号; scenarios/ 整理暂不绑定单一事件、但风险路径足够清晰的典型场景。 如果没有这样的公共记录,AI Coding 的风险很容易变成互联网里的短期记忆。 今天大家记得某个包名,明天讨论某次数据暴露,过几个月又被新的工具热潮覆盖。等相似问题再次出现,团队仍像无头苍蝇撞进风险未知的航区。 Narwhal AI Code Risks做的,就是把这些零散风险片段固定下来,让后来的人可以翻到同一页。 沿着七类索引 看见风险的来路 AI写代码带来的问题,不只在代码里。它在依赖里,在权限里,在Agent的工具调用里,更在人类对AI输出的信任方式里。 Narwhal AI Code Risks目前把风险分成7类 :供应链、代码级漏洞、云与基础设施配置、Agent风险、垂直领域风险、知识产权与合规风险,以及人为因素。 在供应链风险里 ,AI可能推荐不存在的依赖。代码级漏洞里,AI可能把路径遍历、输入校验缺失、鉴权问题重新写进业务代码。云与基础设施配置里,AI可能为了先把代码跑起来给出过宽的权限、公开的存储桶或暴露的端口。Agent风险则更复杂,不只是生成文本,而是开始执行动作。AI生成物正在给真实系统埋下隐患。 AI引擎在点火 而航行日志才刚刚翻开 当AI一步步走进真实世界,相关的风险防治不应该只停留在事后复盘或零散讨论中。 Narwhal AI Code Risks真正重要的地方,是把风险案例变成可以复用的知识 。 开发者可以用它识别相似问题;安全研究人员可以把它作为样本库;工具厂商可以从中提取检测规则和评测基准;开源社区也可以继续补充新的案例、新的证据和新的风险类型。 AI 的引擎正在轰鸣,每一次偏航也都应该留下坐标。风险从来不会因为被忽视而消失,但经验可以被记录与传递。真正有价值的并非发现一次漏洞,而是让后来者不必再踏入同一个陷阱。 Narwhal AI Code Risks正在做的,就是为AI应用元年的软件世界,留下一份开源的航行日志。 参考资料: https://github.com/Narwhal-Lab/Narwhal-aicode-risks 编辑:LRST 秒追ASI ⭐ 点赞、转发、在看一键三连 ⭐ 点亮星标,锁定新智元极速推送! 文章原文