我们感谢您致力于帮助我们保护 atst。如果您发现安全问题,请不要通过公开的 GitHub Issue 报告。
报告方式:
- 邮件联系项目维护者(见 GOVERNANCE.md)
- 使用 GitHub Security Advisory 功能
- 不要公开披露漏洞细节,直到修复发布
我们支持以下版本:
- 最新的稳定版本(v1.x)
- 上一个次要版本(v0.x 的最新补丁版本)
需要立即修复的漏洞:
- 远程代码执行(RCE)
- 任意文件读取/写入
- 凭据泄露
- 任意网络访问
响应时间:72 小时内
严重功能受影响:
- 认证绕过
- 权限提升
- 敏感数据泄露
响应时间:1 周内
部分功能受影响:
- 有限的数据泄露
- 拒绝服务(可恢复)
- 信息泄露
响应时间:2 周内
轻微影响:
- 理论性漏洞
- 需要特殊条件才能利用
- 信息性发现
响应时间:下个版本发布
- 保持最新版本:定期更新到最新稳定版本
- 限制网络访问:仅在需要时启用网络访问
- 谨慎处理数据:不要将敏感数据存储在凭据文件中
- 验证输入:在使用用户输入时进行验证
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 步脱敏:
- IP 地址替换为 [REDACTED_IP]
- 主机名替换为 [REDACTED_HOST]
- 账户代码/股票代码 PII 处理
- 长字符串截断(>200 字符)
- 文件路径替换为 [REDACTED_PATH]
- Hex dump 截断(>64 字节)
- 添加时间戳 + 版本 + 平台元数据
- 核心运行时无第三方硬依赖
- 可选依赖定期审查
- 使用
pip-audit进行依赖漏洞扫描
- 模糊测试(hypothesis)
- 静态分析(ruff, mypy)
- 依赖漏洞扫描
- Golden 数据回放测试
更新历史:
- v1.0.0 (2026-09-09):正式稳定版安全支持范围确认