deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:ShanHaiFish/dsh-plugin-security-review
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
English: README.en.md · 简体中文: 本文档
DSH 插件安装安全审查守卫。对 cordis_define / cordis_run 安装或运行的动态插件源码做静态安全审查,并按安全优先策略拦截;同时提供 plugin_security_review / plugin_security_audit 两个审查工具。
v1.5.0 起为静态 bundle 插件,随 profile 层栈自动加载,不再需要每次重启 DSH 后重新 define/run。
| 路径 | 说明 |
|---|---|
package.json + cordis.patch.yml + lib/ |
静态 bundle(推荐):dsh plugin add 安装后开机自启动 |
manifest.json + package-source.js |
动态插件回退形态(v1.4.0):无 bundle 能力的 profile 按 README 恢复流程加载 |
tests/gate.test.mjs |
动态形态行为测试(node tests/gate.test.mjs) |
tests/static.test.mjs |
静态形态行为测试(node tests/static.test.mjs) |
dsh plugin --profile web add dsh-plugin-security-review
本地未发布时用 file: 指向本仓库(注意路径不能含空格):
dsh plugin --profile web add file:/path/to/dsh-plugin-security-review
重启 dsh web 后守卫即自动生效:plugin_security_audit(无参数)应显示「守卫: 运行中 (v1.5.0)」。
仅用于没有 bundle 能力的 profile。步骤:
package-source.js 与 manifest.json。cordis_define:plugin: { kind:"new", idPrefix:"secur" },name/purpose 取 manifest.json,code.host 取 package-source.js 中 return { ... } 之后的内容。cordis_run 激活;plugin_security_audit 验证。动态形态不跨 DSH 进程存续,重启后需重新加载;静态 bundle 形态无此限制。
name/inject/apply,经 ctx.tools.register(defineTool(...)) 注册工具,经 ctx.on('tools/pre-execute') 拦截,开机自启动。dsh plugin update 升级,cordis_define/cordis_run 对所有动态插件一律审查,不再有 secur 前缀/谱系令牌豁免;源码不可检索时一律 fail-closed(ask)。| 判定 | 条件 | 行为 |
|---|---|---|
| BLOCK | critical>0 或 high≥2 或 总分≥100 | 拒绝安装/运行,附完整报告 |
| ASK | high≥1 或 总分≥40 | 走审批服务要求人工批准(审批禁用时等效拒绝) |
| WARN | 总分≥10 | 放行,卡片附审查报告 |
| ALLOW | 其余 | 放行 |
风险权重:critical=100, high=40, medium=15, low=4,总分上限 300;能力声明项计分减半(最低 1 分)。
process.env.X 名字形如 *_KEY/_TOKEN/_SECRET/_PASSWORD/_CREDENTIAL/_AUTH/_COOKIE/_PRIVATE 单独记 high。document.cookie、innerHTML XSS、浏览器 eval、动态模块加载(high);import()/require、存储、网络、跳转、postMessage、Service Worker(medium);host.call、定时器(low)。ctx.get('shell'/'subprocess'/'credentials'/'approval'/'dynamicCordisRunner'/...) 精确检测。\x/\u 转义、atob。在 cordis_define 的 purpose 末尾追加:
CAPABILITIES: spawn,network,env,fs
关键字:spawn exec module network env fs credentials approval shell subprocess runner settings sandbox sessions llm process eval vm proto storage cookie dom redirect postmessage serviceworker rpc timer obfs。声明覆盖的规则项计分减半(报告标 [已声明])。
<DSH_HOME>/storages/plugin-security-gate/state.json。plugin_security_audit includeBundles=true:扫描 <DSH_HOME>/profiles/* 下声明 dsh 的依赖(@deepseek-ai/* 官方包跳过),读取入口产物做同一套静态审查,输出逐包判定。信息性审计:bundle 安装(pnpm/npm)不经过 cordis_define/cordis_run,守卫无法在该路径硬拦截,仅提供装前/装后可见性。
plugin_security_review:对给定 host/client 源码做安装前审查,返回判定、评分、逐条风险与行号;purpose 支持 CAPABILITIES: 声明。plugin_security_audit:指定 pluginId+packageId 出完整报告;无参数出全量总览+拦截/放行历史+守卫状态;includeBundles=true 附加 profile 库存审计。dsh plugin --profile web update dsh-plugin-security-review;本地 file: 依赖更新后重跑一次 dsh plugin add。cordis_stop/cordis_undefine 停用(它不在动态注册表里),但可由有文件权限的操作者经 dsh plugin remove 卸载——这是静态形态与动态形态的固有差异。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。