Maison > Article > développement back-end > Golang : Comment gérer la dépendance obsolète de google.golang.org/api sur golang.org/x/net
Récemment, github.com dependabot s'est plaint que certaines dépendances de mon projet sont vulnérables aux attaques DOS, ont des "algorithmes de chiffrement cassés ou risqués" et ont une erreur de "consommation de ressources incontrôlée".
Plus précisément, il m'a averti de CVE-2022-27664 pour le module golang.org/x/net, CVE-2022-27191 et CVE-2022-32149 pour les autres modules.
Ce que j'ai fait, c'est d'exécuter "go get -u" sur tous les modules utilisés. Évidemment, cela n’a pas résolu le problème. Ensuite, j'ai commencé à utiliser "go graph" pour rechercher les dépendances des modules. Cela a pris du temps et voici l'ordre des dépendances que j'ai trouvé :
google.golang.org/[email protected] => [email protected] => google.golang.org/[email protected] => github.com/envoyproxy/[email protected] => google.golang.org/[email protected] => golang.org/x/[email protected] => google.golang.org/[email protected] => golang.org/x/[email protected]
Cela signifie les dépendances google.golang.org/api
软件包会导致对 2018 年起的 golang.org/x/net
les plus modernes et mises à jour au 17 mars 2023.
J'ai trouvé que d'autres packages Google ont beaucoup de dépendances sur l'ancien module réseau :
cloud.google.com/go/[email protected] golang.org/x/[email protected] github.com/googleapis/gax-go/[email protected] golang.org/x/[email protected] [email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected] google.golang.org/[email protected] golang.org/x/[email protected]
J'ai vérifié le référentiel github.com/googleapis/google-api-go-client et trouvé ce problème https://github.com/googleapis/google-api-go-client/issues/1048
J'ai eu le même problème, mais la commande user hashier
说,由于 go list -m all
a affiché la dernière version, donc ce n'était pas le problème.
Donc, la question principale est : est-ce un problème et pourquoi ?
Je ne sais tout simplement pas ce qui devrait être corrigé ici, la vérification du github dependabot ou la dépendance du module google-api-go-client.
Il est temps de répondre à cette question.
Quand j'essaie d'utiliser go mod graph
在单独的草稿存储库中一一检查项目中的所有包时,这些易受攻击的依赖项来自另一个存储库:github.com/go-gorm/postgres
.
J'ai donc mal identifié d'où venait la dépendance vulnérable. Apparemment, cela est dû à l'énorme graphique de dépendance :
[0] $ go mod graph | wc 667 1334 56113
Si quelqu'un cherche un moyen de visualiser les dépendances d'un projet, le voici :
go mod graph | modgv | dot -Tsvg -o graph.svg
Retour à la question initiale. Cela est dû au fait que github.com/go-gorm/postgres
使用旧版本的 go 造成的。据我了解,修复它的唯一方法是将 go 版本升级到 1.18。如果版本较低,go mod graph
affiche de nombreux paquets vulnérables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!