(English reports are welcome too — use the same form.)
请不要开公开 Issue。用 GitHub 的私密渠道:
Security → Report a vulnerability
请写清:受影响的版本 / tag、复现步骤(最好带一个能触发问题的样例文件)、你观察到的现象、以及你认为的影响面。
我们会在 7 天内回第一次;确认后 90 天内给出修复或缓解方案,并在发布说明里致谢(除非你要求匿名)。
文字处理器要吃别人给的文件,所以输入一律当敌意数据。下面这些都算安全问题:
- 内存安全:越界读写、use-after-free、整数溢出导致的错误索引。
- 崩溃 / 拒绝服务:恶意
.docx/.doc/.odt/.rtf/.pdf输入导致的 panic、无限循环、无上限内存增长、递归爆栈。本项目的承诺是永不崩溃(见AGENTS.md),恶意文件让它崩就是缺陷。 - 字体内存:字体解析与子集化中的越界与崩溃。
- 路径与文件写入:解压、导出、另存为时写出目录之外的路径,或覆盖不该覆盖的文件。
- 控制通道 / MCP:控制通道(默认只监听
127.0.0.1,要求密钥文件)或 MCP 服务器上的越权调用、参数注入、密钥泄漏。 - 依赖:我们依赖的 crate 中的已知漏洞(见
.github/dependabot.yml)。
- 需要用户主动打开攻击者构造的文件并且已经授予了本机权限才能造成的效果,且不涉及上面任何一条。
- 单纯「排版和 Microsoft Word 不完全一致」——那是兼容性问题,请走普通 Issue。
- 缺少代码签名、缺少公证(notarization)等发布流程问题——也走普通 Issue。
本仓库是 WordCraft 的中文发行版,绝大部分代码来自上游。如果问题在解析、排版、渲染引擎里(也就是我们的补丁之外),除了报告给我们,也请一并报告给上游 storytold/wordcraft,让所有用户都受益。我们的补丁只有两处:中文字数统计与 w:lang/@w:eastAsia 读写。
只有最新发布版本与 master 接受安全修复。请升级到最新版再复现。