欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang程序漏洞檢測器govulncheck的安裝和使用

 更新時間:2023年09月01日 09:47:04   作者:路多辛  
govulncheck 是一個命令行工具,可以幫助 Golang 開發(fā)者快速找到項目代碼和依賴的模塊中的安全漏洞,該工具可以分析源代碼和二進制文件,識別代碼中對這些漏洞的任何直接或間接調(diào)用,本文就給大家介紹一下govulncheck安裝和使用,需要的朋友可以參考下

govulncheck 是什么?

govulncheck 是一個命令行工具,可以幫助 Golang 開發(fā)者快速找到項目代碼和依賴的模塊中的安全漏洞。該工具可以分析源代碼和二進制文件,識別代碼中對這些漏洞的任何直接或間接調(diào)用。

默認(rèn)情況下,govulncheck 通過 Go 漏洞數(shù)據(jù)庫 https://vuln.go.dev 提供的接口查詢相關(guān)的模塊是否包含漏洞(查詢接口的請求只包含模塊路徑,不包含程序的代碼或其他屬性)。

安裝和使用方法

安裝之前需要將 Go 版本升級到1.18及以上,使用如下命令安裝最新版本的 govulncheck:

$ go install golang.org/x/vuln/cmd/govulncheck@latest

在項目的主目錄(包含 go.mod 文件的目錄)執(zhí)行如下命令進行漏洞掃描:

$ govulncheck ./...

govulncheck 也可以集成到自己的 CI/CD 系統(tǒng)里面,govulncheck 考慮到這方面的需求,所以輸出結(jié)果可以選擇 json 方式,例如:

$ govulncheck -json ./...

如果使用 govulncheck 掃描編譯好的二進制文件,需要使用參數(shù) -mode=binary 并跟上二進制文件的路徑,例如:

$ govulncheck -mode=binary $HOME/go/bin/my-go-program

默認(rèn)情況下,項目如果不存在漏洞,govulncheck 將成功退出(狀態(tài)碼為0),如果存在漏洞,則返回非0的狀態(tài)碼。如果提供了 -json 參數(shù),無論檢測到多少漏洞,都會成功退出,即狀態(tài)碼為0。

使用 govulncheck 需要注意的點如下:

  • 被掃描的二進制文件要求是使用 Go 1.18 或者更高版本構(gòu)建的。
  • 對于函數(shù)指針和接口調(diào)用的分析比較保守,在某些情況下可能會誤報或者打印不夠準(zhǔn)確的堆棧信息。
  • 使用包反射對函數(shù)的調(diào)用對靜態(tài)分析來說是不可見的。對于僅通過這些調(diào)用方式可訪問到的有漏洞的代碼也不會報告漏洞,使用 unsafe 包也可能產(chǎn)生誤報。
  • 因為 Go 二進制文件不包含詳細(xì)的調(diào)用信息,所以 govulncheck 也無法顯示檢測到的漏洞的調(diào)用鏈。對于二進制文件中存在的但無法訪問到的代碼,也可能產(chǎn)生誤報。
  • 只會給出當(dāng)前執(zhí)行環(huán)境和配置(GOOS/GOARCH)下的漏洞。假設(shè)一個漏洞只在 Linux中才有,那么在 Windows 則不會報告該漏洞。所以需要注意跨平臺開發(fā)的情況,需要在不同的平臺做漏洞掃描。另外需要注意的一點時,執(zhí)行掃描的 go 版本需要和運行環(huán)境的 go 版本保持一致,假設(shè) Go 1.18 標(biāo)準(zhǔn)庫里才有的漏洞,如果執(zhí)行掃描使用的 Go 版本是1.19,那么也不會報告該漏洞。

到此這篇關(guān)于Golang程序漏洞檢測利器govulncheck的安裝和使用的文章就介紹到這了,更多相關(guān)Golang govulncheck安裝和使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Go實現(xiàn)凱撒密碼加密解密

    Go實現(xiàn)凱撒密碼加密解密

    這篇文章主要為大家介紹了Go實現(xiàn)凱撒密碼加密解密示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Go簡單實現(xiàn)協(xié)程方法

    Go簡單實現(xiàn)協(xié)程方法

    本文主要介紹了Go簡單實現(xiàn)協(xié)程的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-12-12
  • Go 自定義error錯誤的處理方法

    Go 自定義error錯誤的處理方法

    這篇文章主要介紹了Go 自定義error錯誤的處理方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • Go gorilla/sessions庫安裝使用

    Go gorilla/sessions庫安裝使用

    這篇文章主要為大家介紹了Go gorilla/sessions庫安裝使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • go語言中的map如何解決散列性能下降

    go語言中的map如何解決散列性能下降

    近期對go語言的map進行深入了解和探究,其中關(guān)于map解決大量沖突的擴容操作設(shè)計的十分巧妙,所以筆者特地整理了這篇文章來探討一下go語言中map如何解決散列性能下降,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-03-03
  • Golang優(yōu)雅保持main函數(shù)不退出的辦法

    Golang優(yōu)雅保持main函數(shù)不退出的辦法

    很多時候我們需要讓main函數(shù)不退出,讓它在后臺一直執(zhí)行,下面這篇文章主要給大家介紹了關(guān)于Golang優(yōu)雅保持main函數(shù)不退出的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • 一文詳解kubernetes?中資源分配的那些事

    一文詳解kubernetes?中資源分配的那些事

    這篇文章主要為大家介紹了kubernetes?中資源分配的那些事,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-04-04
  • go語言使用pipe讀取子進程標(biāo)準(zhǔn)輸出的方法

    go語言使用pipe讀取子進程標(biāo)準(zhǔn)輸出的方法

    這篇文章主要介紹了go語言使用pipe讀取子進程標(biāo)準(zhǔn)輸出的方法,實例分析了Go語言針對進程操作的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • 關(guān)于go-micro與其它gRPC框架之間的通信問題及解決方法

    關(guān)于go-micro與其它gRPC框架之間的通信問題及解決方法

    在之前的文章中分別介紹了使用gRPC官方插件和go-micro插件開發(fā)gRPC應(yīng)用程序的方式,都能正常走通。不過當(dāng)兩者混合使用的時候,互相訪問就成了問題,下面通過本文給大家講解下go-micro與gRPC框架通信問題,一起看看吧
    2022-04-04
  • 詳解Go中g(shù)in框架如何實現(xiàn)帶顏色日志

    詳解Go中g(shù)in框架如何實現(xiàn)帶顏色日志

    當(dāng)我們在終端上(比如Goland)運行g(shù)in框架搭建的服務(wù)時,會發(fā)現(xiàn)輸出的日志是可以帶顏色的,那這是如何實現(xiàn)的呢?本文就來和大家簡單講講
    2023-04-04

最新評論