DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lqba-dx /

Lqba-dx/dsh-egress-audit

Verified

This plugin has no description yet.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@db90c2a0

dsh-egress-audit

只读的「数据外发」审计面板:显示 DeepSeek Harness 和它加载的插件把数据发往了哪里、发的是哪一类内容、有没有被拦截。

入口在 设置 → 数据外发。

它做什么

  • 观测 Harness 宿主进程的出网:globalThis.fetch、net.Socket#connect(兜底,覆盖直接调用 undici 的代码)、模型流 llm/stream、工具调用 tools/pre-execute / tools/post-execute。
  • 每个目的地给一个分级(官方已知 / 本机 / 外部第三方 / 疑似伪装)和可解释的标记(形近字域名、夹带官方名、形近官方域名、直接用 IP、局域网、明文传输、非常规端口)。
  • 在内存里留最近 1 小时的记录,通过 /dsh-egress/snapshot.json 以只读 GET 提供给面板。

它不做什么

  • 不发起任何自己的网络请求;
  • 不写磁盘、不读你的历史/配置/凭证;
  • 不保存请求或响应正文,也不保存 Authorization 之类的头;
  • 不拦截、不改写、不重试、不延迟任何流量;
  • 面板上的「隐藏」只是把行收起来,记录和计数都不变。

权限与实现说明

审计要看得见别人的出网,就不可能不碰出口。这个插件只做两处包装,均为透传:

包装点 目的 是否改变行为
globalThis.fetch 看到请求 URL、方法、发起方、状态码 否——原样调用原函数、原样返回响应,不读也不改动响应体
net.Socket.prototype.connect 看到不经过 fetch 的 TCP 连接(例如工具直接调用 undici 的 fetch) 否——参数原样转发给原函数

两处包装都用 Symbol.for(...) 做了幂等标记,重复加载不会叠加;卸载时通过 ctx.effect 的清理函数还原。除此之外插件不 monkey-patch 任何东西,也没有构建期脚本(package.json 里没有 scripts)。

安装

从插件市场安装,或在本机仓库目录执行插件安装(install_bundle,参数是该目录的绝对路径)。

装好后 profile 里记一条 link:<安装目录>:用本地目录安装时该目录不能删,移动后需要重装一次。

运行前提

前提 说明
DSH 自带运行时(Node ≥ 22.3) 用到 process.getBuiltinModule;拿不到时连接层兜底自动跳过,其余功能正常
webServer 服务 面板数据的来源;没有它的环境(纯 CLI)插件不会激活
settings.section 槽位 由 dsh-web-app 提供,桌面端和 Web 端都有

已知盲区

  • MCP 子进程、Web Worker、任何子进程:钩子装在宿主进程里,进不去别的进程。
  • 走 CONNECT 代理时,连接层只能看到代理地址,真实目的地来自上层语义事件。
  • 「是否含对话内容」是启发式判断(模型调用后 8 秒窗口 + 请求体大小),会误标也会漏标。
  • 插件归因靠调用栈推断;栈里没有包信息时显示为 unknown / 运行时包名。

卸载

在插件管理里移除 dsh-egress-audit 即可;它不写任何持久化状态,localStorage 里只存你点过「隐藏」的行。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit db90c2a0bf85

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout