用 Markdown 声明插件权限并自动校验
28.4/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add taltara/capmark该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 72 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 15 处,展示前 15 条)
- 读取本地文件packages/capmark/src/cli.ts:51
if (statSync(input).isDirectory()) return join(input, 'CAP.md') - 读取本地文件packages/capmark/src/cli.ts:63
const pkg = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8')) as { - 读取本地文件packages/capmark/src/cli.ts:75
source = readFileSync(file, 'utf8') - 读取本地文件packages/capmark/src/cli.ts:225
source = readFileSync(file, 'utf8') - 读取本地文件packages/capmark/src/discover.ts:36
return readFileSync(path, 'utf8') - 读取本地文件packages/capmark/src/infer.ts:185
entries = readdirSync(dir) - 读取本地文件packages/capmark/src/infer.ts:195
isDir = statSync(full).isDirectory() - 读取本地文件packages/capmark/src/infer.ts:218
JSON.parse(readFileSync(join(packageDir, 'package.json'), 'utf8')) as { - 读取本地文件packages/capmark/src/infer.ts:232
source = readFileSync(file, 'utf8') - 写入本地文件packages/probe/src/claims.js:69
writeFileSync(out, JSON.stringify(results, null, 2)) - 写入本地文件packages/probe/src/claims.js:73
writeFileSync( - 写入本地文件packages/probe/src/gate-check.js:66
writeFileSync( - 写入本地文件packages/probe/src/gate-check.js:83
writeFileSync( - 写入本地文件packages/probe/src/index.js:63
writeFileSync( - 写入本地文件packages/probe/src/index.js:74
writeFileSync(
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 自动校验权限声明
用 Markdown 声明 AI 智能体插件能做什么,并做校验,这就是能力清单。
README
由 DeepSeek 最新模型翻译生成capmark
面向 AI 智能体插件的 capability manifest。插件以 Markdown 声明它可以做什么,检查器则据此约束它。
安装插件就是用你的权限运行别人的代码——它可以读取你的文件、花掉你的凭据、访问网络。如今横在你和这一切之间的,只有一份 README 和你自己的阅读理解。扫描器是在事后查找已知的恶意代码。capmark 是另一半:插件事先声明它需要什么,以一种机器可以检查的形式。
capmark: 0.1
plugin: dsh-vision-toolkit
Capabilities
cap
grant fs:read scope=workspace
grant net:fetch
Contracts
cap
never proc:spawn
require approval for fs:read
它首先是 Markdown。一个从未听说过 capmark 的读者仍然能看到一份清晰可读的安全 README——对于不受支持的 manifest 来说,最坏的情况也不过是文档。
让这一切保持诚实的规则
词汇表中的每一项 capability 都必须指明一个真正能阻止它的机制。
这不是风格偏好。DSH discussion #174 记录了一条针对 rm -rf 的 deny 规则被绕过,方法是在同一次运行中先 rm 再 rmdir。
展开完整文档(README 剩余 1 节)
capmark 面向 AI 智能体插件的 capability manifest。插件以 Markdown 声明它可以做什么,检查器则据此约束它。 安装插件就是用你的权限运行别人的代码——它可以读取你的文件、花掉你的凭据、访问网络。如今横在你和这一切之间的,只有一份 README 和你自己的阅读理解。扫描器是在事后查找已知的恶意代码。capmark 是另一半:插件事先声明它需要什么,以一种机器可以检查的形式。 capmark: 0.1 plugin: dsh-vision-toolkit Capabilities cap grant fs:read scope=workspace grant net:fetch Contracts cap never proc:spawn require approval for fs:read 它首先是 Markdown。一个从未听说过 capmark 的读者仍然能看到一份清晰可读的安全 README——对于不受支持的 manifest 来说,最坏的情况也不过是文档。 让这一切保持诚实的规则 词汇表中的每一项 capability 都必须指明一个真正能阻止它的机制。 这不是风格偏好。DSH discussion #174 记录了一条针对 rm -rf 的 deny 规则被绕过,方法是在同一次运行中先 rm 再 rmdir。模式拒绝的是拼写。capability 拒绝的是结果。 拒绝整个工具不是模式匹配——一旦 bash 被排除在外,你就无法换个说法绕到 bash。所以这里的单位是一组工具名称。任何更细的东西,比如主机允许列表,都只是建议性的,capmark 会明说出来,而不是让它冒充一堵墙: warning advisory-scope scope on net:fetch is recorded and audited, but nothing enforces it — do not rely on it as a boundary 一个悄悄夸大自己的权限系统比没有更糟,因为人们会不再阅读代码。 检查一个 npx capmark lint ./CAP.md 退出码 0 表示干净,1 表示有发现,2 表示无法运行。CI 中使用 --json。 没人会向权限系统索要的节省 工具 schema 会在每次请求时重新发送,因此一个智能体可能永远不会调用的工具,会在每个会话的每一轮都被付费。manifest 已经说明了哪些是这类工具,而 tools.restrict() 恰好接受由此得出的掩码。 针对一个已启动的 @deepseek-ai/dsh 0.1.0-rc.7 web profile 测量——schema 是从运行中的注册表捕获的真实数据,而非估算。又针对 0.1.1-rc.2 重新核对过,其中 standard、code 和 cordis 组合携带相同的行,因此这些数字仍然成立: 在 0.1.1-rc.2 上: | preset | tools | schema bytes | with a fs:read + net:fetch manifest | cut | | standard (default) | 25 | 25,965 | 5 tools, 3,122 B | 88.0% | | code | 26 | 26,908 | 6 tools, 4,065 B | 84.9% | | cordis | 32 | 33,453 | 5 tools, 3,122 B | 90.7% | 在 0.1.0-rc.7 上: | preset | tools | schema bytes | with a fs:read + net:fetch manifest | cut | | standard(默认) | 25 | 25,567 | 5 个工具,2,724 B | 89.3% | | code | 26 | 26,510 | 6 个工具,3,667 B | 86.2% | | cordis | 32 | 33,055 | 5 个工具,2,724 B | 91.8% | 两者都是实时捕获。版本不同是因为五个工具包编辑了它们的描述,而工具 schema 主要就是它的描述——比较包源码在此处预测没有变化,而启动每个版本后显示并非如此。 如实解读:那是工具负载,不是整个请求,而且它适用于一个真正限定在其所声明范围内的 agent——把一个通用 agent 遮蔽到只剩一个插件的授权会使其失效,这就是为什么该报告拒绝给一个不留下任何可调用内容的遮蔽打分。我们不声称延迟,因为我们没有测量延迟。参见基准测试以复现它。 code 行保留六个工具而非五个,因为 run_code 无法被遮蔽:注册表在限制应用之后会重新添加 Code Mode 传输,而且如果你命名它,tools.restrict() 会抛出异常。执行不受影响——子分派仍然通过策略瀑布——但负载保留了它,数字也如实反映。我们通过遮蔽一个实时 harness 发现了这一点;论文中的计算曾声称 89.7%。 状态 早期。已针对 @deepseek-ai/dsh 0.1.0-rc.7 和 0.1.1-rc.2 验证。检查所依赖的三个包——dsh-tools、dsh-agent-presets、dsh-scope——在这些版本之间字节完全相同,因此接缝在两处是相同的代码。0.1.1-rc.2 增加了一个工具包,它注册了一个词汇表已覆盖的名称。 词汇表包含十四种能力,每种都绑定到从启动的 @deepseek-ai/dsh profile 捕获的工具名称,而非从文档读取——其中两个(code:run、workflow:run)之所以存在,是因为测量发现了文档从未提及的工具。 格式版本 0.1;预计它会变动。 - packages/capmark — 解析器、linter、词汇表、工具遮蔽编译器、CLI。零依赖。 - packages/gate — dsh-capmark-gate,DeepSeek Harness 的参考执行器(readme) - packages/probe — 测量工具;针对真实 profile 启动以捕获实时工具 schema。不随附发布。 执行 packages/gate 让一个实时 agent 遵守 manifest。在启动的 rc.7 harness 上测量,manifest 授予 fs:read 并禁止 proc:spawn: tools visible: 25 -> 4 bash deny - reader declares never proc:spawn, and bash is part of it write deny - reader declares no capability covering write read allow 它不会沙箱化插件自身的代码——apply() 在任何工具调用存在之前就以完整 Node 权限在进程内运行。manifest 管辖的是一个 agent 可以调用什么。这一限制在 gate 的 readme 中说明,而不是留给别人去发现。 开发 pnpm install pnpm test pnpm typecheck pnpm lint 许可证 MIT。参见 LICENSE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
taltara/capmark
用 Markdown 声明插件权限并自动校验
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 426,451已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,777已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
🌐 官网国内推荐从这里进:
★ 1,021已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 656已汉化DSH
70.7
这是你的仓库?认领条目