アップデート一覧に戻る
New releaseJul 25, 2026

node9-proxy v1.65.0

エージェンティック時代の実行セキュリティ層。自律型AIエージェントに対して、決定論的な "Sudo" ガバナンスと監査ログを提供します。

共有

🛡️ Node9

あなたのAIエージェントは実際に何をしたのか?それを知ることができます。

npm version monthly downloads License: Apache 2.0 Documentation OpenSSF Best Practices node9 self-scanned

Node9は、AIエージェントとそれが使用できるツールの間に位置します — エージェントがこれまでに行ってきたことを発見し、危険なアクションをリアルタイムで保護し、任意の期間にわたって何が起こったかをレビューします。

Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · あらゆるMCPサーバーに対応しています。

Node9の機能

  • 🔍 発見 — 過去のすべてのAIセッションをスキャンして、認証情報の漏洩、エージェントのループ、ブロックされた操作、そしてエージェントが今すぐ到達できるディスク上のすべてのシークレットを検出します
  • 🛡 保護 — 実行前に危険なコマンドをレビューまたはブロックします — rm -rfgit push --forceDROP TABLE、認証情報の読み取り、curl | bash、AWS/GitHub/Stripeキーの漏洩など
  • 📊 レビュー — 期間指定レポート(今日 / 週 / 月 / 90日)— エージェントごとのコスト、上位ツール、発動されたシールド、爆発半径

遡及スキャン

これは私自身のマシンです — Node9を開発中の90日間。スコア25/100、AIエージェントが今すぐ到達できる認証情報ファイルが5件あります。```bash npx node9-ai scan # before installation, runs in ~10s, nothing uploads node9 scan # after installation, same output

<p align="center">
  Node9 scan scorecard
</p>

## セキュリティ態勢スコアカード

`node9 posture` は、このマシンが侵害されたエージェントに対してどの程度露出しているか(分離、外部通信、ディスク上のシークレット、サプライチェーン、特権)を評価し、各検出結果を修正するための正確なコマンドを提示します。```bash
node9 posture          # scorecard with the #1 risk and a fix for every finding
node9 posture --ship   # send a redacted snapshot to your node9 dashboard (fleet view)

Findings are grouped by who can fix them: 🔒 the ones node9 reduces (just run the command) and 🧱 the ones only you can. Each carries a plain-language what / why / who and a real remediation — e.g. the "agent runs unsandboxed on the host" finding points straight at node9 sandbox run (below).```text 🛡️ Node9 Posture — agent on this host Score: 100/100 (Good) 2 advisories below don't affect the score — OS-level exposure, yours to weigh.

🟢 node9 is already protecting you ✅ Secrets node9 DLP is blocking this ✅ Egress node9 egress is approval-gating this ✅ Approval gate node9 is blocking this ✅ Privilege node9 is approval-gating this

🔒 node9 reduces these — run the command, the rest is yours ⚠️ Isolation Running directly on the host — no container The agent runs loose on your whole machine, not in a sandbox. → node9 sandbox run — jail it: kernel egress + scoped mounts + node9 inside → node9 shield enable project-jail — or shrink the blast radius, keep host access ⚠️ Network exposure 4 services on 0.0.0.0 (node :3000/:4000, PostgreSQL :5432, Redis :6379) Reachable from your whole network, not just this laptop. → node9 shield enable postgres|redis — node9 blocks DROP TABLE / FLUSHALL → bind to 127.0.0.1 / firewall the port (your part)

✅ Supply chain no issues found ✅ Coverage no issues found

Track this across your fleet & keep it green → node9.ai

## リポジトリのスキャン — agent-CI セキュリティ

`node9 scan-repo` は、任意のリポジトリ(またはローカルフォルダ)をチェックし、GitHub Actions に組み込まれた AI エージェントが**外部者に乗っ取られる**可能性のある経路を検出します — インジェクション可能なワークフロー、エージェントが到達可能なシークレット、ピン留めされていない MCP サーバー、過度に広範なエージェント設定、および改ざんされた指示ファイルなど。静的解析・パースのみで、コミットされた設定のみを読み取り、リポジトリのコードを実行することはありません。公開リポジトリの場合、インストールやトークンは不要です。```bash
npx node9-ai scan-repo <owner/repo>   # any public repo, no install
node9 scan-repo .                      # a local checkout — no network
node9 scan-repo <owner/repo> --json    # machine-readable

