com.squareup.okhttp3:okhttp 组件安全漏洞及健康度分析

原创
08/30 17:16
阅读数 131

组件简介

维护者 square组织 许可证类型 Apache License 2.0
首次发布 2016 年 1 月 2 日 最新发布时间 2023 年 4 月 23 日
GitHub Star 44403 GitHub Fork 9197
依赖包 5,582 依赖存储库 77,217

com.squareup.okhttp3:okhttp 一个开源的 HTTP 客户端库,可以用于 Android 和 Java 应用程序。它提供了一种简单而强大的方式来发送和接收网络请求,支持 HTTP/2、GZIP、缓存、TLS 1.3 等特性。它还能够在网络不稳定的情况下自动恢复连接,并支持多个 IP 地址的切换。

官网:https://square.github.io/okhttp/

官方仓库:https://github.com/square/okhttp

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.squareup.okhttp3:okhttp

组件健康度

技术健康度 该组件是一个高效的 HTTP 客户端,支持 HTTP/2、GZIP、缓存、TLS 1.3 等特性。它基于 Okio 库和 Kotlin 标准库,提供了流畅的构建器和不可变的 API。它还能够在网络不稳定的情况下自动恢复连接,并支持多个 IP 地址的切换。它的技术健康度非常高,可以满足现代应用程序的网络需求。
社区健康度 这个组件是由 Square 公司开源的,托管在 GitHub 上。它有超过 4 万个星标,1.5 万个 fork,87 个 issue 和 124 个 tag。它的社区非常活跃,有很多贡献者和用户。它也有很多相关的项目,如 okhttp-logging-interceptor, okhttp-sse, okhttp-dnsoverhttps 等。它的社区健康度非常高,可以提供丰富的资源和支持。
更新和维护频率 这个组件的最新版本parent-4.11.0,发布于 2023 年 4 月 23 日。它的更新频率较高,几乎每隔几个月就会发布一个新版本。它也有一个长期支持的分支 3.12.x,支持 Android 2.3+ 和 Java 7+。它的维护频率也较高,每隔几天就会有一次提交。它的更新和维护频率非常高,可以保证组件的稳定性和安全性。
兼容性 这个组件可以在 Android 5.0+ (API level 21+) 和 Java 8+ 上运行。它也可以使用 Conscrypt 库来集成 BoringSSL,提供更好的 TLS 支持。它对 Kotlin 的支持也很好,可以使用 Kotlin 的扩展函数和协程等特性。它的兼容性非常高,可以适应不同的平台和语言。
文档和支持 这个组件有一个完善的项目网站,提供了详细的文档和 API。它也有一个 wiki 页面,提供了一些常见问题和解决方案。它还有一个 bug bounty 计划,鼓励用户报告安全漏洞。它的文档和支持非常完善,可以帮助用户快速上手和解决问题。

com.squareup.okhttp3:okhttp 这个组件的健康度非常高,是一个值得使用和信赖的 HTTP 客户端库。

参考链接:

https://square.github.io/okhttp/

https://github.com/square/okhttp

https://libraries.io/maven/com.squareup.okhttp3:okhttp

组件许可证解读

Apache License 2.0 是一种开源软件许可证,广泛用于授权开源项目和代码。Apache License 2.0 允许用户自由地使用、修改和分发受许可的软件,而无需支付版权费用或专利费用。它鼓励开发者共享他们的代码,并保护用户的权利。以下是该许可证的一些重要特点:

  1. 代码使用权:用户可以自由地使用、复制、修改、合并、发布、分发和销售受许可软件。
  2. 版权声明:用户必须在所有源代码副本中保留原始的版权声明、许可证声明和免责声明。
  3. 修改代码:如果用户对代码进行了修改,需要清楚标明哪些部分发生了变化,并不能暗示原作者同意这些修改。
  4. 商标使用:Apache License 2.0 并未授予使用原软件的任何商标或名称的权利。
  5. 专利许可:该许可证授予了在使用、修改或分发受许可软件时相关专利的非独占许可。这意味着如果用户授权其他人使用该软件,相关专利许可也会传递给接收方。
  6. 再许可:用户可以将受 Apache License 2.0 许可的代码作为一部分整合到其它开源项目中,并使用不同的许可证授权整个项目。但是,需要在代码中显式地说明使用了 Apache License 2.0 许可的部分。

