写点什么

vlt 1.0 发布:无缝替代 npm,新增分阶段安装、图谱查询与恶意包防护

作者:Daniel Curtis
  • 2026-09-11
    北京
  • 本文字数:1161 字

    阅读完需:约 4 分钟

AI摘要

vlt 1.0 是由 npm 原核心团队开发的新型 JavaScript 包管理器,主打安全优先设计,支持分阶段安装与可查询依赖图。其托管仓库默认拦截已知恶意包,并提供基于 Socket 的安全审计能力。

分阶段安装:下载/解压与脚本执行分离,杜绝未经确认的代码执行;

依赖图可查询:60+ CSS 风格选择器,半数聚焦安全审计,支持本地全项目扫描;

恶意包实时拦截:托管仓库在返回包前主动过滤已知恶意软件。

适合前端工程师、安全工程师、SRE/平台工程师阅读

由 npm 原核心开发团队打造的 JavaScript 包管理器和包仓库 vlt 正式发布 1.0 版本。该版本可作为 npm 的直接替代品,同时其托管软件包仓库与生态镜像服务也已正式全面可用。

vlt 1.0 带来了多项新特性,包括分阶段安装(阻止依赖脚本自动执行)、支持 60 多种类 CSS 选择器的可查询依赖图,以及托管仓库会在返回软件包前拦截已知的恶意包。创始人 Darcy Clarke 在 X 上宣布了此次发布,他这样描述该客户端的设计理念:它的设计目标是不会仅仅因为你敲下 install 命令就在你的设备上随意执行代码。

npm 会在一个步骤内完成下载、解压并运行生命周期脚本,而 vlt 将这一过程拆分为两个步骤。 负责下载和提取包,不执行任何脚本;随后 仅对你信任的包运行脚本,默认跳过任何被标记为恶意软件的内容:

$ vlt install # downloads packages, no scripts run$ vlt build # runs approved scripts, blocks known malware
复制代码

第二大亮点是 vlt query,这是一种依赖选择器语法,把依赖图谱当作 DOM 树来处理。60 多个选择器中约有一半聚焦于安全性,并由 Socket 集成提供支持,方便团队大规模审计依赖;而 :host(local) 选择器可将查询范围扩展到本机上的所有项目。--view=mermaid 标志可将匹配的依赖渲染为图表。

本次发布登上了 Hacker News 首页。一位评论者对此表示欢迎,认为它“将让整个生态系统受益”;但也有人对产品定位感到困惑,有人直接问道“这到底是什么服务,请在五秒内讲清楚”。对此,Clarke 回应道:

5 秒版本:省时,省钱

10 秒版本:vlt 帮助工程团队更快地构建 JavaScript 软件,降低供应链风险,并减少基础设施成本(通过 API 性能 / 负载优化)。

20 秒版本:如果你使用 npm 多年,一直在勉强规避各类恶意包攻击,或者因为冷安装占用了实际构建/运行时间而导致 CI 或智能体账单飙升,那你应该试试我们这款工具。

Shai-Hulud 蠕虫等一系列供应链攻击事件爆发的这一年来,npm v12 现已默认禁用安装脚本,pnpm 通过最低发布期限隔离新发布版本,Bun 也阻止了 postinstall 脚本。vlt 的防护更进一步,在包仓库层面直接拒绝恶意包,已标记超过 275000 个包版本,相关评测人员指出,其中四分之一的版本在 npm 上仍然可以正常安装。不过在原始安装速度方面,pnpm 和 Bun 仍然领先,vlt 称其包仓库比 npm 快达 38%,而非整体最快。

迁移步骤简单直接。执行 npm install -g vlt 后,团队即可在现有项目中运行 vlt installvlt build,配置从 .npmrc 迁移至 vlt.json,并生成新的 vlt-lock.json 锁文件,具体可参考迁移指南。兼容 npm 的包仓库 API,这意味着现有 CI 流水线、私有包仓库和工具链都可继续正常工作。

vlt 采用了 BSD-2-Clause-Patent 许可,免费且开源,由 vlt 技术公司开发,现可通过 npm i -g vlt 安装使用。

查看英文原文:https://www.infoq.com/news/2026/09/vlt-npm-replacement/