欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備與流程

文檔序號(hào):40480442發(fā)布日期:2024-12-31 12:48閱讀:9來源:國知局
一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備與流程

本技術(shù)涉及靜態(tài)代碼掃描,具體涉及一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備。


背景技術(shù):

1、靜態(tài)代碼掃描是一種自動(dòng)化工具,用于分析源代碼的質(zhì)量和安全性。其原理是通過檢查源代碼的文本內(nèi)容,基于ast語法分析或者正則匹配等技術(shù),查找潛在的程序錯(cuò)誤、安全漏洞和不良編程實(shí)踐,而不需要實(shí)際運(yùn)行代碼。靜態(tài)代碼掃描器基于約定俗成的規(guī)則和模式來檢測(cè)代碼中的問題,幫助開發(fā)人員在早期發(fā)現(xiàn)和修復(fù)潛在的缺陷。

2、靜態(tài)代碼掃描中最常見的兩個(gè)問題是:掃描慢和耗資源,造成這兩個(gè)問題的原因是:

3、(1)代碼規(guī)模大:大型項(xiàng)目的代碼量龐大,需要耗費(fèi)更多時(shí)間掃描,代碼量越大,掃描速度就越慢。

4、(2)代碼較復(fù)雜:復(fù)雜的代碼結(jié)構(gòu)、嵌套條件以及循環(huán)等會(huì)增加掃描時(shí)間,導(dǎo)致耗費(fèi)更多資源。

5、(3)掃描規(guī)則數(shù)量多:檢測(cè)代碼中潛在問題需要運(yùn)行多個(gè)規(guī)則和算法來發(fā)現(xiàn)潛在的安全隱患、錯(cuò)誤和不良實(shí)踐,這些規(guī)則越多,掃描耗時(shí)越長。

6、(4)硬件環(huán)境差:掃描過程中硬件性能不佳會(huì)導(dǎo)致速度變慢,而需進(jìn)行更復(fù)雜的代碼分析會(huì)導(dǎo)致更多資源消耗。

7、(5)代碼重復(fù)掃描:同一分代碼多次提交掃描,造成掃描資源大量浪費(fèi)。

8、目前,為了應(yīng)對(duì)靜態(tài)代碼掃描過程中掃描速度慢和資源消耗高的問題,通常采用以下方法:

9、(1)并行處理:用多線程或分布式計(jì)算等技術(shù),將代碼掃描任務(wù)分解成多個(gè)子任務(wù)并行處理,以提高掃描效率。但是,這樣會(huì)額外增加很大的服務(wù)器資源成本。

10、(2)增量掃描:基于代碼提交的差異文件進(jìn)行掃描。但是,這種掃描方法的掃描場(chǎng)景有限。

11、綜上可知,精簡(jiǎn)掃描規(guī)則、降低代碼復(fù)雜性這些都是一些客觀因素,無法真正的解決問題。


技術(shù)實(shí)現(xiàn)思路

1、為此,本技術(shù)提供一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備,以解決現(xiàn)有技術(shù)存在的靜態(tài)代碼掃描方法掃描速度慢和資源消耗高的問題。

2、為了實(shí)現(xiàn)上述目的,本技術(shù)提供如下技術(shù)方案:

3、第一方面,一種靜態(tài)代碼掃描方法,包括:

4、步驟1:獲取代碼倉庫首次掃描結(jié)果,并保存為第一規(guī)則文件;所述第一規(guī)則文件的數(shù)據(jù)結(jié)構(gòu)包括file_md5字段、file_name字段、rule_info字段、repo_id字段和op_time字段;

5、步驟2:獲取代碼倉庫的被掃描文件和掃描規(guī)則,并保存為第二規(guī)則文件;所述第二規(guī)則文件的數(shù)據(jù)結(jié)構(gòu)包括file_md5字段、file_name字段、repo_id字段、rule_id字段、rule_version字段和rule_properties_version字段;

6、步驟3:解析所述第一規(guī)則文件中的rule_info字段,并根據(jù)所述第二規(guī)則文件中的rule_id字段、rule_version字段和ule_properties_version字段判斷掃描規(guī)則是否發(fā)生變化;

7、步驟4:若掃描規(guī)則未發(fā)生變化,則計(jì)算所述第二規(guī)則文件中的file_md5字段的md5值,并根據(jù)所述第一規(guī)則文件和所述第二規(guī)則文件中的md5值和repo_id判斷被掃描文件是否存在,若被掃描文件存在,則刪除被掃描文件的掃描,若被掃描文件不存在,則保留被掃描文件的掃描,得到第二次掃描結(jié)果;

8、步驟5:若掃描規(guī)則發(fā)生變化,則每個(gè)被掃描文件都需要重新掃描,并得到第二次掃描結(jié)果;

9、步驟6:將首次掃描結(jié)果與第二次掃描結(jié)果進(jìn)行合并,得到第二次掃描的完整掃描結(jié)果。

10、作為優(yōu)選,步驟1中,rule_info字段包括規(guī)則id、規(guī)則問題行、規(guī)則版本號(hào)和規(guī)則閾值版本號(hào)。

