Skip to content

Releases

dsh-citation-auditor-0.4.1

Choose a tag to compare

@AndKinoko AndKinoko released this 04 Oct 05:55

更新日志

0.4.1(2026-10-04)

现有功能

引用来源审计。扫描 AI 回复里的网址,按 PSL 解析出注册域(en.wikipedia.org → wikipedia.org),打 0–100 分并出报表。注册域级判定,合法子域不背母域的风险分。

三种模式:

模式 判定方式
白名单 名单内绿,名单外全红
简单 按域名注册年份划线(默认 2023,可调)
普通 多信号累加:TLD 风险、连字符/数字、域名长度、注册年龄、URL 结构(IP 直连、@ 混淆、短链、追踪参数、深路径、超长查询、非标准端口)

拦截名单。命中名单的域名会在 tools/pre-execute 阶段按策略处置 web 工具:deny 直接拒绝、ask 需确认、allow 仅提醒。精确域名与 .xyz 这类 TLD 条目都受当前模式的拦截开关控制。名单增删即时生效。

网页内容注入防护。域名可信不代表页面内容可信——web_fetch 取回的正文里可能埋着「模型应当执行」的指令。命中时插件只在正文前插入一段警示块,正文一字不改,由你自行判断是否中断生成。四层检测:归一化 → 高置信正则(中英文 + 日/法/西/德/俄)→ 结构信号 → 编码复检,可选开启 typo 模糊匹配。

Web 界面。设置页卡片(模式、各模式拦截开关、拦截策略、注入防护开关、高级阈值、年龄片段编辑与测试)、会话内的可点交互报表、右下角可拖动悬浮窗。

两个工具:

工具 作用
citation_audit 审计一段文本,返回结构化结果 + 纯文本报表
citation_manage 查状态、启停、切模式、增删名单、切拦截策略、开关注入防护、测试年龄片段

配置与数据。全部存放在 ~/.citation-auditor/,每个 key 一个 JSON 文件,可直接用编辑器打开修改,改完即生效(无需重启)。唯一的配置项是存储目录 statePath,留空用默认路径。


新增与修复

这一版以安全修复为主。以下问题均可由模型输出或攻击者网页直接触发,且多数是静默失效——不报错、不留日志。

