最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

apipost如何设置断言

测试人生路

接口测试

深入解析 Flink 的算子链机制

Apache Flink

flink 流计算

《我想进大厂》之Java基础夺命连环16问

艾小仙

Java 面试 编程语言

11.11 程序员的 1111 种死法

京东科技开发者

程序员 程序人生

堪称完美!11月华为官方首发Spring响应式微服务,Spring+SpringBoot+SpringCloud三管齐下

Java架构追梦

Java 架构 微服务 springboot SpringCloud

奈学教育荣获“中关村高新技术企业”认证

奈学教育

奈学教育

对比一下,你的简历是不是也写成了这样,能拿高薪才怪了

小Q

Java 学习 架构 面试 简历

重拳出击!平台经济反垄断,互联网巨头市值蒸发千亿

CECBC

小额贷款 反垄断

从应用开发角度认识K8S

LorraineLiu

容器 云原生 k8s入门

践行新基建,共建城市智能体,为数字经济发展提供新动能

CECBC

云计算 大数据

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java~~~

MySQL 阿里 sql查询 SQL优化 SQL光标

Linux一切皆文件,如果你没做到这一步,那这就是句话而已

小Q

Java Linux 学习 架构 面试

实时音视频面视必备:快速掌握11个视频技术相关的基础概念

JackJiang

音视频 即时通讯 视频

当Nginx遇上Tomcat集群,又是一场负载均衡的爱恨情仇

小Q

nginx tomcat 学习 架构 面试

快速了解阿里微服务热门开源分布式事务框架——Seata

比伯

Java 架构 微服务 seata

CloudQuery v1.2.1 版本发布

BinTools图尔兹

数据库 开发者 运维 工具 开发工具

浅谈程序员的“内卷化”

数据社

奈学教育荣获“中关村高新技术企业”认证

古月木易

教育 IT

科技助力餐饮,普渡送餐机器人在餐博会上被众人围观!

DT极客

堪称完美!11月华为首发Spring响应式微服务,三管齐下

小Q

Java spring 学习 架构 面试

详解快速开发平台与工作流通用组件的设计规范

Marilyn

敏捷开发 企业应用

第八周作业

Geek_4c1353

极客大学架构师训练营

与第三方系统打通的N种进阶方式

棒锤🐮

架构

【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器

IoT云工坊

人工智能 云计算 物联网 API 红外遥控器

年末十家手机银行数字化升级大盘点:谁家开发更全面?谁家建设更到位?

CECBC

疫情 银行 手机银行

第七周作业

Geek_4c1353

极客大学架构师训练营

双十一背后的技术

anyRTC开发者

大数据 AI 音视频 WebRTC RTC

当代程序员必备技能(算法)之:递归详解

Java架构师迁哥

【活动回顾】Flutter实时音视频应用场景实践

ZEGO即构

flutter RTC

我终于拥有自己的独立博客了。

彭宏豪95

GitHub 写作 博客 IT

腾讯云直播全解析,双11怎么买才不亏?

腾讯云音视频

腾讯云 阿里云 云直播 直播 视频

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