Песочница для недоверенного кода: тест smolvm через GitHub Actions¶
4.0/10
Контекст¶
Саймон Уиллисон описывает попытку проверить, можно ли использовать smolmachines.com как быструю и безопасную песочницу для выполнения недоверенного Python и JavaScript кода. Цель — ограничить потребление RAM и CPU (защита от «while true»), запретить сетевой доступ и разрешить работу только с определёнными файлами, чтобы выполнять пользовательские задачи вроде преобразования данных. Однако среда Claude Code for web, где работал агент, не поддерживала запуск smolvm из-за отсутствия вложенной виртуализации.
Суть¶
Агент Claude Fable 5, работающий в Claude Code for web, быстро обнаружил ограничение: контейнер с Linux 6.18.5-fc-v20 (сам гость Firecracker) имел 4 vCPU и 15 ГБ RAM, но не имел /dev/kvm и флагов vmx/svm, поэтому smolvm не запускался с ошибкой «kvm not available». Вместо того чтобы сдаться, агент применил план Б: использовал GitHub Actions ubuntu-раннеры, которые предоставляют /dev/kvm, установил smolvm и запустил тесты прямо в раннере против ветки, собрав логи и удалив workflow из финального коммита. Это позволило обойти ограничения среды и провести реальную проверку инструмента, хотя автор не приводит деталей о функциях, модели безопасности или результатах тестов.
Вывод¶
Главный вывод Уиллисона — не о самой песочнице, а о настойчивости агента: Fable проявил творческий подход, найдя обходной путь через GitHub Actions, что демонстрирует его способность решать проблемы, выходящие за рамки стандартных инструкций. Однако техническая ценность поста ограничена: он не дает анализа возможностей smolvm или практических рекомендаций.