写点什么

Dependabot:自动创建 GitHub PR 修复潜在漏洞

  • 2019-02-13
  • 本文字数:887 字

    阅读完需:约 3 分钟

Dependabot:自动创建GitHub PR修复潜在漏洞

Dependabot基于GitHub Security Advisory API,旨在帮助开发人员跟踪依赖项、监控程序的安全性,并通过自动创建 PR 来移除任何潜在的漏洞。


Dependabot 联合创始人 Gray Baker 在一篇博文中透露,Ruby 应用程序很容易就会引入 100 多个依赖项。而这个数字对 JavaScript 来说则更高,超过了 700。而在这 700 多个依赖项中只有一小部分(不到 5%)似乎是直接依赖项(即开发人员有意识要使用的依赖项),这导致了更高的复杂性。


这些依赖项大多具有“传递性”,也就是说它们被其他依赖项所依赖,它们之间没有直接的联系,与使用它们的应用程序之间也没有。


应用程序所引入的传递性依赖项的数量与每种语言使用的包注册表背后的原理之间肯定存在某种关联。事实上,众所周知,NPM 是迄今为止最大的存储库,主要是因为它支持创建小型包,提供了很多其他包所依赖的简单功能。几年前,当一个用于填充字符串的小型包从 NPM 中移除并破坏了 2 亿多个其他包和应用程序时,这个问题引起了人们的关注。与之相反的是,Python 生态系统在这方面看起来要健康得多,其传递性依赖项的数量与直接依赖项的数量相当。


对于数十或数百个依赖项,要让它们保持最新以便引入安全修复就成了一项关键任务。这就是为什么 GitHub 推出了Security Alerts功能,当系统检测到某个代码库出现 Common Vulnerabilities and Exposures (CVE)列表提到中的漏洞时就会通知代码库管理员。这为管理员提供了宝贵的时间,让他们可以迅速做出反应,并通过升级到安全版本来修复漏洞。可惜的是,他们需要识别出哪个版本修复了漏洞,并通过创建 PR 来管理代码变更。


Dependabot 就是为了解决这个问题而生的,它可以在 GitHub 上自动创建 PR 并隔离需要更新的依赖项。这样就可以将监控和解决潜在漏洞的过程与持续集成(CI)工作流程集成起来,确保 PR 不会破坏应用程序。对于没有持续集成管道的项目,Dependabot 为给定更新指定了 CI 通过率。这个数字是基于所有执行相同更新的项目计算出来的,例如,有 3%的项目更新未通过 CI 测试。


Dependabot 可以在GitHub Marketplace上获得。


查看英文原文https://www.infoq.com/news/2019/02/github-dependabot-security


2019-02-13 08:008312
用户头像

发布了 731 篇内容, 共 473.9 次阅读, 收获喜欢 2008 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第八周作业

sunnywhy

极客大学架构师训练营

设计过度有时比设计不足更可怕

菜根老谭

架构思维 过度设计 演化思维 设计不足

架构师训练营第八章作业

itrickzhang

域名凭什么能卖出亿元高价?

北柯

创业 互联网 域名解析

面试官问:如何设计一个安全的对外接口?

Java小咖秀

Java 面试 经验

你好,工作!

小天同学

工作 心态 自我思考

架构师训练营第8周

大丁💸💵💴💶🚀🐟

Week 08 命题作业

Jeremy

【API进阶之路】高考要考口语?我用多模态评测API做了一场10w+刷屏活动

华为云开发者联盟

人工智能 学习 评测 API 华为云

敏捷开发:影响地图工作坊的反思

华为云开发者联盟

敏捷开发 业务线 需求管理 需求 华为云

抢占5G大市场 众盟科技助力企业跑赢短视频营销新赛道

人称T客

保障服务稳定之服务限流

X先生

后端 架构设计 服务设计 限流算法

Java开发Spark ELT实践(一)

团子粑粑

大数据 Apache Spark

第八周学习总结

赵龙

产品、方案、生态三力齐发 英特尔驱动智能边缘价值迸发

最新动态

行为型模式:迭代器模式解析

Seven七哥

Java 编程 程序员 设计模式 迭代器模式

扎克伯格:从程序员到福布斯全球首富,他经历了什么?

北柯

第八周作业

方堃

第八周作业

赵龙

天天用SpringBoot,它的自动装配你能说出来吗?

root

Java spring springboot 自动装配 EnableAutoConfiguration

Week 08 学习总结

Jeremy

面经手册 · 开篇《面试官都问我啥》

小傅哥

面试

英特尔®边缘软件中心重磅发布 一站式资源供给为应用开发创新赋能

最新动态

云图说 | 快速创建一个kubernetes集群

华为云开发者联盟

Kubernetes 容器 虚拟机 集群容错 华为云

架构师训练营 -- 第八周作业

stardust20

架构师训练营 - 第八周 - 学习总结

stardust20

架构师训练营第八章总结

itrickzhang

JVM详解之:汇编角度理解本地变量的生命周期

程序那些事

Java JVM 汇编 生命周期

如何在微服务团队中高效使用 Git 管理代码?

看山

git 微服务 高效 签约计划第二季

世界上最狠的语言

十三

shell实现SSH自动登陆

阿呦,简笔话_Golden

Dependabot:自动创建GitHub PR修复潜在漏洞_语言 & 开发_Sergio De Simone_InfoQ精选文章