写点什么

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

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

关注

评论

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

我们要的一种自学方式,也许是看书自学成才。

叶小鍵

vivo 超大规模消息中间件实践之路

vivo互联网技术

kafka 中间件 pulsar 消息中间件 RoketMQ

认知篇:CQRS架构模式的本质

京东科技开发者

架构 微服务 后端 CQRS 企业号 1 月 PK 榜

微信小程序实训|基于云数据库的语文听写工具

TiAmo

微信小程序 云开发 微信开发

CBM业务模型是什么和为什么?

涛哥 数字产品和业务架构

企业架构

启科QuTrunk+Runtime+QuSaaS+AWS量子计算编程实战

启科量子开发者官方号

量子计算

Trie树简介及应用

京东科技开发者

数据结构 算法 高性能 双数组trie树 企业号 1 月 PK 榜

Sam Altman的成功学|升维指南

OneFlow

人工智能 深度学习

火山引擎DataTester:“在字节,A/B实验是一种信仰”

字节跳动数据平台

大数据 字节跳动 AB testing实战

国产射频滤波器公司频岢微电子 完成近两亿元B轮融资

硬科技星球

软件测试/测试开发 | 接口自动化中如何完成接口加密与解密?

测试人

软件测试 自动化测试 接口测试 测试开发

如何使用 Java8 改造模板方法模式!

风铃架构日知录

Java 程序员 后端 设计模式 模板方法

生产环境10分钟黄金时间快速排障:CPU不定时飙高怎么排查?

KINDLING

Java Linux 后端 监控 ebpf

软件测试/测试开发 | 接口自动化测试,如何实现多套环境的自动化测试?

测试人

软件测试 自动化测试 接口测试 测试开发

Verilog HDL数据流建模与运算符

timerring

FPGA

认识区块链,认知区块链——NFT

MavenTalker

区块链 NFT web3 数字藏品

2023,不一样的数据库

NineData

数据库 运维 数据开发 数据管理 NineData

云原生应用你应该这么管- 谐云发布基于KubeVela增强的应用版本管理和在线升级

谐云

云计算 Kubernetes OAM 容器云 企业号 2 月 PK 榜

Python 内置界面开发框架 Tkinter入门篇 乙

eng八戒

Python GUI tkinter

资产梳理与应用自动化部署技术实践

智维数据

大数据 数据可视化 智能运维 应用交付平台 流量分析系统

高频JavaScript手写面试题

梁木由

JavaScript 前端 前端面试题

设计消息队列存储消息数据的 MySQL 表格

小虎

#架构训练营

智慧公安!3DCAT实时云渲染助力某公安机关打造数字孪生可视化系统

3DCAT实时渲染

智慧城市 数字孪生 云渲染 实时云渲染

网络安全中API常见漏洞

郑州埃文科技

API漏洞

架构实战营4.4 如何设计存储架构随堂练习

西山薄凉

「架构实战营」

15个 高并发系统设计 锦囊帮助你设计高并发!

风铃架构日知录

Java 程序员 后端 高并发 分库分表

秒云获评开源GitOps产业联盟“当仁不让 · 最佳分享奖”

MIAOYUN

开源 产业联盟 gitops OGA产业联盟

架构实战营4.2 存储复制架构随堂练习

西山薄凉

「架构实战营」

架构实战营4.3 存储分片分区架构随堂练习

西山薄凉

「架构实战营」

5K字 由浅入深聊聊Promise实现原理

梁木由

JavaScript 前端 前端开发 前端面试

Verilog HDL门级建模

timerring

FPGA

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