返回顶部
首页 > 资讯 > 后端开发 > GO >Golang:如何处理 google.golang.org/api 对 golang.org/x/net 的过时依赖项
  • 137
分享到

Golang:如何处理 google.golang.org/api 对 golang.org/x/net 的过时依赖项

2024-02-06 08:02:49 137人浏览 泡泡鱼
摘要

问题内容 最近 GitHub.com dependabot 抱怨我的项目中的一些依赖项容易受到 dos 的攻击,具有“损坏或有风险的加密算法”,并且存在“不受控制的资源消耗”的错误。

问题内容

最近 GitHub.com dependabot 抱怨我的项目中的一些依赖项容易受到 dos 的攻击,具有“损坏或有风险的加密算法”,并且存在“不受控制的资源消耗”的错误。

具体来说,它警告我有关 golang.org/x/net 模块的 cve-2022-27664、其他模块的 cve-2022-27191 和 cve-2022-32149。

我所做的是在所有使用的模块上运行“Go get -u”。显然,这并没有解决问题。然后我开始用“go graph”寻找模块依赖关系。花了一段时间,这是我找到的依赖顺序:

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]

这意味着 2023 年 3 月 17 日起的最现代且更新的 google.golang.org/api 软件包会导致对 2018 年起的 golang.org/x/net 的依赖。

我发现其他谷歌软件包对旧网络模块有很多依赖:

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]

我检查了 github.com/googleapis/google-api-go-client 存储库并发现了此问题 https://github.com/googleapis/google-api-go-client/issues/1048 我说同样的问题,但后来用户 hashier 说,由于 go list -m all 命令显示最新版本,所以这不是问题。

所以,主要问题是:这是否是一个问题以及为什么?

我只是不知道这里应该修复什么,github dependabot 检查或 google-api-go-client 模块依赖项。


正确答案


是时候回答这个问题了。

当我尝试使用 go mod graph 在单独的草稿存储库中一一检查项目中的所有包时,这些易受攻击的依赖项来自另一个存储库:github.com/go-gORM/postgres

所以,我错误地确定了易受攻击的依赖项来自何处。显然这是由于巨大的依赖关系图造成的:

[0] $ go mod graph | wc
    667    1334   56113

如果有人正在寻找一种可视化项目依赖关系的方法,这里是:

go mod graph | modgv | dot -Tsvg -o graph.svg

回到最初的问题。这是由于 github.com/go-gorm/postgres 使用旧版本的 go 造成的。据我了解,修复它的唯一方法是将 go 版本升级到 1.18。如果版本较低,go mod graph会显示很多易受攻击的包。

以上就是Golang:如何处理 google.golang.org/api 对 golang.org/x/net 的过时依赖项的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: Golang:如何处理 google.golang.org/api 对 golang.org/x/net 的过时依赖项

本文链接: https://lsjlt.com/news/561311.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作