I need the actual content of chunk 9 to translate it. Please provide the Markdown text you want translated.```text 🛡️ node9 scan-repo · node9-ai/agent-security-demo · ⚠️ agent-security risk found inspected 2 config file(s), 2 finding(s)

🔴 CRITICAL Injectable agent workflow — untrusted input reaches a tool-using agent with secrets .github/workflows/vulnerable-example.yml · CI-2 • runs with base-repo secrets (pull_request_target) • checks out the untrusted PR head into the workspace root • allowed_non_write_users: "*" — any user can trigger the agent • no effective actor gate

🔴 CRITICAL Exfiltratable secrets reachable by an injectable agent .github/workflows/vulnerable-example.yml · CI-4 • agent has arbitrary shell (bare Bash) → can read env and exfiltrate

| チェック | フラグ対象                                                                 |
| -------- | ---------------------------------------------------------------------------- |
| **CI-1** | 広範なツールを事前承認する、またはリモートフックを実行するコミット済みエージェント設定 |
| **CI-2** | 注入可能なエージェントワークフロー — 外部者がエージェントを起動して乗っ取れる |
| **CI-3** | ピン留めされていない / `@latest` の MCP サーバー、またはインライン資格情報(サプライチェーン) |
| **CI-4** | 注入されたエージェントが外部に持ち出せるシークレット |
| **CI-6** | `CLAUDE.md` / `AGENTS.md` / スキル内の悪意ある、または危険な指示 |

**すべての PR をゲート** — GitHub Action と同じエンジンを使用するため、乗っ取り可能な設定がマージされるのを防ぎます。```yaml
# .github/workflows/agent-security.yml
- uses: node9-ai/node9-proxy@v2
  with:
    fail-on: high # or 'never' to just comment

Marketplace: node9 Agent Security

実行していますか?READMEに scanned by node9 バッジ を追加してください。

ライブモニタリング

Node9 monitor dashboard

node9 monitor は、2つのビューを持つ対話型ターミナルダッシュボードを開きます:

  • [1] リアルタイム — ライブアクティビティ、承認、セキュリティアラート、現在のリスクスコア
  • [2] レポート — 期間ウィンドウ集計:コスト、上位ツール、発動したシールド、ブラスト半径

レポート

モニターで [2] を押すと、期間ウィンドウの集計が表示されます。ウィンドウは [T]oday[W]eek[M]onth[N]inety で切り替えられます — 上記のスキャンと同じパネルで、インストール後の監査ログに基づいて表示されます。

Node9 monitor [2] Report

```bash node9 monitor # press [2] for Report view node9 report --period 7d # CLI form, no TUI ``` ## インストール```bash # macOS / Linux brew tap node9-ai/node9 && brew install node9

or via npm (any platform)

npm install -g node9-ai

