前言¶
DeepSeek Harness(DSH)采用插件化架构,用户权限与配置都由插件引入。管理这些插件时,需要确认当前环境是否存在风险(如高危代码注入、权限滥用)。dsh-security-doctor 作为一个 DSH Web 界面插件,通过侧栏的「安全体检」按钮,提供一键本地安全检查功能。
插件简介¶
名称:dsh-security-doctor
维护者:ChenChen913
分类:admin-security
定位:DSH Web 界面的一键安全体检工具。
该插件的核心价值在于「只读」与「零外发」。它不执行被检查对象的任何代码,默认不发送任何数据到外部,也不需要 API Key。通过静态扫描与配置审计,帮助用户快速定位环境中的安全隐患。
核心功能¶
插件提供分级报告、AI 深审与实验性守护模式三项核心能力。
分级报告¶
报告采用结论前置的设计。高危问题会直接弹出卡片,说明具体插件、原因及处理建议,技术细节折叠收底。报告包含环形评分(0-100)、中英双语、修复处方单,并支持导出 JSON 或复制 Markdown。
AI 深审¶
对于可疑插件,插件提供「AI 深审」功能。用户可以一键复制结构化的深审提示词,通过剪贴板闭环交给自己的 Agent 审查,结论粘贴回填。此过程零 API 调用,完全本地进行。
守护模式(实验性)¶
守护模式默认关闭,开启后插件从「医生」变为「监护仪」。它提供两重保护:
1. 出站审计:监控插件发起的 HTTP/HTTPS 请求,记录「插件 → 域名 → 方法 → 是否含凭据特征」。数据存储在内存环形缓冲区(50条),载荷内容永不记录。
2. 变更哨兵:每 45 秒快照 ~/.dsh 补丁/配置及指令文件。检测到变更时亮起角标,列出变更文件。
安装与启用¶
安装插件后,必须重启 dsh web 才能生效(运行中的实例不热加载)。
安装命令¶
dsh plugin --profile web add github:ChenChen913/dsh-security-doctor#v1.1.0
验证安装¶
安装完成后,侧栏应出现「安全体检」按钮。也可以通过命令行验证:
curl -H 'x-dsh-security-doctor: 1' http://127.0.0.1:3080/dsh-security-doctor/self-test
返回 ok:true 即表示安装成功。
检查项详解¶
插件对以下内容进行扫描与分级:
!!js表达式:扫描~/.dsh中的 cordis 补丁/配置,检测!!js写法(加载时会被执行)。- 安全层补丁:检查
remove:/replace:指向 approval / sandbox / permission 等防护插件的情况。 - 第三方插件盘点:盘点各 profile 依赖,区分官方与外来插件,标注未锁定的 git 引用与
postinstall脚本。 - 出网与意图特征:静态扫描外来插件源码,识别外联域名、
eval/base64 混淆特征。若同一文件同时出现「凭据访问」与「外联」,评级升级为高危。 - 凭据文件权限:检查
~/.dsh/.credentials.yaml的权限位与 ACL 账户名。只看权限,永不读内容。 - 指令文件:扫描
AGENTS.md/CLAUDE.md/.cursor/rules/等,通过 SHA-256 哈希比对跨次变更。 - 端点配置:检查配置中的
baseURL与环境变量DEEPSEEK_BASE_URL(仅显示主机名)。 - 防护服务与策略:检查服务装载与实际策略值,如审批
never或danger-full-access预设,以及DSH_PERMISSION_MODE的会话级覆盖。
守护模式注意事项¶
守护模式属于实验性功能,使用时需注意其边界:
* 不覆盖范围:不监控 fetch 与原始套接字;审计归属按调用栈尽力推断,高级代码可伪造。
* 盲区:轮询间隙(45秒)内的快速变更不可见;大文件仅记录大小和 mtime。
* 卸载即回滚:关闭开关立即停用,卸载插件会恢复原始模块导出。
适用场景与注意事项¶
该插件适合需要频繁管理 DSH 插件、关注本地环境安全性的开发者。
使用前提¶
安装前应检查源码与许可证,因为插件以 DSH 进程的权限运行。
重要提示¶
- 必须重启:安装或更新后必须重启
dsh web,否则无法生效。 - 静态扫描局限:静态扫描是初筛,未见异常不代表绝对安全(如混淆编码、运行时拼接地址无法检测)。
- 权限位限制:POSIX 权限位检查不等于完整的 ACL 细节。
结语¶
dsh-security-doctor 通过分级报告和 AI 深审,降低了智能体开发环境的安全排查成本。对于希望在不离开 DSH Web 界面情况下进行安全审计的用户,这是一个实用的辅助工具。