从 Stack Overflow 复制代码导致 GitHub 项目漏洞多

by admin on 2020年2月9日

现在从网上找代码直接复制到项目中的做法成为程序员的一种常规操作,Stack
Overflow 更是其中主要的代码来源。但是最近有研究显示,从 Stack Overflow
上复制代码凑到项目中会使出现漏洞的概率大大增加。

图片 1

图片 2

原标题:有史以来复制最多的 StackOverflow 代码段存在缺陷 来源:开源中国

Image: Depositphotos

对于开发者而言,Stack Overflow 和 GitHub
是最为熟悉不过的两大平台,这些平台充斥着大量开源项目信息和解决各类问题的代码片段。而就在近日,Palantir的
Java 开发人员,也是 StackQflow中排名最高的参与者之一 Andreas Lundblad
却承认,一段自己十年前写的代码,也是 Stack Overflow
上复制次数最多、传播范围最广的代码段均包含一个错误。

研究人员分析了 1325 个 Stack Overflow 帖子,并获取了其中 72 000 多段 C++
代码,发现了其中包含有 29 种类型的 69 个漏洞。

据悉,2018年发表的一篇学术论文确定了在网站上发布的代码片段 Lundblad 是从
StackOverflow 提取的复制最多的 Java 代码,然后在开源项目中重复使用。

这些漏洞出现在 2589 个 GitHub
仓库中,研究人员通知了受影响的 GitHub
项目作者,但只有少数人选择修复已知这些危险情况。

该代码段以人类可读格式打印了字节数。学者发现,此代码已被复制并嵌入到
6,000 多个 GitHub Java 项目中,比其他任何 StackOverflow Java
代码段都多。

研究人员展示了含有漏洞的代码主要是以什么方式从
Stack Overflow 进入到 GitHub 中的,包括最经常发现的输入验证不正确、异常或异常情况的不正确检查与错误编码,比如复制代码不完整。

而在上周发布的博客文章中,Lundblad
则承认,该代码存在缺陷,并且错误地将字节数转换为人类可读的格式。他表示,在学习了学术论文及其结果之后,已重新审视了代码。同时再次查看了该代码,并在其博客上发布了更正的版本。

详情查看:

STACKOVERFLOW 代码有时包含安全性错误

https://fossbytes.com/copying-codes-from-stack-overflow-leads-to-vulnerable-github-project

据了解,尽管 Lundblad
的代码段是存在一个琐碎的转换错误,仅导致文件大小估计稍有不准确,但情况或许可能会更糟。例如,该代码可能包含安全漏洞。如果这样做的话,那么修复所有易受攻击的应用程序将花费数月甚至数年,使用户容易受到攻击。

事实上,即使普遍认为从 StackOverflow
复制粘贴代码是一个坏主意,但开发人员还是一直这样做。

2018 年的研究论文显示了这种做法在 Java
生态系统中的普及程度,并揭示了复制流行的 StackOverflow
答案的绝大多数开发人员甚至都没有理会其来源。

从 StackOverflow
复制代码但没有署名的软件开发人员,实际上对其他编码人员隐藏了他们已经在项目内部引入未经审查的代码的情况。

这听起来像是一个过于警惕的声明,但在 2019 年 10
月发表的另一项学术研究项目显示,StackOverflow
代码段确实包含漏洞。该研究论文在过去十年中在 StackOverflow 上发布的 69
种最流行的 C ++ 代码片段中发现了主要的安全漏洞。

研究人员透露,他们在总共 2859 个 GitHub 项目中发现了这 69
个易受攻击的代码片段,显示了一个错误的 StackOverflow
答案如何对整个开源应用生态系统造成破坏。

参考消息:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图