INTERNAL · REMEDIATION PLAN

受控源码整改清单

先核验密钥,再修复真实 TLS 调用,最后做拒绝错误证书和业务回归。这里的 11 个工作包是组织改动的单位,并不代表 11 个漏洞。

2026-09-24 · 来源:31 仓库首轮只读筛查
2 个仓库私钥文件需要核验与迁出 Git
2 个仓库环境文件凭据线索待确认
7 个仓库TLS 校验关闭点待逐仓修复
工作顺序:确认凭据是否有效 → 轮换并准备部署路径 → 取消跟踪;TLS 先核验端点证书,再改代码并测试。不要直接删除运行文件或一次性批量替换。

11 个工作包

编号仓库类别范围要改的内容完成标准开始前门禁
SEC-01store私钥文件入库11 个受跟踪 PEM;支付模板通过 application/common/model/PaymentTemplate.php 动态读取 data/payment/<方式>/<店铺> 目录。先由支付负责人确认这两份不同的私钥内容是否仍有效。若有效,安排微信支付侧轮换;让部署从受控密钥目录提供证书文件,保证运行时路径可用;随后停止 Git 跟踪私钥并给运行目录加入忽略规则。历史访问与清理另行评审。新密钥支付、退款、回调验签均通过;旧密钥撤销;当前 HEAD 不再跟踪私钥;部署能稳定读取新证书;仓库中不出现新私钥。必须先确认商户身份、证书现用状态和支付回归环境;不能先删运行文件。
SEC-02tnxl5.0_pc私钥文件入库application/base/private.pem;当前源码未发现对文件名 private.pem 的直接字面引用。先核实它是否为现用签名密钥及是否通过动态路径加载。若现用,轮换并迁到受控密钥位置、停止 Git 跟踪;若已废弃,确认无运行依赖后从当前版本撤下,并评审历史访问风险。签名或解密流程用新配置通过回归;当前 HEAD 不跟踪私钥;旧密钥状态有负责人回读记录。用途未确认前不删除,也不声称已经泄露现用凭据。
SEC-03ai_api受跟踪环境文件18 个受跟踪 .env 文件;56 处疑似已填入凭据的字段赋值。由配置负责人逐文件区分占位值和真实现用值。真实凭据先轮换,改为部署环境变量或受控密钥注入;仓库仅保留无密钥模板,停止跟踪真实环境文件。同步核对各客户环境的部署映射。各目标环境启动及关键接口回归通过;当前 HEAD 不含真实凭据;模板能让新部署明确填写所需字段;旧凭据已撤销或轮换。不能直接批量替换或删除 18 个文件;客户环境映射与负责人待核对。
SEC-04food_safety受跟踪环境文件2 个运行配置 .env 文件有 7 处疑似凭据赋值;1 个 .env.example 还有 1 处需核验的示例值。核对根目录及 gateway-service 的实际部署配置。真实现用值轮换并迁到受控注入;只留下无密钥模板,同时检查镜像构建和部署包是否还包含旧值。网关、数据库和相关应用在目标环境启动通过;仓库与新构建产物不含真实凭据;旧值轮换有回读。先区分示例、测试和现用值;不要在报告或工单中复制明文。
SEC-05store关闭 TLS 校验支付/一卡通及通用 HTTP、硬件请求;7 个文件、9 行设置。优先修复 application/common/service/onecard 的 HTTP 客户端,再逐个处理通用和硬件调用;开启证书链与主机名校验,配置可信 CA,保留明确失败处理。一卡通支付/取令牌与相关外部接口在有效证书下成功;错误证书、错误主机名均被拒绝;老设备兼容回归通过。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-06ai_api关闭 TLS 校验一卡通、微信、物流、健康设备及通用网络库;10 个文件、15 行设置。优先修复 PaymentClient 和公共 Network/HTTP 帮助方法;对不同服务分别确认 CA 与主机名,移除关闭校验的默认分支。支付、令牌、微信/物流/设备接口正常;失效证书和错误主机名被拒绝;失败不变成成功响应。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-07tnxl5.0_pc关闭 TLS 校验Gymware、OuraRing、Vald 设备服务和通用 HTTP;5 个文件、10 行设置。逐个供应商确认证书链;把关闭校验改为使用可信 CA 或证书固定,并修复通用 helper 的默认值。各供应商有效连接通过;证书失效或主机名不符时拒绝;设备同步回归通过。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-08sxtyj关闭 TLS 校验同步、视频、统一登录与用户令牌;4 个文件、8 行设置。优先检查统一登录与令牌请求,随后修复 SyncBase/VideoBase;开启 peer 和 host 校验,配置真实可信 CA。登录/令牌/同步/视频接口在有效证书下通过,错误证书被拒绝,登录失败路径可恢复。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-09datacenter关闭 TLS 校验Polar、Firstbeat 与通用 HTTP;3 个文件、6 行设置。先核实远端设备和厂商端点,再在三个调用模块中启用正确 CA/主机名校验;避免把兼容开关做成生产默认。设备数据同步在有效证书下通过;错误证书拒绝;任务失败可观察、可重试。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-10ydysskz关闭 TLS 校验通用 HTTP、硬件和餐饮请求;3 个文件、5 行设置。修复 common.php 的公共请求函数及两处调用点,核对自签名设备证书的信任链。正常设备与接口可用;不可信证书被拒绝;订餐和硬件业务回归通过。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。
SEC-11food_safety关闭 TLS 校验MySQL 连接及迁移、等待脚本;4 个文件、9 行设置。将 db.service.ts 与迁移/等待脚本里的 rejectUnauthorized:false 改为可验证的数据库 TLS 配置,提供可信 CA 与服务端身份;各脚本保持一致。服务启动、迁移与等待脚本连接成功;无效 CA 和错误主机名被拒绝;数据库初始化流程回归通过。先核验目标实际使用 HTTPS/TLS、证书和历史设备兼容;HTTP 路径上的设置仅清理无效代码,不按漏洞处置。

