使用 JavaScript 的開發人員可以通過 npm 包管理器,調用數千個包,為項目添加各種新特性、新功能。
但開發者在推進項目過程中,雖然可以找到合適的 npm 包,但并不知道該包是否根據源代碼構建的。通過引入出處,npm 包可驗證溯源。
對于 GitHub 制定這項調整的動機,從官方新聞稿中獲悉,攻擊者在過去幾年時間里,對 UAParser.js、Command-Option-Argument 和 rc 等流行的 npm 包進行了攻擊。
這些攻擊不會直接破壞源代碼,但開發者如果使用經過修改、包含惡意的包,可能會影響到項目和消費者。