fastjson反序列化漏洞调用链挖掘方法及系统与流程

未命名 09-17 阅读:102 评论:0


1.本发明涉及计算机网络技术领域,特别是一种fastjson反序列化漏洞调用链挖掘方法及系统。


背景技术:

2.fastjson是一款由阿里巴巴开发的高性能的java json解析库,可用于将java对象转换为其json表示形式,被企业广泛地应用在java开发中。但是fastjson也存在着一些安全风险,其中最常见的是反序列化漏洞。fastjson反序列化漏洞是指攻击者通过构造恶意的json数据,在fastjson解析时,触发了反序列化漏洞,从而导致攻击者可以执行任意的命令或代码。
3.目前,已经有一些针对fastjson反序列漏洞的挖掘工具。这些工具通常会根据fastjson的语法规则和解析过程,构造不同的数据输入,并观察程序行为,从而判断程序是否存在漏洞;有的甚至直接根据fastjson的版本来判断是否存在漏洞。
4.但是,现有的挖掘方法还存在一些缺陷。首先,由于fastjson的语法和解析方式非常复杂,因此需要构造各种不同的数据输入,才能够全面地检查程序的安全性,需要大量的计算资源和时间,而且也不一定能够覆盖所有可能的漏洞。其次,由于fastjson的版本更新比较快,攻击者的攻击方式也在不断地变化。因此,现有的自动化挖掘方法很难及时跟进漏洞的变化,从而难以保障系统的安全性。
5.即,现有技术存在挖掘效率与准确性较低的问题。


技术实现要素:

