安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
功能介绍
Vision-first desktop computer use for DSH on macOS: OCR text targeting, set-of-mark indices, 11 desktop_* tools and a visible cursor. No accessibility tree. · 让 DSH 看着屏幕操作你的 Mac。
安装
dsh plugin --profile web add github:OrderG-X/dsh-mac-computer-use#v1.2.0安装方式: GitHub · 运行验证未定论 (L5 unknown)
验证与兼容性○ 生态插件
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
未采集到插件清单 —— 无法得知作者声明的版本范围。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 |
|---|---|
| v1.2.0 | ○ |
v1.2.0github○ 生态插件 12026-10-18
https://github.com/OrderG-X/dsh-mac-computer-use
○dsh 0.2.1-rc.2当前2026-10-18生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/OrderG-X/dsh-mac-computer-use#v1.2.0
ID: dsh-mac-computer-use@v1.2.0@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-18 · 有效至:2026-10-25
查看检查项与证据
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-mac-computer-use/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 低,按「取更严者」→ 总评级 低。
—v1.2.0git2026-10-21v1.3.1版本已更新clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(12 条)
- 警告childProcess · code-exec
plugin/index.js:73const child = spawn(OVERLAY, [], { detached: true, stdio: 'ignore' }) - 警告childProcess · code-exec
plugin/index.js:121const child = spawn(cuBin(), args, { stdio: ['ignore', 'pipe', 'pipe'] }) - 警告shellExec · shell
plugin/index.js:60try { execFileSync('/usr/bin/pgrep', ['-f', 'dsh-cursor-overlay'], { stdio: 'ignore' }); return true } catch { return false } - 警告shellExec · shell
plugin/index.js:262execFileSync('/usr/bin/sips', ['-c', String(w.height), String(w.width), '--cropOffset', String(w.y), String(w.x), full, '--out', file], { st - 警告shellExec · shell
plugin/index.js:269execFileSync('/usr/bin/sips', ['--resampleWidth', String(args.maxWidth), file, '--out', file], { stdio: 'ignore' }) - 警告fsWrite · files
plugin/index.js:30try { fs.appendFileSync(TRACE, `${new Date().toISOString()} ${line}\n`) } catch {} - 警告shellExec · shell
plugin/panel.js:30execFile(bin, ['winlist'], { timeout: 5000 }, (err, out) => { - 警告shellExec · shell
plugin/panel.js:106execFileSync('/usr/bin/pbcopy', [], { input: INSTALL_CMD }) - 警告shellExec · shell
plugin/panel.js:112execFileSync('/usr/bin/open', [url], { stdio: 'ignore' }) - 警告shellExec · shell
plugin/setup.js:44try { execFileSync('/usr/bin/pgrep', ['-f', 'dsh-cursor-overlay'], { stdio: 'ignore' }); running = true } catch {} - 警告shellExec · shell
plugin/setup.js:49try { execFileSync('/usr/bin/pkill', ['-f', 'dsh-cursor-overlay'], { stdio: 'ignore' }) } catch { /* 本来就没跑 */ } - 警告shellExec · shell
plugin/setup.js:68execFile('/usr/bin/osascript', ['-l', 'JavaScript', '-e', PERM_JXA], { timeout: 5000 }, (err, out) => {
展开 2 条审计发现
- low追踪日志写入可预测的全局 /tmp 路径且 appendFileSync 会跟随预置软链接
plugin/index.js:28能在插件首次写入前于 /tmp 创建文件的本地用户可以预先放置软链接,使日志行被追加到 DSH 用户拥有的其他文件中。日志内容仅为时间戳、工具名和路由拒绝诊断(不含输入文字与截图内容),实际影响是数据被污染/日志注入,而非信息泄露。
- low全屏/窗口截图写入临时目录后从不删除
plugin/index.js每次 desktop_screenshot / desktop_observe 都会把屏幕 PNG(可能包含凭据或隐私内容)长期留在磁盘上;macOS 的 os.tmpdir() 位于用户私有的 /var/folders 下,其他本地用户无法读取,因此属于卫生/隐私缺口而非信息泄露。
macOS 桌面自动化插件;工具调用使用参数数组、设置页路由有回环+Origin 校验,未发现注入或RCE路径,仅存在轻微临时文件卫生问题。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-21 · 活跃度:活跃
• 仓库创建: 2026-10-10
• 星标: ★ 2 · 复刻: 1
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
