开工福利|免费学 2200+ 精品线上课,企业成员人人可得! 了解详情
写点什么

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:008188
用户头像

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

关注

评论

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

STM32L0 系列 EEPROM 读写,程序卡死?

矜辰所致

EEPROM STM32L051 10月月更

Go做Web开发,有哪些必懂的概念和底层原理呢?

王中阳Go

Java php Go Web 10月月更

CorelDRAW 2019 软件应用项目(一)

张立梵

设计师 CorelDRAW 2022 10月月更

【一Go到底】第十六天---函数

指剑

Go golang 10月月更

谈谈PHP switch case和其他语言的区别

芥末拌个饭吧

php Go 10月月更

跟着卷卷龙一起学Camera--双摄05

卷卷龙

ISP camera 10月月更

Ubuntu Server 20.04 LTS下载及安装教程

Yeats_Liao

ubuntu 后端 10月月更

跟着卷卷龙一起学Camera--双摄04

卷卷龙

ISP camera 10月月更

【c++图论例题学习】洛谷 P3366最小生成树

贤鱼很忙

10月月更

PUTTY-0.75 下载安装及SSH远程连接方法

Yeats_Liao

后端 putty 10月月更

适用于 Linux 的 Windows 子系统(WSL)安装指南

Yeats_Liao

后端 wsl 10月月更

跟着卷卷龙一起学Camera--双摄03

卷卷龙

ISP camera 10月月更

【一Go到底】第十六天---跳转控制goto&return

指剑

Go golang 10月月更

Python进阶(二十四)Python中函数的参数定义和可变参数

No Silver Bullet

Python 函数 可变参数 10月月更

还不会配置Python虚拟环境?看这篇就懂了

芥末拌个饭吧

后端 配置管理 python 3.5+ 10月月更

【c++图论学习】洛谷P1396营救

贤鱼很忙

c++ 算法 10月月更

flask sqlalchemy使用简述

芥末拌个饭吧

sqlalchemy python 3.5+ 10月月更

长安链源码分析之网络模块net-liquid(1)

2022-10-15:给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。 你可以按 任意顺序 返回答案。 要求时间复杂度O(N)。 输入: nums = [1,1,1

福大大架构师每日一题

算法 rust 福大大

长安链源码分析之网络模块 net-liquid(2)

「数仓建设篇」数仓主题域与主题划分实战

大数据阶梯之路

面试 数仓主题 数仓建设

我用【c++】写出了会说话的学生考勤系统

贤鱼很忙

c++ 10月月更

网络协议与传输媒体

急需上岸的小谢

10月月更

Linux 中 Grep 命令的常见示例,非常全面!

wljslmz

Linux grep 10月月更

Python还不会用日志模块?本文给你答案

芥末拌个饭吧

python 3.5+ logging模块 10月月更

可能的二分法

掘金安东尼

算法 10月月更

python程序能打包吗?看这篇就知道了

芥末拌个饭吧

python 3.5+ pyinstaller 10月月更

如何提高项目的稳定性和开发效率呢?

王中阳Go

数据库 算法 框架 函数 10月月更

朋友圈高性能复杂度分析

许四多

Docker搭建私有镜像仓库与WordPress

okokabcd

Docker

读书笔记 | 你最终能走多远,取决于见识

宇宙之一粟

读书笔记 10月月更

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