(¬; 为远程代码执行而蹲守 npm

主要观点:npm 的 CLI 工具 npx 可通过二进制混淆实现 RCE(远程代码执行),这是有意为之的特性但有意外负面结果;npx 可在本地 npm 包及 NPM 注册中心的包中执行任意命令,package.json.bin 属性可映射命令名与本地文件名;存在命令名与模块名不匹配及安装包名与请求命令名匹配的预期不匹配情况,易被攻击者利用欺骗用户安装并运行意外代码;给出了多个证明概念的示例,如 pm2@vue/cli-service 等包;npx 存在信任问题,用户有时会被误导执行恶意代码,且在某些环境变量设置或非 TTY 环境下会跳过确认步骤;该漏洞被关闭为“Informative”,npm 已实施自动恶意软件检测但被 squat 的包仍在 npmjs.com 上可用,且 2025 - 03 - 06 时 vue.js 文档已更新包含 npx--no 开关。
关键信息:npx 相关特性及问题、示例包、用户交互、影响、信任问题、跳过确认步骤、最终响应及相关内容链接。
重要细节:npx 作为 npm CLI 工具的一部分,可方便执行命令;package.json.bin 属性特点;不同包的下载次数及相关数据;npx 在各种环境下的行为及相关代码链接等。

阅读 10
0 条评论