6.本发明的主要目的在于提供了一种fastjson反序列化漏洞调用链挖掘方法、装置、设备及存储介质,旨在解决现有的fastjson反序列化漏洞调用链挖掘方法挖掘效率与准确性较低的技术问题。
7.为实现上述目的,本发明提供了一种fastjson反序列化漏洞调用链挖掘方法,其包括以下步骤:s1、配置项目代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的webhook url,项目信息至少包括项目代码的url地址;s2、当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;s3、将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;s4、遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本,若是,则执行步骤s5;
8.s5、遍历python字典树,检测json字符串是否存在解析漏洞,若是,则执行步骤s6;s6、遍历java源代码,检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞,若是,则执行步骤s7;s7、判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链,并输出存在fastjson反序列化漏洞的调用链结果。
9.可选的,步骤s1中项目的详细信息还包括项目的id和项目的名称。
10.可选的,步骤s3中将java源代码解析为抽象语法树,具体包括以下步骤:对java源代码进行语法分析,将java源代码分解成一系列的令牌;再次进行语法分析,将一系列的令牌组合成一个抽象语法树。
11.可选的,步骤s3中将抽象语法树转换为python字典树,具体包括以下步骤:获取抽象语法树的ast节点并作为参数,判断ast节点的类型;若ast节点为一个javalang.ast.node类型的对象,则创建一个空字典,并遍历该ast节点的所有属性,将属性名作为该字典的键,将属性值通过递归调用后的返回值作为字典的值,最终返回该字典;若ast节点为一个列表类型的对象,则创建一个空列表,并遍历该列表中的每个元素,将每个元素通过递归调用后的返回值添加至该列表中,最终返回该列表;若ast节点为其他类型,则直接返回该节点。
12.可选的,步骤s4具体包括以下步骤:s40、遍历python字典树中的所有import语句,查找是否有以“com.alibaba.fastjson”开头的import语句,若是,则将其标记为true;s41、遍历python字典树中的所有类和方法,查找是否有使用fastjson库的代码,具体为遍历每个方法的语句列表,查找是否有任何语句中包含“com.alibaba.fastjson”字符串,若是,则将其标记为true;s42、对“com.alibaba.fastjson”引入的版本进行判断,若版本小于1.2.80,则将其标记为true,判断结果为java源代码中引用或使用fastjson库,并且存在fastjson漏洞版本,并执行步骤s5。
13.可选的,步骤s5具体包括以下步骤:s50、遍历python字典树,并检测是否有一条语句包含字符串“json.parse”,若是,则从中提取出json字符串;s51、检测json字符串是否存在解析漏洞,具体为检测json字符串是否以双引号开头或结尾,若是,则json字符串不存在解析漏洞,若否,则json字符串存在解析漏洞,执行步骤s6。
14.可选的,步骤s6具体包括以下步骤:s60、遍历java源代码中的所有类型声明,并检测它们的字段中是否存在以“private”关键字开头的字段;若是,则将该字段的名称添加至列表中;s61、遍历所有的json字符串,检测其中是否包含在列表中的任何一个类名中;若是,则说明该json字符串可能存在反序列化注入漏洞,则执行步骤s7。
15.可选的,步骤s7具体包括以下步骤:s70、将python字典树作为参数,遍历java源代码中的所有调用函数,判断是否为fastjson的json解析调用;若是,则递归遍历该解析调用内部的代码,并执行步骤s71;s71、检测是否还存在fastjson的json解析调用,若是,则返回步骤s70,直至检测到一个不存在fastjson远程代码执行漏洞的函数或位置后,输出存在fastjson反序列化漏洞的调用链结果;输出存在fastjson反序列化漏洞的调用链结果具体为:将存在fastjson反序列化漏洞的调用链结果、项目代码的url地址保存至数据库中,再通过python flask接口开发框架从数据库获取项目的地址和存在fastjson反序列化漏洞的调用链进行返回。
16.可选的,调用链路通过一个调用链路列表来维护,递归遍历时,将调用链路列表传递给下一个层级,直到遍历结束;每次遍历结束时,显示调用链路列表。
17.与所述fastjson反序列化漏洞调用链挖掘方法相对应的,本发明提供一种fastjson反序列化漏洞调用链挖掘系统,其包括:项目代码拉取模块,用于配置代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的webhook url,
项目信息至少包括项目代码的url地址;以及用于当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;项目代码解析模块,用于将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;fastjson反序列化漏洞调用链遍历模块,用于遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本;遍历python字典树,检测json字符串是否存在解析漏洞;遍历java源代码,检测java源代码中是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞;以及判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链;结果输出模块,用于输出存在fastjson反序列化漏洞的调用链结果。
18.本发明的有益效果是:
19.(1)与现有技术相比,本发明实现了fastjson反序列化漏洞调用链自动化挖掘,大大减轻人工挖掘的负担,提高了挖掘效率和准确性;通过检测是否存在fastjson漏洞版本、检测json字符串是否存在解析漏洞、检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞相结合,再判断是否存在fastjson反序列化漏洞,能够全面识别到所有的调用链和攻击路径,避免由于存在多个调用链导致的攻击事件;通过综合三个检测结果,判断是否存在fastjson反序列化漏洞,能够准确地挖掘存在fastjson远程代码执行漏洞的链路和入口,能够帮助企业全面修复漏洞;
20.(2)与现有技术相比,本发明通过将java源代码解析成抽象语法树(ast),便于对代码进行分析和处理,有利于提高自动化挖掘效率;
21.(3)与现有技术相比,本发明通过将抽象语法树转化为python字典树,便于处理和展示ast中的节点信息;使用python字典树,可以通过键值对的方式快速查找ast中的某个节点信息,并且支持遍历、查找、修改等操作,方便进行二次开发和扩展;此外,python字典树还支持一些序列化、文件读写、网络传输等功能,方便将ast转化为json、xml等其他数据格式;
22.(4)与现有技术相比,本发明递归遍历时,每次遍历结束时显示调用链路列表,以便于继续遍历其它函数调用,提高挖掘效率。
附图说明
23.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
24.图1为本发明一实施例提供的fastjson反序列化漏洞调用链挖掘方法的流程简图;
25.图2为本发明一实施例提供的fastjson反序列化漏洞调用链挖掘系统的结构简图。
具体实施方式
26.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。应当理解,此处所描述的具体实施例仅用以解
释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
27.如图1所示,本发明的一种fastjson反序列化漏洞调用链挖掘方法,其包括以下步骤:s1、配置项目代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的webhook url,项目信息至少包括项目代码的url地址;s2、当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;s3、将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;s4、遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本,若是,则执行步骤s5;s5、遍历python字典树,检测json字符串是否存在解析漏洞,若是,则执行步骤s6;s6、遍历java源代码,检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞,若是,则执行步骤s7;s7、判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链,并输出存在fastjson反序列化漏洞的调用链结果。
28.本发明实现了fastjson反序列化漏洞调用链自动化挖掘,大大减轻人工挖掘的负担,提高了挖掘效率和准确性;检测是否存在fastjson漏洞版本、检测json字符串是否存在解析漏洞、检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞相结合,再判断是否存在fastjson反序列化漏洞,能够全面识别到所有的调用链和攻击路径,避免由于存在多个调用链导致的攻击事件;通过综合三个检测结果,判断是否存在fastjson反序列化漏洞,能够准确地挖掘存在fastjson远程代码执行漏洞的链路和入口,能够帮助企业全面修复漏洞。
29.在本实施例中,步骤s1中项目的详细信息还包括项目的id和项目的名称。
30.在本实施例中,步骤s3中将java源代码解析为抽象语法树,具体包括以下步骤:对java源代码进行语法分析,将java源代码分解成一系列的令牌(token);再次进行语法分析,将一系列的令牌组合成一个抽象语法树。
31.本发明通过将java源代码解析成抽象语法树(ast),便于对代码进行分析和处理,有利于提高自动化挖掘效率。抽象语法树是一个结果树,它代表程序的抽象语法结构,方便后续步骤的语法分析。
32.在本实施例中,步骤s3中将抽象语法树转换为python字典树,具体包括以下步骤:获取抽象语法树的ast节点并作为参数,判断ast节点的类型;若ast节点为一个javalang.ast.node类型的对象,则创建一个空字典,并遍历该ast节点的所有属性,将属性名作为该字典的键,将属性值通过递归调用后的返回值作为字典的值,最终返回该字典;若ast节点为一个列表类型的对象,则创建一个空列表,并遍历该列表中的每个元素,将每个元素通过递归调用后的返回值添加至该列表中,最终返回该列表;若ast节点为其他类型,则直接返回该节点。
33.本发明通过将抽象语法树转化为python字典树,便于处理和展示ast中的节点信息;使用python字典树,可以通过键值对的方式快速查找ast中的某个节点信息,并且支持遍历、查找、修改等操作,方便进行二次开发和扩展;此外,python字典树还支持一些序列化、文件读写、网络传输等功能,方便将ast转化为json、xml等其他数据格式。
34.在本实施例中,步骤s4具体包括以下步骤:s40、遍历python字典树中的所有
import语句,查找是否有以“com.alibaba.fastjson”开头的import语句,若是,则将其标记为true;s41、遍历python字典树中的所有类和方法,查找是否有使用fastjson库的代码,具体为遍历每个方法的语句列表,查找是否有任何语句中包含“com.alibaba.fastjson”字符串,若是,则将其标记为true;s42、对“com.alibaba.fastjson”引入的版本进行判断,若版本小于1.2.80,则将其标记为true,判断结果为java源代码中引用或使用fastjson库,并且存在fastjson漏洞版本,并执行步骤s5。
35.需要说明的是,上述import是指代码引用其他包会用到固定的关键字,import语句即包含该关键字的语句。
36.在本实施例中,步骤s5具体包括以下步骤:s50、遍历python字典树,并检测是否有一条语句包含字符串“json.parse”,若是,则从中提取出json字符串;s51、检测json字符串是否存在解析漏洞,具体为检测json字符串是否以双引号开头或结尾,若是,则json字符串不存在解析漏洞,若否,则json字符串存在解析漏洞,执行步骤s6。因为在java代码中,若json字符串是用双引号固定变量的话,那么它就不会接收变量参数,因此不可能存在fastjson反序列化漏洞;若json字符串使用了其他符号或者含有其他java类名甚至是关键字,那么在使用fastjson库解析时会存在fastjson反序列化漏洞,因此通过步骤s6进一步遍历java源代码中的所有类型声明、遍历所有的json字符串,检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞,便于s7判断是否存在fastjson反序列化漏洞。
37.在本实施例中,步骤s6具体包括以下步骤:s60、遍历java源代码中的所有类型声明,并检测它们的字段中是否存在以“private”关键字开头的字段;若是,则将该字段的名称添加至列表中;s61、遍历所有的json字符串,检测其中是否包含在列表中的任何一个类名中;若是,则说明该json字符串可能存在反序列化注入漏洞(因为攻击者可以通过构造恶意json字符串来执行远程代码),则执行步骤s7。
38.需要说明的是,private也是在代码引用其他包会用到固定的关键字。
39.在本实施例中,步骤s7具体包括以下步骤:s70、将python字典树作为参数,遍历java源代码中的所有函数调用,判断是否为fastjson的json解析调用;若是,则递归遍历该解析调用内部的代码,并执行步骤s71;s71、检测是否还存在fastjson的json解析调用,若是,则返回步骤s70,直至检测到一个不存在fastjson远程代码执行漏洞的函数或位置后,输出存在fastjson反序列化漏洞的调用链结果;输出存在fastjson反序列化漏洞的调用链结果具体为:将存在fastjson反序列化漏洞的调用链结果、项目代码的url地址保存至数据库中,再通过python flask接口开发框架从数据库获取项目的地址和存在fastjson反序列化漏洞的调用链进行返回。
40.优选的,调用链路通过一个调用链路列表来维护,递归遍历时,将调用链路列表传递给下一个层级,直到遍历结束;每次遍历结束时,显示调用链路列表。
41.本发明递归遍历时,每次遍历结束时显示调用链路列表,以便于继续遍历其它函数调用,提高挖掘效率。
42.与所述fastjson反序列化漏洞调用链挖掘方法相对应的,如图2所示,本发明提供一种fastjson反序列化漏洞调用链挖掘系统,其包括:项目代码拉取模块10,用于配置代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的
webhook url,项目信息至少包括项目代码的url地址;以及用于当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;项目代码解析模块20,用于将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;fastjson反序列化漏洞调用链遍历模块30,用于遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本;遍历python字典树,检测json字符串是否存在解析漏洞;遍历java源代码,检测java源代码中是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞;以及判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链;结果输出模块40,用于输出存在fastjson反序列化漏洞的调用链结果。
43.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例、设备实施例及存储介质实施例而言,由于其与方法实施例基本相似,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
44.并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
45.上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

