
node9-proxy v1.65.1
एजेंटिक युग के लिए निष्पादन सुरक्षा परत। स्वायत्त AI एजेंटों के लिए नियतात्मक "Sudo" शासन और ऑडिट लॉग प्रदान करना।
🛡️ Node9
आपके AI एजेंट ने वास्तव में क्या किया? जानें।
Node9 आपके AI एजेंट और उसके द्वारा उपयोग किए जा सकने वाले टूल्स के बीच स्थित है — पता लगाएँ कि वह पहले से क्या कर रहा है, वास्तविक समय में जोखिम भरे कार्यों से सुरक्षा करें, और किसी भी समय अवधि में जो हुआ उसकी समीक्षा करें।
इसके साथ काम करता है: Claude Code · Codex CLI · Antigravity (agy) · GitHub Copilot CLI · Gemini CLI · Cursor · Windsurf · VSCode · Claude Desktop · Opencode · Pi · Hermes Agent · कोई भी MCP सर्वर।
Node9 क्या करता है
- 🔍 Discover — हर पिछले AI सत्र को क्रेडेंशियल लीक, एजेंट लूप्स, ब्लॉक किए गए ऑपरेशन और डिस्क पर मौजूद हर उस सीक्रेट के लिए स्कैन करें जिसे एजेंट अभी एक्सेस कर सकता है
- 🛡 Protect — जोखिम भरे कमांड्स को चलने से पहले समीक्षा करें या ब्लॉक करें —
rm -rf,git push --force,DROP TABLE, क्रेडेंशियल रीड्स,curl | bash, AWS/GitHub/Stripe कुंजी लीक - 📊 Review — अवधि-आधारित रिपोर्ट (आज / सप्ताह / माह / 90 दिन) — प्रति एजेंट लागत, शीर्ष टूल्स, फायर किए गए शील्ड्स, ब्लास्ट रेडियस
पूर्वव्यापी स्कैन
यह मेरी अपनी मशीन है — Node9 बनाते समय 90 दिन। स्कोर 25/100, 5 क्रेडेंशियल फ़ाइलें जिन्हें एक AI एजेंट अभी एक्सेस कर सकता है।
npx node9-ai scan # before installation, runs in ~10s, nothing uploads
node9 scan # after installation, same output
Node9 scan scorecard
सुरक्षा स्थिति स्कोरकार्ड
node9 posture आकलन करता है कि यह मशीन किसी समझौता किए गए एजेंट के प्रति कितनी उजागर है — आइसोलेशन, ईग्रेस, डिस्क पर सीक्रेट्स, सप्लाई चेन, प्रिविलेज — और प्रत्येक निष्कर्ष को ठीक करने के लिए सटीक कमांड आपको सौंपता है।
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)
निष्कर्षों को उन्हें कौन ठीक कर सकता है के आधार पर समूहीकृत किया गया है: 🔒 वे जिन्हें node9 कम करता है (बस कमांड चलाएँ) और 🧱 वे जिन्हें केवल आप ही ठीक कर सकते हैं। प्रत्येक निष्कर्ष में सरल भाषा में what / why / who और एक वास्तविक उपचार होता है — जैसे "agent runs unsandboxed on the host" निष्कर्ष सीधे node9 sandbox run (नीचे) की ओर इशारा करता है।
🛡️ 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 <agent> — 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
रिपॉजिटरी स्कैन करें — एजेंट-CI सुरक्षा
node9 scan-repo किसी भी रिपॉजिटरी (या स्थानीय फ़ोल्डर) की जाँच करता है कि GitHub Actions से जुड़ा AI एजेंट किन तरीकों से किसी बाहरी व्यक्ति द्वारा हाइजैक किया जा सकता है — इंजेक्टेबल वर्कफ़्लो, एजेंट-सुलभ सीक्रेट्स, अनपिन किए गए MCP सर्वर, अत्यधिक व्यापक एजेंट कॉन्फ़िग और ज़हरीली निर्देश फ़ाइलें। स्थिर और केवल-पार्स: यह केवल कमिटेड कॉन्फ़िग पढ़ता है, रिपॉजिटरी कोड कभी नहीं चलाता। सार्वजनिक रिपॉजिटरी के लिए कोई इंस्टॉल या टोकन आवश्यक नहीं।
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
🛡️ 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
यह क्या जाँचता है:
| Check | Flags |
|---|---|
| CI-1 | कमिटेड एजेंट कॉन्फ़िग जो व्यापक टूल्स को पूर्व-अधिकृत करता है या रिमोट हुक चलाता है |
| CI-2 | इंजेक्टेबल एजेंट वर्कफ़्लो — कोई बाहरी व्यक्ति एजेंट को ट्रिगर करके हाइजैक कर सकता है |
| CI-3 | अनपिन / @latest MCP सर्वर या इनलाइन क्रेडेंशियल्स (सप्लाई चेन) |
| CI-4 | वे सीक्रेट्स जिन्हें इंजेक्ट किया गया एजेंट एक्सफिल्ट्रेट कर सकता है |
| CI-6 | CLAUDE.md / AGENTS.md / स्किल्स में ज़हरीले या खतरनाक निर्देश |
हर PR को गेट करें — GitHub Action के समान इंजन, ताकि हाइजैक करने योग्य कॉन्फ़िग मर्ज न हो सके:
# .github/workflows/agent-security.yml
- uses: node9-ai/agent-security-action@v1
with:
fail-on: high # or 'never' to just comment
मार्केटप्लेस: node9 Agent Security Check
लाइव मॉनिटरिंग
Node9 monitor dashboard
node9 monitor दो व्यू के साथ एक इंटरैक्टिव टर्मिनल डैशबोर्ड खोलता है:
[1]Realtime — लाइव गतिविधि, अनुमोदन, सुरक्षा अलर्ट, वर्तमान जोखिम स्कोर[2]Report — अवधि-आधारित सारांश: लागत, शीर्ष टूल्स, फायर किए गए शील्ड्स, ब्लास्ट रेडियस
रिपोर्ट
अवधि-आधारित सारांश के लिए मॉनिटर में [2] दबाएँ। विंडो को [T]oday · [W]eek · [M]onth · [N]inety से टॉगल करें — ऊपर दिए गए स्कैन के समान पैनल, जो आपके पोस्ट-इंस्टॉल ऑडिट लॉग द्वारा संचालित हैं।
Node9 monitor [2] Report
node9 monitor # press [2] for Report view
node9 report --period 7d # CLI form, no TUI
इंस्टॉल
# macOS / Linux
brew tap node9-ai/node9 && brew install node9
# or via npm (any platform)
npm install -g node9-ai
node9 init # auto-wires all detected agents + MCP servers
node9 doctor # verify everything is wired correctly
Node.js 18+ आवश्यक है।
शील्ड्स — क्यूरेटेड नियम पैक
प्रत्येक शील्ड किसी सेवा या डोमेन के लिए एक क्यूरेटेड नियम सेट है। केवल वही सक्षम करें जिसकी आपको आवश्यकता है।
| Shield | यह क्या पकड़ता है | सक्षम करें |
|---|---|---|
project-jail | Bash और Read टूल के माध्यम से ~/.ssh, ~/.aws, .env, क्रेडेंशियल्स की रीड्स ब्लॉक करता है | node9 shield enable project-jail |
bash-safe | curl | bash, rm -rf /, डिस्क ओवरराइट, रिमोट का eval | node9 shield enable bash-safe |
postgres | DROP TABLE, TRUNCATE, DROP COLUMN, बिना WHERE वाला DELETE | node9 shield enable postgres |
mongodb | dropDatabase, drop(), deleteMany({}), इंडेक्स ड्रॉप्स | node9 shield enable mongodb |
redis | लाइव सर्वर पर FLUSHALL, FLUSHDB, CONFIG SET | node9 shield enable redis |
aws | S3 डिलीट, EC2 टर्मिनेट, IAM परिवर्तन, RDS डिस्ट्रॉय | node9 shield enable aws |
k8s | नेमस्पेस डिलीट, helm uninstall, क्लस्टर रोल वाइप्स | node9 shield enable k8s |
docker | system prune, volume prune, rm -f कंटेनर | node9 shield enable docker |
github | gh repo delete, रिमोट ब्रांच डिलीट, सेटिंग्स परिवर्तन | node9 shield enable github |
filesystem | chmod 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 स्किल्स / प्लगइन्स का 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):
{
"settings": {
"reviewChannel": "ask", // "ask" = inline agent prompt (default) | "approver" = node9's own approver
},
}
- टीम सेटअप: जब क्लाउड/टीम अनुमोदक कॉन्फ़िगर किया गया हो (
approvers.cloud: true), तो समीक्षाएँ उसी अनुमोदक के पास रूट होती हैं — node9 किसी इनलाइन सेल्फ-अप्रूवल को रूटेड/सेकंड-पार्टी अनुमोदन को बायपास नहीं करने देगा।
सैंडबॉक्स — एजेंट को जेल में चलाएँ
जब निगरानी पर्याप्त नहीं है, तो node9 sandbox एजेंट को एक डिस्पोज़ेबल कंटेनर के अंदर कर्नेल-प्रवर्तित ईग्रेस एलाउलिस्ट और स्कोप्ड माउंट्स के साथ चलाता है — जबकि node9 के हुक बॉक्स के अंदर हर टूल कॉल को नियंत्रित और ऑडिट करते हैं। सुरक्षा का कठोर संस्करण: एजेंट केवल उस फ़ोल्डर को छू सकता है जिसे आप माउंट करते हैं और केवल उन होस्ट्स तक पहुँच सकता है जिन्हें आप अनुमति देते हैं; बाकी सब कुछ कर्नेल पर ही गिरा दिया जाता है।
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
- Disposable — कंटेनर बाहर निकलने पर नष्ट हो जाता है; आपके प्रोजेक्ट एडिट्स आपकी वास्तविक डिस्क पर सेव होते हैं, बाकी कुछ भी नहीं बचता।
- Same policy — आपके मौजूदा शील्ड्स / ईग्रेस नियम / अनुमोदन बॉक्स के अंदर भी लागू होते हैं, उसी ऑडिट लॉग और डैशबोर्ड पर स्ट्रीम होते हैं।
- पोस्चर लूप बंद करता है — इसे चलाने से Isolation / Egress निष्कर्ष हरे हो जाते हैं।
ईमानदार दायरा (Phase 1): सिंगल कंटेनर, पहले Claude (अगला Codex); एजेंट अभी भी बॉक्स में अपने खुद के क्रेडेंशियल्स रखता है (ईग्रेस दीवार उन्हें अनुमत होस्ट्स तक सीमित करती है) — "the agent never holds a secret" रोडमैप पर क्रेडेंशियल-ब्रोकर चरण है। Docker आवश्यक है।
MCP गेटवे
किसी भी MCP सर्वर को पारदर्शी रूप से रैप करें। एजेंट को वही सर्वर दिखता है — Node9 हर टूल कॉल को इंटरसेप्ट करता है।
{
"mcpServers": {
"postgres": {
"command": "node9",
"args": ["mcp", "--upstream", "npx -y @modelcontextprotocol/server-postgres postgresql://..."]
}
}
}
या बस node9 init चलाएँ — यह आपके मौजूदा MCP सर्वरों को स्वचालित रूप से रैप करता है।
🔐 MCP टूल पिनिंग — rug-pull सुरक्षा
MCP सर्वर सत्रों के बीच अपनी टूल परिभाषाएँ बदल सकते हैं। एक समझौता किया गया या दुर्भावनापूर्ण सर्वर आपके पहले भरोसा करने के बाद चुपचाप टूल्स को जोड़, हटा या संशोधित कर सकता है — एक rug pull हमला।
Node9 पहले उपयोग पर टूल परिभाषाओं को पिन करता है:
- पहला कनेक्शन — गेटवे हर टूल के नाम, विवरण और स्कीमा का SHA-256 हैश रिकॉर्ड करता है
- बाद के कनेक्शन — हैश की तुलना की जाती है; यदि टूल्स बदले हैं, तो सत्र क्वारंटीन कर दिया जाता है और हर टूल कॉल तब तक ब्लॉक रहती है जब तक कोई व्यक्ति परिवर्तन की समीक्षा और अनुमोदन नहीं करता
- भ्रष्ट पिन स्थिति — fails closed (ब्लॉक करता है), कभी चुपचाप पुनः भरोसा नहीं करता
node9 mcp pin list # show all pinned servers and hashes
node9 mcp pin update <serverKey> # remove pin, re-pin on next connection
node9 mcp pin reset # clear all pins
अन्य कमांड्स
ऊपर दिए गए तीन मुख्य कमांड्स (scan / monitor / report) के अलावा:
| Command | यह क्या दिखाता है | कब उपयोग करें |
|---|---|---|
node9 blast | एक AI एजेंट अभी क्या एक्सेस कर सकता है — फ़ाइलें, क्रेड्स, env | किसी भी मशीन पर सबसे पहले चलाएँ |
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 सिग्नल को सतह पर लाता है। यहाँ जानने योग्य पैटर्न हैं:
| Signal | संभावित अर्थ |
|---|---|
Would have blocked ≥ 5 in a week | एजेंट उच्च-प्रभाव वाले ऑप्स का प्रयास कर रहा है; शील्ड्स की समीक्षा करना उचित है |
Single review-git-push rule >50% of findings | आपका अपना नियम इच्छित रूप से फायर हो रहा है — जोखिम नहीं, केवल पर्यवेक्षण |
DLP finding in user-prompt tool | आपने अपने ही प्रॉम्प्ट में एक सीक्रेट पेस्ट किया — कुंजी रोटेट करें |
| Agent Loop ×50+ on same file | एजेंट एडिट/टेस्ट/फिक्स चक्र में फँसा है — कॉन्टेक्स्ट जाँचें या धीमा करें |
| MCP tool pin mismatch | सर्वर ने अपने टूल्स बदले — पुनः भरोसा करने से पहले समीक्षा करें |
| Large MCP response warning | वह सर्वर हर बाद के टर्न के लिए आपकी कॉन्टेक्स्ट विंडो को बढ़ा रहा है |
Response DLP alert | Claude ने अपने रिस्पॉन्स टेक्स्ट में एक सीक्रेट लिखा — ब्लॉक नहीं, तुरंत रोटेट करें |
DLP finding in tool-result | Claude ने एक सीक्रेट युक्त फ़ाइल पढ़ी (.env, क्रेडेंशियल्स) — कुंजी रोटेट करें और node9 mask चलाएँ |
DLP finding in [Shell] | ~/.zshrc या ~/.bashrc में प्लेनटेक्स्ट सीक्रेट — हर AI सत्र इसे देख सकता है |
एक बार के सिग्नल सामान्य हैं; स्थायी पैटर्न पर ही आप कार्रवाई करते हैं।
Python SDK — किसी भी Python एजेंट को नियंत्रित करें
from node9 import configure, protect
configure(agent_name="my-agent", policy="require_approval")
@protect("bash")
def run_command(cmd: str) -> str:
...
Python SDK → · CI कोड समीक्षा एजेंट उदाहरण →
अंदर की कार्यप्रणाली
- 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 gateway एक stdio प्रॉक्सी है;
tools/list+tools/callJSON-RPC को इंटरसेप्ट करता है, बाकी को फॉरवर्ड करता है - Policy engine bash AST विश्लेषण के लिए mvdan-sh का उपयोग करता है — बैकस्लैश एस्केपिंग, वेरिएबल सब्स्टिट्यूशन, रिमोट डाउनलोड के eval के माध्यम से ऑब्स्क्यूरेशन को विफल करता है
- Sandbox एक Dockerfile + entrypoint उत्पन्न करता है जो
ipset/iptablesडेनी-बाय-डिफ़ॉल्ट ईग्रेस दीवार को सील करता है, फिर अंदर चल रहे node9 डेमन + हुक्स के साथ नॉन-रूट एजेंट पर ड्रॉप करता है; केवल एजेंट की क्रेडेंशियल फ़ाइल माउंट की जाती है, आपका पूरा~/.claudeकभी नहीं
पूर्ण दस्तावेज़
कॉन्फ़िग संदर्भ, स्मार्ट नियम, स्टेटफुल नियम, विश्वसनीय होस्ट्स, अनुमोदन मोड, CLI संदर्भ — node9.ai/docs पर।
संबंधित प्रोजेक्ट्स
- node9-python — Python SDK
- node9-pr-agent — GitHub Action जो Node9 के माध्यम से PRs की समीक्षा करता है
एंटरप्राइज़
Node9 Pro गवर्नेंस लॉकिंग, SAML/SSO, सेंट्रल ऑडिट एक्सपोर्ट और VPC डिप्लॉयमेंट जोड़ता है। देखें node9.ai।
लाइसेंस
Apache-2.0
☕ और स्वस्थ पैरानोया के साथ निर्मित।