11、作為優(yōu)選,步驟4中,file_md5字段的md5值計(jì)算公式為:md5(文件的相對(duì)目錄+文件內(nèi)容)。

12、作為優(yōu)選,還包括:判斷被掃描文件是否為新增被掃描文件,若是新增被掃描文件,則新增數(shù)據(jù);若是被復(fù)用的掃描結(jié)果,則更新數(shù)據(jù)。

13、作為優(yōu)選,還包括:根據(jù)所述第一規(guī)則文件和所述第二規(guī)則文件中的op_time字段定時(shí)進(jìn)行數(shù)據(jù)清理。

14、第二方面,一種靜態(tài)代碼掃描裝置,包括:

15、首次掃描結(jié)果獲取模塊,用于獲取代碼倉庫首次掃描結(jié)果,并保存為第一規(guī)則文件;所述第一規(guī)則文件的數(shù)據(jù)結(jié)構(gòu)包括file_md5字段、file_name字段、rule_info字段、repo_id字段和op_time字段;

16、被掃描文件獲取模塊,用于獲取代碼倉庫的被掃描文件和掃描規(guī)則,并保存為第二規(guī)則文件;所述第二規(guī)則文件的數(shù)據(jù)結(jié)構(gòu)包括file_md5字段、file_name字段、repo_id字段、rule_id字段、rule_version字段和rule_roperties_version字段;

17、掃描規(guī)則判斷模塊,用于解析所述第一規(guī)則文件中的rule_info字段,并根據(jù)所述第二規(guī)則文件中的rule_id字段、rule_version字段和ule_properties_version字段判斷掃描規(guī)則是否發(fā)生變化;

18、掃描文件判斷模塊,用于若掃描規(guī)則未發(fā)生變化,則計(jì)算所述第二規(guī)則文件中的file_md5字段的md5值,并根據(jù)所述第一規(guī)則文件和所述第二規(guī)則文件中的md5值和repo_id判斷被掃描文件是否存在,若被掃描文件存在,則刪除被掃描文件的掃描,若被掃描文件不存在,則保留被掃描文件的掃描,得到第二次掃描結(jié)果;

19、掃描模塊,用于若掃描規(guī)則發(fā)生變化,則每個(gè)被掃描文件都需要重新掃描,并得到第二次掃描結(jié)果;

20、掃描結(jié)果合并模塊,用于將首次掃描結(jié)果與第二次掃描結(jié)果進(jìn)行合并,得到第二次掃描的完整掃描結(jié)果。

21、第三方面,一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)一種靜態(tài)代碼掃描方法的步驟。

22、第四方面,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)一種靜態(tài)代碼掃描方法的步驟。

23、第五方面,一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序或指令,該計(jì)算機(jī)程序或指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)一種靜態(tài)代碼掃描方法的步驟。

24、相比現(xiàn)有技術(shù),本技術(shù)至少具有以下有益效果:

25、本技術(shù)提供了一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備,包括獲取代碼倉庫首次掃描結(jié)果,并保存為第一規(guī)則文件;獲取代碼倉庫的被掃描文件和掃描規(guī)則,并保存為第二規(guī)則文件;解析第一規(guī)則文件中的rule_info字段,并根據(jù)第二規(guī)則文件中的rule_id字段、rule_version字段和ule_properties_version字段判斷掃描規(guī)則是否發(fā)生變化;若掃描規(guī)則未發(fā)生變化,則計(jì)算第二規(guī)則文件中的file_md5字段的md5值,并根據(jù)第一規(guī)則文件和第二規(guī)則文件中的md5值和repo_id判斷被掃描文件是否存在,若被掃描文件存在,則刪除被掃描文件的掃描,若被掃描文件不存在,則保留被掃描文件的掃描,得到第二次掃描結(jié)果;若掃描規(guī)則發(fā)生變化,則每個(gè)被掃描文件都需要重新掃描,并得到第二次掃描結(jié)果;將首次掃描結(jié)果與第二次掃描結(jié)果進(jìn)行合并,得到第二次掃描的完整掃描結(jié)果。本技術(shù)提供的一種靜態(tài)代碼掃描方法、裝置及計(jì)算機(jī)設(shè)備通過復(fù)用重復(fù)掃描文件的結(jié)果,并篩選出新增的文件進(jìn)行掃描,最后再進(jìn)行掃描結(jié)果合并,不僅極大的減少了資源消耗,且提升了掃描效率。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
博客| 西吉县| 东乌| 文化| 安陆市| 义马市| 佛冈县| 离岛区| 墨竹工卡县| 桐乡市| 漳州市| 古蔺县| 晋江市| 西盟| 磐安县| 措美县| 民勤县| 富顺县| 天峻县| 广昌县| 大新县| 山丹县| 鹤山市| 贵州省| 台东县| 香港 | 大丰市| 新化县| 砚山县| 昆明市| 烟台市| 呼伦贝尔市| 阿拉善右旗| 钟山县| 兴城市| 永吉县| 开阳县| 固始县| 昔阳县| 丁青县| 曲周县|