首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >pnpm >pnpm 的 onlyBuiltDependencies 安全机制是如何工作的?

pnpm 的 onlyBuiltDependencies 安全机制是如何工作的?

词条归属:pnpm

1. 默认禁用构建脚本

pnpm v10 起引入安全机制,默认禁用所有依赖的生命周期脚本(preinstall、install、postinstall 等)。当未配置任何构建策略时,pnpm 将 onlyBuiltDependencies 设为空数组,阻止所有包在安装阶段执行脚本,从而防范通过恶意 postinstall 脚本发起的供应链攻击。

2. 显式允许列表

若项目确实需要运行特定包的构建脚本(如 esbuild、core-js、原生模块编译等),可在 pnpm-workspace.yaml 中通过 allowBuilds 字段显式声明允许的包名。pnpm v10.26.0 起引入的 allowBuilds 字段提供了更细粒度的控制,支持按包名和版本范围分别设置允许或拒绝;pnpm v11 起,onlyBuiltDependencies 等旧字段已被 allowBuilds 取代。首次安装时,pnpm 会交互式提示用户确认需要运行脚本的包,并将选择写入配置文件。

3. 严格模式与版本锁定

当 strictDepBuilds 设为 true 时,若发现未审核的构建脚本,安装将直接以非零退出码失败,而非仅打印警告。此外,onlyBuiltDependencies 支持精确版本锁定(如 esbuild@0.25.1)和版本范围(如 nx@21.6.4 || 21.6.5),确保只有指定版本的包能够执行脚本,防止通过版本升级引入未授权脚本执行。

相关文章
Hadoop 的 Checkpoint 机制是如何工作的?如何优化 Checkpoint 的频率?
Hadoop 的 Checkpoint 机制主要用于维护文件系统的元数据一致性,防止因 NameNode 故障导致的数据丢失。Checkpoint 主要通过 Secondary NameNode(在 Hadoop 2.x 及以后的版本中,这个角色可以由 Checkpoint Node 或 Standby NameNode 承担)来实现。
代码小李
2025-01-23
6850
JavaScript 是如何工作的:WebRTC 和对等网络的机制!
WebRTC,名称源自网页即时通信(英语:Web Real-Time Communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的API。
前端小智@大迁世界
2019-03-15
3.5K0
组件加载器的错误处理机制是如何工作的?
组件加载器的错误处理机制设计得相当完善,能够捕获和处理组件加载过程中可能出现的各种异常情况。其核心工作原理如下:
搜罗万相
2025-09-17
4070
HTTPS是如何工作的
大家在浏览网页的时候一定有这样的体验,有一些网站在网址那里会显示一个绿色的挂锁,并且网址中“https”相关的字样也是绿色的,聪明的朋友肯定会问,这些颜色和符号代表什么意思呢?想想大家在上网的时候,经常要输入账号和密码,有时候网购还要输入信用卡信息,如果这些信息被偷了,后果是很严重的。是的,这个绿色的锁就是用来保护大家的信息不被黑客窃取。现在很多网站默认使用HTTPS来保护用户的信息,截止2018年4月,Alexa前100万的网站中,32.2%使用HTTPS作为默认设置,互联网最受欢迎的137971个网站中,57.1%使用了HTTPS;Firefox遥测数据显示,70%的网站使用了HTTPS。
大蟒传奇
2018-07-31
4.5K0
PROFIBUS是如何工作的?
我们先总体看下PROFIBUS技术系统的结构,可以帮助我们清晰了解这一技术的具体协议内容及不同的应用类别等。
Hello工控
2024-07-20
2.3K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券