SecGPT:全球首个网络安全开源大模型

图片

2023年是人工智能的奇迹年,OpenAI的ChatGPT横空出世,在自然语言的人机对话领域实现了突破性的智能表现。人工智能技术的革命性应用已在各行业引发了热潮,医疗、金融、法律等领域都涌现出了垂类开源大模型,为行业应用带来了无限可能性。与其他行业类似,网络安全从业者们也一直在积极探索安全垂直大模型的实际应用。这一趋势在网络安全领域引发了深刻的变革,为保护互联网生态系统和应对不断增长的威胁提供了新的工具和方法。

近日,云起无垠公司发布了名为「SecGPT」的网络安全大模型开源项目。该项目是全球首个开源的网络安全大模型,截止目前已经在GitHub上积累了超过400个star,受到了广泛的业界关注。云起无垠希望贡献自己的力量,推动网络安全领域迈向智能化时代,实现“让软件更安全,让安全更智能”的企业使命。

SecGPT

SecGPT的愿景是将人工智能技术引入网络安全领域,以提高网络防御的效率和效果。其使命是推动网络安全智能化,为社会提供更安全的数字生活环境。

SecGPT可以作为基座安全模型,用于探索各种网络安全任务。以下是对SecGPT在网络安全任务中可能应用的进一步探讨:

1. 漏洞分析:SecGPT可以与安全研究人员或开发团队进行多轮对话,共同分析和审查应用程序或系统中的潜在漏洞。它可以帮助识别和理解漏洞的性质、潜在影响以及可能的修复方法。

2. 溯源分析:在网络入侵事件调查中,SecGPT可以与调查员合作,协助分析网络流量、日志和事件记录,以追踪攻击者的活动路径,从而支持安全溯源分析。

3. 流量分析:SecGPT可以分析网络流量数据,识别异常流量模式,帮助检测潜在的网络攻击或入侵行为,并提供应对这些行为的建议。

4. 攻击研判:在面对未知攻击时,SecGPT可以与安全团队一起进行多轮对话,共同分析攻击的特征、模式和可能的来源,以便更好地理解和应对威胁。

5. 命令解释:SecGPT可以解释和分析安全相关的命令、脚本或代码,帮助安全专家理解其功能、潜在风险和执行结果。

6. 网安知识问答:SecGPT可以用于回答网络安全领域的问题,为安全从业者提供支持和解释,包括解释安全概念、提供最佳实践建议和分析最新的威胁趋势。

相较于其他的开源模型,SecGPT有以下几个重要的特色:

1. 自写训练代码,节省显存: SecGPT提供了自己的训练代码,包括预训练、有监督学习和DPO强化对齐等功能。这使得即使使用小型显卡,也能够训练大规模的网络安全模型,为更多的开发者和研究者提供了参与网络安全研究的机会。

2. 高质量网络安全训练集: SecGPT提供了精选的高质量网络安全类无监督训练集,使模型能够学习网络安全问题。这有助于提高模型对于网络安全领域的理解。

3. DPO强化学习: 通过DPO强化学习方法,SecGPT引入了安全专家的见解和答案,与模型原始输出一起作为数据进行训练。这种方法有助于模型更好地模拟安全专家的思维方式,提高了模型输出的实用性和准确性,使其更符合安全领域的需求。

4. 无道德限制:在网络安全领域,无道德限制的GPT模型具有优势。比如模型可以深入分析和解释恶意软件的代码、行为和影响,而不受道德限制的束缚。当然,需要注意的是,无道德限制并不意味着可以不受限制地使用这些模型。在执行敏感网络安全任务时,仍然需要谨慎考虑法律、道德和隐私问题,并遵循适用的法律法规和道德准则。

效果展示

1. 代码审计&解释&修复建议

图片

图片

2. 反汇编伪代码分析

图片

图片

3. 钓鱼邮件编写

图片

4. 命令解释

图片

5. 日志分析

图片

3

模型训练

