
Чат-бот на основе ИИ для кибербезопасности, предназначенный для предоставления полезных и точных ответов на ваши запросы, связанные с кибербезопасностью, а также для анализа кода и анализа сканирования.
_ _ _ ____ _
| | | | __ _ ___| | _| __ ) ___ | |_
| |_| |/ _` |/ __| |/ / _ \ / _ \| __| By: Morpheuslord
| _ | (_| | (__| <| |_) | (_) | |_ AI used: Meta-LLama2
|_| |_|\__,_|\___|_|\_\____/ \___/ \__|
Добро пожаловать в HackBot — ИИ-чатбот по кибербезопасности, предназначенный для предоставления полезных и точных ответов на ваши вопросы, связанные с кибербезопасностью, а также для анализа кода и сканирования. Будь вы исследователем безопасности, этичным хакером или просто интересуетесь кибербезопасностью, HackBot здесь, чтобы помочь вам найти нужную информацию.
HackBot использует мощную языковую модель Meta-LLama2 через библиотеку "LlamaCpp". Это позволяет HackBot отвечать на ваши вопросы связно и релевантно. Пожалуйста, убедитесь, что ваши запросы на английском языке, и следуйте предоставленным рекомендациям для достижения наилучших результатов от HackBot.
AI_OPTION в файле .env: для Runpod вам нужно использовать RUNPOD и для Локального развертывания llama LOCALLLAMA. RUNPOD и LOCALLLAMARUNPOD ID и ваш RUNPOD API KEY установлены.Использование LLama2 — один из лучших офлайн- и бесплатных вариантов. В настоящее время он находится в стадии улучшения: я работаю над промптом, который лучше интегрирует перспективу кибербезопасности в ИИ. Я хочу поблагодарить @thisserand и его репозиторий llama2_local, а также его видео на YouTube YT_Video. Это были отличные ресурсы. Честно говоря, код llama2 на 95% его, я просто взял код и добавил функциональность Flask API.
Точность ИИ в офлайн-режиме и вне тестов кода была отличной и сопоставима с openai или bard, но в коде возникали некоторые проблемы, возможно, из-за промптинга и прочего. Я постараюсь это исправить.
Скорость зависит от вашей системы и конфигурации GPU и CPU. В настоящее время используется модель TheBloke/Llama-2-7B-Chat-GGML, и ее можно изменить через файлы portscanner и dnsrecon.
Пока что код llama и сканирования обрабатываются по-разному. После нескольких тестов я понял, что llama нужно немного обучить, чтобы она работала так, как я задумал, поэтому требуется время. Любые предложения о том, как это сделать, можно добавить в обсуждения этого репозитория Discussions Link. На данный момент вывод не будет разделенным списком всех данных, вместо этого будет объяснение уязвимости или проблем, обнаруженных ИИ.
Промпт для использования модели выглядит так:
[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 генерирует свой вывод.
Для наиболее частого использования я рекомендую создать развертывание бессерверной конечной точки runpod для llama; вы можете обратиться к этому руководству tutorial. Следуйте руководству для лучшего использования.



Перед началом установки убедитесь, что у вас есть следующие предварительные требования:
pip3Visual 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 проверит наличие модели ИИ, необходимой для чатбота. Если модель отсутствует, она будет автоматически загружена и сохранена как "llama-2-7b-chat.ggmlv3.q4_0.bin" в каталоге проекта.
Чтобы начать разговор с HackBot, выполните следующую команду: