com.google.guava:guava 组件安全漏洞及健康分析

news2024/10/5 16:22:15

com.google.guava:guava

组件简介

维护者google组织许可证类型Apache-2.0
首次发布2010 年 4 月 26 日最新发布时间2023 年 8 月 1 日
GitHub Star48189GitHub Fork10716
依赖包28,694依赖存储库219,576

Guava 是 Google 的一组核心 Java 库,其中包括新的集合类型(例如 multimap 和 multiset)、不可变集合、图形库以及用于并发、I/O、哈希、原语、字符串等的实用程序。

官网:Guava

官方仓库:https://github.com/google/guava

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.google.guava:guava

组件健康度

技术健康度该组件是由谷歌开发的一套核心Java库,包含了多种新的集合类型(如multimap和multiset)、不可变集合、图形库以及并发、I/O、哈希、基本类型、字符串等方面的实用工具。该组件的代码质量高,测试覆盖率高,性能优化良好,功能丰富而稳定。
社区健康度该组件在GitHub上有超过4.8万个星标,1万多个分支,632个未解决的问题和93个未合并的拉取请求。该组件有一个活跃的社区,用户可以在StackOverflow上提出问题,或者在guava-announce和guava-discuss两个邮件列表上获取最新的发布信息和讨论话题。
更新和维护频率该组件的最新版本是32.1.2,于2023年8月1日发布。该组件的发布周期大约为3个月左右,每次发布都会包含一些新特性、改进和修复。该组件的开发团队由谷歌内部的Java核心库团队负责,他们对该组件的更新和维护非常积极和专业。
兼容性该组件提供了两种不同的"风味":一种是用于Java 8或更高版本的JRE上,另一种是用于Android或任何想要与Android兼容的库上。这两种风味在Maven版本字段中分别指定为32.1.2-jre或32.1.2-android。该组件只需要一个运行时依赖,即failureaccess-1.0.1.jar。该组件遵循语义化版本控制原则,尽量保持向后兼容性,但也会在必要时对一些标记为@Beta注解的API进行变更。
文档和支持该组件有一个完善的用户指南Guava Explained,以及详细的Javadoc文档。该组件还提供了JDiff文档来展示不同版本之间的API差异。此外,该组件还有一个GitHub项目页面,用户可以在上面查看源代码、提交问题或拉取请求、参与讨论等。

综上所述,com.google.guava:guava 是一个健康度较高的组件,具有成熟的技术、活跃的社区、频繁的更新和维护、良好的兼容性和丰富的文档和支持。

参考链接:

https://github.com/google/guava

https://github.com/google/guava/releases

Guava

组件许可证解读

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/google/guava/blob/master/LICENSE

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-mfku-xzh3Guava<32.0.0 存在竞争条件漏洞中危[1.0,32.0.0-jre)32.0.0-jre
MPS-2020-17429Google Guava 访问控制错误漏洞低危(-∞,30.0-jre)30.0-jre
MPS-2018-5515Google Guava 不可信数据的反序列化漏洞中危[24.1.1-android,24.1.1-jre)24.1.1-jre

同类型可替代组件

  • Caffeine:一个基于Java 8的高性能、近乎最优的缓存库,支持多种过期策略和异步加载。官网:https://github.com/ben-manes/caffeine
  • Eclipse Collections:一个提供了丰富的集合类型和实用工具的Java库,包括列表、集合、映射、多映射、堆栈、袋子、双端队列等。官网:Eclipse Collections - Features you want with the collections you need. (日本語ページ)
  • Apache Commons Collections:一个扩展了Java集合框架的库,提供了一些新的集合类型,如双向映射、循环缓冲区、有序集合等,以及一些转换器、迭代器、比较器等实用工具。官网:Collections – Home
  • Javatuples:一个简单而强大的Java元组库,支持从一元组到十元组的不可变对象,以及一些操作元组的方法。官网:javatuples - Main

组件SBOM

组件名称版本是否直接依赖仓库
com.google.guava:listenablefuture9999.0-empty-to-avoid-conflict-with-guavamaven
com.google.guava:listenablefuture1.0maven
com.google.errorprone:error_prone_annotations2.21.1maven
com.google.guava:guavaHEAD-jre-SNAPSHOTmaven
org.hamcrest:hamcrest-core1.3maven
com.google.j2objc:j2objc-annotations2.8maven
com.google.guava:guavaHEAD-android-SNAPSHOTmaven
com.google.guava:failureaccess1.0.1maven
junit:junit4.13.2maven

