这款沙盒工具让 Claude Code 如虎添翼 (Code On Incus)

BBetter Stack
컴퓨터/소프트웨어창업/스타트업AI/미래기술

Transcript

00:00:00如果你最近有关注新闻头条,可能已经看到了各种关于
00:00:04运行自主 AI 智能体危险性的警告。可能是意外的数据泄露,也可能是像
00:00:10OpenClaw 那样备受瞩目的安全漏洞。现实情况是,给予 AI 智能体
00:00:15访问宿主机终端的完整权限是非常危险的。但我们总不能因为安全考量
00:00:21就停止使用这些工具,对吧?我们需要的是一个更好的沙箱。刚好有这么一个
00:00:28非常出色的工具叫做 Code on Incus,它能让你在完全隔离的
00:00:34Incus 容器中运行 CLAUDE Code,这样你就可以安全地运行编程智能体,而不必担心
00:00:40你的 SSH 密钥或环境变量被泄露。在今天的视频中,我们将深入了解
00:00:46Code on Incus 的工作原理,接着我会向你展示如何自行配置,以便你能安全地
00:00:51开始运行你自己的自主 AI 智能体集群。这一定会很有趣,让我们开始吧。
00:00:58首先,什么是 Incus?其实我在之前的一期视频中
00:01:07更详细地介绍过 Incus,如果你想深入了解它的工作原理,可以去看看。但简单来说,
00:01:12Incus 是一个开源的系统容器和虚拟机管理器,允许你
00:01:18在隔离环境中运行完整的 Linux 系统。而 Code on Incus 将这一理念进一步升华,
00:01:24它让你能够部署预装了 CLAUDE Code 的完全隔离的微型 Linux 机器,
00:01:31从而将它们用作沙箱化的 CLAUDE Code 智能体。这是一个非常酷的想法。它基本上
00:01:36为 CLAUDE 提供了专属的 Linux 环境。与 Docker 的特权模式不同,Incus 的系统
00:01:43容器表现得就像完整的 Linux 机器,而且它们还拥有持久化状态,所以你可以随时
00:01:49停止和启动会话,而不会丢失进度或对话历史。这个方案最棒的一点在于
00:01:54它解决了权限地狱的问题。通常当容器创建一个文件时,
00:02:00它归 root 所有,你不得不运行 chown 命令才能编辑自己的代码。但 Incus 使用了 UID
00:02:08映射技术,它能有效地欺骗系统,使得 CLAUDE 在沙箱中创建的所有内容
00:02:14在你的本地机器上原生就归你所有。在我之前的视频中,我展示了如何
00:02:20在 Linux 机器上设置 Incus 容器。但这次,我将教你如何在 Mac 上设置。
00:02:26我们会使用一个叫 Colima 的工具,它本身就是一个容器。然后我们将
00:02:31在它内部运行 Incus,这是另一个容器。接着在 Incus 里面运行 CLAUDE
00:02:36Code,这简直是真正的“盗梦空间”式嵌套场景。首先,请确保
00:02:42你已经下载了 Colima。在右边这里,我设置了一个名为 my test app 的简单文件夹,
00:02:48用来存储 CLAUDE Code 通过 Incus 容器生成的所有内容。现在让我们
00:02:55启动一个简单的 Colima 实例。我们会传递 mount 标志,以允许对
00:03:00我刚刚创建的文件夹拥有写入权限。完成之后,我们将通过 SSH 进入 Colima 容器。
00:03:06从这里开始,我们基本上只需要按照 Code on Incus
00:03:11代码库中列出的说明操作即可。复制这些行来安装和配置 Incus。然后
00:03:17说明中说我们应该运行 bash 命令。但在我之前的测试中,这并没有达到预期效果。
00:03:23所以,你可以改将内容复制到 install.sh 文件中,然后运行它。接着
00:03:29设置脚本会开始运行,它检测到 Incus 已经安装好了,这很好,但我们仍
00:03:35需要配置防火墙。稍后我们会处理。现在只需按 1 选择从源码构建,
00:03:42让脚本自动执行。完成这一步后,我们就可以继续运行防火墙
00:03:47配置命令了。根据说明,接下来的步骤应该是
00:03:52运行 koi build。但在我之前的测试中,我遇到了一些网络连接问题。
00:03:58由于 Incus 运行在 Colima 虚拟机内部,它会创建自己的虚拟网桥。
00:04:04通常它被称为 incusbr0,目的是让 CLAUDE 容器能够访问互联网。但麻烦之处就在这里。
00:04:10默认情况下,Linux 防火墙甚至 Docker 自身的网络规则有时会
00:04:16与这个网桥发生冲突。为了解决这个问题,我们需要确保 Colima 虚拟机允许
00:04:22流量在 Incus 网桥和外部世界之间自由流动。我们的做法是将
00:04:28Incus 网桥添加到受信任的防火墙区域,并启用 IPv4 转发。一旦你
00:04:34在终端看到打印出两次 success,我们就正式准备好构建 Code on Incus 了。
00:04:40现在的文档可能有点让人困惑,因为要构建这个工具,你需要运行代码库内部的一个
00:04:46设置脚本。所以最简单的方法是直接克隆 Code on Incus
00:04:52代码库,然后进入目录,再从那里运行 koi build。至少我是这样搞定的。
00:04:59构建过程大约需要一两分钟来编译所有内容。一旦完成,
00:05:04好戏就开始了。我们终于可以在各自的 Incus 隔离舱中启动自主 CLAUDE Code 智能体了。
00:05:11现在让我们看看。为了展示实际效果,我设置了两个终端
00:05:16窗口。我在插槽 1 启动第一个实例,传入工作区路径,这样 CLAUDE 就知道
00:05:23把文件存放在哪里。我还添加了 network open 标志。这一点至关重要,因为它
00:05:28允许智能体访问互联网、下载依赖项,并在功能需要时调用 API。
00:05:35我对插槽 2 进行了同样的操作,基本上创建了一个“双人组”。
00:05:40一个智能体将完全专注于后端,另一个则专注于前端部分。
00:05:45在这个演示中,我将让他们构建一个星球大战全息记录仪应用,这是一个
00:05:51从 SWAPI API 获取角色数据的工具。为了让它更有趣,我还要求前端
00:05:57智能体给 UI 加上蓝色的全息闪烁效果,灵感来自 1977 年经典的星球大战
00:06:04终端外观。然后就让他们自由发挥。几分钟后,我们看到两个智能体
00:06:10在同一个工作区协作成功。它们已经创建好了后端
00:06:16和前端界面。现在让我们打开浏览器看看效果。好的,看起来
00:06:22非常棒。我们已经实现了那种经典的星战全息发光效果。现在如果我查询
00:06:28达斯·维达的数据,可以看到它成功获取了。尤达也是一样。还有卢克·
00:06:34天行者。这就是安全编排 AI 智能体的强大之处,你永远不必担心
00:06:40你的主宿主机会暴露在未知的依赖项或混乱的代码库中。现在我想给你们展示
00:06:46另一个例子,这种安全性在其中非常有用。假设你下载了一个文件,
00:06:52而你怀疑这个文件可能包含恶意软件。为了演示,我将
00:06:56实际使用一个由 EICAR 研究所提供的恶意软件样本文件,它通常被用作
00:07:02模拟真实计算机病毒的演示文件。虽然该文件本质上不会造成任何伤害,
00:07:09但它确实包含了一个恶意软件特征码。现在假设你拿到了那个文件,
00:07:14但你不想在本地机器上解压它。这时你就可以再次利用
00:07:19Code on Incus 来帮你进行归档提取。然后我们可以使用 CLAUDE Code 对
00:07:25该文件的内容运行全面的分析。在这个第二个例子中,我启动了一个新的
00:07:30Colima 实例。这次我将包含 EICAR 文件的文件夹作为工作区传入,
00:07:37这样我们就可以把它传递给 Incus。我已经再次执行了安装
00:07:41Koi 并进行配置的整个过程。现在我们已经启动了一个新的 AI 智能体。我们现在可以
00:07:48在另一个终端窗口中,将文件推送到 Incus 实例上。你可以通过使用 incus
00:07:54file push 命令并指定该特定 Koi 实例的容器 ID 来实现。传输完成后,
00:08:00我现在可以要求 CLAUDE Code 检查内容并运行一份详尽的分析报告。
00:08:06片刻之后,我们看到 CLAUDE Code 已经完成了分析。正如预期的那样,
00:08:11它判定这个文件是完全安全且没有恶意企图的。它确实识别出
00:08:17这确实是一个 EICAR 恶意软件测试文件。它在分析报告中
00:08:24列出了所有的细节。这真的很酷。如果你是一名安全研究员,或者
00:08:29经常接收大量不可信文件的开发者,你完全可以使用同样的流程来安全、
00:08:34可靠地检查它们,通过 Incus 系统容器的坚固盾牌,获得 CLAUDE 的全套分析能力。
00:08:40以上就是 Code on Incus 的简要介绍。总的来说,
00:08:47这个工具还提供了许多我在视频中没来得及展示的其他实用命令。
00:08:52比如,你可以使用自定义镜像启动实例,还可以管理快照和会话。
00:08:57所以一定要去看看整个项目以深入了解。我认为在当今
00:09:03网络数字角落充满了安全威胁的时代,像这样的工具真的有助于
00:09:09安全地管理 AI 智能体编排。而且它是基于 Incus 实现的,
00:09:16我非常推崇这点。所以它得到了我的认可。但你对这个工具有什么看法?
00:09:21你试过了吗?你会用吗?请在下方的评论区告诉我们。另外,
00:09:26如果你觉得这个视频有帮助,请点个赞。别忘了
00:09:31订阅我们的频道,这样你就不会错过我们未来的任何技术解析。
00:09:36我是来自 Better Stack 的 Andris,我们下期视频再见。

