银行系统的静态源代码扫描方法、装置及计算机存储介质制造方法及图纸

技术编号:22565401 阅读:20 留言:0更新日期:2019-11-16 12:09
本发明专利技术提供了一种银行系统的静态源代码扫描方法和装置,该方法包括如下步骤:根据预设的扫描周期,产生代码扫描的触发请求;判断是否需要扫描源代码,当判断需要扫描源代码时,读取银行业务子系统和项目路径;根据读取到的银行业务子系统和项目路径获取待扫描的源代码;调用代码扫描引擎以对源代码进行扫描。本发明专利技术还提供一种计算机存储介质。本发明专利技术对接银行的配置管理系统,可以读取银行业务子系统和项目路径,并能够通过预设扫描周期,从而可以定期对银行业务子系统的静态源代码进行扫描,从而能够及时监控银行系统的静态源代码。

Static source code scanning method, device and computer storage medium of banking system

The invention provides a static source code scanning method and device for a banking system, the method comprises the following steps: generating a trigger request for code scanning according to a preset scanning cycle; determining whether to scan the source code; reading the banking industry business subsystem and project path when it is necessary to scan the source code; obtaining according to the read banking business subsystem and project path Take the source code to be scanned; call the code scanning engine to scan the source code. The invention also provides a computer storage medium. The invention is connected with the configuration management system of the bank, can read the banking subsystem and project path, and can scan the static source code of the banking subsystem regularly through preset scanning cycle, so as to monitor the static source code of the banking system in time.

【技术实现步骤摘要】
银行系统的静态源代码扫描方法、装置及计算机存储介质
本专利技术涉及计算机
,尤其涉及一种银行系统静态源代码扫描方法、装置及计算机可读存储介质。
技术介绍
SonarQube是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,可以快速的定位代码中潜在的或者明显的错误。通过插件形式,可以支持包括java、C#、C/C++、PL/SQL、Cobol、JavaScrip、Groovy等等二十几种编程语言的代码质量管理与检测。现有的银行内部有一套自己的系统、银行业务子系统、及应用的管理逻辑。而SonarQube作为一个开源平台,无法自动识别银行中的系统架构。因此,目前无法针对银行的系统的静态源代码扫描数据进行分析和汇总,以及无法通知相关系统的负责人。静态源代码扫描指的是在不运行代码的方式下,通过文本分析和正则匹配等技术扫描代码,发现代码中存在的规范性、安全性问题,并输出静态扫描结果。静态源代码扫描是近些年被人提及较多的软件应用安全解决方案之一;其原理是:由软件工程中程序员在写好源代码后,无需经过编译器编译,而直接使用一些扫描工具对其进行扫描,找出代码当中存在的一些语义缺陷、安全漏洞的解决方案。
技术实现思路
本专利技术提供一种银行系统的静态源代码扫描方法、装置及计算机可读存储介质,其主要目的旨在解决如何及时监控银行系统的静态源代码的技术问题。为实现上述目的,本专利技术提供一种银行系统的静态源代码扫描方法,该方法包括如下步骤:根据预设的扫描周期,产生代码扫描的触发请求;判断是否需要扫描源代码;若需要扫描源代码,则读取银行业务子系统和项目路径;根据读取到的银行业务子系统和项目路径获取待扫描的源代码;调用代码扫描引擎对源代码进行扫描生成相应的扫描结果。优选地,所述的银行系统的静态源代码扫描方法还包括步骤:通过代码扫描引擎输出扫描结果。优选地,所述扫描结果包括至少一个代码缺陷信息,每个代码缺陷信息包括代码缺陷位置信息和代码缺陷描述信息。优选地,所述代码缺陷位置信息是用于代码缺陷所在的代码所处的位置进行描述的信息,其中,所述代码缺陷位置信息包括代码缺陷对应的代码文件的文件名和在所述代码文件中的行数。优选地,所述代码缺陷描述信息是用于对代码缺陷进行描述的信息,其中,所述代码缺陷描述信息包括代码缺陷类型信息。优选地,所述代码缺陷类型信息包括空指针缺陷、未初始化缺陷、数值计算缺陷、数组越界缺陷、运行逻辑缺陷。优选地,所述调用代码扫描引擎对源代码进行扫描生成相应的扫描结果的步骤包括:选择相应的代码扫描规则;根据相应的代码扫描规则扫描源代码;生成相应的扫描结果。优选地,所述代码扫描规则包括SonarQube通用扫描规则。优选地,所述的银行系统的静态源代码扫描方法还包括步骤:整合所述扫描结果以获得扫描结果报告。优选地,所述的银行系统的静态源代码扫描方法还包括步骤:读取银行业务子系统的负责人信息;根据所述银行业务子系统的负责人信息,将整合后的扫描结果报告进行实时推送。为实现上述目的,本专利技术还提供一种银行系统的静态源代码扫描装置,所述装置包括存储器和处理器,所述存储器存储有可在所述处理器上运行的静态源代码扫描程序,所述静态源代码扫描程序被所述处理器执行时实现如上所述银行系统的静态源代码扫描方法的步骤。此外,为实现上述目的,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有静态源代码扫描程序,所述静态源代码扫描程序可被一个或者多个处理器执行,以实现如上所述银行系统的静态源代码扫描方法的步骤。本专利技术提出的银行系统的静态源代码扫描方法、装置及计算机可读存储介质,通过预设的扫描周期,产生代码扫描的触发请求;当判断需要扫描源代码时,读取银行业务子系统和项目路径、根据读取到的银行业务子系统和项目获取待扫描的源代码、及调用代码扫描引擎对源代码进行扫描,从而方便对源代码进行及时监控。附图说明图1为本专利技术一实施例提供的银行系统的静态源代码扫描方法的流程示意图;图2为本专利技术一实施例提供的静态源代码扫描装置的内部结构示意图;图3为本专利技术一实施例提供的静态源代码扫描装置中静态源代码扫描程序的模块示意图。本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种银行系统的静态源代码扫描方法。本实施例中,银行系统中包括配置管理系统和银行业务子系统,银行系统中有对应每一项目的项目路径。参照图1所示,为本专利技术一实施例提供的银行系统的静态源代码扫描方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。在本实施例中,所述银行系统的静态源代码扫描方法包括:步骤A:根据预设的扫描周期,产生代码扫描的触发请求。在本实施例中,所述扫描周期可以由银行系统负责人根据所需银行系统静态源代码的监控周期来设置,例如,监控者将扫描周期设置为一周或一月,即每周或每月产生一次触发请求银行系统静态源代码进行一次扫描。步骤B:判断是否需要扫描源代码。具体地,在代码扫描的触发请求产生后,判断是否需要扫描源代码,当判断需要扫描源代码时,执行步骤C。当判断不需要扫描源代码时,重复执行步骤B。进一步地,所述源代码可以是,但不限于,指定的一段代码,也可以是至少一个代码文件中的代码,还可以是指定的文件夹中各个代码文件中的代码。步骤C:读取银行业务子系统和项目路径。具体地,当需要扫描源代码时,读取银行业务子系统和项目路径。步骤D:根据读取到的银行业务子系统和项目获取待扫描的源代码。具体地,当读取到银行业务子系统和项目路径后,即可根据读取到的银行业务子系统和项目获取待扫描的源代码。步骤E:调用代码扫描引擎对源代码进行扫描。在本实施例中,当获取到待扫描的源代码后,通过调用代码扫描引擎以对待扫描的源代码进行扫描。具体地,在一实施例中,所述步骤E包括:选择相应的代码扫描规则;根据相应的代码扫描规则扫描源代码;生成相应的扫描结果。更详细地,在本实施例中,所述代码扫描规则可以是SonarQube通用扫描规则;并且,为了适用于银行系统的代码扫描规则,本实施例的代码扫描规则在所述SonarQube通用扫描规则的基础上做了相应的筛选过滤和修改。进一步地,为了获得更详细的扫描结果,所述银行系统的静态源代码扫描方法还包括:步骤F:通过代码扫描引擎输出扫描结果。优选地,所述扫描结果可以包括,但不限于,包括至少一个代码缺陷信息。每个代码缺陷信息可以包括,但不限于,包括代码缺陷位置信息和代码缺陷描述信息。在本实施例中,所述代码缺陷位置信息是用于代码缺陷所在的代码所处的位置进行描述的信息,例如本文档来自技高网...

