Skip to content

Security: coeasy/atst

Security

SECURITY.md

安全政策

报告漏洞

我们感谢您致力于帮助我们保护 atst。如果您发现安全问题,请不要通过公开的 GitHub Issue 报告。

报告方式:

  • 邮件联系项目维护者(见 GOVERNANCE.md)
  • 使用 GitHub Security Advisory 功能
  • 不要公开披露漏洞细节,直到修复发布

支持范围

我们支持以下版本:

  • 最新的稳定版本(v1.x)
  • 上一个次要版本(v0.x 的最新补丁版本)

安全漏洞分类

严重(Critical)

需要立即修复的漏洞:

  • 远程代码执行(RCE)
  • 任意文件读取/写入
  • 凭据泄露
  • 任意网络访问

响应时间:72 小时内

高(High)

严重功能受影响:

  • 认证绕过
  • 权限提升
  • 敏感数据泄露

响应时间:1 周内

中(Medium)

部分功能受影响:

  • 有限的数据泄露
  • 拒绝服务(可恢复)
  • 信息泄露

响应时间:2 周内

低(Low)

轻微影响:

  • 理论性漏洞
  • 需要特殊条件才能利用
  • 信息性发现

响应时间:下个版本发布

安全最佳实践

使用建议

  1. 保持最新版本:定期更新到最新稳定版本
  2. 限制网络访问:仅在需要时启用网络访问
  3. 谨慎处理数据:不要将敏感数据存储在凭据文件中
  4. 验证输入:在使用用户输入时进行验证

配置安全

from atst.client import TdxClient

# 限制并发:每台主站开几条连接(连接池没有 pool_size 这个参数)
client = TdxClient(slots_per_host=4)

# 限制请求频率:按交易时段分档的令牌桶,取值写在配置的 [rate_limit] 段
# (continuous / call_auction / noon_break / closed 各一档)。超限行为由
# rate_limit.strict 决定:false 阻塞等令牌,true 立即抛 RateLimitedLocal。

# 单次请求超时
client = TdxClient(timeout=10.0)

数据安全

凭据保护

本库不存储凭据。仓库里没有 CredentialStore、没有加密凭据文件、也没有 atst/security/ 包——历史上做过这些实现,因全库零调用方已物理删除(变更记录见 CHANGELOG.md), "看起来存在凭据管理"的文档比没有文档更危险。本节只描述当前事实:

  • 行情链路(TDX 协议 / web 源 / 流式)不需要任何凭据。
  • 交易侧只有 atst/trade/ 的纯内存模拟器,其中的口令混淆 (obfuscate_password)是洁净室协议推断产物,不连真实券商。
  • 若接入真实券商:请由调用方在自己的密钥管理体系内解决。若本库将来需要内置凭据面, 重新设计(env → file 两级起步),不要从 git 历史整体找回旧实现。
  • 错误上下文与反馈上报都先经关键字脱敏(见下节),凭据不会随异常文本外发。

反馈脱敏

启用 ATST_FEEDBACK=1 后,反馈数据经过 7 步脱敏:

  1. IP 地址替换为 [REDACTED_IP]
  2. 主机名替换为 [REDACTED_HOST]
  3. 账户代码/股票代码 PII 处理
  4. 长字符串截断(>200 字符)
  5. 文件路径替换为 [REDACTED_PATH]
  6. Hex dump 截断(>64 字节)
  7. 添加时间戳 + 版本 + 平台元数据

依赖安全

  • 核心运行时无第三方硬依赖
  • 可选依赖定期审查
  • 使用 pip-audit 进行依赖漏洞扫描

安全测试

  • 模糊测试(hypothesis)
  • 静态分析(ruff, mypy)
  • 依赖漏洞扫描
  • Golden 数据回放测试

更新历史:

  • v1.0.0 (2026-09-09):正式稳定版安全支持范围确认

There aren't any published security advisories