当前位置: 首页 > 科技观察

开源软件漏洞发现周期超过四年

时间:2023-03-20 11:11:57 科技观察

近日,GitHub在其年度Octoverse状态报告中指出,开源软件安全漏洞在被披露前的发现周期超过四年。该报告分析了超过45,000个活动代码目录,以深入了解开源安全(漏洞)和开发人员在漏洞报告、警报和修复方面的实践。其他发现在分析依赖关系图收集的长达一年的数据后,该报告发现GitHub上的大多数项目都至少有一个开源依赖项。使用JavaScript(94%)、Ruby(90%)和NET(90%)的用户的百分比最高。JavaScript和Rudy项目的直接依赖中位数最多(分别为10和9),而JavaScript的传递依赖中位数最多(即它们的直接依赖本身有其他依赖)。另一个有趣的发现是,大多数开源软件漏洞是由错误而非恶意攻击引起的。“对来自六个生态系统的521个随机样本的分析发现,17%的代码提交与明显的恶意行为有关,例如后门尝试。在这17%的统计数据中,绝大多数来自npm生态系统。”后门的最明显迹象他们解释说,攻击者通常通过帐户劫持获得对包源代码存储库的访问权限,而针对这些尝试的最后一道防线是在开发管道中进行仔细的同行评审,尤其是来自新提交者的更改。“许多成熟的项目都有认真的同行评审。攻击者意识到这一点,因此他们经常尝试通过版本控制之外的方式在发布时破解,例如操纵包名来欺骗人们下载恶意版本的代码。”GitHub指出,人为错误造成的漏洞可能与恶意攻击一样具有破坏性,并且更有可能影响热门项目。开源安全最佳实践“在使用开源软件时,安全始终处于最前沿。我们的分析表明,发现的潜在漏洞数量与编写的代码行数成正比。”报告指出:“开源的力量和希望来自社区。通过与数百万开发人员的联手,不仅开发软件包,还要识别和修复漏洞,我们可以更快、更安全地开发软件。”报告强调,开源安全的关键是利用自动警报和补丁工具。“我们自己的分析发现,自动生成拉取请求以更新补丁版本的存储库的平均修复时间为33天,比没有自动更新的存储库快13天或快1.4倍。》【本文为专栏作者“安安牛”原创文章,转载请通过安安牛(微信公众号id:gooann-sectv)获得授权】点此阅读更多作者好文