安全

  • 修复注入检测里的一个正则性能问题:特定编码的网页内容可让整个 DSH 明显变慢。现在同等输入下检测耗时从几十秒降到毫秒级。
  • 修复网址里的 Unicode 点号(。/./。)与 %2E 可让域名提取提前截断,从而绕过白名单和拦截名单——例如把 github.com。evil.com/ 判成白名单里的 github.com。现在提取结果与浏览器实际访问的主机一致。
  • 修复正文超过扫描上限时,注入检测会被静默跳过。现在超限本身会作为一条告警呈现,不会让上限之外变成盲区。
  • 修复 settings.json 一旦损坏,注入防护会静默关闭而设置页仍显示「已启用」。现在两种情况显示一致。
  • 修复 Linux 上点击「查看/编辑」按钮可能让 DSH 崩溃的问题(系统缺少 xdg-open 时)。现在会给出明确提示。
  • 修复 IP 形式的拦截条目不生效:192.168.1.1 会被错误地当成别的域名,导致加进名单也拦不到。现在 IP 原样保留。
  • 修复手改 settings.json 写入非数值评分权重时,风险域名会被判为「可信」。现在写错的值会自动回落到默认值。
  • 修复百分号编码的网址(https://%65vil.com/)可绕过拦截。现在按解析后的真实主机判定。

其他

  • 设置页不再出现一张自动生成的重复页面(此前的 auto: false 因参数传错对象而从未生效)。
  • 插入注入告警时不再打断宿主里其他工具的后置处理。
  • 年龄查询脚本加了内存上限,避免用户自己写坏的脚本把内存吃满。
  • 拦截名单支持 .example.com 这类「本域 + 全部子域」的写法(此前会被接受却永远匹配不到)。手改名单时留下的大小写或空格差异不再导致条目失效,也能正常删除了。
  • 单次审计的文本长度与域名数量设了上限,避免一条超长回复引发大量网络请求。
  • 注入检测自身出异常时不再把整个网页抓取变成报错。
  • 来源校验不再把 0.0.0.0 当作合法回环地址(它是「绑定所有网卡」的通配监听)。
  • package.json 的 engines.dsh 修正到顶层(此前嵌在 dsh 里,不符合 DSH 清单规范)。

测试。新增 src/test/security.test.ts,为上述每条修复配了回归用例(共 29 条)。测试总数 125 → 154。

完整的技术分析、复现数据与未修问题清单见仓库内的 CODE-REVIEW.md。


安装

web profile:

dsh plugin --profile web add https://github.com/AndKinoko/DSH-Search-Citation-Auditor/releases/download/v0.4.1/dsh-citation-auditor-0.4.1.tgz

desktop profile 由 Electron 独占管理,命令行会直接拒绝(profile "desktop" is managed exclusively by the Electron application)。请在桌面端「设置 → 插件管理」里安装本地 tgz,然后重启桌面端。

装完可在设置页确认「网页注入防护」开关存在。

卸载

web:dsh plugin --profile web remove dsh-citation-auditor
desktop:设置 → 插件管理 → 卸载

用户数据(~/.citation-auditor/)不在卸载范围内,需自行删除。


0.4.0

首次引入网页内容注入防护、端点来源校验、dsh 0.2.0 兼容改造。未发布,功能完整包含在 0.4.1 中。

0.3.0

URL 结构信号、拦截策略三档(allow / ask / deny)、高级阈值 UI。

0.2.1

早期修订。

v0.3.0

Choose a tag to compare

@AndKinoko AndKinoko released this 11 Sep 03:23

v0.3.0

URL 结构信号 + 拦截策略三档 + 阈值 UI。默认行为与 v0.2.1 保持一致,可直接升级。

✨ 新功能

1. URL 结构信号(normal 模式多信号评分新增 7 个维度)

信号 说明 默认加分
IP 直连 无域名归属,不走 PSL 声誉 +25
userinfo / @ 混淆 user:pass@host、trusted.com@evil.com 类钓鱼手法 +25
短链域名 bit.ly / t.co / t.cn 等,真实落点被隐藏 +15
追踪参数 utm_ / gclid / fbclid 等营销归因标记 +5
深路径 路径 ≥ 4 段 +5
超长查询 查询串 ≥ 120 字符或整串 ≥ 200 字符 +3
非标准端口 非 80 / 443 或与 scheme 不匹配 +5

同一注册域下各信号只计一次(多 URL 不叠加)。权重可在设置页“高级阈值”里调,或直接改 settings.json 的 scoring。

2. 拦截策略三档

策略 含义
deny(默认) 命中拦截名单直接拒绝 web 访问
ask 命中时走审批确认
allow 仅在报表标红,不阻止访问
  • 切换入口:设置页 / 悬浮窗 ⚙ / citation_manage 新增 policy 操作(action 参数)。
  • 审计结果自带逐域处置动作:citation_audit 输出、audit 端点、交互报表与悬浮窗都会标出命中名单域名的当前动作;纯文本报表页脚显示当前策略。
  • 仍只拦截 web 工具(web_search / web_fetch / web_browse),shell 通道不在范围。

3. 高级阈值 UI

设置页与悬浮窗新增可折叠的“高级阈值”区:年份分界线(默认 2023)与 7 项加分可直接改,非法值自动钳制;未暴露的 scoring 键继续支持手改 settings.json。

🐛 修复

  • 含 @ 的 URL 漏提/误判:此前 https://user:pass@evil.com/ 整条漏提,https://trusted.com@evil.com/ 会被截断误判为 trusted.com。现完整提取并归属 @ 后的真实主机。升级后审计出的域名可能变多,属预期行为(覆盖率修复)。
  • IPv6 字面量(http://[::1]/)暂仍不支持提取(fail-open),后续版本处理。

⬆️ 升级说明

  • 默认策略为 deny、默认阈值与旧版本等效,可直接升级,无破坏性变更。
  • 旧 settings.json 无 enforcement / scoring 字段时自动按默认值合并,首次写入设置后会补全。

📦 安装

dsh plugin --profile web add https://github.com/AndKinoko/DSH-Search-Citation-Auditor/releases/download/v0.3.0/dsh-citation-auditor-0.3.0.tgz

dsh-citation-auditor-0.2.1

Choose a tag to compare

@AndKinoko AndKinoko released this 03 Sep 08:38
9e9f1ea

🎉 发布说明

这是 DSH Search Citation Auditor 插件的首个正式版本。

✨ 主要功能

  • 引用审计:对 DSH 网页版搜索结果的引用来源进行自动审计与标记
  • 来源验证:检测搜索结果中引用的链接是否可访问、状态是否正常
  • 审计报告:生成结构化的审计结果报告,便于后续分析