Remediate OWASP A03:2025 Software supply chain failures
Recipe ID
org.openrewrite.java.security.Owasp2025A03Artifactorg.openrewrite.recipe:rewrite-java-securityOWASP A03:2025 describes failures related to the software supply chain, including vulnerable and outdated components. Expanded from A06:2021 Vulnerable and Outdated Components.
Composite recipeCWE-477securityCWE-1104CWE-1395Proprietary
Add to your build
Get a download tokenThis recipe is Moderne licensed, so the token must belong to a Moderne customer. It replaces YOUR_DOWNLOAD_TOKEN below.
~/.gradle/gradle.properties
codeGenomeUsername=you@example.com
codeGenomeToken=YOUR_DOWNLOAD_TOKEN
build.gradle.kts
plugins {
id("org.openrewrite.rewrite") version("latest.release")
}
rewrite {
activeRecipe("org.openrewrite.java.security.Owasp2025A03")
}
repositories {
mavenCentral()
maven {
url = uri("https://artifacts.codegenomeproject.org/maven")
credentials {
username = providers.gradleProperty("codeGenomeUsername").get()
password = providers.gradleProperty("codeGenomeToken").get()
}
}
}
dependencies {
rewrite("org.openrewrite.recipe:rewrite-java-security:3.41.0")
}
Then run
./gradlew rewriteRunUsage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe org.openrewrite.java.security.Owasp2025A03If the recipe isn’t available locally, install it with:
mod config recipes jar install org.openrewrite.recipe:rewrite-java-security:RELEASEDefinition
This recipe runs the following recipes in order.
- Remediate OWASP A06:2021 Vulnerable and outdated components
org.openrewrite.java.security.OwaspA06 - Find end-of-life dependencies (defaults)
org.openrewrite.dependencies.endoflife.FindEndOfLifeDependenciesDefault - Find uses of deprecated classes, methods, and fields
org.openrewrite.java.search.FindDeprecatedUses
Data tables
Structured output this recipe can produce.
- Maven metadata failuresAttempts to resolve maven metadata that failed.
org.openrewrite.maven.table.MavenMetadataFailures - Vulnerability reportA vulnerability report that includes detailed information about the affected artifact and the corresponding CVEs.
org.openrewrite.java.dependencies.table.VulnerabilityReport - Dependency origins reportA report that maps dependencies to their originating root node represented as dependency graph. The information can be used to understand which direct dependencies are responsible for bringing in specific transitive dependencies.
org.openrewrite.java.dependencies.table.DependencyOriginsReport - End-of-life dependenciesMaven and Gradle dependencies whose upstream release is end-of-life or scheduled for end-of-life soon, as reported by https://endoflife.date.
org.openrewrite.java.dependencies.endoflife.table.EndOfLifeDependencyReport - End-of-life NuGet dependenciesNuGet packages whose upstream release is end-of-life or scheduled for end-of-life soon, as reported by https://endoflife.date.
org.openrewrite.csharp.dependencies.table.EndOfLifeDependencyReport - End-of-life npm dependenciesnpm dependencies whose upstream release is end-of-life or scheduled for end-of-life soon, as reported by https://endoflife.date.
org.openrewrite.node.dependencies.table.EndOfLifeDependencyReport - Method callsThe text of matching method invocations.
org.openrewrite.java.table.MethodCalls - Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats