github的ai编程工具漏洞高达40%,再次陷入争议……

AI科技大本营 AI科技大本营     2023-01-01     290

关键词:

整理 | 禾木木

出品 | AI科技大本营(ID:rgznai100)

在近日发表的一篇论文中,研究人员对 GitHub Copilot 人工智能编程辅助工具进行了深入调查。结果发现,仍处于测试预览阶段的 Copilot 具有高达 40% 的错误代码率,意味着开发者必须在使用时对其保持清醒的认知。此外在多场景测试项目中,约 40% 都被发现包含了安全漏洞。

AI 编程神器 GitHub Copilot

此前,GitHub 和 OpenAI 推出一种新人工智能自动编程工具 Copilot ,能自动生成代码,供开发者参考使用。

官方宣传语为“你的 AI 结对编程助手”。

什么是结对编程呢?

结对编程(英语:Pair programming)是一种敏捷软件开发的方法,两个程序员在一个计算机上共同工作。一个人输入代码,而另一个人审查他输入的每一行代码。输入代码的人称作驾驶员,审查代码的人称作观察员(或导航员)。两个程序员经常互换角色。

在结对编程中,观察员同时考虑工作的战略性方向,提出改进的意见,或将来可能出现的问题以便处理。这样使得驾驶者可以集中全部注意力在完成当前任务的“战术”方面。观察员当作安全网和指南。结对编程对开发程序有很多好处。比如增加纪律性,写出更好的代码等。

那么AI结对编程就是人机结对编程的升级版,具体来说 GitHub Copilot 由 OpenAI Codex 提供支持,可以从开发者已经编写的代码和注释中提取上下文,试图理解开发者意图,生成需要添加的一行、多行代码或整个函数,当程序员接受或拒绝建议时,模型就会学习越来越适应和匹配开发者的编程风格。

这使得程序员无需在写代码时去查阅大量文档或搜索相关示例,更加聚焦于开发工作本身。

正如 OpenAI 员工 Harri Edwards 所言:“用一种不熟悉的语言编写代码,用谷歌搜索所有东西,就像用一本短语手册去浏览一个外国国家。而使用 GitHub Copilot ,好比雇佣一名翻译。”

GitHub 首席执行官在 6 月 29 日的一篇博客文章中称:

OpenAI Codex 对人们如何使用代码有着广泛的了解,且在代码生成方面较 GPT-3 强大得多,部分原因是其在包含大量公共源码的数据集上展开了训练。

GitHub Copilot 适用于多种语言框架,但现阶段的技术预览版本更侧重于 Python、JavaScript、TypeScript、Ruby 和 Go 语言。

然而 Copilot 很快引发了多方争议,尤其涉及代码质量、法律与道德考量、替换人类开发者的可能性、以及引入安全漏洞的可能性。

GitHub Copilot 的代码质量如何呢?

近日,康奈尔大学的研究人员公布了一项数据,为了对 Copilot 的实际价值做出量化,他们为 GitHubCopilot 生成了 89 个不同的场景,生成了 1692 个程序。其中,大约 40% 的程序存在安全漏洞。

具体说来是,这项研究从三个维度展开了考量,分别是缺陷的多样性、prompt 的多样性、以及领域的多样性。

总体而言,头部 39.33% 和总体 40.48% 的项目易受攻击。从安全角度来看,Copilot 在测试场景中的表现也有好有坏。

对于新手来说,Copilot 借鉴的高质量代码还是相当值得推荐的。但若开源存储库中的某些错误相当明显,Copilot 也会更加频繁地重现。

研究人员表示,由于 Copilot 是利用 GitHub 上提供的开源代码进行训练的,因此可以推断,代码安全质量取决于 GitHub 社区的开源代码质量。

在 GitHub Copilot 推出后,有关于它的负面消息这并不是第一次。

就在其发布不到一周的时间里,GitHub Copilot 就被推上了侵权的风口浪尖,引发了前所未有的争议。

原因是有位程序员尝试了一下平方根倒数速算法(Fast Inverse Square Root),结果只是打出来这四个关键词。

floatQ_rsqrt( float number )

