解决供应链问题的方案:将依赖从.gitignore中移除
作者认为,将 vendor/node_modules/venv 等依赖目录提交到 Git 仓库中,并直接从仓库部署,可以消除 99% 的供应链攻击。当前的依赖安装流程存在诸多隐患——npm install 会静默更新锁文件,恶意提交哈希可能混入混淆的漏洞代码,而 GitHub 的 fork 提交哈希漏洞更是被蠕虫利用。作者主张放弃自动化构建和安装步骤,通过检入依赖让每次变更都可追踪,尽管这会影响性能。
作者认为,将 vendor/node_modules/venv 等依赖目录提交到 Git 仓库中,并直接从仓库部署,可以消除 99% 的供应链攻击。当前的依赖安装流程存在诸多隐患——npm install 会静默更新锁文件,恶意提交哈希可能混入混淆的漏洞代码,而 GitHub 的 fork 提交哈希漏洞更是被蠕虫利用。作者主张放弃自动化构建和安装步骤,通过检入依赖让每次变更都可追踪,尽管这会影响性能。