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

相关推荐

  • org.codehaus.plexus:plexus-classworlds 组件安全漏洞及健康度分析

    文章更新时间:2023-09-20 16:10 组件简介 维护者 codehaus-plexus 组织 许可证类型 Apache-2.0 首次发布 2006 年 11 月 18 日 最新发布时间 2022 年 11 月 18 日 GitHub Star 53 GitHub Fork 22 依赖包 322 依赖存储库 2,209 Plexus Classwor…

    2023年9月20日
    0
  • com.jcraft:jsch 组件安全漏洞及健康度分析

    文章更新时间:2023-09-19 19:00 组件简介 维护者 sourceforge 组织 许可证类型 BSD-3-Clause 首次发布 2005 年 11 月 8 日 最新发布时间 2018 年 11 月 26 日 依赖包 1,266 依赖存储库 17,304 JSch 是SSH2的一个纯Java实现。它允许你连接到一个sshd 服务器,使用端口转发…

    2023年9月19日
    0
  • com.google.code.gson:gson 组件安全漏洞及健康度分析

    文章更新时间:2023-09-26 11:40 组件简介 维护者 Google 组织 许可证类型 Apache-2.0 首次发布 2008 年 8 月 10 日 最新发布时间 2023 年 1 月 6 日 GitHub Star 22450 GitHub Fork 4296 依赖包 13,282 依赖存储库 291,545 Gson(又称Google Gso…

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

    文章更新时间:2023-09-28 11:23 组件简介 维护者 itext 组织 许可证类型 AGPL-3.0 首次发布 2011 年 4 月 29 日 最新发布时间 2022 年 2 月 25 日 GitHub Star 1524 GitHub Fork 447 依赖包 340 依赖存储库 7,964 com.itextpdf:itextpdf 是一个用…

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

    文章更新时间:2023-09-21 15:30 组件简介 维护者 alibaba 组织 许可证类型 Apache-2.0 首次发布 2018 年 2 月 7 日 最新发布时间 2023 年 5 月 30 日 GitHub Star 28990 GitHub Fork 7244 依赖包 235 依赖存储库 3,370 EasyExcel是一个基于Java的、快…

    2023年9月21日
    0