开源软件中最近的备受瞩目的事件极大地引起了从业者对软件供应链攻击的关注。为了防止潜在的恶意软件包更新,安全从业者主张将依赖性固定到特定版本,而不是浮动版本范围。然而,是否固定是否具有有意义的安全福利,超过了维持过时且可能脆弱的依赖性的成本,这仍然存在。在本文中,我们通过反事实分析和仿真,NPM生态系统中版本约束的安全性和维护影响来量化。通过模拟历史时间点上的依赖性分辨率,我们发现直接依赖性不仅(如预期的那样)增加了维持脆弱和过时的依赖性的成本,而且(令人惊讶的是)甚至增加了由于NPM依赖性依赖性分辨率机制而导致的较大依赖性图中恶意包装更新的风险。最后,我们探索了集体固定策略,以保护生态系统免受供应链攻击,提出了对NPM的特定更改以实现此类干预措施。我们的研究为从业者和工具设计师提供了指导,以更安全地管理其供应链。
主要关键词