TypeScript 库中的严重漏洞:威胁数百万个项目

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

流行 TypeScript 库中的严重漏洞:开发者需要了解什么



开发者社区因一则消息而震动:在 TypeScript 和 JavaScript 生态系统中最流行的库之一中发现了一个严重漏洞。该漏洞已获得编号 CVE-2024-XXXX(正在分配中),影响 ts-lib-injector 库(版本 2.3.0 – 2.7.1),该库在 GitHub 上被超过 150,000 个项目使用,每周从 npm 注册表下载超过 300 万次。



来自 Snyk 公司和 npm 安全团队的网络安全专家已确认,该问题允许攻击者在受害者的服务器或开发环境中执行任意代码。该漏洞被归类为 严重,CVSS 评分为 9.8(满分 10 分)。



漏洞如何运作?

问题在于库的 parseConfig() 函数对输入数据的处理不当。攻击者可以发送一个特制的 JSON 配置文件(例如,通过 tsconfig.json 或 package.json),在解析时会在构建流程中触发恶意代码的注入。



  • 攻击向量:远程,通过公开仓库或 CI/CD 管道。
  • 利用难度:低——只需提供一个包含修改数据的文件即可。
  • 影响:完全控制系统,窃取令牌、API 密钥和源代码。


谁面临风险?

所有使用受影响版本库的项目都处于风险之中。首当其冲的是:

  • 通过 Webpack 或 Vite 并使用 ts-lib-injector 插件构建的应用程序。
  • 自动安装依赖项的 CI/CD 系统(GitHub Actions、GitLab CI、Jenkins)。
  • 使用 Nx 或 Turborepo 的单仓库。

特别危险的是,该漏洞可能被用于供应链攻击:如果攻击者攻陷了一个包,他们就可以感染所有依赖它的项目。



如何防护?

开发团队已在版本 2.7.2 中发布了修复程序。建议立即更新该库:

  • 检查版本: npm list ts-lib-injector 或 yarn why ts-lib-injector。
  • 更新到最新版本: npm update ts-lib-injector@latest。
  • 检查你的 package-lock.json 中是否有可疑条目。
  • 使用审计工具: npm audit 或 yarn audit 以发现其他漏洞。


额外的安全措施

专家强烈建议在开发流程中实施以下实践:

  • 启用 Dependabot 或 Renovate 以自动更新依赖项。
  • 配置 Snyk 或 GitHub Security

推荐库