這個工具真好:看看你的Go項目依賴有無漏洞
發(fā)現(xiàn)了一個好工具,推薦給大家!
https://deps.dev/ ,這是 Google 新出的一個實驗性工具,命名為:Open Source Insights,它能讓你更了解你的項目依賴。
通過這個網(wǎng)站,你可以查詢?nèi)我忾_源項目的依賴情況,還包括依賴的依賴,可以看到完整的依賴關(guān)系圖,而且可以看到它們的許可證。
目前該工具支持 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)有幾處安全問題,查看詳細(xì)信息,發(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。如果解析用戶輸入,這可能被用作分布式拒絕服務(wù)攻擊。
根據(jù)這個提示應(yīng)該升級我們的依賴,修復(fù)漏洞。
在 Dependencies 標(biāo)簽可以看到項目依賴,支持表格方式和圖表方式查看依賴。在 Dependents 標(biāo)簽可以看到哪些項目依賴了當(dāng)前項目。
趕緊看看你在使用的開源項目有無安全漏洞,會不會有安全隱患。比如 Gin 項目就有安全漏洞: