
فحص تقوية للقراءة فقط دون اتصال لتثبيت OpenClaw ذاتي الاستضافة — التعرض للبوابة، المصادقة، CVE-2026-25253. لا يطبع الأسرار أبدًا، ولا يقوم بأي اتصالات شبكة.
هذا السكريبت للقراءة فقط. لا يصلح أي شيء ولا يضمن أنك آمن. المخرجات الخضراء تعني فقط أن الفحوصات المذكورة أدناه قد اجتازت—ولا شيء غير ذلك.
openclaw-hardening-check.mjs هو أداة صغيرة، بدون تبعيات، للفحص المحلي دون اتصال لتثبيت OpenClaw. يقرأ الإعدادات المحلية، وبيانات الحزم، وبيانات الإضافات والمهارات، وأذونات الملفات، وعلى لينكس، إدخالات البوابة العاملة في /proc. لا يقوم بتعديل الملفات، أو استدعاء أوامر OpenClaw، أو الاتصال بسجل، أو إجراء أي طلب شبكة.
gateway.bind مقتصرًا على الحلقة المحلية، أو غير loopback، أو معتمدًا على وقت التشغيل. التعامل مع ربط غير مضبوط أو auto داخل حاوية Docker أو Podman أو Kubernetes أو Fly يُعتبر 0.0.0.0، مطابقًا للافتراضي للحاوية في OpenClaw. يتم التحقق من بوابة Linux العاملة بشكل منفصل بحيث لا يمكن لتجاوز سطر الأوامر أو الخدمة الاختباء خلف قيمة إعدادات آمنة.gateway.auth.token و .password النصية. يتعرف على المتغيرات مثل ${VAR} و $VAR و secretref-env:VAR و __env__:VAR و SecretRefs المنظمة قبل قياس بيانات الاعتماد. تأتي أدلة بيئة المصادقة من عملية البوابة المطابقة، أو gateway.systemd.env، أو ملف .env الحالي، وليس أبدًا من عملية المدقق. لا تتم طباعة قيم الأسرار مطلقًا؛ يحتوي التقرير فقط على الوجود ومصدر الفئة والطول. يتم وضع علامة على العناصر النائبة والرموز المميزة الأقصر من 24 حرفًا.2026.1.29 متأثرة. سمحت الثغرة لـ gatewayUrl في سلسلة الاستعلام بتشغيل اتصال WebSocket كشف رمز البوابة. راجع إدخال NVD و إشعار OpenClaw الأمني.latest أو beta أو main عندما يتم توفير مصدر التثبيت. لا يحتفظ npm و pnpm بعلامة التوزيع المطلوبة الأصلية في الحزمة المثبتة، لذا يُبلغ السكريبت "لا يمكن التحقق" بدلاً من التخمين عند غياب هذا المصدر..env، و gateway.systemd.env، وملفات auth-profiles.json المكتشفة، وملفات SecretRefs المحلولة للتعرض للمجموعة/العالم أو ملكية غير متوقعة.dist-runtime/extensions—بشكل منفصل عن العناصر الموجودة في الحالة، أو دليل التكوين، أو المُدارة، أو مساحة العمل، أو الشخصية، أو المُهيأة، أو مواقع مشروع npm. يتم وضع علامة على العناصر غير المضمنة للمراجعة اليدوية، ولا يتم تصنيفها أبدًا على أنها ضارة./proc/net/tcp* لمآخذ TCP إلى عمليات ملفات إدخال البوابة أو العمليات الثنائية ويضع علامة على كل مستمع غير loopback تملكه. المستمع على المنفذ المتوقع الذي لا يمكن التحقق من مالكه يُنتج "لا يمكن التحقق"، وليس "البوابة لا تعمل". لا يزال الفحص يعمل من القرص عندما تكون البوابة متوقفة.تتبع المسارات والإعدادات الافتراضية وثائق التكوين الرسمية، و مرجع التكوين، و دليل تعريض البوابة، و وثائق المهارات، و وثائق إدارة الإضافات.
انسخ السكريبت إلى الجهاز الذي يعمل عليه OpenClaw، ثم قم بتشغيله كمستخدم نظام التشغيل نفسه:
node openclaw-hardening-check.mjs
الإعدادات الافتراضية لـ OpenClaw هي ~/.openclaw/openclaw.json. كما يقرأ السكريبت متغيرات OPENCLAW_CONFIG_PATH و OPENCLAW_STATE_DIR و OPENCLAW_GATEWAY_PORT.
تتوفر تجاوزات اختيارية للتخطيطات غير الافتراضية وفحوصات التثبيت المحدد القابلة للتكرار:
node openclaw-hardening-check.mjs \
--config /srv/openclaw/openclaw.json \
--state-dir /srv/openclaw \
--package-root /opt/openclaw/lib/node_modules/openclaw \
--install-spec 2026.6.10
يجب أن يكون --install-spec هو الهدف المستخدم أصلاً بواسطة المثبت أو تعريف النشر. تمرير الإصدار المثبت حالياً دون التحقق من مصدره لا يثبت أن النشر مثبت بشكل محدد.
لا يقوم الفاحص أبدًا بإصدار السر نفسه، لذا يسجل الشكل القابل للنشر فقط مصدره وطوله:
OpenClaw hardening check
Read-only and offline. Secret values are never printed.
Config: ~/.openclaw/openclaw.json
[PASS] Config: loaded ~/.openclaw/openclaw.json without printing its contents.
[PASS] Gateway bind: loopback; configured for local-only access.
[PASS] Gateway authentication: present via Gateway process environment bootstrap, length 48; value was not printed.
[PASS] Listening sockets: OpenClaw TCP listeners are loopback-only: 127.0.0.1:18789, [::1]:18789.
[PASS] CVE-2026-25253: installed package version 2026.6.10 is at or newer than 2026.1.29.
[PASS] Installation pin: exact target 2026.6.10 is recorded for this check.
[WARN] Third-party plugins: 1: example-plugin. Review it yourself; no malware verdict was attempted.
Summary: No security problems found. 1 item flagged for your review; exit code 0.
قيمة السر: [REDACTED — never present in output].
يحسب الملخص مشكلات الأمان (FAIL)، وعناصر المراجعة اليدوية (WARN)، والفحوصات غير المكتملة (CANNOT CHECK) بشكل منفصل. نتائج WARN و CANNOT CHECK وحدها لا تؤدي إلى فشل العملية؛ فقط FAIL يُرجع رمز خروج 1.
| Code | المعنى |
|---|---|
0 | لم يتم العثور على مشكلات أمان FAIL؛ قد تظل نتائج WARN أو CANNOT CHECK موجودة. |
1 | تحتاج مشكلة أمان واحدة على الأقل من نوع FAIL إلى الاهتمام. |
2 | سطر الأوامر غير صالح، أو تعذر العثور على التكوين أو قراءته أو تضمينه أو تحليله بأمان. |
/proc على لينكس. تحصل المنصات الأخرى على نتيجة "لا يمكن التحقق" صريحة.@latest في الأصل. قم بتوفير مصدر تثبيت موثوق به مع --install-spec.تستخدم مجموعة الاختبارات فقط node:test والأدلة المؤقتة:
node --test test/openclaw-hardening-check.test.mjs
إيليا برودنيكوف — cain-ai.com