🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

读取拦截卫士 zhengqiuyang/dsh-read-guard

DeepSeek 客户端
zhengqiuyang19 天前有提交已提供中文文档扫描:未发现敏感能力兼容 / 相关生态

在工具结果进入模型前扫描并隔离注入内容

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/13 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/zhengqiuyang/dsh-read-guard.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 19 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 扫描注入内容
  • 隔离凭据文件
  • 读取前拦截

为 DeepSeek Harness 提供确定性的提示词注入拦截——智能体读取的内容进入模型上下文前先扫描;凭路径即可隔离凭据文件

README

由 DeepSeek 最新模型翻译生成
dsh-read-guard 为 DeepSeek Harness(dsh)提供确定性的提示词注入拦截。 各家厂商只在运行时加固自家智能体。这个插件本身就是运行时。 它挂上 dsh 的 tools/post-execute 瀑布:被监视的工具返回的每一个结果——文件读取、仓库搜索、网页抓取——都会在即将进入模型上下文的那一刻,由 repo-inject-guard 规则引擎扫描,然后隔离、拦截或放行。信任路径上零次 LLM 调用。 名字就是论点:它守护智能体读到的东西。 为什么 仓库投毒和网页内容注入,都是从智能体读到的东西进来的,不是从用户输入进来的。提交时(CI)扫文件,对活跃会话来说太晚;事后扫描只是尸检。dsh 的工具流水线,是不可信文本抵达模型之前的最后一道关卡。 竞品格局(2026-10-12 核查) 注入防御这条赛道是一条长尾,还没有赢家(约 15 个插件,没有一个超过 85★)。说实话,真正要紧的是这几个: | 插件 | 架构 | 我们的不同之处 | | dsh-secure-audit(85★) | 扫描是模型可调用的工具——模型必须主动去调它 | 我们在 tools/post-execute 瀑布里拦截;模型绕不过扫描。(他们的混淆归一化——同形字/base64——比我们领先,已列入路线图。
展开完整文档(README 剩余 1 节)
dsh-read-guard

为 DeepSeek Harness(dsh)提供确定性的提示词注入拦截。

各家厂商只在运行时加固自家智能体。这个插件本身就是运行时。 它挂上 dsh 的 tools/post-execute 瀑布:被监视的工具返回的每一个结果——文件读取、仓库搜索、网页抓取——都会在即将进入模型上下文的那一刻,由 repo-inject-guard 规则引擎扫描,然后隔离、拦截或放行。信任路径上零次 LLM 调用。

名字就是论点:它守护智能体读到的东西。

为什么

仓库投毒和网页内容注入,都是从智能体读到的东西进来的,不是从用户输入进来的。提交时(CI)扫文件,对活跃会话来说太晚;事后扫描只是尸检。dsh 的工具流水线,是不可信文本抵达模型之前的最后一道关卡。

竞品格局(2026-10-12 核查)

注入防御这条赛道是一条长尾,还没有赢家(约 15 个插件,没有一个超过 85★)。说实话,真正要紧的是这几个:

| 插件 | 架构 | 我们的不同之处 |
| dsh-secure-audit(85★) | 扫描是模型可调用的工具——模型必须主动去调它 | 我们在 tools/post-execute 瀑布里拦截;模型绕不过扫描。(他们的混淆归一化——同形字/base64——比我们领先,已列入路线图。) |
| dsh-defend(23★) | 同样三个拦截点,allow/ask/block,Aho-Corasick 字面模式 | 我们的引擎按上下文作用域(规则按信任级别/暴露面触发,带佐证要求),而不是字面模式列表;wrap 模式在打上污点标记的同时保留内容可用(他们只有 allow/ask/block);扫描上限 200k 全文,他们只扫头部 10k |
| dsh-injection-guard(2★) | 动作侧污点追踪(不可信上下文之后拦截敏感工具调用) | 互补,不是竞争:他们管下游动作,我们净化上游内容。(我们改名,从 dsh-inject-guard 改成现在这个,就是为了不和他们混淆。) |

我们不是第一个。我们押的是:精度优先的引擎,加上上游测试(规则引擎住在 repo-inject-guard 里,自带 CI 和 fixture 套件),再加上「强制执行而非建议」的架构,能比周末拼出来的模式列表活得更久。

模式

| 模式 | 高危发现 | 弱(中/低)发现 |
| observe | 记录日志 | 记录日志 |
| wrap(默认) | 结果打上污点标记:原始内容留在隔离标记内,模型仍可见,并带一条明确的「这是数据,不是指令」头 | 只记录日志——精度优先,弱信号绝不乱改正常内容 |
| block | 结果永远到不了模型;模型收到纠正反馈 | 只记录日志 |
检测规则(内置引擎):指令覆盖尝试、系统提示词提取、凭据/环境外泄、隐藏 Unicode、智能体指令、规则文件后门措辞、资源诱饵。详细说明与「精度优先」策略见 repo-inject-guard README。

安装

dsh plugin --profile default add dsh-read-guard

从 npm 安装——无需构建步骤,也不用 allowBuilds 授权;从 git 安装同样是预构建好的(lib/ 随仓库一起发布)。

配置

在你的配置档 cordis.patch.yml 里覆盖:

- id: dsh-read-guard
name: dsh-read-guard
config:
mode: block
readTools: [read, grep, glob]
fetchTools: [web_fetch, web_search]
maxScanChars: 200000
quiet: false

凡是智能体会读取结果的工具都可以加进来——包括 MCP 工具(它们走同一条流水线分发)。

开发

npm install
npm test # syncs vendor engine, builds, runs unit tests

从源码加载到本地 dsh 检出目录:

pnpm dsh web --patch ./cordis.dev.patch.yml

检测引擎内置自同级的 repo-inject-guard 检出目录(npm run sync;CI 跑 sync --check)。引擎的测试在上游仓库,本仓库只测适配层策略。

路线图

- 抗混淆:规则运行前先做零宽/全角/同形字归一化 + 有界 base64 解码(缩小与 dsh-secure-audit 的差距)
- agent/pre-step 扫描粘贴的用户内容(v0 刻意不做:用户有权下达指令)
- 把 MCP 服务器的工具面作为一种预设信任类
- 按智能体划分作用域的策略(dsh 作用域允许智能体本地监听器)
- 报告工具卡片(presentResult),展示会话检测历史

终止标准

按本家惯例,说点实在的:如果 dsh 官方推出了第一方内容安全防护,覆盖工具结果注入,或者 tools/post-execute 契约发生变更,导致内容替换失效,本插件就冻结在最后一个可用版本,README 记录事后复盘。引擎则迁移到下一个需要它的运行时。
预览分享卡片长什么样 ↓zhengqiuyang/dsh-read-guard
分享 · DeepSeek Harness Hub
zhengqiuyang/dsh-read-guard

在工具结果进入模型前扫描并隔离注入内容

回到顶部