Skip to content

Security: runify-dev/runapi

Security

SECURITY.md

安全策略 / Security Policy

感谢你帮助让 RunAPI 更安全。本文档说明如何私下报告漏洞,以及部署时的安全加固建议。

支持的版本

RunAPI 目前只对 main 分支的最新代码提供安全修复。请在报告前先确认问题在最新代码上仍然存在。

版本 是否维护
main(最新)
其他历史提交 / tag

报告漏洞

请勿通过公开 Issue、PR、讨论区或社交媒体披露安全漏洞。请使用下列私密渠道之一:

  1. GitHub 私有安全公告(首选):在仓库 Security → Report a vulnerability 提交。此渠道全程私密,便于我们协同修复与致谢。
  2. 邮件:security@example.com 。 可用 PGP 加密(公钥指纹待补充)。

报告请尽量包含:

  • 受影响的组件与文件(例如 src/xxx.rsfrontend/…)及大致行号;
  • 漏洞类型与影响(能做什么、影响谁);
  • 复现步骤或 PoC(请只在你自己控制的环境中验证);
  • 相关版本 / commit、配置(数据库、缓存、部署方式);
  • 你希望的署名方式(默认在修复发布时致谢,可选择匿名)。

我们的处理承诺

  • 3 个工作日内确认收到;
  • 评估后同步定级(参考 CVSS)与初步修复计划;
  • 修复过程中与你保持沟通,并在发布修复后按你的意愿致谢;
  • 我们采用协同披露:请在修复发布前对该问题保密。若长时间未能修复,我们会与你商定合理的披露时间。

请注意:定级以实际可利用性与影响为准,不以报告中自评的分数为准。

范围

关注(欢迎报告):

  • 鉴权 / 会话 / JWT 相关缺陷(越权、令牌伪造、密钥比较等);
  • API Key、余额、计费逻辑可被绕过或篡改;
  • 注入类(SQL 注入、SSRF、命令注入等);
  • 门户 / 后台的 XSS、CSRF、敏感信息泄露;
  • 上游转发 / 协议互转中的凭据泄露或请求走私。

通常不受理(除非能证明实际安全影响):

  • 缺少某项安全响应头、且无实际利用路径;
  • 需要受害者已被完全攻陷(如已拿到管理员机器)的场景;
  • 默认配置中占位口令 / 密钥的报告——这些本就要求在部署时修改(见下文);
  • 自动化扫描器输出但无可复现影响;
  • 针对第三方上游供应商而非 RunAPI 本身的问题。

部署加固清单

RunAPI 的默认配置面向本地开发,生产部署前务必修改(config/default.toml,或用 RUNAPI_ 前缀环境变量覆盖):

  • 管理员口令:修改 [admin] password(或 RUNAPI_ADMIN__PASSWORD)。留空则禁止登录。
  • JWT 密钥:务必设置强随机的 RUNAPI_AUTH__JWT_SECRET,不要使用默认的 dev-secret-change-me
  • 传输安全:在反向代理层启用 HTTPS,不要将后台 / 门户直接暴露在公网明文端口。
  • 数据库 / 缓存凭据:为 Postgres / Redis 使用独立强口令,避免随代码提交。
  • 最小暴露:按需限制 /admin 后台的可访问来源。

安全港(Safe Harbor)

若你出于善意进行安全研究,遵守本策略,仅在自己控制的环境中测试,不破坏数据、不影响其他用户、不进行数据外泄或服务拒绝攻击,并在合理时间内私下报告,我们不会就此发起或支持针对你的法律追究。

感谢你的贡献。🙏

There aren't any published security advisories