一种快速过滤第三方代码的方法及装置制造方法及图纸

技术编号:32175233 阅读:8 留言:0更新日期:2022-02-08 15:35
本发明专利技术的技术方案提供一种快速过滤第三方代码的方法及装置,创建分析任务;将白盒代码扫描工具对待分析程序的代码扫描结果为第一代码扫描结果,将第一代码扫描结果导入至所创建分析任务;将开源合规扫描工具对待分析程序的代码扫描结果为第二代码扫描结果,将第二代码扫描结果导入至所创建分析任务;从第二代码扫描结果中提取第三方代码关键字;将第三方代码关键字作为过滤条件遍历第一代码扫描结果,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。本发明专利技术可快速过滤出白盒代码扫描工具扫描结果中的自研代码和第三方代码,提高了代码扫描结果分析效率和第三方代码识别准确率,节省人力成本。节省人力成本。节省人力成本。

【技术实现步骤摘要】
一种快速过滤第三方代码的方法及装置


[0001]本专利技术涉及第三方代码过滤领域,具体涉及一种快速过滤第三方代码的方法及装置。

技术介绍

[0002]代码扫描是提高代码安全性以及提高代码质量的重要手段,采用白盒代码扫描工具是当下比较流行的方法。通过代码扫描可以快速的识别出代码中存在的问题,但通过自动化工具扫描,无法区分哪些代码是自研的,哪些代码是第三方的。在代码漏洞修复时,需要重点关注的是自研代码,所以在分析扫描结果时需要区分出哪些代码是自研的,哪些代码是第三方的。
[0003]当前主要通过人工分析代码扫描结果来区分哪些代码是自研的,哪些代码是第三方的,这种方法既费时又费力,并且人工分析很容易出错,例如误把自研代码当做第三方代码,而忽略了自研代码中的问题。虽然可以借助开源合规扫描工具扫描来识别第三方内容,但仍需人工对比开源合规扫描工具的扫描结果来区分程序代码中的第三方相关内容。

技术实现思路

