扫描 skill 与 MCP 配置中的提示注入、同形字、Unicode 隐形字符、危险 shell 与凭据泄露。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:ChenLaoshiYF/dsh-mcpguard
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness (dsh) 安全扫描插件:扫描 skill 文件、MCP 配置与工具描述,检测提示注入、同形字混淆、Unicode 隐形字符、危险 shell、凭据泄露。
DSH 生态首个安全类插件(截至 2026-08 调研,163 个社区插件中安全方向空白)。
安装
dsh plugin --profile web add "github:ChenLaoshiYF/dsh-mcpguard"
或在管理面板 Settings → Plugins 中安装。重启 dsh --profile web 生效。
工具
| 工具 | 说明 |
|---|---|
mcpguard_scan |
扫描本机默认位置(MCP 配置 + skill 目录) |
mcpguard_scan_path |
扫描指定目录或文件 |
检测规则
与 mcpguard 主项目同一套引擎(Python / Go / TS 三实现规则一致):
| ID | 规则 | 严重度 |
|---|---|---|
| UNI-001 | Unicode 隐形字符(零宽/Bidi/私有区) | high |
| B64-001 | 可疑 base64 长串 | medium |
| INJ-001 | 指令覆盖(ignore previous instructions) | critical |
| INJ-002 | 角色扮演注入("从现在开始你是…") | critical |
| INJ-003 | 多语言指令覆盖(日語/韓語指令忽略) | high |
| PTH-001 | 敏感路径(~/.ssh、token、.env) | high |
| SHL-001 | 危险 shell(curl|sh、eval、IEX) | critical |
| PWD-001 | 密码赋值形态 | info |
| BH-001 | 静默外发/工具行为异常 | high |
| HMG-001 | 同形字混淆(西里尔/数学体) | high |
报告自动脱敏:API key、GitHub token、SSH 私钥块、JWT → ***。
开发
npm install
npm run build # 编译到 lib/
node test/smoke.mjs # 运行自测(19 项)
配置
# cordis.patch.yml
- insert:
- id: mcpguard
name: dsh-mcpguard
config:
sensitivity: medium # low/medium/high
scanOnStartup: false # 启动时自动扫描
隐私
完全本地运行,零网络请求,零遥测。
License
MIT
链接
同类插件
liustack/modlens★ 1261
为纯文本模型架起视觉桥梁:粘贴图片,输出结构化 JSON 证据(OCR、版面、语义)。
Anionex/dsh-vision-toolkit★ 323
让纯文本模型更好地做视觉任务:带意图的图片问答、长截图 OCR、UI 还原等。
zhaoolee/notes★ 138
将 DSH 对话导出为锤子便签风格 PNG,或在配置的账号工作区中新建和更新 Markdown 便签。
Lum1104/dsh-browser★ 89
Chrome 侧边栏扩展,让 DSH 直接操控你的浏览器,无需视觉能力。
liustack/modsearch★ 88
纯文本 agent 的联网搜索桥:搜索网页与 X,返回结构化 JSON 证据(search/fetch/引用)。
taxueseek/argo★ 69
专为 agent 打造的搜索工具:多语言,覆盖中文/英文/学术/代码/购物/金融/新闻/百科。