作为我们正在进行的供应链安全工作的一部分, npm正在引入在发布时自动扫描包。此更新日志涵盖了发布商可以期待的内容以及对双重用途内容的新元数据要求。软件包在可用之前进行扫描新发布的软件包将在可用于安装之前自动扫描。
根据结果,包裹可能会正常发布、等待人工审核或被阻止。这会导致发布和可订状态之间的短暂延迟,通常约为5分钟。在高峰时段或根据套餐的内容和大小,可能需要更长时间,最多15分钟或更长时间。这些时间反映了当前的典型行为,并可能随着扫描的发展而变化;它们不是服务保证。
对于大多数发布者,除了允许这种短暂的延迟外,无需采取任何行动。如果您的自动化假设包在发布后立即可安装,请更新它以容忍短暂的可用性延迟。在扫描挂起期间, npm dist-tag命令继续工作。依赖于已发布版本的其他操作(如npm deprecate和npm unpublish )在包可用之前将无法工作。
如果套餐被屏蔽,发布商可能会收到带有申诉选项的通知。根据调查结果的严重程度和可信度,可能会根据我们的现有政策,对关联的维护者帐户采取进一步措施。npm会阻止我们可以检测到的恶意软件,我们正在不断努力提高检测范围并缩短扫描时间。
有关注册表上允许和不允许的内容,请参阅npm可接受使用政策。双重用途内容的新元数据要求某些合法软件包具有与安全相关的功能,类似于恶意软件的自动扫描(双重用途内容)。我们在package.json中引入了一个contentPolicy字段,供维护人员声明此内容。