Baru-baru ini github.com dependabot mengadu bahawa beberapa kebergantungan dalam projek saya terdedah kepada serangan DOS, mempunyai "algoritma penyulitan yang rosak atau berisiko", dan mempunyai ralat "penggunaan sumber tidak terkawal".
Secara khusus, ia memberi amaran kepada saya tentang CVE-2022-27664 untuk modul golang.org/x/net, CVE-2022-27191 dan CVE-2022-32149 untuk modul lain.
Apa yang saya lakukan ialah menjalankan "go get -u" pada semua modul yang digunakan. Jelas sekali, ini tidak menyelesaikan masalah. Kemudian saya mula menggunakan "go graph" untuk mencari kebergantungan modul. Ia mengambil sedikit masa dan ini ialah susunan kebergantungan yang saya temui:
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]
Ini bermakna tanggungan google.golang.org/api
软件包会导致对 2018 年起的 golang.org/x/net
paling moden dan terkini setakat 17 Mac 2023.
Saya mendapati bahawa pakej Google lain mempunyai banyak kebergantungan pada modul rangkaian lama:
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]
Saya menyemak repositori github.com/googleapis/google-api-go-client dan mendapati isu ini https://github.com/googleapis/google-api-go-client/issues/1048
Saya mengalami masalah yang sama, tetapi arahan pengguna hashier
说,由于 go list -m all
menunjukkan versi terkini, jadi itu bukan masalahnya.
Jadi, persoalan utama ialah: adakah ini masalah dan mengapa?
Saya tidak tahu apa yang perlu diperbaiki di sini, semakan github dependabot atau pergantungan modul google-api-go-client.
Sudah tiba masanya untuk menjawab soalan ini.
Bila saya cuba guna go mod graph
在单独的草稿存储库中一一检查项目中的所有包时,这些易受攻击的依赖项来自另一个存储库:github.com/go-gorm/postgres
.
Jadi, saya tersilap mengenal pasti dari mana datangnya pergantungan yang terdedah. Nampaknya ini disebabkan oleh graf pergantungan yang besar:
[0] $ go mod graph | wc 667 1334 56113
Jika sesiapa sedang mencari cara untuk menggambarkan kebergantungan projek, inilah:
go mod graph | modgv | dot -Tsvg -o graph.svg
Berbalik kepada soalan asal. Ini disebabkan oleh github.com/go-gorm/postgres
使用旧版本的 go 造成的。据我了解,修复它的唯一方法是将 go 版本升级到 1.18。如果版本较低,go mod graph
menunjukkan banyak pakej yang terdedah.
Atas ialah kandungan terperinci Golang: Cara mengendalikan kebergantungan usang google.golang.org/api pada golang.org/x/net. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!