
Horizon3.ai API के लिए CLI टूल
NodeZero MCP सर्वर अब उपलब्ध है, जो आपको स्थानीय रूप से होस्ट किए गए MCP सर्वर को चलाने और प्रबंधित करने में सक्षम बनाता है, जो NodeZero की Find, Fix, Verify (FFV) क्षमताओं को सीधे आपके विकास और सुरक्षा वर्कफ़्लो में लाता है।
h3-cli, Horizon3.ai API तक पहुँचने के लिए एक सुविधाजनक CLI (कमांड-लाइन इंटरफ़ेस) है। Horizon3.ai API, Horizon3.ai पोर्टल के माध्यम से उपलब्ध कार्यक्षमता के एक उपसमुच्चय तक प्रोग्रामेटिक पहुँच प्रदान करती है। उच्च स्तर पर, API आपको निम्न की अनुमति देता है:
API का उपयोग विभिन्न उपयोग-मामलों के लिए किया जा सकता है, जैसे आपके वातावरण के आवधिक मूल्यांकन शेड्यूल करना या निरंतर एकीकरण बिल्ड पाइपलाइन के भाग के रूप में पेंटेस्ट शुरू करना।
नीचे दिए गए चरण आपको h3-cli के साथ जल्दी से आरंभ करने में मदद करेंगे। ये निर्देश macOS और Linux मशीनों पर परीक्षण किए गए थे, और आम तौर पर bash समर्थन वाले किसी भी POSIX-संगत सिस्टम पर काम करने चाहिए।
यदि आप h3-cli का उपयोग करके आंतरिक पेंटेस्ट चलाने की योजना बनाते हैं, तो आपको h3-cli को उसी Docker Host पर स्थापित करना चाहिए जहाँ आप NodeZero लॉन्च करते हैं।
यह मान लिया गया है कि आपके पास पहले से Horizon3.ai के साथ एक खाता है। यदि नहीं, तो https://portal.horizon3ai.com/ पर साइन अप करें।
H3 API तक पहुँचने के लिए एक API कुंजी आवश्यक है। आप इसे पोर्टल में User -> Account Settings मेनू के अंतर्गत बना सकते हैं।
API कुंजी बनाते समय आपको इसे एक भूमिका (role) सौंपनी होगी जो इसकी अनुमतियों को नियंत्रित करती है। उपलब्ध भूमिकाएँ हैं:
हम User भूमिका की अनुशंसा करते हैं यदि आप h3-cli का परीक्षण कर रहे हैं और इसकी सभी सुविधाओं के साथ प्रयोग करना चाहते हैं। उसके बाद, आप अपने उपयोग-मामले के आधार पर अधिक प्रतिबंधात्मक अनुमतियों का उपयोग करना चाह सकते हैं। उदाहरण के लिए, यदि आप केवल NodeZero Runner सेट करने के लिए h3-cli का उपयोग करना चाहते हैं, तो हम NodeZero Runner भूमिका का उपयोग करने की अनुशंसा करते हैं।
आप एक ही h3-cli इंस्टॉलेशन के भीतर कई API कुंजियाँ आसानी से प्रबंधित कर सकते हैं। यहाँ और जानें।
❗ अपनी API कुंजी को सुरक्षित रखें, क्योंकि आपकी API कुंजी रखने वाला कोई भी व्यक्ति आपके H3 खाते तक पहुँच सकता है। API कुंजी को एक साथ मिले हुए उपयोगकर्ता नाम + पासवर्ड की तरह समझें। API कुंजी रखने वाला कोई भी व्यक्ति कहीं से भी आपके खाते तक पहुँच सकता है। h3-cli आपकी API कुंजी को $HOME/.h3 निर्देशिका के अंतर्गत संग्रहीत करेगा। यह निर्देशिका स्थापना के दौरान बनाई जाती है और ऐसी अनुमतियों के साथ कॉन्फ़िगर की जाती है कि केवल आप ही इसे पढ़ या लिख सकें।
अपनी मशीन पर h3-cli git repo स्थापित करने के लिए शेल/टर्मिनल सत्र में निम्नलिखित 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) स्थापित करेगी और $HOME/.h3 निर्देशिका के अंतर्गत आपकी डिफ़ॉल्ट h3-cli प्रोफ़ाइल बनाएगी। आपकी 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-cli के नवीनतम संस्करण में अपग्रेड करने के लिए h3 upgrade कमांड का उपयोग कर सकते हैं।
यदि आपको ERROR: unrecognized command: "upgrade" मिलता है, तो आप h3-cli के पिछले संस्करण पर हैं जो upgrade कमांड का समर्थन नहीं करता है। 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
API के साथ कनेक्टिविटी सत्यापित करने के लिए निम्नलिखित कमांड चलाएँ।
h3 hello-world
आपको निम्न प्रतिक्रिया देखनी चाहिए:
{
"data": {
"hello": "world!"
}
}
❗️ यदि आपको त्रुटि प्रतिक्रिया मिल रही है, तो कृपया Horizon3.ai Portal में चैट आइकन के माध्यम से H3 से संपर्क करें।
नीचे दिया गया कमांड आपके खाते में पेंटेस्ट की सूची लौटाएगा, सबसे हालिया पहले।
h3 pentests
दिए गए खोज शब्द से मेल खाने वाले पेंटेस्ट को फ़िल्टर करने के लिए, खोज शब्द को पैरामीटर के रूप में पास करें:
h3 pentests sample
अपने खाते में सबसे हालिया पेंटेस्ट क्वेरी करने के लिए:
h3 pentest
अपने खाते में किसी भी पेंटेस्ट को क्वेरी करने के लिए, पेंटेस्ट का op_id पैरामीटर के रूप में पास करें:
h3 pentest your-op-id-here
कई h3-cli कमांड सबसे हालिया पेंटेस्ट को डिफ़ॉल्ट के रूप में उपयोग करेंगे, जब तक कि op_id को पैरामीटर के रूप में पास न किया जाए।
"op" और "pentest" शब्द अक्सर एक दूसरे के स्थान पर उपयोग किए जाते हैं।