
أداة CLI لواجهة برمجة تطبيقات Horizon3.ai
يتوفر الآن خادم NodeZero MCP، مما يتيح لك تشغيل وإدارة خادم MCP مستضاف محليًا يجلب إمكانيات NodeZero في البحث والإصلاح والتحقق (FFV) مباشرةً إلى سير عمل التطوير والأمان لديك.
h3-cli هي أداة CLI ملائمة (واجهة سطر أوامر) للوصول إلى واجهة برمجة تطبيقات Horizon3.ai. توفر واجهة برمجة تطبيقات Horizon3.ai وصولاً برمجيًا إلى مجموعة فرعية من الوظائف المتاحة عبر بوابة Horizon3.ai. على مستوى عالٍ، تتيح لك الواجهة:
يمكن استخدام الواجهة لمجموعة متنوعة من حالات الاستخدام، مثل جدولة تقييمات دورية لبيئتك أو بدء اختبار اختراق كجزء من خط أنابيب بناء التكامل المستمر.
الخطوات أدناه ستعمل على تشغيلك بسرعة باستخدام h3-cli. تم اختبار هذه التعليمات على أجهزة macOS وLinux، ويُفترض أن تعمل عمومًا على أي نظام متوافق مع POSIX يدعم bash.
إذا كنت تخطط لتشغيل اختبارات اختراق داخلية باستخدام h3-cli، فيجب عليك تثبيت h3-cli على نفس مضيف Docker الذي تشغّل فيه NodeZero.
من المفترض أن لديك حسابًا بالفعل لدى Horizon3.ai. إذا لم يكن لديك حساب، فسجّل في https://portal.horizon3ai.com/.
مطلوب مفتاح API للوصول إلى واجهة H3 API. يمكنك إنشاء واحد في البوابة ضمن قائمة User -> Account Settings.
عند إنشاء مفتاح API، يجب عليك تعيين دور يتحكم في صلاحياته. الأدوار المتاحة هي:
نوصي بدور User إذا كنت تختبر h3-cli وترغب في تجربة جميع ميزاته. بعد ذلك، قد ترغب في استخدام صلاحيات أكثر تقييدًا بناءً على حالة الاستخدام الخاصة بك. على سبيل المثال، إذا كنت تريد فقط استخدام h3-cli لإعداد NodeZero Runner، نوصي باستخدام دور NodeZero Runner.
يمكنك بسهولة إدارة مفاتيح API متعددة داخل نفس تثبيت h3-cli. تعلم المزيد هنا.
❗ حافظ على أمان مفتاح API الخاص بك، لأن أي شخص لديه مفتاح API الخاص بك يمكنه الوصول إلى حساب H3 الخاص بك. فكّر في مفتاح API باعتباره اسم مستخدم + كلمة مرور في واحد. يمكن لأي شخص لديه مفتاح API الوصول إلى حسابك من أي مكان. سيخزن h3-cli مفتاح API الخاص بك تحت دليل $HOME/.h3. يتم إنشاء هذا الدليل أثناء التثبيت وتكوينه بصلاحيات تتيح لك فقط القراءة أو الكتابة فيه.
ثبّت مستودع h3-cli git على جهازك عن طريق تنفيذ أمر git التالي داخل جلسة شل/طرفية.
git clone https://github.com/horizon3ai/h3-cli
سيؤدي هذا إلى إنشاء دليل جديد باسم h3-cli وتنزيل محتويات المستودع إليه. سيتم إنشاء دليل h3-cli في الدليل الذي تشغّل فيه أمر git. يمكنك تثبيت h3-cli في أي مكان على نظام الملفات.
إذا لم يكن لديك git، يمكنك تنزيل المستودع كملف zip من القائمة أعلاه، وفك ضغطه في أي مكان على نظام الملفات.
شغّل الأوامر التالية لتثبيت وتهيئة h3-cli. استبدل your-api-key-here بمفتاح API الفعلي الخاص بك.
cd h3-cli
bash install.sh your-api-key-here
سيقوم سكربت التثبيت بتثبيت التبعيات (jq) وإنشاء ملف تعريف h3-cli الافتراضي لديك تحت دليل $HOME/.h3. يتم تخزين مفتاح API الخاص بك في ملف تعريف h3-cli. صلاحيات الدليل والملف التعريفي مقيدة بحيث لا يمكن لأي مستخدمين آخرين (بخلافك) القراءة أو الكتابة فيهما.
سيطلب منك سكربت التثبيت تعديل ملف تعريف الشل الخاص بك ($HOME/.bash_profile أو $HOME/.bash_login أو $HOME/.profile، اعتمادًا على نظام التشغيل لديك) لتعيين متغيرات البيئة التالية:
H3_CLI_HOME: يستخدم h3-cli متغير البيئة هذا لتحديد موقعه وملفاته الداعمة.PATH: يحدد متغير البيئة هذا الدلائل التي سيتم البحث فيها للعثور على أمر شل.بعد تحديث ملف تعريف الشل، أعد تسجيل الدخول أو أعد تشغيل جلسة الشل لالتقاط تغييرات الملف الشخصي، ثم تحقق من أنه يمكنك استدعاء h3 عن طريق تشغيله من موجه الأوامر:
h3
إذا تم تثبيت كل شيء بشكل صحيح، يجب أن ترى نص مساعدة h3-cli.
نصدر ميزات جديدة وإصلاحات للأخطاء وتحديثات أخرى لـ h3-cli كل شهر. قم بترقية تثبيتك باستخدام إحدى الطرق أدناه.
h3 upgrade (موصى به)اعتبارًا من يونيو 2023، يمكنك استخدام أمر h3 upgrade للترقية إلى أحدث إصدار من h3-cli.
إذا حصلت على ERROR: unrecognized command: "upgrade"، فأنت على إصدار سابق من h3-cli لا يدعم أمر الترقية. استخدم إحدى الطرق أدناه لترقية h3-cli.
easy_install.sh (موصى به إذا كان h3 upgrade غير متاح)شغّل هذا الأمر من الدليل الأصلي لـ h3-cli (أي الدليل الذي يحتوي على دليل h3-cli/):
curl https://raw.githubusercontent.com/horizon3ai/h3-cli/public/easy_install.sh | bash
إذا كنت قد استخدمت git clone لتثبيت المستودع، فما عليك سوى تشغيل git pull لتثبيت أحدث إصدار.
إذا قمت بتنزيل المستودع كملف zip، فأعد تنزيل ملف zip وفك ضغطه في نفس الموقع (أي استبدل تثبيت h3-cli الحالي بالملف zip الجديد).
اعتبارًا من يونيو 2023، يمكنك عرض إصدارك الحالي من h3-cli عبر:
h3 version
يمكنك عرض السجل الكامل للإصدارات وملاحظات الإصدار عبر:
h3 version -v
شغّل الأمر التالي للتحقق من الاتصال بالواجهة البرمجية.
h3 hello-world
يجب أن ترى الرد:
{
"data": {
"hello": "world!"
}
}
❗️ إذا كنت تتلقى استجابة خطأ، يرجى الاتصال بـ H3 عبر أيقونة الدردشة في بوابة Horizon3.ai.
سيعيد الأمر أدناه قائمة اختبارات الاختراق في حسابك، الأحدث أولاً.
h3 pentests
لتصفية اختبارات الاختراق التي تطابق مصطلح بحث معين، مرّر مصطلح البحث كمعامل:
h3 pentests sample
للاستعلام عن أحدث اختبار اختراق في حسابك:
h3 pentest
للاستعلام عن أي اختبار اختراق في حسابك، مرّر op_id الخاص باختبار الاختراق كمعامل:
h3 pentest your-op-id-here
ستستخدم العديد من أوامر h3-cli أحدث اختبار اختراق كافتراضي، ما لم يتم تمرير op_id كمعامل.
غالبًا ما يتم استخدام المصطلحين "op" و"pentest" بالتبادل.
يتطلب تشغيل اختبار اختراق تحديد قالب op. يحدد قالب op تكوين اختبار اختراق كامل، يتضمن النطاق ومعلمات الهجوم والتكوينات الأخرى (الاختيارية).
توفر Horizon3.ai للمستخدمين الجدد قالب op افتراضيًا باسم Default 1 - Recommended. هذا القالب دائمًا محدث بأحدث معلمات الهجوم والتكوين الموصى به. لا يحدد القالب الافتراضي نطاقًا، وفي هذه الحالة سيستخدم NodeZero النطاق الذكي - ستوفر الشبكة الفرعية المضيفة لـ NodeZero النطاق الأولي، وسيتوسع عضويًا أثناء اختبار الاختراق مع اكتشاف المزيد من المضيفات والشبكات الفرعية. لمزيد من المعلومات حول النطاق الذكي وخيارات النشر الأخرى، قم بزيارة وثائق المنتج.
للمستخدمين المتمرسين، يمكن إنشاء قالب/قوالب op مخصصة عبر بوابة Horizon3.ai. لإنشاء قالب op مخصص، انتقل عبر نموذج Run a Pentest حتى ترى خيار تخصيص تكوين اختبار الاختراق. يمكن إنشاء قالب op دون تشغيل اختبار الاختراق فعليًا.
لتوفير اختبار اختراق باستخدام قالب op الافتراضي والنطاق الذكي:
h3 run-pentest
تحتوي استجابة JSON على تفاصيل اختبار الاختراق المنشأ حديثًا. يمكنك التحقق من أن اختبار الاختراق قيد التجهيز عن طريق فحص بوابة Horizon3.ai، أو عن طريق تشغيل h3 pentest.
هناك عدة طرق لتحديد معلمات إضافية عند إنشاء اختبارات الاختراق. لمزيد من المعلومات انظر أمثلة إضافية هنا.
❗ انتظر! لم تنتهِ بعد!