AI生成代码的安全隐患及应对措施
重点要点
AI生成的代码在多个领域出现,即使在禁用其使用的情况下也如此,带来潜在的安全风险。确保软件包的准确识别和管理,使用软件组成分析(SCA)工具可以帮助发现第三方库和潜在的安全隐患。开发者从Hugging Face等平台下载机器学习模型时,可能面临后门和恶意代码的风险。大约一半的公司担心AI系统可能会学习并复制敏感信息的模式,因此需采取措施降低风险。需要考虑与非传统开发团队的合作,以增强整体安全意识。在当今这个AI技术迅猛发展的时代,AI生成的代码无处不在,甚至在一些正式禁止使用的地方也开始出现。网络安全领导者们如何能确保这些技术不影响其安全性呢?
信用:Gorodenkoff / Shutterstock
2023年,数据提取初创公司Reworkd面临着紧迫的截止日期。投资者要求他们尽快实现平台的货币化,并需要将所有内容从Nextjs迁移到Python/FastAPI。为了加快进度,团队决定借助ChatGPT来完成部分工作。AI生成的代码似乎能够正常运行,因此他们直接将其实施到生产环境中。然而,第二天,他们醒来时收到了“超过40封关于用户投诉的Gmail通知,”联合创始人Ashim Shrestha在他的一篇博文中写道。“一切似乎在一夜之间变得很糟糕。所有用户都无法订阅。”
由于AI生成的第56行代码出现了独特的ID冲突,导致订阅过程出现故障,团队花了五天的时间才找到并修复这个问题。Shrestha表示,这个错误,“单单是一个ChatGPT的失误成本超过了我们一万美元。”
尽管Reworkd公开承认了他们的错误,但许多类似事件仍处于未知状态。首席信息安全官(CISO)们往往是在闭门会议中得知这些情况的。金融机构、医疗系统和电子商务平台都遇到了安全挑战,因为代码补全工具可能引入漏洞、干扰操作或损害数据完整性。很多风险与AI生成的代码、由于幻觉产生的库名称,或引入的未跟踪和未验证的第三方依赖项有关。
海鸥加速器免费使用正如Veracode的首席技术官Jens Wessling所说:“我们面临着一次完美的风暴:对AI生成代码的依赖日益增加、开源库的快速增长以及这些系统的复杂性。”因此,安全风险只会愈演愈烈。
确保软件包的识别
AI驱动的代码补全工具的兴起虽然为软件开发带来了新的效率和创新,但同时也伴随着重要的安全风险。Wessling指出:“AI生成的代码通常与人类开发的代码无缝融合,这使得很难判断安全风险的来源。”

有时,自动生成的代码可能会包含第三方库或幽灵依赖项即在清单文件中未明确声明的依赖项。这些未报告的软件包在扫描过程中可能无法被识别,从而可能隐藏漏洞。
一种应对方法是使用软件组成分析(SCA)和软件供应链安全工具,这可以帮助识别正在使用的库、潜在的漏洞以及可能带来的合规性和法律问题。
“适当调整的SCA可以更深入地审查问题,这或许是解决之道。”Secure Delivery的首席安全官及联合创始人Grant Ongers表示。然而,这个解决方案也并不完美。“SCA最大的问题是包括在未调用的库功能中的漏洞,”他补充道。
Endor Labs的2024依赖管理报告显示,对于拥有显著幽灵依赖足迹的组织,56的报告库漏洞出现在幽灵依赖中。“我们预计这将是组织日益面临