java代码粘贴后报错_StackOverflow被复制最多的Java代码存在一个Bug

StackOverflow上被复制最多的Java代码片段存在错误,该代码由AndreasLundblad于2010年发布,涉及数据转换为人类可读格式。此代码被6000多个GitHub项目引用。尽管该错误影响较小,但提示了从StackOverflow直接复制代码可能带来的风险。
摘要由CSDN通过智能技术生成

df907da91f070d1ad537d42fb790d83f.png

史上被复制最多的StackOverflow Java代码片段其实存在bug。

公开这件事的是代码本身的作者,Palantir的Java开发人员Andreas Lundblad,他是StackOverflow(编程开发相关的问题网站)排名最高的贡献者之一。

根据2018年发表的一篇学术论文中的统计数据,Lundblad在该网站上发布的一段代码被认为是StackOverflow有史以来被复制最多的Java代码,在多个开源项目中被反复使用。

2ef5395dde21807573e52529c5509512.png

这段代码是2010年9月StackOverflow上某个编程问题的答案。主要和数据转换有关,以人类可读的格式(如123.5 MB)打印字节数(123456789字节)。

研究人员发现,这段代码被复制到6000多个GitHub Java项目中,超过其他任何被引用的StackOverflow Java代码片段。

4d509a1c91b7974754ee3c59d11e226c.png

在上周发表的一篇文章中,Lundblad承认那段代码有缺陷,转换逻辑存在漏洞。

Lundblad表示,在得知自己的代码应用的如此广泛后,他再次查看了代码,并在博客上发布了更正后的版本。

StackOverflow代码的安全漏洞

虽然此次Lundblad代码只是存在一个微不足道的转换错误,只会对文件大小的计算结果产生些许影响,但类似情况有可能会更严重。

例如,一旦代码中存在安全漏洞。那么修复所有受影响的应用将花费数月或数年时间,期间无数用户的安全都将受到威胁。

不过,即使大家都知道从StackOverflow直接复制粘贴代码是很不安全的,不少开发人员仍然会这么做。

2018年就有相关研究报告展示了这种做法在Java开发中是多么的普遍,许多抄袭StackOverflow答案的开发人员懒得去追溯代码的来源。

严格来说,这种从StackOverflow复制代码而不注明实际出处的行为是严重违规的,相当于开发人员往项目中引入了未经审核的代码。

也许这听起来有点危言耸听,但2019年10月发表的另一项学术研究表明,StackOverflow不少代码片段确实包含安全漏洞——这不仅仅是用来吓唬开发者的“神话”。

a5a362f5e93ec47925ed1e5ec5534cda.png

cdb4279783281ba248761a65201c1733.png

该研究发现,在过去十年中,StackOverflow上发布的69个最流行的C++代码片段存在重大安全漏洞。

研究人员在总计2859个GitHub项目中发现了这69个存在漏洞的代码片段,这表明一个糟糕的StackOverflow答案可能会破坏整个开源应用的系统安全。本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场

来源:https://www.zdnet.com/article/the-most-copied-stackoverflow-java-code-snippet-contains-a-bug/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值