chore: import verified syly2 maintenance baseline without embedded credentials

This commit is contained in:
Ethan
2026-10-29 22:22:49 +08:00
commit da8224efd8
5265 changed files with 1199963 additions and 0 deletions
+38
View File
@@ -0,0 +1,38 @@
# 入库验证记录
日期:2026-10-29,北京时间。
## 源码来源与此前 UAT
交接包外层 `pom.xml`、`src`、`jar` 共 5,302 个文件,入库前逐文件 SHA-256 与原构建清单一致。清单见 `evidence/original-source-manifest.json`。未采用内层重复工程或历史 target。
此前 UAT 使用 Corretto 8.512.09.1、Maven 3.9.11,在 16:46 完成主工程构建;949 个应用 class、145 个 JAR。原 WAR SHA-256 为 `7c1e4236d32f2d2106df738d2523f08588d73eab7f70089382e3ae5e7c827e76`。原始验证摘要保存在 `evidence/uat-build-20261029.json`。
当天后续 UAT 部署记录显示:登录、用户查询、酒店基本信息直接页面可用,12 项 HTTP 检查通过。浏览器记录见 `evidence/uat-browser-20261029.json`,HTTP 记录见 `evidence/uat-http-20261029.json`。旧脚本报错和酒店菜单内嵌页面切换问题尚未解决;业务填报、审核、全量报表、附件和真实外部接口不属于已完成验收。
## 入库调整
- 应用此前验证的三处编译兼容修正,保留业务算法。
- 配置文件去除数据库和邮件凭据;默认外部接口设置为本地禁用地址。
- RSA 私钥、AES 密钥和邮件/短信等硬编码凭据迁至部署环境或私有 properties 文件;移除源码中的示例生产密文和注释内凭据,历史测试 API 密钥改为私有配置。没有轮换现有密钥。
- 按已验证 UAT 的做法移除含硬编码口令的 Druid 监控 Servlet。
- 排除备份配置、Maven 缓存元数据、重复依赖 ZIP、学习资料 APK/DOC 及历史 iOS 安装包;保留应用所需的原始 JAR、前端资源和报表模板。
- 添加独立构建入口、配置模板与离线验证工具。`ops/` 保存原始 UAT 脚本,不代表本次执行过部署。
## 本地验证
入库期间 UAT 网络不可达。本轮未连接数据库、未启动应用、未替换现有 UAT 服务。
使用本机 Zulu JDK 1.8.0_412(macOS ARM64)和 Maven 3.9.11,执行 `bash scripts/build.sh`:`clean package` 成功。Maven 官方发行包已核验 SHA-512;6 个旧组件均从交接包原 JAR 注册到项目专用仓库。依赖缓存与构建产物不入库。
`scripts/verify-artifact.py` 检查 WAR CRC、登录/认证/酒店月报/密钥读取关键条目、Java 字节码版本、打包配置和 Druid 删除情况。结果为 950 个应用 class(新增 `RuntimeSecrets`)、major 52、145 个 JAR。产物摘要见 `evidence/local-build-20261029.json`。
`scripts/verify-secrets.sh` 使用原交接密钥在仅内存的进程环境中执行离线检查,不读取业务数据、不输出密钥:必需密钥缺失时报错、可选项为空、私有文件读取与环境变量优先级、AES 带前缀及无前缀密文兼容、空值及明文兼容、RSA 公私钥配对和独立解密均通过。仅加解密自检不构成登录或业务运行验收。
原 Maven 测试编译与执行显式跳过;没有声称历史集成测试通过。旧编译器参数和未固定插件版本仍有警告。本地验证不能替代 Linux/UAT 对当前入库版本的运行回归。
## 提交检查
Gitleaks 8.24.2 对暂存区完整扫描通过(约 50.6 MB 文本)。已核对并限定放行三类误报:源码文件 SHA-256、JSEncrypt 构造 PEM 文本的序列化代码、与登录表单相同的公开 userKey 字段;规则见 `.gitleaks.toml`。真实测试 API 密钥已移出。数据库密码、RSA 私钥和 AES 密钥的原值检索未发现残留。文件范围检查确认未暂存备份、运行目录、私钥文件、WAR 或移动端安装包。
`evidence/source-import-20261029.json` 记录相对原始清单的文件变化与排除项。现有原始交接目录保持不变。