规范-安全与数据保护
位置: 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): 初始版本,覆盖数据保护、反作弊、审计合规