Guojin0826/dsh-plugin-guard0

@guojin-ai/dsh-plugin-guard

Plugin security inspector for the DeepSeek Harness web GUI: statically audits installed plugins (dangerous API patterns + dependency review), layers an AI (default-model) online audit, and renders a green/yellow/red report panel.

包名
@guojin-ai/dsh-plugin-guard
版本
0.3.0
许可证
MIT
最近更新
2026年9月12日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Guojin0826/dsh-plugin-guard

使用指南

报告总览

面板顶部给出汇总统计「N 正常 · N 警告 · N 高危」,并有一个「重新扫描」按钮,可随时刷新当前安装状态。

看懂单个插件

每个第三方插件一行,展示:

  • 风险等级徽章(绿 / 黄 / 红);
  • 插件名与版本、是否启用;
  • 风险分(AI 审计后改由 AI 给出 0–100,未审计时为静态分)、命中规则、声明权限、依赖、扫描文件数。

展开某一行可以看到:自上次扫描的变更(若有:版本变化、新增风险能力 / 声明权限)、所有命中的风险规则及对应文件、声明的宿主服务权限(含不匹配告警)、可疑依赖、以及扫描过程中出现的错误。

AI 在线审计

每个插件行内都有一个「AI 审计」按钮。点击后:

  1. 实时显示进度(采集证据 → 声誉查询 → 调用模型 → 解析结果);
  2. 输出判定结论(safe / suspicious / malicious / inconclusive)、关注点、处置建议与声誉佐证。

审计结果会保留:关闭设置面板再打开,已完成的(或仍在进行中的)结果仍然可见;刷新页面后,仍在有效期内的结论与 AI 打分也会从本地缓存自动还原

结果缓存:审计判定结论写入本地缓存(内容指纹(含默认模型)+ 版本 + TTL,默认 72 小时 = 3 天);声誉证据(npm / OSV / 网络举报 / GitHub)每次都会实时拉新。仅当源码、清单、README 均未变化、未超 TTL,且新拉取的声誉里没有出现新的负面信号(新漏洞 / 恶意记录、新的恶意举报、新增弃用标记)时,才复用上次结论并标注「来自缓存」——一旦出现新负面信号就自动作废缓存、强制重审。面板中提供「AI 缓存 TTL」设置框,可改小时数,设为 0 即关闭缓存、每次都强制重审。每个插件旁的「强制重审」按钮可单独绕过该插件的缓存重审一次,无需改全局 TTL。

GitHub Token(可选)

面板顶部提供 Token 填写区(密码框,不回显):

  • 保存 / 清除:填写后保存,状态显示「已配置 / 未配置」;
  • 填写 Token 后,AI 审计的 GitHub 查询限额从 60 次/小时提升到 5000 次/小时;
  • Token 只保存在本机($DSH_HOME/storages/dsh-plugin-guard/github-token.txt),不进会话、不上传。

SafeSkill 技能审计(可选)

本插件集成了微步在线 SafeSkill 平台https://safeskill.cn),可对当前 profile 中已安装的 DSH Skills 做在线多引擎安全扫描。

  • 配置 API Key:在面板顶部的「SafeSkill API Key」输入框中填写你在 SafeSkill 平台申请的 API Key(密码框,不回显),点击保存。Key 只保存在本机($DSH_HOME/storages/dsh-plugin-guard/safeskill-key.txt,权限 0600),不进会话、不上传。
  • 扫描技能:点击「扫描全部技能」或单个技能旁的扫描按钮,插件会读取该技能目录($DSH_HOME/skills//SKILL.md 及其附带的支持文件),在客户端完成 CRC32 校验 + 标准 zip 打包(零额外依赖),上传至 SafeSkill 平台,然后轮询拉取报告(最长 5 分钟)。
  • 查看结果:扫描完成后,面板展示威胁等级(恶意 / 可疑 / 未知 / 安全)、信任分(0–100)、威胁分类以及各引擎(LLM / 静态 / 动态 / 子文件 / 外链)的判定概要;点击链接可跳转 SafeSkill 报告原文。
  • 注意:SafeSkill 是独立的外部平台,扫描结果由微步在线提供;本插件仅负责打包上传与结果回显,不做任何本地判定。未配置 API Key 时该区域不发起任何请求。