這個(gè)工具真好:看看你的Go項(xiàng)目依賴有無(wú)漏洞
發(fā)現(xiàn)了一個(gè)好工具,推薦給大家!
https://deps.dev/ ,這是 Google 新出的一個(gè)實(shí)驗(yàn)性工具,命名為:Open Source Insights,它能讓你更了解你的項(xiàng)目依賴。
通過(guò)這個(gè)網(wǎng)站,你可以查詢?nèi)我忾_(kāi)源項(xiàng)目的依賴情況,還包括依賴的依賴,可以看到完整的依賴關(guān)系圖,而且可以看到它們的許可證。
目前該工具支持 Go Modules、NPM packages、Java 的Mavan 和 Rust 的 Cargo,將來(lái)可能還會(huì)支持 .Net 的 NuGet 和 Python 的 PyPI。
以 Go 語(yǔ)言中文網(wǎng)的源碼為例,看看使用情況。
輸入包名:github.com/studygolang/studygolang, https://deps.dev/go/github.com%2Fstudygolang%2Fstudygolang 結(jié)果如下:
發(fā)現(xiàn)有幾處安全問(wèn)題,查看詳細(xì)信息,發(fā)現(xiàn)有幾個(gè)庫(kù)有漏洞:
- 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 及以下版本存在這個(gè)漏洞,具體信息來(lái)源: https://github.com/tidwall/gjson/issues/192 ,由于不正確的邊界檢查,惡意構(gòu)造的 JSON 對(duì)象可能會(huì)引起越界 panic。如果解析用戶輸入,這可能被用作分布式拒絕服務(wù)攻擊。
根據(jù)這個(gè)提示應(yīng)該升級(jí)我們的依賴,修復(fù)漏洞。
在 Dependencies 標(biāo)簽可以看到項(xiàng)目依賴,支持表格方式和圖表方式查看依賴。在 Dependents 標(biāo)簽可以看到哪些項(xiàng)目依賴了當(dāng)前項(xiàng)目。
趕緊看看你在使用的開(kāi)源項(xiàng)目有無(wú)安全漏洞,會(huì)不會(huì)有安全隱患。比如 Gin 項(xiàng)目就有安全漏洞: