com.google.code.gson:gson 组件安全漏洞及健康度分析

文章更新时间:2023-09-26 11:40

com.google.code.gson:gson

组件简介

维护者Google 组织许可证类型Apache-2.0
首次发布2008 年 8 月 10 日最新发布时间2023 年 1 月 6 日
GitHub Star22450GitHub Fork4296
依赖包13,282依赖存储库291,545

Gson(又称Google Gson)是Google公司发布的一个开放源代码的Java库,主要用途为序列化Java对象为JSON字符串,或反序列化JSON字符串成Java对象。

官网:https://google.github.io/gson/

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

参考链接:

https://mvnrepository.com/artifact/com.google.code.gson/gson

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

组件健康度

技术健康度这个组件是一个用于将Java对象和JSON数据相互转换的库,它提供了简单的toJson ()和fromJson ()方法,支持任意的Java对象,包括没有源代码的预先存在的对象。它还支持Java泛型,自定义对象表示,复杂对象的转换等功能。它的技术健康度很高,因为它实现了JSON和Java之间的无缝映射,解决了许多其他库无法解决的问题。
社区健康度这个组件是由Google开发和维护的,它在GitHub上有超过1.8万个星标,288个问题,96个拉取请求(1)。它也有一个专门的StackOverflow标签和一个Google小组,供用户讨论和提问。它的社区健康度很高,因为它有很多用户和贡献者,以及活跃的交流和反馈渠道。
更新和维护频率这个组件目前处于维护模式,已有的bug会被修复,但不太可能添加大的新功能。如果用户想要添加新功能,需要先在GitHub上搜索或创建一个新的问题来讨论和获取反馈。它最新的版本是2.11.0,发布于2023年4月14日。它最近的更新是在2023年9月25日。它的更新和维护频率较低,因为它已经实现了主要的功能,不需要频繁地改变或增加。
兼容性这个组件支持Java 6及以上版本,并提供了一个JPMS模块描述符(模块名为com.google.gson)供Java 9或更高版本使用。它还支持Android API级别19及以上版本。它有一些可选的JPMS依赖项,例如java.sql和jdk.unsupported,用于提供一些额外的功能。它的兼容性很好,因为它可以在多种Java环境中运行,并且可以根据用户的需求选择使用不同的依赖项。
文档和支持这个组件有一个完善的文档网站,包括API文档,用户指南,故障排除指南,设计文档等。它还有一个发布流程文档,指导开发者如何发布新版本。它还提供了一些示例代码,展示了如何在不同场景中使用这个组件。它的文档和支持很好,因为它涵盖了使用这个组件所需的各种信息,并且有清晰和详细的说明。

com.google.code.gson:gson 这个组件是一个优秀的JSON转换库,它具有高度的技术健康度和社区健康度,以及良好的兼容性和文档支持。它目前处于维护模式,不太可能添加大的新功能,但仍然会修复已有的bug。如果您需要一个简单而强大的JSON转换工具,这个组件是一个不错的选择。

参考链接:

https://github.com/google/gson

https://google.github.io/gson/

https://blog.csdn.net/xinbadar/article/details/112548616

https://qiita.com/naoi/items/6b184700b2a41fb46356

组件许可证解读

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/gson/blob/main/LICENSE

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-2022-12287com.google.code.gson:gson 存在BigDecimal拒绝服务漏洞高危[2.2.3,2.8.9)2.8.9

同类型可替代组件

  • Fastjson:这是一个由阿里巴巴开发的高性能的JSON处理器,它可以将Java对象和JSON数据相互转换,支持任意复杂对象和泛型类型。它的优点是速度快,占用内存少,但是可能会出现一些转换错误或安全漏洞。官网:https://github.com/alibaba/fastjson/wiki
  • Jackson:这是一个流行的JSON解析器,它提供了多种方式来处理JSON数据,包括流式API,对象绑定API和树模型API。它的优点是功能强大,灵活性高,社区活跃,但是可能会有一些性能损耗或兼容性问题。官网:https://github.com/FasterXML/jackson
  • Json-simple:这是一个轻量级的JSON处理器,它只提供了基本的JSON对象和数组的封装,以及简单的编码和解码方法。它的优点是体积小,无依赖,但是功能有限,不支持泛型或自定义类型。官网:https://code.google.com/archive/p/json-simple/

组件SBOM

组件名称版本是否直接依赖仓库
com.google.protobuf:protobuf-java4.0.0-rc-2maven
org.ow2.asm:asm-util7.2maven
org.ow2.asm:asm7.2maven
com.google.caliper:caliper1.0-beta-3maven
org.ow2.asm:asm-tree7.2maven
com.squareup.okio:okio1.6.0maven
com.google.dagger:dagger-producers2.22.1maven
com.google.caliper:caliper-util1.0-beta-3maven
com.google.guava:guava32.1.2-jremaven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1706502461049143296/1706502464006127616?allow=1

(0)
上一篇 2023年9月25日 下午4:56
下一篇 2023年9月26日 下午4:40

相关推荐

  • com.alibaba:QLExpress 组件安全漏洞及健康度分析

    文章更新时间:2023-09-21 14:30 组件简介 维护者 alibaba 组织 许可证类型 Apache-2.0 首次发布 2018 年 1 月 4 日 最新发布时间 2023 年 9 月 9 日 GitHub Star 4287 GitHub Fork 1091 依赖包 18 依赖存储库 114 QLExpress是一种强大,轻量级,动态的Java…

    2023年9月21日
    0
  • com.squareup.retrofit2:retrofit 组件安全漏洞及健康度分析

    文章更新时间:2023-10-07 20:10 组件简介 维护者 retrofit 组织 许可证类型 Apache-2.0 首次发布 2013 年 5 月 13 日 最新发布时间 2020 年 5 月 20 日 GitHub Star 42038 GitHub Fork 7342 依赖包 1,998 依赖存储库 106,820 Retrofit是一个网络访问…

    2023年10月7日
    0
  • org.mybatis:mybatis 组件安全漏洞及健康度分析

    文章更新时间:2023年8月25日 14:30 组件简介 维护者 mybatis组织 许可证类型 Apache-2.0 首次发布 2013 年11月9日 最新发布时间 2023年3月11日 GitHub Star 18840 GitHub Fork 12468 依赖包 1,612 依赖存储库 87,034 MyBatis SQL 映射器框架使得在面向对象的应…

    2023年8月25日
    0
  • com.h2database:h2 组件安全漏洞及健康度分析

    文章更新时间:2023-09-07 11:30 组件简介 维护者 h2database组织 许可证类型 MPL-2.0,EPL 1.0 首次发布 2007 年 8 月 26 日 最新发布时间 2023 年 9 月 1 日 GitHub Star 1175 GitHub Fork 3842 依赖包 7,714 依赖存储库 266,808 com.h2datab…

    2023年9月7日
    0
  • com.google.guava:guava 组件安全漏洞及健康分析

    文章更新时间:2023-08-28 18:00 组件简介 维护者 google组织 许可证类型 Apache-2.0 首次发布 2010 年 4 月 26 日 最新发布时间 2023 年 8 月 1 日 GitHub Star 48189 GitHub Fork 10716 依赖包 28,694 依赖存储库 219,576 Guava 是 Google 的一…

    2023年8月28日
    0