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;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案