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。
- 隔离后端 – 四种选项:
- kfd – Kata + Firecracker,使用 devmapper 精简池(快速启动,攻击面最小)。
- kql – Kata + QEMU,由 Longhorn PVC 支持(持久化、可快照的磁盘)。
- k7d – Katakate 自己的基于 KVM 的 microVM 守护进程,提供磁盘和内存的 热 写时复制分支,约 5 毫秒。
- 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 团队,需要为链上代码提供执行层。
快速入门快照
- 在 Ubuntu 节点上安装 CLI:
sudo add-apt-repository ppa:katakate.org/k7 && sudo apt update && sudo apt install k7。 - 配置集群(选择后端):
k7 install --backend kfd,kql,k7d --api-mode development。 - 使用简单的
k7.yaml创建沙箱并运行:k7 create。 - 通过 CLI 交互(
k7 exec、k7 fork、k7 snapshot)或 Python SDK。
成熟度与限制
- 目前处于 beta 阶段,正在接受安全审查 – 不建议用于高度敏感的生产数据。
k7d后端仅适用于 amd64/x86_64;其他后端支持 arm64。- 需要硬件虚拟化(KVM),对于
kfd后端,还需要一个空闲的原始磁盘。
所有细节均直接取自仓库的 README。
相关
- 项目
- 项目
- Dispatch
- 项目
- 项目