CN116611074A - 安全信息审查方法、设备、存储介质及装置 - Google Patents
安全信息审查方法、设备、存储介质及装置 Download PDFInfo
- Publication number
- CN116611074A CN116611074A CN202310873379.6A CN202310873379A CN116611074A CN 116611074 A CN116611074 A CN 116611074A CN 202310873379 A CN202310873379 A CN 202310873379A CN 116611074 A CN116611074 A CN 116611074A
- Authority
- CN
- China
- Prior art keywords
- preset
- model
- information
- code
- examination
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000012552 review Methods 0.000 claims abstract description 97
- 238000012549 training Methods 0.000 claims abstract description 96
- 238000007689 inspection Methods 0.000 claims abstract description 87
- 230000003068 static effect Effects 0.000 claims abstract description 39
- 238000013210 evaluation model Methods 0.000 claims abstract description 8
- 238000011156 evaluation Methods 0.000 claims description 32
- 238000012360 testing method Methods 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 5
- 238000012216 screening Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 31
- 238000010276 construction Methods 0.000 description 25
- 238000005457 optimization Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 10
- 238000012550 audit Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 230000002787 reinforcement Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011076 safety test Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算机技术领域,本发明公开了一种安全信息审查方法、设备、存储介质及装置,本发明基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,预设评审模型是基于大语言模型GLM结合预设P‑Tuning方式训练获得的模型;基于预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;根据第一审查信息和所述第二审查信息生成审查结果,本发明通过预设评审模型对代码文件进行静态审查以及安全审查,根据获得的审查信息生成审查结果,本发明结合各种安全检测技术,对安全事件进行智能化、自动化的审查处理,从而提高安全事件的检测准确率和效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种安全信息审查方法、设备、存储介质及装置。
背景技术
随着DevSecOps概念的推广,以及云原生安全概念的快速普及,研发安全和操作环境安全越来越受大家视。目前,在系统研发的过程中,开源组件引入的比例也越来越高,所以在开源软件治理层面安全部门投更多的精力。
为了保障系统开发安全,在整个研发流程引入组件管理和安全检测,在各个环节提升产品安全性,尽早发现安全漏洞,如果发现问题,可以有充足的准备来找到问题的原因,快速解决问题。最常见的方法是通过检查出的漏洞id后,手动去搜索相关的内容,并进行修复。搜索的结果的有效性和可靠性都与人的主观因素有关,费时费力。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种安全信息审查方法、设备、存储介质及装置,旨在解决现有信息安全技术中由于缺少全面的安全信息数据以及没有完整的审查流程,依赖人工搜索依赖人工搜索导致存在审查效率低、误报率高的技术问题。
为实现上述目的,本发明提供一种安全信息审查方法,所述安全信息审查方法包括以下步骤:
基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
根据所述第一审查信息和所述第二审查信息生成审查结果。
可选地,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤之前,还包括:
通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型;
根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型;
基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤之前,还包括:
根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;
将所述训练后的第一基础模型作为预设奖励模型并输出。
可选地,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;
将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;
根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;
根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;
根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述代码静态审查包括格式检查、风格检查和性能检查,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤,包括:
基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;
根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
可选地,所述代码安全审查包括代码安全测试和组件安全检查,所述基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息的步骤,包括:
基于所述预设评审模型对所述待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;
根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
可选地,所述根据所述第一审查信息和所述第二审查信息生成审查结果的步骤之后,还包括:
根据所述审查结果中所述代码漏洞信息以及所述组件漏洞信息生成漏洞优化建议;
根据所述审查结果中所述代码格式信息、所述代码风格信息和所述代码性能信息生成代码性能优化建议。
可选地,所述根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果的步骤,包括:
根据所述评估结果中分值差异信息和预设差异阈值进行比较,获得比较结果;
在所述比较结果为所述分值差异大于预设差异阈值时,则判定不需要对所述待执行策略网络进行更新;
在所述比较结果为所述分值差异不大于预设差异阈值时,则判定对所述待执行策略网络进行更新。
可选地,所述根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
在所述判断结果为判定对所述待执行策略网络进行更新时,通过预设KL散度对策略网络的损失函数以及价值网络的损失函数进行更新,获得目标损失函数;
基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
根据预设PPO算法对预设安全信息数据进行微调,获得微调后的监督数据;
根据所述目标损失函数以及所述监督数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型的步骤之前,还包括:
通过采集开源数据组合生成预训练数据集,所述开源数据包括BooksCorpus、Wikipedia、Github上开源的通用数据;
通过机器排序方式对ChatGPT和GLM模型输入相同安全信息问题,获得问答信息;
根据所述问答信息生成预设问答排序数据集。
此外,为实现上述目的,本发明还提出一种安全信息审查设备,所述安全信息审查设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全信息审查程序,所述安全信息审查程序配置为实现如上文所述的安全信息审查的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有安全信息审查程序,所述安全信息审查程序被处理器执行时实现如上文所述的安全信息审查方法的步骤。
此外,为实现上述目的,本发明还提出一种安全信息审查装置,所述安全信息审查装置包括:
静态审查模块,用于基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
安全审查模块,用于基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
报告生成模块,用于根据所述第一审查信息和所述第二审查信息生成审查结果。
可选地,所述安全信息审查装置还包括模型构建模块,所述模型构建模块,用于通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型;
所述模型构建模块,还用于根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型;
所述模型构建模块,还用于基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述模型构建模块,还用于根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;
所述模型构建模块,还用于将所述训练后的第一基础模型作为预设奖励模型并输出。
可选地,所述模型构建模块,还用于从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;
所述模型构建模块,还用于将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;
所述模型构建模块,还用于根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;
所述模型构建模块,还用于根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述模型构建模块,还用于根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;
所述模型构建模块,还用于根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
可选地,所述代码静态审查包括格式检查、风格检查和性能检查,所述静态审查模块,还用于基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;
所述静态审查模块,还用于根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
本发明通过基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;根据所述第一审查信息和所述第二审查信息生成审查结果,本发明通过预设评审模型对代码文件进行静态审查以及安全审查,根据获得的审查信息生成审查结果,相较于现有信息安全技术中由于缺少全面的安全信息数据以及没有完整的审查流程,依赖人工搜索导致存在审查效率低、误报率高的问题,本发明结合各种安全检测技术,对安全事件进行智能化、自动化的审查处理,从而提高安全事件的检测准确率和效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的安全信息审查设备的结构示意图;
图2为本发明安全信息审查方法第一实施例的流程示意图;
图3为本发明安全信息审查方法第一实施例的安全评审示意图;
图4为本发明安全信息审查方法第二实施例的流程示意图;
图5为本发明安全信息审查方法第二实施例的数据收集流程示意图;
图6为本发明安全信息审查方法第二实施例的模型微调示意图;
图7为本发明安全信息审查方法第二实施例的整体架构示意图;
图8为本发明安全信息审查装置第一实施例的结构框图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的安全信息审查设备结构示意图。
如图1所示,该安全信息审查设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(Wireless-Fidelity,Wi-Fi)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对安全信息审查设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及安全信息审查程序。
在图1所示的安全信息审查设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述安全信息审查设备通过处理器1001调用存储器1005中存储的安全信息审查程序,并执行本发明实施例提供的安全信息审查方法。
基于上述硬件结构,提出本发明安全信息审查方法的实施例。
参照图2,图2为本发明安全信息审查方法第一实施例的流程示意图,提出本发明安全信息审查方法第一实施例。
在本实施例中,所述安全信息审查方法包括以下步骤:
步骤S10:基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型。
需说明的是,本实施例中的执行主体可以是具有安全信息审查系统的设备,如:服务器、智能手机、笔记本、电脑以及平板等,还可为其它可实现相同或相似功能的安全信息审查设备,本实施例对此不做限制。此处将以上述计算机为例对本实施例和下述各实施例进行说明。本方案中所提出的安全信息审查系统具备一种自动化的安全信息审查流程,无需专业人士的审查,可自动审查安全信息并给出相关建议。在本实施例以及下述各实施例中以计算机为例对本发明安全信息审查方法进行说明。
可理解的是,预设评审模型可以是预先基于大语言模型GLM结合预设P-Tuning方式训练获得的模型。待审查代码文件可以是需要进行风险监测以及代码漏洞及性能进行检测的代码片段构成的文件,其中静态审查是指针对代码性能进行预设维度的审查,所述预设维度可以由代码格式、代码风格和代码性能对应的三个维度对代码文件进行审查,获得代码格式、代码风格和代码性能对应的三个维度对应的审查结果。
应理解的是,根据上述三个维度对应的审查结果生成第一审查信息,其中大语言模型GLM是指开源双语预训练语言模型,GLM是一种基于transformer的语言模型,利用自回归空白填充作为训练目标。预设P-Tuning方式是指预先设置的用于对大语言模型GLM进行有监督的微调,即在embedding层中加入两个全连接层进行微调。
具体实现中,通过预设评审模型按照代码格式、代码风格和代码性能对应的三个维度对待审查代码文件进行审查,将获得的代码格式、代码风格和代码性能对应的三个维度对应的审查结果组成第一审查信息。
进一步地,所述代码静态审查包括格式检查、风格检查和性能检查,所述步骤S10还包括:基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
需说明的是,代码静态审查分为预设三个维度,因此需要针对待审查代码进行格式检查、风格检查和性能检查,从而获得代码格式信息、代码风格信息和代码性能信息。
可理解的是,通过代码格式信息、代码风格信息和代码性能信息确定第一审查信息。
步骤S20:基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息。
需说明的是,其中安全审查是指针对代码以及组件进行安全维度的审查,所述安全审查包括代码安全测试和组件安全检查。
进一步地,通过对待审查代码文件进行代码安全测试和组件安全检查,所述步骤S20还包括:基于所述预设评审模型对所述待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
需说明的是,基于预设评审模型对待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
可理解的是,代码漏洞信息可以是指容易被攻击的代码片段组成的漏洞信息,所述组件漏洞信息可以是指组件存在风险容易造成恶意攻击的漏洞信息。
步骤S30:根据所述第一审查信息和所述第二审查信息生成审查结果。
需说明的是,根据第一审查信息中代码格式信息、代码风格信息和代码性能信息和第二审查信息中代码漏洞信息以及组件漏洞信息生成审查结果。
具体实现中,为了进一步说明代码文件审查流程,可以参考图3所示的安全评审示意图,使用微调后的安全评审模型辅助安全审查,主要包括静态检查和安全审查两个部分。静态检查主要包含格式检查、风格检查和性能检查,使用AI模型帮助开发人员得到更加符合规范的代码格式,统一项目代码风格,提供代码性能优化建议,避免非必要的复杂逻辑设计,增强源代码的可读性和可维护性;安全审查主要是代码安全测试和组件安全检查,代码安全测试通过规则匹配等方式,自动识别关键漏洞,并定位到容易被攻击的代码片段,组件安全审查识别并匹配已发现的组件漏洞风险,避免通过漏洞组件造成的恶意攻击,最终提供安全审查报告。
进一步地,所述步骤S30之后,还包括:根据所述审查结果中所述代码漏洞信息以及所述组件漏洞信息生成漏洞优化建议;根据所述审查结果中所述代码格式信息、所述代码风格信息和所述代码性能信息生成代码性能优化建议。
需说明的是,通过审查结果中代码漏洞信息以及组件漏洞信息生成漏洞优化建议,根据审查结果中代码格式信息、代码风格信息和代码性能信息生成代码性能优化建议。根据上述漏洞优化建议和代码性能优化建议生成目标修复建议。
具体实现中,通过安全信息审查模块中预设安全评审模型对代码文件进行静态审查和安全审查,找出存在安全问题的地方,并给出代码漏洞的信息及修复建议。即在发现漏洞后,需要对漏洞进行处理,需要获取漏洞的相关信息,包括:漏洞号,漏洞产生的原因、漏洞的描述及漏洞的修复建议等。
本实施例通过基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;根据所述第一审查信息和所述第二审查信息生成审查结果,本实施例通过预设评审模型对代码文件进行静态审查以及安全审查,根据获得的审查信息生成审查结果,相较于现有信息安全技术中由于缺少全面的安全信息数据以及没有完整的审查流程,依赖人工搜索导致存在审查效率低、误报率高的问题,本实施例结合各种安全检测技术,对安全事件进行智能化、自动化的审查处理,从而提高安全事件的检测准确率和效率。
参照图4,图4为本发明安全信息审查方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明安全信息审查方法的第二实施例。
在本实施例中,所述步骤S10之前,还包括:
步骤S01:通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型。
需说明的是,为说明预设安全评审模型的训练构建过程,本方案中通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型。
可理解的是,预训练数据集是用于预训练语言模型的数据集,因此需要在模型训练前预先构建相应的数据集,其中针对安全评审模型训练时,需要预先收集三部分数据,第一部分是用于预训练语言模型的数据集,第二部分是用于微调模型的安全信息数据,第三部分为问答排序数据,其中,所述步骤S01之前,还包括:通过采集开源数据组合生成预训练数据集,所述开源数据包括BooksCorpus、Wikipedia、Github上开源的通用数据;通过机器排序方式对ChatGPT和GLM模型输入相同安全信息问题,获得问答信息;根据所述问答信息生成预设问答排序数据集。
应理解的是,可以参考图5所示的数据收集流程示意图,第一部分是用来预训练语言模型的,通过一些开源的数据,包括BooksCorpus、Wikipedia、Github上开源的一些通用数据,组合成通用预训练数据集。这类数据用以指导模型的生成和理解能力。第二部分是用于微调的安全信息数据。通过收集公开的一些安全信息共计20多万条,用作微调的数据。第三部分为问答排序数据,由于安全信息专业度较高,难以找到相关经验的工作人员来进行标注,因此这里采用机器排序的方式,即向ChatGPT和GLM模型问同一个安全信息问题,分别得到一条回答,默认chatgpt的回答比GLM的回答更为准确,因此将ChatGPT的回答排rank1,GLM的回答为rank 2,用以指导RLHF部分的价值网络的有监督训练学习。通过上述方法采集三个部分的数据,并将数据存储至数据库中。
步骤S02:根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型。
需说明的是,预设P-Tuning方式是指预先设置的用于对大语言模型GLM进行有监督的微调,即在embedding(嵌入)层中加入两个全连接层进行微调。
可理解的是,以GLM为基础模型,在大量语料上进行自回归学习,使用单个transformer编码器学习单向和双向的注意力,得到一个表征能力较强的基础模型base_model。为了更好的进行安全类信息的理解,基于安全信息数据进行微调。首先通过P-Tuning的方式对基础模型进行有监督的微调,即在embedding层中加入两个全连接层进行微调,得到p-tuning后的模型p-safe-model,即第二基础模型为p-safe-model。
步骤S03:基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
需说明的是,预设PPO算法可以是预先设置的针对安全信息数据进行微调的算法,即通过使用强化学习PPO算法再进一步在预设安全信息数据上进行微调,以提升数据精准性。
可理解的是,预设安全信息数据包含各种类型代码文件对应的代码片段数据。通过预设PPO算法对预设安全信息数据进行微调,从而获得微调后的监督数据,进而根据微调后的监督数据对第二基础模型进行训练,获得预设评审模型。
进一步地,所述步骤S03之前,还包括:根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;将所述训练后的第一基础模型作为预设奖励模型并输出。
需说明的是,预设RLHF策略是预先设置的用于对问答排序数据集进行训练的策略,通过RLHF策略对预设问答排序数据集的训练过程可以分为多种策略产生样本并收集人类反馈,训练奖励模型,训练强化学习策略,微调第二基础模型。
可理解的是,为进一步说明,参考图6所示的模型微调示意图,本方案中通过在预训练的语言模型(即第一基础模型)上进行P-tuning及结合LORA的RLHF进行模型的微调,从而获得第二基础模型,但是由于需要优化第二基础模型,因此借助预训练获得的奖励模型对第二基础模型进行迭代优化。
应理解的是,本方案中通过预设RLHF策略对预设问答排序数据集进行训练,获得更加精准的目标排序数据,进而根据目标排序数据对第一基础模型进行训练,获得训练后的基础模型,将训练后的模型作为奖励模型输出,便于后期优化第二基础模型。
具体实现中,为了进一步让模型的安全信息表达能力更强,结合微调的方式进行进一步的学习。这里,借助ChatGPT中使用的RLHF思想,进行微调,让语言模型能和复杂的人类价值观对齐。具体做法为:先预训练一个语言模型base_model,然后基于问答排序数据训练一个奖励模型reward_model。奖励模型的作用是训练出一个模型,让他对chatgpt输出回答和chatglm输出的回答进行打分,目标是让chatgpt输出回答的得分比chatglm输出回答的得分高。损失函数如下:
chosen_reward = model_model(chosen_ids, attention_mask=c_mask)reject_reward = model_model(reject_ids, attention_mask=r_mask)
loss = LogSigLoss(chosen_reward, reject_reward)
其中chosen_ids为chatgpt对当前问题的回答的编码,reject_ids为chatglm对当前问题回答的编码。chosen_reward为chatgpt的回答的得分,reject_reward为chatglm的回答的得分。其损失为两者之间的差异。
进一步地,为了说明预设评审模型的迭代优化过程,所述步骤S02还包括:从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
需说明的是,从预设问题数据中随机采样prompt(对话框)输入至第二基础模型中,获得第一输出结果,所述第一输出结果包括一系列文本(或文本的概率分布)。
可理解的是,将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果,具体是指,问题数据中随机采样prompt作为输入,同时输入初始的语言模型p-safe-model和当前训练的policy网络, 得到两个不同的输出y_base和y_policy。所述第二输出结果包括y_base和y_policy。
具体实现中,训练好奖励模型后,用强化学习PPO算法再进一步在安全信息数据上进行微调。这里采用p-safe-model作为第二基础模型,也就是策略网络(policy)。策略网络接收prompt作为输入,然后输出一系列文本(或文本的概率分布);而动作空间就是词表所有token在所有输出位置的排列组合(单个位置通常有50k左右的token候选);观察空间则是可能的输入token序列(即prompt),为词表所有token在所有输入位置的排列组合。价值网络(critic)可以采用与奖励模型相同的结构及参数。从问题数据中随机采样prompt作为输入,同时输入初始的语言模型p-safe-model和当前训练的policy网络, 得到两个不同的输出y_base和y_policy。然后用奖励模型reward_model对y_base和y_policy进行打分,判断谁更优。进而将最优的模型输出作为预设评审模型。
进一步地,所述根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
需说明的是,奖励模型是用于对第二基础模型打分的,因此可以根据奖励模型输出的评估结果中的分值从第二基础模型中选取最优模型作为目标模型输出。
可理解的是,通过奖励模型reward_model对y_base和y_policy进行打分,y_policy比y_base越大奖励就越高。因此二者分值的差异可以作为policy网络的更新的参考。
具体实现中,通过评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;根据判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果的步骤,包括:根据所述评估结果中分值差异信息和预设差异阈值进行比较,获得比较结果;在所述比较结果为所述分值差异大于预设差异阈值时,则判定不需要对所述待执行策略网络进行更新;在所述比较结果为所述分值差异不大于预设差异阈值时,则判定对所述待执行策略网络进行更新。
需说明的是,预设差异阈值可以是预先设置的用于判断模型指令的差异阈值,差异阈值越高则奖励越高,表征模型质量越优。因此通过判断评估结果中的分值差异与预设差异阈值进行比较,若比较结果为分值差异大于预设差异阈值,则表明不需要对第二基础模型进行更新,将当前最优模型输出作为预设评审模型。
可理解的是,若比较结果为分值差异不大于预设差异阈值时,则表明还需要对第二基础模型进行更新。
进一步地,针对第二基础模型更新的过程,通过所述根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:在所述判断结果为判定对所述待执行策略网络进行更新时,通过预设KL散度对策略网络的损失函数以及价值网络的损失函数进行更新,获得目标损失函数;基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
需说明的是,预设KL散度可以是预先设定的用于衡量概率分布之间的差异的方式,其中策略网络的损失函数包括待执行的策略网络以及价值网络对应的损失函数,由于在模型更新时,需要通过损失函数对模型进行训练,因此,在具体实现中,在判定需要对第二基础模型进行优化更新时,通过KL散度来计算。初始状态下,policy与p-safe-model是一样的,其中所述策略网络的损失如下:
advantages = reward - value
ratio = (log_probs - old_log_probs).exp()surr1 = ratio *advantagessurr2 = ratio.clamp(1 - clip_eps, 1 + clip_eps) * advantagesloss =-torch.min(surr1, surr2)loss = loss.mean()
所述reward为奖励模型的输出,value为价值网络的输出,advantages为优势函数。clip_eps为0.4。
所述价值网络更新损失如下:
values_clipped = old_values + (values - old_values).clamp(-clip_eps,clip_eps)surr1 = (values_clipped - reward)**2surr2 = (values - reward)**2loss= torch.max(surr1, surr2)loss = loss.mean()
其中,old_values为旧价值网络输出的值,values为当前价值网络输出的值。
由于网络模型较大,这里policy网络和critic网络的微调都采用基于Lora的形式,以减少训练过程中的显存占用。
进一步地,所述基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:根据预设PPO算法对预设安全信息数据进行微调,获得微调后的监督数据;根据所述目标损失函数以及所述监督数据对所述第二基础模型进行训练,获得预设评审模型。
需说明的是,在上述目标损失函数更新后,需要结合通过预设PPO算法对预设安全信息数据微调后获得的监督数据对第二基础模型进行训练优化,进而输出最优模型。
可理解的是,模型在迭代优化过程中,需要根据更新后的损失函数结合监督数据进行模型训练,进而得到最优的评审模型。
其中,为进一步说明本方案的具体实现流程,可以参考图7所示的整体架构示意图,本方案通过收集模型和数据集,并通过预设算法对数据集进行微调,以及对模型结构进行调整获得最优的评审模型,并将该模型进行存储至安全信息审查模块以便于后期对待审查文件进行审查,在实际审查过程中通过安全信息审查模块中预设安全评审模型对代码文件进行静态审查和安全审查,找出存在安全问题的地方,并给出代码漏洞的信息(漏洞名称、漏洞描述)及漏洞修复建议。
本实施例通过基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;根据所述第一审查信息和所述第二审查信息生成审查结果,本实施例通过预设评审模型对代码文件进行静态审查以及安全审查,根据获得的审查信息生成审查结果,相较于现有信息安全技术中由于缺少全面的安全信息数据以及没有完整的审查流程,依赖人工搜索导致存在审查效率低、误报率高的问题,本实施例结合各种安全检测技术,对安全事件进行智能化、自动化的审查处理,从而提高安全事件的检测准确率和效率。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有安全信息审查程序,所述安全信息审查程序被处理器执行时实现如上文所述的安全信息审查方法的步骤。
参照图8,图8为本发明安全信息审查装置第一实施例的结构框图。
如图8所示,本发明实施例提出的安全信息审查装置包括:
静态审查模块10,用于基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
安全审查模块20,用于基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
报告生成模块30,用于根据所述第一审查信息和所述第二审查信息生成审查结果。
本实施例通过基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;根据所述第一审查信息和所述第二审查信息生成审查结果,本实施例通过预设评审模型对代码文件进行静态审查以及安全审查,根据获得的审查信息生成审查结果,相较于现有信息安全技术中由于缺少全面的安全信息数据以及没有完整的审查流程,依赖人工搜索导致存在审查效率低、误报率高的问题,本实施例结合各种安全检测技术,对安全事件进行智能化、自动化的审查处理,从而提高安全事件的检测准确率和效率。
进一步地,所述安全信息审查装置还包括模型构建模块,所述模型构建模块,用于通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型;
所述模型构建模块,还用于根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型;
所述模型构建模块,还用于基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述模型构建模块,还用于根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;
所述模型构建模块,还用于将所述训练后的第一基础模型作为预设奖励模型并输出。
进一步地,所述模型构建模块,还用于从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;
所述模型构建模块,还用于将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;
所述模型构建模块,还用于根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;
所述模型构建模块,还用于根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述模型构建模块,还用于根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;
所述模型构建模块,还用于根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述代码静态审查包括格式检查、风格检查和性能检查,所述静态审查模块10,还用于基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;
所述静态审查模块10,还用于根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
进一步地,所述代码安全审查包括代码安全测试和组件安全检查;所述安全审查模块20,还用于基于所述预设评审模型对所述待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;
所述安全审查模块20,还用于根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
进一步地,所述报告生成模块30,还用于根据所述审查结果中所述代码漏洞信息以及所述组件漏洞信息生成漏洞优化建议;
所述报告生成模块30,还用于根据所述审查结果中所述代码格式信息、所述代码风格信息和所述代码性能信息生成代码性能优化建议。
进一步地,所述模型构建模块,还用于根据所述评估结果中分值差异信息和预设差异阈值进行比较,获得比较结果;在所述比较结果为所述分值差异大于预设差异阈值时,则判定不需要对所述待执行策略网络进行更新;在所述比较结果为所述分值差异不大于预设差异阈值时,则判定对所述待执行策略网络进行更新。
进一步地,所述模型构建模块,还用于在所述判断结果为判定对所述待执行策略网络进行更新时,通过预设KL散度对策略网络的损失函数以及价值网络的损失函数进行更新,获得目标损失函数;基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述模型构建模块,还用于根据预设PPO算法对预设安全信息数据进行微调,获得微调后的监督数据;根据所述目标损失函数以及所述监督数据对所述第二基础模型进行训练,获得预设评审模型。
进一步地,所述安全信息审查装置还包括数据采集模块,所述数据采集模块,用于通过采集开源数据组合生成预训练数据集,所述开源数据包括BooksCorpus、Wikipedia、Github上开源的通用数据;通过机器排序方式对ChatGPT和GLM模型输入相同安全信息问题,获得问答信息;根据所述问答信息生成预设问答排序数据集。
本发明安全信息审查装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
本发明提供A1、一种安全信息审查方法,所述安全信息审查方法包括以下步骤:
基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
根据所述第一审查信息和所述第二审查信息生成审查结果。
A2、如A1所述的安全信息审查方法,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤之前,还包括:
通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型;
根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型;
基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
A3、如A2所述的安全信息审查方法,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤之前,还包括:
根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;
将所述训练后的第一基础模型作为预设奖励模型并输出。
A4、如A3所述的安全信息审查方法,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;
将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;
根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;
根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
A5、如A4所述的安全信息审查方法,所述根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;
根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
A6、如A1所述的安全信息审查方法,所述代码静态审查包括格式检查、风格检查和性能检查,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤,包括:
基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;
根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
A7、如A6所述的安全信息审查方法,所述代码安全审查包括代码安全测试和组件安全检查,所述基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息的步骤,包括:
基于所述预设评审模型对所述待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;
根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
A8、如A7所述的安全信息审查方法,所述根据所述第一审查信息和所述第二审查信息生成审查结果的步骤之后,还包括:
根据所述审查结果中所述代码漏洞信息以及所述组件漏洞信息生成漏洞优化建议;
根据所述审查结果中所述代码格式信息、所述代码风格信息和所述代码性能信息生成代码性能优化建议。
A9、如A5所述的安全信息审查方法,所述根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果的步骤,包括:
根据所述评估结果中分值差异信息和预设差异阈值进行比较,获得比较结果;
在所述比较结果为所述分值差异大于预设差异阈值时,则判定不需要对所述待执行策略网络进行更新;
在所述比较结果为所述分值差异不大于预设差异阈值时,则判定对所述待执行策略网络进行更新。
A10、如A9所述的安全信息审查方法,所述根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
在所述判断结果为判定对所述待执行策略网络进行更新时,通过预设KL散度对策略网络的损失函数以及价值网络的损失函数进行更新,获得目标损失函数;
基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
A11、如A10所述的安全信息审查方法,所述基于所述目标损失函数、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
根据预设PPO算法对预设安全信息数据进行微调,获得微调后的监督数据;
根据所述目标损失函数以及所述监督数据对所述第二基础模型进行训练,获得预设评审模型。
A12、如A2所述的安全信息审查方法,所述通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型的步骤之前,还包括:
通过采集开源数据组合生成预训练数据集,所述开源数据包括BooksCorpus、Wikipedia、Github上开源的通用数据;
通过机器排序方式对ChatGPT和GLM模型输入相同安全信息问题,获得问答信息;
根据所述问答信息生成预设问答排序数据集。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述 实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通 过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体 现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种安全信息审查方法,其特征在于,所述安全信息审查方法包括以下步骤:
基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
根据所述第一审查信息和所述第二审查信息生成审查结果。
2.如权利要求1所述的安全信息审查方法,其特征在于,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤之前,还包括:
通过预训练数据集对初始大语言模型GLM进行训练,获得第一基础模型;
根据预设P-Tuning方式对所述第一基础模型对应的模型结构进行微调,获得微调后的第二基础模型;
基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
3.如权利要求2所述的安全信息审查方法,其特征在于,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤之前,还包括:
根据预设问答排序数据集和预设RLHF策略对所述第一基础模型进行训练,获得训练后的第一基础模型;
将所述训练后的第一基础模型作为预设奖励模型并输出。
4.如权利要求3所述的安全信息审查方法,其特征在于,所述基于预设PPO算法和预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
从预设问题数据中随机采样prompt输入至所述第二基础模型中,获得第一输出结果;
将所述prompt输入至所述第二基础模型对应的待执行策略网络中,获得第二输出结果;
根据所述预设奖励模型对所述第一输出结果和所述第二输出结果进行评估,获得评估结果;
根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
5.如权利要求4所述的安全信息审查方法,其特征在于,所述根据所述评估结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型的步骤,包括:
根据所述评估结果中分值差异信息判断是否对所述待执行策略网络进行更新,获得判断结果;
根据所述判断结果、预设PPO算法以及预设安全信息数据对所述第二基础模型进行训练,获得预设评审模型。
6.如权利要求1所述的安全信息审查方法,其特征在于,所述代码静态审查包括格式检查、风格检查和性能检查,所述基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息的步骤,包括:
基于预设评审模型对待审查代码文件进行格式检查、风格检查和性能检查,获得代码格式信息、代码风格信息和代码性能信息;
根据所述代码格式信息、所述代码风格信息和所述代码性能信息确定第一审查信息。
7.如权利要求6所述的安全信息审查方法,其特征在于,所述代码安全审查包括代码安全测试和组件安全检查,所述基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息的步骤,包括:
基于所述预设评审模型对所述待审查代码文件进行代码安全测试和组件安全检查,获得代码漏洞信息以及组件漏洞信息;
根据所述代码漏洞信息以及所述组件漏洞信息确定第二审查信息。
8.一种安全信息审查设备,其特征在于,所述安全信息审查设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的安全信息审查程序,所述安全信息审查程序被所述处理器执行时实现如权利要求1至7中任一项所述的安全信息审查方法。
9.一种存储介质,其特征在于,所述存储介质上存储有安全信息审查程序,所述安全信息审查程序被处理器执行时实现如权利要求1至7中任一项所述的安全信息审查方法。
10.一种安全信息审查装置,其特征在于,所述安全信息审查装置包括:
静态审查模块,用于基于预设评审模型对待审查代码文件进行代码静态审查,获得第一审查信息,所述预设评审模型是基于大语言模型GLM结合预设P-Tuning方式训练获得的模型;
安全审查模块,用于基于所述预设评审模型对所述待审查代码文件进行代码安全审查,获得第二审查信息;
报告生成模块,用于根据所述第一审查信息和所述第二审查信息生成审查结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310873379.6A CN116611074A (zh) | 2023-07-17 | 2023-07-17 | 安全信息审查方法、设备、存储介质及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310873379.6A CN116611074A (zh) | 2023-07-17 | 2023-07-17 | 安全信息审查方法、设备、存储介质及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116611074A true CN116611074A (zh) | 2023-08-18 |
Family
ID=87683850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310873379.6A Pending CN116611074A (zh) | 2023-07-17 | 2023-07-17 | 安全信息审查方法、设备、存储介质及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116611074A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886446A (zh) * | 2023-09-06 | 2023-10-13 | 北京安天网络安全技术有限公司 | 一种自动化攻击的检测方法、电子设备及存储介质 |
CN117290890A (zh) * | 2023-11-24 | 2023-12-26 | 浙江口碑网络技术有限公司 | 一种安全风险管控方法、装置、电子设备及存储介质 |
CN117495064A (zh) * | 2024-01-03 | 2024-02-02 | 安徽思高智能科技有限公司 | 一种面向多样性的代码审查者推荐方法及存储介质、设备 |
CN117520209A (zh) * | 2024-01-02 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 代码评审方法、装置、计算机设备和存储介质 |
CN117763607A (zh) * | 2023-12-20 | 2024-03-26 | 北京汉勃科技有限公司 | 基于大模型的文件安全定级方法、系统、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491663A (zh) * | 2018-11-01 | 2019-03-19 | 北京车和家信息技术有限公司 | 代码审查方法及装置 |
CN109739543A (zh) * | 2018-12-18 | 2019-05-10 | 杭州茂财网络技术有限公司 | 一种代码审查方法及其设备 |
US20190228319A1 (en) * | 2018-01-21 | 2019-07-25 | Microsoft Technology Licensing, Llc. | Data-driven automatic code review |
CN111837109A (zh) * | 2019-11-22 | 2020-10-27 | 深圳海付移通科技有限公司 | 一种代码质量和缺陷的分析方法、服务器及存储介质 |
CN114968819A (zh) * | 2022-06-27 | 2022-08-30 | 北京航空航天大学 | 面向微服务持续集成的代码质量问题检测及修复方法 |
CN115062315A (zh) * | 2022-06-28 | 2022-09-16 | 苏州浪潮智能科技有限公司 | 一种基于多工具检查的安全代码审查方法及系统 |
CN115391541A (zh) * | 2022-09-06 | 2022-11-25 | 厦门慢雾科技有限公司 | 智能合约代码自动审查方法、存储介质和电子设备 |
CN116126731A (zh) * | 2023-03-10 | 2023-05-16 | 北银金融科技有限责任公司 | 一种基于生成式预训练的代码标准化方法 |
-
2023
- 2023-07-17 CN CN202310873379.6A patent/CN116611074A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190228319A1 (en) * | 2018-01-21 | 2019-07-25 | Microsoft Technology Licensing, Llc. | Data-driven automatic code review |
CN109491663A (zh) * | 2018-11-01 | 2019-03-19 | 北京车和家信息技术有限公司 | 代码审查方法及装置 |
CN109739543A (zh) * | 2018-12-18 | 2019-05-10 | 杭州茂财网络技术有限公司 | 一种代码审查方法及其设备 |
CN111837109A (zh) * | 2019-11-22 | 2020-10-27 | 深圳海付移通科技有限公司 | 一种代码质量和缺陷的分析方法、服务器及存储介质 |
CN114968819A (zh) * | 2022-06-27 | 2022-08-30 | 北京航空航天大学 | 面向微服务持续集成的代码质量问题检测及修复方法 |
CN115062315A (zh) * | 2022-06-28 | 2022-09-16 | 苏州浪潮智能科技有限公司 | 一种基于多工具检查的安全代码审查方法及系统 |
CN115391541A (zh) * | 2022-09-06 | 2022-11-25 | 厦门慢雾科技有限公司 | 智能合约代码自动审查方法、存储介质和电子设备 |
CN116126731A (zh) * | 2023-03-10 | 2023-05-16 | 北银金融科技有限责任公司 | 一种基于生成式预训练的代码标准化方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116886446A (zh) * | 2023-09-06 | 2023-10-13 | 北京安天网络安全技术有限公司 | 一种自动化攻击的检测方法、电子设备及存储介质 |
CN116886446B (zh) * | 2023-09-06 | 2023-11-24 | 北京安天网络安全技术有限公司 | 一种自动化攻击的检测方法、电子设备及存储介质 |
CN117290890A (zh) * | 2023-11-24 | 2023-12-26 | 浙江口碑网络技术有限公司 | 一种安全风险管控方法、装置、电子设备及存储介质 |
CN117290890B (zh) * | 2023-11-24 | 2024-05-10 | 浙江口碑网络技术有限公司 | 一种安全风险管控方法、装置、电子设备及存储介质 |
CN117763607A (zh) * | 2023-12-20 | 2024-03-26 | 北京汉勃科技有限公司 | 基于大模型的文件安全定级方法、系统、设备及存储介质 |
CN117520209A (zh) * | 2024-01-02 | 2024-02-06 | 腾讯科技(深圳)有限公司 | 代码评审方法、装置、计算机设备和存储介质 |
CN117520209B (zh) * | 2024-01-02 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 代码评审方法、装置、计算机设备和存储介质 |
CN117495064A (zh) * | 2024-01-03 | 2024-02-02 | 安徽思高智能科技有限公司 | 一种面向多样性的代码审查者推荐方法及存储介质、设备 |
CN117495064B (zh) * | 2024-01-03 | 2024-05-14 | 安徽思高智能科技有限公司 | 一种面向多样性的代码审查者推荐方法及存储介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116611074A (zh) | 安全信息审查方法、设备、存储介质及装置 | |
CN109829155B (zh) | 关键词的确定方法、自动评分方法、装置、设备及介质 | |
CN110781276B (zh) | 文本抽取方法、装置、设备及存储介质 | |
CN111309912B (zh) | 文本分类方法、装置、计算机设备及存储介质 | |
AU2020200909A1 (en) | Evaluation control | |
US8799869B2 (en) | System for ensuring comprehensiveness of requirements testing of software applications | |
JP7153004B2 (ja) | コミュニティ質問応答データの検証方法、装置、コンピュータ機器、及び記憶媒体 | |
CN111460250B (zh) | 用于画像的数据的清洗方法、装置、介质及电子设备 | |
CN111858242A (zh) | 一种系统日志异常检测方法、装置及电子设备和存储介质 | |
US11019099B2 (en) | Method of application malware detection based on dynamic API extraction, and readable medium and apparatus for performing the method | |
Zhang et al. | Large-scale empirical study of important features indicative of discovered vulnerabilities to assess application security | |
CN108228567B (zh) | 用于提取组织机构的简称的方法和装置 | |
CN116541752B (zh) | 元数据管理方法、装置、计算机设备及存储介质 | |
CN112069069A (zh) | 缺陷自动定位分析方法、设备及可读存储介质 | |
CN112416778A (zh) | 测试用例推荐方法、装置和电子设备 | |
US11385988B2 (en) | System and method to improve results of a static code analysis based on the probability of a true error | |
CN110968664A (zh) | 一种文书检索方法、装置、设备及介质 | |
US20210286706A1 (en) | Graph-based method for inductive bug localization | |
CN113657773A (zh) | 话术质检方法、装置、电子设备及存储介质 | |
CN111723870B (zh) | 基于人工智能的数据集获取方法、装置、设备和介质 | |
CN112256576A (zh) | 人机对话语料测试方法、装置、设备及存储介质 | |
US20170193838A1 (en) | Dynamic response entry | |
CN115859065A (zh) | 模型评测方法、装置、设备及存储介质 | |
CN114547059A (zh) | 平台数据的更新处理方法、装置及计算机设备 | |
CN115116594B (zh) | 医疗装置有效性的检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |