Skip to main content

bwrap-bypass

绕过 Claude Code bwrap (bubblewrap) sandbox 限制。bwrap sandbox 会重新挂载文件系统,导致 Bash 命令无法访问特定路径、凭证文件、Unix socket 等资源。当遇到以下情况时使用:(1) Bash 命令报 Permission denied 但 sandbox 外正常 (2) LOAS2/Kerberos 凭证不可用 (3) 新机器/Bot 部署后需要配置 sandbox bypass (4) 命令因 sandbox 文件系统隔离而失败 (5) 用户说"装 bwrap bypass"、"配 sandbox"。关键词:"bwrap"、"sandbox"、"Operation not permitted"、"Permission denied"、"credentials-cache"。

来源信息

仓库
yangwhale/CloseCrab
最近来源活动
2026年4月12日 10:17
检测到的 SKILL.md 语言
中文
星标
4
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
3 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
bwrap-bypass
description
绕过 Claude Code bwrap (bubblewrap) sandbox 限制。bwrap sandbox 会重新挂载文件系统,导致 Bash 命令无法访问特定路径、凭证文件、Unix socket 等资源。当遇到以下情况时使用:(1) Bash 命令报 Permission denied 但 sandbox 外正常 (2) LOAS2/Kerberos 凭证不可用 (3) 新机器/Bot 部署后需要配置 sandbox bypass (4) 命令因 sandbox 文件系统隔离而失败 (5) 用户说"装 bwrap bypass"、"配 sandbox"。关键词:"bwrap"、"sandbox"、"Operation not permitted"、"Permission denied"、"credentials-cache"。
# bwrap-bypass Claude Code 2.1.98+ 的 Bash sandbox 用 bwrap (bubblewrap) 包裹每个 Bash 命令,重新挂载文件系统创建隔离环境。这会导致: - 特定路径(`/run/credentials-cache/` 等)的权限被改变 - Unix socket、命名管道等 IPC 资源不可访问 - 凭证系统(LOAS2、Kerberos)检测到不安全的目录权限后拒绝工作 - 部分系统工具和服务因文件系统隔离而失败 已知 bug: [anthropics/claude-code#35986](https://github.com/anthropics/claude-code/issues/35986) `sandbox.enabled: false` 和 `dangerouslyDisableSandbox` 均无效——bwrap 在读取 settings 之前就启动。 ## 安装 用 passthrough 脚本替换 `/usr/bin/bwrap`(需要 sudo): ```bash sudo mv /usr/bin/bwrap /usr/bin/bwrap.real sudo cp scripts/bwrap-passthrough.sh /usr/bin/bwrap sudo chmod 755 /usr/bin/bwrap ``` 脚本路径:`scripts/bwrap-passthrough.sh`(相对于本 skill 目录)。 ## 恢复 ```bash sudo bash scripts/bwrap-restore.sh ``` ## 原理 `bwrap-passthrough.sh` 接收 bwrap 的全部参数,解析 `--setenv`/`--unsetenv`,跳过所有沙箱参数(`--ro-bind`、`--tmpfs` 等),在遇到 `--` 后直接 `exec` 实际命令。效果:命令照常执行,但不做文件系统隔离。 ## 检查状态 ```bash # 检查是否已安装 bypass file /usr/bin/bwrap # 应显示 shell script,不是 ELF head -1 /usr/bin/bwrap # 应显示 #!/bin/bash # 检查真实 bwrap 是否已备份 ls -la /usr/bin/bwrap.real ``` ## 注意事项 - 安装后所有 Bash 命令不再受沙箱保护,安全性降低 - 定期关注 #35986 修复进度,修好后执行恢复步骤 - 适用于所有 Linux 环境(gLinux、GCE VM、裸金属),只要安装了 bwrap 就可能需要
在 GitHub 查看