社区原生的 Go Agent 即将开源

企鹅科技资讯 2021-12-31

Go Agent 作为社区原生的洞态 Agent,将在 2022-01-01(洞态社区三个月纪念日)正式开源。

特别鸣谢:芒果TV的大佬、腾讯安全平台部 caoshutao 大佬,感谢大佬们对洞态社区做出的贡献,Respect。

社区原生

洞态 IAST 在9月1日开源之后,获得了大量的社区反馈和宝贵的意见,同时也出现了大量的同行者和引路人,很感谢大家为社区做出的贡献,让洞态在短短三个月内获得了飞速发展,通过社区孵化出了项目版本、跨项目的漏洞链路跟踪、优质的手机号检测规则等功能,以及重量级的 Go Agent 项目。

作为一款社区原生的洞态 Agent,Go Agent 在 洞态社区的发展史中具有史诗级的意义。

Go Agent 的前世今生

随着云原生技术的蓬勃发展,在企业级项目中,Go 语言的使用也越来越多,在洞态开源之初,社区收到了大量的 Go Agent 需求,于是洞态团队开展了一次社区用户的调研,寻找有意向联合开发 Go Agent 的企业,于是出现了一批优秀的企业用户有意向参与联合开发,共同打造国内的第一个安全开发社区,经过近2个月的联合开发,Go Agent 已经具备了基本的检测能力,为了持续回馈社区,我们将在洞态社区成立3个月纪念日(2022-01-01)正式开源 Go Agent,希望 Go Agent 可以为社区用户带来更多的便利和优质解决方案。

Go Agent 的检测能力

支持框架:原生 net/http、gin 框架、julienschmidt/httprouter 框架

支持漏洞:原生 database/sql 导致的 SQL 注入、Gorm 框架导致的 SQL 注入

Go Agent 的检测效果

本文以 govwa靶场 为例,介绍如何在项目中配置 Go Agent 并检测 SQL注入漏洞。

引入探针的 base 模块和httpRouter 模块用于漏洞检测。

     1. 从洞态Server端下载的 dongtai-go-agent-config.yaml配置文件,将配置文件放在 govwa项目的根目录。

2. 在govwa靶场的入口文件(项目目录下的app.go)处引入当前项目的框架包,如图:

     3. 运行项目

     4. 访问靶场,触发 SQL注入漏洞

     5.登录洞态Server端,查看漏洞结果

如何快速补充 Go Agent 的检测能力

Go Agent 提供了灵活的配置能力,不需要了解 Go Agent 内部复杂的实现逻辑,是需要关注漏洞相关的 HOOK 规则,即可增加漏洞检测能力,具体流程如下:

     1. 找到需要补充的 HOOK 规则及其所在包和方法;

2. 在 core 文件夹中创建该包及其方法的 HOOK 点处理逻;

3. 在 HOOK 点采集所需的数据;

4. 在洞态 Server 端的自定义规则中,添加 HOOK 规则;

5. 触发 API 请求,即可实现新增漏洞类型的检测。

关于洞态 IAST

洞态 IAST 是全球首个开源 IAST,于2021年9月1日正式开源发布。洞态 IAST 专注于 DevSecOps,具备高检出率、低误报率、无脏数据的特点,帮助企业在应用上线前发现并解决安全风险。自开源发布以来,洞态 IAST 备受开源社区人员和企业的关注,包括去哪儿、知乎、同程旅行、轻松筹等在内的近二百家企业均已成为洞态用户。