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

543 篇文章 13 订阅
6 篇文章 0 订阅

整理 | 禾木木

出品 | 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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在GitHub上有很多人工智能项目可以供开发者使用和参考。其中一些项目包括Cheatsheets AI,它是一个学习工具,可以帮助开发者跟上人工智能项目的速度。\[1\]另外,还有一个名为intelligent-uavpath-planning的项目,它是一个智能无人机路径规划仿真系统,可以在Gitee上找到它的代码。\[2\]此外,Keras也是一个在人工智能开源项目中非常罕见的工具,它是一个为人类而设计的应用编程接口,可以与其他高知名度的人工智能项目进行互操作。\[3\]这些项目都提供了丰富的资源和指导,可以帮助开发者在人工智能领域进行开发和研究。 #### 引用[.reference_title] - *1* *3* [GitHub大神总结的22个顶级开源AI项目,你不会还没用过吧](https://blog.csdn.net/TsingSee/article/details/117355245)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [人工智能科技成熟的11个Github上免费开源项目,很多电影中才有的场景应用到现实颠覆普通人的认知和想象](https://blog.csdn.net/u014374009/article/details/128770059)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值