生态现状:没有版本锁定的市场,就是投毒的温床
dsh 的插件机制足够开放:一条命令即可从 GitHub 安装任意仓库,插件经 ctx.tools.register 白名单直接进入每一次大模型请求的上下文。开放带来繁荣,也带来结构性风险。
当前生态没有强制版本管理,同名仓库的内容可以随时被改写,作者一次强制推送(force-push)就能让昨天通过审阅的代码今天变成另一个程序;没有中央审核,插件的作者身份、能力声明、对外联网行为完全靠自觉披露;没有快照机制,用户安装的是"某个仓库的当下",而非"某个被验证过的版本"。针对某个版本投毒、先骗取信任再借更新作恶(俗称 rug pull)、在工具描述里藏指令,在这样的土壤上不是小概率事件,而是必然事件。
DeepGuard 的应对原则只有一条,不信任当下,只信任快照。每一份审计报告都精确锁定「插件 ID、版本号、具体的代码提交(commit SHA)」三项信息;市场只展示绑定该快照的安装命令;同一个版本号若出现第二个不同的提交,说明版本历史可能被改写,立即触发预警并全量重审。版本可对比,历史可追溯,改写可告警,后续所有检测都从这里长出来。
攻击面分层模型
DeepGuard 的检测框架由三层规则集构成:AI Agent 安全基线(v1.0,74 项规则)、dsh 生态覆盖层(DG-S01–DG-S12 场景核查与 31 项专属规则)、AI Agent 指令面与后门规则集(23 项,覆盖指令文件投毒、伪装系统消息、凭据枚举、持久化自启、编码外发、AI 端点劫持等常见攻击与投毒手法)。方案把 Agent 系统的攻击面划成四层,威胁在层与层之间传播并放大。
攻击路径不是单向的。协议与工具层的提示词注入可以向上污染行为层的记忆与上下文(DG-T06),行为层被劫持的规划会向下滥用工具调用(DG-T02),基础设施层的供应链投毒可以直达模型层的权重与参数(DG-T04)。插件与 Skills 正坐在协议与工具层上——dsh 插件、Claude 插件、SKILL.md 指令文件,都是进入模型上下文的特权通道。跨层传播意味着只盯一层的检测一定会漏,DeepGuard 用六个维度加四道防线覆盖全部四层。
威胁模型:AI Agent 面临的十大威胁
十大威胁分类来自 OWASP Agentic Top 10(2026),是行业共识成果,不是 DeepGuard 自创。作者的工作是参照 MITRE ATLAS 与 NVIDIA AI Kill Chain,结合日常 AI 安全攻防中真实遇到的场景与调整,把每一类威胁细化成可落地的方案:编号 DG-T01 至 DG-T10,按严重度分 CRITICAL、HIGH、MEDIUM 三级,向下展开成六大检测维度与 dsh 特有攻击场景,落进四道纵深防线,构成整套 Agent 自动化安全审计方案。分类是 OWASP 的,把每一类变成可检测、可定级、可拦截的具体规则,是 DeepGuard 的细化;其中六大检测维度,是作者投入最多精力的核心。2026 年 8 月 OWASP 发布 Agentic Skills Top 10(AST10,目前为公开评审版),针对的正是 skill/plugin 执行层,与本项目的审计对象最贴合,我们已逐条对照:十类风险均已落在 DG 体系的检测或流程覆盖内,各条目下标注对应关系。
六大检测维度
威胁分类只回答"防什么",不回答"怎么查"。把十类威胁翻译成可执行的检测动作,靠的是这套六大维度,整套方案中作者投入最多精力的部分。每个维度都不是一句口号,而是一组编号核查规则(DG-R 系列,按维度分段编号):每条规则写清检查对象、判定标准与定级逻辑,审计 Agent 逐项执行、逐条留证,复核 Agent 按证据行号逐条回验。
六个维度的划分,沿着一条完整的作恶链路展开。DG-D1 凭据与密钥触达,看插件会不会碰到用户的钥匙;DG-D2 提示词注入,盯住进入模型上下文的每一个字;DG-D3 代码执行链,在不运行插件的前提下还原潜在执行路径;DG-D4 网络与外联,卡住数据外发的出口;DG-D5 供应链与版本,盯住插件从哪来、变过没有;DG-D6 宿主沙箱逃逸,检查插件是否试图越出运行时边界。读密钥、劫持指令、执行代码、传出数据、改头换面、逃逸边界,任何一条作恶路径,都至少有一段落在某个维度的视野里。
所有威胁场景最终落入这六个面向攻击者意图的维度:74 项通用基线规则,叠加 dsh 覆盖层 31 项、指令面与后门规则 23 项,合计 128 项编号规则。每个维度独立定级,CRITICAL 发现的维度在报告页会获得红色标记。单击展开维度可查看代表性审计项,再单击审计项可查看检测细节与设计考量。
dsh 特有攻击场景
通用模型之外,dsh 有自己的机制,也就有自己的攻击面。我们通读了 deepseek-harness 仓库的源码(master @ 47f9438),提炼出十二个该生态独有的攻击场景,编号 DG-S01 至 DG-S12。这些场景最初从机制推演而来,2026-08-16 我们逐条对照源码做了复核,修正了部分证据路径与成立条件。推演归推演,实证归实证,没有源码支撑的场景不进检测集。
五层纵深防线
单点检测会被单点绕过。DeepGuard 的检测分五层,每层换一种手段:元数据核验、静态规则扫描、行为分析、AI 语义审查、沙箱动态验证。任一层的阻断结论都会写入报告并体现在市场卡片上。第五层沙箱动态验证因算力与 token 消耗较大暂未开放,上方卡片以 NA 标注。
为什么是「维度 × 防线」的矩阵式设计:维度回答"防什么",来自上方威胁建模的完整攻击面;防线回答"怎么防",每一层换一种检测手段(固定规则、AI 语义审查、策略校验)交叉验证。攻击者或许能骗过一种手段,但很难同时骗过三种。
设计的第五层是沙箱动态验证(DG-L4):在全新隔离容器里真实运行插件,环境中预先放入伪装成真实密钥的诱饵凭据,从文件、进程、网络三路观测行为——插件一旦偷取并外发诱饵,就构成数据外泄的铁证。这一层已完成开发并通过端到端验证,但单次运行的算力与 token 消耗较大,目前暂未开放,现有报告的动态验证项一律标注「未执行」。开放之后,已审插件会陆续补测;动态结论只对当次触发条件与观察窗口负责。
自动化审计设计
审计要追上生态的发布速度,就必须全自动。从版本监控到报告发布,整条链路里只有审计三环含 AI(Sonar 审计、Aegis 复核、Beacon 分歧裁决),加上发布前的查验 Agent Harbor,其余全是自动化脚本。
AI 写出的报告要连过四道自动化关卡才能发布:复核通过、身份与任务卡逐字一致、每条证据路径在文件清单里真实存在、报告格式校验通过。任何一环失败,或者复核拿不准,都不会发起合并,记录在案转人工处置,市场页只展示通过全部关卡的结论。确认恶意的判决会触发两件确定性动作:作者、组织与维护者身份自动级联拉黑,安全情报页同步广播下架预警。最终的发布判决由身份钉死、证据交叉核验、npm 来源溯源等确定性校验兜底,这类校验不经过任何模型——AI 是分析员,不是信任根。
这套设计的假设是悲观的。审计环境不可信,插件可能藏提示词注入,Agent 可能被完全控制。即使最坏情况发生,被控制的 Agent 也碰不到系统命令、网络、密钥和仓库写权限,它能做的最坏的事是交出一份错误的报告,而错误报告过不了那四道关卡,也过不了发布前的守门与查验。
定级纪律
审计报告最忌讳浮夸。DeepGuard 给定级立了一条死规矩:恶意意图与写法风险分开判。先回答"有没有恶意证据",再回答"写法留下的风险面有多大"。有能力不等于有意图——下载工具本来就要联网,笔记工具本来就要读写文件,与声明业务自洽的高危能力按写法风险如实定级,不当恶意处理。
| 级别 | 判定门槛 |
|---|---|
| CRITICAL | 恶意行为证据确凿、攻击链条完整、无正当功能解释,三条同时满足,缺一降级 |
| HIGH | 恶意意图明确,但危害成立有条件,比如注入指令能否得逞取决于宿主模型是否服从 |
| MEDIUM | 没有恶意证据,但代码写法存在可被利用的隐患 |
| LOW | 代码规范类小问题,不会直接造成危害 |
证据只够到哪一档就定哪一档,拿不准往低档定,把不确定写进报告。「确认恶意」的判决只针对证据确凿的恶意行为和借更新作恶(rug pull),市场同时拦截其安装命令;代码写得再不规范,只要没有恶意证据,最高只定「检出风险」——存在风险不等于确认恶意。
编号对照表
报告与市场页中出现的编号在各环节口径一致,除审计发现(FND)外统一以 DG 开头。
| 前缀 | 含义 | 格式 |
|---|---|---|
| DG-D | 检测维度 | DG-D1 至 DG-D6 |
| DG-S | dsh 特有攻击场景 | DG-S01 至 DG-S12 |
| DG-R | 检测规则 | DG-R 加维度号加序号,如 DG-R3-51 |
| FND | 审计发现 | FND-001 起,全报告唯一 |
| DG-T | 威胁模型条目 | DG-T01 至 DG-T10 |
| DG-L | 审计防线层 | DG-L0 至 DG-L4 |
| DG-M | 检测模块 | DG-M1 至 DG-M4 |
| DG- | 报告编号 | DG 加日期加序号,如 DG-20260816-001 |
报告的边界
DeepGuard 的每份报告由审计 Agent 自动生成。我们相信透明的边界比虚假的自信更有价值:静态分析覆盖不了全部运行时行为,动态观测穷尽不了全部触发路径,AI 语义判断存在漏报与误报的可能。因此每份报告开头都附有完整免责声明,「未检出」只代表当前规则库与检测窗口内没有发现风险——它不是绝对安全的承诺,而是一次公开可复核的审计记录。