
KI-gestützter Cybersicherheits-Chatbot, der hilfreiche und genaue Antworten auf Ihre Cybersicherheitsfragen geben und auch Code-Analyse und Scan-Analyse durchführen soll.
_ _ _ ____ _
| | | | __ _ ___| | _| __ ) ___ | |_
| |_| |/ _` |/ __| |/ / _ \ / _ \| __| By: Morpheuslord
| _ | (_| | (__| <| |_) | (_) | |_ AI used: Meta-LLama2
|_| |_|\__,_|\___|_|\_\____/ \___/ \__|
Willkommen bei HackBot, einem KI-gestützten Cybersicherheits-Chatbot, der hilfreiche und genaue Antworten auf Ihre Fragen zur Cybersicherheit sowie Code-Analysen und Scan-Analysen bietet. Egal, ob Sie Sicherheitsforscher:in, ethischer Hacker oder einfach nur neugierig auf Cybersicherheit sind – HackBot unterstützt Sie dabei, die benötigten Informationen zu finden.
HackBot nutzt das leistungsstarke Sprachmodell Meta-LLama2 über die Bibliothek „LlamaCpp“. So kann HackBot kohärent und relevant auf Ihre Fragen antworten. Bitte stellen Sie sicher, dass Ihre Anfragen auf Englisch sind und befolgen Sie die angegebenen Richtlinien, um die besten Ergebnisse mit HackBot zu erzielen.
AI_OPTION der .env-Datei ändern. Für Runpod müssen Sie RUNPOD verwenden, für die lokale Llama-Bereitstellung LOCALLLAMA. RUNPOD & LOCALLLAMARUNPOD ID und Ihr RUNPOD API KEY gesetzt sein.Die Verwendung von LLama2 ist eine der besten Offline- und kostenlosen Optionen da draußen. Sie wird derzeit verbessert – ich arbeite an einem Prompt, der die Cybersicherheitsperspektive besser in die KI einfließen lässt. Ich möchte @thisserand und seinem llama2_local-Repo sowie seinem YT-Video YT_Video danken. Das waren großartige Ressourcen. Um ehrlich zu sein, der Llama2-Code stammt zu 95 % von ihm; ich habe den Code nur übernommen und eine Flask-API-Funktionalität hinzugefügt.
Die Genauigkeit der KI offline und außerhalb der Code-Tests war großartig und hatte die gleiche Genauigkeit wie OpenAI oder Bard, aber innerhalb des Codes gab es ein paar Probleme – vielleicht wegen der Prompt-Erstellung und anderer Dinge. Ich werde versuchen, das zu beheben.
Die Geschwindigkeit hängt von Ihrem System und Ihren GPU-/CPU-Konfigurationen ab. Derzeit wird das Modell TheBloke/Llama-2-7B-Chat-GGML verwendet und kann über die Dateien portscanner und dnsrecon geändert werden.
Im Moment werden Llama-Code und Scans getrennt behandelt. Nach einigen Tests habe ich festgestellt, dass Llama ein wenig trainiert werden muss, um so zu arbeiten, wie ich es mir vorgestellt habe – das braucht etwas Zeit. Vorschläge, wie ich das machen kann, können in den Diskussionen dieses Repos gepostet werden: Discussions Link. Vorerst wird die Ausgabe keine unterteilte Liste aller Daten sein, sondern eine Erklärung der von der KI gefundenen Schwachstellen oder Probleme.
Der Prompt für die Modellnutzung sieht so aus:
[INST] <<SYS>> {user_instruction}<</SYS>> NMAP Data to be analyzed: {user_message} [/INST]
Die Anweisungen sehen so aus:
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.
Mit diesem Anweisungssatz und den über den Prompt bereitgestellten Daten generiert die Llama-KI ihre Ausgabe.
Für die häufigste Nutzung empfehle ich, einen serverlosen RunPod-Endpunkt für Llama zu erstellen. Hierfür gibt es ein Tutorial: tutorial. Folgen Sie dem Tutorial für eine optimale Nutzung.



Stellen Sie vor der Installation sicher, dass die folgenden Voraussetzungen erfüllt sind:
pip3-PaketmanagerVisual Studio Code – Befolgen Sie die Schritte unter diesem Link: llama-cpp-prereq-install-instructionscmakegit clone https://github.com/morpheuslord/hackbot.git
cd hackbot
pip3 install -r requirements.txt
python3 hackbot.py
Beim ersten Start von HackBot wird geprüft, ob das für den Chatbot erforderliche KI-Modell vorhanden ist. Ist das Modell nicht vorhanden, wird es automatisch heruntergeladen und als "llama-2-7b-chat.ggmlv3.q4_0.bin" im Projektverzeichnis gespeichert.