模型能帮你"写"代码,也能让你出名!你必须了解的Github Copilot安全问题!
本周程序员界有一个大的新闻,根据注释就可以生成相应代码的编程神器Github Copilot发布了,具体的介绍可以参考官网。
官网直达:https://copilot.github.com
Copilot发布之后,很多人申请到了测试资格,然后就有一种被玩坏的感觉。在这个过程中,推上的Kyle发现了这个模型的一些隐私安全问题。
从下图可以看到,有人想让Github Copilot生成有一个About me页面,却得到了一个作者为David Ceils的代码。
生成的代码中,包含了David Ceils个人的很多隐私信息。
作者本人也回应了,但是他还没有申请到测试的资格。
GitHub Copilot 是由OpenAI的 Codex提供支持,其实可以理解为GPT-3的一个改进版本。在官网,介绍了它实现的整个流程。
Copilot会把相关的命令和代码发送到服务器,通过调用OpenAI Codex给出代码或者建议。
作为GPT-3的一个改进模型,OpenAI Codex也应该存在GPT-3等语言模型的一些安全缺陷,上面出现的隐私泄露就是其中之一。
其实早在去年,谷歌和OpenAI的研究人员就警告,BERT,GPT-3等这种大型的语言模型在隐私方面存在重大的风险,主要是语言模型有可能会泄露训练数据的细节。
因为模型是通过数百GB的数据训练的,数据集主要来自互联网,所以可能会包括一些敏感的数据。这就可能导致模型的输出会存在一些隐私的信息。
下图为攻击GPT-2模型,输出的敏感信息。
这种攻击模型的方法,研究者称之为"训练数据提取攻击"。有兴趣的同学可以阅读下面的论文。
论文地址:
https://arxiv.org/pdf/2012.07805.pdf
论文中研究人员以GPT-2为攻击对象。GPT-2模型并未公开,只能够通过API访问,但是研究人员也成功通过大量的访问,提取到大量的训练数据。下图可以看到,提取到的数据分类,有一些是相当隐私的数据。
可能有人会觉得这就是一种Google dorking,我认为这种模型攻击的方式和Google dorking不太一样。因为模型的训练数据也可能是非公开的数据集,如果可以通过一定的手段窃取到训练数据,它就是一个重大的安全隐患,后续就需要有相应的防御措施。
至于GitHub Copilot会不会取代程序员,可以读读以前的这一篇文章: 如果你认为GPT-3使程序员淘汰,那你大概率不写代码
参考链接:
1.https://copilot.github.com/
2.Privacy Considerations in Large Language Models
https://ai.googleblog.com/2020/12/privacy-considerations-in-large.html
3.Extracting Training Data from Large Language Models https://arxiv.org/pdf/2012.07805.pdf
4.Privacy Risks of General-Purpose Language Models
https://www.computer.org/csdl/proceedings-article/sp/2020/349700b471/1j2LgooZ4fS