(给程序员的那些事加星标)
程序员能遇到的编程问题,大部分基本上早就有其他同行遇到过了。
所以,像Stack Overflow 这样的高质量问答网站,就成了程序员(交友的好去处)之间分享编程解决方案的好地方。
(当你还没理解透就抄代码,就是这个样子。这趣图以前发过的哦)
借鉴(抄)已有的问题解决方案,的确可以快速原型化。
但网上共享的代码片段,不一定都是高质量的,也可能质量较低,有的甚至包含漏洞。
从 Stack Overflow 抄代码,会降低 GitHub 项目的安全性
上图中的这个标题结论,是依据今年 10 月 3 日提交的一篇论文《对众包代码示例中的 C++ 漏洞的实证研究》得出。
(https://arxiv.org/abs/1910.01321)
该论文旨在了解众包代码示例中的安全漏洞的性质和普遍性。为了实现这一目标,研究人员调查了 10 年间 Stack Overflow 共享的 C++ 代码片段中的安全漏洞。
据论文作者称,
> 从 GitHub 项目中选取了 72,483 个代码片段,我们发现总共有 69 个脆弱的代码片段,可分为 29 种类型。
> 许多被研究的代码片段,在 Stack Overflow 上还是没更正。Stack Overflow 中发现的 69 个脆弱的代码片段,在 2859 个 GitHub 项目中被重用。
在这次调查研究中,那些有漏洞的 GitHub 项目,尽管研究人员通知给相应的作者/开发者了,但只有一些人修改了。
对许多程序员来说,放弃 Stack Overflow(几乎)是不可能,因此论文研究人员开发了一个 Chrome 扩展,可以帮助确定代码的安全性。
安装扩展后,它会根据 CWE 数据库检查复制的代码,并在代码片段有已知缺陷时通知程序员。据传,扩展的开发者计划很快发布它。
领取专属 10元无门槛券
私享最新 技术干货