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

Dependabot:自动创建GitHub PR修复潜在漏洞相关推荐

  1. 通过 GitHub Actions 自动创建 Github Release

    通过 GitHub Actions 自动创建 Github Release Intro 在 GitHub 上维护了几个小的开源项目,每次在发布新版本的时候会创建一个 release,这样可以比较方便的 ...

  2. oracle po:默认申请分组,PR自动创建PO采购订单:强制按照PR行进行分组

    有时候,需要实现强制按照PR行来自动创建PO. 举个例子:假设2张PR,同一个物料,同一个需求日期等等的,在合并采购订单的时候,希望是2个PO行. 按照标准功能的处理逻辑,如果是同一个物料+需求日期( ...

  3. Oracle EBS Interface/API(20)-PR自动创建一揽子发放实例

    PR自动创建一揽子发放实例: DECLARELv_Return_Status VARCHAR2(30);Ln_Msg_Count NUMBER;Lv_Msg_Data VARCHAR2(20000); ...

  4. ME59N 从PR自动创建PO,更改默认凭证类型NB为指定类型

    ME59N 从PR自动创建PO,更改默认凭证类型NB为指定类型 上述选择页面的增强如下所示: PARAMETERS:P_BSART TYPE EKKO-BSART MEMORY ID P_BSART ...

  5. 邮件服务器安全性:潜在漏洞和保护方法

    本文将讨论电子邮件服务器的安全性.这里介绍的安全措施将使您能够大大提高电子邮件服务器的保护级别,并防止任何攻击. 1.简介 1.1服务器安全性的挑战 随着信息技术的不断发展,网络安全的作用越来越大.无 ...

  6. IntelliJ IDEA 2020.2重磅发布!全面支持Github PR。真香版本?

    这个这‬‬版本对Lombok的支持似貌‬‬还有点问题,建议了解一下个这‬‬版本的新特性.然后,等下一个大版本升级. 我是 Guide 哥,一 Java 后端开发,会一点前端,自由的少年. 如果文章有任 ...

  7. PHPRAP v1.0.8 版本发布,安装时数据库不存在自动创建

    PHPRAP,是一个PHP轻量级开源API接口文档管理系统,致力于减少前后端沟通成本,提高团队协作开发效率,打造PHP版的RAP. PHPRAP已被评选为码云最有价值开源项目 更新记录 [修复]修复在 ...

  8. A.CTable开源框架Mybatis增强自动创建表/更新表结构/实现类似hibernate共通的增删改查-mybatis-enhance-actable

    mybatis-enhance-actable-1.3.1.RELEASE 项目已更新既支持传统Spring项目也支持Springboot项目,同时支持tk.mybatis能够支持更强大的CUDR(为 ...

  9. GPT-4 版“贾维斯”诞生,国外小哥用它 4 分钟创建网站、聊天就能创建 GitHub repo.........

    整理 | 屠敏 出品 | CSDN(ID:CSDNnews) ChatGPT.GPT-4 的到来,想要拥有一个"贾维斯"还需要多久? 国外有位叫 Mckay Wrigley 的开发 ...

最新文章

  1. Python使用matplotlib可视化多个不同颜色的折线图、通过FontProperties为可视化图像配置中文字体可视化、并指定字体大小
  2. 列标题 如何删除gridcontrol_DEV控件GridControl常用属性设置(转)
  3. 用流读取文件中的内容
  4. C# IOThread
  5. ESP8266烧写时的各种参数设置
  6. Python-OpenCV基本操作cv2
  7. SQL Server中的Union和Union All语句之间的差异及其性能
  8. java常用API之DateFormat
  9. postman新手使用教程
  10. 敏捷无敌之重任在肩(7)
  11. [UIKit学习]03.关于UILable
  12. 适配iOS10以及Xcode8
  13. 粒子群算法(1)----粒子群算法简单介绍
  14. 34. Differentiate between inheritance of interface and inheritance ofimplementations
  15. 软件测试面试笔试题准备(sql增删改查语句超全整理!看这篇就够了)
  16. 全!Web渗透测试:信息收集篇
  17. C#-Windows计算器
  18. Unity shader 空气扭曲效果
  19. Nginx 日志和监控 - HTTP 健康监测
  20. COLA 2.0架构应用

热门文章

  1. Linux命令(6):more命令
  2. 我是如何利用“王宝强离婚”事件来吸粉的
  3. JS学习笔记(一)DOM事件和监听
  4. KVM虚拟机安装管理——qemu-kvm方式
  5. PostgreSQL数据库dblink和postgres_fdw扩展使用比较
  6. 程序员的奋斗史(八)——懒人造就方法
  7. X3650M3 客户端联不上加密狗!
  8. RxJava 将一组数据每隔一定时间发送出来
  9. Chrome开发,debug的使用方法。
  10. android:AlertDialog控件