跳到主要内容

🔒 GeneralUpdate 安全审计指南

全面覆盖 GeneralUpdate 部署的安全风险面。基于代码审计发现(17 CRITICAL/HIGH 项)和最佳实践。


📋 审计前信息收集

### 部署环境
- 部署模式: ______(内网 / 公网 / 混合)
- 租户模式: ______(单租户 / 多租户)
- 客户端数量: ______
- 客户端操作系统: ______(Windows / Linux / macOS / 混合)

### 服务端
- 后端类型: ______(GeneralSpacestation / 自定义 / OSS)
- 传输协议: ______(HTTP / HTTPS)
- 认证方式: ______(Bearer / Basic / HMAC / 无)
- API 是否公开访问: ______(是 / 否,有网络隔离)

### 客户端
- GeneralUpdate 版本: ______
- 是否使用 IPC: ______(是 / 否)
- 是否使用 Bowl: ______(是 / 否)
- 是否使用 Differential: ______(是 / 否)

安全审计矩阵

#检查项严重度描述修复措施
S01AppSecretKey 强度🔴 CRITICAL密钥长度不足、纯字母、与示例代码相同使用 ≥ 32 字符,大小写+数字+符号的随机密钥
S02IPC 加密🔴 CRITICAL默认 IPC 加密密钥硬编码在二进制中确保 AppSecretKey 唯一且服务端/客户端一致
S03HTTPS 传输🟠 HIGHUpdateUrl 使用 HTTP 而非 HTTPS生产环境强制 HTTPS;配置 HSTS
S04ZipSlip 路径穿越🔴 CRITICAL解压 ZIP 时未验证 ../ 路径验证压缩包条目路径是否在目标目录内
S05多租户隔离🔴 CRITICAL服务端未按 ProductId 隔离租户服务端添加租户身份验证中间件
S06事件日志泄露🟡 MEDIUMExceptionEventArgs 日志可能包含敏感路径脱敏后记录,过滤路径和密钥
S07差分包签名🟠 HIGH差分补丁无数字签名验证对更新包进行 Authenticode 签名
S08临时目录权限🟡 MEDIUM临时解压目录权限可能过大设置仅为当前用户可读写
S09OSS Bucket 权限🟠 HIGH更新包存储 Bucket 设为公共读设置为私有,使用预签名 URL
S10依赖版本漏洞🟡 MEDIUMGeneralUpdate 及其依赖可能存在已知 CVE定期检查 NuGet 依赖安全公告
S11回滚攻击🟠 HIGH攻击者可提交降级版本号强制安装旧版本服务端校验版本号单调递增
S12下载完整性🟠 HIGH下载的更新包无完整性校验确保 Pipeline 包含 HashMiddleware
S13Bowl 提权🟡 MEDIUMBowl 崩溃守护以高权限运行可能被滥用以最小必要权限运行 Bowl
S14信息泄露通过 manifest🔵 LOWmanifest.json 中的 ProductId、版本号可被枚举非公开环境下不暴露 manifest 文件

审计报告输出格式

完成审计后按以下格式输出:

## 🔒 GeneralUpdate 安全审计报告

### 概要
- 项目: ______
- 审计日期: ______
- 总体评分: A/B/C/D/F
- 严重问题: ______ 个
- 高风险: ______ 个
- 中风险: ______ 个
- 低风险: ______ 个

### 严重问题(必须立即修复)
- S01 AppSecretKey 强度: ⚠️ 当前密钥长度为 X,需要 ≥ 32
修复: ______

### 高风险(建议尽快修复)
...

### 中风险(评估后修复)
...

### 低风险(记录在案)
...

### 修复建议优先级
1. 立即:S01, S03, S04
2. 本周:S05, S07, S09
3. 本月:S08, S10, S11

安全配置检查清单

  • AppSecretKey 长度 ≥ 32 字符,混合大小写+数字+符号
  • 生产环境使用 HTTPS
  • IPC 文件编码设为 Encoding.UTF8
  • Pipeline 包含 HashMiddleware 做完整性校验
  • OSS Bucket 权限设为私有
  • 服务端按 ProductId 隔离租户
  • 版本号严格单调递增
  • 更新包进行 Authenticode 签名
  • Zip 解压有路径穿越防护
  • 日志中不记录敏感信息

相关技能

  • /generalupdate-init — 修复审计发现的问题
  • /generalupdate-advanced — IPC 替换、自定义认证
  • /generalupdate-troubleshoot — 已知安全问题参考