CN113934632A - 代码检测方法及装置 - Google Patents
代码检测方法及装置 Download PDFInfo
- Publication number
- CN113934632A CN113934632A CN202111200128.9A CN202111200128A CN113934632A CN 113934632 A CN113934632 A CN 113934632A CN 202111200128 A CN202111200128 A CN 202111200128A CN 113934632 A CN113934632 A CN 113934632A
- Authority
- CN
- China
- Prior art keywords
- code
- detected
- matching
- calling
- target
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 90
- 230000004048 modification Effects 0.000 claims description 41
- 238000012986 modification Methods 0.000 claims description 41
- 238000000034 method Methods 0.000 claims description 40
- 238000004458 analytical method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 description 12
- 238000011161 development Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 238000013475 authorization Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013145 classification model Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010348 incorporation Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3608—Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供代码检测方法及装置,其中所述代码检测方法包括:获取待检测代码,确定所述待检测代码的代码信息;根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。本方案可以兼顾信息安全性和检测效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种代码检测方法。本申请同时涉及一种代码检测装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着计算机技术的发展,应用程序可以实现更加个性化的功能,以提高用户体验。
相关技术中,为了实现个性化的功能,应用程序很可能会调用用户隐私数据。但是,用户隐私数据往往涉及个人信息安全,并且,当前对个人信息安全往往存在较高要求。因此,需要提供对用户隐私数据进行调用等行为的控制方案,以提高信息安全性。
发明内容
有鉴于此,本申请实施例提供了一种代码检测方法。本申请同时涉及一种代码检测装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的如何提高信息安全性的问题。
根据本申请实施例的第一方面,提供了一种代码检测方法,包括:
获取待检测代码,确定所述待检测代码的代码信息;
根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;
解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;
将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
根据本申请实施例的第二方面,提供了一种代码检测装置,包括:
代码信息获取模块,被配置为获取待检测代码,确定所述待检测代码的代码信息;
配置文件确定模块,配置为根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;
解析模块,被配置为解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;
匹配模块,被配置为将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述代码检测方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述代码检测方法的步骤。
本申请实施例提供的方案,获取待检测代码,确定待检测代码的代码信息;根据代码信息,确定预先配置得到的目标配置文件;解析目标配置文件,得到匹配规则,匹配规则基于代码调用隐私数据的规律设置;对待检测代码与匹配规则进行匹配,根据匹配结果,确定待检测代码是否包含调用隐私数据的调用接口。这样,通过配置文件中基于代码调用隐私数据的规律设置的匹配规则,可以确定待检测代码中是否包含调用隐私数据的调用接口,实现对调用隐私数据的代码的自动检测,从而兼顾信息安全性和检测效率的提高。并且,代码信息不同的待检测代码调用隐私数据的规律很可能不同。对此,可以预先适应性配置不同的目标配置文件,无需人工检视大量不同的待检测代码以写入不同的匹配规则,可以降低代码检测成本,扩展代码检测的适用场景。因此,本方案可以兼顾信息安全性和检测效率的提高,并具有低成本及高扩展性的优势。
附图说明
图1是本申请一实施例提供的一种代码检测方法的流程图;
图2是本申请一实施例提供的一种代码检测方法中,分析报告的示例图;
图3是本申请一实施例提供的一种应用于代码流水线管理系统的代码检测方法的处理流程图;
图4是本申请一实施例提供的一种代码检测装置的结构示意图;
图5是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
配置文件(Configuration file):一种对不同对象进行不同配置的计算机文件,可以为一些计算机程序配置参数和初始设置。
应用程序接口(API,Application Programming Interface):又称为应用编程接口,是一组定义、程序及协议的集合,一个主要功能是提供通用功能集。API同时也是一种中间件,为各种不同平台提供数据共享。
序列化与反序列化:序列化是指将对象转换为二进制数组,反序列化是指将二进制数组转换为对象。
在具体应用中,应用程序开发及更新的需求呈爆发式增长,因而,提高上述开发及更新中应用程序的代码检测效率至关重要。相关技术中,利用代码所采用的编程语言提供的扫描工具,扫描代码,实现代码检测。其中,扫描工具可以检测代码的行文格式,及代码中由上述编程语言提供的内容,例如,上述编程语言提供的指令和函数,是否符合上述编程语言的要求。但是,代码中关于调用用户隐私数据的指定代码往往不由编程语言提供。因此,上述扫描工具无法检测出该指定代码,也就无法直接作为对用户隐私数据进行调用等行为的控制方案。
在本申请中,提供了一种代码检测方法,本申请同时涉及一种代码检测装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种代码检测方法的流程图,具体包括以下步骤:
S102,获取待检测代码,确定待检测代码的代码信息。
在具体应用中,上述待检测代码是指代码开发阶段以及更新维护阶段中,需要进行检测的代码,具体可以包括至少一行代码。并且,获取待检测代码的方式可以是多种的。示例性的,可以接收开发人员提交的待检测代码。或者,示例性的,可以从需要进行检测的代码读取未进行检测的代码,作为待检测代码。
并且,确定待检测代码的代码信息的具体方式可以是多种的。示例性的,可以读取待检测代码携带的代码信息。其中,代码信息可以包括代码标识、代码类型、代码版本信息等等。或者,可以将待检测代码输入预先训练得到的分类模型,得到待检测代码的代码类型,作为待检测代码的代码信息;或者,可以读取待检测代码的目录信息,根据目录信息,查找预先建立的目录信息与代码类型的对应关系,得到待检测代码的目标代码类型,作为待检测代码的代码信息。
任何可以确定待检测代码的代码信息的方式均可用于本发明,本实施例对此不作限制。
S104,根据代码信息,确定针对待检测代码配置的目标配置文件。
在具体应用中,可以针对不同代码信息对应的待检测代码配置不同的配置文件。这样,可以通过对配置文件的不同配置,也就是通过修改配置文件,适应不同的代码检测需求,从而实现动态化的代码检测。其中,目标配置文件中包括实现代码检测所设置的配置信息。上述配置信息包括但不限于以下内容中的至少任一项:匹配规则、白名单、修改提示信息、待检测代码的运行环境的搭建方式、待检测代码运行所使用的函数、接口、数据等等。并且,目标配置文件的文件格式与待检测代码的编译环境匹配。另外,为了便于理解和合理布局,在后续步骤及可选实施例中对匹配规则、白名单和修改提示信息进行具体说明。
在一种情况中,为了进一步提高本申请实施例提供的代码检测方法的适用场景,目标配置文件的格式可以是JS对象简谱(JSON,JavaScript Object Notation)格式。JSON格式是一种轻量级的数据交换格式,采用完全独立于编程语言的文本形式来存储和表示数据,易于人的阅读和编写,以及易于机器解析和生成。示例性的,目标配置文件为JSON文件,包含:针对方法(methods)设置的匹配规则、针对指令(constructions)设置的匹配规则、针对匹配规则设置的提示文案(message)、白名单(excludes)等等。其中,方法是指代码中的函数。
并且,根据代码信息,确定针对待检测代码配置的目标配置文件,具体可以是多种的。示例性的,可以根据待检测代码的代码信息,查找预先建立的代码信息与配置文件的对应关系,得到针对待检测代码配置的目标配置文件。或者,示例性的,可以根据代码信息,生成配置文件的配置通知,输出配置通知,接收开发人员根据配置通知针对待检测代码配置的目标配置文件。
任何可以根据代码信息,确定针对待检测代码配置的目标配置文件的方式均可用于本发明,本实施例对此不作限制。
S106,解析目标配置文件,得到匹配规则,匹配规则基于代码调用隐私数据的规律设置。
为了检测出待检测代码是否包含调用隐私数据的调用接口,目标配置文件中的匹配规则可以基于代码调用隐私数据的规律设置。示例性的,代码调用隐私数据的规律可以包括:调用隐私数据的代码包含指定字符、调用隐私数据的代码具有指定的代码格式等等。
并且,解析目标配置文件,得到匹配规则的方式可以是多种的。下面以示例性描述的形式进行说明。
示例性的,可以利用预先设置的正则表达式处理目标配置文件,得到匹配规则。其中,正则表达式又称规则表达式(Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式是对字符串操作的一种逻辑公式,具体通过预先设置的特定字符、及特定字符的组合,组成“规则字符串”,该“规则字符串”用来表达对字符串的一种过滤逻辑。因此,可以用于进行指定内容,例如上述匹配规则的检索。并且,许多编程语言都支持利用正则表达式进行字符串操作,因此,可以拓展本发明实施例提供的代码检测方法的使用场景。
或者,示例性的,目标配置文件是预先配置得到的,因此,可以预先获知目标配置文件中各内容的布局。这样,可以从目标配置文件的第一指定位置处读取匹配规则。其中,第一指定位置可以通过标识符进行标示。例如,标识符“MR”处的内容即为匹配规则。
S108,将待检测代码与匹配规则进行匹配,根据匹配结果,确定待检测代码是否包含调用隐私数据的调用接口。
其中,匹配规则具体可以是多种的,例如,匹配规则可以包括第一预设的关键字,或者预先训练得到的特征识别模型。相应的,将待检测代码与匹配规则进行匹配的具体方式可以是多种的。示例性的,可以比较待检测代码中是否存在与第一预设的关键字相同的字符;若存在,则确定匹配成功;若不存在,则确定匹配失败。或者,示例性的,可以将待检测代码输入预先训练得到的特征识别模型,得到待检测代码是否具有指定特征的识别结果;若识别结果为具有,则匹配成功;若识别结果为不具有,则匹配失败。其中,指定特征是指调用隐私数据的调用接口的特征。特征识别模型为利用样本代码和样本代码是否具有指定特征的识别标签训练得到。样本代码具体可以包括:包含调用隐私数据的调用接口的正样本代码,及不包含调用隐私数据的调用接口的负样本代码中的至少一种。
任何可以确定待检测代码是否包含调用隐私数据的调用接口的匹配规则及匹配方式,均可用于本发明,本实施例对此不作限制。
并且,根据匹配结果,确定待检测代码是否包含调用隐私数据的调用接口的具体方式可以是多种的。示例性的,可以在匹配结果为匹配成功的情况下,确定待检测代码包含调用隐私数据的调用接口,在匹配结果为匹配失败的情况下,确定待检测代码不包含调用隐私数据的调用接口。匹配成功表明待检测代码符合代码调用隐私数据的规律,因此,可以确定待检测代码包含调用隐私数据的调用接口。或者,示例性的,可以在匹配结果为匹配成功的情况下,对待检测代码与白名单进行匹配,根据与白名单的匹配结果,确定待检测代码是否包含调用隐私数据调用接口。为了便于理解和合理布局,后续以可选实施例的形式对第二种示例进行具体说明。其中,上述调用接口即一种应用程序接口,该接口所属代码在执行过程中进行隐私数据的调用。并且,上述隐私数据可以是运行有代码的计算设备本地的用户隐私数据,和/或者,远程数据库中的用户隐私数据。隐私数据为需要经过用户授权才可以调用的数据,例如,用户的音视频数据、社交关系数据、地理位置信息等等。
另外,为了进一步提高代码检测的效果,在执行完上述进行匹配的步骤之后,还可以将待检测代码添加至待检测代码所属应用程序的目标代码文件中,利用目标代码文件进行进一步代码检测。为了便于理解和合理布局,后续以可选实施例的形式对此进行具体说明。
本申请实施例提供的方案,通过配置文件中基于代码调用隐私数据的规律设置的匹配规则,可以确定待检测代码中是否包含调用隐私数据的调用接口,实现对调用隐私数据的代码的自动检测,从而兼顾信息安全性和检测效率的提高。并且,代码信息不同的待检测代码调用隐私数据的规律很可能不同。对此,可以预先适应性配置不同的目标配置文件,无需人工检视大量不同的待检测代码以写入不同的匹配规则,可以降低代码检测成本,扩展代码检测的适用场景。因此,本方案可以兼顾信息安全性和检测效率的提高,并具有低成本及高扩展性的优势。
在一种可选的实施方式中,上述目标配置文件还可以包括白名单;
相应的,在上述根据代码信息,确定针对待检测代码配置的目标配置文件之后,本发明实施例提供的代码检测方法,还可以包括如下步骤:
从目标配置文件中读取白名单;
相应的,上述根据匹配结果,确定待检测代码是否包含调用隐私数据的调用接口,具体可以包括如下步骤:
若匹配结果为匹配成功,则对待检测代码与白名单进行匹配,根据与白名单的匹配结果,则确定待检测代码是否包含调用隐私数据的调用接口。
在具体应用中,白名单可以根据下述原则设置:符合隐私数据的调用规律,但并不调用隐私数据的代码,和/或者属于更新维护阶段、且已通过用户的隐私授权的代码等等。因此,在待检测代码与匹配规则的匹配结果为匹配成功的情况下,对待检测代码与白名单进行匹配,可以对符合隐私数据的调用规律,但并不调用隐私数据的代码进行过滤,减少误检测的情况,提高代码检测的准确度。并且,可以对属于更新维护阶段、且已通过用户的隐私授权的代码进行过滤,减少冗余检测,提高代码检测的效率,降低代码检测的成本。
其中,从目标配置文件中读取白名单,具体可以包括:读取目标配置文件第二指定位置处的内容,得到白名单;或者,读取目标配置文件中第二预设的关键字,得到白名单。并且,对待检测代码与白名单进行匹配,具体可以包括:比较待检测代码是否存在与白名单相同的关键字,若存在,则确定匹配结果为匹配成功,若不存在,则确定匹配结果为匹配失败。并且,若待检测代码与白名单匹配失败,则表明待检测代码不属于白名单中的代码,很可能调用隐私数据,因此,可以确定待检测代码中包含调用隐私数据的调用接口。
在一种可选的实施方式中,上述代码信息包括:待检测代码的代码类型;
相应的,上述确定待检测代码的代码信息,具体可以包括如下步骤:
读取待检测代码的目录信息,根据该目录信息,确定待检测代码的目标代码类型;
相应的,上述根据代码信息,确定针对待检测代码配置的目标配置文件,具体可以包括如下步骤:
根据目标代码类型,确定待检测代码的类型对应的目标配置文件。
在具体应用中,代码的架构通常由代码实现的功能决定,且不同功能的代码调用隐私数据的规律很可能不同。因此,可以根据待检测代码的架构差异划分待检测代码的代码类型。并且,代码的架构可以由代码的目录信息表征,因此,可以读取待检测代码的目录信息,进而根据该目录信息获得待检测代码的目标代码类型。并且,根据上述目录信息,确定待检测代码的目标代码类型可以包括:从预先建立的目录信息与代码类型的对应关系中,查找与待检测代码的目录信息对应的目标代码类型;或者,对待检测代码的目录信息与针对代码类型设置的多个关键词进行匹配,将匹配成功的关键词对应的代码类型确定为目标代码类型。任何可以根据目录信息,确定待检测代码的目标代码类型的方式均可用于本发明,本实施例对此不作限制。
并且,读取待检测代码的目录信息具体可以包括:利用待检测代码的编程语言或者编译器提供的目录信息读取工具,读取待检测代码的目录信息。示例性的,可以利用beforeCheckRootProject方法,读取待检测代码的目录信息。另外,根据目标代码类型,确定待检测代码的类型对应的目标配置文件,具体可以是多种的。示例性的,可以根据目标代码类型,查找预先建立的代码信息与配置文件的对应关系,得到待检测代码的类型对应的目标配置文件。或者,示例性的,可以根据目标代码类型,生成配置文件的配置通知,输出配置通知,接收开发人员根据配置通知针对待检测代码配置的目标配置文件。
本实施例通过待检测代码的目录信息确定目标代码类型,与通过分类模型确定目标代码类型相比,可以省去模型训练的过程,提高代码检测的效率。并且,不同代码标识的代码可以具有类似的目录信息。因此,代码标识与代码类型的对应关系,和目录信息与代码类型的对应关系相比,包含更多代码标识,所处理的数据量更多。因此,与通过读取代码标识确定目标代码类型相比,本实施例可以减少代码检测所处理的数据量。
在一种可选的实施方式中,在上述确定待检测代码包含调用隐私数据的调用接口之后,本发明实施例提供的代码检测方法,还可以包括如下步骤:
输出修改提示信息;
接收开发人员根据修改提示信息修改后的待检测代码,对修改后的待检测代码与匹配规则进行匹配,根据匹配结果,确定修改后的待检测代码是否包含调用隐私数据的调用接口。
其中,修改提示信息用于表明对包含调用隐私数据的调用接口的处理方式。例如,将调用隐私数据的调用接口替换为调用样本库中样本数据的调用接口、为调用隐私数据的调用接口增加请求用户授权的条件代码等等。具体的修改提示信息可以根据具体需求进行设置。并且。输出修改提示信息可以是多种的。示例性的,可以将修改提示信息添加至待检测代码的分析报告中,进而输出该分析报告。示例性的,如图2本申请一实施例提供的一种代码检测方法中,分析报告的示例图所示:分析报告中可以包括:基础信息,修改提示信息“请将第一调用接口修改为样本数据列表调用接口”,及调用隐私数据的调用接口所属的代码“***”。其中,基础信息可以包括待检测代码的标识、开发人员标识、代码检测时间等等信息。调用隐私数据的调用接口所属的代码具体可以为调用隐私数据的调用接口的代码内容,或者待检测代码。或者,示例性的,可以直接输出包含修改提示信息的文字和/或者语音,这都是合理的。
并且,在输入修改提示信息之后,还可以接收开发人员根据修改提示信息修改后的待检测代码,对修改后的待检测代码进行复检:对修改后的待检测代码与匹配规则进行匹配,根据匹配结果,确定修改后的待检测代码是否包含调用隐私数据的调用接口。若确定修改后的待检测代码不包含调用隐私数据的调用接口,则表明修改后的待检测代码得到了正确的修改。这样,可以进一步检测修改后的待检测代码是否得到了正确的修改,从而进一步提高代码检测的准确度。
本实施例通过输出修改提示信息,进而接收开发人员根据修改提示信息修改后的待检测代码,可以及时提醒开发人员对代码进行调整,以及如何调整,从而提高代码开发的效率。
并且,在一种可选的实施方式中,为了适用于不同类型的代码,目标配置文件还可以包含匹配规则对应的修改提示信息;
相应的,上述输出修改提示信息,具体可以包括如下步骤:
读取目标配置文件中匹配规则对应的修改提示信息,输出所读取的修改提示信息。
其中,读取目标配置文件中匹配规则对应的修改提示信息,具体可以包括:读取目标配置文件第三指定位置处的内容,得到修改提示信息;或者,读取目标配置文件中第三预设的关键字,得到修改提示信息。任何可以读取目标配置文件中匹配规则对应的修改提示信息的方式,均可用于本发明,本实施例对此不作限制。
本实施例通过在目标配置文件中添加匹配规则对应的修改提示信息,可以实现预先针对不同匹配规则适应性设置不同的修改提示信息。这样,无需人工检视大量不同的待检测代码以写入不同的修改提示信息,从而降低代码检测成本,扩展代码检测的适用场景。
在一种可选的实施方式中,上述待检测代码属于目标应用程序;
相应的,在上述对待检测代码与匹配规则进行匹配之后,本发明实施例提供的代码检测方法,还可以包括如下步骤:
将待检测代码添加至目标应用程序对应的目标代码文件中;
若确定出目标应用程序的各待检测代码均已添加至目标代码文件,则在调试模式下执行目标代码文件;
在目标代码文件的执行过程中,若当前执行的代码包含调用隐私数据的调用接口,则确定当前执行的代码是否获取调用权限,若否,则终止执行。
其中,调试模式指Debug模式,具体可以用于追踪代码的运行流程。Debug模式可以在应用程序的运行过程出现异常的情况下,定位异常发生的位置,以及记录在运行过程中参数的变化。因此,本实施例在调试模式下执行目标代码文件,可以在目标代码文件的执行过程中,确定当前执行的代码是否包含调用隐私数据的调用接口。
在具体应用中,Debug模式可以执行软连接指令,实现对待检测代码的目标配置文件的读取,进而在目标代码文件的执行过程中,利用目标配置文件的匹配规则确定当前执行的代码是否包含调用隐私数据的调用接口。其中,软连接指令是Linux(全称GNU/Linux,一种多用户、多任务、支持多线程和多CPU的操作系统)中的指令,可以为某一个文件在另外一个位置建立一个同步的链接。
这样,本实施例可以通过调试模式自带的定位和记录功能,利用目标配置文件中的匹配规则,可以在无需设置专门的Hook点和Hook规则的情况下,即可实现与Hook功能相同的功能,降低代码检测的实现难度和开发代价。其中,Hook是一种可以替换DOS下“中断”的系统机制,中文译为“挂钩”或“钩子”,用于通知应用程序对Hook点触发的事件进行响应。
另外,在上述终止执行的步骤之后,还可以输出运行异常的提示信息,以方便开发人员处理。
在一种可选的实施方式中,上述对待检测代码与匹配规则进行匹配,具体可以包括如下步骤:
对待检测代码进行编译,得到目标字节码文件;
对目标字节码文件与匹配规则进行匹配。
在具体应用中,为了保证本发明实施例提供的代码检测方法适用于更多的编程语言,可以对待检测代码进行编译,得到目标字节码文件。其中,任一字节码文件为一种二进制文件,可以由多种编程语言编译得到,例如,Class文件。并且,字节码文件可以运行在Java虚拟机上,不受硬件设备和系统的限制,从而提高对应用程序的待检测代码的检测便捷性。示例性的,上述多种编程语言具体可以为Java语言、Clojure、Groovy、JRuby、Jython、Scala等等编程语言。
在一种可选的实施方式中,上述匹配规则可以包括:指定第三方组件的标识;
相应的,在上述确定待检测代码中包含调用隐私数据的调用接口之后,本发明实施例提供的代码检测方法,还可以包括如下步骤:
根据指定第三方组件的标识,查找预先建立的组件标识与替换代码的对应关系,得到指定第三方组件的标识对应的替换代码,并将待检测代码替换为替换代码。
在具体应用中,调用隐私数据的调用接口可能是指定第三方组件,例如,支付应用程序提供的支付接口,地图应用程序提供的导航接口等等。对此,可以利用指定第三方组件的标识对应的替换代码,将待检测代码替换为替换代码。其中,替换代码可以提供样本返回数据,以便在代码开发和更新维护阶段,无需调用指定第三方组件及无需获取第三方组件所属应用程序的授权的情况下,可以将样本返回数据作为指定第三方组件的输出,保证待检测代码的正常运行。这样,可以兼顾待检测代码的正常运行和减少第三方组件调用造成的隐私风险。
示例性的,将待检测代码替换为替换代码具体可以包括:将编译为目标字节码文件的待检测代码和替换代码输入Asm替换工具,得到替换后的待检测代码。其中,Asm替换工具是指编程语言java提供的一种字节码工具,可以读取编译得到的字节码文件,利用替换代码对字节码文件进行重新编译,得到替换后的字节码文件,实现代码替换的效果。
下面结合附图3,以本申请提供的代码检测方法在代码流水线管理系统(一种pipeline(流水线))的应用为例,对所述代码检测方法进行进一步说明。图3示出了本申请一实施例提供的一种应用于代码流水线管理系统的代码检测方法的处理流程图,具体可以包括以下步骤:
准备阶段:执行快照锁;初检阶段:检查待检测对象和检测环境;上传阶段:上传待检测对象;分析阶段:检测资源、第一扫描及第二扫描;分析日志生成阶段:代码合入结果和分析记录。
在具体应用中,某一应用程序的代码往往是庞大的,因此,对某一应用程序的开发及更新维护阶段的代码检测可以采用流水线的形式。具体的,可以将一个应用程序的代码分为多个分支,一个分支可以作为一个待检测代码。并且,一个分支可以对应一个开发人员客户端;每个开发人员客户端按照预先分配的扫描顺序检测分支。因此,在进行代码检测的过程中,可以在准备阶段执行快照锁(Snapshot_lock),也就是锁定待检测代码,避免在检测过程中的修改和调用等处理。并且,为了保证检测的顺利进行,可以设置初检阶段,以检查待检测对象和检测环境。其中,待检测对象即待检测代码。初检阶段无异常,可以进行上传阶段:上传待检测对象。
在上述基础上,进入分析阶段:检测资源、第一扫描及第二扫描。其中,检测资源为检测待检测代码的运行环境、运行资源等等。第一扫描具体可以包括:执行gradle lint指令,也就是调用待检测代码的编程语言提供的静态扫描工具,对待检测代码进行静态扫描。并且,上述执行gradle lint指令,可以触发编译器对待检测代码进行编译,得到目标字节码文件的步骤。进而,调用编译器提供的beforeCheckRootProject方法读取待检测代码的目录信息,并基于目录信息获得目标配置文件,解析目标配置文件得到上述匹配规则,对目标字节码文件与匹配规则进行匹配。其中,目标配置文件可以包含代码所表征的方法和指令分别对应的匹配规则。另外,目标配置文件中还可以包含提示文案也就是修改提示信息,以及白名单。白名单具体可以为列表形式。为了便于处理和存储,目标配置文件可以采用序列化的形式存储,在使用目标配置文件的过程中,可以对目标配置文件进行反序列化,得到数据结构形式的目标配置文件。
另外,为了方便开发人员对代码检测结果进行分析记录,还可以包括分析日志生成阶段:代码合入结果和分析记录。代码合入也就是响应合并请求(mr,merge request),指将上述代码的分支添加至分支所属目标应用程序的目标代码文件中,添加有所有分支的目标代码文件即代码合入结果。分析记录与上述分析报告类似,具体可以包括修改提示信息、待检测代码标识、待检测代码的标识、开发人员标识、调用隐私数据的调用接口的代码内容、代码检测时间等等关于代码检测的信息。
与上述方法实施例相对应,本申请还提供了代码检测装置实施例,图4示出了本申请一实施例提供的一种代码检测装置的结构示意图。如图4所示,该装置包括:
代码信息获取模块402,被配置为获取待检测代码,确定所述待检测代码的代码信息;
配置文件确定模块404,配置为根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;
解析模块406,被配置为解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;
匹配模块408,被配置为将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
本申请实施例提供的方案,通过配置文件中基于代码调用隐私数据的规律设置的匹配规则,可以确定待检测代码中是否包含调用隐私数据的调用接口,实现对调用隐私数据的代码的自动检测,从而兼顾信息安全性和检测效率的提高。并且,代码信息不同的待检测代码调用隐私数据的规律很可能不同。对此,可以预先适应性配置不同的目标配置文件,无需人工检视大量不同的待检测代码以写入不同的匹配规则,可以降低代码检测成本,扩展代码检测的适用场景。因此,本方案可以兼顾信息安全性和检测效率的提高,并具有低成本及高扩展性的优势。
在一种可选的实施方式中,所述代码信息包括:待检测代码的代码类型;
所述代码信息获取模块402,进一步被配置为:
读取所述待检测代码的目录信息,根据所述目录信息,确定所述待检测代码的目标代码类型;
所述配置文件确定模块404,进一步被配置为:
根据所述目标代码类型,确定所述待检测代码的类型对应的目标配置文件。
在一种可选的实施方式中,所述匹配模块408,还被配置为:
在所述确定所述待检测代码包含调用隐私数据的调用接口之后,输出修改提示信息;
接收开发人员根据所述修改提示信息修改后的待检测代码,对所述修改后的待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述修改后的待检测代码是否包含调用隐私数据的调用接口。
在一种可选的实施方式中,所述目标配置文件还包含所述匹配规则对应的修改提示信息;
所述匹配模块408,进一步被配置为:
读取所述目标配置文件中所述匹配规则对应的修改提示信息,输出所读取的修改提示信息。
在一种可选的实施方式中,所述目标配置文件还包括白名单;
所述匹配模块408,进一步被配置为:
在所述根据所述代码信息,确定针对所述待检测代码配置的目标配置文件之后,从所述目标配置文件中读取白名单;
若所述匹配结果为匹配成功,则对所述待检测代码与所述白名单进行匹配,根据与所述白名单的匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
在一种可选的实施方式中,待检测代码属于目标应用程序;所述装置还包括:调试模块,被配置为:
将所述待检测代码添加至所述目标应用程序对应的目标代码文件中;
若确定出所述目标应用程序的各待检测代码均已添加至所述目标代码文件,则在调试模式下执行所述目标代码文件;
在所述目标代码文件的执行过程中,若当前执行的代码包含调用隐私数据的调用接口,则确定当前执行的代码是否获取调用权限,若否,则终止所述执行。
在一种可选的实施方式中,所述匹配模块408,进一步被配置为:
对所述待检测代码进行编译,得到目标字节码文件;
对所述目标字节码文件与所述匹配规则进行匹配。
在一种可选的实施方式中,所述匹配规则包括:指定第三方组件的标识;
所述匹配模块408,进一步被配置为:
在所述确定所述待检测代码中包含调用隐私数据的调用接口之后,根据所述指定第三方组件的标识,查找预先建立的组件标识与替换代码的对应关系,得到所述指定第三方组件的标识对应的替换代码,并将所述待检测代码替换为所述替换代码。
上述为本实施例的一种代码检测装置的示意性方案。需要说明的是,该代码检测装置的技术方案与上述的代码检测方法的技术方案属于同一构思,代码检测装置的技术方案未详细描述的细节内容,均可以参见上述代码检测方法的技术方案的描述。
图5示出了根据本申请一实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Networks)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Access)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本申请的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520执行所述指令时实现所述的代码检测方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的代码检测方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述代码检测方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述代码检测方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的代码检测方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述代码检测方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (11)
1.一种代码检测方法,其特征在于,包括:
获取待检测代码,确定所述待检测代码的代码信息;
根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;
解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;
将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
2.根据权利要求1所述的方法,其特征在于,所述代码信息包括:待检测代码的代码类型;
所述确定所述待检测代码的代码信息,包括:
读取所述待检测代码的目录信息,根据所述目录信息,确定所述待检测代码的目标代码类型;
所述根据所述代码信息,确定针对所述待检测代码配置的目标配置文件,包括:
根据所述目标代码类型,确定所述待检测代码的类型对应的目标配置文件。
3.根据权利要求1所述的方法,其特征在于,在确定所述待检测代码包含调用隐私数据的调用接口之后,所述方法还包括:
输出修改提示信息;
接收根据所述修改提示信息修改后的待检测代码,对所述修改后的待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述修改后的待检测代码是否包含调用隐私数据的调用接口。
4.根据权利要求3所述的方法,其特征在于,所述目标配置文件还包含所述匹配规则对应的修改提示信息;
所述输出修改提示信息,包括:
读取所述目标配置文件中所述匹配规则对应的修改提示信息,输出所读取的修改提示信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标配置文件还包括白名单;
在所述根据所述代码信息,确定针对所述待检测代码配置的目标配置文件之后,所述方法还包括:
从所述目标配置文件中读取白名单;
所述根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口,包括:
若所述匹配结果为匹配成功,则对所述待检测代码与所述白名单进行匹配,根据与所述白名单的匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述待检测代码属于目标应用程序;在所述对所述待检测代码与所述匹配规则进行匹配之后,所述方法还包括:
将所述待检测代码添加至所述目标应用程序对应的目标代码文件中;
若确定出所述目标应用程序的各待检测代码均已添加至所述目标代码文件,则在调试模式下执行所述目标代码文件;
在所述目标代码文件的执行过程中,若当前执行的代码包含调用隐私数据的调用接口,则确定当前执行的代码是否获取调用权限,若否,则终止所述执行。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述对所述待检测代码与所述匹配规则进行匹配,包括:
对所述待检测代码进行编译,得到目标字节码文件;
对所述目标字节码文件与所述匹配规则进行匹配。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述匹配规则包括:指定第三方组件的标识;
在所述确定所述待检测代码中包含调用隐私数据的调用接口之后,所述方法还包括:
根据所述指定第三方组件的标识,查找预先建立的组件标识与替换代码的对应关系,得到所述指定第三方组件的标识对应的替换代码,并将所述待检测代码替换为所述替换代码。
9.一种代码检测装置,其特征在于,包括:
代码信息获取模块,被配置为获取待检测代码,确定所述待检测代码的代码信息;
配置文件确定模块,配置为根据所述代码信息,确定针对所述待检测代码配置的目标配置文件;
解析模块,被配置为解析所述目标配置文件,得到匹配规则,所述匹配规则基于代码调用隐私数据的规律设置;
匹配模块,被配置为将所述待检测代码与所述匹配规则进行匹配,根据匹配结果,确定所述待检测代码是否包含调用隐私数据的调用接口。
10.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-8任意一项所述方法的步骤。
11.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-8任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200128.9A CN113934632A (zh) | 2021-10-14 | 2021-10-14 | 代码检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111200128.9A CN113934632A (zh) | 2021-10-14 | 2021-10-14 | 代码检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113934632A true CN113934632A (zh) | 2022-01-14 |
Family
ID=79279506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111200128.9A Pending CN113934632A (zh) | 2021-10-14 | 2021-10-14 | 代码检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113934632A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547085A (zh) * | 2022-03-22 | 2022-05-27 | 中国铁塔股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN118170688A (zh) * | 2024-05-13 | 2024-06-11 | 中国电信股份有限公司 | 配置文件的检测方法及装置、存储介质及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110117364A (ko) * | 2010-04-21 | 2011-10-27 | 주식회사 안철수연구소 | 악성코드 진단 및 치료 장치 및 그 방법 |
US20150096027A1 (en) * | 2013-09-30 | 2015-04-02 | Kaspersky Lab Zao | System and method for evaluating malware detection rules |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
US20160321453A1 (en) * | 2013-12-30 | 2016-11-03 | Beijing Qihoo Technology Company Limited | Method and device for detecting malicious code in an intelligent terminal |
US20170169223A1 (en) * | 2015-12-11 | 2017-06-15 | Institute For Information Industry | Detection system and method thereof |
CN108241802A (zh) * | 2016-12-27 | 2018-07-03 | 卓望数码技术(深圳)有限公司 | 一种聚合多维的Android平台隐私窃取类应用自动识别方法 |
CN108509796A (zh) * | 2017-02-24 | 2018-09-07 | 中国移动通信集团公司 | 一种风险性的检测方法及服务器 |
KR101904911B1 (ko) * | 2017-10-13 | 2018-10-08 | 한국인터넷진흥원 | 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치 |
US20190354690A1 (en) * | 2016-12-08 | 2019-11-21 | Atricore Inc. | Systems, devices and methods for application and privacy compliance monitoring and security threat analysis processing |
CN112182581A (zh) * | 2020-09-24 | 2021-01-05 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置、应用测试设备和存储介质 |
-
2021
- 2021-10-14 CN CN202111200128.9A patent/CN113934632A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110117364A (ko) * | 2010-04-21 | 2011-10-27 | 주식회사 안철수연구소 | 악성코드 진단 및 치료 장치 및 그 방법 |
US20150096027A1 (en) * | 2013-09-30 | 2015-04-02 | Kaspersky Lab Zao | System and method for evaluating malware detection rules |
US20160321453A1 (en) * | 2013-12-30 | 2016-11-03 | Beijing Qihoo Technology Company Limited | Method and device for detecting malicious code in an intelligent terminal |
CN104537309A (zh) * | 2015-01-23 | 2015-04-22 | 北京奇虎科技有限公司 | 应用程序漏洞检测方法、装置及服务器 |
US20170169223A1 (en) * | 2015-12-11 | 2017-06-15 | Institute For Information Industry | Detection system and method thereof |
US20190354690A1 (en) * | 2016-12-08 | 2019-11-21 | Atricore Inc. | Systems, devices and methods for application and privacy compliance monitoring and security threat analysis processing |
CN108241802A (zh) * | 2016-12-27 | 2018-07-03 | 卓望数码技术(深圳)有限公司 | 一种聚合多维的Android平台隐私窃取类应用自动识别方法 |
CN108509796A (zh) * | 2017-02-24 | 2018-09-07 | 中国移动通信集团公司 | 一种风险性的检测方法及服务器 |
KR101904911B1 (ko) * | 2017-10-13 | 2018-10-08 | 한국인터넷진흥원 | 하이브리드 퍼징 기반 보안 취약점 자동 탐색 방법 및 그 장치 |
CN112182581A (zh) * | 2020-09-24 | 2021-01-05 | 百度在线网络技术(北京)有限公司 | 应用测试方法、装置、应用测试设备和存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114547085A (zh) * | 2022-03-22 | 2022-05-27 | 中国铁塔股份有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN118170688A (zh) * | 2024-05-13 | 2024-06-11 | 中国电信股份有限公司 | 配置文件的检测方法及装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565097B2 (en) | Orchestrating and providing a regression test | |
Xiao et al. | Iconintent: automatic identification of sensitive ui widgets based on icon classification for android apps | |
CN110213207B (zh) | 一种基于日志分析的网络安全防御方法及设备 | |
CN113934632A (zh) | 代码检测方法及装置 | |
US10705858B2 (en) | Automatic import of third party analytics | |
US20220237057A1 (en) | Code consolidation system | |
US9575750B2 (en) | Generic annotation seeker | |
US9116714B2 (en) | Methods and systems for file processing | |
CN116089542A (zh) | 基于jdbc的数据库适配方法以及装置 | |
WO2015003452A1 (en) | Methods and systems for file processing | |
CN114115884B (zh) | 一种编程服务的管理方法以及相关装置 | |
CN111352631B (zh) | 一种接口兼容性检测方法及装置 | |
WO2023151397A1 (zh) | 应用程序部署方法、装置、设备及介质 | |
EP4254175A1 (en) | Enriching code for code explainability | |
JP5427802B2 (ja) | プログラミング言語間でのライブラリ変換方法及びプログラム | |
CN114791884A (zh) | 测试环境的构建方法、装置、存储介质及电子设备 | |
Zynda et al. | RollingGantryCrane: Automation for unpacking containers into HPC environments | |
US10102109B2 (en) | Exception resolution in a software development session | |
CN114780175B (zh) | 配置信息生成方法及装置 | |
CN113297306B (zh) | 数据处理方法及装置 | |
CN116010445B (zh) | 数据库sql脚本的处理方法及装置 | |
CN112817663B (zh) | 一种应用程序的seccomp规则获取方法和装置 | |
US11734021B2 (en) | Automated runtime service optimization via modification of a configuration file | |
CN111782183B (zh) | 用于判断组件依赖关系的方法及设备、电子设备和介质 | |
KR102622018B1 (ko) | 보안데이터 처리장치, 보안데이터 처리방법 및 보안데이터를 처리하는 컴퓨터로 실행 가능한 프로그램을 저장하는 저장매체 |
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 |