技术特征:
1.fastjson反序列化漏洞调用链挖掘方法,其特征在于,包括以下步骤:s1、配置项目代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的webhook url,项目信息至少包括项目代码的url地址;s2、当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;s3、将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;s4、遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本,若是,则执行步骤s5;s5、遍历python字典树,检测json字符串是否存在解析漏洞,若是,则执行步骤s6;s6、遍历java源代码,检测是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞,若是,则执行步骤s7;s7、判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链,并输出存在fastjson反序列化漏洞的调用链结果。2.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s1中项目的详细信息还包括项目的id和项目的名称。3.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s3中将java源代码解析为抽象语法树,具体包括以下步骤:对java源代码进行语法分析,将java源代码分解成一系列的令牌;再次进行语法分析,将一系列的令牌组合成一个抽象语法树。4.根据权利要求3所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s3中将抽象语法树转换为python字典树,具体包括以下步骤:获取抽象语法树的ast节点并作为参数,判断ast节点的类型;若ast节点为一个javalang.ast.node类型的对象,则创建一个空字典,并遍历该ast节点的所有属性,将属性名作为该字典的键,将属性值通过递归调用后的返回值作为字典的值,最终返回该字典;若ast节点为一个列表类型的对象,则创建一个空列表,并遍历该列表中的每个元素,将每个元素通过递归调用后的返回值添加至该列表中,最终返回该列表;若ast节点为其他类型,则直接返回该节点。5.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s4具体包括以下步骤:s40、遍历python字典树中的所有import语句,查找是否有以“com.alibaba.fastjson”开头的import语句,若是,则将其标记为true;s41、遍历python字典树中的所有类和方法,查找是否有使用fastjson库的代码,具体为遍历每个方法的语句列表,查找是否有任何语句中包含“com.alibaba.fastjson”字符串,若是,则将其标记为true;s42、对“com.alibaba.fastjson”引入的版本进行判断,若版本小于1.2.80,则将其标记为true,判断结果为java源代码中引用或使用fastjson库,并且存在fastjson漏洞版本,并执行步骤s5。6.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s5
具体包括以下步骤:s50、遍历python字典树,并检测是否有一条语句包含字符串“json.parse”,若是,则从中提取出json字符串;s51、检测json字符串是否存在解析漏洞,具体为检测json字符串是否以双引号开头或结尾,若是,则json字符串不存在解析漏洞,若否,则json字符串存在解析漏洞,执行步骤s6。7.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s6具体包括以下步骤:s60、遍历java源代码中的所有类型声明,并检测它们的字段中是否存在以“private”关键字开头的字段;若是,则将该字段的名称添加至列表中;s61、遍历所有的json字符串,检测其中是否包含在列表中的任何一个类名中;若是,则说明该json字符串可能存在反序列化注入漏洞,则执行步骤s7。8.根据权利要求1所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:步骤s7具体包括以下步骤:s70、将python字典树作为参数,遍历java源代码中的所有调用函数,判断是否为fastjson的json解析调用;若是,则递归遍历该解析调用内部的代码,并执行步骤s71;s71、检测是否还存在fastjson的json解析调用,若是,则返回步骤s70,直至检测到一个不存在fastjson远程代码执行漏洞的函数或位置后,输出存在fastjson反序列化漏洞的调用链结果;输出存在fastjson反序列化漏洞的调用链结果具体为:将存在fastjson反序列化漏洞的调用链结果、项目代码的url地址保存至数据库中,再通过python flask接口开发框架从数据库获取项目的地址和存在fastjson反序列化漏洞的调用链进行返回。9.根据权利要求8所述的fastjson反序列化漏洞调用链挖掘方法,其特征在于:调用链路通过一个调用链路列表来维护,递归遍历时,将调用链路列表传递给下一个层级,直到遍历结束;每次遍历结束时,显示调用链路列表。10.一种fastjson反序列化漏洞调用链挖掘系统,其特征在于,包括:项目代码拉取模块,用于配置代码仓库的webhook,当项目代码仓库发生更新时,自动将更新的项目信息推送至指定的webhook url,项目信息至少包括项目代码的url地址;以及用于当接收到更新的项目信息后识别项目代码的url地址,通过项目代码仓库的接口或者克隆的方式将项目的java源代码进行存储;项目代码解析模块,用于将java源代码解析为抽象语法树,再将抽象语法树转换为python字典树;fastjson反序列化漏洞调用链遍历模块,用于遍历python字典树,检测java源代码中是否引用或使用fastjson库,并且存在fastjson漏洞版本;遍历python字典树,检测json字符串是否存在解析漏洞;遍历java源代码,检测java源代码中是否存在将json字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞;以及判断是否存在fastjson反序列化漏洞,若是,则遍历调用函数查找调用链;结果输出模块,用于输出存在fastjson反序列化漏洞的调用链结果。

技术总结
fastjson反序列化漏洞调用链挖掘方法及系统,包括配置代码仓库的Webhook;接收到更新的项目信息后识别项目代码的URL地址,将项目的Java源代码进行存储;将Java源代码解析为抽象语法树,再转换为Python字典树;检测Java源代码中是否引用或使用Fastjson库并且存在fastjson漏洞版本;检测JSON字符串是否存在解析漏洞;检测是否存在将JSON字符串反序列化成对象并对该对象进行操作的情况,并验证是否存在注入漏洞;判断是否存在fastjson反序列化漏洞,若是,则输出存在fastjson反序列化漏洞的调用链结果。本发明大大减轻人工挖掘的负担,提高了挖掘效率和准确性。提高了挖掘效率和准确性。提高了挖掘效率和准确性。


技术研发人员:薛素金 胡妙鑫 郑建民
受保护的技术使用者:厦门农芯数字科技有限公司
技术研发日:2023.05.24
技术公布日:2023/9/14
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