本文件说明 sureai 受支持的版本范围、安全漏洞的报告方式与维护者的响应承诺。如果你是本项目的使用者或贡献者,也建议先阅读 README.md 与 CONTRIBUTING.md。
sureai 采用语义化版本,安全补丁只叠加在当前支持的版本线上。下表依据仓库实际发布历史(git tag)维护:
| 版本线 | 状态 | 说明 |
|---|---|---|
| 2.1.x | 🚧 开发中 | 2.1.0-SNAPSHOT,尚未发布;安全修复随下一个版本线进入。 |
| 2.0.x | ✅ 受支持 | 当前最新稳定发布线,接收安全补丁。 |
| ≤ 1.9.x | ❌ 已停止维护 | 历史版本,不再接收安全修复。请尽快升级到 2.0.x。 |
若发现影响已停止维护版本线的安全问题,我们通常不会单独回溯发布补丁,而是在受支持的最新版本线修复,请先升级确认。
如果你发现了安全漏洞,请不要公开创建 Issue、Discussions 或 Pull Request。请通过以下方式私下联系维护者,以便在公开披露前完成修复(协调披露):
- 邮箱:
335069951@qq.com - 邮件主题请标注:
[sureai SECURITY]
为了让我们尽快定位问题,报告中请尽量包含:
- 受影响版本:确切的版本号(
mvn dependency:tree或sure-ai-<platform>模块版本)。 - 依赖清单:如怀疑是第三方依赖引入,附上相关依赖坐标与版本。
- 复现步骤:最小可复现的调用方式与输入。
- 证据:POC、异常堆栈、相关日志(请勿在其中夹带真实 API Key)。
- 联系方式:方便我们就修复细节与你往返确认。
收到报告后,我们会与你保持一对一沟通;在修复正式发布前,请不要向第三方公开漏洞细节。
我们承诺尽合理努力按以下节奏处理(首次报告时间以邮件收到时间为准):
| 严重度 | 定义参考 | 初步响应 | 修复目标 |
|---|---|---|---|
| Critical | 远程代码执行、认证/签名绕过、敏感凭据泄露等 | 72 小时内确认收到 | 力争 7 天内提供修复或缓解方案 |
| High | 可被远程利用但利用条件苛刻、信息泄露等 | 72 小时内确认收到 | 力争 30 天内修复 |
| Medium / Low | 需要本地或特殊前提、影响有限 | 72 小时内确认收到 | 随常规版本择机修复 |
- 初步响应:收到报告后 72 小时内回复确认收到并指派跟进人。
- 协调披露:我们遵循行业通行的 90 天协调披露惯例——在修复版本发布前不公开漏洞细节;如修复周期需要更长,我们会与报告人主动沟通进展与时间表。
- 致谢:修复随版本发布后,经报告人同意,我们会在 CHANGELOG.md 的安全条目与本文件的致谢名单中署名(也可以应要求匿名)。
占位说明:当前维护者尚未对外发布用于漏洞报告的 PGP 公钥。如你希望以加密方式报送敏感细节,请先发送一封
[sureai SECURITY]邮件与维护者约定加密信道;正式的 PGP 公钥将在首次需要时补充到此处。注意区分:本项目发布制品的 GPG 签名密钥(用于校验 Maven Central 构件完整性)与上述漏洞报告信道是两回事,签名密钥指纹见 docs/RELEASING.md。
- API Key 请勿硬编码在源码中,使用环境变量
SURE_AI_<PLATFORM>_API_KEY注入。 - 不要将包含真实 API Key 的日志或异常堆栈提交到公开仓库。
sure-ai-baidu的 access_token 缓存在内存中,进程重启后自动重新获取,无需持久化。sure-ai-zhipu的 JWT 在模块内签名,secret 不会离开进程内存。- 本项目不持久化任何请求或响应数据,所有 HTTP 交互为无状态。
sureai 以「运行期零第三方依赖」为设计目标:运行期唯一第三方依赖为 io.github.tasure:sure-core,版本在父 POM dependencyManagement 中锁定。围绕这一目标,我们在供应链上做了两层防护:
- SBOM(CycloneDX):发布时在
sure-ai-all聚合模块生成完整 CycloneDX BOM 并随 GitHub Release 归档,便于使用者审计依赖清单(见 docs/RELEASING.md)。 - 依赖漏洞扫描(OWASP dependency-check):通过独立的
securityMaven profile(仅 build 期插件,零运行期依赖变化)周期性比对 NVD CVE 数据库,报告输出与本地用法见 docs/RELEASING.md。 - CI 同时通过 Dependabot 监控依赖更新。