速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

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

关注

评论

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

Golang中如何使用Singleflight库进行并发请求合并

Jack

【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的Redis延时队列的功能组件

洛神灬殇

redis 分布式 延时队列 redisson 三周年连更

Portraiture2024免费版人像滤镜插件

茶色酒

Portraiture4

Studio One2024中文版补丁包

茶色酒

Studio One 许可证

索引合并,能不用就不要用吧!

江南一点雨

MySQL

Shell的数组表示

梦笔生花

Shell 三周年连更 shell数组

百度AI,和“吴文俊奖”同行的十二年、千丈山、万里路

脑极体

百度 吴文俊奖

Go常用设计模式(下)

闫同学

三周年连更

EasyRecovery2024中文版数据恢复软件下载

茶色酒

EasyRecovery15 EasyRecovery Photo16

2023-05-07:给你一个大小为 n x n 二进制矩阵 grid 。最多 只能将一格 0 变成 1 。 返回执行此操作后,grid 中最大的岛屿面积是多少? 岛屿 由一组上、下、左、右四个方向相

福大大架构师每日一题

Go 算法 rust 福大大

深入理解 TypeScript 的 type 以及 type 与 interface 和 class 的区别

Lee Chen

typescript

Camtasia Studio2024免费版屏幕录像剪辑工具

茶色酒

Camtasia Studio2024

EasyRecovery易恢复2024电脑版免费数据恢复软件

茶色酒

EasyRecovery

学生管理系统毕设作业

kylexy_0817

架构实战营

Django笔记二十三之case、when操作条件表达式搜索、更新等操作

Hunter熊

Python MySQL django case when

面对“失业焦虑”我们可以做些什么?让 AI 帮助自己变得更强大! | 社区征文

汪子熙

人工智能 机器学习 程序员 ChatGPT 三周年征文

C++虚函数详解:多态性实现原理及其在面向对象编程中的应用

小万哥

c++ 程序员 面试 后端 开发

班迪录屏Bandicam 绿色版

源字节1号

开源 软件开发 小程序开发

开源相亲小程序

源字节1号

开源 软件开发 小程序开发

1行代码,自动群发!人人可用的微信机器人

程序员晚枫

Python 微信 机器人

Java IO流详解

timerring

Java

从0到1,十分钟搭建一个微服务集群,集群由一个rpc网关和多个微服务组成

vison

微服务 gRPC Go 语言 gin 代码自动生成

运动健康app(一)

鸿蒙之旅

OpenHarmony 三周年连更

Camtasia2024专业版电脑屏幕录制软件

茶色酒

Camtasia2024

ChatGPT不断升级,给互联网行业甚至计算机行业带来哪些挑战和机遇呢? | 社区征文

迷彩

人工智能 AI 笔记分享 三周年征文 三周年连更

Redis桌面管理用什么工具好?

真大的脸盆

Mac Mac 软件 桌面管理工具

八股MQ006——Message之旅

Codyida

后端、

文心一言 VS chatgpt (15)-- 算法导论3.2 4~5题

福大大架构师每日一题

福大大 ChatGPT 文心一言

站点可靠性工程SRE最佳实践 -- 黄金监控信号

俞凡

SRE

应用数据加密技术概述

穿过生命散发芬芳

数据加密 三周年连更

Camtasia2023免费屏幕录制软件下载安装

茶色酒

Camtasia2023

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