当前位置: 首页 > 知识库问答 >
问题:

Log4j2 漏洞和龙目岛注释@log4j2

阎承
2023-03-14

我们使用spring boot 2.1.5和starter parent作为pom依赖项。

Spring启动使用默认的日志回馈进行日志记录,我们尚未显式切换到Log4j2或更改任何配置。下面是我们的项目依赖关系树。

我们的项目中有很多lombok@log4j2注释。但是,我们在依赖关系树中发现我们没有任何log4j2-core jar依赖项(发现它容易受到最近log4j问题的影响)。

@Log4j2
@Service
@DependsOn("applicationDependencyCheck")

lombok@log4j2不依赖于log4j2-core.jar.假设这将显示在maven依赖树中是正确的还是我们错过了什么。

这是我们的龙目岛词条-

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <optional>true</optional>
</dependency>

请分享一些见解。

谢谢

共有2个答案

童花蜂
2023-03-14

当然,@Mariusz W.的答案是最好的。

尽管如此,我注意到你的打印显示依赖于logback-core-1.2.3 [1],其中有CVE-2021-42550漏洞[2]。

注意那个。

穆阳嘉
2023-03-14

在龙目岛文档中,您可以在此处找到它 https://projectlombok.org/api/lombok/extern/log4j/Log4j2.html

@Log4j2公共类LogExample { }

将生成:

公共类LogExample{private static final org.apache.logging.log4j.Logger log=org.apachi.loging.log4j.LogManager.getLogger(LogExample.class);}

这两个类都存在于log4j API jar中

  • https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/LogManager.html
  • https://logging.apache.org/log4j/2.x/log4j-api/apidocs/org/apache/logging/log4j/Logger.html

此处未列出任何已知漏洞https://mvnrepository . com/artifact/org . Apache . logging . log4j/log4j-API

如这里所述 https://logging.apache.org/log4j/2.x/log4j-api/index.html log4j api只是一个接口。

我认为在这种情况下,您的代码不依赖于log4j核心。您可以仔细检查构建的输出(例如maven /target文件夹,war文件等)

 类似资料:
  • 问题内容: 我用我的代码自动生成和代码。我想添加其他个人并使用它。 例如,我想添加一个方法来验证列表中键的存在: 创建注释后,我将只需要执行以下操作: 问题答案: 一般注意事项 如果您已经在使用Lombok,则可以添加自定义Lombok转换批注和处理程序。 使用和定义存在注释 创建一个处理程序 public class HandleExists extends JavacAnnotationHan

  • 我一直在尝试在我们的Spring应用程序中处理log4j2的安全性以传递Veracode。尤其是CWE 117-日志注入漏洞。我们有一个带有spring-boot-starter-log4j2的Spring应用程序。 我尝试配置log4j2模式: 但它不起作用。我还尝试了这样的方法: 或 我仍然得到veracode结果: 我们不想使用ESAPI或任何日志外观,我们不想更改代码中的所有日志行,有数千

  • 问题内容: 创建类的首选方法是 一成不变的 可以使用Jackson进行序列化/反序列化 易于阅读且样本量低 最好是,我希望这样的工作: 然后将所有字段都设为。但是,它甚至不编译(我不确定为什么)。使用 将编译但仅产生 问题答案: 添加 ConstructorProperties : 用以下行在适当的位置创建文件: 向您的班级添加lombok 批注以使其不可变 然后,Jackson的序列化和反序列化

  • 我试着在IntelliJ上使用Lombok和Maven和VRaptor,但它不起作用。 我已经在stackoverflow中阅读了一些信息,但没有解决我的问题,我已经在Intellij中启用了注释处理器,但仍然一无所获。 我也试图从命令行(Windows)编译它,但没有成功。 我还尝试在没有maven的情况下创建另一个项目,添加库,创建一些用于测试的类,它可以完美地工作、编译和运行。 有什么帮助吗

  • 我在Intellij遇到了一个奇怪的问题。我正在使用Lombok(1.18.2)、IntelliJ(2018.2.2)和JUnit 5在gradle 4多模块项目中。 我花了好几个小时来复制这个。 > 运行所有具有覆盖率测试用例。 移除龙目镜并在此之后生成吸气剂和定型剂也没有效果。 尝试了一切来解决这个问题(启用注释处理器、Lombok插件、清理构建),但没有成功。 编辑1: Root build

  • 我在gradle项目中使用lombok,希望创建一个jar文件,但每次我执行jar任务(无论是在控制台还是eclipse ide中触发)时,我都会发现错误,我的lombok导入在我使用lombok注释的类中找不到。输出示例: 搜索了一段时间后,我发现有一个适用于gradle和lombok的插件,但在使用较新的gradle版本编译时并不真正需要。我的gradle版本是3.4.1和lombok 1.6