安全与隐私
安全与密钥管理
PATrade 是非托管交易终端:资金保留在你的 Bitget 账户中。统一账户和带单账户使用 Bitget API Key;CFD 账户使用 Bitget MT5 登录凭证和部署方的 MetaApi 网关读取账户信息并执行交易。
理解信任边界
服务端需要在内存中解密凭证,才能向 Bitget 签名账户查询和交易请求,并在私有 WebSocket 连接存续期间完成认证和重连。拥有交易权限的 API Key 可以下单、改单、撤单和平仓。请把关闭提币权限与 IP 白名单作为必要的账户侧保护。
CFD 连接会把 MT5 ID、完整服务器名称和密码发送给 MetaApi 完成云端 MT5 部署。MT5 主密码授予交易能力;MT5 只读密码只授予账户读取能力。MetaApi Token 作为部署级密钥保存在 PATrade 服务端,CFD 报价和 K 线通过账户专属 REST 请求获取。
PATrade 不会把明文凭证写入数据库、返回给浏览器或记录到日志。Go 运行时负责回收请求和连接结束后不再引用的内存,当前实现不承诺即时内存清零,也未使用安全内存容器。
PATrade 如何保护凭证
静态加密
API Key、Secret Key、Passphrase、MT5 ID、MT5 服务器和 MT5 密码使用 AES-256-GCM 分别加密,每个字段使用独立随机 nonce。加密主密钥由服务端配置管理,与数据库中的密文分开保存。
明文暴露控制
绑定成功后,网页和账户接口只返回 API Key 或 MT5 ID 掩码。交易所返回的错误和服务端日志会过滤 API Key、Secret Key、Passphrase、MT5 登录凭证与 MetaApi Token。
账户与删除边界
每个绑定账户归属于当前登录用户。删除绑定会先回收该绑定专属的 MetaApi 云端账户,再删除数据库中的加密凭证并停止现有私有连接;云端回收失败时会保留绑定供你重试。你也可以在 Bitget 撤销 API Key 或修改 MT5 密码。
推荐的 CFD 与 MT5 设置
- 使用独立的小额 CFD 账户完成首次连接和最小手数验收。
- 填写 Bitget CFD 页面显示的完整 MT5 服务器名称。
- 需要实盘交易时使用 MT5 主密码;观察账户时使用只读密码。
- 修改 MT5 密码后,在 PATrade 账户页重新绑定以刷新 MetaApi 连接。
推荐的 Bitget API 设置
- 为 PATrade 单独创建 API Key,避免与其他程序共用。
- 只启用账户读取和合约交易所需权限,保持「提币」关闭。
- 设置 PATrade 提供的服务器 IP 白名单,限制密钥使用来源。
- 定期检查 Bitget 的 API Key 列表和账户操作记录;发现异常时立即撤销密钥。
发生异常时
先在 Bitget 撤销对应 API Key。撤销后,即使 PATrade 仍保存加密凭证,Bitget 也会拒绝该密钥发起的请求。随后在 PATrade 删除绑定以清理本地数据,检查未成交订单、持仓和账户操作记录,再创建新的专用密钥。
CFD 账户异常时,先在 Bitget 修改 MT5 密码,再删除 PATrade 绑定。PATrade 会自动回收对应的云端 MT5 账户资源;随后检查未成交挂单、持仓和成交记录。