当前位置: 首页 > news >正文

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

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)

相关文章:

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

组件简介 维护者google组织许可证类型Apache-2.0首次发布2010 年 4 月 26 日最新发布时间2023 年 8 月 1 日GitHub Star48189GitHub Fork10716依赖包28,694依赖存储库219,576 Guava 是 Google 的一组核心 Java 库&#xff0c;其中包括新的集合类型&#xff08;例如 multimap 和…...

Hadoop服务脚本

#!/bin/bash process("NameNode" "SecondaryNameNode" "DataNode" "NodeManager" "ResourceManager") JAVA_HOME"/opt/software/jdk1.8.0_371" HADOOP_HOME"/opt/software/hadoop-3.3.6"# 定义颜色的AN…...

[QT]设置程序仅打开一个,再打开就唤醒已打开程序的窗口

需求&#xff1a;speedcrunch 这个软件是开源的计算器软件。配合launch类软件使用时&#xff0c;忘记关闭就经常很多窗口&#xff0c;强迫症&#xff0c;从网上搜索对版本进行了修改。 #include "gui/mainwindow.h"#include <QCoreApplication> #include <…...

数据库(二) Oracle篇

Oracle SQL常用函数 概述 SQL函数有单行函数和多行函数,其区别为&#xff1a; 单行&#xff1a;输入一行,返回一行,如字符、数字、转换、通用函数等多行&#xff1a;输入多行,返回一行,也称为分组函数、组函数、聚合函数,且多行函数会自动滤空 单行函数 字符函数 CONCAT(…...

TDengine函数大全-目录

TDengine函数大全 详情见具体页面&#xff0c;点击进入。 1.数学函数 ABSACOSASINATANCEILCOSFLOORLOGPOWROUNDSINSQRTTAN 2.字符串函数 CHAR_LENGTHCONCATCONCAT_WSLENGTHLOWERLTRIMRTRIMSUBSTRUPPER 3.转换函数 CAST TO_ISO8601TO_UNIXTIMESTAMPTO_JSON 4.时间和日期…...

代理模式之静态代理

代理模式是一种常见的设计模式&#xff0c;它允许一个对象&#xff08;代理对象&#xff09;代表另一个对象&#xff08;真实对象&#xff09;进行操作。在软件开发中&#xff0c;代理模式被广泛应用于各种场景&#xff0c;例如网络请求的代理、权限控制的代理等。 静态代理是…...

LeetCode——栈的压入、弹出序列

这里我用下面的例子子来讲解一下模拟栈的实现。 例子1&#xff1a;pushed [1,2,3,4,5] popped [4,5,3,2,1] 思路&#xff1a;第一步&#xff1a;我们先创建一个栈&#xff0c;然后将pushed的数据压进去 第二步&#xff1a;判断&#xff01; 当压入栈的数据和popped第一个数据…...

Flutter 逆向安全

前言&#xff1a; 前几天在 "学习" 一个项目&#xff0c; 发现是用 Flutter 开发的。之前研究过 flutter 的逆向&#xff0c;早期 Flutter 有工具可以通过快照进行反编译&#xff1a;《对照表如下》 新的版本开发者没有维护了。 目前没有很好的工具 可以对 Flutter 进…...

【微服务部署】01-Kubernetes部署流程

文章目录 部署1. Kubernetes是什么2. Kubernetes的优势3. 环境搭建4. 应用部署 部署 1. Kubernetes是什么 Kubernetes是一个用于自动部署、扩展和管理容器化应用程序的开源系统 2. Kubernetes的优势 自动化容器部署资源管理与容器调度服务注册发现与负载均衡内置配置与秘钥…...

SPI3+DMA外设驱动-TFTLCD初始化

前言 &#xff08;1&#xff09;本系列是基于STM32的项目笔记&#xff0c;内容涵盖了STM32各种外设的使用&#xff0c;由浅入深。 &#xff08;2&#xff09;小编使用的单片机是STM32F105RCT6&#xff0c;项目笔记基于小编的实际项目&#xff0c;但是博客中的内容适用于各种单片…...

通过chatgpt 学习React的useEffect

定义&#xff1a; useEffect 是 React 中的一个 Hook&#xff0c;它用于处理函数组件中的副作用操作。副作用操作可以包括数据获取、订阅事件、定时器等。 useEffect 接受两个参数&#xff1a;第一个参数是一个回调函数&#xff0c;用于执行副作用操作&#xff1b;第二个参数…...

rabbitMq介绍及使用

点击跳转https://blog.csdn.net/qq_43410878/article/details/123656765...

rabbitmq载在.net中批量消费的问题记录

背景 最近遇到了一个问题&#xff0c;在使用rabbitmq的时候出现了丢消息、消息重复消费等一系列的问题&#xff0c;使用的是.net框架&#xff0c;背景是高并发压力下的mq消费&#xff0c;按理说即使队列中堆了几百条消息&#xff0c;我客户端可以同处理5个消息。 原因是多线程…...

【RPC 协议】序列化与反序列化 | lua-cjson | lua-protobuf

文章目录 RPC 协议gRPCJSON-RPC 数据序列化与反序列化lua-cjsonlua-protobuf RPC 协议 在分布式计算&#xff0c;远程过程调用&#xff08;英语&#xff1a;Remote Procedure Call&#xff0c;缩写为 RPC&#xff09;是一个计算机通信协议。该协议允许运行于一台计算机的程序调…...

Flutter的Timer类

文章目录 一、Timer简介Timer类的详细介绍导入dart:async包创建一个定时器取消定时器定时器的周期性执行注意事项 二、Semantics简介Flutter Semantics 的详细介绍SemanticsNode语义标签和标签形状语义属性自定义语义行为通过语义树导航 一、Timer简介 Flutter的Timer类是Dart…...

