Apache Log4j 2 VS aegis4j

Compare Apache Log4j 2 vs aegis4j and see what are their differences.

Apache Log4j 2

Apache Log4j 2 is a versatile, feature-rich, efficient logging API and backend for Java. (by apache)

aegis4j

A Java agent that disables platform features you don't use, before an attacker uses them against you. (by gredler)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Apache Log4j 2 aegis4j
108 8
3,266 14
0.9% -
9.9 4.5
1 day ago over 2 years ago
Java Java
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Apache Log4j 2

Posts with mentions or reviews of Apache Log4j 2. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-05.

aegis4j

Posts with mentions or reviews of aegis4j. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-04.
  • What's new in Java 18 for us, developers ?
    2 projects | /r/java | 4 Jan 2022
    The guys at Oracle have made this point on this forum quite often, but it never really hit home for me personally until the recent log4j vulnerability made me more interested in the topic and the available mitigation options (see https://github.com/gredler/aegis4j/).
  • CVE-2021-44832: New Log4j 2 vulnerability
    1 project | news.ycombinator.com | 28 Dec 2021
    If you've been impacted by these log4j vulnerabilities, have a look at aegis4j, a Java agent that completely disables platform features you don't use, before an attacker uses them against you (including e.g. JNDI and Java serialization).

    https://github.com/gredler/aegis4j/

  • Aegis4j: Avoid the Next Log4Shell Vulnerability
    1 project | news.ycombinator.com | 16 Dec 2021
  • Log4j MEGATHREAD
    4 projects | /r/java | 16 Dec 2021
    Yep, this is why strategically patching InitialContext when the class is initially loaded will completely disable JNDI (and mitigate future JNDI-based exploits).
  • aegis4j: Avoid the NEXT Log4Shell vulnerability!
    1 project | /r/java | 16 Dec 2021
  • Log4j 2.15.0 – Previously suggested mitigations may not be enough
    7 projects | news.ycombinator.com | 16 Dec 2021
    The recent log4j vulnerability really piqued my interest, and I've spent the last few evenings working on a proof of concept Java agent that could mitigate similar vulnerabilities in the future, for applications that are able to completely forego platform features like JNDI, serialization or native process execution.

    Link to the project: https://github.com/gredler/aegis4j

    It's not a lot of code, but it uses parts of the platform that I think are a bit unusual for most devs, so it was quite interesting to implement. Happy to discuss details, ideas, and concerns.

    One idea for a possible improvement is to make the feature block list adaptive, i.e. watch what the application uses in the first few minutes of execution, and then shut down all unused "dangerous" features for the remaining lifetime of the VM. Not sure how reliable this would be though, especially for services which have background jobs that might only run once a day.

What are some alternatives?

When comparing Apache Log4j 2 and aegis4j you can also consider the following projects:

Logback - The reliable, generic, fast and flexible logging framework for Java.

log4j-affected-db - A community sourced list of log4j-affected software

reload4j - reload4j is a drop-in replacement for log4j 1.2.17

logstash-patterns-core

tinylog - tinylog is a lightweight logging framework for Java, Kotlin, Scala, and Android

jabel - Jabel - unlock Javac 9+ syntax when targeting Java 8

Logstash - Logstash - transport and process your logs, events, or other data

log4shell-tools - Tool that runs a test to check whether one of your applications is affected by the recent vulnerabilities in log4j: CVE-2021-44228 and CVE-2021-45046

SLF4J - Simple Logging Facade for Java

lunasec - LunaSec - Dependency Security Scanner that automatically notifies you about vulnerabilities like Log4Shell or node-ipc in your Pull Requests and Builds. Protect yourself in 30 seconds with the LunaTrace GitHub App: https://github.com/marketplace/lunatrace-by-lunasec/

kibana - Your window into the Elastic Stack

ysoserial - A proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.