项目介绍:AutoAudit
AutoAudit 描述
AutoAudit 是一个旨在增强网络安全领域的自动化审计工具,它结合了大型语言模型(LLM)在复杂的网络安全领域内的应用潜力。随着网络威胁的日益复杂和规模扩大,AutoAudit 利用先进的语言处理能力来提升威胁检测、分析和响应的效率。该项目的目标是在操作系统、网络协议、恶意软件分析等多个领域应用 LLM,用于改善安全防御机制。
在与传统方法的对比中,AutoAudit 所采用的 LLMs 能够根据不断变化的威胁环境进行微调,自动化重复性分析任务,并整合多个来源的数据进行细微威胁的风险评估,从而增强系统的适应性和弹性。
AutoAudit 系列模型
AutoAudit-7B
AutoAudit-7B 是基于 Alpaca-Lora 训练的演示版本,它主要支持英语环境下的网络安全操作。然而,它目前在上下文理解方面有所欠缺。
AutoAudit-8B-Instruct
这个版本基于 Llama3-8B-instruct 进行微调,在回答与网络安全相关的问题时性能显著提升。与 7B 版本相比,它的基础能力也得到了大幅提升。
AutoAudit-Qwen
由于中文网络安全语料库的有限性,这个版本仍在探索和规划阶段。
项目框架与使用
通过将 AutoAudit 模型与 ClamAV 结合,项目搭建了一个安全扫描平台,前端界面灵感来源于 Bootstrap 模板。用户可以在 HuggingFace 上直接下载 AutoAudit 模型的相关数据和参数。
代理部署和使用步骤
- 从 GitHub 下载该项目。
- 创建和激活 Conda 环境。
- 安装项目所需的所有依赖。
- 安装 ClamAV 并将其添加到环境路径中。
- 设置 llama 模型和 Lora 权重的路径。
- 运行
python manage.py runserver
启动项目。
数据集
项目使用了一种结合人工注释和自生成数据的 Self-Instruct 数据集组织方法。主要数据来源包括 Github、Kaggle、安全网站和公开的安全漏洞数据。处理后的数据用于构建对话数据集,其组织格式严格遵循 Alpaca 模型的数据集格式,主要分为指令、输入和输出三个部分。
输出部分详细阐述分析内容(analysis)、安全评级(label)、安全风险(risk)及相应解决方案(solution)。
未来计划
- 合成高质量的网络安全知识库:计划通过开/闭卷问答、是非问答及思维链问题等多项内容,进行网络安全数据集的开源及代码公开。
- 整合更多安全工具:结合 Nmap 和 Metasploit 等工具,实现网络安全操作的自动化,提升操作效率。
- 评估模型安全性:评估大型语言模型可能的安全风险,如潜在的越狱或者后门,确保模型在现实中应用时的安全性和抗攻击能力。
致谢
项目的发展离不开我的朋友 Eric Ma 和 CUHKSZ He Lab 的支持与合作,感谢他们的帮助与指导。此外,感谢每一位开源社区成员的支持,期望大家喜欢并使用该项目。