fix version 1
This commit is contained in:
@@ -196,3 +196,20 @@ flowchart TD
|
||||
12. **流式方法的前置约束**(A10):在 `grpc.NewServer` 处补 `grpc.ChainStreamInterceptor`,与 unary 共用同一份 `validate`;若短期内不打算支持流式,也在代码中写明"新增流式方法前必须先加拦截器"。
|
||||
|
||||
> 本报告只列与现有实现直接相关的修复项,不引入新的分层或抽象封装。审计中"把两个聚合入口的 server 抽成公共包""给动态 RPC 引入请求 DTO 层""用服务网格解决 mTLS"一类改造不在此列。
|
||||
|
||||
## 8. 整改记录(2026-09-22)
|
||||
|
||||
> 本节记录按本报告结论执行的代码整改。整改遵循**最小修正**原则:未引入新框架、抽象层、DTO/VO、事件总线,未拆分服务边界,**未修改任何 `proto/*.proto` 与生成的 `pb/*.go`**;新增/修改注释均为中文;口令类摘要统一使用 bcrypt(验证码等短时效一次性凭证仍按原有 Redis 明文比对链路存储)。校验方式:`GOWORK=off go build ./...` + `GOWORK=off go vet ./...` + `gofmt -l`(仓库根 workspace 模式存在 genproto 拆包的 ambiguous import,属本机既有问题)。
|
||||
|
||||
| 编号 | 级别 | 问题 | 处理结果 |
|
||||
| --- | --- | --- | --- |
|
||||
| A1 | 高 | 生产/测试配置缺失,构建脚本不覆盖 `pkgs/*` | 已修复:新增 `etc/default_prod.yaml`、`etc/default_test.yaml`(字段名对齐 SDK 规范,敏感值用 `${ENV}` 占位);`scripts/build-all-linux.sh` 的扫描根从仅 `module/` 扩展为 `module/` + `pkgs/`,并去掉固定 `BSM_RuntimeMode=dev` |
|
||||
| A2 | 高 | session 密钥取未校验的 `SecretKey`(默认 `CHANGE_ME`) | 已修复:`internal/config` 增加非空与非公开默认值校验,缺失/为 `CHANGE_ME` 时启动失败并给出中文提示 |
|
||||
| A3 | 高 | JWT 密钥默认值是可直接使用的公开字面量 | 已修复:在 `internal/config` 显式校验并拒绝 SDK 侧公开默认密钥(`Cblocksmesh2022C`),未通过环境变量提供合法密钥时启动失败(未改 SDK) |
|
||||
| A4 | 高 | gateway 404 与业务 `NotFound` 不可区分,真实响应被覆盖 | 已修复:改用 grpc-gateway 的 `WithRoutingErrorHandler` 标记「路由未命中」(`recorder.markRoutingMiss()`),仅在这种情况下才回退 Gin 的纯文本 404;业务返回的 `NotFound` 由 `gwRuntime.DefaultRoutingErrorHandler` 原样透出 |
|
||||
|
||||
### 未纳入本轮范围
|
||||
|
||||
报告中「中」「低」级别的项(分页上限、死代码、README 与实现不符、单测缺失、可维护性等)**本轮未处理**;如需继续,按各报告第 8 节「修复建议」的顺序推进即可。
|
||||
|
||||
> 本轮整改未修改任何 `proto/*.proto` 与 `pb/*.go`,因此少数需要新增接口字段才能完整实现的项目(已在处理结果中标注)做了安全降级。
|
||||
|
||||
Reference in New Issue
Block a user