com.beust:jcommander 组件安全漏洞及健康度分析

文章更新时间:2023-09-22 12:00

com.beust:jcommander

组件简介

维护者cbeust 个人许可证类型Apache-2.0
首次发布2010 年 7 月 15 日最新发布时间2022 年 1 月 11 日
GitHub Star1874GitHub Fork335
依赖包1,232依赖存储库9,844

JCommander,由Cédric Beust创建,是一个基于注释的库,用于解析命令行参数。它可以减少构建命令行应用程序的工作量,并帮助我们为它们提供良好的用户体验。

使用 JCommander,我们可以卸载棘手的任务,例如解析、验证和类型转换,让我们专注于我们的应用程序逻辑。

官网:https://jcommander.org/

官方仓库:https://github.com/cbeust/jcommander

参考链接:

https://mvnrepository.com/artifact/com.beust/jcommander

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.beust:jcommander

组件健康度

技术健康度这个组件是一个基于注解的 Java 框架,用于简化命令行参数的解析。它支持多种类型的参数,包括基本类型,枚举,列表,映射等。它还提供了一些常用的特殊类型的转换器,如文件,路径,日期等。它的代码质量和测试覆盖率都很高,没有发现明显的缺陷或漏洞。它的技术健康度可以说是很好的。
社区健康度这个组件是由 Cédric Beust 创建和维护的,他是一个著名的 Java 开发者,也是 TestNG 的作者。他在 GitHub 上有超过 1.9k 的关注者和 57 个标签。这个组件在 GitHub 上有超过 1k 的星标和 300 多个分支。它也有很多贡献者和活跃的讨论。它在 Maven Central 上有超过 3.5M 的下载量。它的社区健康度可以说是很活跃的。
更新和维护频率这个组件的最新版本是 1.82,发布于2022 年 1 月 11 日。它的更新频率不算很高,但也不算很低。它的维护频率也比较稳定,没有出现长时间的停滞或遗弃。它的更新和维护频率可以说是适中的。
兼容性这个组件要求 Java 8 或更高版本。它没有依赖其他的第三方库,所以不会出现冲突或兼容性问题。它也支持 Java 模块化系统。它的兼容性可以说是很好的。
文档和支持这个组件有一个完整的文档网站,介绍了它的功能,用法,示例和常见问题。文档内容清晰,结构合理,易于理解和使用。它也有一个在线聊天频道,可以向作者或其他用户提问或反馈问题。它的文档和支持可以说是很完善的。

com.beust:jcommander 这个组件是一个优秀的 Java 命令行参数解析框架,它在技术健康度,社区健康度,兼容性和文档支持方面都表现出色,在更新和维护频率方面也表现合理。它可以满足大多数 Java 命令行应用程序的需求,并提供良好的用户体验。因此,这个组件的健康度是非常高的。

参考链接:

http://jcommander.org/

https://github.com/cbeust/jcommander

https://www.baeldung.com/jcommander-parsing-command-line-parameters

https://www.codenong.com/b-jcommander-parsing-command-line-parameters/

组件许可证解读

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/cbeust/jcommander/blob/master/license.txt

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-2022-12225com.beust:jcommander 存在从非可信控制范围包含功能例程漏洞中危(-∞,1.75)1.75

同类型可替代组件

  • picocli:这是一个功能强大的 Java 命令行参数解析框架,使用注解来定义参数。它支持多种类型的参数,包括子命令,混合位置和选项参数,自动补全,颜色化的帮助信息等。它也支持国际化和自动生成文档。官网:https://picocli.info/
  • args4j:这是一个简单易用的 Java 命令行参数解析框架,使用注解来定义参数。它支持多种类型的参数,包括基本类型,枚举,列表,映射等。它也支持自动生成帮助信息。官网:https://github.com/kohsuke/args4j
  • JewelCLI:这是一个优雅的 Java 命令行参数解析框架,使用接口来定义参数。它支持多种类型的参数,包括基本类型,枚举,列表,映射等。它也支持自动生成帮助信息。官网:JewelCLI

组件SBOM

组件名称版本是否直接依赖仓库
:No dependenciesmaven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1705101724926738432/1705101725237116928?allow=1

(0)
上一篇 2023年9月21日 下午3:50
下一篇 2023年9月22日 下午3:52

相关推荐