ChenChen913 / dsh-security-doctor

Listed

One-click local security checkup button for the DeepSeek Harness (DSH) Web UI: read-only checks (!!js config, third-party plugins, credential file perms, instruction files), severity-graded report, plus AI-usable security-review & secure-development guides. / DSH 安全医生:一键本机安全体检插件

mainTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:ChenChen913/dsh-security-doctor

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit 868c560Synced Aug 18, 2026

dsh-security-doctor · DSH 安全医生

中文 | English

DeepSeek Harness(DSH)Web 界面的一键安全体检插件:侧栏底部「安全体检」按钮,安装后自动体检一次(高危时按钮亮红色角标),单击弹出「液态玻璃」质感分级报告——环形安全评分(0–100)、按严重度排序(高危置顶)、与上次体检的趋势对比、一键生成修复处方单、复制 Markdown / 导出 JSON、路径一键复制、中英双语。全程只读:不执行被检查对象的任何代码,默认零外发,不需要 API Key。界面设计规范存档见 design/

生态现状:awesome-dsh-plugin 官方清单自己写着"装插件等于以你自己的权限运行第三方代码,本清单不是安全审查"。这个插件把"我现在的环境安全吗?"变成一次点击。

检查项

检查说明命中级别
配置中的 !!js 表达式扫描 ~/.dsh 下所有 cordis 补丁/配置文件(已剥离注释,注释里提到不算);!!js 在加载时会被求值执行高危
第三方插件盘点各 profile 依赖盘点,区分官方 @deepseek-ai/* 与外来插件;标记未锁定的 git 引用、携带 prepare/postinstall 的包;自辨身份关注
已装插件出网扫描静态扫描外来插件源码外联地址(https?:///wss?://,已剥注释,排除本机回环),按插件列域名;无可扫描源码的插件单独提示说明/关注
凭据文件权限~/.dsh/.credentials.yaml:POSIX 查组/其他位(0400/0600 合格);Windows 经 icacls 只读查 ACL 账户,Users/Everyone 可读报关注。只看权限,永不读内容关注
工作区指令文件AGENTS.md / CLAUDE.md / .agents/ 等(SHA-256 哈希,跨次比对"新增/变更")说明
外部端点配置yml 配置中的 baseURL 行 + 环境变量 DEEPSEEK_BASE_URL 实际生效值(只显示主机名)说明
核心防护服务与策略ctx.get() 探测装载;读实际策略值,审批策略 never 或预设 danger-full-access 直接升高危关注/高危

报告页脚显示生成版本;「检查更新」按钮仅在你点击时api.github.com 查询最新 Release——这是本插件唯一的显式外发(单次请求、只读版本信息、默认零请求)。

安装与更新

⚠️ 两个必读:① 装完必须重启 dsh web 才生效(运行中的实例不热加载新插件层);② 重启会短暂中断当前对话,先保存再重启。

dsh plugin --profile web add github:ChenChen913/dsh-security-doctor#v0.5.0

#v0.5.0 锁定版本标签(可复现、可回退;npm 发布后可直接 dsh plugin --profile web add dsh-security-doctor)。源码 checkout 运行的 DSH:在 harness 仓库内执行 pnpm dsh plugin --profile web add github:ChenChen913/dsh-security-doctor#v0.5.0,或 node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add github:ChenChen913/dsh-security-doctor#v0.5.0

装没装上一条命令确认(curl 返回 ok:true + 控制台出现 [dsh-security-doctor] client loaded; host self-test: v0.5.0 + 侧栏出现按钮):

curl -H 'x-dsh-security-doctor: 1' http://127.0.0.1:3080/dsh-security-doctor/self-test

更新 / 回退 / 迁移:改依赖里的 tag 为目标版本 → 重装(同上命令)→ 重启 dsh web → 刷新页面,四步缺一不可(宿主代码驻内存、客户端元数据有缓存)。更新前先看 CHANGELOGReleases(每版附 diff 链接与 tag commit SHA)。0.1.x 的未锁版本安装请改为带 #tag 的锁定引用;要绝对不可变可锁 commit SHA:github:ChenChen913/dsh-security-doctor#<Release 页标注的 tag SHA>

数据流三问

问题答案
读什么~/.dsh 配置/依赖清单/凭据文件权限位与 ACL 账户名(内容零读取)、指令文件名与哈希、外来插件源码文本、服务装载与策略值、DEEPSEEK_BASE_URL 主机名
写什么无文件写入;仅浏览器 localStorage(体检历史、指令文件哈希快照)
发什么默认无外发(页面到本机 dsh web 的 GET 路由);唯一例外是手动「检查更新」的一次只读 GitHub 查询

安全承诺

  1. 只读:不执行被检查对象的代码、不改用户文件;唯一外部命令是 Windows 下 icacls <文件> 只读 ACL 查询(固定参数、无 shell、无用户输入拼接)。
  2. 默认零外发:本机 GET 路由要求配对头 x-dsh-security-doctor: 1,防本机其他网页跨站读取报告;除手动检查更新外代码中不存在任何外部域名。
  3. 凭据零接触:只查权限位/ACL,内容不读不传不回显;回显行自动脱敏,测试含"凭据值零泄漏"断言,任何人可复跑。

先用自己发布的检测标准审过自己:自审报告 · 安全政策。零运行时依赖、零安装脚本、零构建(node --check 可验);CI actions 钉 commit SHA,三平台 × Node 22/24 矩阵。验证:node test/smoke.mjs && node test/host.mjs && node test/client.mjs

常见问题

  • 看不到「安全体检」按钮? 装完必须重启 dsh web(见上),看不到按钮 ≠ 装失败。
  • curl 访问 /check//self-test 返回 403? 两路由要求配对头,curl 加 -H 'x-dsh-security-doctor: 1' 即可。
  • 怎么确认跑的是哪个版本? 报告页脚「插件 vX.Y.Z」、self-test 的 version 字段、控制台回显,三处任看一处。

局限(诚实声明)

尽力检测(best-effort),"未见异常"不等于"绝对安全";出网扫描是初筛(混淆编码、运行时拼接的地址检测不到);POSIX 权限位不等于完整 ACL;报告正文当前为中文;按会话/agent 覆盖的策略值不读取;深度审查用《安全检测指南》交给 AI 或等后续版本。

文档索引:CHANGELOG(逐版变更 + 实测矩阵)· 发布清单 · v0.5 修复计划 · 安全检测指南 / 安全开发指南skills/ 下有可安装的 SKILL.md 版本)。

兼容性

插件版本实测 harnessOS备注
v0.5.0DSH 0.1.0-rc.5Windows(源码运行)macOS/Linux 由 CI 矩阵覆盖;Node ≥ 22
v0.2.0 – v0.4.0DSH 0.1.0-rc.5Windows(源码运行)同上
v0.1.0DSH 0.1.0-rc.5Windows(源码运行)同上

许可

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected
Security policyDetected
DocumentationDetected

Repository information

Language
JavaScript
License
MIT
Latest release
v0.5.0
Last updated
Aug 18, 2026, 3:47 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.