前言¶
在 DeepSeek Harness(DSH)里,智能体会通过读文件、跑 Shell、装包、拉网页等工具完成任务。这些能力一旦误用或被提示注入牵着走,就可能读到 SSH 私钥、改系统目录、或自作主张执行安装。系统杀软和沙箱管的是整机与进程,并不在「每一次工具调用执行前」做策略判断。下面介绍的 dsh-alpha-guard(维护者 xiangshu2026,GitHub 分类 admin-security)是挂在 DSH 上的一层策略护栏:在工具真正执行前检查读路径、写路径、命令、子代理权限、安装动作,并对命中的可执行文件做静态特征打分。它定位是第一道减速带,不是防病毒,也不能替代 Defender 或容器隔离。
这是什么¶
插件全名 dsh-alpha-guard,版本 1.0.0(MIT 许可证),要求 Node.js >= 20。官方简介概括为:读白名单、敏感路径拒绝、危险命令拦截、子代理隔离、安装审批(2 分钟单次放行)与恶意文件静态审计——first line of defense, not an antivirus。
策略配置与审计数据默认落在用户目录 %USERPROFILE%\.dsh\alpha-guard\(Linux/macOS 下为 $HOME/.dsh/alpha-guard/)。插件以当前 DSH 进程权限运行;安装前建议自行查看仓库源码与 LICENSE。社区目录页:https://www.skillhub.cn/plugins/xiangshu2026/dsh-alpha-guard ,源码:https://github.com/xiangshu2026/dsh-alpha-guard 。
核心能力(执行前检查)¶
下列能力均在 README 中逐项说明「能拦什么」与「拦不住什么」;预期应按「能拦一半」来理解,勿当作万无一失。
读取与敏感路径¶
对 read / read_image / glob / grep:仅允许访问配置中的 read.allowRoots 以及当前会话工作区。额外维护敏感区拒绝列表(如 .ssh、.aws、浏览器 Login Data、DSH 记忆与会话日志、其他用户目录、UNC 共享等)。能拦住 AI 直接读未加白目录或明文敏感路径;拦不住在 pwsh / run_code 里用变量或编码在运行时拼出的路径。
写入保护¶
禁止向系统目录、凭据区、防护配置自身、DSH 安装目录、其他用户目录等写入或删除。能拦住工具层直接执行的删改系统路径;拦不住已在运行的脚本内部行为。
危险命令¶
拦截格式化/分区、改引导、关机重启、删根、禁用 Defender/防火墙、加管理员、导出 SAM/LSASS、下载即执行、-EncodedCommand 等明文危险模式。拦不住 Base64 经第三方解码执行或从文件读入再执行的链路。
安装审批¶
系统包管理器、Windows 安装包、DSH 插件安装、全局 npm/pip、下载可执行文件等默认拒绝,需主人手动放行(见下文配套脚本)。子代理不能使用安装放行许可。
子代理隔离¶
子代理/队友仅可读写「工作区 + 临时目录」,并禁用 memory、dtodo、de_channel_send 及再嵌套子代理。
外发审计¶
对 web_fetch / web_search / bcdp_navigate / de_channel_send 记审计(不阻断)。web_fetch 禁止访问 localhost、127.0.0.1 及内网 IP。
恶意文件静态审计¶
当命令涉及磁盘上已存在的可执行文件时,只读字节、不运行,按特征组合打分;超过 malware.blockAt(默认 30)可拦截并移入隔离区(改 .bin 并设禁止执行 ACL)。能拦特征明显的样本;拦不住加壳/加密、新样本;远程桌面、录屏、游戏加速器等可能误报。
两个硬限制与 README 一致:临时关防护与放行一次安装均为 2 分钟窗口,且安装放行仅一次有效,防止长期关防护或永久放行。
安装与启用¶
推荐通过 DSH 插件命令安装(desktop profile):
dsh plugin --profile desktop add github:xiangshu2026/dsh-alpha-guard
也可克隆仓库后从本地路径添加(README 原文):
git clone https://github.com/xiangshu2026/dsh-alpha-guard.git
dsh plugin --profile desktop add ./dsh-alpha-guard
装完后重启一次 DSH(host 侧为 Node 模块,需重启加载)。启动日志出现 [alpha-guard] active; config=<路径> 即表示生效。首次运行会在 %USERPROFILE%\.dsh\alpha-guard\config.json 生成默认配置;修改后下一次工具调用即生效,无需重启。
工作目录不在用户主目录下时,可用环境变量扩展读白名单根:
setx DSH_GUARD_EXTRA_ROOTS "E:\work;D:\projects"
自测策略逻辑(不验证真实环境安全性):
node test/selftest.mjs
全部通过会打印 ALL SELFTESTS PASSED(README 称 92 个用例)。
配置要点¶
完整字段见仓库内 config.example.json。常用项如下。
| 字段 | 说明 |
|---|---|
read.allowRoots |
读取白名单根目录 |
read.denyPaths |
永远拒绝读取(优先于白名单) |
read.denyNamePatterns |
按文件名拒绝 |
write.denyPaths |
禁止写入/删除 |
commands.mode |
deny(默认)或 warn(只记不拦) |
subagent.allowWeb |
false 时子代理断网 |
malware.blockAt |
静态审计拦截阈值,默认 30 |
malware.notifyOnly |
true 仅告警不拦 |
enabled |
false 停用插件 |
failClosed |
插件内部异常时是否拒绝(默认 false) |
config.json 在写入保护列表中,工具不能直接改;需手动编辑。installApproval.windowSeconds 可改放行窗口,默认 120 秒为设计意图。
典型用法:主人手动脚本与审计¶
以下脚本位于仓库 scripts/,须主人本地双击或手动运行,模型无法调用。
- pause-guard-2min.cmd:临时关闭防护 2 分钟,到期自动恢复;期间读白名单、敏感路径、危险命令、安装审批、恶意审计均失效。恢复后写入
pause.log。 - approve-one-install.cmd:写入
%USERPROFILE%\.dsh\alpha-guard\install-approval.json,120 秒内有效且仅用一次,再让 AI 执行安装。
审计日志:%USERPROFILE%\.dsh\alpha-guard\audit.jsonl,每行 JSON 记录时间、会话、工具、deny/warn、原因等;超过 5 MB 轮转为 audit.jsonl.1。可用 bin/audit-ledger.mjs 做行号+sha256 账本(先 --sync 再 --verify)。
隔离区:%USERPROFILE%\.dsh\alpha-guard\quarantine\,可用 bin/quarantine-cli.mjs list 等管理(路径以 README 为准)。
适用场景与注意¶
适合:个人在本机跑 DSH,希望减少 AI 误操作、并保留「尝试过什么」的审计;作为多层防护中的第一层过滤。
不适合:企业或多用户共用机器(不区分操作者)、受监管数据、指望挡住针对性攻击或替代杀软/合规认证的场景。
务必保持系统自带 Defender 等防护开启;真正隔离应使用独立用户、容器或虚拟机。插件不做实时文件监控、不查病毒库、不拦截已运行进程;提示注入与编码绕过在 README 中明确列为限制。安装插件前请阅读仓库 README「它不是什么」一节,避免错误预期。
结尾¶
dsh-alpha-guard 的价值在于:在 DSH 工具链上增加一道浅层策略检查与可查阅的审计,而不是提供 AV 级安全。目录与详情:https://www.skillhub.cn/plugins/xiangshu2026/dsh-alpha-guard ;源码与 issue:https://github.com/xiangshu2026/dsh-alpha-guard 。