Greywall CLI

Песочница для ИИ-агентов на Linux и macOS без контейнеров: файлы, сеть и системные вызовы закрыты, пока вы не откроете их явно

  • 313 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

Расширенный доступ

Почему такой уровень

  • Инструмент управляет сетевым прокси и правилами ядра: неверный профиль откроет агенту лишний доступ.
  • Скрипт установки загружается с GitHub и запускается через `sh`.
Все причины и проверки

greyhavenhq/greywall

Установка

Ручная установка

brew tap greyhavenhq/tap && brew install greywall

Первый вариант из README для macOS: Homebrew также ставит greyproxy.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Инструмент управляет сетевым прокси и правилами ядра: неверный профиль откроет агенту лишний доступ.
  • Скрипт установки загружается с GitHub и запускается через `sh`.

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Greywall запускает Claude Code, Cursor, Codex и другие агенты внутри песочницы с запретом по умолчанию. Доступна только рабочая папка, а сеть идет через прокси greyproxy с панелью, где видно, что разрешено и что отклонено. Правила блокируют опасные команды вроде `rm -rf /` и `git push --force`. Режим `--learning` записывает, к каким файлам обращается команда, и собирает профиль с минимальными правами. Для наблюдения без запретов есть `greywatch`: он пропускает весь трафик, но показывает его на панели. Готовые профили есть для популярных агентов и языков.

Для кого. Разработчикам, которые запускают кодовых агентов на своей машине и не хотят отдавать им SSH-ключи, `.env` и домашнюю папку.

Подходит, если

  • Агент правит код в одном репозитории и не должен видеть `~/.ssh` и `.env`.
  • Новый агент впервые работает с проектом, и его сетевые запросы надо посмотреть на панели.
  • Профиль доступа для инструмента собирают по факту запуска через `--learning`.
  • Для Claude Code и Codex закрывают `git push` и `npm publish` списком запрещенных команд.

Не подходит, если

  • Среда уже изолирована контейнером или виртуальной машиной, и вторая песочница ничего не добавит.
  • Нужен прозрачный перехват всего трафика на macOS: там он не поддерживается.
  • Агенту нужны секреты из домашней папки: профиль придется расширять вручную.

Пример запроса к агенту

Запусти `claude` через `greywall` с профилем `claude,python` и покажи, к каким путям и адресам он обращался.

Ограничения

На Linux обязательны `bubblewrap` и `socat`. На macOS нет прозрачного перехвата трафика и DNS, сеть идет через переменные окружения прокси. Режим `--learning` на macOS использует `eslogger` и требует `sudo`. Встроенные профили стоит просмотреть до первого запуска: Greywall показывает их, и профиль можно применить, изменить или пропустить. Режим `greywatch` ничего не запрещает и годится только для наблюдения.

Как отключить. Запускайте агента без префикса `greywall --`. Чтобы убрать инструмент, удалите бинарные файлы `greywall` и `greywatch` и профили в `~/.config/greywall/` (на macOS в `~/Library/Application Support/greywall/`).

Частые вопросы

Как запустить агента в песочнице?

Поставьте `greywall --` перед командой, например `greywall -- claude`. При первом запуске Greywall покажет встроенный профиль агента, который можно применить, изменить или пропустить.

Чем `greywatch` отличается от `greywall`?

`greywatch` ничего не блокирует: сеть открыта, файловая система широкая, но весь трафик виден на панели greyproxy. `greywall` закрывает все по умолчанию.

Как собрать профиль под свою команду?

Запустите `greywall --learning -- opencode`, подставив свою команду. Greywall проследит за обращениями к файлам, и следующий запуск подхватит созданный профиль; список показывает `greywall profiles list`.

Для каких агентов есть готовые профили?

Для Claude Code, Codex, Cursor, Aider, Goose, Gemini CLI, OpenCode, Amp, Cline, Copilot, Kilo, Auggie и Droid, а также для Node, Python, Go, Rust, Java, Ruby и Docker.

Что нужно для работы на Linux?

Обязательны `bubblewrap` и `socat`, по желанию `xdg-dbus-proxy` и `libsecret-tools`. Состояние зависимостей и защитных функций показывает `greywall check`.

Обсуждение

Вопросов и отзывов пока нет.

Команда safehouse запускает Claude Code, Codex и другие агенты в песочнице macOS: файлы закрыты по умолчанию, нужные папки открываются флагами

CLIРасширенный доступ2,1 тыс.Звезды репозитория

Claude Code, Codex, OpenCode и pi работают в усиленном контейнере: файлы только проекта, сеть по белому списку, ключи в прокси.

CLIШирокий доступ130Звезды репозитория

Слой контроля для автономных агентов: политики на действия, очередь ревью, точки отката и аудит конфигурации Claude Code и Codex.

CLIРасширенный доступ125Звезды репозитория

CLI-песочница для AI-агентов без контейнеров и демонов: запускает Claude Code, Codex или OpenCode с ограниченным доступом к файлам, сети и учетным данным

CLIРасширенный доступ4,9 тыс.Звезды репозитория

Локальный страж для кодовых агентов: блокирует запись секретов и принудительный пуш в main, предупреждает об опасных командах.

CLIРасширенный доступ126Звезды репозитория

Контроль доступа для агентов: правила, что можно делать Claude Code, Codex, Cursor и MCP-серверам, разбор рискованных действий до запуска и общий журнал

CLIРасширенный доступ225Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Greywall (эта карточка)нет313
Fenceда1 013Greywall выросла из Fence: добавляет прокси greyproxy с панелью, режим обучения профилей и наблюдающий `greywatch`
Agent Safehouseнет2 136работает только на macOS через `sandbox-exec`; Greywall покрывает Linux и macOS и показывает сетевые запросы на панели

Коротко о README

Работает в двух режимах: запрещающая песочница `greywall` и наблюдающий слой `greywatch`. Оба направляют трафик через greyproxy. Конфигурация лежит в `greywall.json`: сеть, файловая система и запрещенные команды.

Бейдж для README

Сообщить о проблеме

Foxx AIGreywall
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.