文件级定位

路径和行号来自本次快照,不含密钥值。修改前需再次核对分支与 HEAD。

工作包仓库文件命中行
SEC-01storedata/payment/wechat/10001/apiclientCert-ec25175e.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-0a9a7bb7.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-175f76fe.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-480aab85.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-53afb04b.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-5cd033b6.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-730f1613.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-aacf4b21.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-c0557b15.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-cd0fe6a9.pem1
SEC-01storedata/payment/wechat/10001/apiclientKey-d124b6e4.pem1
SEC-02tnxl5.0_pcapplication/base/private.pem1
SEC-03ai_api.env.dev文件级
SEC-03ai_api.env.prod文件级
SEC-03ai_api.env.prodaizhct_bzjk文件级
SEC-03ai_api.env.prodaizhct_cqhw文件级
SEC-03ai_api.env.prodaizhct_csfzx文件级
SEC-03ai_api.env.prodaizhct_guoxin文件级
SEC-03ai_api.env.prodaizhct_hntzy文件级
SEC-03ai_api.env.prodaizhct_jc文件级
SEC-03ai_api.env.prodaizhct_jsr文件级
SEC-03ai_api.env.prodaizhct_jx206文件级
SEC-03ai_api.env.prodaizhct_lds文件级
SEC-03ai_api.env.prodaizhct_rdfz文件级
SEC-03ai_api.env.prodaizhct_saidi文件级
SEC-03ai_api.env.prodaizhct_sanquan文件级
SEC-03ai_api.env.prodaizhct_sh文件级
SEC-03ai_api.env.prodaizhct_stzc文件级
SEC-03ai_api.env.prodaizhct_sxjm文件级
SEC-03ai_api.env.test文件级
SEC-04food_safety.env文件级
SEC-04food_safetyservices/gateway-service/.env文件级
SEC-04food_safetyservices/gateway-service/.env.example文件级
SEC-05storeapplication/common.php197, 224, 374
SEC-05storeapplication/common/service/onecard/ApiClient.php167
SEC-05storeapplication/common/service/onecard/TokenProvider.php120
SEC-05storeapplication/p/controller/HardWareCape.php384
SEC-05storeapplication/p/logic/Api.php5600
SEC-05storeapplication/p/logic/Cater.php810
SEC-05storeapplication/p/logic/User.php630
SEC-06ai_apiapp/api/service/Plate.php94
SEC-06ai_apiapp/common.php523, 560
SEC-06ai_apiapp/common/Healthkit.php464, 498
SEC-06ai_apiapp/common/UserApi.php124
SEC-06ai_apiapp/common/library/Download.php57
SEC-06ai_apiapp/common/library/Network.php45, 79
SEC-06ai_apiapp/common/library/express/provider/driver/Aliyun.php74
SEC-06ai_apiapp/common/library/express/provider/driver/Kd100.php81
SEC-06ai_apiapp/common/library/wechat/WxBase.php89, 116, 151
SEC-06ai_apiapp/common/service/onecard/PaymentClient.php121
SEC-07tnxl5.0_pcapplication/base/GymwareBase.php32, 58
SEC-07tnxl5.0_pcapplication/base/OuraRingBase.php164, 195
SEC-07tnxl5.0_pcapplication/base/ValdBase.php41, 65
SEC-07tnxl5.0_pcapplication/common.php343, 370
SEC-07tnxl5.0_pcapplication/p/logic/Equipment.php1706, 1707
SEC-08sxtyjapplication/base/SyncBase.php18, 19
SEC-08sxtyjapplication/base/VideoBase.php30, 31
SEC-08sxtyjapplication/p/logic/Login.php57, 227
SEC-08sxtyjapplication/p/logic/User.php134, 171
SEC-09datacenterapplication/api/logic/Polar.php505, 536
SEC-09datacenterapplication/base/FirstbeatBase.php41, 66
SEC-09datacenterapplication/common.php250, 307
SEC-10ydysskzapplication/common.php182, 205, 343
SEC-10ydysskzapplication/p/controller/HardWareCape.php384
SEC-10ydysskzapplication/p/logic/Cater.php435
SEC-11food_safetyservices/gateway-service/scripts/run-migrations-with-env.js30
SEC-11food_safetyservices/gateway-service/scripts/run-migrations.js44, 57, 77, 90
SEC-11food_safetyservices/gateway-service/scripts/wait-for-db.js35, 43
SEC-11food_safetyservices/gateway-service/src/modules/db.service.ts31, 59

仍需调查的线索

验收底线

  1. 密钥确认和轮换先于撤销 Git 跟踪;业务运行文件保留到新方案验收。
  2. TLS 同时验证有效证书成功、错误证书拒绝,并做关联业务冒烟。
  3. 按仓库独立任务和分支执行,完整六阶段审计仍需满足强制沙箱条件。