该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.google.guava:guava 组件安全漏洞及健康分析_墨知 (oscs1024.com)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《自然》杂志最新研究成果,新冠卷土重来,仍然凶险,别不当回事儿

我同事又带口罩了&#xff0c;他说已阳。我很奇怪怎么不认为是感冒呢&#xff1f; 他低声地说&#xff0c;家里还有去年囤的试剂盒&#xff0c;我测了一个。 我还好&#xff0c;只在年初时候阳过一次。 应该说&#xff0c;我们比较庆幸&#xff0c;新冠毒株已经温和&#xff0c…

linux服务磁盘满了操作

1、使用xshell连接上服务器 2、# df -h 查看系统磁盘使用情况 3、查看使用比较多的文件&#xff0c;cd 跳转到该文件夹下&#xff0c;ls 查看文件 # du -h查看该文件夹下各个文件大小 4、查找logs文件 &#xff0c;删除logs 文件内容 使用 删除名为directory下的所有文件…

杭州华宫养老服务有限公司官网上线 | LTD养老服务行业案例分享

数字化时代&#xff0c;养老服务行业也逐渐的意识到借助互联网进行营销的重要性&#xff0c;但是&#xff0c;随着互联网渠道成本的不断攀升&#xff0c;如何获取稳定流量成为养老服务机构目前所面临的重要挑战。 于是&#xff0c;杭州华宫养老服务有限公司作为养老服务行业崛…

深圳产品展示视频拍摄一站式服务

产品展示视频拍摄一站式服务是指一家专业的拍摄制作公司或团队提供从策划、拍摄到后期制作的全方位服务&#xff0c;以满足客户的产品展示需求。这种服务通常包括以下方面&#xff0c;由产品展示视频制作公司老友记小编从以下几个方面为您整理&#xff1a; 1.策划和预制阶段&a…

黑客组织“Anonymous”进行网络攻击抗议日本排放核污水

概述 近期全球都在关注日本核污水排放&#xff0c;起因是日本政府宣布&#xff0c;福岛第一核电站核污染水8月24日开始排入海洋&#xff0c;计划排放30年。那么这件事为什么会引起全球关注呢&#xff0c;大家通过美国对日本投放原子弹后果&#xff0c;导致广岛长崎任然处于核辐…

Java SPI 机制

文章首发于个人博客&#xff0c;欢迎访问关注&#xff1a;https://www.lin2j.tech 什么是 SPI 机制 SPI &#xff08;Service Provider Interface&#xff09;是 Java 内置的一种服务提供发现机制&#xff0c;将功能的实现交给第三方&#xff0c;用来拓展和替换组件。 SPI 的…

ESB(Enterprise Service Bus,即企业服务总线)

以前用过部分功能&#xff0c;但是没有很好地去理解过。 ESB&#xff08;Enterprise Service Bus&#xff0c;即企业服务总线&#xff09;是传统中间件技术与XML、Web服务等技术结合的产物。ESB提供了网络中最基本的连接中枢&#xff0c;是构筑企业神经系统的必要元素。 企业服…

【Bug】Ubuntu 有线设置打不开无反应

前言&#xff1a; 突然有线设置就没法启用了&#xff0c;但是能联网&#xff0c;能查看ip 解决&#xff1a; 最后安装了一个新的依赖包&#xff1a; sudo apt install gnome-control-center 然后就可以了 还有一个方法&#xff0c;没试过&#xff0c;但感觉有点道理的&#…

《向量数据库》——为何向量数据库对大模型LLM很重要?

当您浏览Twitter、LinkedIn或新闻源上的时间轴时,可能会看到一些关于聊天机器人、LLM和GPT的内容。因为每周都有新的LLM发布,很多人都在谈论LLM。 我们目前置身于一场人工智能革命,许多新应用都依赖于向量嵌入。不妨让我们更多地了解向量数据库以及为什么它们对LLM很重要。…

【UIPickerView-UIDatePicker-应用程序对象 Objective-C语言】

一、今天我们来学习三个东西 1.UIPickerView-UIDatePicker-应用程序对象 1.首先,来看数据选择控件 数据选择控件, 大家对这个数据选择控件,是怎么理解的, 1)数据选择控件,首先,是不是得有数据, 2)然后呢,你还得让用户能够选择, 3)最后,你还得是一个控件儿 那…