目前,SecGPT不仅开源了基座模型,还开源了所有的训练代码以及数据(包括预训练,有监督训练,DPO训练等大模型全流程训练代码)和网络安全训练数据。我们鼓励任何人都使用这些代码和数据去训练自己的网络安全大模型!

该模型的训练过程大致如下图所示:

图片

基座模型

(1) 选用Baichuan-13B模型作为基座模型进行训练(无道德限制,较好中文支持,显存资源占用小)

(2) 训练环境与配置:

① webdemo推理:2*4090(24G)

② lora训练:3*4090(24G)

微调技术

(1) 基于Lora做预训练和SFT训练

(2) 优化后的训练代码可展示训练的底层知识

(3) 大幅减少训练的显存占用,可在3*4090显卡上训练

训练数据

(1) 预训练数据

① 收集安全书籍,安全知识库,安全论文,安全社区文章,漏洞库等等安全内容。

② 数据集开源地址:

https://huggingface.co/datasets/w8ay/security-paper-datasets

图片

(2) 有监督训练数据

① 利用ChatGPT+人工构造各类有监督安全能力数据集,让模型能了解各类安全指令。

图片

② 思维链:基于思维链方式构造有监督数据集让模型能够根据问题逐步推理到最终答案,展现推理过程。

③ 知乎回答:加入了部分高质量知乎数据集,在一些开放性问题上模型能通过讲故事举例子等方式回答答案和观点,更易读懂。

④ 为防止灾难性遗忘,在有监督数据中,通用能力数据:安全能力数据,约为5:1。

模型训练

(1) 超参数信息配置:

图片

(2) 预训练配置:

图片

(3) SFT训练配置:

图片

(4) RLHF强化学习校准:

为了改善模型的输出质量,有以下两种策略可供选择。首先,可以通过使用更明确的提示词来引导模型,使其更专注于用户需求,从而生成更有针对性的回答。其次,可以采用RLHF强化学习方法,模型将生成多个答案,用户可以手动选择最优的答案,在后面进行强化学习,从而不断提高模型对齐的能力。

SecGPT模型具备内置的RLHF选择器,每次会输出三个不同的答案。用户可以根据需求选择最佳答案,同时这也为后续的RLHF微调提供了有价值的数据,有助于模型进一步提升输出的质量。这些方法共同作用,有助于确保模型输出满足用户的预期,并在网络安全等领域中发挥更大的作用。

图片

关于SecGPT网络安全大模型,这只是我们分享的一部分内容。云起无垠致力于将SecGPT开源大模型分享给更多的安全从业者,我们鼓励大家积极参与共同的研讨和交流,以不断改进和增强其功能。通过开源的方式,我们也期望加强网络安全从业者对这一大模型的理解和应用。

如果您有任何关于该模型的问题或建议,请随时在GitHub上提交issue或PR。我们热切欢迎各位共同参与建设,让SecGPT网络安全大模型能够惠及网络安全领域的每一位需求者!共同的努力将有助于提高网络安全的水平,确保数字生活的安全性。

① SecGPT开源地址:

https://github.com/Clouditera/secgpt

② 模型地址:

https://huggingface.co/w8ay/secgpt

③ 数据集地址:

https://huggingface.co/datasets/w8ay/security-paper-datasets

招聘

如果你也对AI和安全感兴趣,想做相关方面的研究,欢迎加入我们。

云起无垠是新一代AI赋能软件供应链安全实践者,致力于推动AI赋能信息系统安全智能化检测和缺陷自动化修复。团队汇聚了来自清华、北邮等知名高校以及华为、腾讯等头部IT企业的安全领域创新人才,拥有世界一流的自动化漏洞挖掘能力,产品覆盖智能模糊测试、源代码缺陷分析、软件成分分析、智能安全知识库等。

职位:AI与网络安全研究员

工作类型:全职/实习

职责:

  • 深入研究网络安全与人工智能相结合的最新领域,为公司产品和服务提供创新的解决方案。

  • 开发、测试和维护安全工具,用于检测和预防潜在的安全威胁。

  • 与跨部门团队紧密合作,共同推动AI与安全最佳实践。