Key Takeaway

Code on Incus 通过将 Claude Code 部署在隔离的 Incus 系统容器中,为自主 AI 智能体提供了一个既安全又具备原生文件权限体验的高效沙箱环境。

Highlights

直接赋予 AI 智能体宿主机终端权限存在巨大的安全风险,可能导致数据泄露或 SSH 密钥等敏感信息被窃取。

Code on Incus 提供了一个基于 Incus 容器的完全隔离环境,专门用于安全地运行 Claude Code 智能体。

Incus 系统容器相比 Docker 拥有更好的持久化状态支持,其 UID 映射技术解决了容器内外的文件权限所有权问题。

在 Mac 系统上可以通过 Colima 嵌套运行 Incus,从而实现“盗梦空间”式的多层沙箱环境。

通过多智能体协作实验证明,两个独立的 Claude Code 实例可以在同一个受限工作区内高效配合完成前后端开发。

该沙箱环境同样适用于安全审计,可用于分析可疑的恶意软件样本(如 EICAR 测试文件)而不威胁宿主系统安全。

Timeline

AI 智能体的安全挑战与 Incus 简介

视频开篇强调了运行自主 AI 智能体时面临的安全威胁,特别是给予 AI 终端完全访问权限可能导致的泄密风险。主讲人引入了 Code on Incus 工具,指出它能让 Claude Code 在完全隔离的环境中运行,有效保护 SSH 密钥和环境变量。Incus 被定义为一个开源的系统容器和虚拟机管理器,它比传统的 Docker 更有优势,因为它能模拟完整的 Linux 系统。这种方案最核心的价值在于为 AI 提供了专属且持久化的运行空间。它不仅确保了安全性,还保留了会话进度,解决了 AI 开发中的数据丢失问题。