MySQL 数据库常用命令大全(详细)

文章目录 1. MySQL命令2. MySQL基础命令3. MySQL命令简介4. MySQL常用命令4.1 MySQL准备篇4.1.1 启动和停止MySQL服务4.1.2 修改MySQL账户密码4.1.3 MySQL的登陆和退出4.1.4 查看MySQL版本 4.2 DDL篇&#xff08;数据定义&#xff09;4.2.1 查询数据库4.2.2 创建数据库4.2.3 使…

Python UDP编程

前面我们讲了 TCP 编程&#xff0c;我们知道 TCP 可以建立可靠连接&#xff0c;并且通信双方都可以以流的形式发送数据。本文我们再来介绍另一个常用的协议--UDP。相对TCP&#xff0c;UDP则是面向无连接的协议。 UDP 协议 我们来看 UDP 的定义&#xff1a; UDP 协议&#xff…

ABB PCD231B101励磁控制模块

电磁励磁控制&#xff1a; PCD231B101 模块专门设计用于电磁励磁设备的控制&#xff0c;以确保发电机的励磁电流和电压维持在合适的水平。 多通道控制&#xff1a; 这种模块通常具有多个控制通道&#xff0c;可用于同时监测和控制多台电力发电机。 通讯接口&#xff1a; PCD2…

AI机器视觉赋能电池缺陷检测,深眸科技助力新能源行业规模化发展

新产业周期下&#xff0c;新能源行业风口已至&#xff0c;现代社会对于新能源电池产品需求量加大&#xff0c;对产品的质量安全也更加重视。当前&#xff0c;传统的检测方法已经不能满足新能源电池行业的发展&#xff0c;越来越多的厂商开始应用创新机器视觉技术与产品于生产环…

受老板器重的项目经理都是这样工作的

大家好&#xff0c;我是老原。 当了领导才明白&#xff0c;那些优秀的人都一个样。 “平庸的人各有各的平庸&#xff0c;优秀的人基本都一样” 作为普通员工&#xff0c;身边的内卷的、单纯的、摸鱼的、斤斤计较的、慷慨无私的……各种各样的都有&#xff0c;有时候聚在一起…

安防监控视频平台EasyCVR视频汇聚平台定制项目增加AI智能算法详细介绍

安防视频集中存储EasyCVR视频汇聚平台&#xff0c;可支持海量视频的轻量化接入与汇聚管理。平台能提供视频存储磁盘阵列、视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联、H.265自动转码等功能。为了便…

无涯教程-Android Online Test函数

Android在线测试模拟了真正的在线认证考试。您将看到基于 Android概念的多项选择题(MCQ),将为您提供四个options。您将为该问题选择最合适的答案,然后继续进行下一个问题,而不会浪费时间。完成完整的考试后,您将获得在线考试分数。 总问题数-20 最长时间-20分钟 Start Test …

《信息系统项目管理师教程(第4版)》第15章 项目风险管理 知识点汇总

文章只对常见考点进行整理&#xff0c;有关项目风险管理的完整知识还请参照教程。 风险基础知识 1、风险的属性 随机性相对性可变性 2.风险的分类 按后果分&#xff1a;纯粹风险、投机风险&#xff0c;纯粹风险和 投机风险在一定条件下可以互相转化 按可预测性分&#xff…

23 Linux高级篇-Linux内核介绍内核升级

23 Linux高级篇-Linux内核介绍&内核升级 文章目录 23 Linux高级篇-Linux内核介绍&内核升级23.1 linux-0.01内核介绍23.1.1 为什么要阅读Linux内核&#xff1f;23.1.2 下载linux-0.01内核源码23.1.3 linux-0.01内核介绍 23.3 Linux内核升级23.3.1 最新版内核介绍23.3.2 …

AMEYA360:ROHM开发出适用于条码标签打印应用、超快打印速度的热敏打印头

AMEYA360&#xff1a;ROHM开发出适用于条码标签打印应用、超快打印速度的热敏打印头 全球知名半导体制造商ROHM(总部位于日本京都市)新推出两款高可靠性高速热敏打印头 “TE2004-QP1W00A(203dpi)”和“TE3004-TP1W00A(300dpi)”&#xff0c;新产品非常适用于物流和库存管理等领…