翻訳対象のMarkdownコンテンツが提供されていません。内容を貼り付けてください。```bash
node9 init       # auto-wires all detected agents + MCP servers
node9 login      # connect this machine to your workspace (approve it in the browser)
node9 doctor     # verify everything is wired and reporting

Node.js 18+ が必要です。

init 単体で、完全なローカル強制が有効になります。ルール、シールド、DLP、承認はすべてこのマシン上でオフラインで動作します。

login は、マシンをダッシュボードに登録するものです。コードを表示し、ブラウザを開き、そこでマシンを承認します。アカウントをまだ持っていない場合、フロー途中でのサインアップ後も、コードが保持されたまま同じ承認画面に戻ります。これを実行するまでは、すべてがローカルで強制されますが、Mission Control には何も届かないため、ダッシュボードは空のままです。

node9 logout はマシンの接続を再度解除します。そのマシンのキーを失効させます。ローカル強制は引き続き実行されます。

シールド — キュレーションされたルールパック

各シールドは、サービスまたはドメイン向けにキュレーションされたルールセットです。必要なものだけを有効にしてください。

シールド検出内容有効化コマンド
project-jailBash および Read ツールによる ~/.ssh~/.aws.env、認証情報の読み取りをブロックnode9 shield enable project-jail
bash-safecurl | bashrm -rf /、ディスク上書き、リモートの evalnode9 shield enable bash-safe
postgresDROP TABLETRUNCATEDROP COLUMNWHERE なしの DELETEnode9 shield enable postgres
mongodbdropDatabasedrop()deleteMany({})、インデックス削除node9 shield enable mongodb
redis稼働中サーバーでの FLUSHALLFLUSHDBCONFIG SETnode9 shield enable redis
awsS3 削除、EC2 終了、IAM 変更、RDS 破棄node9 shield enable aws
k8s名前空間削除、helm uninstall、クラスターロールの全削除node9 shield enable k8s
dockersystem prunevolume prunerm -f コンテナnode9 shield enable docker
githubgh repo delete、リモートブランチ削除、設定変更node9 shield enable github
filesystemchmod 777/etc//boot//usr/ 配下への書き込みnode9 shield enable filesystem
mcp-tool-gating未承認の MCP ツールが新しい機能を静かに有効化することnode9 shield enable mcp-tool-gating
node9 shield list # show all shields + status
## 常時有効 — 設定不要

- **Git** — `git push --force`、`git reset --hard`、`git clean -fd` を検出
- **SQL** — `WHERE` 句のない `DELETE` / `UPDATE`、`DROP TABLE`、`TRUNCATE` を検出
- **Shell** — `curl | bash`、不正な `sudo` を検出
- **DLP** — あらゆるツール引数、ファイル内容、シェル設定(`~/.zshrc`、`~/.bashrc`)内の AWS キー、GitHub トークン、Stripe キー、PEM 秘密鍵をフラグ付け
- **Response DLP** — バックグラウンドスキャナーが Claude の会話履歴を読み取り、Claude が応答テキスト内に秘密情報を_書き込んだ_場合に警告
- **Skills pinning** — セッション間でのインストール済み Claude skills / プラグインの SHA-256 検証

## レビュープロンプト — エージェント内でインライン承認

node9 がアクションを**レビュー**用にフラグ付けした場合(例:`git push --force`、`DROP TABLE`)、承認/拒否プロンプトは**エージェントの会話内にインラインで**表示されます — セッションの凍結なし、別ターミナルなし、フックタイムアウトの競合なし。node9 は引き続き完全な評価器を実行して判断を下します。プロンプトの_表示面_だけがエージェントに移動するのです。

- **Claude Code** と **GitHub Copilot CLI** では**デフォルトで有効** — フック契約がネイティブな `ask` をサポートするエージェントです。他のすべてのエージェント(Codex、Gemini、Antigravity、Hermes、Cursor、OpenCode、Pi)は node9 独自の承認者を使用します。
- **制御方法** — `~/.node9/config.json` の `reviewChannel`(またはフック上の `--no-ask`)で設定:```jsonc
{
  "settings": {
    "reviewChannel": "ask", // "ask" = inline agent prompt (default) | "approver" = node9's own approver
  },
}
  • チーム設定: クラウド/チーム承認者が設定されている場合(approvers.cloud: true)、レビューはその承認者にルーティングされます — node9はインラインの自己承認がルーティング/セカンドパーティ承認をバイパスすることを許可しません。

サンドボックス — エージェントを隔離環境で実行

