查看原文
其他

GitHub 推出 Dependabot,为依赖关系保驾护航

Eduard Kovacs 代码卫士 2022-04-06

 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士团队

周四,GitHub 通知开发人员称,可通过集成 Dependabot Security Advisory API 确保应用程序是安全的且总是处于最新状态。

Dependabot 是由伦敦开发人员 Grey Baker 开发的一款管理工具,可帮助 GitHub 用户将其依赖关系维持在最新状态。该工具每天检查用户的依赖关系文件并在更新可用时创建拉取请求。用户可手动查看这些请求并合并,或者根据某些标准将 Dependabot 配置为自动合并。

Dependabot 现在还集成了 GitHub 的Security Advisory API,使用户可以访问其“精心构造的”漏洞数据库。GitHub 指出,Security Advisory 服务在去年使用了超过1000万个和1000多个缺陷相关的警报。

通过使用 Security Advisory API,依赖关系能够检查项目的依赖关系是否受到任何已知漏洞的影响并创建拉取更新请求。Dependabot 包括对 Ruby、JavaScript、PHP、Java、Python、.NET、Rust 和Elixir 安全建议的支持。

如果不适用自动化系统,确保依赖关系总处于更新状态并非易事。例如,Baker 指出,JavaScript 有30个直接依赖关系和712个间接依赖关系。Ruby 总共有125个依赖关系、Rust 共有98个依赖关系、PHP 共有73个依赖关系,而 Python 有68个依赖关系。

“Dependabot 会自动创建拉取请求以响应安全建议。每天它都会下载你的依赖文件、解析它们并检查任何过时或不安全的依赖关系。如果它发现在 GitHub 上创建了一个拉取请求,隔离需要更新的特定依赖关系以及已发生变化的细节。”

为了使开发人员更容易地决定是否要合并拉取请求,Dependabot 提供了有关执行特定更新的所有项目的持续集成 (CI) 通过率的信息。如果通过率很高,开发人员可以更自信地决定合并。

“典型的 ruby 项目(具有38个顶级依赖关系)每周通常会收到两个依赖关系更新。在这些更新中,94%的更新是非破坏性的,这意味着一般而言,你只需要每两个月编写一次代码以响应依赖关系更新。其余的时间你只需点击‘合并’并使用安全的最新的依赖关系即可。”

Dependabot 对于开源项目和个人项目是免费的,公司必须每月支付15美元至100美元,以确保它们的依赖关系始终是最新的。



推荐阅读

GitHub 新增针对 Python 项目的安全警报功能




原文链接

https://www.securityweek.com/github-helps-developers-keep-dependencies-secure-dependabot



本文由代码卫士编译,不代表其观点,转载请注明“转自代码卫士 www.codesafe.cn”。




您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存