
현재 클래스패스에서 log4j를 식별하는 Java 헬퍼
현재 실행 중인 JVM에서 log4j를 찾는 유틸리티 (CVE-2021-44228 (Log4Shell)).
이 기능은 플러그인이 자체 jar를 도입할 수 있는 시스템에 유용합니다. 따라서 누군가 위험한 버전의 log4j를 가져왔는지 확인할 수 있습니다.
원하는 클래스 로더로 Log4jRecognizer를 인스턴스화하고 해당 메서드를 사용하기만 하면 됩니다. 예를 들어:
import com.github.scitotec.log4jrecognizer.Log4jRecognizer;
public class Main {
public static void main(String[] args) {
var rec = new Log4jRecognizer(Main.class.getClassLoader());
System.out.println(rec.hasVersion1());
System.out.println(rec.hasVersion2());
System.out.println(rec.version());
}
}
log4j-recognizer를 의존성으로 선언하세요. 이는 빌드 도구에 따라 다릅니다.
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.github.scitotec</groupId>
<artifactId>log4j-recognizer</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>
repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.scitotec:log4j-recognizer:1.0.2'
}