权限处理与 Mac 环境下的嵌套安装

这一部分深入探讨了 Incus 的 UID 映射技术,该技术巧妙地解决了容器中 root 权限文件无法在本地编辑的“权限地狱”难题。随后,视频详细演示了如何在 Mac 系统上利用 Colima 工具搭建这套环境。这涉及到一种有趣的嵌套结构:在 Colima 容器内运行 Incus,再在 Incus 中运行 Claude Code。用户需要通过 SSH 进入 Colima 并按照特定脚本安装 Incus。主讲人特别提醒,某些自动化脚本在测试中可能失效,建议手动将代码存入 install.sh 后运行。此步骤是确保沙箱环境能够正确识别本地文件路径并保持原生所有权的关键。

网络配置与 Code on Incus 构建

在准备就绪后,视频重点讲解了如何解决 Incus 虚拟网桥 incusbr0 与 Linux 防火墙或 Docker 规则之间的冲突问题。主讲人演示了如何启用 IPv4 转发并将网桥添加到受信任区域,以确保容器内的 AI 能够访问互联网下载依赖。由于文档可能存在混淆,视频推荐直接克隆 Code on Incus 代码库并从源码进行构建。整个构建过程大约需要一到两分钟进行编译。这一环节确保了沙箱环境不仅是封闭的,还是具备功能性的,能够与外部网络安全地通信。这种细致的网络调整是让 Claude Code 具备完整开发能力的前提。

多智能体协作:星战全息记录仪演示

为了展示实战效果,主讲人启动了两个独立的 Claude Code 实例,分别负责后端和前端开发。通过传入工作区路径和网络权限标志,这两个智能体在完全隔离的“插槽”中协同工作。它们成功构建了一个调用 SWAPI 接口的星球大战全息记录仪应用,并实现了复杂的蓝色闪烁视觉效果。演示证明,尽管身处沙箱,AI 依然能高效编写、测试并交付代码。更重要的是,整个过程中宿主机完全没有暴露在未知的第三方依赖或混乱的代码变更中。这种“双人组”模式展示了安全编排 AI 智能体在复杂项目中的潜力。

安全实战:恶意软件分析与总结

视频最后一个案例展示了 Code on Incus 在安全研究领域的应用,即在不接触宿主机的情况下分析包含 EICAR 病毒特征码的文件。主讲人通过 incus file push 命令将可疑文件推送到隔离的容器中,并要求 AI 运行详尽的分析报告。Claude Code 准确地识别出了该文件是无害的恶意软件测试样本,并列出了所有技术细节。这证明了 Incus 容器作为“坚固盾牌”,能让开发者和安全员在绝对安全的前提下利用 AI 的分析能力。最后,视频总结了该工具的其他高级功能,如自定义镜像和快照管理。主讲人 Andris 再次表达了对 Incus 生态的支持,并鼓励观众在评论区分享使用心得。

Community Posts

View all posts