要求:

  • 熟悉Python、Go、C/C++等编程语言中的至少一个,能够灵活运用进行开发和调试。

  • 具备扎实的Web安全和二进制基础知识,熟悉常见的安全漏洞和攻击技术。

  • 具备良好的问题解决能力和逻辑思维能力,能够分析和归纳复杂的安全问题。

  • 具备卓越的团队合作和沟通能力,能够与不同背景的团队成员高效协作。

  • 具备自我驱动力和持续学习的能力,对新兴安全技术保持敏锐的兴趣。

简历发送邮箱:

huangshengcheng@clouditera.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/263133.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【科学计算语言】实验四 科学计算与可视化

【目的和要求】 (1)理解科学计算实质并掌握Python语言的科学计算应用 (2)掌握常用科学计算库 (3)熟练运用numpy及scipy、matplotlib等计算库资源 【实验准备】 Python核心科学计算库的导入、配置并熟悉相关…

LangChain入门指南:定义、功能和工作原理

LangChain入门指南:定义、功能和工作原理 引言LangChain是什么?LangChain的核心功能LangChain的工作原理LangChain实际应用案例如何开始使用LangChain 引言 在人工智能的浪潮中,语言模型已成为推动技术革新的重要力量。从简单的文本生成到复…

内皮素-1(Endothelin-1 )ELISA kit

灵敏、快速的内皮素-1 ELISA试剂盒,适用于心血管和应激相关研究 内皮素(Endothelin, ET)是由血管内皮细胞产生的异肽,具有强大的血管收缩活性。这种肽由三个独立的基因编码,经过加工产生39个残基的 大ET 分子&#xff…

【JS】事件循环机制

一、JS单线程、异步、同步概念 众所周知,JS是单线程(如果一个线程删DOM,一个线程增DOM,浏览器傻逼了~所以只能单着了),虽然有webworker酱紫的多线程出现,但也是在主线程的控制下。we…

Prompt-to-Prompt:基于 cross-attention 控制的图像编辑技术

Hertz A, Mokady R, Tenenbaum J, et al. Prompt-to-prompt image editing with cross attention control[J]. arXiv preprint arXiv:2208.01626, 2022. Prompt-to-Prompt 是 Google 提出的一种全新的图像编辑方法,不同于任何传统方法需要用户指定编辑区域&#xff…

大一C语言作业题目2