[0004]为解决上述问题,本专利技术提供一种快速过滤第三方代码的方法及装置,快速过滤出白盒代码扫描工具扫描结果中的自研代码和第三方代码,提高了代码扫描结果分析效率和第三方代码识别准确率。
[0005]第一方面,本专利技术的技术方案提供一种快速过滤第三方代码的方法,包括以下步骤:创建分析任务;将白盒代码扫描工具对待分析程序的代码扫描结果为第一代码扫描结果,将第一代码扫描结果导入至所创建分析任务;将开源合规扫描工具对待分析程序的代码扫描结果为第二代码扫描结果,将第二代码扫描结果导入至所创建分析任务;从第二代码扫描结果中提取第三方代码关键字;将第三方代码关键字作为过滤条件遍历第一代码扫描结果,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。
[0006]进一步地,将第三方代码关键字作为过滤条件遍历第一代码扫描结果,具体包括:重构第一代码扫描结果,建立索引树;以索引树形式将第三方代码关键字作为过滤条件遍历第一代码扫描结果。
[0007]进一步地,重构第一代码扫描结果,建立索引树,具体为:根据第一代码扫描结果中的构建信息作为索引目录建立索引树。
[0008]进一步地,该方法还包括以下步骤:创建存储表;
将已遍历过的索引树节点存储到存储表;将已遍历过的索引树节点存储到存储表时,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。
[0009]进一步地,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码,具体为:将命中第三方代码关键字的代码字段标记为1,否则标记为0。
[0010]进一步地,从第二代码扫描结果中提取第三方代码关键字,具体为:从第二代码扫描结果中提取组件名称字段作为第三方代码关键字。
[0011]第二方面,本专利技术的技术方案提供一种快速过滤第三方代码的装置,包括,任务管理模块:创建分析任务;上传下载模块:将第一代码扫描结果导入至所创建分析任务,将第二代码扫描结果导入至所创建分析任务;其中将白盒代码扫描工具对待分析程序的代码扫描结果为第一代码扫描结果,将开源合规扫描工具对待分析程序的代码扫描结果为第二代码扫描结果;代码自动分析模块:从第二代码扫描结果中提取第三方代码关键字;将第三方代码关键字作为过滤条件遍历第一代码扫描结果,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。
[0012]进一步地,该装置还包括,用户管理模块:对用户信息进行增加、删除和修改;日志模块:记录代码分析日志和用户操作日志。
[0013]进一步地,任务管理模块还用于删除任务和进行分析结果显示。
[0014]进一步地,上传下载模块还用于下载分析结果。
[0015]本专利技术提供的一种快速过滤第三方代码的方法及装置,相对于现有技术,具有以下有益效果:自动从第二代码扫描结果中提取第三方代码关键字,将第三方代码关键字作为过滤条件遍历第一代码扫描结果,自动获得分析结果。相比于人工分析第三方代码,本专利技术可快速过滤出白盒代码扫描工具扫描结果中的自研代码和第三方代码,提高了代码扫描结果分析效率和第三方代码识别准确率,节省人力成本。
附图说明
[0016]为了更清楚的说明本申请实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本专利技术实施例一提供的一种快速过滤第三方代码的方法流程示意图。
[0018]图2为本专利技术实施例二根据索引树进行检索并记录于存储表原理示意图。
[0019]图3为本专利技术实施例二提供的一种快速过滤第三方代码的方法流程示意图。
[0020]图4为本专利技术实施例三提供的一种快速过滤第三方代码的装置结构示意框图。
[0021]图5为本专利技术实施例四提供的一种终端的结构示意图。
具体实施方式
[0022]以下对本专利技术涉及的术语进行解释。
[0023]白盒代码扫描工具:代码扫描工具,检查代码安全漏洞及代码规范等 ,例如:Fortify、Coverity 。
[0024]开源合规扫描工具:第三方开源软件合规扫描工具,例如:BlackDuck。
[0025]为了使本
的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0026]代码扫描是提高代码安全性以及提高代码质量的重要手段,采用白盒代码扫描工具是当下比较流行的方法。通过代码扫描可以快速的识别出代码中存在的问题,但通过自动化工具扫描,无法区分哪些代码是自研的,哪些代码是第三方的。在代码漏洞修复时,需要重点关注的是自研代码,所以在分析扫描结果时需要区分出哪些代码是自研的,哪些代码是第三方的。当前主要通过人工分析代码扫描结果来区分哪些代码是自研的,哪些代码是第三方的,这种方法既费时又费力,并且人工分析很容易出错,例如误把自研代码当做第三方代码,而忽略了自研代码中的问题。虽然可以借助开源合规扫描工具扫描来识别第三方内容,但仍需人工对比开源合规扫描工具的扫描结果来区分程序代码中的第三方相关内容。
[0027]因此,本专利技术提供一种快速过滤第三方代码的方案,自动从开源合规扫描工具对待分析程序的代码扫描结果中提取出第三方代码关键字,然后以第三方代码关键字作为过滤条件遍历白盒代码扫描工具对待分析程序的代码扫描结果,若白盒代码扫描工具对待分析程序的代码扫描结果中的某段代码命中第三方代码关键字,则段代码为第三方代码。本方案无需人工手动执行,可自动快速过滤出白盒代码扫描工具扫描结果中的自研代码和第三方代码,提高了代码扫描结果分析效率和第三方代码识别准确率。
[0028本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种快速过滤第三方代码的方法,其特征在于,包括以下步骤:创建分析任务;将白盒代码扫描工具对待分析程序的代码扫描结果为第一代码扫描结果,将第一代码扫描结果导入至所创建分析任务;将开源合规扫描工具对待分析程序的代码扫描结果为第二代码扫描结果,将第二代码扫描结果导入至所创建分析任务;从第二代码扫描结果中提取第三方代码关键字;将第三方代码关键字作为过滤条件遍历第一代码扫描结果,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。2.根据权利要求1所述的快速过滤第三方代码的方法,其特征在于,将第三方代码关键字作为过滤条件遍历第一代码扫描结果,具体包括:重构第一代码扫描结果,建立索引树;以索引树形式将第三方代码关键字作为过滤条件遍历第一代码扫描结果。3.根据权利要求2所述的快速过滤第三方代码的方法,其特征在于,重构第一代码扫描结果,建立索引树,具体为:根据第一代码扫描结果中的构建信息作为索引目录建立索引树。4.根据权利要求3所述的快速过滤第三方代码的方法,其特征在于,该方法还包括以下步骤:创建存储表;将已遍历过的索引树节点存储到存储表;将已遍历过的索引树节点存储到存储表时,将命中第三方代码关键字的代码字段标记为第三方代码,否则标记为自研代码。5.根据权利要求4所述的快速过滤第三方代码的方法,其特征在于,将命中第三方代码关键字的代码字段标记为第三方代码...

【专利技术属性】
技术研发人员:李岩
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1