谷歌出品:幫助發(fā)現(xiàn)Go項目漏洞的工具
閱讀本文大概需要 3 分鐘。
大家好,我是 polarisxu。
發(fā)現(xiàn)了一個好工具,推薦給大家!
https://deps.dev/,這是 Google 新出的一個實驗性工具,命名為:Open Source Insights,它能讓你更了解你的項目依賴。
通過這個網(wǎng)站,你可以查詢?nèi)我忾_源項目的依賴情況,還包括依賴的依賴,可以看到完整的依賴關系圖,而且可以看到它們的許可證。
目前該工具支持 Go Modules、NPM packages、Java 的Mavan 和 Rust 的 Cargo,將來可能還會支持 .Net 的 NuGet 和 Python 的 PyPI。

以 Go 語言中文網(wǎng)的源碼為例,看看使用情況。
輸入包名:github.com/studygolang/studygolang,https://deps.dev/go/github.com%2Fstudygolang%2Fstudygolang 結(jié)果如下:

發(fā)現(xiàn)有幾處安全問題,查看詳細信息,發(fā)現(xiàn)有幾個庫有漏洞:
golang.org/x/crypto golang.org/x/text github.com/dgrijalva/jwt-go github.com/labstack/echo/v4 github.com/tidwall/gjson
拿 github.com/tidwall/gjson 看看:

gjson 1.6.3 及以下版本存在這個漏洞,具體信息來源:https://github.com/tidwall/gjson/issues/192,由于不正確的邊界檢查,惡意構(gòu)造的 JSON 對象可能會引起越界 panic。如果解析用戶輸入,這可能被用作分布式拒絕服務攻擊。
根據(jù)這個提示應該升級我們的依賴,修復漏洞。
在 Dependencies 標簽可以看到項目依賴,支持表格方式和圖表方式查看依賴。在 Dependents 標簽可以看到哪些項目依賴了當前項目。
趕緊看看你在使用的開源項目有無安全漏洞,會不會有安全隱患。比如 Gin 項目就有安全漏洞:

