14 lines
4.1 KiB
Markdown
14 lines
4.1 KiB
Markdown
FAIL
|
||
|
||
crates/ely-pdf-engine/shim/ely_redact.c:105 — 删除文字后保留标记内容的 `/ActualText`,违反 PDF-09、§11.4、QA-14。复现:页面内容为 `/Span << /ActualText (SECRET-ACTUAL) >> BDC BT /F1 12 Tf 72 700 Td (SECRET-ACTUAL) Tj ET EMC`,删除页面区域 `[60,70,220,110]`。worker 返回 `text=0, light=0, objects=0, versions=1`;独立读取输出内容流仍得到 `/Span<</ActualText(SECRET-ACTUAL)>>BDC q EMC Q`,敏感文字可直接恢复。修复方向:删除字形时同步清理对应标记内容的语义文字,并对输出内容流及关联对象增加独立残留检查。本轮自行执行 `cargo build -p ely-pdf-engine --bins`、`cargo test -p ely-pdf-engine`(61 项通过)、`cargo test -p ely-pdf`(90 项通过)、注释检查;上一轮八项对应回归均通过。额外失败探针及独立对象检查记录在 `/tmp/c116-r2-probes.log`,测试日志在 `/tmp/c116-r2-engine.log`、`/tmp/c116-r2-app.log`;669 个项目文件散列保持一致,临时探针及样本已删除,本轮直接调用原树构建的 worker。
|
||
|
||
crates/ely-pdf-engine/shim/ely_redact.c:100 — 处理后一个区域时会删掉此前刚创建的相交 Redact 批注,重叠标记无法完成删除,违反 PDF-09。复现:页面在 PDF 坐标 `(72,700)` 绘制 `SECRET-OVERLAP`,依次标记页面区域 `[60,70,160,110]` 与 `[140,70,220,110]`。第二次 `drop_touching` 删除第一个标记,最终核验返回 `8 characters, 2936 light pixels`,输出文件被清除;用户通过区域工具画出的两块有效标记无法执行。修复方向:先按全部区域清除原有批注与字段,再创建全部删除标记,补充部分重叠区域的 worker 回归。
|
||
|
||
crates/ely-pdf-engine/shim/ely_clean.c:174 — 附件清理只删除名称树入口,关联文件的 `/AF` 引用继续保留附件,违反 PDF-10。复现:PDF 2.0 catalog 的 `/Names/EmbeddedFiles` 与 `/AF [5 0 R]` 同时引用 `invoice.xml` 文件说明字典,其嵌入流含 `SECRET-ASSOCIATED-FILE`。扫描报告 `files=1`;执行仅附件清理后报告 `files=0`,输出的 `/AF`、文件说明字典与原嵌入流仍可读取。修复方向:将关联文件引用纳入附件计数与删除,清理后独立核对可达的文件说明及嵌入流,增加共享名称树与关联引用的回归。
|
||
|
||
crates/ely-pdf-engine/shim/ely_clean.c:104 — 元数据遍历只检查各间接对象的顶层字典,遗漏嵌套直接字典,违反 PDF-10。复现:页面 `/Resources/Properties/P` 为直接属性字典,含 `/Metadata 6 0 R`;页面通过 `/Span /P BDC ... EMC` 使用该属性,6 号对象为有效 XMP,标题含 `SECRET-MARKED-META`。扫描与元数据清理均返回 `meta=0`,输出仍完整保留属性字典、元数据引用与 XMP 标题,界面也会禁用元数据选项。修复方向:遍历直接字典和数组中的元数据入口,核验使用完整对象范围,并增加标记内容属性字典的回归。
|
||
|
||
crates/ely-pdf-engine/shim/ely_clean.c:149 — 脚本扫描与清理遗漏链接批注及字段树父节点,违反 PDF-10 与 agents.md 的隐藏内容清理说明。复现:页面 Link 批注的 `/A` 为 JavaScript,内容含 `SECRET-LINK-SCRIPT`;文本父字段的 `/AA/K` 含 `SECRET-PARENT-SCRIPT`,其子 Widget 位于页面。扫描返回 `hidden=0, scripts=0, hidden_annots=0`;直接执行隐藏内容清理也返回全零,输出保留两段脚本,界面的隐藏内容选项被禁用。修复方向:覆盖原始页面批注数组中的链接和整棵字段树的动作入口,增加输出对象级回归。
|
||
|
||
crates/ely-pdf-engine/shim/ely_clean.c:85 — 动作检查只识别入口自身的 `/S /JavaScript`,遗漏动作链 `/Next` 中的脚本。复现:catalog 的 `/OpenAction` 为合法 GoTo 动作,`/Next << /S /JavaScript /JS (SECRET-NEXT) >>` 串接 JavaScript。扫描与隐藏内容清理均报告 `scripts=0`,输出保留 `SECRET-NEXT`,打开动作仍可触发该脚本,违反 PDF-10 与 agents.md 的脚本清理说明。修复方向:遍历动作链的字典及数组,清除脚本节点并保留其余合法动作,增加带非脚本入口的链式动作回归。
|