Go dependency(go.mod) 추적하기

제가 최근에 Dependabot alerts 에 확인된 취약점 중 패키지 확인이 안되는 취약점이 있었습니다.

특히 직접 사용하는 패키지에서 이슈가 있으면 dependabot이 Pull Request를 보내게 되어 있는데 그마저도 없어서 원인을 찾아보고자 go.mod에서 원인이 되는 패키지를 찾아보기 시작했고 그 과정에서 알아두면 좋은 명령이 있어 글로 남겨둡니다.

TL;DR

golang에선 go mod graph 명령과 go mod why 명령으로 dependency package 들을 확인할 수 있습니다.

With go mod graph

go mod graph 로는 해당 go.mod에서 참조하는 패키지의 리스트를 볼 수 ㅣㅇㅆ습니다.

go mod graph

go mod graph | grep yaml

With go mod why

go mod why gopkg.in/yaml.v2