
Chatbot de cybersécurité alimenté par l'IA, conçu pour fournir des réponses utiles et précises à vos questions liées à la cybersécurité, ainsi que pour effectuer des analyses de code et des analyses de scan.
_ _ _ ____ _
| | | | __ _ ___| | _| __ ) ___ | |_
| |_| |/ _` |/ __| |/ / _ \ / _ \| __| By: Morpheuslord
| _ | (_| | (__| <| |_) | (_) | |_ AI used: Meta-LLama2
|_| |_|\__,_|\___|_|\_\____/ \___/ \__|
Bienvenue sur HackBot, un chatbot de cybersécurité alimenté par l'IA conçu pour fournir des réponses utiles et précises à vos questions liées à la cybersécurité, ainsi que pour effectuer des analyses de code et des analyses de scans. Que vous soyez un chercheur en sécurité, un hacker éthique ou simplement curieux de la cybersécurité, HackBot est là pour vous aider à trouver les informations dont vous avez besoin.
HackBot utilise le puissant modèle de langage Meta-LLama2 via la bibliothèque "LlamaCpp". Cela permet à HackBot de répondre à vos questions de manière cohérente et pertinente. Veuillez vous assurer de formuler vos questions en anglais et de respecter les directives fournies pour obtenir les meilleurs résultats de HackBot.
AI_OPTION du fichier .env pour Runpod vous devez utiliser RUNPOD et pour Déploiement local de Llama LOCALLLAMA. RUNPOD & LOCALLLAMARUNPOD ID et votre RUNPOD API KEY sont définis.Utiliser LLama2 est l'une des meilleures options hors ligne et gratuites disponibles. Il est actuellement en cours d'amélioration, je travaille sur une invite qui intégrera mieux la perspective cybersécurité dans l'IA. Je dois remercier @thisserand et son dépôt llama2_local ainsi que sa vidéo YT YT_Video. Ce furent d'excellentes ressources. Pour être franc, le code de llama2 est à 95% le sien, j'ai simplement pris le code et ajouté une fonctionnalité Flask API.
La précision de l'IA hors ligne et en dehors des tests de code était excellente et avait une précision égale à openai ou bard, mais dans le code, elle rencontrait quelques problèmes, peut-être à cause de l'invite et autres. Je vais essayer de le corriger.
La vitesse dépend de votre système et de vos configurations GPU et CPU. Actuellement, il utilise le modèle TheBloke/Llama-2-7B-Chat-GGML et peut être modifié via les fichiers portscanner et dnsrecon.
Pour l'instant, le code llama et les scans sont traités différemment. Après quelques tests, j'ai découvert que llama doit être un peu entraîné pour fonctionner comme je le souhaitais, donc cela prend du temps. Toute suggestion sur la façon de procéder peut être ajoutée aux discussions de ce dépôt Lien des discussions. Pour l'instant, la sortie ne sera pas une liste divisée de toutes les données, mais plutôt une explication de la vulnérabilité ou des problèmes découverts par l'IA.
L'invite pour l'utilisation du modèle ressemble à ceci :
[INST] <<SYS>> {user_instruction}<</SYS>> NMAP Data to be analyzed: {user_message} [/INST]
Les instructions ressemblent à ceci :
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.
En utilisant l'ensemble d'instructions et les données fournies via l'invite, l'IA llama génère sa sortie.
Pour la plupart des utilisations, je vous suggère de créer un déploiement serverless de llama sur Runpod ; vous pouvez vous référer à ce tutoriel pour cela tutoriel. Suivez le tutoriel pour une meilleure utilisation.



Avant de procéder à l'installation, assurez-vous de disposer des prérequis suivants :
pip3Visual studio Code - Suivez les étapes de ce lien llama-cpp-prereq-install-instructionscmakegit clone https://github.com/morpheuslord/hackbot.git
cd hackbot
pip3 install -r requirements.txt
python3 hackbot.py