位置: docs/开发规范/规范-安全与数据保护.md
版本: v1.0
日期: 2026-07-08
关联: AGENTS.md、GDD-02(死亡惩罚/充值)、GDD-06(经济系统)、TDD-07(反作弊)
1. 数据安全铁律
1.1 玩家数据保护
| 规则 | 优先级 | 说明 |
|---|
| 所有玩家数据变更必须写 WAL | P0 | Write-Ahead Log,支持按时间点恢复 |
| 每日自动全量备份 + 每小时增量备份 | P0 | 保留 30 天,异地存储 |
| 敏感操作必须双人确认 + 审计日志 | P0 | 删除角色/转移货币/修改境界等 |
| 生产数据库禁止直连修改 | P0 | 必须通过审批工单 + 临时只读账号 |
| 玩家隐私数据加密存储 | P0 | 手机号/邮箱/身份证号 AES-256 加密 |
| GDPR/个人信息合规 | P1 | 支持账号注销、数据导出、删除请求 |
1.2 反作弊与安全红线
| 规则 | 优先级 | 说明 |
|---|
| 服务端权威:所有数值计算在服务端完成 | P0 | 客户端只负责展示,禁止本地计算战斗结果/掉落 |
| 校验链:每次操作必须有服务端签名 | P0 | 战斗/交易/突破等关键操作防篡改 |
| 异常检测:高频操作自动冻结 | P0 | 同一账号 100 次/秒以上自动冻结并告警 |
| 经济审计:每日扫描异常交易 | P0 | 价格偏离均值 10 倍/同一物品异常流转 |
| 反编译保护:客户端代码混淆 | P1 | TypeScript 编译后做代码混淆 + 签名验证 |
| 通信加密:TLS + 自定义协议加密 | P0 | 防止中间人攻击/数据包嗅探 |
| 防脚本:行为模式检测 | P1 | 挂机行为 vs 脚本行为的模式差异识别 |
1.3 安全禁止行为
- ❌ 客户端本地计算战斗伤害/掉落结果
- ❌ 通信协议明文传输敏感数据
- ❌ 生产环境使用 root/管理员账号直连数据库
- ❌ 将玩家隐私数据写入日志
- ❌ 在代码中硬编码密钥/密码(必须走环境变量/密钥管理服务)
- ❌ 未经审计直接修改玩家数据(GM 操作必须留痕)
2. 审计与合规
| 审计项 | 频率 | 保留时长 |
|---|
| 登录/登出日志 | 实时 | 90 天 |
| 交易流水 | 实时 | 永久 |
| GM 操作日志 | 实时 | 永久 |
| 战斗结果日志 | 实时 | 7 天(压缩) |
| 异常行为告警 | 实时 | 90 天 |
3. 版本记录
- v1.0(2026-07-08): 初始版本,覆盖数据保护、反作弊、审计合规