
AI-संचालित साइबर सुरक्षा चैटबॉट जो आपके साइबर सुरक्षा संबंधी प्रश्नों के उपयोगी और सटीक उत्तर प्रदान करने के साथ-साथ कोड विश्लेषण और स्कैन विश्लेषण भी करने के लिए डिज़ाइन किया गया है।
_ _ _ ____ _
| | | | __ _ ___| | _| __ ) ___ | |_
| |_| |/ _` |/ __| |/ / _ \ / _ \| __| By: Morpheuslord
| _ | (_| | (__| <| |_) | (_) | |_ AI used: Meta-LLama2
|_| |_|\__,_|\___|_|\_\____/ \___/ \__|
HackBot में आपका स्वागत है, एक AI-संचालित साइबर सुरक्षा चैटबॉट जो आपके साइबर सुरक्षा-संबंधित प्रश्नों के उपयोगी और सटीक उत्तर प्रदान करने के साथ-साथ कोड विश्लेषण और स्कैन विश्लेषण भी करने के लिए डिज़ाइन किया गया है। चाहे आप एक सुरक्षा शोधकर्ता हों, एक एथिकल हैकर हों, या बस साइबर सुरक्षा के बारे में उत्सुक हों, HackBot आपकी आवश्यक जानकारी खोजने में सहायता करने के लिए यहाँ है।
HackBot "LlamaCpp" लाइब्रेरी के माध्यम से शक्तिशाली भाषा मॉडल Meta-LLama2 का उपयोग करता है। यह HackBot को आपके प्रश्नों का सुसंगत और प्रासंगिक तरीके से उत्तर देने की अनुमति देता है। कृपया सुनिश्चित करें कि आप अपने प्रश्न अंग्रेज़ी में रखें और HackBot से सर्वोत्तम परिणाम प्राप्त करने के लिए दिए गए दिशानिर्देशों का पालन करें।
.env फ़ाइल के AI_OPTION अनुभाग को बदलकर उन्हें चैटबॉट से जोड़ सकते हैं। Runpod के लिए आपको RUNPOD का उपयोग करना होगा और Local Llama deployment के लिए LOCALLLAMA का। RUNPOD और LOCALLLAMARUNPOD ID और आपकी RUNPOD API KEY सेट हैं।LLama2 का उपयोग करना सबसे अच्छे ऑफ़लाइन और मुफ्त विकल्पों में से एक है। यह वर्तमान में सुधार के अधीन है, मैं एक प्रॉम्प्ट पर काम कर रहा हूँ जो AI में साइबर सुरक्षा परिप्रेक्ष्य को बेहतर ढंग से शामिल करेगा। मुझे @thisserand और उनके llama2_local रेपो के साथ-साथ उनके YT वीडियो YT_Video का धन्यवाद करना है। वे बेहतरीन संसाधन थे। सच कहूँ तो, llama2 कोड 95% उनका है, मैंने बस कोड लिया और उसमें Flask API कार्यक्षमता जोड़ दी।
AI की सटीकता ऑफ़लाइन और कोड के परीक्षणों के बाहर बहुत अच्छी थी और openai या bard के बराबर थी, लेकिन कोड में रहते हुए इसे कुछ समस्याओं का सामना करना पड़ रहा था, हो सकता है कि प्रॉम्प्टिंग और अन्य चीजों के कारण। मैं इसे ठीक करने का प्रयास करूँगा।
गति आपके सिस्टम और आपके पास GPU और CPU कॉन्फ़िगरेशन पर निर्भर करती है। वर्तमान में, यह TheBloke/Llama-2-7B-Chat-GGML मॉडल का उपयोग कर रहा है और इसे portscanner और dnsrecon फ़ाइलों के माध्यम से बदला जा सकता है।
अभी के लिए, llama कोड और स्कैन को अलग-अलग तरीके से संभाला जाता है। कुछ परीक्षणों के बाद, मैंने पाया कि llama को उस तरह से काम करने के लिए थोड़ा प्रशिक्षित करने की आवश्यकता है जैसा मैंने चाहा था, इसलिए इसे कुछ समय चाहिए। इस पर कोई सुझाव जो मैं कैसे कर सकता हूँ, उसे इस रेपो की चर्चाओं में जोड़ा जा सकता है चर्चा लिंक। अभी के लिए, आउटपुट सभी डेटा की एक विभाजित सूची नहीं होगी, बल्कि AI द्वारा खोजी गई कमजोरी या समस्या का एक स्पष्टीकरण होगा।
मॉडल उपयोग के लिए प्रॉम्प्ट इस तरह दिखता है:
[INST] <<SYS>> {user_instruction}<</SYS>> NMAP Data to be analyzed: {user_message} [/INST]
निर्देश इस तरह दिखते हैं:
Do a NMAP scan analysis on the provided NMAP scan information. The NMAP output must return in a asked format accorging to the provided output format. The data must be accurate in regards towards a pentest report.
The data must follow the following rules:
1) The NMAP scans must be done from a pentester point of view
2) The final output must be minimal according to the format given.
3) The final output must be kept to a minimal.
4) If a value not found in the scan just mention an empty string.
5) Analyze everything even the smallest of data.
6) Completely analyze the data provided and give a confirm answer using the output format.
7) mention all the data you found in the output format provided so that regex can be used on it.
8) avoid unnecessary explaination.
9) the critical score must be calculated based on the CVE if present or by the nature of the services open
10) the os information must contain the OS used my the target.
11) the open ports must include all the open ports listed in the data[tcp] and varifying if it by checking its states value. you should not negect even one open port.
12) the vulnerable services can be determined via speculation of the service nature or by analyzing the CVE's found.
The output format:
critical score:
- Give info on the criticality
"os information":
- List out the OS information
"open ports and services":
- List open ports
- List open ports services
"vulnerable service":
- Based on CVEs or nature of the ports opened list the vulnerable services
"found cve":
- List the CVE's found and list the main issues.
निर्देश सेट और प्रॉम्प्ट के माध्यम से प्रदान किए गए डेटा का उपयोग करके, llama AI अपना आउटपुट उत्पन्न करता है।
अधिकांश उपयोग के लिए, मेरा सुझाव है कि आप llama का एक runpod सर्वरलेस एंडपॉइंट तैनाती बनाएं, आप इस ट्यूटोरियल का संदर्भ ले सकते हैं ट्यूटोरियल। बेहतर उपयोग के लिए ट्यूटोरियल का पालन करें।



स्थापना के साथ आगे बढ़ने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित पूर्वापेक्षाएँ हैं:
pip3 पैकेज मैनेजरVisual studio Code - इस लिंक में दिए गए चरणों का पालन करें llama-cpp-prereq-install-instructionscmakegit clone https://github.com/morpheuslord/hackbot.git
cd hackbot
pip3 install -r requirements.txt
python3 hackbot.py
पहली बार जब आप HackBot चलाएंगे, तो यह चैटबॉट के लिए आवश्यक AI मॉडल की जाँच करेगा। यदि मॉडल मौजूद नहीं है, तो यह स्वचालित रूप से डाउनलोड हो जाएगा और प्रोजेक्ट डायरेक्टरी में "llama-2-7b-chat.ggmlv3.q4_0.bin" के रूप में सहेजा जाएगा।
HackBot के साथ बातचीत शुरू करने के लिए, निम्नलिखित कमांड चलाएँ:
.env फ़ाइल इस तरह दिखनी चाहिए:
RUNPOD_ENDPOINT_ID = ""
RUNPOD_API_KEY = ""
AI_OPTION = "LLAMALOCAL"
यह हो जाने के बाद, यह चलाएँ।
python hackbot.py
.env फ़ाइल इस तरह दिखनी चाहिए:
RUNPOD_ENDPOINT_ID = "<<SERVERLESS ENDPOINT ID>>"
RUNPOD_API_KEY = "<<RUNPOD API KEY>>"
AI_OPTION = "RUNPOD"
यह हो जाने के बाद, यह चलाएँ।
python3 hackbot.py
HackBot एक बैनर प्रदर्शित करेगा और आपके इनपुट की प्रतीक्षा करेगा। आप साइबर सुरक्षा-संबंधित प्रश्न पूछ सकते हैं, और HackBot जानकारीपूर्ण उत्तरों के साथ जवाब देगा। चैट से बाहर निकलने के लिए, बस इनपुट प्रॉम्प्ट में "quit_bot" टाइप करें।
यहाँ कुछ अतिरिक्त कमांड दिए गए हैं जिनका आप उपयोग कर सकते हैं:
clear_screen: बेहतर पठनीयता के लिए कंसोल स्क्रीन साफ़ करता है।quit_bot: इसका उपयोग चैट एप्लिकेशन से बाहर निकलने के लिए किया जाता है।bot_banner: डिफ़ॉल्ट बॉट का बैनर प्रिंट करता है।contact_dev: मेरी संपर्क जानकारी प्रदान करता है।save_chat: वर्तमान सत्र की बातचीत को सहेजता है।vuln_analysis: स्कैन डेटा या लॉग फ़ाइल का उपयोग करके एक कमजोरी विश्लेषण करता है।static_code_analysis: स्कैन डेटा या लॉग फ़ाइल का उपयोग करके एक स्टैटिक कोड विश्लेषण करता है।नोट: मैं अधिक ऐड-ऑन और ऐसे ही और कमांड पर काम कर रहा हूँ ताकि अधिक chatGPT जैसा अनुभव दिया जा सके।
कृपया ध्यान दें: HackBot के उत्तर Meta-LLama2 AI मॉडल पर आधारित हैं, और इसकी सटीकता उसे प्रदान किए गए प्रश्नों और डेटा की गुणवत्ता पर निर्भर करती है।
मैं AI प्रशिक्षण पर भी काम कर रहा हूँ जिसके द्वारा मैं इसे सिखा सकता हूँ कि हैकर्स के लिए अधिक पेशेवर स्तर पर काम करने के लिए इसे अधिक सटीक रूप से कैसे ट्यून किया जाए।
HackBot की कार्यक्षमता और सटीकता में सुधार के लिए हम योगदान का स्वागत करते हैं। यदि आपको कोई समस्या आती है या सुधार के लिए सुझाव हैं, तो कृपया बेझिझक एक issue खोलें या एक pull request सबमिट करें। योगदान करने के लिए इन चरणों का पालन करें:
main शाखा के लिए एक pull request खोलें।कृपया एक साफ commit इतिहास बनाए रखें और परियोजना के कोडिंग दिशानिर्देशों का पालन करें।
यदि कोई टेक्स्ट जनरेशन मॉडल को प्रशिक्षित करने का ज्ञान रखता है, तो वह कोड को बेहतर बनाने में मदद कर सकता है। AI प्रशिक्षण भाग के लिए, मैंने एक डेटासेट और प्रशिक्षण के लिए एक कार्यशील कोड तैयार किया है, लेकिन मुझे प्रशिक्षण भाग में समस्याओं का सामना करना पड़ रहा है और उस पर सहयोग की सराहना की जाएगी। आप डेटासेट देख सकते हैं:
डेटासेट का GitHub संस्करण OpenAI प्रशिक्षण के लिए है और दूसरा मेटा के Llama2-7b के लिए है। डेटासेट का उद्देश्य CVE डेटा के साथ बेहतर काम करने में सक्षम एक AI मॉडल उत्पन्न करने का प्रयास करना और संभवतः उत्पन्न करना है। यदि आपको लगता है कि डेटासेट में कमी है, तो बेझिझक संशोधित करें और अपने विचार साझा करें।
HackBot से संबंधित किसी भी प्रश्न, प्रतिक्रिया या पूछताछ के लिए, परियोजना अनुरक्षक से संपर्क करने में संकोच न करें: