生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

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

关注

评论

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

Pytorch实现经典模型AlexNet模型

Studying_swz

深度学习 11月月更

以用户为导向,vivo打造安全新范式

Geek_2d6073

居民消费价格指数变化新鲜出炉,这类商品同比涨幅最大

前嗅大数据

数据分析 数据采集 居民消费 居民消费指数

OpenSergo 流量路由:从场景到标准化的探索

阿里巴巴云原生

阿里云 微服务 云原生

Baklib|信息管理和知识管理是如何影响你的业务的?

Baklib

知识管理

漫画|微信群聊的程序员们

肥晨

程序员生活 11月月更 程序员漫画

Spring Boot框架下实现Excel服务端导入导出

葡萄城技术团队

前端 Excel 控件

RocketMQ 5.0 API 与 SDK 的演进

阿里巴巴云原生

阿里云 RocketMQ 云原生

数据分析er看过来,五款工具有你需要的

葡萄城技术团队

数据分析 前端 数据可视化

组织赋能,统一企业门户实现高效化、移动化协作

WorkPlus

云原生网关的可观测性体系实践

阿里巴巴云原生

阿里云 云原生 云原生微服务

线性稳压电源和开关电源,到底有什么区别?

元器件秋姐

电源电路 元器件采购 元器件电商 元器件知识 华秋商城

鼎茂科技获得阿里云首批产品生态集成认证,携手阿里云共建新合作

阿里巴巴云原生

阿里云 云原生 加速器 企业招募

8分钟带你学会SpringBoot整合Redis来实现缓存技术

好程序员IT教育

redis Spring Boot

Baklib|我的企业是不是需要一个维基页面呢?

Baklib

维基

10月月更获奖名单出炉啦!快来看看你上榜没有!

InfoQ写作社区官方

热门活动

数字化时代,企业需要怎样的数据中台?报名元年微课堂,一起来探索

元年技术洞察

数据中台

实践分享:30分钟在电脑端运行小程序

FN0

桌面应用 桌面应用开发

【LeetCode】数组元素积的符号Java题解

Albert

算法 LeetCode 11月月更

IM开源项目OpenIM部署文档-从准备工作到nginx配置

Geek_1ef48b

技术解读倚天 ECS 实例——Arm 芯片的 Python-AI 算力优化 | 龙蜥技术

OpenAnolis小助手

Python AI arm ECS sig

基于Jmeter的百万级tps性能测试实践

环信

Jmeter 性能测试

Kotlin变量的空安全(Null Safety)

子不语Any

android kotlin 11月月更

【倒计时4天】杭州专场-单元测试产品体验样板间,等你加入!

TRaaS

10 分钟部署一个 API 工具

Scar 

开源 Serverless 接口测试 Vercel

关于Web3.0,你了解多少?个推与您畅聊下一代互联网

个推

互联网 元宇宙 Web3.0

Baklib|SaaS产品,实现企业流程数字化

Baklib

SaaS

Docgeni 2.0 发布,开启自动化

PingCode研发中心

IM即时通讯私有化部署,WorkPlus助力企业构建安全办公环境

WorkPlus

有趣的 Go HttpClient 超时机制

捉虫大师

Go HTTP 11月月更

web前端面试技巧-如何自我介绍?如何应对hr?

肥晨

前端面试 面试技巧 11月月更

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