AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

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

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

关注

评论

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

Flink应用开发

阿泽🧸

flink 三周年连更

使用 NutUI 搭建「自定义业务风格」的组件库 | 京东云技术团队

京东科技开发者

京东云 企业号 5 月 PK 榜

以最大速度将数据迁移至AWS S3存储

镭速

美团架构师熬夜整理:Netty权威指南2.0版+英雄传说项目

Java Netty

下载LORA模型

IT蜗壳-Tango

三周年连更

机器人SLAM,三维人工智能的核心技术!

博文视点Broadview

路由器的后台管理界面的IP地址为什么都是192.168开头?

wljslmz

网络 三周年连更

数据导向下制造业的生产效率、交易效率提升办法

镭速

谁说前端已死,低代码没干掉我,chatGPT又如何!| 社区征文

花花

三周年征文

面向万物智联的应用框架的思考和探索(下)

HarmonyOS开发者

HarmonyOS

【问题排查篇】一次业务问题对 ES 的 cardinality 原理探究 | 京东云技术团队

京东科技开发者

ES 京东云 企业号 5 月 PK 榜

使用MASA全家桶从零开始搭建IoT平台(二)设备注册

MASA技术团队

IoT mqtt

Markdown基础语法教程

进基的小张

学习 markdown markdown语法 markdown编辑器 基础

Java实现坦克大战1.0

timerring

Java

深入理解shims-vue.d.ts和declare module

Lee Chen

JavaScript

去哪儿网企业级监控平台-Watcher

Qunar技术沙龙

去哪儿网 监控平台

开源项目LuckyDraw分享&介绍

进基的小张

小程序 开源 开发 GitHub、 项目上线

1分钟学会、3分钟上手、5分钟应用,快速上手责任链框架详解 | 京东云技术团队

京东科技开发者

Netty 京东云 企业号 5 月 PK 榜

Istio数据面新模式:Ambient Mesh技术解析

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

ShareSDK 钉钉平台注册指南

MobTech袤博科技

细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全

Java MySQL 数据库

服务网格(Service Mesh)是什么?

乌龟哥哥

三周年连更

《AGI时代的破局之道 | 社区征文》

后台技术汇

三周年征文

软件测试/测试开发丨Pytest 参数化用例

测试人

软件测试 自动化测试 测试开发 pytest

Java多线程基础

timerring

Java

async/await详解

不叫猫先生

JavaScript async/await 三周年连更

手把手教会你 | 网络编程

TiAmo

socket通信 服务器编程 单用户模式

matlab实现通信原理

袁袁袁袁满

三周年连更

MySQL一次大量内存消耗的跟踪

GreatSQL

前端配置化表单组件设计方法 | 京东云技术团队

京东科技开发者

前端 表单设计 配置化 企业号 5 月 PK 榜

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