【免费下载链接】claude-code-devcontainer
Sandboxed devcontainer for running Claude Code in bypass mode safely. Built for security audits and untrusted code review.
claude-code-devcontainer是一个为安全审计场景设计的沙箱化开发容器(devcontainer),让 Claude Code 在bypassPermissions模式下安全运行。默认情况下容器拥有完整的出站网络权限,本文教你用iptables 网络隔离搭建一道出站白名单隔离墙,为它完成关键的一步安全加固——只放行 Claude、GitHub 和包仓库,其余流量一律拦截。
为什么需要网络隔离?🔒
claude-code-devcontainer 的核心设计是文件系统隔离:Claude 在容器里可以随意执行命令、安装依赖、修改文件,而爆炸半径被限制在/workspace内。但网络层是另一个故事——
按默认配置,容器拥有完整出站网络访问(详见官方文档 README.md 中的 Network Isolation 章节)。
这意味着如果审计的代码里藏有恶意依赖或"回连(phone-home)"行为,它依然可以从容器里向任意外部地址发数据。以下场景建议启用网络隔离:
- 审查可能包含恶意依赖的代码
- 审计带遥测/回连行为的软件
- 高敏感审查需要最大隔离
准备工作:容器已经替你装好了一切 ⚙️
很多人不知道,这个 devcontainer 已经把 iptables 加固所需的工具链内置到位,无需任何额外安装:
- 网络工具已预装:Dockerfile 在安装系统包时明确加入了
iptables、ipset、dnsutils、iproute2等安全测试工具(注释写着 "Network tools (for security testing)"); - 容器权限已放行:devcontainer.json 中的
runArgs已添加--cap-add=NET_ADMIN和--cap-add=NET_RAW,这正是容器内操作 iptables 规则所需的两个内核能力; - 自动配置已就绪:容器启动时 post_install.py 会完成 Claude Code 的一次性鉴权握手,登录流程不会打断你的加固流程。
也就是说,你只需要进入容器,敲规则即可。
快速搭建:6 个放行域名 + 1 条兜底 DROP 的 iptables 隔离墙 🛡️
官方推荐的最小可用规则集如下(完整版见 README.md):
# 放行 Claude Code 后端 sudo iptables -A OUTPUT -d api.anthropic.com -j ACCEPT # 放行 GitHub(clone/push 代码) sudo iptables -A OUTPUT -d github.com -j ACCEPT sudo iptables -A OUTPUT -d raw.githubusercontent.com -j ACCEPT # 放行主流包管理器仓库 sudo iptables -A OUTPUT -d registry.npmjs.org -j ACCEPT sudo iptables -A OUTPUT -d pypi.org -j ACCEPT sudo iptables -A OUTPUT -d files.pythonhosted.org -j ACCEPT # 放行本地回环 + 兜底拦截所有其他出站流量 sudo iptables -A OUTPUT -o lo -j ACCEPT sudo iptables -A OUTPUT -j DROP规则逐行解读
| 规则 | 作用 |
|---|---|
-d api.anthropic.com -j ACCEPT | 允许 Claude Code 调用模型后端 |
-d github.com系列 | 允许git clone/gh正常工作 |
registry.npmjs.org/pypi.org/files.pythonhosted.org | 让npm/uv等包管理器能拉取依赖 |
-o lo -j ACCEPT | 保留 localhost 流量,避免本地服务互相打不通 |
-j DROP(放在最后) | 白名单兜底:前面没匹配到的一律静默丢弃 |
顺序很关键:iptables 是按序匹配的,DROP必须放在所有ACCEPT之后,才能起到"白名单"效果。
注意事项与权衡 ⚖️
加固不是免费的,官方文档明确列出了三笔"账":
- 包管理器会被限制:不在白名单里的源(如内部 npm registry、Docker Hub 镜像源)全部被拦截,需要时往
DROP前补一条ACCEPT; - 依赖网络的工具可能失效:某些 CLI 工具会偷偷访问第三方域名,规则过严会导致它们静默失败;
- DNS 依然可用:iptables 拦的是流量,域名解析不受影响。如果你"偏执到顶点",可以在容器内用
ipset或 DNS 层面的手段进一步限制(这些工具同样已在镜像里预装)。
💡实用技巧:规则失效或误伤时,先用devc exec在容器内执行curl -v https://目标域名排查,再逐条iptables -D删除规则定位问题;整个容器随时可用devc destroy彻底清理。
安全边界速览:隔离了什么、没隔离什么 📋
| 维度 | 状态 |
|---|---|
| 文件系统 | ✅ 已沙箱化,宿主机文件不可见 |
| 进程 | ✅ 与宿主机隔离 |
| 包安装 | ✅ 只落在容器内 |
| 网络 | ⚠️ 默认全放行,用本文的 iptables 规则补上 |
| git 身份 | ~/.gitconfig只读挂载 |
| SSH agent | socket 被转发,但私钥留在宿主机 |
配合 iptables 网络隔离墙后,这套容器就能同时满足"让 Claude 放开手干活"与"恶意代码无路可逃"两个看似矛盾的目标——这正是它被用于安全审计工作流的底气所在。
一句话总结 ✅
在 claude-code-devcontainer 中,iptables网络隔离墙 =6 条 ACCEPT 白名单 + 1 条 DROP 兜底。容器自带工具与权限(Dockerfile 的 iptables/ipset、devcontainer.json 的 NET_ADMIN 能力),你只需 10 秒钟把规则敲进去,就为 bypass 模式下的 Claude Code 加上了一道真正的出站防火墙。
【免费下载链接】claude-code-devcontainer
Sandboxed devcontainer for running Claude Code in bypass mode safely. Built for security audits and untrusted code review.
相关推荐
如何快速搭建安全Claude Code沙箱:claude-code-devcontainer 3分钟上手教程
如何快速搭建安全Claude Code沙箱:claude code devcontainer 3分钟上手教程 claude code devcontainer
ChimeraOS网络与存储配置:局域网游戏共享与外部设备管理终极指南
ChimeraOS网络与存储配置:局域网游戏共享与外部设备管理终极指南 ChimeraOS作为一款基于Steam Big Picture的客厅游戏操作系统,提供
操作系统游戏开发nektos/act安全加固:容器安全与网络隔离
nektos/act安全加固:容器安全与网络隔离 概述 nektos/act作为GitHub Actions的本地运行工具,在提供便利的同时也带来了潜在的安全风
开发工具CI/CD
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考