System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机安全,具体而言,涉及一种apk自动化检测方法、系统、终端设备及存储介质。
技术介绍
1、安全漏洞是指任何会导致计算机数据、应用程序、网络或设备受到未经授权访问的事件。根据安全公司爱加密发布的《2022年上半年全国移动互联网应用安全报告》来看,约74.79%以上的移动互联网应用存在高危漏洞风险。网络安全漏洞可能会造成以下影响:数据泄露、系统瘫痪或无法正常运行、恶意软件感染、造成用户对该网站或系统的信任度降低,从而影响其声誉安全漏洞给公司造成巨额损失已不足为奇。
2、因此,尽早发现和修复安全漏洞可以有效地为企业减少损失,保护数据财产安全。需要从apk(android package,安卓系统安装包)开发阶段入手,进行apk安全检测,意图从根源处解决apk安全漏洞问题。apk开发阶段,包括编码、构建、集成等多个环节。目前行业常见的安全检测方案是发生在编码阶段,但这个阶段检测一般只会检测java、c/c++代码,配置文件等,对于jar、aar格式的文件,以及对开发工具引用的仓库代码不会进行检测,检测不够精准、不够全面。
技术实现思路
1、为了解决上述技术问题,本申请提供一种apk自动化检测方法、系统、终端设备及存储介质,从apk开发阶段入手,通过整合代码管理工具、cicd工具和安全检测工具对apk文件进行安全检测,则有利于从根源处解决apk安全漏洞问题。
2、具体的,本申请的技术方案如下:
3、第一方面,本申请公开一种apk自动化检测方法
4、获取目标应用程序包apk;
5、对所述apk执行预设的shell脚本,所述shell脚本由cicd工具执行,用于获取所述apk中的项目信息,并将所述apk上传到安全检测工具;所述cicd工具为一类持续集成,持续交付,持续部署的应用开发工具;
6、所述安全检测工具接收所述apk后,对所述apk进行反编译,由二进制代码反编译为java代码;对所述java代码进行安全分析,并将安全分析结果反馈给所述cicd工具;
7、所述cicd工具接收所述安全分析结果,并对所述安全分析结果进行评判;若不存在所述安全漏洞则继续执行交付、部署流程;若存在所述安全漏洞则终止后续流程,并向上层反馈以便修复所述安全漏洞。
8、在一些实施方式中,在执行权利要求1所述步骤之前还包括:
9、配置所述cicd工具,启用触发器选项功能和事件推送功能;
10、配置代码管理工具,在apk项目上设置webhook资源定位器,以便响应上层请求;
11、所述代码管理工具获取上层提交的原始代码,自动调用webhook;触发所述cicd工具将所述原始代码进行打包编译;编译过程中自动拉取所述代码管理工具中的仓库代码,编译成功后生成所述apk。
12、在一些实施方式中,所述一种apk自动化检测方法还包括步骤:预设所述shell脚本;所述shell脚本借助所述cicd工具中的触发器选项功能在所述apk编译成功后自动执行。
13、在一些实施方式中,所述项目信息包括:项目地址、名称、时间、提交人;
14、所述项目信息用于日志记录。
15、在一些实施方式中,所述的对所述java代码进行安全分析,包括如下步骤:
16、使用漏洞规则匹配方法对所述java代码进行安全分析;
17、或,使用漏洞概率预测方法对所述java代码进行安全分析。
18、第二方面,本申请还公开一种apk自动化检测系统,包括:
19、cicd工具,用于获取目标应用程序包apk;对所述apk执行预设的shell脚本,所述shell脚本用于获取所述apk中的项目信息,并将所述apk上传到安全检测工具;所述cicd工具为一类持续集成,持续交付,持续部署的应用开发工具;
20、所述安全检测工具,用于接收所述apk后,对所述apk进行反编译,由二进制代码反编译为java代码;对所述java代码进行安全分析,并将安全分析结果反馈给所述cicd工具;
21、所述cicd工具,还用于接收所述安全分析结果,并对所述安全分析结果进行评判;若不存在所述安全漏洞则继续执行交付、部署流程;若存在所述安全漏洞则终止后续流程,并向上层反馈以便修复所述安全漏洞。
22、在一些实施方式中,所述cicd工具,还用于启用触发器选项功能和事件推送功能;
23、所述一种apk自动化检测系统还包括:代码管理工具,用于在apk项目上设置webhook资源定位器,以便响应上层请求;
24、所述代码管理工具,还用于获取上层提交的原始代码,自动调用webhook;以便触发所述cicd工具将所述原始代码进行打包编译;
25、所述cicd工具,还用于编译过程中自动拉取所述代码管理工具中的仓库代码,编译成功后生成所述apk。
26、在一些实施方式中,所述cicd工具为jenkins;
27、所述代码管理工具为github或gitlab。
28、第三方面,本申请公开一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储指令,所述处理器调用所述指令以使得所述处理器执行如上述任一项实施方式中所述的一种apk自动化检测方法。
29、第四方面,本申请公开一种存储介质,用于存储计算机程序指令,其特征在于,当所述指令被处理器调用执行时,使得所述处理器执行如上述任一项实施方式中所述的一种apk自动化检测方法。
30、与现有技术相比,本申请至少具有以下一项有益效果:
31、本申请从apk开发阶段入手,进行apk安全检测,则有利于从根源处解决apk安全漏洞问题。只针对apk中包含的代码文件做检测,不会遗漏和冗余,检测更加精准、全面。本申请通过整合代码管理工具和cicd工具,以及代码安全检测工具实现自动化检测。和一般的源码安全检测工具不同的是,本申请不需拉取android app源码,只需要二进制的apk包就能检测。
本文档来自技高网...【技术保护点】
1.一种APK自动化检测方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种APK自动化检测方法,其特征在于,执行权利要求1所述步骤之前还包括:
3.如权利要求2所述的一种APK自动化检测方法,其特征在于,还包括步骤:预设所述shell脚本;所述shell脚本借助所述CICD工具中的触发器选项功能在所述APK编译成功后自动执行。
4.如权利要求1所述的一种APK自动化检测方法,其特征在于,所述项目信息包括:项目地址、名称、时间、提交人;
5.如权利要求1所述的一种APK自动化检测方法,其特征在于,所述的对所述JAVA代码进行安全分析,包括如下步骤:
6.一种APK自动化检测系统,其特征在于,包括:
7.如权利要求6所述的一种APK自动化检测系统,其特征在于,所述CICD工具,还用于启用触发器选项功能和事件推送功能;
8.如权利要求7所述的一种APK自动化检测系统,其特征在于,包括:
9.一种终端设备,其特征在于,包括处理器和存储器,所述存储器存储指令,所述处理器调用所述指令以使
10.一种存储介质,用于存储计算机程序指令,其特征在于,当所述指令被处理器调用执行时,使得所述处理器执行如权利要求1-5任一项所述的一种APK自动化检测方法。
...【技术特征摘要】
1.一种apk自动化检测方法,其特征在于,包括如下步骤:
2.如权利要求1所述的一种apk自动化检测方法,其特征在于,执行权利要求1所述步骤之前还包括:
3.如权利要求2所述的一种apk自动化检测方法,其特征在于,还包括步骤:预设所述shell脚本;所述shell脚本借助所述cicd工具中的触发器选项功能在所述apk编译成功后自动执行。
4.如权利要求1所述的一种apk自动化检测方法,其特征在于,所述项目信息包括:项目地址、名称、时间、提交人;
5.如权利要求1所述的一种apk自动化检测方法,其特征在于,所述的对所述java代码进行安全分析,包括如下步骤:
...【专利技术属性】
技术研发人员:谢源,林喆,
申请(专利权)人:上海商米科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。