本项目处于 Alpha 阶段,仅对最新发布版本提供安全修复。
| 版本 | 受支持 |
|---|---|
| 0.1.x(当前发布线) | ✅ |
| < 0.1.0 | ❌ |
请不要用公开 Issue 报告安全问题。
首选方式:使用 GitHub 隐私漏洞报告 (Security → Report a vulnerability,路径: https://github.com/ZengZichao/FigTreeKit-Studio/security/advisories/new)。 该渠道只有你与维护者可见。
若无法使用该渠道,可邮件联系 zengzichao@sjtu.edu.cn,标题请写明
[SECURITY] FigTreeKit Studio,并说明:
- 受影响的版本与复现步骤
- 你的操作系统、Python 版本、
figtreekit版本、java -version输出 - 可能的实际影响(尤其是能否被其他本机进程利用)
请给出合理的修复时间窗。修复发布后我们会在 advisory 中致谢, (若你希望匿名则不署名)。
这是一个在本机运行的桌面应用:启动一个绑定回环地址(127.0.0.1)的
本地 HTTP 服务,并按需调用 java -jar 渲染。因此历史上出现过、也最值得
重点关注的几类问题是:
- 非回环绑定:
--host必须显式配合--allow-remote-bind才能绑定 全部网卡。绕过该开关、或让它在非预期场景下被静默启用,会把本地服务 暴露到局域网。 - 本机任意进程访问:回环服务对同机其他用户/进程开放。若服务中存在 路径穿越或命令注入,等于任何本机进程都能触发。
- 命令注入:导出功能会把参数拼进命令行。任何来自 HTTP 请求体的值 (Newick 文本、颜色值、字体名等)进入 shell 解析路径都属高危。
- 请求体大小与资源耗尽:本机进程可以持续发起渲染请求。每次渲染都会 启动一个 JVM,未设上限即可耗尽 CPU 与内存。
上述四类均有对应的回归测试(见 tests/test_hardening.py),
若发现绕过,请一并说明是哪个断言没有覆盖到。
NOTICE 中记录的第三方授权问题(iText 的 AGPL-3.0 与本项目 GPL-2.0-or-later
的兼容性)属于合规事项而非漏洞。若你对此有更清晰的法律判断,欢迎通过上述
渠道联系。