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

文章更新时间:2023-09-21 14:30

com.alibaba:QLExpress

组件简介

维护者alibaba 组织许可证类型Apache-2.0
首次发布2018 年 1 月 4 日最新发布时间2023 年 9 月 9 日
GitHub Star4287GitHub Fork1091
依赖包18依赖存储库114

QLExpress是一种强大,轻量级,动态的Java平台语言,旨在提高开发人员在不同业务场景中的生产力。

官方仓库:https://github.com/alibaba/QLExpress

参考链接:

https://mvnrepository.com/artifact/com.alibaba/QLExpress

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.alibaba:QLExpress

组件健康度

技术健康度这个组件是一个轻量级的动态脚本引擎,可以在Java平台上执行自定义的业务逻辑和表达式。它具有以下的技术优势:线程安全,引擎运算过程中的产生的临时变量都是threadlocal类型。高效执行,比较耗时的脚本编译过程可以缓存在本地机器,运行时的临时变量创建采用了缓冲池的技术,和groovy性能相当。弱类型脚本语言,和groovy,javascript语法类似,虽然比强类型脚本语言要慢一些,但是使业务的灵活度大大增强。安全控制,可以通过设置相关运行参数,预防死循环、高危系统api调用等情况。代码精简,依赖最小,250k的jar包适合所有java的运行环境,在android系统的低端pos机也得到广泛运用。
社区健康度这个组件是由阿里巴巴开源的一个项目,目前在GitHub上有4.3k个星标和1.1k个分支。它有一个活跃的开发者社区,最近一次发布版本是在2023 年 9 月 9 日。它也有一些用户反馈和讨论的平台,比如CSDN和阿里云开发者社区。它的社区健康度较高,可以得到及时的更新和支持。
更新和维护频率这个组件的更新和维护频率较高,从GitHub上可以看到,它在过去一年内发布了4个版本,每个版本都修复了一些bug或增加了一些功能。它也有一些贡献者参与了代码提交和合并请求。它的更新和维护频率说明了它的技术活力和稳定性。
兼容性这个组件的兼容性较好,它可以在任何Java平台上运行,包括Android系统。它也支持自定义类加载器。它不依赖于其他第三方库,只需要引入一个jar包就可以使用。它的兼容性说明了它的易用性和扩展性。
文档和支持这个组件的文档和支持较为完善,它在GitHub上提供了详细的README文件,介绍了它的背景、依赖、调用、语法、功能、示例等内容。它也提供了一个版本历史文件,记录了每个版本的变化和修复。它还有一个问题列表,可以查看用户提出的问题和开发者给出的回答。它的文档和支持说明了它的可靠性和可学习性。

com.alibaba:QLExpress 这个组件是一个优秀的动态脚本引擎组件,它具有高效、灵活、安全、精简等特点,在电商业务场景中有很强的影响力。它也有一个活跃的社区,可以得到及时的更新和支持。它还有一个良好的兼容性和文档,可以方便用户使用和学习。综上所述,该组件的健康度很高,值得推荐和使用。

参考链接:

https://github.com/alibaba/QLExpress

https://github.com/alibaba/QLExpress/releases

https://blog.csdn.net/YuYunTan/article/details/101436910

https://developer.aliyun.com/article/621206

组件许可证解读

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

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-nsqf-18wpQLEpress<=3.3.1 任意代码执行漏洞严重[3.1.7,3.3.1]暂无

同类型可替代组件

  • Groovy: Groovy是一种基于Java平台的动态脚本语言,它具有简洁、优雅、易于学习的语法,可以无缝地与Java代码和类库集成,支持多种编程范式,如面向对象、函数式、闭包等。官网:https://groovy-lang.org/
  • Aviator: Aviator是一个轻量级、高性能的表达式求值引擎,它使用Java编写,可以在任何Java项目中使用,支持基本数据类型、集合类型、运算符、函数等特性,可以用于实现复杂的业务规则。官网:https://code.google.com/archive/p/aviator/

组件SBOM

组件名称版本是否直接依赖仓库
commons-beanutils:commons-beanutils1.9.4maven
commons-lang:commons-lang2.4maven
commons-collections:commons-collections3.2.2maven
commons-logging:commons-logging1.2maven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1704692293386764288/1704692293491621888?allow=1

(0)
上一篇 2023年9月21日 上午11:45
下一篇 2023年9月21日 下午2:52

相关推荐