© 2026FindAgent  · @simprr
返回列表
s

superradcompany/microsandbox

opensource secure local-first sandboxes for ai agents

agentsaicontainerdockerflylinuxmacosmcporchestrationpythonrustsandboxsandboxingsecurityself-hostedvirtualizationvmwindows
⭐

5.2k

Stars

🔱

241

Forks

👁

17

Watchers

📋

63

Issues

RustApache-2.0创建于 2024/10/3更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

---   轻松安全地执行不可信用户/AI 代码   ---

Microsandbox

Microsandbox 让在硬件隔离且快速启动的执行环境中运行不可信工作负载变得简单。

安全地运行不可信代码并非易事。传统的解决方案——如容器、虚拟机或云沙箱——往往需要在速度、隔离性或控制权之间进行权衡。Microsandbox 旨在兼顾这些优势。

[!WARNING] Microsandbox 仍处于实验性阶段。请预见可能会有破坏性的变更、缺失的功能以及尚未完善的部分。

核心特性

  • 强隔离性:通过 microVMs 提供硬件级虚拟机隔离。
  • 瞬时启动:启动时间低于 200 毫秒。
  • OCI 兼容:可运行标准的容器镜像。
  • 自托管:在您的基础设施内自主部署。
  • AI 就绪:通过 MCP 与 Agent 及 AI 工作流无缝集成。

Microsandbox 旨在成为 Agent 网络——快速、安全且灵活——的执行基石。

演示

沙箱环境

[ASCIINEMA →]

结合 Claude 使用

入门指南

前置要求

1. 下载 microsandbox
curl -sSL https://get.microsandbox.dev | sh
2. 启动服务器
msb server start --dev
3. 拉取环境镜像 [可选]
msb pull microsandbox/python

基础用法

microsandbox 附带了一系列灵活的命令,可以轻松管理和访问沙箱,具体如下:

临时沙箱

对于实验或一次性任务,临时沙箱提供了一个退出后不留痕迹的纯净环境。例如,通过运行以下命令创建一个基于 microsandbox/python 镜像的沙箱:

msx python # 或 `msb exe --image python`
系统级沙箱

此功能允许运行长期的沙箱,这些沙箱会自动配置为系统级可执行程序。这也使得访问常用沙箱变得异常方便——无需导航到特定目录或记忆复杂的命令。

msi python py-data # 或 `msb install --image alpine py-data`

py-data # 在任何目录下运行该沙箱

如果未指定别名,则默认使用镜像名称。在上面的示例中,默认为 python。如果已存在同名沙箱,则会返回错误。

[!TIP]

运行 msb --help 查看子命令的所有可用选项。

例如,msb add --help。

SDK (BETA)

1. 安装 SDK

关于未来支持的语言,请查看开放的 issue。

语言指令
Pythonpip install microsandbox
Rustcargo add microsandbox
JavaScriptnpm install microsandbox
2. 执行代码

首次运行会拉取环境镜像,因此耗时较长。您可以预先拉取镜像以实现瞬时运行。有关如何使用 SDK 的更多信息,请参考 SDK Readme。

Python
import asyncio
from microsandbox import PythonSandbox

async def main():
    async with PythonSandbox.create(name="test") as sb:
        exec = await sb.run("name = 'Python'")
        exec = await sb.run("print(f'Hello {name}!')")

    print(await exec.output()) # 输出 Hello Python!

asyncio.run(main())
JavaScript
import { NodeSandbox } from "microsandbox";

async function main() {
  const sb = await NodeSandbox.create({ name: "test" });

  try {
    let exec = await sb.run("var name = 'JavaScript'");
    exec = await sb.run("console.log(`Hello ${name}!`)");

    console.log(await exec.output()); // 输出 Hello JavaScript!
  } finally {
    await sb.stop();
  }
}

main().catch(console.error);
Rust
use microsandbox::{SandboxOptions, PythonSandbox};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let options = SandboxOptions::builder().name("test").build();
    let mut sb = PythonSandbox::create(options).await?;

    let exec = sb.run(r#"name = "Python""#).await?;
    let exec = sb.run(r#"print(f"Hello {name}!")"#).await?;

    println!("{}", exec.output().await?); // 输出 Hello Python!

    sb.stop().await?;

    Ok(())
}

项目沙箱 (BETA)

除了 SDK,microsandbox 还支持基于项目的开发,采用开发者熟悉的包管理器工作流。可以将其想象成沙箱版的 npm 或 cargo!

快速演示


设置指南

1. 创建沙箱项目

每个沙箱项目都需要在项目根目录下包含一个 Sandboxfile 文件,它作为沙箱环境的配置清单。要初始化一个项目,请运行:

msb init
贡献者
adtgOKSpcC
项目信息
默认分支main
LicenseApache License 2.0
创建时间2024/10/3
最近更新今天
GAI 中文摘要

Microsandbox 是一个基于 Rust 开发的开源安全沙箱项目,旨在为 AI 智能体及用户提供高效的执行环境。它通过硬件隔离技术解决运行不可信代码的安全难题,平衡了隔离性、性能与控制力。

提供硬件级别的微虚拟机隔离,确保运行不可信代码的安全性。 实现毫秒级的快速启动,启动时间低于 200 毫秒。 支持 OCI 标准容器镜像,能够直接运行现有的主流容器格式。 支持私有化部署,让用户在自己的基础设施中拥有完全的运行自主权。 通过 MCP 协议实现深度集成,能够无缝融入 AI 智能体的工作流。

适用于需要执行 AI 生成代码或处理不可信用户负载的开发者与团队,特别适合构建具备高度安全性且响应迅速的 AI Agent 后端系统。