在执行依赖项选择时,我避免因 Node.js 库的危险而失去睡眠

主要观点:运行“npm install”需信任网上未知方,长时间盯着“node_modules”会成为专家,应在 2025 年解决相关问题,介绍了多个与 Node 包相关的案例、测试工具、防护措施等。
关键信息:

  • 2021 年 coa@2.0.3 和 rc@1.2.9 被劫持,含加密矿工;ua-parser-js@0.7.29 供应链受攻击;2022 年 colors + faker 出现抗议软件;2023 年 eslint-scope@5.1.1 被植入恶意代码;2024 年“left-pad”被恶意利用。
  • 有五维的测试方法如最后提交时间、维护者数量等;工具带包含多种扫描和测试工具如npm audit等;有多种防护措施如锁定版本、修剪依赖等。
  • 案例中提到 bcrypt 在 Alpine 镜像中的问题及替换方案,解析前端内容时减少依赖的方法等。
  • 强调运行时防护如锁文件签名、OPA 等,性能 profiling 及 ES 模块注意事项,保持人类在流程中的参与等。
    重要细节:
  • 给出各种代码示例如恶意代码下载执行、不同库的使用对比等。
  • 介绍了 CI 中的相关设置及流程,如在管道中集成多种测试工具等。
  • 提及团队的一些做法如每周站会审查 renovate PR 等。
阅读 11
0 条评论