周四,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美元,以确保它们的依赖关系始终是最新的。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/124042.html