目录 字符串? struct? index细节? scanf细节? 7-2 找出总分最高的学生 给定N个学生的基本信息,包括学号(由5个数字组成的字符串)、姓名(长度小于10的不包含空白字符的非空字符…

转义字符使用详解【C语言】

目录 转义字符的概念 转义字符表 转义字符详解 和 实际使用示例 一、\a 二、\b 三、\f 四、\n 五、\r 六、\t 七、\v 八、\\ 九、\ 十、\" 十一、\? 十二、\0 十三、\ddd 十四、\xhh 总结—— 转义字符的概念 所有的 ASCII码都可以用“\加数字” 来表示…

Shell编程自动化之特殊Shell扩展变量

1.变量的处理 1.1 如果parameter变量值为空,那么返回str字符串。 ${parameter:-str} 1.2 如果parameter变量值为空,那么str替代变量值,且返回其值。 ${parameter:str} 1.3 如果parameter变量值为空,那么str当作stderr输出&am…

数据库关系图,如何连接mysql,编码集和校验集,创建/删除/选择/修改/备份/恢复数据库,数据库本质,查看数据库连接

目录 数据库服务器、数据库和表的关系 连接服务 库的操作 查看数据库 编码格式 编码集 校验集 查看支持的规则 查看系统默认规则 查看默认编码集 查看默认校验集 查看各种服务的默认校验集 创建数据库 if not exists 指定格式创建数据库 设置编码集 设置校验集…

安装gnvm,nodejs,npm使用方法

安装gnvm,nodejs,npm使用方法 一、安装gnvm gnvm.exe下载地址: https://download.csdn.net/download/hsg77/88651752 http://ksria.com/gnvm/#download 二、配置gnvm环境变量 新建目录,如:d:/nodejs 并把gnvm.exe存储到此目录 并把d:/node…

【NI-RIO入门】理解Windows、Real Time与FPGA之间数据通信的原理

于NI kb摘录 1.概述 对于NI RIO系列设备(CompactRIO、sbRIO、myRIO等)进行编程时,需要注意有三个不同的组件。 人机界面 (HMI) 。有时称为“主机”,为用户提供图形用户界面(GUI),用于监控系统…

RabbitMQ笔记(基础篇)

RabbitMQ笔记_基础篇 MQ基本概念1. MQ概述2. MQ的优势和劣势2.1 优势☆2.2 劣势2.3 使用 MQ 需要满足什么条件呢? 3. 常见的MQ产品 RabbitMQ基本介绍1. RabbitMQ 基础架构2. RabbitMQ 中的相关概念3. RabbitMQ的6 种工作模式☆4. AMQP 和 JMS4.1 AMQP4.2 JMS4.3 AMQ…

关于“Python”的核心知识点整理大全35

目录 13.3.4 重构 create_fleet() game_functions.py 13.3.5 添加行 game_functions.py alien_invasion.py 13.4 让外星人群移动 13.4.1 向右移动外星人 settings.py alien.py alien_invasion.py game_functions.py 13.4.2 创建表示外星人移动方向的设置 13.4.3 检…

[c]定位查找

本题需要注意的是多组测试&#xff0c;输入一组测试&#xff0c;输出一个值 下面附上代码 #include<stdio.h> int main() {int n,tmp,count;int arr[20];while(scanf("%d",&n)!EOF){count0;for(int i0;i<n;i){scanf("%d",&arr[i]);}sca…

【数据结构】九、排序

目录 一、排序概述 二、插入排序 2.1直接插入排序 2.2折半插入排序 2.3二路插入排序 2.4表插入排序 2.5希尔排序 三、交换排序 3.1冒泡排序 3.2快速排序 四、选择排序 4.1简单选择排序 4.2锦标赛排序 4.3堆排序 五、归并排序 六、基数排序 七、总结 一、排序概述…

DBeaver连接国产数据库的步骤

驱动配置 第一次安装过DBeaver之后&#xff0c;配置下驱动仓库&#xff0c;安装下图所示操作。 添加马爸爸的maven库连接地址 id&#xff1a; maven.aliyun.com 名称&#xff1a; maven.aliyun.com url&#xff1a; https://maven.aliyun.com/repository/central/ 或者 ht…

TCP协议:可靠传输的基石

目录 1. 数据完整性的保证 2. 数据的有序传输 3. 确认应答机制 4. 流量控制 5. 拥塞控制 6. 重传机制 结论 引言 TCP&#xff08;Transmission Control Protocol&#xff09;是计算机网络中的一个重要协议&#xff0c;它以其可靠性而闻名。TCP是一种面向连接的协议&…

影响晶振频率稳定性的因素及解决方法

晶振作为电子设备中的核心元件&#xff0c;其频率稳定性对设备的性能和可靠性具有重要影响。晶发电子将介绍影响晶振频率稳定性的因素&#xff0c;并探讨相应的解决方法。 一、影响晶振频率稳定性的因素 频率&#xff1a;晶振的频率是影响其性能的最重要因素之一。在选择晶振…

MongoDB介绍

一、MongoDB介绍 1.1 mongoDB介绍 MongoDB 是由C语言编写的&#xff0c;是一个基于分布式文件存储的开源数据库系统。 在高负载的情况下&#xff0c;添加更多的节点&#xff0c;可以保证服务器性能。 MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB …

Jetpack DataStore

文章目录 Jetpack DataStore概述DataStore 对比 SP添加依赖库Preferences DataStore路径创建 Preferences DataStore获取数据保存数据修改数据删除数据清除全部数据 Proto DataStore配置AndroidStudio安装插件配置proto文件创建序列化器 创建 Proto DataStore获取数据保存数据修…
最新文章