🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

无内核用户空间沙箱 Snail-Turbo/dsh-android-sandbox

DeepSeek Harness
Snail-Turbo81 天前有提交已提供中文文档扫描:含敏感能力

为无内核沙箱的主机补上用户空间写入拦截与只读约束

27.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Snail-Turbo/dsh-android-sandbox
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 81 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 2 处,展示前 2 条)
  • 读取本地文件
    userspace-gate/lib/index.js:1459
    return await stat(path, { bigint: true });
  • 读取本地文件
    userspace-gate/src/containment.ts:36
    return await stat(path, { bigint: true })
扫描于 2026/11/5(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 用户空间写入拦截
  • 只读约束

README

由 DeepSeek 最新模型翻译生成
无内核沙箱主机的 dsh 用户空间沙箱插件 DeepSeek Harness(dsh)平时靠内核级沙箱把写入限制在工作区里——Landlock / bwrap、文件系统 fence、Seatbelt、Windows ACL runner。如果你的设备内核沙箱正常,你不需要这个仓库,官方沙箱已经够了。 这个仓库面向那些 runner 跑不起来或只能部分生效的主机——最常见的是 bootloader 锁定(或不想解锁)的 Android GKI 手机,以及没有 user namespace 或 Landlock 的受限容器 / chroot 环境。这类主机上 bash 内核 runner 会 fail-closed:每个受约束的 bash 调用都被拒。(write/edit 的文件系统 fence 是进程内路径围栏,仍然工作;真正的缺口在 shell 执行。)这里的插件在工具调用层为两者补上用户空间的替代。 Android 上拿真实沙箱的两个选项 如果你的 Android 设备没有可用的内核沙箱,有两个选项。
展开完整文档(README 剩余 1 节)
无内核沙箱主机的 dsh 用户空间沙箱插件

DeepSeek Harness(dsh)平时靠内核级沙箱把写入限制在工作区里——Landlock / bwrap、文件系统 fence、Seatbelt、Windows ACL runner。如果你的设备内核沙箱正常,你不需要这个仓库,官方沙箱已经够了。

这个仓库面向那些 runner 跑不起来或只能部分生效的主机——最常见的是 bootloader 锁定(或不想解锁)的 Android GKI 手机,以及没有 user namespace 或 Landlock 的受限容器 / chroot 环境。这类主机上 bash 内核 runner 会 fail-closed:每个受约束的 bash 调用都被拒。(write/edit 的文件系统 fence 是进程内路径围栏,仍然工作;真正的缺口在 shell 执行。)这里的插件在工具调用层为两者补上用户空间的替代。

Android 上拿真实沙箱的两个选项

如果你的 Android 设备没有可用的内核沙箱,有两个选项。

选项 A — 解锁 bootloader,编一个配置正确的 GKI 内核(推荐)

如果能解锁 bootloader,正路是在内核配置里打开 dsh runner 需要的特性(Landlock LSM、user namespace 等),自己编一个启用了这些特性的谷歌 GKI 内核。换上之后 dsh-bash-sandbox 和 dsh-fs-sandbox 正常约束,那才是真正想要的内核级边界。

能解锁就走这条路。 本仓库的插件是用户空间策略——兜底用的,不是安全边界。

选项 B — 不能或不想解锁:用这套用户空间插件

不能或不想解锁 bootloader,就把本仓库这两个插件加进你的组合。它们一起在工具调用层恢复官方沙箱的 workspace-write / read-only 约束,不需要任何内核特性。

| 包 | 职责 |
| dsh-userspace-gate | tools/pre-execute 门卫——workspace-write 沙箱的纯用户空间替代:拒绝 write/edit 调用,以及静态可见写目标落在会话工作区和平台临时目录之外的 bash 调用;顺带为 shell 工具实施 read-only。不需要任何内核特性。 |
| dsh-userspace-bash | 面向无可用内核 runner 主机的 bash-local 孪生:对外报一个沙箱模式(好让权限预设和 sandbox_permissions 升级面继续能用),但实际上不约束——文件写入的拦截交给 userspace-gate 门卫。 |

关于所报沙箱模式的说明。 userspace-bash 报出一个沙箱模式,但没有内核级约束。这是对官方能力事实语义的刻意偏离:在无内核主机上,官方两种形态都会崩——内核 runner 对每个受约束调用 fail-closed,而诚实无约束的执行器(sandboxMode === undefined)会让 dsh-permission-presets 加载即抛。报出模式让 /permission、预设选择器和 sandbox_permissions 升级面继续可用,实际约束由 userspace-gate 门卫在工具层执行(静态扫描,非内核)。

局限

- 只能拦住静态看得见的写目标,这不是安全边界。 静态能确定的写目标会被拦(重定向目标、变更类命令的操作数、已知选项值、交给 shell 的 heredoc 正文);动态目标——变量、命令替换、xargs、嵌套的非 shell 解释器、eval、source 的脚本文件内容、通配操作数(rm -rf /etc/*)、\cp 这类转义命令名——直接放行。
- 所报沙箱模式是偏离——见上文说明;permission-presets 会把这个执行器当"会约束"的,而一次被批准的 sandbox_permissions 升级会让命令以 harness 全权限运行(执行器从不约束;门卫只做静态拦截)。
- 内核 runner 才是对不可信代码真正算数的边界。能拿到(选项 A)就用它。

平台支持

userspace-bash 的执行器行在 win32 自动禁用(bundle 补丁里的 !!js process.platform === 'win32'):dsh-base 组合在 win32 挂 pwsh-sandbox,两个 ctx.shell 提供者会让启动因重复注册而失败。本仓库面向 POSIX 主机(Android、Linux、macOS)。

仓库结构

android-sand-box/
├── userspace-gate/ # tools/pre-execute 门卫 + bash 写意图扫描器 └── userspace-bash/ # 从不约束的 bash 执行器 + read-only 门卫 + 拒绝引导

两个包都是组合包(bundle):各自在 dsh.bundle manifest 下自带 cordis.patch.yml,装一个就自动激活对应插件行——无需手动改 cordis.patch.yml。把两个都装进 profile:

dsh plugin --profile web add ./userspace-bash
dsh plugin --profile web add ./userspace-gate

dsh-userspace-bash 组合包会把内核版 bash-sandbox 换成用户空间执行器,并挂上 read-only 门卫和拒绝引导;dsh-userspace-gate 组合包挂上 workspace-write 门卫。卸载用 dsh plugin --profile web remove 。两个包都把构建好的 lib/ 提交在仓库内,git 安装无需构建步骤。

许可证

MIT
预览分享卡片长什么样 ↓Snail-Turbo/dsh-android-sandbox
分享 · DeepSeek Harness Hub
Snail-Turbo/dsh-android-sandbox

为无内核沙箱的主机补上用户空间写入拦截与只读约束

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部