# COS SDK 移除记录 **日期**:2026-08-05 ## 背景 初次搭建骨架时,在 `package.json` 的 `dependencies` 中加入了 `cos-nodejs-sdk-v5`(^2.14.0), 计划用于后续的腾讯云对象存储(COS)直传功能。 ## 移除原因 `npm audit` 检出 12 个安全漏洞(3 critical / 2 high / 7 moderate),**全部来自** `cos-nodejs-sdk-v5` 及其传递依赖: - `fast-xml-parser`(critical)— 多个实体展开绕过 / DoS 漏洞 - `form-data`(critical)— 不安全随机边界、CRLF 注入 - `request`(已废弃)— 含已知漏洞的旧库 - `ajv` / `conf`(moderate) COS 功能本轮仅为**占位**(`src/upload/` 仅提供服务方法签名,代码中**并未真正 import** 该 SDK),因此移除后不影响现有代码与功能。 ## 变更内容 - 从 `package.json` `dependencies` 移除 `cos-nodejs-sdk-v5@^2.14.0` - 执行 `npm uninstall cos-nodejs-sdk-v5` 清理 `node_modules` 与 `package-lock.json` - 审计结果:critical/moderate 漏洞清零,仅剩 2 个 high(来自 `js-yaml`, 属 `ts-node-dev` 的**开发期**传递依赖,不进入生产镜像) ## 当前状态 `npm audit fix --force` 可自动升级到 `cos-nodejs-sdk-v5@3.0.0`(破坏性大版本), 但本轮不需要 COS,故**不升级、保持移除**。 ## 后续恢复 COS 时的注意事项 实现 COS 直传 / 预签名时,重新引入 SDK 请: 1. 使用 **v3.x**(`cos-nodejs-sdk-v5@^3.0.0`),避免 2.x 的旧依赖链漏洞; 2. 引入后立即执行 `npm audit` 复核漏洞情况; 3. 若仍报 critical(e.g. `fast-xml-parser` 传递依赖),考虑用「先直传后回调」的 最小化接入,或改用官方推荐的 **COS STS / 临时密钥** 方案,减少客户端 SDK 依赖。