Chrome小恐龙快跑小游戏——Python实现

目录 视频演示 代码实现 视频演示 Chrome小恐龙快跑小游戏——Python实现 代码实现 import pygame import os import random pygame.init()# Global Constants SCREEN_HEIGHT 600 SCREEN_WIDTH 1100 game_over False SCREEN pygame.display.set_mode((SCREEN_WIDTH, SCR…...

Web网站服务器

目录 一、什么是Apache? 二、虚拟目录是什么&#xff1f; 三、Apcahe相关配置文件 四、httpd.conf主配置文件的常用配置参数 五、Web网站配置案例 5.1搭建基于用户的个人主页网站 5.2、配置虚拟目录 5.3、配置虚拟主机 5.3.1搭建两个基于IP地址的虚拟主机 5.3.2搭建两个基于域…...

Docker consul 容器服务自动发现和更新

目录 一、什么是服务注册与发现 二、Docker-consul集群 1.Docker-consul consul提供的一些关键特性 2.registrator 3.Consul-template 三、Docker-consul实现过程 以配置nginx负载均衡为例 先配置consul-agent &#xff0c;有两种模式server和client 四、Docker-cons…...

CentOS 8 执行yum命令报错:Failed to set locale, defaulting to C.UTF-8

今天Docker新搞了一个CentOS镜像&#xff0c;在运行基于该镜像的容器&#xff0c;执行yum命令时&#xff0c;遇到了如下报错&#xff1a; [rootGC Administrator]# yum install -y yum-utils Failed to set locale, defaulting to C.UTF-8 CentOS Linux 8 - AppStream …...

8. 损失函数与反向传播

8.1 损失函数 ① Loss损失函数一方面计算实际输出和目标之间的差距。 ② Loss损失函数另一方面为我们更新输出提供一定的依据。 8.2 L1loss损失函数 ① L1loss数学公式如下图所示&#xff0c;例子如下下图所示。 import torch from torch.nn import L1Loss inputs torch.tens…...

Pulover‘s Macro Creator:你的数字助手,让电脑学会“自己工作“

Pulovers Macro Creator&#xff1a;你的数字助手&#xff0c;让电脑学会"自己工作" 【免费下载链接】PuloversMacroCreator Automation Utility - Recorder & Script Generator 项目地址: https://gitcode.com/gh_mirrors/pu/PuloversMacroCreator 你是否…...

体验Taotoken官方折扣与Token Plan带来的实际费用节省

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 体验Taotoken官方折扣与Token Plan带来的实际费用节省 对于开发者个人或小团队而言&#xff0c;在项目开发或日常工作中使用大模型…...

开源数字微流控平台OpenDrop:3步打造你的微型生物实验室

开源数字微流控平台OpenDrop&#xff1a;3步打造你的微型生物实验室 【免费下载链接】OpenDrop Open Source Digital Microfluidics Bio Lab 项目地址: https://gitcode.com/gh_mirrors/ope/OpenDrop 你是否曾梦想在桌面上建立一个完整的生物实验室&#xff1f;OpenDrop…...

KMS_VL_ALL_AIO:一键激活Windows与Office的完整解决方案

KMS_VL_ALL_AIO&#xff1a;一键激活Windows与Office的完整解决方案 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 你是否曾经为Windows或Office的激活问题而烦恼&#xff1f;每次重装系统后都…...

Windows 11终极优化指南:使用Win11Debloat免费提升系统性能 [特殊字符]

Windows 11终极优化指南&#xff1a;使用Win11Debloat免费提升系统性能 &#x1f680; 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes …...

告别客户端安装!浏览器远程控制的终极方案:noVNC实战指南

告别客户端安装&#xff01;浏览器远程控制的终极方案&#xff1a;noVNC实战指南 【免费下载链接】noVNC VNC client web application 项目地址: https://gitcode.com/gh_mirrors/no/noVNC 还在为跨平台远程控制而烦恼吗&#xff1f;还在为每个设备都要安装专用客户端而…...

【开源软件移植】鸿蒙 PC 三方库适配实战:从 7-Zip Native 编译到 ArkTS 调用完整跑通

【开源软件移植】鸿蒙 PC 三方库适配实战&#xff1a;从 7-Zip Native 编译到 ArkTS 调用完整跑通 一、写在前面 欢迎加入开源鸿蒙PC社区&#xff1a;https://harmonypc.csdn.net/ 这篇文章记录的是把 7-Zip 的 .7z 压缩、校验、解压能力适配成 HarmonyOS / OpenHarmony PC …...

多组学数据如何高效上传GSA?这份流程指南请收好

GSA&#xff08;Genome Sequence Archive&#xff0c;基因组序列存档&#xff09;由中科院基因组所主办,是国内权威的组学数据存储与共享平台&#xff0c;为全球科研人员提供基因组、转录组等高通量测序数据的提交、存储与开放获取服务&#xff0c;支撑生命科学研究与数据共享。…...

深拷贝和浅拷贝深入讲解

What? 浅拷贝和深拷贝发生在对象和对象之间&#xff0c;假设你需要将一个对象的值赋予给另一个对象&#xff0c;这个过程就叫做拷贝。那么拷贝的过程中&#xff0c;对象的属性中可能既有普通变量也有对象&#xff0c;能够复制后副本对象的引用指向新地址的就是深拷贝&#xff…...

ComfyUI-Impact-Pack V8:AI图像增强的模块化架构革新与性能突破

ComfyUI-Impact-Pack V8&#xff1a;AI图像增强的模块化架构革新与性能突破 【免费下载链接】ComfyUI-Impact-Pack Custom nodes pack for ComfyUI This custom node helps to conveniently enhance images through Detector, Detailer, Upscaler, Pipe, and more. 项目地址:…...