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 计算的自托管安全 VM 沙箱

简介

  • 一个开源平台(Apache-2.0),允许您大规模启动轻量级、隔离的虚拟机沙箱。它主要面向需要安全运行任意代码的 AI 智能体,但也可用于自定义无服务器工作负载、加固的 CI/CD 运行器或区块链执行层。

关键组件

组件 角色
Kubernetes (K3s) 在一个或多个节点上编排沙箱。
Kata Containers 将容器转换为小型 VM 以实现强隔离。
Firecracker 超快微型 VM 启动(通过 kfd 后端使用)。
QEMU 全功能 VM 选项(kql 后端),支持 Longhorn 后端磁盘。
Longhorn 用于基于 QEMU 的沙箱的复制 PVC 存储,支持快照和跨节点移动。
k7d Katakate 自有的微型 VM 运行时守护进程,提供基于自定义 KVM 的 VMM,支持超快的写时复制(CoW)分叉(约 5 毫秒)。
Devmapper thin-pool 用于 Firecracker 后端的块设备高效存储。
Cilium(可选) 网络策略执行和可选的 Hubble 可观测性。

后端 – 在安装或创建沙箱时选择其中一个:

  • kfd – Kata + Firecracker + devmapper(快速启动,无持久存储)。
  • kql – Kata + QEMU + Longhorn(持久化、可快照的磁盘)。
  • k7d – Katakate 自定义 KVM 运行时(快速 CoW 分叉,支持 VM 内 Docker)。
  • k7d-fck7d 加上 Firecracker 隔离器。

性能亮点(Hetzner AX41 节点上的中位数):

  • 创建 → 就绪k7d/k7d-fc 为 2.1 秒,kql 为 17.1 秒。
  • 热分叉(磁盘 + 内存 CoW):VMM 级别约 5 毫秒,k7d 端到端约 2 秒。
  • 暂停 / 恢复k7d(保留内存)不到 1 秒,kql 几秒。

交互方式

  • CLI (k7) – 可通过 APT 包安装(apt install k7)。命令包括 installcreatelistdeleteforkpausesnapshot 以及 API 控制(api enable/disable)。
  • HTTP API – 自动部署为集群上的 k7-api 服务(默认 NodePort 31007)。TLS 使用自签名 CA 设置;您可以插入真实证书或通过 Caddy 边车使用 Let’s Encrypt。
  • Python SDK (k7-sdk) – 可通过 pip 安装的客户端,支持同步或异步使用。它镜像了 CLI 的操作(createexecforklistdelete)。

典型工作流

  1. 准备节点 – Ubuntu 24.04、KVM 访问权限、用于 thin-pool 的备用原始磁盘、Ansible、Docker。
  2. 运行 k7 install --backend kfd,kql,k7d – 剧本将配置 K3s、Kata、Firecracker、QEMU、Longhorn 和 k7d 守护进程。
  3. 配置 CLI – 复制生成的 CA 证书,设置 API URL 和密钥。
  4. 创建沙箱 – 提供 k7.yaml(镜像、资源、可选的出口白名单、前置脚本、环境文件)并运行 k7 create
  5. 执行代码k7 exec <sandbox> -- '<cmd>' 或使用 SDK 的 exec 方法。
  6. 分叉 / 快照 – 用于快速分支的热 CoW 分叉(k7 fork),或使用 QEMU 后端进行仅磁盘快照。

安全态势

  • 每个沙箱都在硬件隔离的 VM(Kata 或自定义 k7d)中运行。
  • Firecracker 沙箱进一步受到 chroot 隔离;Kata 默认应用 seccomp 并丢弃所有 Linux 能力。
  • 网络出口可以按沙箱进行白名单设置;可选的 Cilium 策略增加另一层保护。
  • 该平台处于测试版并正在进行安全审查——对于高度敏感的工作负载请谨慎使用。

路线图亮点(来自 ROADMAP.md

  • 支持 ML 工作负载的 GPU 直通。
  • k7d-fc 后端的高可用(HA)模式。
  • 更细粒度的策略工具和可观测性集成。

潜在用户

  • 需要安全运行不受信任代码的 AI 智能体开发者(例如 LangChain ReAct)。
  • 构建不依赖云提供商的私有无服务器平台的团队。
  • 需要避免 Docker-in-Docker 风险的加固 CI/CD 运行器的组织。
  • 需要 AI 驱动 dApp 执行层的区块链项目。

以上所有细节均直接取自仓库的 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目