Katakate/k7

Your own self-hosted infra for lightweight VM sandboxes to safely execute untrusted code. CLI, API, Python SDK. ⭐ Star it if you like it! ⭐

k7 – 用于 AI 计算的自托管安全虚拟机沙箱

是什么?

  • k7 是一个开源平台,允许您在由 Kubernetes 管理的轻量级虚拟机沙箱中运行不受信任的代码。它面向 AI 代理和其他需要安全且大规模执行任意代码的工作负载。

如何运作?

  • 编排 – 使用 K3s(一个生产就绪的 Kubernetes 发行版)来调度沙箱 Pod。
  • 隔离后端 – 四种选项:
    1. kfd – Kata + Firecracker,使用 devmapper 精简池(快速启动,攻击面最小)。
    2. kql – Kata + QEMU,由 Longhorn PVC 支持(持久化、可快照的磁盘)。
    3. k7d – Katakate 自己的基于 KVM 的 microVM 守护进程,提供磁盘和内存的 热 写时复制分支,约 5 毫秒。
    4. k7d-fc – k7d 与 Firecracker jailer 结合。
  • 功能 – VM 内 Docker、热分支、暂停/恢复、快照/恢复、多节点集群、可选的 Cilium + Hubble 网络策略,以及 REST API。
  • 客户端 – 一个 Debian/Ubuntu apt 包提供 CLI(k7)、自动部署的 API 服务,以及 Python SDK(k7-sdk)。

为什么?

  • 安全性 – 每个沙箱在自己的虚拟机中运行,消除了 Docker-in-Docker 的风险,并为不受信任的代码提供强大的隔离。
  • 可扩展性 – 专为高吞吐量的 AI 代理工作负载设计;热分支允许您在毫秒内克隆运行中的沙箱,实现大规模并行。
  • 灵活性 – 选择与您的硬件和持久性需求匹配的后端(临时 Firecracker、持久 Longhorn 或自定义 k7d 运行时)。
  • 开源 – Apache-2.0 许可证,通过 GitHub、文档和邮件地址提供社区支持。

谁适用?

  • AI 代理开发者,需要安全运行用户生成的代码。
  • 无服务器平台构建者,希望获得 AWS Fargate 的自托管替代方案。
  • CI/CD 团队,寻求无需 Docker-in-Docker 的加固运行器。
  • 区块链 / AI dApp 团队,需要为链上代码提供执行层。

快速入门快照

  1. 在 Ubuntu 节点上安装 CLI:sudo add-apt-repository ppa:katakate.org/k7 && sudo apt update && sudo apt install k7。
  2. 配置集群(选择后端):k7 install --backend kfd,kql,k7d --api-mode development。
  3. 使用简单的 k7.yaml 创建沙箱并运行:k7 create。
  4. 通过 CLI 交互(k7 exec、k7 fork、k7 snapshot)或 Python SDK。

成熟度与限制

  • 目前处于 beta 阶段,正在接受安全审查 – 不建议用于高度敏感的生产数据。
  • k7d 后端仅适用于 amd64/x86_64;其他后端支持 arm64。
  • 需要硬件虚拟化(KVM),对于 kfd 后端,还需要一个空闲的原始磁盘。

所有细节均直接取自仓库的 README。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目