Project Icon

HackBot

基于Meta-LLama2的网络安全聊天机器人 支持多种分析功能

HackBot是一个开源的网络安全聊天机器人项目,基于Meta-LLama2模型构建。它支持本地AI和RunPod部署,具备网络安全对话、静态代码分析和漏洞分析功能。用户可通过交互式命令行界面获取网络安全问题解答和进行安全评估。该工具适用于安全研究人员和网络安全爱好者,提供准确、实用的网络安全信息。

HackBot - AI网络安全聊天机器人

     _   _            _    ____        _   
    | | | | __ _  ___| | _| __ )  ___ | |_ 
    | |_| |/ _` |/ __| |/ /  _ \ / _ \| __| 作者: Morpheuslord
    |  _  | (_| | (__|   <| |_) | (_) | |_  使用的AI: Meta-LLama2
    |_| |_|\__,_|\___|_|\_\____/ \___/ \__|

简介

欢迎使用HackBot,这是一个由AI驱动的网络安全聊天机器人,旨在为您的网络安全相关问题提供有用和准确的答案,还可以进行代码分析和扫描分析。无论您是安全研究员、道德黑客,还是对网络安全感兴趣的人,HackBot都能帮助您找到所需的信息。

HackBot通过"LlamaCpp"库使用强大的语言模型Meta-LLama2。这使HackBot能够以连贯和相关的方式回答您的问题。请确保用英语提问,并遵守提供的指南,以便从HackBot获得最佳结果。

特点

  • 本地AI/Runpod部署支持: 我添加了一个选项,您可以轻松部署Hackbot聊天界面,并通过两种方式使用llama:
  • 使用RunPod: 您可以使用runpod无服务器端点部署llama,并通过更改.env文件的AI_OPTION部分将它们连接到聊天机器人。对于Runpod,您需要使用RUNPOD,对于本地Llama部署,使用LOCALLLAMARUNPODLOCALLLAMA
  • 关键注意事项: 要使llama的runpod版本正常工作,您需要确保设置了RUNPOD ID和您的RUNPOD API密钥
  • AI网络安全聊天: HackBot可以回答各种网络安全相关的查询,帮助您进行渗透测试、安全分析等。
  • 交互式界面: 聊天机器人提供了一个交互式命令行界面,方便您与HackBot进行对话。
  • 清晰输出: HackBot以格式良好的markdown呈现其响应,提供易读且有组织的答案。
  • 静态代码分析: 利用提供的扫描数据或日志文件进行静态代码分析。它在不执行代码的情况下彻底检查源代码,识别潜在的漏洞、编码错误和安全问题。
  • 漏洞分析: 使用提供的扫描数据或日志文件执行全面的漏洞分析。它识别和评估目标系统或网络中存在的安全弱点、配置错误和潜在漏洞。

外观展示

使用Llama

使用LLama2是目前最好的离线和免费选择之一。它目前正在改进中,我正在研究一个能更好地将网络安全视角融入AI的提示。 我要感谢**@thisserand**和他的llama2_local仓库,以及他的YouTube视频YT_Video。它们是很好的资源。坦白说,llama2代码95%是他的,我只是提取了代码并为其添加了Flask API功能。

AI在离线和代码测试之外的准确性很高,与openai或bard相当,但在代码中遇到了一些问题,可能是因为提示等原因。我会尝试修复它。 速度取决于您的系统以及GPU和CPU配置。目前,它使用TheBloke/Llama-2-7B-Chat-GGML模型,可以通过portscannerdnsrecon文件更改。

目前,llama代码和扫描是分开处理的。经过几次测试,我发现llama需要一些训练才能按我预期的方式运作,所以需要一些时间。任何关于如何做到这一点的建议都可以添加到此仓库的讨论中讨论链接。目前,输出不会是所有数据的分列表,而是AI发现的漏洞或问题的解释。

模型使用的提示如下:

[INST] <<SYS>> {user_instruction}<</SYS>> 要分析的NMAP数据: {user_message} [/INST]

指令如下:

    对提供的NMAP扫描信息进行NMAP扫描分析。NMAP输出必须按照提供的输出格式返回。数据必须准确地符合渗透测试报告的要求。
    数据必须遵循以下规则:
    1) NMAP扫描必须从渗透测试员的角度进行
    2) 最终输出必须根据给定的格式保持最小化
    3) 最终输出必须保持最小化
    4) 如果在扫描中未找到某个值,只需提及一个空字符串
    5) 分析一切,即使是最小的数据
    6) 完全分析提供的数据,并使用输出格式给出确认答案
    7) 在提供的输出格式中提及您发现的所有数据,以便可以对其使用正则表达式
    8) 避免不必要的解释
    9) 关键分数必须根据存在的CVE或开放服务的性质计算
    10) 操作系统信息必须包含目标使用的操作系统
    11) 开放端口必须包括数据[tcp]中列出的所有开放端口,并通过检查其状态值来验证。您不应忽视任何一个开放端口
    12) 可以通过推测服务性质或分析发现的CVE来确定易受攻击的服务
    输出格式:
        关键分数:
        - 提供关键性信息
        "操作系统信息":
        - 列出操作系统信息
        "开放端口和服务":
        - 列出开放端口
        - 列出开放端口服务
        "易受攻击的服务":
        - 根据CVE或开放端口的性质列出易受攻击的服务
        "发现的CVE":
        - 列出发现的CVE并列出主要问题。

使用指令集和通过提示提供的数据,llama AI生成其输出。

为了最佳使用,我建议您创建一个runpod无服务器端点部署的llama,您可以参考这个教程教程。按照教程获得更好的使用体验。

聊天:

HackBot_chat

静态代码分析:

code_analysis

漏洞分析:

vuln_analysis

安装

前提条件

在开始安装之前,请确保您具备以下条件:

步骤1: 克隆仓库

git clone https://github.com/morpheuslord/hackbot.git
cd hackbot

步骤2: 安装依赖

pip3 install -r requirements.txt

步骤3: 下载AI模型

python3 hackbot.py

首次运行HackBot时,它会检查聊天机器人所需的AI模型。如果模型不存在,它会自动下载并保存为项目目录中的"llama-2-7b-chat.ggmlv3.q4_0.bin"。

使用方法

要开始与HackBot对话,请运行以下命令:

对于本地LLama用户

.env文件必须如下所示:

RUNPOD_ENDPOINT_ID = ""
RUNPOD_API_KEY = ""
AI_OPTION = "LLAMALOCAL"

完成后运行以下命令:

python hackbot.py

对于RunPod LLama用户

.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的功能和准确性。如果您遇到任何问题或有改进建议,请随时提出问题或提交拉取请求。按照以下步骤贡献:

  1. Fork仓库。
  2. 创建一个具有描述性名称的新分支。
  3. 进行更改并提交。
  4. 将更改推送到您的forked仓库。
  5. 向此仓库的main分支打开拉取请求。

请保持清晰的提交历史,并遵守项目的编码准则。

AI训练

如果有人了解如何训练文本生成模型并能帮助改进代码,那将非常有帮助。对于AI训练部分,我已经准备了一个数据集和一个可用的训练代码,但我在训练部分遇到了问题,对此的合作将不胜感激。 您可以在以下位置查看数据集:

GitHub版本的数据集用于OpenAI训练,而另一个版本用于Meta的Llama2-7b。数据集的目标是尝试并可能生成一个能够更好地处理CVE数据的AI模型。如果您认为数据集有所欠缺,请随时修改并分享您的看法。

联系方式

如果您对HackBot有任何问题、反馈或询问,请随时联系项目维护者:

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号