long i;
float x2, y;
constfloat threehalfs = 1.5F;
    x2 = number * 0.5F;
    y  = number;
    i  = * ( long * ) &y;                       // evil floating point bit level hacking
    i  = 0x5f3759df - ( i >> 1 );               // what the fuck? 
    y  = * ( float * ) &i;
    y  = y * ( threehalfs - ( x2 * y * y ) );   // 1st iteration
//    y  = y * ( threehalfs - ( x2 * y * y ) );   // 2nd iteration, this can be removed
return y;

GitHub Copilot 就逐行“完美复刻”了当年那段神奇的算法,甚至连当时的原版注释都被保留下来。

甚至GitHub Copilot连当年那句“what the fuck”的注释也用上了。

这种现象引起了大量开发者的不满,这不禁让人细思极恐:难道这不侵犯版权吗?

结 语

关于 GitHub Copilot 代码的事情,在 Hacker News 论坛上引起热议。

一家科技公司的产品安全负责人明确表示:禁止员工使用GitHub Copilot。

不过,也有程序员表示,我用 AI 写的程序关我什么事,有责任那也是 GitHub 母公司微软的。

尽管 AI 编程有很多争议,但脚步从未停止。今年八月,OpenAI 宣布开发一种将自然语言转换为编程代码的人工智能系统 —— Codex。

Codex 是建立在 Copilot 之上,Codex 通过接收用英语编写的句子并将它们翻译成可运行的代码,换句话说,它是可以将自然语言转换为代码的 AI 系统,这意味着 AI 编程的概念又往前进了一步。

对此,OpenAI 称 Codex 让计算机能够更好地理解人们的意图,从而让每个人都可利用计算机来实现更多目的。

那么,AI 写代码究竟可行不可行呢?

参考链接:

https://news.ycombinator.com/item?id=27710287

https://github.com/id-Software/Quake

https://arxiv.org/abs/2108.09293

https://www.techradar.com/news/github-autopilot-highly-likely-to-introduce-bugs-and-vulnerabilities-report-claims

ai语音编程来了!github势要颠覆程序员开发

...|王启隆出品|CSDN(ID:CSDNnews)十五年前,GitHub的第一行代码诞生。从那时起,GitHub的开源先驱将全球开发者集体视为目标,提供开发者们所需的一切,这一使命在GitHub平台的每次迭代中都保持不变。如... 查看详情

github:30%的新增代码出自ai工具copilot之手

人人会编程,家家都是技术公司。随着AI、低代码编程工具的普及与发展,一些重复性的编程工作即将被AI所替代。全球最大的程序员远(同)程(性)协(交)作(友)平台GitHub表示,... 查看详情

ai看唇语,在嘈杂场景的语音识别准确率高达75%

编译|禾木木出品| AI科技大本营(ID:rgznai100)人们通过聆听和观察说话者的嘴唇动作来感知言语。那么,AI也可以吗?事实上,研究表明视觉线索在语言学习中起着关键的作用。相比之下,人工智能语言识... 查看详情

github遭抵制!ai代码生成神器竟成“抄袭工具”?

...丽媛出品|CSDN(ID:CSDNnews)上周,微软、GitHub、OpenAI三方联手推出的AI代码生成神器GitHubCopilot一经官宣便引起巨大关注:试问哪个开发者不想要这么一位“虚拟程序员”来解放自己的双手?因此即使目前Git... 查看详情

github遭抵制!ai代码生成神器竟成“抄袭工具”?

...丽媛出品|CSDN(ID:CSDNnews)上周,微软、GitHub、OpenAI三方联手推出的AI代码生成神器GitHubCopilot一经官宣便引起巨大关注:试问哪个开发者不想要这么一位“虚拟程序员”来解放自己的双手?因此即使目前Git... 查看详情

github遭抵制!ai代码生成神器竟成“抄袭工具”?

...丽媛出品|CSDN(ID:CSDNnews)上周,微软、GitHub、OpenAI三方联手推出的AI代码生成神器GitHubCopilot一经官宣便引起巨大关注:试问哪个开发者不想要这么一位“虚拟程序员”来解放自己的双手?因此即使目前Git... 查看详情

ai语音编程来了!github势要颠覆程序员开发

