50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Redpoint Games 推出 NPM 包签名工具

  • 2018-01-18
  • 本文字数:985 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

Redpoint 推出了 pkgsign,一个 NPM 的软件包签名和验证工具。它旨在确保上传至 NPM 注册表和从 NPM 注册表下载的包的真实性,从而提高安全性。

当你用 NPM 工作时,会出现一个潜在的安全问题,那就是包的作者无法验证。这意味着恶意软件包可以以合法软件的名义得以上传,反过来,任何依赖它的应用程序也可以照常执行这个软件包。

最近发生的一起事件证明了这点。当几个包从 NPM 注册表意外消失时,九个不知名的包被上传,取而代之。虽然这个问题现在已经解决了,但还是有一段空档期,在这期间,不可信的代码会被误用,就如同它们是合法的代码一样。

为了降低这种风险,Redpoint 推出了 pkgsign:

pkgsign 是一个工具,它能为 NPM 和 Yarn 包添加签名并使用已知签名来验证这些包。为了简化操作,pkgsign 还允许使用 PGP 私钥或 keybase.io 来签名包。

在安装 Keybase 和 pkgsign 之后,包作者可以导航到其软件包目录,并发出如下的命令来签署软件包:

pkgsign .在这个过程中,一个“signature.json”文件将被添加到包中,其他用户可以用这个文件来验证作者的真实性。

通过使用 Keybase,签名还可以连接到各种社交媒体帐户,这有助于进一步验证签名者的身份。同时,PGP 签名也是可用的,这意味着作为替代选择,大公司可以生成 PGP 密钥并将其上传到公共域。

要验证当前你正在处理的包的依赖包,你可以再次发出下面这条命令:

pkgsign verify .--full未来还将发布一个“代表签名”的功能。即使依赖项所有者本身未进行签名,这个功能也可以让软件包为其依赖包的内容签名。所以,它能够使包被完全签名。

需要指出的是,由于该工具仍然较新,所以有些软件包仍然没有用它进行签名:

目前 pkgsign 依赖于未签名的包(因为它还比较新!)。当你从 GitHub 或 NPM 安装 pkgsign 时,这些依赖包还不能得到验证。

如果 pkgsign 使用率增长,可能就会改变这一情况,但现在,建议你直接从 GitHub 克隆 pkgsign 项目,以确保你使用的是正确的版本。或者,你可以直接从 NPM 注册表中安装它,而不用签名。

查看英文原文 Redpoint Games Launch NPM Package Signing Tool


感谢冬雨对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2018-01-18 18:001653
用户头像

发布了 34 篇内容, 共 20.5 次阅读, 收获喜欢 47 次。

关注

评论

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

极客大学架构师训练营第四周学习总结

竹森先生

极客大学 极客大学架构师训练营

奈学:数据湖有哪些缺点?

古月木易

数据湖

实现简单的"纤程"

Near

如何进行高效学习

淡蓝色

深度思考 方法论 感悟 随笔杂谈

谈谈架构和微服务<一>

Gabriel

架构 微服务 领域驱动设计 软件设计

架构演化

满山李子

架构师训练营第 4 周——学习总结

在野

极客大学架构师训练营

MySQL 实战 45 讲笔记(2)-查询优化

程序员老王

MySQL

典型的大型互联网应用系统

Z冰红茶

互联网架构作业

qihuajun

架构师训练营第四周课后作业

竹森先生

极客时间 极客大学架构师训练营

游戏夜读 | 游戏关卡设计师

game1night

如何成为一名合格的 C/C++ 开发者?

张小方

c++ Linux 编程语言 后端 架构设计

嗨,兄弟,别担心,这年头谁还没有一点焦虑!

攀岩飞鱼

程序员 管理 成长 个人感想

奈学:数据湖有哪些缺点?

奈学教育

数据湖

聊一聊程序员如何增加收入

张小方

程序员 互联网 面试 副业赚钱 薪资

深入理解Kubernetes的Service:回归本源的场景需求

韩超

Kubernetes 微服务 服务

第四章总结

大型互联网应用系统使用技术方案和手段

奈学:数据湖和数据仓库的区别有哪些?

奈学教育

数据仓库 数据湖

架构师训练营第 4 周作业

在野

极客大学架构师训练营

读闲书自由和财务自由

池建强

读书 财务自由

轻松上手promise原理(2):then的简单实现

前端小帅

SpringBatch系列之Remote-Chunking

稻草鸟人

大数据 Spring Boot SpringBatch 批量任务

大型互联网架构与集群技术

cxy

动态规划算法重点在于找上一个的公式,Google Code Review,John 易筋 ARTS 打卡 Week 06

John(易筋)

ARTS 打卡计划

如何学 Java,我说点不太一样的学习方式

四猿外

学习 程序员 个人成长

我写了一本操作系统词典送给你

苹果看辽宁体育

操作系统 计算机

ARTS 打卡 Week 05

teoking

奈学:数据湖和数据仓库的区别有哪些?

古月木易

数据仓库 数据湖

【week04】作业

chengjing

Redpoint Games推出NPM包签名工具_安全_Andrew Morgan_InfoQ精选文章