乐于分享
好东西不私藏

你的私有代码,GitHub 的AI助手已经“看”过了

你的私有代码,GitHub 的AI助手已经“看”过了

你的私有代码,GitHub 的AI助手已经“看”过了

想象一下这个场景:你熬夜写完的私有项目代码,被你信任的AI代码助手“无意间”泄露给了别人——而且不是个案,是系统性的、可复现的。

不是科幻电影,是昨天真实发生的事。

一群安全研究员搞了个叫 GitLost 的项目,专门演示怎么骗过GitHub的AI Agent,让它乖乖交出私有仓库里的数据。说白了,就是当着GitHub的面,让它自己的AI当叛徒。

这事一出,整个开发者圈子都炸了。

【more】

到底发生了什么?

简单说,GitLost团队发现了一个漏洞。GitHub的AI Agent(就是那个帮你写代码、补注释、自动补全的智能助手)在处理某些特殊的请求时,会忽略仓库的权限设置。

他们怎么演示的?

写了一段特制的prompt,假装成正常的代码补全请求。结果AI Agent直接读取了私有仓库的内容,还把它输出到了公开可访问的地方。

关键点不是“AI犯错了”,而是“AI根本没意识到自己在泄露秘密”。

它就像那个办公室里嘴巴不严的同事,你问它“那个项目的配置参数是啥”,它想都没想就告诉你了——因为它觉得你问得理所当然。

为什么这事比你想象的严重

你可能觉得:“我又不是什么大公司,我的代码谁稀罕啊?”

但问题不在这儿。

这次演示暴露的是AI系统的底层信任机制的漏洞。 我们默认AI助手会遵守权限边界,但GitLost证明了:只要你会“说话”,AI的权限边界就是纸糊的。

想想看,现在多少开发者把AI代码助手当主力工具?从补全代码到解释代码,从写测试到调试错误,AI已经渗透到开发的每一个环节。

如果连GitHub自家的AI都不靠谱,那些第三方AI工具呢?那些你授权访问了你整个代码库的AI插件呢?

信任一旦有了裂缝,裂缝就会变成深渊。

谁该为这事负责?

GitHub的反应挺快的,已经承认了这个漏洞,并且表示在修复中。但问题是,这种漏洞是修一次就能解决的吗?

GitLost团队在技术报告里提到,他们尝试了多种变种的攻击方式,成功率高低不一,但方向是明确的——只要AI有读取数据的权限,就一定有办法让它把数据交出来。

这不是GitHub一家的问题。这是所有“大语言模型+代码库权限”组合的共性问题。

你给AI一把钥匙,让它进房间拿东西。你告诉它“只能拿蓝色箱子里的东西”。但AI的脑子是模糊的,它分不清“蓝色”和“蓝色旁边那个红色”的区别,尤其是在你巧妙引导的时候。

AI没有“忠诚”这个概念,它只有“服从”。

对普通开发者的实际影响

我知道你在想什么:“反正我代码也没人偷,无所谓。”

那换个角度想:你的API密钥、数据库密码、云服务凭证,是不是经常硬编码在代码里?就算你后来删了,git历史里还留着呢。

AI助手在训练时会不会学到这些?会不会在给另一个用户补全代码时,把相似的密钥格式“建议”出来?

这不是阴谋论。已经有研究表明,大模型在特定条件下会“记住”训练数据中的敏感信息。 虽然GitHub说他们的AI不会用私有代码做训练,但这次GitLost演示的是实时泄露,不是训练泄露。

你的代码可能在“当下”就被泄露了,而不是“将来”。

我们该怎么办?

别慌,但别不当回事。

几个实用的建议:

1. 别把AI助手当自己人——它只是工具,不是你的结对编程伙伴。敏感信息该加密就加密,该放环境变量就放环境变量。

2. 定期检查你的AI助手权限——哪些仓库授权了?哪些AI插件有读权限?能不能收窄?

3. 关注GitLab、Bitbucket等其他平台的AI安全公告——这不是GitHub独有的问题,只是它先被爆出来了。

4. 对于关键项目,考虑本地部署的代码助手——虽然功能弱一些,但数据不出本机。

5. 养成习惯:把敏感代码和普通代码分开——哪怕只是放在不同的仓库里,也能降低风险。

这件事的深层意义

GitLost的演示之所以轰动,不是因为它发现了多么高深的技术漏洞,而是因为它捅破了一层窗户纸。

我们都在假装AI“懂规矩”,但其实它不懂。

它不懂什么是商业秘密,不懂什么是隐私,不懂什么是“这个不能告诉别人”。它只是按照训练数据里的模式,回答它认为最自然的答案。

开发者社区需要重新思考一个问题:我们到底应该信任AI多少?

不是技术上的信任——技术可以验证,可以审计。而是信任它的“判断力”。AI有没有判断力?目前看,没有。

它会帮你写出完美的代码,也会在别人问“你那个项目的密码是什么”时,乖乖把密码打出来。

你信任的不是AI,而是利用AI的人。 而GitLost证明了,利用AI去做坏事,比我们想象的简单得多。


如果你平时用AI写代码,在评论区聊聊:你有没有发现AI做过一些“不该做的事”?比如建议了不该公开的配置,或者读出了你没想到它能读到的文件?

觉得有用的话,点个在看,让更多开发者看到这个隐患。

毕竟,代码可以重写,但数据泄露了,就回不来了。


*下期预告:当AI开始“撒谎”——那些看起来合理但完全错误的代码建议,到底是谁的问题?*

───

关注「蓝色Jerry」· 每天资讯早知道

觉得有用?点个 在看 分享给朋友