【技术保护点】
1.一种银行系统的静态源代码扫描方法,其特征在于,所述银行系统的静态源代码扫描方法包括如下步骤:/n根据预设的扫描周期,产生代码扫描的触发请求;/n判断是否需要扫描源代码;/n若需要扫描源代码,则读取银行业务子系统和项目路径;/n根据读取到的银行业务子系统和项目路径获取待扫描的源代码;/n调用代码扫描引擎对源代码进行扫描生成相应的扫描结果。/n

【技术特征摘要】
1.一种银行系统的静态源代码扫描方法,其特征在于,所述银行系统的静态源代码扫描方法包括如下步骤:
根据预设的扫描周期,产生代码扫描的触发请求;
判断是否需要扫描源代码;
若需要扫描源代码,则读取银行业务子系统和项目路径;
根据读取到的银行业务子系统和项目路径获取待扫描的源代码;
调用代码扫描引擎对源代码进行扫描生成相应的扫描结果。


2.如权利要求1所述的银行系统的静态源代码扫描方法,其特征在于,该方法还包括步骤:通过代码扫描引擎输出扫描结果。


3.如权利要求2所述的银行系统的静态源代码扫描方法,其特征在于,所述扫描结果包括至少一个代码缺陷信息,每个代码缺陷信息包括代码缺陷位置信息和代码缺陷描述信息。


4.如权利要求3所述的银行系统的静态源代码扫描方法,其特征在于,所述代码缺陷位置信息是用于代码缺陷所在的代码所处的位置进行描述的信息,其中,所述代码缺陷位置信息包括代码缺陷对应的代码文件的文件名和在所述代码文件中的行数。


5.如权利要求3所述的银行系统的静态源代码扫描方法,其特征在于,所述代码缺陷描述信息是用于对代码缺陷进行描述的信息,其中,所述代码缺陷描述信息包括代...

【专利技术属性】
技术研发人员:梅挺
申请(专利权)人:平安银行股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术