cglib:cglib 组件安全漏洞及健康度分析

文章更新时间:2023-09-20 15:45

cglib:cglib

组件简介

维护者cglib 组织许可证类型MulanPSL-2.0
首次发布2005 年 11 月 8 日最新发布时间2019 年 8 月 12 日
GitHub Star4664GitHub Fork886
依赖包1,972依赖存储库40,788

cglib是一个用于生成和转换Java字节码的高级API,它被AOP,测试,数据访问框架等用于生成动态代理对象和拦截字段访问

官方仓库:https://github.com/cglib/cglib

参考链接:

https://mvnrepository.com/artifact/cglib/cglib

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/cglib:cglib

组件健康度

技术健康度cglib使用ASM(一个轻量级的字节码操作框架)来操作字节码生成新的类。ASM使用类似SAX的解析器来实现高性能。cglib提供了多种回调接口,如FixedValue,MethodInterceptor,LazyLoader等,来实现不同的代理逻辑。cglib还提供了一些工具类,如BeanCopier,BeanMap,BulkBean等,来实现JavaBean相关的操作。cglib的技术健康度较高,它使用了成熟和高效的技术来实现字节码生成和转换,提供了丰富和灵活的功能。
社区健康度cglib是一个开源项目,其代码托管在GitHub上。截至2023年9月20日,cglib有2.6k个星标,1.1k个forks,17个贡献者,4个分支,15个发布版本。cglib的最新版本是3.3.0,发布于2019年5月31日。cglib的社区健康度一般,它有一定的关注度和贡献度,但更新和维护频率较低。
更新和维护频率cglib的最新版本是3.3.0,发布于2019年5月31日。从GitHub上的提交历史可以看出,cglib在2019年后就没有再更新过。cglib的更新和维护频率较低,可能是因为它已经比较稳定和成熟,或者是因为缺乏维护者和活跃用户。
兼容性cglib要求Java版本至少为1.8。cglib可以与多种Java框架配合使用,如Spring AOP,Hibernate,Mockito等。cglib的兼容性较好,它可以支持较新的Java版本和多种流行的Java框架。
文档和支持cglib在GitHub上提供了一些简单的示例代码和文档。但是,cglib的文档不够完善和详细,缺少一些高级功能和用法的说明。cglib在Stack Overflow上有2.4k个相关问题,但并不是所有问题都有得到解答或满意的答案。cglib的文档和支持较差,它需要更多的文档和示例来帮助用户理解和使用。

cglib是一个功能强大,性能高效的字节码生成库,它可以为没有实现接口的类提供代理,并提供了一些JavaBean相关的工具类。但是,cglib也有一些不足之处,如更新和维护频率低,文档和支持不足等。因此,cglib的健康度可以说是中等偏上,它仍然是一个值得使用和学习的库。

参考链接:

https://github.com/cglib/cglib

https://www.runoob.com/w3cnote/cglibcode-generation-library-intro.html

https://www.baeldung.com/cglib

组件许可证解读

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

组件漏洞版本及修复方案

暂无

同类型可替代组件

  • ASM:ASM是一个轻量级的字节码操作框架,它可以直接操作字节码生成新的类。ASM使用类似SAX的解析器来实现高性能。ASM是cglib的底层技术,它提供了更低层次和更全面的控制,但也需要更深入的字节码和JVM知识。
  • Byte Buddy:Byte Buddy是一个相对较新的字节码生成库,它提供了任何cglib或Javassist提供的功能和更多。Byte Buddy可以完全定制到字节码级别,并且提供了一个富有表现力的领域特定语言,使得代码非常易读。Byte Buddy支持所有JVM字节码版本,包括Java 8关于默认方法的语义变化。
  • Javassist:Javassist是一个用于操作字节码的库,它可以在运行时修改类或者动态生成类。Javassist使用源代码级别的API来操作字节码,这使得它比ASM或cglib更容易使用,但也牺牲了一些性能和灵活性。

组件SBOM

组件名称版本是否直接依赖仓库
org.apache.ant:ant1.10.3maven
org.openjdk.jmh:jmh-core1.21maven
cglib:cglib3.3.1-SNAPSHOTmaven
org.ow2.asm:asm7.1maven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1704382028576505856/1704382028748472320?allow=1

(0)
上一篇 2023年9月20日 下午3:14
下一篇 2023年9月20日 下午4:09

相关推荐

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

    文章更新时间:2023-09-25 15:20 组件简介 维护者 EsotericSoftware 组织 许可证类型 BSD-3-Clause 首次发布 2015 年 12 月 28 日 最新发布时间 2023 年 4 月 20 日 GitHub Star 5897 GitHub Fork 839 依赖包 756 依赖存储库 4,213 Kryo 是一种用于…

    2023年9月25日
    0
  • com.beust:jcommander 组件安全漏洞及健康度分析

    文章更新时间:2023-09-22 12:00 组件简介 维护者 cbeust 个人 许可证类型 Apache-2.0 首次发布 2010 年 7 月 15 日 最新发布时间 2022 年 1 月 11 日 GitHub Star 1874 GitHub Fork 335 依赖包 1,232 依赖存储库 9,844 JCommander,由Cédric Be…

    2023年9月22日
    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.baomidou:mybatis-plus 组件安全漏洞及健康度分析

    文章更新时间:2023-09-22 15:05 组件简介 维护者 baomidou 组织 许可证类型 Apache-2.0 首次发布 2016 年 1 月 27 日 最新发布时间 2023 年 8 月 8 日 GitHub Star 15065 GitHub Fork 4090 依赖包 3064,589 依赖存储库 4,589 mybatis-plus是一款…

    2023年9月22日
    0
  • com.alibaba:druid 组件安全漏洞及健康度分析

    文章更新时间:2023-09-21 14:40 组件简介 维护者 alibaba 组织 许可证类型 Apache-2.0 首次发布 2012 年 2 月 7 日 最新发布时间 2023 年 9 月 4 日 GitHub Star 27217 GitHub Fork 8509 依赖包 1,298 依赖存储库 62,018 Druid是阿里开源的连接池,是Jav…

    2023年9月21日
    0