CN111625839A - 第三方组件漏洞检测方法、装置、设备及计算机存储介质 - Google Patents
第三方组件漏洞检测方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN111625839A CN111625839A CN202010473498.9A CN202010473498A CN111625839A CN 111625839 A CN111625839 A CN 111625839A CN 202010473498 A CN202010473498 A CN 202010473498A CN 111625839 A CN111625839 A CN 111625839A
- Authority
- CN
- China
- Prior art keywords
- component
- information
- party
- vulnerability
- project
- 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
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及金融科技(Fintech)技术领域,本发明公开了一种第三方组件漏洞检测方法、装置、设备及计算机存储介质,该方法包括:接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。本发明中通过构建组件依赖树,确定各个组件之间的依赖关系,方便组件快速准确地定位,避免组件漏洞检测不全面。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及第三方组件漏洞检测方法、装置、设备及计算机存储介质。
背景技术
随着互联网技术,尤其是互联网金融科技(Fintech)的飞速发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域。
金融业务也越来越多,每个金融业务对应有项目源代码,项目源代码会调用开源的第三方组件,在第三方组件出现故障时,当前通过扫描项目源代码相关的文件目录,确定出现漏洞的第三方组件,但是文件目录中保存有的同名或者名字相似的组件很多,扫描时容易出现误报或漏报的情况,此外,第三方组件包括直接引入和间接引入,直接引入是指由本项目直接引入的,间接引入则是由本项目引入的第三方组件再次引入,通过直接分析配置文件,一般只能获取项目直接引入的第三方组件,会遗漏间接引入的第三方组件,因而,在间接引入的第三方组件故障时难以查询更新。
发明内容
本发明的主要目的在于提出一种第三方组件漏洞检测方法、装置、设备及计算机存储介质,旨在解决当前第三方组件出现故障时,容易出现误报或漏报,且难以准确全面地更新所有第三方组件的漏洞的技术问题。
为实现上述目的,本发明提供一种第三方组件漏洞检测方法,所述第三方组件漏洞检测方法包括如下步骤:
接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;
根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;
获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;
获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
可选地,所述第三方组件包括第一类组件和第二类组件;
所述根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树的步骤,包括:
对所述项目源代码进行扫描,获得所述项目源代码关联的配置文件;
根据所述项目源代码关联的配置文件拉取第一类组件,判断是否存在与所述第一类组件关联的配置文件;
若存在与所述第一类组件关联的配置文件,则根据所述第一类组件关联的配置文件拉取第二类组件,并判断是否存在与所述第二类组件关联的配置文件;
根据所述第二类组件关联的配置文件拉取新的第二类组件,直至不存在与所述新的第二类组件关联的配置文件;
将所述第一类组件赋予父节点,将所述第二类组件赋予子节点,将所述新的第二类组件赋予新的子节点构建得到组件依赖树。
可选地,所述根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树的步骤,包括:
调用预设集成工具扫描所述项目源代码进行项目构建,获得所述项目源代码对应的构建代码,和所述构建代码的项目目录;
遍历所述构建代码的项目目录,判断是否存在与所述构建代码关联的配置文件;
若存在与所述构建代码关联的配置文件,获取所述构建代码关联的配置文件的文件格式;
根据所述文件格式选择调用预设的组件树构建指令,构建组件依赖树。
可选地,所述获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比的步骤,包括:
获取所述项目目录中第三方组件,及所述第三方组件的组件运行信息和组件调用信息,将所述组件运行信息和所述组件调用信息作为第一信息;
获取所述组件依赖树中各节点对应的第三方组件,及所述第三方组件的组件名称、组件标识、组件版本号和组件路径,将所述组件名称、所述组件标识、所述组件版本号和所述组件路径作为第二信息;
将所述第一信息和所述第二信息作为组件信息,将所述组件信息保存至预设的组件信息列表;
将所述组件信息列表中的组件信息与预设漏洞库中的漏洞信息进行对比。
可选地,所述获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比的步骤之后,所述方法包括:
若所述组件信息中的组件名称与所述漏洞信息中的组件名称不同,则判定所述组件信息与所述漏洞信息不匹配;
若所述组件信息中的组件名称与所述漏洞信息中的组件名称相同,则将所述组件信息中所述组件名称对应的第一组件版本号与所述漏洞信息中所述组件名称对应的第二组件版本号进行比对;
若所述第一组件版本号小于或等于所述第二组件版本号,则判定组件信息与所述漏洞信息匹配。
可选地,所述获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件的步骤,包括:
获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件;
查询所述组件依赖树,判断是否存在与所述目标第三方组件关联的父节点第三方组件;
若不存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是直接引入组件,升级所述目标第三方组件;
若存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是间接引入组件,根据所述组件依赖树进行追溯到直接引入组件,将所述目标第三方组件直至所述直接引入组件分支上的所有第三方组件进行同步升级。
可选地,所述获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件的步骤之后,所述方法还包括:
在检测到项目更新时,获取更新的项目源代码;
根据所述更新的项目源代码执行项目构建操作,获得新的组件依赖树;
获取所述新的组件依赖树中各节点对应第三方组件的组件信息,并执行所述将所述组件信息与预设漏洞库中的漏洞信息进行比对的步骤。
此外,为实现上述目的,本发明还提供一种第三方组件漏洞检测装置,所述第三方组件漏洞检测装置包括:
请求接收模块,用于接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;
组件树构建模块,用于根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;
获取比对模块,用于获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;
漏洞定位模块,用于获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
此外,为实现上述目的,本发明还提供一种第三方组件漏洞检测设备,所述第三方组件漏洞检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的第三方组件漏洞升级程序,所述第三方组件漏洞升级程序被所述处理器执行时实现如上所述的第三方组件漏洞检测方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有第三方组件漏洞升级程序,所述第三方组件漏洞升级程序被处理器执行时实现如上所述的第三方组件漏洞检测方法的步骤。
本发明提供一种第三方组件漏洞检测方法、装置、设备及计算机存储介质,本发明实施例中接收组件漏洞检测请求,获取组件漏洞检测请求对应的项目源代码;根据项目源代码执行项目构建操作,获得项目目录和组件依赖树;获取组件依赖树中各节点对应第三方组件的组件信息,将组件信息与预设漏洞库中的漏洞信息进行对比;获取与所述漏洞信息匹配的目标组件信息,根据目标组件信息定位目标第三方组件,并升级目标第三方组件;本实施例中通过构建组件依赖树,可以确定各个第三方组件之间的依赖关系,区分直接引入和间接引入的组件,在组件出现漏洞时根据组件依赖树,获取第三方组件的组件信息,根据组件信息定位待升级的目标第三方组件,然后进行组件升级,不需要运维人员人工查找升级,就可以快速准确地定位目标第三方组件,有效地提高了漏洞组件的修复效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明第三方组件漏洞检测方法第一实施例的流程示意图;
图3为本发明第三方组件漏洞检测装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例第三方组件漏洞检测设备可以是PC机或服务器设备,其上运行有Java虚拟机。
如图1所示,该第三方组件漏洞检测设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及第三方组件漏洞升级程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的第三方组件漏洞升级对应的计算机程序,并执行下述第三方组件漏洞检测方法中的操作。
基于上述硬件结构,提出了本发明第三方组件漏洞检测方法实施例。
参照图2,图2为本发明第三方组件漏洞检测方法第一实施例的流程示意图,本实施例中第三方组件漏洞检测方法包括:
步骤S10,接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码。
第三方组件漏洞检测方法应用于第三方组件漏洞检测设备,第三方组件漏洞检测设备是第三方组件漏洞升级对应计算机程序的硬件载体,第三方组件漏洞检测设备与不同的金融机构(包括银行机构、保险机构或证券机构等)的数据平台通信连接,第三方组件漏洞检测设备与金融机构的数据平台可以实现数据传输。
第三方组件漏洞检测设备接收组件漏洞检测请求,组件漏洞检测请求的触发方式不作具体限定,即,组件漏洞检测请求可以是用户主动触发的,例如,用户在终端上输出“漏洞检测”触发组件漏洞检测请求;此外,组件漏洞检测请求还可以是第三方组件漏洞检测设备自动触发的,例如,第三方组件漏洞升级设置每月初自动进行项目组件漏洞检测,第三方组件漏洞检测设备在月初的时候自动触发组件漏洞检测请求。
第三方组件漏洞检测设备在接收到组件漏洞检测请求时,第三方组件漏洞检测设备获取组件漏洞检测请求对应的项目源代码,项目源代码是指开发人员编写的代码。
步骤S20,根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树。
第三方组件漏洞检测设备根据项目源代码执行项目构建操作,获得项目目录和组件依赖树,即,通常情况下项目开发完成后不会直接在目录中存放第三方组件,而会将第三方组件的相关信息储存在配置文件中,当代码部署或运行时需要进行构建,按照配置文件中的内容从第三方服务器拉取第三方组件。为了避免只检测配置文件导致遗漏间接导入的组件,本实施例中第三方组件漏洞检测设备会根据项目源代码执行项目构建操作,并根据项目构建后的代码构建组件依赖树。
本实施例中第三方组件漏洞检测设备执行项目构建的具体方式不作限定。具体地,项目构建的方式包括:方式一通过软件开发者人工对不同项目单独进行构建;方式二使用预设集成工具(预设集成工具是指预先设置的用于项目构建的工具,例如,Jenkins工具,Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,Jenkins功能包括:1、持续的软件版本发布/测试项目;2、监控外部调用执行的工作)进行自动化构建。可以理解的是,后续还需要对构建后的代码进行扫描,并且持续集成工具构建具有不少优势,优先使用持续集成工具进行项目构建。
本实施例中第三方组件漏洞检测设备执行组件依赖树构建的具体方式不作限定。具体地,组件依赖树构建的方式包括:方式一第三方组件漏洞检测设备根据项目构建代码,拉取直接引入的第三方组件,然后,第三方组件漏洞检测设备根据直接引入的第三方组件的追溯是否存在间接引入的第三方组件,直至追溯完成,并根据各个第三方组件的引入关系构建组件依赖树;方式二第三方组件漏洞检测设备根据遍历构建代码的项目目录,判断是否存在与构建代码关联的配置文件若存在与所述构建代码关联的配置文件,获取构建代码关联的配置文件的文件格式;根据所述文件格式选择调用预设的组件树构建指令,构建组件依赖树。
本实施例中第三方组件漏洞检测设备根据项目源代码执行项目构建操作,获得项目目录和组件依赖树,这样的方式可以将项目中所有的第三方组件,及各个第三方组件直接的依赖关系全部找出,避免第三方组件错误时,不可以准确地进行升级操作。
步骤S30,获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比。
第三方组件漏洞检测设备获取组件依赖树中各节点对应第三方组件的组件信息,第三方组件漏洞检测设备将组件信息与预设漏洞库(预设漏洞库是指预先设置的漏洞组件存储库)中的漏洞信息进行对比,具体地,包括:
步骤a1,获取所述项目目录中第三方组件,及所述第三方组件的组件运行信息和组件调用信息,将所述组件运行信息和所述组件调用信息作为第一信息;
步骤a2,获取所述组件依赖树中各节点对应的第三方组件,及所述第三方组件的组件名称、组件标识、组件版本号和组件路径,将所述组件名称、所述组件标识、所述组件版本号和所述组件路径作为第二信息;
步骤a3,将所述第一信息和所述第二信息作为组件信息,并将所述组件信息保存至预设的组件信息列表;
步骤a4,将所述组件信息列表中的组件信息与预设漏洞库中的漏洞信息进行对比。
即,第三方组件漏洞检测设备获取项目目录中第三方组件,及第三方组件的组件运行信息和组件调用信息,将所述组件运行信息和所述组件调用信息作为第一信息,第三方组件漏洞检测设备通过遍历配置文件可直接收集组件依赖树中第三方组件的组件信息,组件信息包含但不仅限于组件名称、组件标识(组件标识是指唯一识别组件的标识信息,例如,groupId、artifactId)、组件版本号和组件路径等,第三方组件漏洞检测设备将第一信息和第二信息作为组件信息,并将获得的组件信息储存起来。
第三方组件漏洞检测设备将组件信息与预设漏洞库中的漏洞信息进行对比,并判断第三方组件是否存在漏洞,即,第三方组件漏洞检测设备将组件依赖树中每个第三方组件的组件名、groupId、artifactId、版本号等信息与预设漏洞库(预设漏洞库可以从CVE(Common Vulnerabilities&Exposures,公共漏洞和暴露)官方网站或NIST(NationalInstitute of Standards and Technology,美国国家标准与技术研究院)官方网站下载的,漏洞库里主要包含了组件、版本号、CVE编号间的对应关系)中的漏洞信息进行比对,判断第三方组件是否存在漏洞,本实施例中判断第三方组件是否存在漏洞包括:
步骤b1,若所述组件信息中的组件名称与所述漏洞信息中的组件名称不同,则判定所述组件信息与所述漏洞信息不匹配;
步骤b2,若所述组件信息中的组件名称与所述漏洞信息中的组件名称相同,则将所述组件信息中所述组件名称对应的第一组件版本号与所述漏洞信息中所述组件名称对应的第二组件版本号进行比对;
步骤b3,若所述第一组件版本号小于或等于所述第二组件版本号,则判定组件信息与所述漏洞信息匹配。
即,第三方组件漏洞检测设备将组件信息中的组件名称与漏洞信息中的组件名称进行比较,若组件信息中的组件名称与漏洞信息中的组件名称不同,则判定组件信息与漏洞信息不匹配,即,预设漏洞库中不存在该漏洞信息对应的组件;若组件信息中的组件名称与漏洞信息中的组件名称相同,则将组件信息中组件名称对应的第一组件版本号与漏洞信息中组件名称对应的第二组件版本号进行比对,若第一组件版本号小于或等于第二组件版本号,则判定组件信息与漏洞信息匹配,若第一组件版本号大于第二组件版本号,则判定组件信息与漏洞信息不匹配。
本实施例中第三方组件漏洞检测设备通过将组件信息中的组件名称和组件版本号,与漏洞信息中的组件名称和组件版本号进行比对,准确地查找到漏洞组件。
步骤S40,获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
第三方组件漏洞检测设备获取与漏洞信息匹配的目标组件信息,第三方组件漏洞检测设备根据目标组件信息定位目标第三方组件,确定目标第三方组件的类型,并根据目标第三方组件的类型升级目标第三方组件,具体地,包括:
步骤c1,获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件;
步骤c2,查询所述组件依赖树,判断是否存在与所述目标第三方组件关联的父节点第三方组件;
步骤c3,若不存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是直接引入组件,升级所述目标第三方组件;
步骤c4,若存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是间接引入组件,根据所述组件依赖树进行追溯到直接引入组件,将所述目标第三方组件直至所述直接引入组件分支上的所有第三方组件进行同步升级。
即,第三方组件漏洞检测设备根据目标组件信息定位目标第三方组件,并进一步确定目标第三方组件的类型,第三方组件漏洞检测设备根据目标第三方组件的类型确定进行目标第三方组件的升级策略,使得项目中的组件依赖树中的漏洞组件进行全面升级。
本实施例中通过构建组件依赖树,可以确定各个第三方组件之间的依赖关系,区分直接引入和间接引入的组件,在组件出现漏洞时根据组件依赖树,获取第三方组件的组件信息,根据组件信息定位待升级的目标第三方组件,然后进行组件升级,不需要运维人员人工查找升级,就可以快速准确地定位目标第三方组件,有效地提高了漏洞组件的修复效率。
本实施例中的第三方组件漏洞检测方法应用在金融机构,在金融业务出现由于第三方组件漏洞导致的业务响应不及时时,第三方组件漏洞检测设备根据组件依赖树进行组件快速准确查找,组件全面升级,减少了由于第三方组件故障导致的金融业务处理延时的现象。
进一步地,基于本发明第三方组件漏洞检测方法第一实施例,提出了本发明第三方组件漏洞检测方法第二实施例。
在本实施例是第一实施例中步骤S20的细化,本实施例中给出了第三方组件漏洞检测设备构建组件依赖树的一种具体实现方式:
对所述项目源代码进行扫描,获得所述项目源代码关联的配置文件;
根据所述项目源代码关联的配置文件拉取第一类组件,判断是否存在与所述第一类组件关联的配置文件;
若存在与所述第一类组件关联的配置文件,则根据所述第一类组件关联的配置文件拉取第二类组件,并判断是否存在与所述第二类组件关联的配置文件;
根据所述第二类组件关联的配置文件拉取新的第二类组件,直至不存在与所述新的第二类组件关联的配置文件;
将所述第一类组件赋予父节点,将所述第二类组件赋予子节点,将所述新的第二类组件赋予新的子节点构建得到组件依赖树。
即,第三方组件漏洞检测设备对项目源代码进行扫描,获得项目源代码关联的配置文件;第三方组件漏洞检测设备根据项目源代码关联的配置文件,从组件服务器中拉取第一类组件(第一类组件是指直接引入的第三方组件),第三方组件漏洞检测设备判断是否存在与第一类组件关联的配置文件;第三方组件漏洞检测设备确定不存在与第一类组件关联的配置文件,则不做处理;若存在与第一类组件关联的配置文件,第三方组件漏洞检测设备则根据第一类组件关联的配置文件拉取第二类组件(第二类组件是指间接引入的第三方组件),并判断是否存在与第二类组件关联的配置文件;第三方组件漏洞检测设备根据第二类组件关联的配置文件拉取新的第二类组件,直至不存在与新的第二类组件关联的配置文件;第三方组件漏洞检测设备将第一类组件赋予父节点,将第二类组件赋予子节点,将新的第二类组件赋予新的子节点构建得到组件依赖树。
本实施例中第三方组件漏洞检测设备从第一类组件开始追溯,获得第二类组件,直至到没有新的第二类组件,构建得到组件依赖树,本实施例中通过构建组件依赖树,方便快速地定位组件,同时可以区分直接引入组件和间接引入组件,避免在组件升级的时候出现遗漏。
进一步地,基于本发明第三方组件漏洞检测方法上述实施例,提出了本发明第三方组件漏洞检测方法第三实施例。
在本实施例是第一实施例中步骤S20的细化,本实施例中给出了第三方组件漏洞检测设备构建组件依赖树的另一种具体实现方式:
调用预设集成工具扫描所述项目源代码进行项目构建,获得所述项目源代码对应的构建代码,和所述构建代码的项目目录;
遍历所述构建代码的项目目录,判断是否存在与所述构建代码关联的配置文件;
若存在与所述构建代码关联的配置文件,获取所述构建代码关联的配置文件的文件格式;
根据所述文件格式选择调用预设的组件树构建指令,构建组件依赖树。
即,第三方组件漏洞检测设备调用预设集成工具(预设集成工具是指预先设置的用于项目构建的工具,例如,Jenkins工具,预设集成工具与第一实施例相同,本实施例中不作赘述)扫描项目源代码进行项目构建,获得项目源代码对应的构建代码;第三方组件漏洞检测设备遍历构建代码的项目目录,判断是否存在与构建代码关联的配置文件;若存在与构建代码关联的配置文件,第三方组件漏洞检测设备获取构建代码关联的配置文件,配置文件包括pom.xml,和build.gradle;第三方组件漏洞检测设备根据配置文件的类型选择调用预设的组件树构建工具(组件树构建工具包括:Maven和Gradle),通过组件树构建工具中的构建指令,构建组件依赖树。
例如,第三方组件漏洞检测设备中预设组件树构建工具,例如,Maven和Gradle,Maven通常解析的配置文件一般为pom.xml,Maven构建组件依赖树的命令为:mvndependency:tree;Gradle通常解析的配置文件一般为build.gradle,Gradle构建组件依赖树的命令为:gradle app:dependencies,构建组件依赖树的流程如下:
1、遍历项目目录查看是否存在相关配置文件,如果有pom.xml则使用Maven的相关方式,如果有build.gradle则使用Gradle的相关方式。
2、根据配置文件的格式调用预设的组件树构建指令,如果项目使用了Maven,执行mvn dependency:tree获取依赖树并进行存储;如果项目使用了Gradle,执行gradle app:dependencies获取依赖树并进行存储。
例如,组件依赖树格式如下:
[INFO]+-org.apache.poi:poi-ooxml:jar:3.10-FINAL:compile
[INFO]|+-org.apache.poi:poi:jar:3.10-FINAL:compile
[INFO]||\-commons-codec:commons-codec:jar:1.9:comp ile
[INFO]|+-org.apache.poi:poi-ooxml-schemas:jar:3.10-FIN AL:compile
[INFO]|\-dom4j:dom4j:jar:1.6.1:compile
[INFO]|\-xml-apis:xml-apis:jar:1.0.b2:compile
在上边的依赖树中,[INFO]+-org.apache.poi:poi-ooxml:jar:3.10-FINAL:compile是项目直接引入的第三方组件,而下边的都是它间接引入的第三方组件。组件的相关信息用冒号分隔,其中第一个字段(org.apache.poi)为组件的groupId,第二个字段(poi-ooxml)为组件的artifactId,第四个字段(3.10-FINAL)是组件的版本号;解析完毕后,将每个组件的组件名、groupId、artifactId、版本号、父组件这些信息存储。
本实施例中第三方组件漏洞检测设备根据配置文件的格式调用组件树构建工具中相应构建指令执行组件依赖树的构建操作,方便快速地定位组件,同时可以区分直接引入组件和间接引入组件,避免在组件升级的时候出现遗漏。
进一步地,基于本发明第三方组件漏洞检测方法上述实施例,提出了本发明第三方组件漏洞检测方法第四实施例。
在本实施例是第一实施例中步骤S40之后的步骤,本实施例与上述实施例的区别在于:
在检测到项目更新时,获取更新的项目源代码;
根据所述更新的项目源代码执行项目构建操作,获得新的组件依赖树;
获取所述新的组件依赖树中各节点对应第三方组件的组件信息,并执行所述将所述组件信息与预设漏洞库中的漏洞信息进行比对的步骤。
即,第三方组件漏洞检测设备实时地检测项目源代码的状态,在检测到项目更新时,第三方组件漏洞检测设备获取更新的项目源代码;第三方组件漏洞检测设备根据更新的项目源代码执行项目构建操作,获得新的组件依赖树;第三方组件漏洞检测设备获取新的组件依赖树中各节点对应第三方组件的组件信息,并执行第一实施例中将所述组件信息与预设漏洞库中的漏洞信息进行比对的步骤,具体地参见第一实施例,本实施例中不作赘述。
本实施例中第三方组件漏洞检测设备实时地检测项目源代码的状态,并在项目源代码更新时,对更新的项目源代码进行项目构建和组件依赖树构建操作,这样构建的代码分支有所取舍,不需要对所有分支进行构建。当有代码提交后,可以直接自动化拉取最新改动的分支进行构建并进行后续的扫描,这样可以更早的在开发阶段发现存在的问题组件,无需拖到后面的测试或安全检查阶段才发现,提高修复效率并减少修复成本。
参照图3,本发明实施例提出了一种第三方组件漏洞检测装置,所述第三方组件漏洞检测装置包括:
请求接收模块10,用于接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;
组件树构建模块20,用于根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;
获取比对模块30,用于获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;
漏洞定位模块40,用于获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
在一实施例中,所述第三方组件包括第一类组件和第二类组件;所述组件树构建模块20,包括:
代码扫描单元,用于对所述项目源代码进行扫描,获得所述项目源代码关联的配置文件;
第一判断单元,用于根据所述项目源代码关联的配置文件拉取第一类组件,判断是否存在与所述第一类组件关联的配置文件;
第二判断单元,用于若存在与所述第一类组件关联的配置文件,则根据所述第一类组件关联的配置文件拉取第二类组件,并判断是否存在与所述第二类组件关联的配置文件;
组件拉取单元,用于根据所述第二类组件关联的配置文件拉取新的第二类组件,直至不存在与所述新的第二类组件关联的配置文件;
依赖树构建单元,用于将所述第一类组件赋予父节点,将所述第二类组件赋予子节点,将所述新的第二类组件赋予新的子节点构建得到组件依赖树。
在一实施例中,所述组件树构建模块20,包括:
扫描构建单元,用于调用预设集成工具扫描所述项目源代码进行项目构建,获得所述项目源代码对应的构建代码,和所述构建代码的项目目录;
遍历判断单元,用于遍历所述构建代码的项目目录,判断是否存在与所述构建代码关联的配置文件;
格式获取单元,用于若存在与所述构建代码关联的配置文件,获取所述构建代码关联的配置文件的文件格式;
工具调用单元,用于根据所述文件格式选择调用预设的组件树构建指令,构建组件依赖树。
在一实施例中,所述获取比对模块30,包括:
第一获取单元,用于获取所述项目目录中第三方组件,及所述第三方组件的组件运行信息和组件调用信息,将所述组件运行信息和所述组件调用信息作为第一信息;
第二获取单元,用于获取所述组件依赖树中各节点对应的第三方组件,及所述第三方组件的组件名称、组件标识、组件版本号和组件路径,将所述组件名称、所述组件标识、所述组件版本号和所述组件路径作为第二信息;
信息保存单元,用于将所述第一信息和所述第二信息作为组件信息,将所述组件信息保存至预设的组件信息列表;
信息比对单元,用于将所述组件信息列表中的组件信息与预设漏洞库中的漏洞信息进行对比。
在一实施例中,所述第三方组件漏洞检测装置,包括:
第一判定模块,用于若所述组件信息中的组件名称与所述漏洞信息中的组件名称不同,则判定所述组件信息与所述漏洞信息不匹配;
版本号比对模块,用于若所述组件信息中的组件名称与所述漏洞信息中的组件名称相同,则将所述组件信息中所述组件名称对应的第一组件版本号与所述漏洞信息中所述组件名称对应的第二组件版本号进行比对;
第二判定模块,用于若所述第一组件版本号小于或等于所述第二组件版本号,则判定组件信息与所述漏洞信息匹配。
在一实施例中,所述漏洞定位模块40,包括:
组件定位单元,用于获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件;
节点判断单元,用于查询所述组件依赖树,判断是否存在与所述目标第三方组件关联的父节点第三方组件;
第一升级单元,用于若不存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是直接引入组件,升级所述目标第三方组件;
第二升级单元,用于若存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是间接引入组件,根据所述组件依赖树进行追溯到直接引入组件,将所述目标第三方组件直至所述直接引入组件分支上的所有第三方组件进行同步升级。
在一实施例中,所述第三方组件漏洞检测装置,包括:
更新获取模块,用于在检测到项目更新时,获取更新的项目源代码;
项目构建模块,用于根据所述更新的项目源代码执行项目构建操作,获得新的组件依赖树;
所述获取比对模块,用于获取所述新的组件依赖树中各节点对应第三方组件的组件信息,并执行所述将所述组件信息与预设漏洞库中的漏洞信息进行比对的步骤。
本实施例中通过构建组件依赖树,可以确定各个第三方组件之间的依赖关系,区分直接引入和间接引入的组件,在组件出现漏洞时根据组件依赖树,获取第三方组件的组件信息,方便快速准确地定位待升级的目标第三方组件,提高了漏洞组件的修复效率,同时减少了误报。
在本实施例中第三方组件漏洞检测装置中的各个模块被执行时所实现的方法可参照本发明第三方组件漏洞检测方法各个实施例,此处不再赘述。
本发明实施例,还提供一种计算机存储介质。
本发明计算机存储介质上存储有第三方组件漏洞升级程序,所述第三方组件漏洞升级程序被处理器执行时实现如上所述的第三方组件漏洞检测方法的步骤。
其中,在所述处理器上运行的第三方组件漏洞升级程序被执行时所实现的方法可参照本发明第三方组件漏洞检测方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种第三方组件漏洞检测方法,其特征在于,所述第三方组件漏洞检测方法包括如下步骤:
接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;
根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;
获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;
获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
2.如权利要求1所述的第三方组件漏洞检测方法,其特征在于,所述第三方组件包括第一类组件和第二类组件;
所述根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树的步骤,包括:
对所述项目源代码进行扫描,获得所述项目源代码关联的配置文件;
根据所述项目源代码关联的配置文件拉取第一类组件,判断是否存在与所述第一类组件关联的配置文件;
若存在与所述第一类组件关联的配置文件,则根据所述第一类组件关联的配置文件拉取第二类组件,并判断是否存在与所述第二类组件关联的配置文件;
根据所述第二类组件关联的配置文件拉取新的第二类组件,直至不存在与所述新的第二类组件关联的配置文件;
将所述第一类组件赋予父节点,将所述第二类组件赋予子节点,将所述新的第二类组件赋予新的子节点构建得到组件依赖树。
3.如权利要求1所述的第三方组件漏洞检测方法,其特征在于,所述根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树的步骤,包括:
调用预设集成工具扫描所述项目源代码进行项目构建,获得所述项目源代码对应的构建代码,和所述构建代码的项目目录;
遍历所述构建代码的项目目录,判断是否存在与所述构建代码关联的配置文件;
若存在与所述构建代码关联的配置文件,获取所述构建代码关联的配置文件的文件格式;
根据所述文件格式选择调用预设的组件树构建指令,构建组件依赖树。
4.如权利要求1所述的第三方组件漏洞检测方法,其特征在于,所述获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比的步骤,包括:
获取所述项目目录中第三方组件,及所述第三方组件的组件运行信息和组件调用信息,将所述组件运行信息和所述组件调用信息作为第一信息;
获取所述组件依赖树中各节点对应的第三方组件,及所述第三方组件的组件名称、组件标识、组件版本号和组件路径,将所述组件名称、所述组件标识、所述组件版本号和所述组件路径作为第二信息;
将所述第一信息和所述第二信息作为组件信息,将所述组件信息保存至预设的组件信息列表;
将所述组件信息列表中的组件信息与预设漏洞库中的漏洞信息进行对比。
5.如权利要求1所述的第三方组件漏洞检测方法,其特征在于,所述获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比的步骤之后,所述方法包括:
若所述组件信息中的组件名称与所述漏洞信息中的组件名称不同,则判定所述组件信息与所述漏洞信息不匹配;
若所述组件信息中的组件名称与所述漏洞信息中的组件名称相同,则将所述组件信息中所述组件名称对应的第一组件版本号与所述漏洞信息中所述组件名称对应的第二组件版本号进行比对;
若所述第一组件版本号小于或等于所述第二组件版本号,则判定组件信息与所述漏洞信息匹配。
6.如权利要求1所述的第三方组件漏洞检测方法,其特征在于,所述获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件的步骤,包括:
获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件;
查询所述组件依赖树,判断是否存在与所述目标第三方组件关联的父节点第三方组件;
若不存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是直接引入组件,升级所述目标第三方组件;
若存在与所述目标第三方组件关联的父节点第三方组件,则判定所述目标第三方组件是间接引入组件,根据所述组件依赖树进行追溯到直接引入组件,将所述目标第三方组件直至所述直接引入组件分支上的所有第三方组件进行同步升级。
7.如权利要求1-6任意一项所述的第三方组件漏洞检测方法,其特征在于,所述获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件的步骤之后,所述方法还包括:
在检测到项目更新时,获取更新的项目源代码;
根据所述更新的项目源代码执行项目构建操作,获得新的组件依赖树;
获取所述新的组件依赖树中各节点对应第三方组件的组件信息,并执行所述将所述组件信息与预设漏洞库中的漏洞信息进行比对的步骤。
8.一种第三方组件漏洞检测装置,其特征在于,所述第三方组件漏洞检测装置包括:
请求接收模块,用于接收组件漏洞检测请求,获取所述组件漏洞检测请求对应的项目源代码;
组件树构建模块,用于根据所述项目源代码执行项目构建操作,获得项目目录和组件依赖树;
获取比对模块,用于获取所述项目目录中第三方组件的第一信息,和所述组件依赖树中各节点对应第三方组件的第二信息,将所述第一信息和所述第二信息作为组件信息与预设漏洞库中的漏洞信息进行对比;
漏洞定位模块,用于获取与所述漏洞信息匹配的目标组件信息,根据所述目标组件信息定位目标第三方组件。
9.一种第三方组件漏洞检测设备,其特征在于,所述第三方组件漏洞检测设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的第三方组件漏洞升级程序;
所述第三方组件漏洞升级程序被所述处理器执行时实现如权利要求1至7中任一项所述的第三方组件漏洞检测方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有第三方组件漏洞升级程序;
所述第三方组件漏洞升级程序被处理器执行时实现如权利要求1至7中任一项所述的第三方组件漏洞检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473498.9A CN111625839A (zh) | 2020-05-29 | 2020-05-29 | 第三方组件漏洞检测方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473498.9A CN111625839A (zh) | 2020-05-29 | 2020-05-29 | 第三方组件漏洞检测方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625839A true CN111625839A (zh) | 2020-09-04 |
Family
ID=72259235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010473498.9A Pending CN111625839A (zh) | 2020-05-29 | 2020-05-29 | 第三方组件漏洞检测方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625839A (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115473A (zh) * | 2020-09-15 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种用于Java开源组件安全检测的方法 |
CN112118251A (zh) * | 2020-09-15 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种基于maven插件的Java项目开源组件的漏洞检测方法 |
CN112230963A (zh) * | 2020-10-29 | 2021-01-15 | 北京字节跳动网络技术有限公司 | 安全漏洞修复的方法、装置、计算机设备和存储介质 |
CN112363758A (zh) * | 2020-11-03 | 2021-02-12 | 深圳开源互联网安全技术有限公司 | 一种获取开源项目第三方组件信息的方法及装置 |
CN112434305A (zh) * | 2020-12-07 | 2021-03-02 | 北京中科微澜科技有限公司 | 基于补丁的漏洞检测方法、装置、存储介质和电子设备 |
CN112560048A (zh) * | 2020-12-22 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 一种代码安全扫描方法、代码安全扫描系统及存储介质 |
CN112711438A (zh) * | 2021-01-13 | 2021-04-27 | 苏州棱镜七彩信息科技有限公司 | 依赖组件信息提取方法、设备及计算机可读存储介质 |
CN112883342A (zh) * | 2021-03-26 | 2021-06-01 | 中国工商银行股份有限公司 | 一种组件管控方法、装置及设备 |
CN113094711A (zh) * | 2021-04-30 | 2021-07-09 | 云南电网有限责任公司 | 基于阶段性项目开发的开源代码检测方法及系统 |
CN113157314A (zh) * | 2021-04-30 | 2021-07-23 | 云南电网有限责任公司 | 一种高效智能源代码安全管理平台 |
CN113449306A (zh) * | 2021-09-02 | 2021-09-28 | 湖南省佳策测评信息技术服务有限公司 | 一种基于软件源代码分析的安全漏洞预警方法及系统 |
CN113778509A (zh) * | 2021-08-13 | 2021-12-10 | 国网河北省电力有限公司电力科学研究院 | 一种确定开源组件的版本的方法、存储介质和电子装置 |
WO2022095410A1 (zh) * | 2020-11-03 | 2022-05-12 | 前海飞算云智软件科技(深圳)有限公司 | 组件开发方法、装置、存储介质及电子设备 |
CN114626068A (zh) * | 2022-02-24 | 2022-06-14 | 南开大学 | 基于java函数调用序列的高精度第三方库漏洞模块检测方法 |
CN115016832A (zh) * | 2022-08-08 | 2022-09-06 | 北京安普诺信息技术有限公司 | 一种深度分析软件组件依赖关系的方法及相关装置、平台 |
CN115080984A (zh) * | 2022-06-30 | 2022-09-20 | Oppo广东移动通信有限公司 | 第三方库文件漏洞检测方法、装置、电子设备及存储介质 |
CN115238264A (zh) * | 2022-09-22 | 2022-10-25 | 中邮消费金融有限公司 | 一种开源包动态监控告警方法、系统及可读存储介质 |
WO2022247199A1 (zh) * | 2021-05-24 | 2022-12-01 | 深圳前海微众银行股份有限公司 | 一种开源组件的漏洞检测方法及装置 |
CN117406967A (zh) * | 2023-12-15 | 2024-01-16 | 卓望数码技术(深圳)有限公司 | 组件识别方法、装置、电子设备及存储介质 |
-
2020
- 2020-05-29 CN CN202010473498.9A patent/CN111625839A/zh active Pending
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112118251A (zh) * | 2020-09-15 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种基于maven插件的Java项目开源组件的漏洞检测方法 |
CN112115473A (zh) * | 2020-09-15 | 2020-12-22 | 四川长虹电器股份有限公司 | 一种用于Java开源组件安全检测的方法 |
CN112230963A (zh) * | 2020-10-29 | 2021-01-15 | 北京字节跳动网络技术有限公司 | 安全漏洞修复的方法、装置、计算机设备和存储介质 |
WO2022095410A1 (zh) * | 2020-11-03 | 2022-05-12 | 前海飞算云智软件科技(深圳)有限公司 | 组件开发方法、装置、存储介质及电子设备 |
CN112363758A (zh) * | 2020-11-03 | 2021-02-12 | 深圳开源互联网安全技术有限公司 | 一种获取开源项目第三方组件信息的方法及装置 |
CN112434305A (zh) * | 2020-12-07 | 2021-03-02 | 北京中科微澜科技有限公司 | 基于补丁的漏洞检测方法、装置、存储介质和电子设备 |
CN112434305B (zh) * | 2020-12-07 | 2024-03-08 | 北京中科微澜科技有限公司 | 基于补丁的漏洞检测方法、装置、存储介质和电子设备 |
CN112560048A (zh) * | 2020-12-22 | 2021-03-26 | 南方电网深圳数字电网研究院有限公司 | 一种代码安全扫描方法、代码安全扫描系统及存储介质 |
CN112560048B (zh) * | 2020-12-22 | 2024-01-30 | 南方电网深圳数字电网研究院有限公司 | 一种代码安全扫描方法、代码安全扫描系统及存储介质 |
CN112711438A (zh) * | 2021-01-13 | 2021-04-27 | 苏州棱镜七彩信息科技有限公司 | 依赖组件信息提取方法、设备及计算机可读存储介质 |
CN112711438B (zh) * | 2021-01-13 | 2024-04-16 | 苏州棱镜七彩信息科技有限公司 | 依赖组件信息提取方法、设备及计算机可读存储介质 |
CN112883342A (zh) * | 2021-03-26 | 2021-06-01 | 中国工商银行股份有限公司 | 一种组件管控方法、装置及设备 |
CN113157314B (zh) * | 2021-04-30 | 2023-10-13 | 云南电网有限责任公司 | 一种高效智能源代码安全管理平台 |
CN113157314A (zh) * | 2021-04-30 | 2021-07-23 | 云南电网有限责任公司 | 一种高效智能源代码安全管理平台 |
CN113094711A (zh) * | 2021-04-30 | 2021-07-09 | 云南电网有限责任公司 | 基于阶段性项目开发的开源代码检测方法及系统 |
WO2022247199A1 (zh) * | 2021-05-24 | 2022-12-01 | 深圳前海微众银行股份有限公司 | 一种开源组件的漏洞检测方法及装置 |
CN113778509A (zh) * | 2021-08-13 | 2021-12-10 | 国网河北省电力有限公司电力科学研究院 | 一种确定开源组件的版本的方法、存储介质和电子装置 |
CN113449306A (zh) * | 2021-09-02 | 2021-09-28 | 湖南省佳策测评信息技术服务有限公司 | 一种基于软件源代码分析的安全漏洞预警方法及系统 |
CN114626068A (zh) * | 2022-02-24 | 2022-06-14 | 南开大学 | 基于java函数调用序列的高精度第三方库漏洞模块检测方法 |
CN114626068B (zh) * | 2022-02-24 | 2024-06-07 | 南开大学 | 基于java函数调用序列的高精度第三方库漏洞模块检测方法 |
CN115080984A (zh) * | 2022-06-30 | 2022-09-20 | Oppo广东移动通信有限公司 | 第三方库文件漏洞检测方法、装置、电子设备及存储介质 |
CN115016832B (zh) * | 2022-08-08 | 2022-11-29 | 北京安普诺信息技术有限公司 | 一种深度分析软件组件依赖关系的方法及相关装置、平台 |
CN115016832A (zh) * | 2022-08-08 | 2022-09-06 | 北京安普诺信息技术有限公司 | 一种深度分析软件组件依赖关系的方法及相关装置、平台 |
CN115238264A (zh) * | 2022-09-22 | 2022-10-25 | 中邮消费金融有限公司 | 一种开源包动态监控告警方法、系统及可读存储介质 |
CN117406967A (zh) * | 2023-12-15 | 2024-01-16 | 卓望数码技术(深圳)有限公司 | 组件识别方法、装置、电子设备及存储介质 |
CN117406967B (zh) * | 2023-12-15 | 2024-03-22 | 卓望数码技术(深圳)有限公司 | 组件识别方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625839A (zh) | 第三方组件漏洞检测方法、装置、设备及计算机存储介质 | |
EP3835987B1 (en) | Method and system for automatically identifying and correcting security vulnerabilities in containers | |
Plate et al. | Impact assessment for vulnerabilities in open-source software libraries | |
US11599348B2 (en) | Container image building using shared resources | |
US9372784B2 (en) | Test system configuration method and system | |
CN111045944A (zh) | 回归测试方法、装置、系统及计算机可读存储介质 | |
US20050195390A1 (en) | Method of testing open services gateway initiative service platform and test tool using the method | |
US20070074197A1 (en) | Automatic dependency resolution | |
CN103559065B (zh) | 一种ota升级的方法和系统 | |
US7913249B1 (en) | Software installation checker | |
CN107341106B (zh) | 应用程序兼容性检测方法、开发终端及存储介质 | |
CN107704256B (zh) | 一种Ubuntu上实现Python依赖系统库自动化安装的方法 | |
CN112711438A (zh) | 依赖组件信息提取方法、设备及计算机可读存储介质 | |
CN112434305A (zh) | 基于补丁的漏洞检测方法、装置、存储介质和电子设备 | |
CN111400102A (zh) | 应用程序的变更监控方法、装置、设备及存储介质 | |
CN114297056A (zh) | 一种自动化测试方法及系统 | |
CN115033894A (zh) | 一种基于知识图谱的软件组件供应链安全检测方法及装置 | |
CN113642004A (zh) | 一种容器镜像安全扫描与修复的方法、装置及设备 | |
CN111625834A (zh) | Docker镜像文件漏洞检测系统及检测方法 | |
CN112868008B (zh) | Java开源组件的漏洞检测方法、装置及存储介质 | |
US8473943B2 (en) | Using ecoprint for cloning of applications | |
CN111045724A (zh) | 调用链信息的查询方法、装置和可读存储介质 | |
CN115794214A (zh) | 应用模块元数据管理方法、设备、存储介质及装置 | |
CN109933976B (zh) | 一种安卓应用相似性检测方法、移动终端及存储装置 | |
CN115951916A (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 |