Agent Skills
返回列表
🤖

Matchlock 微虚拟机沙箱运行代理

AI Agent 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/run-agents-in-disposable-microvm-sandboxes-with-network-allowlists-and-secret-injection-using-matchlock。

技能介绍

为什么需要沙箱化运行代理

AI 代理需要执行代码、读写文件、发起网络请求。如果直接在宿主机上运行,一次错误的权限设置、一个被投毒的依赖包,或者代理被诱导发出的任意请求,都可能造成实际损害。把代理放进普通容器虽然方便,但共享内核意味着隔离并不彻底。

这个技能做了什么

Matchlock 把代理放进一次性微虚拟机中运行:

  • 完整 Linux 环境:代理拿到的是功能完整的系统,而不是精简容器,可以直接运行任意命令和工具链。
  • 秒级启动与销毁:微虚拟机启动时间在一秒以内,任务结束后整个环境被丢弃,不留残余状态。
  • 网络出口管控:通过 --allow-host 参数显式声明允许访问的域名,未列入白名单的出站请求被拒绝,出口处于封闭状态。
  • 密钥注入:通过 --secret 参数按 变量名@域名 的形式把宿主机侧的密钥注入沙箱,代理无需接触宿主机的环境变量或配置文件。

使用流程大致是:准备代理镜像或启动命令,用 matchlock run 指定镜像、网络白名单与密钥,其余工作由 CLI 完成。

适用边界与注意点

这套方案依赖硬件虚拟化,目前要求 Linux 宿主机且支持 KVM。运行前需要确认四项前置条件:本地 shell、Matchlock CLI、虚拟化支持和代理镜像。镜像需通过 docker save 导出的 tar 包导入。它解决的是执行阶段的隔离与出口控制,并不替代对代理行为本身的审计——白名单内域名的调用内容仍需自行审查。

使用场景

  • 把第三方开源代理脚本放进隔离环境试跑,防止它读写宿主机文件
  • 代理需要调用付费 API 且只能用特定域名,希望在封闭网络下运行
  • 编写会抓取外部网页的爬虫代理,想在用完即毁的环境里验证逻辑
  • 调试可能发出任意请求的模型工具,想让沙箱只允许访问白名单域名

适合人员

  • 负责评估外部 AI 代理安全性的工程师,想在不接触生产主机的前提下试运行脚本
  • 需要调用付费大模型 API 的开发者,希望密钥只注入沙箱而非留在本地配置
  • 维护公司内部自动化脚本的运维人员,想在隔离环境中验证会联网的自动化任务
  • 研究多代理协作的学生或研究者,需要频繁创建和销毁干净的实验环境