@node9/proxy 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -1
- package/dist/cli.js +629 -202
- package/dist/cli.mjs +627 -200
- package/dist/index.js +4 -4
- package/dist/index.mjs +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
### The "Sudo" Command for AI Agents.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@node9/proxy)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://huggingface.co/spaces/Node9ai/node9-security-demo)
|
|
8
8
|
[](https://node9.ai/docs)
|
|
9
9
|
|
|
@@ -84,6 +84,24 @@ Wrap any MCP server transparently. The AI sees the same server — Node9 interce
|
|
|
84
84
|
|
|
85
85
|
Or use `node9 setup` — it wraps existing MCP servers automatically.
|
|
86
86
|
|
|
87
|
+
### MCP Tool Pinning — rug pull defense
|
|
88
|
+
|
|
89
|
+
MCP servers can change their tool definitions between sessions. A compromised or malicious server could silently add, remove, or modify tools after initial trust — a **rug pull** attack.
|
|
90
|
+
|
|
91
|
+
Node9 defends against this by **pinning** tool definitions on first use:
|
|
92
|
+
|
|
93
|
+
1. **First connection** — the gateway records a SHA-256 hash of all tool definitions
|
|
94
|
+
2. **Subsequent connections** — the hash is compared; if tools changed, the session is **quarantined** and all tool calls are blocked until a human reviews and approves the change
|
|
95
|
+
3. **Corrupt pin state** — fails closed (blocks), never silently re-trusts
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
node9 mcp pin list # show all pinned servers and hashes
|
|
99
|
+
node9 mcp pin update <serverKey> # remove pin, re-pin on next connection
|
|
100
|
+
node9 mcp pin reset # clear all pins (re-pin on next connection)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
This is automatic — no configuration needed. The gateway pins on first `tools/list` and enforces on every subsequent session.
|
|
104
|
+
|
|
87
105
|
---
|
|
88
106
|
|
|
89
107
|
## Python SDK — govern any Python agent
|