1. 完整性校验与漏洞审计
- Yarn 在安装时使用 yarn.lock 中的校验和对每个包进行验证,降低被篡改或损坏的风险
- 可通过 yarn npm audit 命令检查依赖树中的已知漏洞,并支持自动修复
- Yarn 还内置许可证检查能力,可对依赖的开源协议做合规筛查
2. Hardened Mode(强化模式)
- Yarn Modern 提供 Hardened Mode,会校验 lockfile 中的解析结果是否与声明的范围所能解析到的内容一致,以及包元数据是否与注册表数据匹配
- 该模式可防止 pull request 中对 lockfile 的恶意篡改
- 启用方式为设置环境变量 YARN_ENABLE_HARDENED_MODE=1
3. 不可变安装与严格隔离
- yarn install --immutable 会在 lockfile 可能被修改时直接失败,防止 CI 中发生意外更新
- 在 Plug'n'Play 模式下,代码无法访问未显式声明的依赖,从而避免幽灵依赖带来的攻击面
- 这些机制与 npm 的 provenance 证明、pnpm 的默认脚本阻断等方案思路相近,但实现路径各有不同