최근 github.com dependencyabot은 내 프로젝트의 일부 종속성이 DOS 공격에 취약하고 "깨졌거나 위험한 암호화 알고리즘"이 있으며 "통제되지 않는 리소스 소비" 오류가 있다고 불평했습니다.
구체적으로 golang.org/x/net 모듈의 경우 CVE-2022-27664, 기타 모듈의 경우 CVE-2022-27191 및 CVE-2022-32149에 대해 경고했습니다.
내가 한 일은 사용된 모든 모듈에 대해 "go get -u"를 실행하는 것이었습니다. 분명히 이것은 문제를 해결하지 못했습니다. 그런 다음 "go graph"를 사용하여 모듈 종속성을 찾기 시작했습니다. 시간이 좀 걸렸고 제가 찾은 종속성 순서는 다음과 같습니다.
으아악이는 2023년 3월 17일 현재 가장 현대적이고 업데이트된 google.golang.org/api
软件包会导致对 2018 年起的 golang.org/x/net
종속 항목을 의미합니다.
다른 Google 패키지는 기존 네트워크 모듈에 많은 종속성을 가지고 있는 것으로 나타났습니다.
으아악github.com/googleapis/google-api-go-client 저장소를 확인한 결과 https://github.com/googleapis/google-api-go-client/issues/1048에서 이 문제를 발견했습니다.
저도 같은 문제가 있었지만 user hashier
说,由于 go list -m all
명령을 실행하면 최신 버전이 표시되므로 문제가 되지 않았습니다.
그래서 주요 질문은 이것이 문제이고 그 이유는 무엇입니까?
여기에서 무엇을 수정해야 할지 모르겠습니다. github dependencyabot 확인 또는 google-api-go-client 모듈 종속성입니다.
이제 이 질문에 답할 시간입니다.
사용하려고 하면 go mod graph
在单独的草稿存储库中一一检查项目中的所有包时,这些易受攻击的依赖项来自另一个存储库:github.com/go-gorm/postgres
.
그래서 취약한 종속성이 어디서 오는지 잘못 식별했습니다. 분명히 이것은 거대한 의존성 그래프 때문입니다:
으아악프로젝트 종속성을 시각화하는 방법을 찾고 있다면 다음을 참고하세요.
으아악원래 질문으로 돌아갑니다. 이는 github.com/go-gorm/postgres
使用旧版本的 go 造成的。据我了解,修复它的唯一方法是将 go 版本升级到 1.18。如果版本较低,go mod graph
취약한 패키지가 많이 표시되기 때문입니다.
위 내용은 Golang: golang.org/x/net에서 google.golang.org/api의 오래된 종속성을 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!