需要注意的是,Apache License 2.0 并不保证软件没有缺陷或不稳定性,使用该软件的风险由用户自行承担。

许可证原文链接:https://github.com/square/okhttp/blob/master/LICENSE.txt

组件漏洞版本及修复方案

漏洞编号 漏洞标题 漏洞等级 影响版本 修复版本
MPS-2017-1023 Square OkHttp 安全漏洞 中危 [3.0.0,3.1.2) 3.1.2

同类型可替代组件

Retrofit: 这是一个基于 OkHttp 的类型安全的 HTTP 客户端,可以将 HTTP API 转换为 Java 接口。它支持同步和异步调用,以及多种数据格式,如 JSON, XML, Protocol Buffers 等。它还可以与 RxJava, Coroutines, Guava 等库集成,提供更多的功能和灵活性。它的最新版本是 2.9.0,发布于 2020 年 5 月 20 日。官网:https://square.github.io/retrofit/

Volley: 这是一个由 Google 开发的轻量级的 HTTP 库,专为 Android 平台优化。它可以自动处理网络请求的调度和缓存,以及图片加载和显示。它支持优先级、取消、重试、自定义请求等特性。它的最新版本是 1.2.0,发布于 2020 年 11 月 9 日。官网:https://google.github.io/volley/

Apache HttpClient: 这是一个成熟的 HTTP 客户端库,支持 HTTP/1.1 和 HTTP/2 协议。它提供了多种连接管理策略、身份验证机制、拦截器、重定向处理等特性。它还有一个专门为 Android 设计的分支,称为 HttpClient Android。它的最新版本是 5.1.2,发布于 2021 年 8 月 14 日。官网:https://hc.apache.org/httpcomponents-client-5.2.x/

组件SBOM

组件名称 版本 是否直接依赖 仓库
webpack 5.82.0 npm
punycode 2.1.1 npm
to-regex-range 5.0.1 npm
karma 6.4.2 npm
com.squareup.okhttp3:okhttp 5.0.0-alpha.10 maven
biz.aQute.bnd:biz.aQute.bnd.gradle 6.4.0 maven
engine.io-parser 5.0.4 npm

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1696095819437793280/1696095827260170240?allow=1

关于墨知

墨知是国内首个专注软件供应链安全领域的技术社区,社区致力于为国内数百万技术人员提供全方位的软件供应链安全专业知识内容,包括软件供应链安全技术、漏洞情报、开源组件安全、SBOM、软件成分分析(SCA)、开源许可证合规等前沿技术及最佳实践。

墨知主要内容分类:

  1. 漏洞分析:漏洞_墨知 (oscs1024.com)
  2. 投毒分析:投毒分析_墨知 (oscs1024.com)
  3. 行业动态:行业动态_墨知 (oscs1024.com)
  4. 行业研究:行业研究_墨知 (oscs1024.com)
  5. 工具推荐:工具推荐_墨知 (oscs1024.com)
  6. 最佳实践:最佳实践_墨知 (oscs1024.com)
  7. 技术科普:技术科普_墨知 (oscs1024.com)

墨知通过促进知识共享、技术研究和合作交流,帮助组织和个人提高软件供应链的安全性,减少供应链攻击的风险,并保护软件生态系统的整体安全。

进入社区:墨知 - 软件供应链安全技术社区

原文来自:com.squareup.okhttp3:okhttp 组件安全漏洞及健康度分析_墨知 (oscs1024.com)

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部