...|王启隆出品|CSDN(ID:CSDNnews)十五年前,GitHub的第一行代码诞生。从那时起,GitHub的开源先驱将全球开发者集体视为目标,提供开发者们所需的一切,这一使命在GitHub平台的每次迭代中都保持不变。如... 查看详情

github小工具之banli(代码片段)

文章目录Banli介绍下载地址使用参数资产发现资产识别漏洞扫描信息收集支持列表支持识别的资产应用支持扫描的框架漏洞免责声明Banli介绍Banli是一款简单好用的高危资产和高危漏洞扫描工具。Banli可以很方便的对内网或外网的... 查看详情

github小工具之banli(代码片段)

文章目录Banli介绍下载地址使用参数资产发现资产识别漏洞扫描信息收集支持列表支持识别的资产应用支持扫描的框架漏洞免责声明Banli介绍Banli是一款简单好用的高危资产和高危漏洞扫描工具。Banli可以很方便的对内网或外网的... 查看详情

github添加新工具,帮助开发人员保护代码

...更多全球网络安全资讯尽在E安全官网www.easyaq.com我来报:GitHub宣布推出了几款新的安全工具和功能,旨在帮助开发者保护代码的安全。据外媒报道,GitHub在2017年曾推出一项新的安全功能,旨在帮助开发人员识别项目使用的软件... 查看详情

intel转型未成功而陷入亏损,amd再次增长并获得可观的利润

Intel和AMD这对老冤家都公布了二季度的业绩,ADM可谓喜事连连,而Intel则陷入了20多年来的最大阴霾,创下了自1999年以来的最大亏损,而且Intel尚未见到希望。AMD公布的二季度业绩显示营收增长70%至65.5亿美元,... 查看详情

有了这些ai工具,健康和财富兼得「github热点速览」(代码片段)

...r,以及你的数据库问题FerretDB。以下内容摘录自微博@HelloGitHub的GitHubTrending及HackerNews热帖(简称HN热帖),选项标准:新发布|实用|有趣,根据项目release时间分类,发布时间不超过14day的项目会标注New,无该标志则说明项目release... 查看详情

ai编程githubcopilot

敲代码神器、程序员的AI助手GitHubCopilot,可以帮程序员节省时间,集中精力去解决更重大的问题,GitHub还希望Copilot能帮人掌握一门新的编程语言。GitHubCopilot架构上基于OpenAI和文本编辑器的架构,AI辅助功能基于pen... 查看详情

github变成反诈

提高警惕!黑客在GitHub上利用虚假PoC漏洞钓鱼信天辰信息安全2022-10-2717:29山东品牌企业,山东信天辰信息安全技术有限公司官方帐号关注来源:FreeBuf作者:Zhuolin莱顿高级计算机科学研究所的研究人员在GitHub上发现了数以千... 查看详情

codeartssnap:辅助你编程的神器

...软以OpenAI大规模代码预训练生成模型Codex为底座的AI辅助编程工具GithubCopilot,一经推出受到业界热评。Github声明内部团队30%的新代码是在Copilot的帮助下完成的;另外,在写web服务端的对比实验中发现,使用AI辅助... 查看详情

copilot自动编程ai工具

OpenAI与GitHub联合构建的AI自动编程工具Copilot,Copilot基于自然语言处理模型GPT-3搭建而成,Copilot预览版已经正式上线VisualStudioCode平台 OpenAI的GPT-3 初识2019年DOTA2的顶级赛事TI8的正赛完成,OpenAI以2:0完胜了OGOpenAI开... 查看详情

idc:2018年中国人工智能服务器增幅高达132%

...场调查报告》,2018年中国AI基础架构市场销售额同比增幅高达132%,整体销售额达到13.18亿美元。其中,浪潮销售额达到6.6亿美元,在整体份额中占比依然超过50%,连续两年以过半市场份额的绝对优势排名第一。16卡GPU服务器高速增长IDC... 查看详情

github中已开源项目汇总

GitHub中已开源项目汇总QT端软件输入法串口工具AIIOT网络协议安卓音频工具嵌入式端软件协议类引导升级类音频类QT端软件输入法基于谷歌拼音输入法库串口工具串口助手AI百度AI,语音识别,图片识别OpenCV人脸检测demoIOT基... 查看详情