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

com.squareup.okhttp3:okhttp

组件简介

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

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

官网:Overview - OkHttp

官方仓库:GitHub - square/okhttp: Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

参考链接:

com.squareup.okhttp3:okhttp | repo1.maven.org | Ecosyste.ms: Packages

组件健康度

技术健康度该组件是一个高效的 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 客户端库。

参考链接:

Overview - OkHttp

GitHub - square/okhttp: Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

com.squareup.okhttp3:okhttp 4.11.0 on Maven - Libraries.io

组件许可证解读

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-1023Square 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 日。官网:Retrofit

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

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

组件SBOM

组件名称版本是否直接依赖仓库
webpack5.82.0npm
punycode2.1.1npm
to-regex-range5.0.1npm
karma6.4.2npm
com.squareup.okhttp3:okhttp5.0.0-alpha.10maven
biz.aQute.bnd:biz.aQute.bnd.gradle6.4.0maven
engine.io-parser5.0.4npm

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

墨菲安全 | 为您提供专业的软件供应链安全管理

 关于墨知

墨知是国内首个专注软件供应链安全领域的技术社区,社区致力于为国内数百万技术人员提供全方位的软件供应链安全专业知识内容,包括软件供应链安全技术、漏洞情报、开源组件安全、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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/119689.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用

我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…

【机器学习】人工智能概述(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【算法笔记】二维的哈希与迭代转换;Runtime Error 的解决思路

https://vjudge.net/problem/UVA-11019 如何对一个二维数组进行哈希 对于一个一维数组A(1*M),哈希的方式是: s e e d M − 1 ∗ A [ 0 ] s e e d M − 2 ∗ A [ 1 ] s e e d M − 3 ∗ A [ 2 ] . . . s e e d 0 ∗ A [ M − 1 ] seed^{M-1}*A[0] …

Python安装与Pycharm配置

Python与Pycharm安装 用了一年的Python最近被一个问题难倒了,pip安装一直不能用,报错说被另一个程序使用。被逼到只能重新安装python了,正好记录一下这个过程,写这篇笔记。(突然想到可能是配Arcgis的python接口&#…

微信小程序修改vant组件样式

1 背景 在使用vant组件开发微信小程序的时候,想更改vant组件内部样式,达到自己想要的目的(van-grid组件改成宫格背景色为透明,默认为白色),官网没有示例,通过以下几步修改成功。 2 步骤 2.1 …

【USRP】调制解调系列7:GMSK、MSK、基于labview的实现

MSK 在数字调制中,最小频移键控(Minimum-Shift Keying,缩写:MSK)是一种连续相位的频移键控方式,在1950年代末和1960年代产生。与偏移四相相移键控(OQPSK)类似,MSK同样将…

记录一下自己对linux分区挂载的理解

一直狠模糊,分两个区,一个挂载/, 一个挂载/home 两者是什么关系 实测 先看挂载的内容 然后umount /home后创建一个新文件 再挂载回去 发现旧分区又回来了,说明路径只是个抽象的概念,分区挂载,互相之间数据是不影响…

基于 Zookeeper 实现服务注册和服务发现

文章目录 前言声明前置知识服务注册和发现Zookeeper 工作原理实现过程注册中心服务注册服务发现 总结 前言 无论是采用SOA还是微服务架构,都需要使用服务注册和服务发现组件。我刚开始接触 Dubbo 时一直对服务注册/发现以及 Zookeeper 的作用感到困惑,现…

【Elsevier旗下】中科院1区TOP,影响因子9分+,23天录用!极速见刊!

极速见刊推荐 中科院 1区(TOP) 出版社:Elsevier 影响因子:IF(2022)9.0-10.0 期刊分区:JCR1区,中科院1区(TOP) 检索情况:SCIE 在检&#xff…

微服务之架构演变

随着互联网的发展,网站应用规模不断扩大,网站架构随之不断演变,演变历史大致分为单体应用架构-垂直应用架构-分布式架构-SOA架构-微服务架构-云原生架构 架构演变 单体应用架构 以前网站流量小,只需要一个应用就可以把所有功能…

模拟实现list

目录 list的实现结构节点的实现迭代器的实现第一个模板参数T第二个模板参数Ref第三个模板参数Ptr 实现list中的接口函数插入和删除赋值重载和拷贝构造析构函数 总结 list的实现结构 STL库中的list的结构是双向循环链表,所以我们这里也实现一个双向循环链表 我们这…

中介者模式

1、场景 假如没有总经理。下面三个部门:财务部、市场部、研发部。财务部要发工资,让大家核对公司需要跟市场部和研发部都通气;市场部要接个新项目,需要研发部处理技术、需要财务部出资金。市场部跟各个部门打交道。 虽然只有三个…

无涯教程-JavaScript - DVAR函数

描述 DVAR函数使用与指定条件相匹配的列表或数据库的列中的数字,根据样本估算总体的方差。 语法 DVAR (database, field, criteria)争论 Argument描述Required/Optionaldatabase 组成列表或数据库的单元格范围。 数据库是相关数据的列表,其中相关信息的行是记录,数据的列是…

大数据课程K17——Spark的协同过滤法

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解Spark的协同过滤概念; 一、协同过滤概念 1. 概念 协同过滤是一种借助众包智慧的途径。它利用大量已有的用户偏好来估计用户对其未接触过的物品的喜好程度。其内在思想是相似度的定义…

服务器放在香港好用吗?

​  相较于国内服务器,将网站托管在香港服务器上最直观的好处是备案层面上的。香港服务器上的网站无需备案,因此更无备案时限,购买之后即可使用。 带宽优势 香港服务器的带宽一般分为香港本地带宽和国际带宽、直连中国骨干网 CN2三种。香港…

【python】—— 函数详解

前言: 本期,我们将要讲解的是有关python中函数的相关知识!!! 目录 (一)函数是什么 (二)语法格式 (三)函数参数 (四)函…

轻量、便捷、高效—经纬恒润AETP助力车载以太网测试

随着自动驾驶技术和智能座舱的不断发展,高宽带、高速率的数据通信对主干网提出了稳定、高效的传输要求,CAN(FD)、LIN已无法充分满足汽车的通信需求。车载以太网作为一种快速且扩展性好的网络技术,已经逐步成为了汽车主干网的首选。 此外&…

面试题汇总

文章目录 一. 腾讯二. 华为三. 快手1. Long 的长度和范围,为什么要减 1 (Java基础)2. 线程池配置无界队列了之后,拒绝策略怎么搞,什么时候用到无界队列 (JUC并发) 四. 美团五. 阿里六. 百度七. 字节八. 大疆1. 为什么创建进程开销比线程大? …

Python之作业(一)

Python之作业(一) 作业 打印九九乘法表 用户登录验证 用户依次输入用户名和密码,然后提交验证用户不存在、密码错误,都显示用户名或密码错误提示错误3次,则退出程序验证成功则显示登录信息 九九乘法表 代码分析 先…

win | wireshark | 在win上跑lua脚本 解析数据包

前提说明:之前是在linux 系统上配置的,然后现在 在配置lua 脚本 ,然后 分析指定协议 的 数据包 其实流程也比较简单,但 逻辑需要缕清来 首先要把你 预先准备的 xxx.lua 文件放到wireshark 的安装文件中,(我…