Skip to content

v0.3.0 · 门禁加固:反泄漏词表补绝对路径前缀与环境变量形态

Choose a tag to compare

@MPFF0104 MPFF0104 released this 11 Oct 06:25
· 2 commits to main since this release

门禁加固:反泄漏词表补绝对路径前缀与环境变量形态(触及面:D1)

仓库自带的 scanLeaks 原先查不出四类机器字面形态(/home/…、/root/…、/opt/…、$HOME/…、%USERPROFILE%\…),
而 #32 已把「只有机器字面路径才算破『落点不写死』」
写死 ⇒ 口径与门禁之间有缝。本版堵上。

改了什么

  • scripts/lib/skill-scan.mjs:MACHINE_PATTERNS 新增 ABS_PREFIX(/home /root /opt /srv /mnt
    五个绝对路径前缀)、ENV_HOME($HOME 形态)、ENV_USERPROFILE(%USERPROFILE% 形态);新增条目一律拼接构造。
  • scripts/tests/skill-scan.test.mjs(新增):机器形态必命中 / 占位符不误伤 / URL 边界不误判 /
    README+GLOSSARY 零命中 / 成品束 markdown 零命中,共 5 例。
  • scripts/tests/paths.test.mjs 与 scripts/tests/locate.test.mjs:头部运行命令行同步为三文件;
    「tests 条目集合相等」守卫同步为三文件。
  • README.md:目录树补一行 skill-scan.test.mjs(成品束文件集不变,仍 39 条)。

一个值得记下的坑

绝对路径前缀的前导斜杠必须吃进模式。若只匹配 home/,(?<![/:]) 会看见 /home/… 前面那个 /
而让整类失效。最终形态 (?<![A-Za-z0-9._:-])/(?:home|root|opt|srv|mnt)/:/opt/x 命中,
而 https://host/home/x、127.0.0.1/mnt/x、//host/opt/x、/rooted/x、home/x 仍零命中。

验证(本版复算)

  • 机器形态 8/8 非空(含 /srv/、/mnt/);%USERPROFILE%\… 由「子串 ~/.dsh 假命中」变为真词条命中。
  • README.md / GLOSSARY.md / 占位符 <root> <projectRoot> <dshHome> / 成品束内全部 markdown ⇒ 全 []。
  • check-plugin.mjs --self ⇒ ok: true、filtered.error = 0;资产面副本 --assets-dir ⇒ ok: true(error 0 / warn 0)。
  • git ls-files | wc -l ⇒ 39;三文件单测 19/19 pass。

版本面

触及面:D1(脚本契约:scanLeaks 的检出集合扩大 ⇒ 依赖它判红绿的成品面判定会变)⇒ minor 递增 v0.2.0 → v0.3.0。

本 tag 同时覆盖此前两个未发版提交:

  • 337feea 第十册 skill-shipping 落盘 + 门禁册集合/文案改十册(触及面:D1 · D3 · D4)
  • 3ec786a 第十册执行后复核修订:providerName 同名语义 + DSH_PROFILE_DIR 口径 + 3b 标签 + 发现侧样本(触及面:D3)

执行票 #35 · 地图 #30