監視だけでは不十分な場合、node9 sandbox はエージェントを使い捨てコンテナ内で実行し、カーネル強制のエグレス許可リストスコープ付きマウント を適用します — その間、node9のフックがボックス内のすべてのツール呼び出しを統制し監査します。保護のハードバージョン: エージェントはマウントしたフォルダにのみ触れ、許可したホストにのみ到達できます。それ以外はすべてカーネルレベルで遮断されます。```bash cd ~/my-project node9 sandbox new # write node9.sandbox.yaml — what to mount + which hosts to allow node9 sandbox run # build + boot the jailed agent (your project at /workspace) node9 sandbox tail # watch the agent's actions live, from the host

- **使い捨て** — コンテナは終了時に破棄されます。プロジェクトの編集内容は実際のディスクに保存され、それ以外は何も残りません。
- **同じポリシー** — 既存のシールド / イグレスルール / 承認がボックス内でも適用され、同じ監査ログとダッシュボードにストリーミングされます。
- **ポスチャのループを閉じる** — 実行すると、Isolation / Egress の検出結果がグリーンに変わります。

正直なスコープ(フェーズ 1):単一コンテナ、**Claude が優先**(次に Codex)。エージェントはボックス内で _独自の_ 認証情報を保持したままです(イグレスウォールが許可ホストに制限します)— _"エージェントが秘密を保持しない"_ はロードマップ上の認証情報ブローカーフェーズです。Docker が必要です。

## MCP ゲートウェイ

任意の MCP サーバーを透過的にラップします。エージェントは同じサーバーを認識します — Node9 がすべてのツール呼び出しをインターセプトします。```json
{
  "mcpServers": {
    "postgres": {
      "command": "node9",
      "args": ["mcp", "--upstream", "npx -y @modelcontextprotocol/server-postgres postgresql://..."]
    }
  }
}

または、node9 init を実行するだけです — 既存のMCPサーバーを自動的にラップします。

🔐 MCPツールのピン留め — ラグプル対策

MCPサーバーはセッション間でツール定義を変更できます。侵害された、または悪意のあるサーバーは、最初に信頼した後にツールを静かに追加、削除、または変更する可能性があります — これがラグプル攻撃です。

Node9は初回使用時にツール定義をピン留めします:

  1. 最初の接続 — ゲートウェイが各ツールの名前、説明、スキーマのSHA-256ハッシュを記録します
  2. 以降の接続 — ハッシュが比較され、ツールが変更されていた場合、セッションは隔離され、人間が変更を確認して承認するまで、すべてのツール呼び出しがブロックされます
  3. ピン状態の破損 — フェイルクローズ(ブロック)し、静かに再信頼することはありません```bash node9 mcp pin list # show all pinned servers and hashes node9 mcp pin update # remove pin, re-pin on next connection node9 mcp pin reset # clear all pins
</details>

## その他のコマンド

上記の3つのフローコマンド(`scan` / `monitor` / `report`)に加えて:

| コマンド          | 表示内容                                             | 使用タイミング                             |
| ---------------- | --------------------------------------------------------- | --------------------------------------- |
| `node9 blast`    | AIエージェントが今すぐ到達できるもの — ファイル、認証情報、環境変数  | どのマシンでも最初に実行するもの       |
| `node9 tail`     | すべてのツール呼び出しのライブストリーム(テキストのみ、TUIなし)        | 他のツールへのパイプ、CI、ログ       |
| `node9 sessions` | プロンプト、ツールトレース、コストを含むセッション履歴         | 引き継ぎや過去の作業の確認        |
| `node9 dlp`      | Claudeの応答テキスト内の認証情報漏洩の検出結果      | DLPデスクトップアラートが発火したとき      |
| `node9 mask`     | ローカルのセッション履歴ファイルから平文のシークレットを編集 | DLP検出後 — ローカルディスクをクリーンアップ |

さらに、Claude Codeのステータスラインに**ライブHUD**があります:```
🛡 node9 | standard | [bash-safe] | ✅ 12 allowed  🛑 2 blocked  🚨 0 dlp | ~$0.43
📊 claude-opus-4-7 | ctx [████████░░░] 54% | 5h [██░░░░░░░░] 12% | 7d [█░░░░░░░] 7%
🗂 2 CLAUDE.md | 8 rules | 3 MCPs | 4 hooks

