正文:
中国人工智能公司Z.ai本周被迫下架其ZCode编程助手的多项功能,原因是有人发现该工具存在一项默认设置,会在未经用户同意的情况下,将用户本地代码库发送至中国的阿里云服务器,这一事件引发了企业对AI工具如何处理敏感源代码的新一轮担忧。
该公司随后发布道歉声明,表示已"完成必要的补救措施",并在ZCode客户端中禁用了负责生成和上传本地代码库快照的工作流程。公司表示已在最新版本中移除该功能,并开放代码库供公众审查,相关声明发布在X平台上。
该问题最初由一名独立的中国技术博主通过技术调查发现,他描述了自己发现异常磁盘占用情况,并追踪定位到ZCode后台进程的过程。
这名中国博主Ferstar在一篇详细记录调查过程的博客文章中写道(根据其提供的机器翻译):"只要你登录了账号,ZCode就会悄悄打包你的整个工作区——包括完整的.git历史记录、LFS资产缓存、reflog记录以及全局应用配置——加密后直接上传到阿里云OSS。"
据这名博主介绍,ZCode编程助手不仅会访问活跃文件,还会捕获更广泛的开发环境信息,实际上形成了一条从本地系统到云存储的数据传输通道。
该博主表示,这些数据被上传至阿里云对象存储服务,这引发了人们对企业代码库(包括专有逻辑和内嵌凭证)一旦离开本地环境后将如何被处理的担忧。
Z.ai对此问题予以承认,感谢社区开发者发现该问题,并承诺将持续推进漏洞报告与响应机制。
作为应对措施的一部分,该公司表示已禁用代码库上传机制,删除了相关的云存储基础设施,并在ZCode v3.14.0客户端中实施了相应变更。
Z.ai还请中国信息通信研究院(CAICT)和绿盟科技(NSFOCUS)开展安全评估。
Z.ai在声明中补充道:"绿盟科技已确认,zcode-prod阿里云OSS存储桶中的所有数据对象以及该存储桶本身均已被删除。相关的Repo Wiki入口及关联生成工作流已被移除,未发现任何可能触发本地代码库快照生成或将本地文件外传的功能路径。"
该公司还表示,此类数据未被保留,且"从未被用于模型训练",以此回应外界对上传代码后续用途的担忧。
在Z.ai事件中,Ferstar的调查发现显示,一个默认启用的工作流程可以在没有用户明确操作的情况下,将整个代码库从本地环境打包并传输至云端基础设施,该公司随后在补救更新中对此行为进行了处理。
Semgrep公司安全倡导者Cris Thomas表示:"这其实不算是AI模型本身的问题,而是一个老式的安全架构问题。"他指出,如果一个编程助手能够"打包我的整个代码库,并发送到我未明确批准的地方",那么问题就在于访问权限和许可机制是如何被执行的。
他说:"让AI访问专有源代码,应当要求明确披露哪些数据会离开本机、传输到哪里、保留多长时间以及谁可以访问,默认应开启最小权限,而不是最大权限。"
风险并不局限于基于云的部署方式。他补充说,本地运行的系统如果被授予广泛的文件系统访问权限和不受限制的网络连接,同样可能暴露敏感数据。
Semgrep公司资深安全倡导者Katie Paxton-Fear表示:"鉴于代码中包含大量知识产权,人们担心这些代码被发送到第三方云服务商那里,这并不令人意外,"她补充道,各组织机构需要更严格地审查其部署的AI工具。
OpenAI近期披露的关于模型对齐偏差和报告框架的信息,也指出了一些系统出现意外行为的案例,凸显了AI系统在部署过程中可能出现未被完全预见的运行方式这一问题。
Q&A
Q1:Z.ai的ZCode编程助手出现了什么问题?
A:ZCode存在一个默认启用的设置,会在用户未同意的情况下,将本地代码库(包括完整的.git历史记录等)打包加密后上传至阿里云服务器,引发企业对敏感源代码泄露的担忧。
Q2:Z.ai对此问题采取了哪些补救措施?
A:Z.ai禁用了代码库上传机制,删除了相关云存储基础设施,在新版客户端中移除该功能,并请第三方机构进行安全评估,确认相关数据已被删除且未用于模型训练。
Q3:这类AI编程工具的安全隐患本质是什么?
A:安全专家指出,这并非AI模型本身的问题,而是安全架构设计问题,AI工具访问代码时应默认采用最小权限原则,并明确披露数据流向、保留时长及访问权限。
