Hasty Briefsbeta

双语

Using Microvm.nix to Sandbox OpenClaw

3 months ago
  • #sandboxing
  • #networking
  • #virtualisation
  • 尽管作者对Clawdbot、Moltbot或Openclaw并不热衷,但为了契合2026年社区主题,仍参与了'搭建Openclaw'的线上交流活动。
  • 2026年的目标是探索轻量级虚拟化和沙箱技术,尽管Openclaw存在大量CVE漏洞,仍将其作为测试对象。
  • 具体目标包括:以声明式方式限制可执行文件的访问权限和修改操作,并控制其网络流量。
  • Microvm.nix被引入作为解决方案,具有轻量级虚拟化、通过virtiofs共享Nix存储库、快速启动等低开销特性。
  • 共享的microvm-base.nix配置文件在作者团队中统一了虚拟机设置标准,包括网络配置和virtiofs共享。
  • 主机配置包含为microVM的TAP接口搭建网桥,并对公网接口流量进行NAT伪装。
  • 通过virtiofs将Openclaw所需密钥(Telegram机器人令牌、OpenRouter API密钥、网关认证令牌)挂载到虚拟机内。
  • OpenClaw虚拟机通过Home Manager运行,配置包含网关模式、Telegram频道设置和模型偏好等参数。
  • 网络监控方案从近乎物理隔离的设计演变为允许完整互联网访问,同时记录DNS查询和新连接日志。
  • 分别使用Unbound和nftables实现DNS查询记录和连接日志记录,用以监控虚拟机活动。
  • 遇到的挑战包括:Node.js需要AF_NETLINK进行网络接口查询,以及为满足Openclaw的状态写入需求调整ProtectHome设置。
  • 作者总结此次活动是虚拟化和网络领域的宝贵学习经验,不过仍不太可能实际使用Openclaw。