データの読み方 — 数値が意味すること

Node9はシグナルを浮き彫りにします。知っておく価値のあるパターンは以下のとおりです:

シグナル考えられる意味
1週間でWould have blockedが5件以上エージェントが高影響度の操作を試みています。シールドの見直しを検討すべきです
単一のreview-git-pushルールが検出結果の50%超自身のルールが意図どおりに発動しています。リスクではなく、単なる監視です
user-promptツールでのDLP検出自身のプロンプトにシークレットを貼り付けてしまいました。キーをローテーションしてください
同じファイルでAgent Loopが50回以上エージェントが編集/テスト/修正サイクルで行き詰まっています。コンテキストを確認するか、速度を落としてください
MCPツールのピン不一致サーバーがツールを変更しました。再信頼する前に確認してください
大規模なMCPレスポンス警告そのサーバーが以降のすべてのターンでコンテキストウィンドウを膨張させています
Response DLPアラートClaudeがレスポンステキストにシークレットを書き込みました。ブロックされていません。直ちにローテーションしてください
tool-resultでのDLP検出Claudeがシークレットを含むファイル(.env、認証情報)を読み取りました。キーをローテーションし、node9 maskを実行してください
[Shell]でのDLP検出~/.zshrcまたは~/.bashrcに平文のシークレットがあります。すべてのAIセッションがそれを閲覧できます

一度きりのシグナルは正常です。持続的なパターンこそが対処すべき対象です。

Python SDK — あらゆるPythonエージェントを統制する```python

from node9 import configure, protect

configure(agent_name="my-agent", policy="require_approval")

@protect("bash") def run_command(cmd: str) -> str: ...

**[Python SDK →](https://github.com/node9-ai/node9-python)** · **[CIコードレビューエージェントの例 →](https://github.com/node9-ai/node9-pr-agent)**

## 内部構造

- **Scan** は `~/.claude/projects/`、`~/.gemini/tmp/`、`~/.gemini/antigravity-*/brain/`、`~/.copilot/session-state/`、`~/.codex/sessions/` から生のエージェント履歴を読み取ります — API呼び出しなし、完全オフライン
- **Runtime** は実行前フック(Claude Code、Codex、Antigravity、GitHub Copilot CLI、Gemini CLI、Opencode、Pi)またはMCPゲートウェイ(Cursor、Windsurf、VSCode、Claude Desktop)を介してツール呼び出しをインターセプトします。すべての決定は `~/.node9/audit.log` にアトミックに記録されます。
- **MCPゲートウェイ** はstdioプロキシです。`tools/list` と `tools/call` のJSON-RPCをインターセプトし、残りは転送します
- **ポリシーエンジン** はbash AST解析に [mvdan-sh](https://github.com/mvdan/sh) を使用します — バックスラッシュエスケープ、変数置換、リモートダウンロードのevalによる難読化を無効化します
- **サンドボックス** は、デフォルト拒否の `ipset`/`iptables` イグレス壁を封じるDockerfileとエントリポイントを生成し、その後node9のデーモンとフックを内部で実行する非rootエージェントに降格します。マウントされるのはエージェントの認証情報ファイルのみで、`~/.claude` 全体がマウントされることはありません

## 完全なドキュメント

設定リファレンス、スマートルール、ステートフルルール、信頼済みホスト、承認モード、CLIリファレンス — **[node9.ai/docs](https://node9.ai/docs)** にあります。

## 関連プロジェクト

- **[node9-python](https://github.com/node9-ai/node9-python)** — Python SDK
- **[node9-pr-agent](https://github.com/node9-ai/node9-pr-agent)** — Node9を通じてPRをレビューするGitHub Action

## エンタープライズ

**Node9 Pro** は、ガバナンスロック、SAML/SSO、中央監査エクスポート、VPCデプロイを追加します。[node9.ai](https://node9.ai) を参照してください。

## ライセンス

Apache-2.0

<p align="center">
  <sub>☕ と健全なパラノイアで作られています。</sub>
</p>

カテゴリ