我构建了Capsule Bash,一个专为无需配置的代理设计的沙盒化Bash。
摘要
Capsule Bash 是一个面向 AI 代理的沙盒化 Bash 环境,提供基于 WebAssembly 的安全隔离和丰富的命令反馈,无需复杂设置。
现有的 Bash 在安全配置上相当麻烦。要么需要 Docker,要么依赖某些云方案。此外,标准 Bash 在执行命令后并不总是返回反馈信息以丰富上下文历史。我一直在为代理(agent)重构一个更合适的 Bash。它不包含所有 Bash 命令和 shell 功能,只保留适合代理需求的部分。
**沙箱化**
每一次执行都在隔离的 WebAssembly 环境(基于 WASI 0.2 规范)中进行沙箱处理。这对 Capsule Bash 中提供的 `python3` 或 `node` 这类可能执行不可信代码的命令至关重要。我希望确保你可以随意下载并执行任何内容,而不会危及宿主机系统。
**增强反馈**
目标是针对每条执行的命令提供结构化反馈,显示创建、修改或删除了什么。这也有助于在对话中保留痕迹,以便 LLM 在恢复上下文时理解情况。如果代理运行了 `rm -rf`,它会直接知道执行了哪些操作,无需再运行 `ls` 去检查。
---
使用起来非常简单:
```typescript
import { Bash } from '@capsule-run/bash';
import { WasmRuntime } from '@capsule-run/bash-wasm';
const bash = new Bash({ runtime: new WasmRuntime() });
const result = await bash.run('echo "Hello from sandboxed bash"');
```
我用 TypeScript 构建了它,`WasmRuntime` 部分用 Rust 编写。它还提供了一个 MCP 版本,如果更适合你的场景的话。关于工作原理的更多细节,可查看主仓库:[https://github.com/capsulerun/bash](https://github.com/capsulerun/bash)
我很想知道你对此方法的看法。
相似文章
我们如何构建安全、可扩展的代理沙箱基础设施(8分钟阅读)
Browser Use 描述了隔离执行代码的 AI 代理的两种模式:隔离工具与隔离代理。他们使用 AWS 上的 Unikraft 微虚拟机实现了代理隔离模式,获得了安全、可扩展且一次性的沙箱。
@AniC_dev: 介绍 box——简单、强大的智能体沙盒,并且也是最具性价比的
AniC_dev 推出了 box,一个简单而强大的 AI 智能体沙盒,并声称它是性价比最高的选择。
@mernit: 介绍 Capsule — AI 应用的基础设施框架 Capsule 是一个 Python 框架,提供基础设施原语…
Capsule 是一个 Python 框架,为 AI 应用提供基础设施原语,如沙箱、认证、会话管理、集成和支付,旨在简化部署和迭代。
@TencentAI_News:我们刚刚开源了 Cube Sandbox!一款秒级、并发、安全且轻量的 AI Agent 沙箱运行时。
腾讯开源 Cube Sandbox,一款基于 Rust/KVM 的轻量级 AI Agent 沙箱运行时,冷启动低于 60 ms,单实例内存开销 <5 MB。
TencentCloud/CubeSandbox
TencentCloud的CubeSandbox是一个开源、高性能的安全沙箱服务,专为AI智能体设计,基于RustVMM和KVM构建,提供硬件级隔离、低于60毫秒的启动时间,并兼容E2B SDK。