通过 Dart 和 GitHub 团队的共同努力,自 10 月 7 日起,GitHub 的 Advisory Database (安全咨询数据库)、Dependency Graph (依赖项关系图) 和 Dependabot (依赖更新机器人) 开始支持 Dart 开发者生态,这也意味着 GitHub 为 Dart 和 Flutter 应用的供应链安全提供了全面支持:

  • GitHub 的 Advisory Database (安全咨询数据库) 为漏洞报告者和项目维护者之间提供了一个协作平台,漏洞报告者和项目维护者可以共同合作,在漏洞被公开之前私密讨论并修复漏洞。
  • Dependency Graph (依赖项关系图) 主要是分析 Dart / Flutter 项目的 pubspec.yaml 和 pubspec.lock 文件来确定项目依赖关系。
  • Dependabot 是 GitHub 收购并免费开放的一个检测依赖项安全性的工具,一旦你依赖的 Dart package 版本发现新漏洞时,Dependabot 就可以发出通知并自动创建拉取请求 (Pull Request),将 package 版本升级到没有漏洞的版本。查看过往推文: Dependabot 开始支持 pub package 版本检测 了解更多。

Dart 产品经理 Michael Thomsen 表示:通过与 GitHub 团队的合作,Dart 开发者们可以在新的漏洞影响到客户之前发现和解决问题;GitHub 的高级产品经理 Courtney Claessens 也提到说,在供应链安全侧全面支持 Dart,不仅是对开源社区、开发者的支持,更能够帮助数百万使用 Dart 应用的用户们。

发布 package 到 pub.dev 的安全最佳实践

作为 package 开发者或维护者,当你将 package 发布到 pub.dev 的时候,这里有两条最佳实践的建议:

  1. 使用 GitHub 的安全公告功能在你的代码仓库中创建新的安全公告,GitHub 会将这个纳入其 Advisory Database (安全咨询数据库) 中。
  2. 为你的 GitHub 代码仓库配置安全策略,详细说明用户可以用什么样的方式报告安全问题。

上述提到的这些安全策略和功能均已面向所有用户发布 (私有仓库也只需要加入一点的额外配置),快去试试吧,保护自己的代码安全,刻不容缓。

延伸阅读

GitHub 供应链安全已支持 Dart 开发者生态的更多相关文章

  1. 建设开发者生态:6项华为API管理原则落地

    摘要: 为了向开发者提供良好.一致.稳定的华为API的体验,华为通过明确“API管理六项原则”,来支持开发者生态建设. 一个不开放的组织,会慢慢成为一潭僵水,一个封闭的系统,能量最终会耗尽,在产品开发 ...

  2. 开源:Taurus.MVC 框架 (已支持.NET Core)

    为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...

  3. Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云!

    Developer Friendly | 基础设施即代码的事实标准Terraform已支持京东云! Chef.Puppet.Ansible.SaltStack 都可以称为配置管理工具,这些工具的主要目 ...

  4. springboot实战开发全套教程,让开发像搭积木一样简单!Github星标已上10W+!

    前言 先说一下,这份教程在github上面星标已上10W,下面我会一一给大家举例出来全部内容,原链接后面我会发出来!首先我讲一下接下来我们会讲到的知识和技术,对比讲解了多种同类技术的使用手日区别,大家 ...

  5. Magicodes.Pay已支持Volo Abp

    Magicodes.Pay已支持Volo Abp 简介 Magicodes.Pay希望打造一个统一支付库,相关库均使用.NET标准库编写,支持.NET Framework以及.NET Core.目前已 ...

  6. WebGL 支持测试,并已支持的浏览器版本摘要

    WebGL 支持情况检測与已支持浏览器版本号汇总 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公 ...

  7. IdentityServer4 中文文档 -3- (简介)已支持的规范

    IdentityServer4 中文文档 -3- (简介)已支持的规范 原文:http://docs.identityserver.io/en/release/intro/specs.html 目 录 ...

  8. 那些ie6已支持的方法属性,成为事实标准。或者方便大家的api

    很多api,都是ie6实现,后来其他w3c或其他浏览器支持,或者用类似的方法模拟 onselectionchange  判断选区改变 ,chrome已支持 Element.contains   判断元 ...

  9. 2017年开发者生态报告:Python最多人想尝试的编程语言(转载)

    在过去的十年里,Python 语言获得了最大的增长幅度,已经成为最受欢迎的程序设计语言之一.JetBrains 近日发布了 2017 开发者生态报告,该报告包含开发人员对 11 种编程语言以及数据库和 ...

随机推荐

  1. 使用gulp助力前端自动化

    前言 随着前端诸如webpack,rollup,vite的发展,gulp感觉似乎好像被取代了.其实并没有,只不过它从台前退居到了幕后.我们仍然可以在很多项目中看到它的身影,比如elementplus. ...

  2. 「APIO2010」巡逻 题解

    来源 LCA 个人评价:lca求路径,让我发现了自己不会算树的直径(但是本人似乎没有用lca求) 1 题面 「APIO2010」巡逻 大意:有一个有n个节点的树,每条边权为1,一每天要从1号点开始,遍 ...

  3. Vue 基本列表 && 数据过滤与排序

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...

  4. 在docker中出现的僵尸进程怎么处理

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.发现问题 小玲是一名数据库测试人员,这一天她尝试在docker环境中部署GreatDB集群,结果在对greatsqld ...

  5. java基础Synchronized关键字之对象锁

    java中Synchronized关键字之对象锁    当有多个线程对一个共享数据进行操作时,需要注意多线程的安全问题. 多线程的同步机制对资源进行加锁,使得在同一个时间,只有一个线程可以进行操作,同 ...

  6. 软件装在D盘,实测有效

    C盘容量小,希望把所有软件都装到D盘,试过很多次,没什么作用.今天装MS全家桶的时候看到了个帖子,实测有效,Visio.Word.Excel.PowerPoint都装到了D盘 原贴链接为:http:/ ...

  7. Spring源码 13 IOC refresh方法8

    本文章基于 Spring 5.3.15 Spring IOC 的核心是 AbstractApplicationContext 的 refresh 方法. 其中一共有 13 个主要方法,这里分析第 8 ...

  8. 面试题:Java序列化与反序列化

    目录 序列化和反序列化的概念 应用场景? 序列化实现的方式 继承Serializable接口,普通序列化 继承Externalizable接口,强制自定义序列化 serialVersionUID的作用 ...

  9. mac M1通过homebrew安装python3报错Error: Command failed with exit 128: git

    fatal: not in a git directoryError: Command failed with exit 128: git 只需要运行 git config --global --ad ...

  10. Docker 环境 Nacos2 MySQL8

    本文介绍 docker 环境下安装并单机运行 Nacos2,使用 docker 环境下的 MySQL 8 存储数据. 1 拉取镜像 1.1 创建目录 在硬盘上创建 nacos 的有关目录: mkdir ...