CN113094078B - 一种安全检测方法、装置、设备及介质 - Google Patents
一种安全检测方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN113094078B CN113094078B CN202110349195.0A CN202110349195A CN113094078B CN 113094078 B CN113094078 B CN 113094078B CN 202110349195 A CN202110349195 A CN 202110349195A CN 113094078 B CN113094078 B CN 113094078B
- Authority
- CN
- China
- Prior art keywords
- open source
- source component
- private
- warehouse
- component
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种安全检测方法、装置、设备及介质,涉及移动互联技术领域。其中,安全检测方法,包括:响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。本发明实施例的技术方案,通过在私有仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种安全检测方法、装置、设备及介质。
背景技术
在应用软件开发过程中,经常会引入一些开源组件来提高开发效率以及简化开发程序,由于开源组件并不是当前应用软件开发人员或集体开发的组件,所以在代码安全规范上可能与当前软件开发的需求不匹配,容易引入不符合安全规范的开源组件,因此,在应用软件开发过程中对引入的开源组件进行安全检测非常重要。
现有技术中,通常在软件开发完成之后,对整个软件的源代码或者部署包进行安全检测,一方面,对整个软件的代码进行检测,没有针对性,安全检测工作量大,检测人力成本高,另一方面,在软件开发完成后进行安全检测,检测时间滞后,发现针对开源组件的安全问题后,需要对源代码进行大量修改,延迟软件上线时间。
发明内容
本发明实施例提供一种安全检测方法、装置、设备及介质,涉及移动互联技术领域,通过在私有仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞,提高软件开发的效率和可靠性,减少后期安全检测工作量。
第一方面,本发明实施例提供了一种安全检测方法,所述方法包括:
响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;
按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。
第二方面,本发明实施例还提供了一种安全检测装置,所述装置包括:
变更数据记录模块,用于响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;
安全检测模块,用于按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。
第三方面,本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的安全检测方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的安全检测方法。
本发明实施例的技术方案,响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据,其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,通过在私有仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞,提高软件开发的效率和可靠性,减少后期安全检测工作量。
附图说明
图1是本发明实施例一中的一种安全检测方法的流程图;
图2a是本发明实施例二中的一种安全检测方法的流程图;
图2b是本发明实施例二中的对源代码中开源组件进行安全检测的流程图;
图3是本发明实施例三中的一种安全检测方法的流程图;
图4是本发明实施例四中的一种安全检测装置的结构示意图;
图5是本发明实施例五提供的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一中的一种安全检测方法的流程图,本实施例的技术方案适用于在私有仓库中进行开源组件的安全检测的情况,该方法可以由安全检测装置执行,该装置可以由软件和/或硬件来实现,并可以集成在各种通用计算机设备中。本实施例中的安全检测方法,具体包括如下步骤:
步骤110、响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据;
其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件;
其中,开源组件是一些非盈利组织针对软件开发中共同需要解决的问题,或者能提供一个高效软件开发效率的方法进行的代码开发,最终将代码封装成一个可以免费对外提供的软件包,让项目开发人员能够免费使用,去解决项目中遇到的问题或者提高开发效率,上述软件包即为开源组件。
在软件开发过程中,一些公司或者组织为了提高开发效率,会搭建一个供内部开发人员使用的私有开源组件仓库,将开发过程需要用到开源组件存储至上述仓库中,以供开发人员调用,上述仓库即为私服仓库。
本实施例中,为了能够实现基于私服仓库的开源组件安全检测,开源组件安全检测工具会在检测到私服仓库中开源组件变更时,记录私服仓库的开源组件变更数据,以针对这些变更数据进行开源组件的安全检测。示例性的,在开源组件安全检测工具检测到私服仓库中新增、删除或者修改等变更操作时,会记录这些变更数据,例如,记录新增、删除或者修改等变更操作对应的开源组件的标识。其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,开源组件安全检测工具可以在每次发生变更时,针对目标开源组件进行安全检测。
为了使开源组件安全检测工具能够获取到私服仓库中开源组件的变更操作,可以预先在开源组件安全检测工具中注册待检测的私服仓库,以建立二者之间的关联关系,从而使开源组件安全检测工具能够及时获取到私服仓库中新增的开源组件。
步骤120、按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测。
本实施例中,开源组件安全检测工具会根据预先设定的检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,即按照设定的检测周期,对在当前检测周期中私服仓库新增的开源组件进行安全检测。在每个检测周期内,仅对私服仓库中新增的开源组件进行安全检测,无需每次对私服仓库中包含的全部开源组件进行安全检测,使检测具有针对性,提高了在私服仓库进行安全检测的效率。
示例性的,预先设定的检测周期为一个月,则开源组件安全检测工具会根据一个月内记录的开源组件变更数据,查找近一个月内中新增的至少一个目标开源组件,并在达到一个月后,对该月内新增的至少一个目标开源组件进行安全检测。
本发明实施例的技术方案,响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据,其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,通过在私有仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞,提高软件开发的效率和可靠性,减少后期安全检测工作量。
实施例二
图2a为本发明实施例二中的一种安全检测方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了在按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测之后的具体步骤。下面结合图2a对本发明实施例二提供的一种安全检测方法进行说明,包括以下步骤:
步骤210、响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据;
其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件;
步骤220、按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测。
步骤230、当检测到目标项目中的包管理器针对私服仓库进行的开源组件引入操作时,对包管理器在私服仓库中获取到的至少一项开源组件进行安全检测。
本实施例中,开源组件安全检测工具除了在设定的检测周期中,对私服仓库中新增的至少一个开源组件进行安全检测外,还会在目标项目中引入开源组件时,对待引入的开源组件进行安全检测。具体的,当开源组件安全检测工具检测到正在开发的目标项目中的包管理器引入私服仓库中的开源组件时,会对包管理器在私服仓库中获取到的至少一项开源组件进行安全检测。其中,包管理器是目标项目中用于拉取私服仓库中的开源组件的插件或者功能项。
示例性的,开源组件安全检测工具检测到使用JAVA语言的开发的目标项目中的包管理器以Jar包的方式引入私服仓库中的至少一项开源组件时,对包管理器引入的至少一项开源组件进行安全检测。在目标项目引入开源组件时,就对引入的开源组件进行安全检测,可以及时发现当前引入的开源组件的安全漏洞,并及时修复,避免多次引入包含安全漏洞的统一开源组件,减少后期修复工作量。
步骤240、接收用户上传的目标项目的源代码和私服仓库的地址。
本实施例中,除了在源代码开发过程中,对引入的开源组件进行安全检测外,开源组件安全检测工具还会对开发完成的源代码中的开源组件进行安全检测,以保证代码安全性。具体的,如图2b所示,开源组件安全检测工具首先接收用户上传的目标项目的源代码和私服仓库的地址,以实现对源代码中引入的私服仓库中的开源组件进行安全检测。以JAVA语言为例,引入开源组件以Jar包的形式存在于源代码中,因此,在对源代码中的开源组件进行安全检测时,需要从私服仓库所在地址中拉取源代码中引入的开源组件进行检测。
步骤250、获取目标项目的源代码中包含的组件配置文件。
本实施例中,为了获取源代码中引入的开源组件,开源组件安全检测模板需要在源代码中获取组件配置文件,其中,组件配置文件中包含了源代码中引入的开源组件的列表,进而可以对组件配置文件中包含的开源组件进行安全检测。
示例性的,组件配置文件中包含了源代码中引入的开源组件的标识信息,开源组件安全检测工具可以根据组件配置文件中的标识信息,在私服仓库中拉取对应的开源组件进行安全检测。
步骤260、根据组件配置文件和私服仓库的地址,在私服仓库中获取至少一项目标开源组件,并对目标开源组件进行安全检测。
本实施例中,在开源组件安全检测工具获取到目标项目的源代码中包含的组件配置文件后,根据组件配置文件和用户输入的私服仓库的地址,在私服仓库中获取至少一项目标开源组件,并对目标开源组件进行安全检测,具体的,开源组件安全检测工具在组件配置文件中获取源代码中引入的开源组件的标识,进而访问私服仓库的地址,获取与上述标识对应的至少一项目标开源组件,进而对目标开源组件进行安全检测。
值得注意的是,除了对源代码中从私服仓库引入的开源组件进行安全检测外,还会对源代码中的其他开源组件进行安全检测,例如,开发者在互联网引入的开源组件。
可选的,根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,包括:
确定所述组件配置文件中包含的至少一项开源组件的标识信息;
向包管理器发起获取与所述标识信息对应的开源组件的获取指示,以指示所述包管理器根据所述获取指示和私服仓库的地址,获取至少一项目标开源组件。
本可选的实施例中,提供了一种根据组件配置文件和私服仓库的地址,在私服仓库中获取至少一项目标开源组件的具体方式,首先在组件配置文件中获取源代码中引入的至少一项开源组件的标识信息,进而向源代码中的包管理器发起与上述标识信息对应的开源组件的获取指示,其中获取指示中可以包含开源组件的标识信息以及私服仓库的地址,以指示包管理器根据获取指示和私服仓库的地址,拉取至少一项与上述标识信息对应目标开源组件。
可选的,根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,包括:
确定所述组件配置文件中包含的至少一项开源组件的标识信息;
遍历所述私服仓库的地址中的开源组件,获取与所述标识信息对应的至少一项目标开源组件。
本可选的实施例中,提供了另一种根据组件配置文件和私服仓库的地址,在私服仓库中获取至少一项目标开源组件的具体方式,首先开源组件安全检测工具获取组件配置文件中包含的至少一项开源组件的标识信息,进而直接访问私服仓库的地址,遍历私服仓库中的开源组件,获取与上述标识信息匹配的至少一项目标开源组件。
本实施例的技术方案,响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据,其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,然后按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,当检测到目标项目中的包管理器针对私服仓库进行的开源组件引入操作时,对包管理器在私服仓库中获取到的至少一项开源组件进行安全检测,进一步的,接收用户上传的目标项目的源代码和私服仓库的地址,并获取目标项目的源代码中包含的组件配置文件,根据组件配置文件和私服仓库的地址,在私服仓库中获取至少一项目标开源组件,并对目标开源组件进行安全检测,一方面,可以在私服仓库中进行开源组件的安全检测,减少了开发过程中引入的安全漏洞,另一方面,在开发过程中进行多阶段的开源组件的安全检测,提高了每个阶段的检测效率,且减少了后期漏洞修复的工作量。
实施例三
图3为本发明实施例三中的一种安全检测方法的流程图,本实施例在上述实施例的基础上进一步细化,提供了在响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据之前的具体步骤。下面结合图3对本发明实施例三提供的一种安全检测方法进行说明,包括以下步骤:
步骤310、根据私服仓库的地址,建立与私服仓库的关联关系。
本实施例中,由于开源组件安全检测工具需要定时对私服仓库中包含的开源组件或者对私服仓库中新增的开源组件进行安全检测,因此需要实时获取私服仓库中开源组件的变更信息,因此,需要预先建立与私服仓库的关联关系,具体的,可以在开源组件安全检测工具中注册私服仓库的地址,实现二者的绑定关系,进而开源组件安全检测工具可以实时检测私服仓库中开源组件变更操作。
步骤320、响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据;
其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件。
步骤330、按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测。
可选的,本实施例中还包括:获取用户上传的目标项目的部署包,并识别部署包中包含的至少一项目标开源组件;
对目标开源组件进行安全检测。
本可选的实施例中,还提供了开源组件安全检测工具对开源组件进行安全检测的另一个应用场景,用户除了向开源组件安全检测工具提供源代码进行安全检测外,也会向开源组件安全检测工具提供目标项目的布署包,以使其对布署包中包含的开源组件进行安全检测,具体的,开源组件安全检测工具获取到用户上传的目标项目的布署包后,会识别布署包中包含的至少一项目标开源组件,进而对目标开源组件进行安全检测。
可选的,本实施例中还包括:响应于私服仓库发起的开源组件检测请求,对私服仓库中包含的至少一项开源组件进行安全检测。
本可选的实施例中,还提供了开源组件安全检测工具对开源组件进行安全检测的又一个应用场景,具体为除按照检测周期对开源组件进行安全检测外,开源组件安全检测工具还会响应私服仓库主动发起的开源组件检测请求,对私服仓库中包含的至少一项开源组件进行安全检测。示例性的,在私服仓库与开源组件安全检测工具建立连接时,私服仓库中的开源组件没有进行过安全检测,此时私服仓库可以向开源组件安全检测工具发送开源组件检测请求,以使其对私服仓库中引入的所有开源组件进行安全检测。
步骤340、当目标开源组件不符合安全规范时,展示针对目标开源组件的风险提示信息。
本实施例中,在开源组件安全检测工具对目标开源组件进行检测后,如果目标开源组件不符合安全规范,则会展示针对目标开源组件的风险提示信息,以提示开发者当前检测的目标开源组件具有安全漏洞,可以使开发者对安全漏洞进行及时的修复,无需在软件开发结束后对检测到的安全漏洞进行统一修复,减少了后期漏洞修复的工作量。
本实施例的技术方案,根据私服仓库的地址,建立与私服仓库的关联关系,响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据,其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,当目标开源组件不符合安全规范时,展示针对目标开源组件的风险提示信息,可以在私服仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞,提高软件开发的效率和可靠性,减少后期安全漏洞修复工作量。
实施例四
图4为本发明实施例四提供的一种安全检测装置的结构示意图,该安全检测装置,包括:变更数据记录模块410和安全检测模块420。
变更数据记录模块410,用于响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;
安全检测模块420,用于按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。
本发明实施例的技术方案,响应于私服仓库中开源组件变更的操作,记录私服仓库对应的开源组件变更数据,其中,开源组件变更数据中包含私服仓库中新增的至少一项目标开源组件,按照设定检测周期,对开源组件变更数据中包含的目标开源组件进行安全检测,通过在私有仓库中进行开源组件的安全检测,减少软件开发过程中引入的开源组件的漏洞,提高软件开发的效率和可靠性,减少后期安全检测工作量。
可选的,所述安全检测装置,还包括:
引入安全检测模块,用于在按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测之后,当检测到目标项目中的包管理器针对所述私服仓库进行的开源组件引入操作时,对所述包管理器在所述私服仓库中获取到的至少一项开源组件进行安全检测。
可选的,所述安全检测装置,还包括:
源代码接收模块,用于在对所述包管理器在所述私服仓库中获取到的至少一项开源组件进行安全检测之后,接收用户上传的目标项目的源代码和私服仓库的地址;
配置文件获取模块,用于获取所述目标项目的源代码中包含的组件配置文件;
源代码安全检测模块,用于根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,并对所述目标开源组件进行安全检测。
可选的,源代码安全检测模块,包括:
第一标识信息确定单元,用于确定所述组件配置文件中包含的至少一项开源组件的标识信息;
第一目标开源组件获取单元,用于向包管理器发起获取与所述标识信息对应的开源组件的获取指示,以指示所述包管理器根据所述获取指示和私服仓库的地址,获取至少一项目标开源组件。
可选的,源代码安全检测模块,包括:
第二标识信息确定单元,用于确定所述组件配置文件中包含的至少一项开源组件的标识信息;
第二目标开源组件获取单元,用于遍历所述私服仓库的地址中的开源组件,获取与所述标识信息对应的至少一项目标开源组件。
可选的,所述安全检测装置,还包括:
目标开源组件获取模块,获取用户上传的目标项目的部署包,并识别所述部署包中包含的至少一项目标开源组件;
部署包安全检测模块,用于对所述目标开源组件进行安全检测。
可选的,所述安全检测装置,还包括:
关系建立模块,用于在响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据之前,根据所述私服仓库的地址,建立与所述私服仓库的关联关系。
可选的,所述安全检测装置,还包括:
私服仓库安全检测模块,用于响应于所述私服仓库发起的开源组件检测请求,对所述私服仓库中包含的至少一项开源组件进行安全检测。
可选的,所述安全检测装置,还包括:
提示信息展示模块,用于在按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测之后,当所述目标开源组件不符合安全规范时,展示针对所述目标开源组件的风险提示信息。
本发明实施例所提供的安全检测装置可执行本发明任意实施例所提供的安全检测方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种电子设备的结构示意图,如图5所示,该电子设备包括处理器50和存储器51;设备中处理器50的数量可以是一个或多个,图5中以一个处理器50为例;设备中的处理器50和存储器51可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器51作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种安全检测方法对应的程序指令/模块(例如,安全检测装置中的变更数据记录模块410和安全检测模块420)。处理器50通过运行存储在存储器51中的软件程序、指令以及模块,从而执行设备的各种功能应用以及安全检测,即实现上述的安全检测方法。
该方法包括:
响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;
按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。
存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器51可进一步包括相对于处理器50远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实施例六
本发明实施例六还提供一种其上存储有计算机程序的计算机可读存储介质,所述计算机程序在由计算机处理器执行时用于执行一种安全检测方法,该方法包括:
响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;
按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测。
当然,本发明实施例所提供的包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的安全检测方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,应用服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种安全检测装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (11)
1.一种安全检测方法,其特征在于,包括:
响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;所述私服仓库是包括开发所需开源组件的私有开源组件仓库;
按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测;
当检测到目标项目中的包管理器针对所述私服仓库进行的开源组件引入操作时,对所述包管理器在所述私服仓库中获取到的至少一项开源组件进行安全检测;
接收用户上传的目标项目的源代码和私服仓库的地址;
获取所述目标项目的源代码中包含的组件配置文件;
根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,并对所述目标开源组件进行安全检测。
2.根据权利要求1所述的方法,其特征在于,根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,包括:
确定所述组件配置文件中包含的至少一项开源组件的标识信息;
向包管理器发起获取与所述标识信息对应的开源组件的获取指示,以指示所述包管理器根据所述获取指示和私服仓库的地址,获取至少一项目标开源组件。
3.根据权利要求1所述的方法,其特征在于,根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,包括:
确定所述组件配置文件中包含的至少一项开源组件的标识信息;
遍历所述私服仓库的地址中的开源组件,获取与所述标识信息对应的至少一项目标开源组件。
4.根据权利要求1所述的方法,其特征在于,还包括:
获取用户上传的目标项目的部署包,并识别所述部署包中包含的至少一项目标开源组件;
对所述目标开源组件进行安全检测。
5.根据权利要求1所述的方法,其特征在于,在响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据之前,还包括:
根据所述私服仓库的地址,建立与所述私服仓库的关联关系。
6.根据权利要求1所述的方法,其特征在于,还包括:
响应于所述私服仓库发起的开源组件检测请求,对所述私服仓库中包含的至少一项开源组件进行安全检测。
7.根据权利要求1所述的方法,其特征在于,在按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测之后,还包括:
当所述目标开源组件不符合安全规范时,展示针对所述目标开源组件的风险提示信息。
8.一种安全检测装置,其特征在于,包括:
变更数据记录模块,用于响应于私服仓库中开源组件变更的操作,记录所述私服仓库对应的开源组件变更数据;
其中,所述开源组件变更数据中包含所述私服仓库中新增的至少一项目标开源组件;所述私服仓库是包括开发所需开源组件的私有开源组件仓库;
安全检测模块,用于按照设定检测周期,对所述开源组件变更数据中包含的目标开源组件进行安全检测;
引入安全检测模块,用于当检测到目标项目中的包管理器针对所述私服仓库进行的开源组件引入操作时,对所述包管理器在所述私服仓库中获取到的至少一项开源组件进行安全检测;
源代码接收模块,用于接收用户上传的目标项目的源代码和私服仓库的地址;
配置文件获取模块,用于获取所述目标项目的源代码中包含的组件配置文件;
源代码安全检测模块,用于根据所述组件配置文件和私服仓库的地址,在所述私服仓库中获取至少一项目标开源组件,并对所述目标开源组件进行安全检测。
9.根据权利要求8所述的装置,其特征在于,所述源代码安全检测模块,包括:
第一标识信息确定单元,用于确定所述组件配置文件中包含的至少一项开源组件的标识信息;
第一目标开源组件获取单元,用于向包管理器发起获取与所述标识信息对应的开源组件的获取指示,以指示所述包管理器根据所述获取指示和私服仓库的地址,获取至少一项目标开源组件。
10.一种电子设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的安全检测方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述安全检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349195.0A CN113094078B (zh) | 2021-03-31 | 2021-03-31 | 一种安全检测方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349195.0A CN113094078B (zh) | 2021-03-31 | 2021-03-31 | 一种安全检测方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113094078A CN113094078A (zh) | 2021-07-09 |
CN113094078B true CN113094078B (zh) | 2023-05-30 |
Family
ID=76672036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110349195.0A Active CN113094078B (zh) | 2021-03-31 | 2021-03-31 | 一种安全检测方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113094078B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
CN109697162A (zh) * | 2018-11-15 | 2019-04-30 | 西北大学 | 一种基于开源代码库的软件缺陷自动检测方法 |
US10303465B1 (en) * | 2018-02-22 | 2019-05-28 | Allscripts Software, Llc | Computing system for managing software dependencies in a private data store |
CN111309336A (zh) * | 2020-01-21 | 2020-06-19 | 浪潮软件股份有限公司 | 分布式应用的部署方法及装置 |
-
2021
- 2021-03-31 CN CN202110349195.0A patent/CN113094078B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105787367A (zh) * | 2016-02-23 | 2016-07-20 | 华中科技大学 | 一种软件更新的补丁安全性检测方法及系统 |
US10303465B1 (en) * | 2018-02-22 | 2019-05-28 | Allscripts Software, Llc | Computing system for managing software dependencies in a private data store |
CN109697162A (zh) * | 2018-11-15 | 2019-04-30 | 西北大学 | 一种基于开源代码库的软件缺陷自动检测方法 |
CN111309336A (zh) * | 2020-01-21 | 2020-06-19 | 浪潮软件股份有限公司 | 分布式应用的部署方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113094078A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107193750B (zh) | 一种脚本录制方法和装置 | |
CN111695156A (zh) | 业务平台的访问方法、装置、设备及存储介质 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN111752843B (zh) | 用于确定影响面的方法、装置、电子设备及可读存储介质 | |
CN105610819B (zh) | 提供服务器信息的查询服务的方法和装置 | |
US11846972B2 (en) | Method and apparatus for generating software test reports | |
CN109190368B (zh) | 一种sql注入检测装置及sql注入检测方法 | |
WO2015164661A1 (en) | Executing third-party application | |
CN110287696B (zh) | 一种反弹shell进程的检测方法、装置和设备 | |
CN109726134B (zh) | 接口测试方法和系统 | |
CN110232279A (zh) | 一种漏洞检测方法及装置 | |
CN106326099B (zh) | 一种用于程序跟踪的方法、装置及电子设备 | |
CN109657475A (zh) | 代码漏洞排查方法、装置、设备及存储介质 | |
WO2020259034A1 (zh) | 下线源代码的识别方法、装置、设备及存储介质 | |
CN112835808A (zh) | 接口测试方法、装置、计算机设备及存储介质 | |
CN105354490B (zh) | 一种处理被劫持浏览器的方法及设备 | |
CN113660359A (zh) | 域名解析记录的管理方法及装置、存储介质及电子设备 | |
US20160277477A1 (en) | Information processing apparatus, terminal device, information processing method, and non-transitory computer readable recording medium | |
CN111488286B (zh) | 一种Android模块独立开发的方法及装置 | |
CN104077158A (zh) | 安装插件的方法及装置 | |
CN113094078B (zh) | 一种安全检测方法、装置、设备及介质 | |
CN109542775B (zh) | 一种测试脚本的生成和执行方法及装置 | |
CN106951236B (zh) | 插件的开发方法及装置 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN105824656A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |