新 Python 工具可檢測 NPM 包是否存在“Manifest 混淆”問題
7 月 5 日消息,GitHub 和 NPM 的前工程經理 Darcy Clarke 上周警告稱,NPM 包存在“Manifest 混淆”問題。系統管理員 Felix Pankratz 近日發布了一款基于 Python 的工具,可以幫助軟件開發人員檢查 NPM 包是否一致。
NPM 是 JavaScript 編程語言的程序包管理器,也是廣泛使用的 Noje.js 環境的默認配置。
該程序包管理器有助于項目管理員自動化安裝、升級和配置托管在 npmjs.com 的 npm 注冊表數據庫上的軟件包。
當程序包在 npm 注冊表上展示的 maniefest 信息,與安裝該程序包時使用的發布的 npm 包 tarball 中的實際的 “package.json” 文件不一致時,就會發生 Manifest 混淆。
IT之家在此附上該工具的 GitHub 頁面,有需要的用戶可以前往下載。
用戶需要該工具要求安裝相關組件:
pip install -r requirements.txt
如果只是想要檢查某個包,只需要在腳本末尾添加包的名稱,例如:
$ ./npm-manifest-check.py darcyclarke-manifest-pkg
反饋結果將顯示 Manifest 和實際 package.json 文件之間的版本、依賴項、腳本和包名稱中的任何不匹配信息。
如果想要檢測多個包,可以先將這些包添加到“packages.list”文件中,然后使用“check_packages.sh”包裝器腳本進行檢查。