一种基于Golang语言的IAST安全测试方法和系统与流程

文档序号:27216378发布日期:2021-11-03 15:45阅读:来源:国知局

技术特征:
1.一种基于golang语言的iast安全测试方法,其特征在于,所述方法包括:获取应用golang源码,并在所述源码中添加编译参数;解析所述源码,获取ast语法树;在所述ast语法树中编入iast安全测试逻辑代码,生成修改后的golang源码;将所述修改后的golang源码进行编译,生成执行文件;启动应用,执行iast安全测试逻辑,所述执行文件收集应用的环境数据和第三方库数据,获取应用漏洞信息。2.根据权利要求1所述的一种基于golang语言的iast安全测试方法,其特征在于,在述源码中添加toolexec编译参数,且在添加所述toolexec编译参数后加载agent_tool工具,通过所述agent_tool工具对所述golang源码进行分析,以获取所述ast语法树。3.根据权利要求1所述的一种基于golang语言的iast安全测试方法,其特征在于,在获取所述ast语法树后,在所述ast语法树的指定节点编入agent代码,所述agent代码包括iast安全测试逻辑,其中所述指定节点包括表达式类型节点、语句节点和声明节点中的任意至少一种。4.根据权利要求1所述的一种基于golang语言的iast安全测试方法,其特征在于,所述golang源码的分解析方法包括:采用agent_tool工具中的词法分析器对源码进行词法分析,生成token;采用agent_tool工具中的语法分析器检索所述token,进一步生成ast语法树。5.根据权利要求1所述的一种基于golang语言的iast安全测试方法,其特征在于,所述golang源码包括golang应用源码,第三方库golang源码和golang语言自身源码。6.根据权利要求3所述的一种基于golang语言的iast安全测试方法,其特征在于,在所述指定节点编入agent代码后,生成修改后的golang源码文件,并将所述修改后的golang源码文件存放在指定编译目录中。7.根据权利要求6所述的一种基于golang语言的iast安全测试方法,其特征在于,生成执行文件的方法包括:调用go_build对所述修改后的golang源码文件进行编译;生成包括agent代码的golang二进制执行文件。8.根据权利要求6所述的一种基于golang语言的iast安全测试方法,其特征在于,在启动应用后,所述agent代码执行漏洞检测,并将获取的的环境数据、第三方库数据和漏洞检测结果发送给iast服务端,用于展示漏洞检测结果。9.根据权利要求1所述的一种基于golang语言的iast安全测试方法,其特征在于,所述iast安全测试逻辑包括:采用重放请求在原始请求中拼接payload字符;检测sink点,并判断所述sink点是否存在payload字符;若存在,则判断应用存在漏洞。10.一种基于golang语言的iast安全测试系统,其特征在于,所述系统执行上述权利要求1

9中任意一项所述的一种基于golang语言的iast安全测试方法。

技术总结
本发明公开了一种基于Golang语言的IAST安全测试方法和系统,所述方法包括:获取应用Golang源码,并在所述源码中添加编译参数;解析所述源码,获取AST语法树;在所述AST语法树中编入IAST安全测试逻辑代码,生成修改后的Golang源码;将所述修改后的Golang源码进行编译,生成执行文件;启动应用,所述执行文件收集应用的环境数据和第三方库数据,并执行IAST安全测试逻辑,获取应用漏洞信息。所述方法和系统通过修改go应用源码,并在go应用源码中编入IAST安全测试逻辑,从而实现go应用可以实现IAST功能。IAST功能。IAST功能。


技术研发人员:陈路
受保护的技术使用者:杭州默安科技有限公司
技术研发日:2021.08.03
技术公布日:2021/11/2
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1