> For the complete documentation index, see [llms.txt](https://help.aikido.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.aikido.dev/~/revisions/SGhJfnCIOpxRjx1gC1k5/aikido-autofix/autofix-for-open-source-deps-extended-lifecycle-support.md).

# Autofix for Open Source Deps: Extended Lifetime Support

Updating to the latest version of an open source dependency can be a difficult task as breaking changes require application changes. When updating to the latest version of a package is not a viable option, you can stay secure by using hardened libraries or Aikido's Extended Lifetime Support (ELS).

Aikido offers a catalog of packages that solve security issues in versions of packages that are no longer maintained. These packages are drop-in replacements and don't require application changes.

For example the 1.x versions of log4j have been out of maintenance since 2015, but are still used in many projects. Updating these projects to log4j 2.x is infeasible in many cases. 1.2.17 is the latest 1.x version of log4j, it contains the following critical CVEs:

* [CVE-2019-17571](https://nvd.nist.gov/vuln/detail/cve-2019-17571) - remote code execution
* &#x20;[CVE-2020-9493](https://nvd.nist.gov/vuln/detail/cve-2020-9493) - malicious code execution
* [CVE-2022-23305](https://nvd.nist.gov/vuln/detail/cve-2022-23305) - SQL injection

Our ELS version of log4j 1.2.17 fixes these critical CVEs without introducing breaking changes.

The ELS packages are created by [TuxCare](https://tuxcare.com/). TuxCare specializes in End-Of-Life security and ports patches to unmaintained versions of packages.

## AutoFix for Open Source Dependencies

Aikido AutoFix for open source dependencies will automatically propose an upgrade to an ELS version where available. This is visible on the [AutoFix dependency overview](https://app.aikido.dev/issues/fix) screen. The Java ELS packages are hosted on `maven.aikido.io`.

<figure><img src="/files/R0b4JcsAzLPkpnAE1p2Q" alt=""><figcaption></figcaption></figure>

In order to then upgrade to the ELS version, you need to select this option in the AutoFix creation modal.

<figure><img src="/files/JUqlYP6mP2BZqws9qHJp" alt=""><figcaption></figcaption></figure>

## Availability

ELS packages are currently available for Java, JavaScript and Python. Supported packages are listed below

<details>

<summary>JavaScript </summary>

angular\
bootstrap\
braces\
copy-anything\
crypto-js\
express-jwt\
form-data\
formidable\
i18next\
ip\
jsonpath-plus\
jsonwebtoken\
jspdf\
lodash\
lodash.template\
marked\
mongodb\
multer\
mysql2\
picocolors\
quill\
request\
rollup\
sentry-browser\
ssr-window\
tough-cookie\
undici\
vue-template-compiler\
webpack

</details>

<details>

<summary>Java</summary>

com.google.guava:guava\
com.google.protobuf:protobuf-java\
com.squareup.okio:okio\
commons-httpclient:commons-httpclient\
dom4j:dom4j\
log4j:log4j\
org.apache.hadoop:hadoop-common\
org.apache.hive:hive-exec\
org.apache.thrift:libthrift\
org.apache.tomcat:tomcat-catalina\
org.apache.velocity:velocity\
org.codehaus.jackson:jackson-mapper-asl\
org.springframework.boot:spring-boot-starter-actuator\
org.springframework:spring-webmvc\
org.yaml:snakeyaml

</details>

<details>

<summary>Python</summary>

anyio\
cryptography\
django\
flask\
future\
gunicorn\
idna\
jinja2\
pillow\
pymongo\
setuptools\
statsmodels\
waitress\
werkzeug

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.aikido.dev/~/revisions/SGhJfnCIOpxRjx1gC1k5/aikido-autofix/autofix-for-open-source-deps-extended-lifecycle-support.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
