iT邦幫忙

2022 iThome 鐵人賽

DAY 29
1
DevOps

Golang X DevOps系列 第 29

Day29 - Golang 的 Vulnerability Management

  • 分享至 

  • xImage
  •  
  • 我們講完了 Fuzzing TestUnit Testing,那我們來簡單帶一下 Go 的漏洞風險管理

Vulnerability Management

Q : 為甚麼要有這個東西
A : 因為開發團隊希望開發者能透過這個東西知道存在的漏洞可能會影響到他們的系統或程式

  • Go 的 Security Team 提供了工具讓開發者去檢測在 Source Code 裡有沒有存在已知漏洞,避免出現像是 PHP 這種世界上最好語言的情況,因為能在 develop process 的階段發現並除掉是最好的
  • 而為了能達到這樣的效果他們從各平台上蒐集資訊,像是美國的 NVD 或者 CVEs......,只要有新的漏洞出現, 就會通知 Go 的 Security Team ,然後他們就會去 Review 並把他加進目前的 Go 的弱點資料庫

Go 的已知漏洞資料庫

  • 下圖就是他們整個運作的流程


擷取自 Go 官網

來用用看 govulncheck

  • 他們目前提供的玩具是 govulncheck,可以透過 go install 下載來用
// 下載 govulncheck
go install golang.org/x/vuln/cmd/govulncheck@latest
// 確認目前程式有沒有存在漏洞
govulncheck .
  • 然後你可以看到他輸出了一些東西,表示沒有存在已知威脅的情況
govulncheck is an experimental tool. Share feedback at https://go.dev/s/govulncheck-feedback.

Scanning for dependencies with known vulnerabilities...
No vulnerabilities found.
  • 那如果有,目前只會簡短地顯示他的 call stack
main.go:[line]:[column]: mypackage.main calls golang.org/x/text/language.Parse
  • 或者你想要去檢查你的 binary
govulncheck $HOME/go/bin/your-binary

Future

  • 這東西目前還在開發階段,所以如果大家想要了解的也可以去看看
  • 開發階段嗎,難免有幾項限制
  • 而 Go 也決定在未來幾版中 把它併入 main distribution
  • 而支援的 VSCode Extension 也會在最近推出(應該也是開發者最想看到的

從這裡可以看到歷年 Go 的漏洞 Vuln Every Year in Go


上一篇
Day 28 - Debugger and Fuzzing to Success
下一篇
Day 30 - Go into DevOps More Deeply
系列文
Golang X DevOps30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言