Go Agent 作為社區(qū)原生的洞態(tài) Agent,將在 2022-01-01(洞態(tài)社區(qū)三個月紀念日)正式開源。
特別鳴謝:芒果TV的大佬、騰訊安全平臺部 caoshutao 大佬,感謝大佬們對洞態(tài)社區(qū)做出的貢獻,Respect。
社區(qū)原生
洞態(tài) IAST 在9月1日開源之后,獲得了大量的社區(qū)反饋和寶貴的意見,同時也出現(xiàn)了大量的同行者和引路人,很感謝大家為社區(qū)做出的貢獻,讓洞態(tài)在短短三個月內(nèi)獲得了飛速發(fā)展,通過社區(qū)孵化出了項目版本、跨項目的漏洞鏈路跟蹤、優(yōu)質(zhì)的手機號檢測規(guī)則等功能,以及重量級的 Go Agent 項目。
作為一款社區(qū)原生的洞態(tài) Agent,Go Agent 在 洞態(tài)社區(qū)的發(fā)展史中具有史詩級的意義。
Go Agent 的前世今生
隨著云原生技術的蓬勃發(fā)展,在企業(yè)級項目中,Go 語言的使用也越來越多,在洞態(tài)開源之初,社區(qū)收到了大量的 Go Agent 需求,于是洞態(tài)團隊開展了一次社區(qū)用戶的調(diào)研,尋找有意向聯(lián)合開發(fā) Go Agent 的企業(yè),于是出現(xiàn)了一批優(yōu)秀的企業(yè)用戶有意向參與聯(lián)合開發(fā),共同打造國內(nèi)的第一個安全開發(fā)社區(qū),經(jīng)過近2個月的聯(lián)合開發(fā),Go Agent 已經(jīng)具備了基本的檢測能力,為了持續(xù)回饋社區(qū),我們將在洞態(tài)社區(qū)成立3個月紀念日(2022-01-01)正式開源 Go Agent,希望 Go Agent 可以為社區(qū)用戶帶來更多的便利和優(yōu)質(zhì)解決方案。
Go Agent 的檢測能力
支持框架:原生 net/http、gin 框架、julienschmidt/httprouter 框架
支持漏洞:原生 database/sql 導致的 SQL 注入、Gorm 框架導致的 SQL 注入
Go Agent 的檢測效果
本文以 govwa靶場 為例,介紹如何在項目中配置 Go Agent 并檢測 SQL注入漏洞。
引入探針的 base 模塊和httpRouter 模塊用于漏洞檢測。
1. 從洞態(tài)Server端下載的 dongtai-go-agent-config.yaml配置文件,將配置文件放在 govwa項目的根目錄。
2. 在govwa靶場的入口文件(項目目錄下的app.go)處引入當前項目的框架包,如圖:
3. 運行項目
4. 訪問靶場,觸發(fā) SQL注入漏洞
5.登錄洞態(tài)Server端,查看漏洞結果
如何快速補充 Go Agent 的檢測能力
Go Agent 提供了靈活的配置能力,不需要了解 Go Agent 內(nèi)部復雜的實現(xiàn)邏輯,是需要關注漏洞相關的 HOOK 規(guī)則,即可增加漏洞檢測能力,具體流程如下:
1. 找到需要補充的 HOOK 規(guī)則及其所在包和方法;
2. 在 core 文件夾中創(chuàng)建該包及其方法的 HOOK 點處理邏;
3. 在 HOOK 點采集所需的數(shù)據(jù);
4. 在洞態(tài) Server 端的自定義規(guī)則中,添加 HOOK 規(guī)則;
5. 觸發(fā) API 請求,即可實現(xiàn)新增漏洞類型的檢測。
關于洞態(tài) IAST
洞態(tài) IAST 是全球首個開源 IAST,于2021年9月1日正式開源發(fā)布。洞態(tài) IAST 專注于 DevSecOps,具備高檢出率、低誤報率、無臟數(shù)據(jù)的特點,幫助企業(yè)在應用上線前發(fā)現(xiàn)并解決安全風險。自開源發(fā)布以來,洞態(tài) IAST 備受開源社區(qū)人員和企業(yè)的關注,包括去哪兒、知乎、同程旅行、輕松籌等在內(nèi)的近二百家企業(yè)均已成為洞態(tài)用戶。