org.mockito:mockito-core 组件安全漏洞及健康度分析

原创
2023/08/30 17:15
阅读数 94
AI总结

组件简介

维护者 mockito组织 许可证类型 MIT
首次发布 2008 年 4 月 29 日 最新发布时间 2023 年 8 月 27 日
GitHub Star 14159 GitHub Fork 2478
依赖包 24,748 依赖存储库 145,258

org.mockito:mockito-core是一个流行的 Java 模拟框架,它提供了一个简洁的 API 来创建和使用模拟对象。它支持 Java 8 及以上版本,并且与 JUnit 4 和 JUnit 5 兼容。它还提供了 mockito-inline 和 mockito-android 子项目,以支持不同的场景和平台1。

官网:https://site.mockito.org/

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

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/org.mockito:mockito-core

组件健康度

技术健康度 该组件使用了最新的 Java 11 版本,并且在 GitHub 上有近 6000 个提交。它使用了 Shipkit 库和 Gradle Nexus Publish Plugin 来实现完全自动化的发布。它还提供了丰富的测试和文档,以确保代码的质量和可读性。
社区健康度 该组件在 GitHub 上有超过 2.7 万个星标,并且有 629 个标签和 20 个分支。它有一个活跃的邮件列表和 Twitter 账号,并且在 StackOverflow 上有大量的问题和答案。它还与 Tidelift 合作,为企业用户提供商业支持和维护。
更新和维护频率 该组件每次在主开发分支上有变更时,都会发布一个 -SNAPSHOT 版本到 Sonatype 快照仓库。大约每个月,它会发布一个新的小版本或补丁版本到 Maven Central。目前,该组件的最新版本是 5.5.0,于 2023 年 8 月 27 日发布。
兼容性 该组件支持 Java 8 及以上版本,并且与 JUnit 4 和 JUnit 5 兼容。它还提供了 mockito-inline 和 mockito-android 子项目,以支持不同的场景和平台。它没有引入任何破坏性的 API 变更,但是在 Mockito 4 中移除了一些已弃用的 API。
文档和支持 该组件在 javadoc.io 上提供了所有版本的文档,并且在 Mockito 网站上有详细的介绍和示例。它还有一个贡献指南,鼓励开发者参与到项目中来。如果用户遇到任何问题或建议,可以通过邮件列表、Twitter、GitHub issue tracker 等渠道进行反馈和交流。

org.mockito:mockito-core 是一个健康度很高的组件,它具有先进的技术、活跃的社区、频繁的更新、良好的兼容性和完善的文档。

参考链接:

https://site.mockito.org/

https://www.baeldung.com/mockito-core-vs-mockito-all

https://github.com/shipkit/shipkit-changelog

https://s01.oss.sonatype.org/content/repositories/snapshots/org/mockito/mockito-core/

https://github.com/mockito/mockito

https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html

组件许可证解读

MIT 许可证是一种非常宽松的自由软件许可证,它起源于麻省理工学院。它可以分为三个部分,分别是:

  • 授予条款:这个部分允许用户对软件进行任何操作,例如使用、复制、修改、合并、发布、分发、再许可和/或出售软件,不需要支付费用或获取许可。
  • 条件条款:这个部分要求用户在软件的所有副本或实质部分中,包含版权声明和许可声明,以保护作者或版权所有者的知识产权,以及让用户知道软件的许可证。
  • 免责条款:这个部分声明作者或版权所有者对软件不承担任何责任,包括保证、担保、索赔、损害或其他责任,无论是因为软件本身或软件的使用而导致的。

MIT许可证是一种非常宽松的开源许可证,鼓励软件的自由使用、修改和分发,同时降低了法律责任。

许可证原文链接:https://github.com/mockito/mockito/blob/main/LICENSE

组件漏洞版本及修复方案

暂无

同类型可替代组件

  • EasyMock:EasyMock 是一个开源的模拟框架,它使用 java.lang.reflect.Proxy 对象来创建模拟对象。它可以模拟接口和类,并且提供了记录、回放和验证的功能。它与 JUnit 和 TestNG 都可以集成。官网:https://easymock.org/
  • WireMock:WireMock 是一个 HTTP 模拟服务器,它可以模拟和存根 HTTP 响应。它适用于微服务架构中,当我们需要模拟外部 API 来测试一个依赖于这些 API 的组件时。它可以运行在独立模式或嵌入模式,并且提供了丰富的配置选项。官网:https://wiremock.org/
  • MockWebServer:MockWebServer 是一个用于模拟依赖 API 的库,它可以在测试中启动一个本地 HTTP 服务器,并且返回预定义的响应。它可以用于测试网络连接、超时、错误等情况,并且可以与 Retrofit、OkHttp 等库配合使用。官网:https://square.github.io/okhttp/3.x/mockwebserver/index.html
  • Spock:Spock 是一个基于 Groovy 的测试框架,它可以用来测试 Java 和 Groovy 代码。它提供了一种基于 BDD(行为驱动开发)的语法来编写可读性强的测试用例,并且内置了对模拟和存根的支持。它也可以与 JUnit 和 Gradle 集成。官网:https://spockframework.org/

组件SBOM

组件名称 版本 是否直接依赖 仓库
org.junit.platform:junit-platform-commons 1.10.0 maven
com.github.kevinstern:software-and-algorithms 1.0 maven
org.opentest4j:opentest4j 1.3.0 maven
com.google.auto.value:auto-value-annotations 1.9 maven
org.jetbrains.kotlin:kotlin-stdlib-jdk8 1.9.10 maven
com.google.auto:auto-common 1.2.1 maven
com.google.guava:guava-parent 32.1.1-jre maven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1696092843930972160/1696092845336064000?allow=1

关于墨知

墨知是国内首个专注软件供应链安全领域的技术社区,社区致力于为国内数百万技术人员提供全方位的软件供应链安全专业知识内容,包括软件供应链安全技术、漏洞情报、开源组件安全、SBOM、软件成分分析(SCA)、开源许可证合规等前沿技术及最佳实践。

墨知主要内容分类:

  1. 漏洞分析:漏洞_墨知 (oscs1024.com)
  2. 投毒分析:投毒分析_墨知 (oscs1024.com)
  3. 行业动态:行业动态_墨知 (oscs1024.com)
  4. 行业研究:行业研究_墨知 (oscs1024.com)
  5. 工具推荐:工具推荐_墨知 (oscs1024.com)
  6. 最佳实践:最佳实践_墨知 (oscs1024.com)
  7. 技术科普:技术科普_墨知 (oscs1024.com)

墨知通过促进知识共享、技术研究和合作交流,帮助组织和个人提高软件供应链的安全性,减少供应链攻击的风险,并保护软件生态系统的整体安全。

进入社区:墨知 - 软件供应链安全技术社区

原文来自:org.mockito:mockito-core 组件安全漏洞及健康度分析_墨知 (oscs1024.com)

展开阅读全文
加载中
点击加入讨论🔥(1) 发布并加入讨论🔥
1 评论
0 收藏
0
分享
AI总结
返回顶部
顶部