Repository navigation
v0.3.0 · 门禁加固:反泄漏词表补绝对路径前缀与环境变量形态
门禁加固:反泄漏词表补绝对路径前缀与环境变量形态(触及面: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)