Files
wxmp_backend/docs/cos-sdk-removal.md
T
broccoliandClaude Fable 5 deaa0c9ce4 feat: 初始化微信小程序后端骨架
- NestJS + TypeScript + Prisma + PostgreSQL 工程骨架
- 微信登录安全流程:服务端 code2Session 换 openid 后签发 JWT,
  session_key 缓存于 Redis,不信任前端 openid
- 统一响应/异常处理、JWT 全局鉴权(@Public 豁免)、Swagger 文档
- Prisma 全量核心 schema(用户/分类/商品/设计清单/地址/订单/支付/上传/定制任务)+ seed
- 业务模块空壳(商品/分类/设计清单/地址/订单/支付/上传/BullMQ 队列)
- Docker 多阶段镜像 + 本地/生产 docker-compose
- docs:密钥获取指南、COS SDK 移除记录

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-05 17:33:50 +08:00

43 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 若仍报 criticale.g. `fast-xml-parser` 传递依赖),考虑用「先直传后回调」的
最小化接入,或改用官方推荐的 **COS STS / 临时密钥** 方案,减少客户端 SDK 依赖。