Files
2025-11-30 08:45:33 +08:00

11 KiB

1Fully Qualified Recipe NameRecipe NameDescription
2io.moderne.cryptography.FindRSAKeyGenParametersFind RSA key generation parametersFinds RSAKeyGenParameterSpec instantiations and extracts their parameter values into a data table.
3io.moderne.cryptography.FindSSLSocketParametersFind SSL socket configuration parametersFinds SSLSocket setter method invocations and extracts their parameter values into a data table.
4io.moderne.cryptography.FindSecurityModificationsFind Security class modificationsFinds invocations of java.security.Security methods that modify security configuration such as removeProvider addProvider insertProviderAt setProperty and removeProperty.
5io.moderne.cryptography.FindSecuritySetPropertiesFind `Security.setProperty(..)` calls for certain propertiesThere is a defined set of properties that should not be set using `Security.setProperty(..)` as they can lead to security vulnerabilities.
6io.moderne.hibernate.search.FindJPQLDefinitionsFind JPQL definitionsFind Java Persistence Query Language definitions in the codebase.
7org.openrewrite.analysis.java.FindNullPointerIssuesFind null pointer issuesDetects potential null pointer dereferences using path-sensitive analysis to distinguish between definite NPEs possible NPEs and safe dereferences.
8org.openrewrite.analysis.java.controlflow.FindUnusedDefinitionsFind unused variable definitionsIdentifies variable assignments whose values are never used before being overwritten.
9org.openrewrite.analysis.java.controlflow.search.FindCyclomaticComplexityFind cyclomatic complexityCalculates the cyclomatic complexity of methods and produces a data table containing the class name method name argument types complexity value and complexity threshold.
10org.openrewrite.analysis.java.controlflow.search.FindUnreachableCodeFind unreachable codeUses control flow analysis to identify statements that can never be executed.
11org.openrewrite.analysis.java.dataflow.FindDeadStoresFind dead storesIdentifies variable assignments whose values are never used before being overwritten or going out of scope.
12org.openrewrite.analysis.java.security.FindSecurityVulnerabilitiesFind security vulnerabilities using taint analysisIdentifies potential security vulnerabilities where untrusted data from sources flows to sensitive sinks without proper sanitization.
13org.openrewrite.analysis.java.datalineage.TrackDataLineageTrack data lineageTracks the flow of data from database sources (JDBC queries JPA entities) to API sinks (REST endpoints GraphQL mutations) to understand data dependencies and support compliance requirements.
14org.openrewrite.analysis.java.privacy.FindPiiExposureFind PII exposure in logs and external APIsDetects when Personally Identifiable Information (PII) is exposed through logging statements or sent to external APIs without proper sanitization. This helps prevent data leaks and ensures compliance with privacy regulations like GDPR and CCPA.
15org.openrewrite.analysis.java.security.FindCommandInjectionFind command injection vulnerabilitiesDetects when user-controlled input flows into system command execution methods like Runtime.exec() or ProcessBuilder which could allow attackers to execute arbitrary commands.
16org.openrewrite.analysis.java.security.FindLdapInjectionFind LDAP injection vulnerabilitiesFinds LDAP injection vulnerabilities by tracking tainted data flow from user input to LDAP queries.
17org.openrewrite.analysis.java.security.FindPathTraversalFind path traversal vulnerabilitiesDetects potential path traversal vulnerabilities where user input flows to file system operations without proper validation.
18org.openrewrite.analysis.java.security.FindSqlInjectionFind SQL injection vulnerabilitiesDetects potential SQL injection vulnerabilities where user input flows to SQL execution methods without proper sanitization.
19org.openrewrite.analysis.java.security.FindUnencryptedPiiStorageFind unencrypted PII storageIdentifies when personally identifiable information (PII) is stored in databases files or other persistent storage without encryption.
20org.openrewrite.analysis.java.security.FindXssVulnerabilityFind XSS vulnerabilitiesDetects potential cross-site scripting vulnerabilities where user input flows to output methods without proper sanitization.
21org.openrewrite.analysis.java.security.FindXxeVulnerabilityFind XXE vulnerabilitiesLocates XML parsers that are not configured to prevent XML External Entity (XXE) attacks.
22io.moderne.vulncheck.FixVulnCheckVulnerabilitiesUse [VulnCheck Exploit Intelligence](https://docs.vulncheck.com/products/exploit-and-vulnerability-intelligence/exploit-intelligence) to fix vulnerabilitiesThis software composition analysis (SCA) tool detects and upgrades dependencies with publicly disclosed vulnerabilities. This recipe both generates a report of vulnerable dependencies and upgrades to newer versions with fixes. This recipe by default only upgrades to the latest **patch** version. If a minor or major upgrade is required to reach the fixed version this can be controlled using the `maximumUpgradeDelta` option. Vulnerability information comes from VulnCheck Vulnerability Intelligence. The recipe has an option to limit fixes to only those vulnerabilities that have evidence of exploitation at various levels of severity.
23org.openrewrite.FindCollidingSourceFilesFind colliding source filesFinds source files which share a path with another source file. There should always be exactly one source file per path within a repository. This is a diagnostic for finding problems in OpenRewrite parsers/build plugins.
24org.openrewrite.FindDeserializationErrorsFind deserialization errorsProduces a data table collecting all deserialization errors of serialized LSTs.
25org.openrewrite.FindLstProvenanceFind LST provenanceProduces a data table showing what versions of OpenRewrite/Moderne tooling was used to produce a given LST.
26org.openrewrite.FindParseFailuresFind source files with `ParseExceptionResult` markersThis recipe explores parse failures after an LST is produced for classifying the types of failures that can occur and prioritizing fixes according to the most common problems.
27org.openrewrite.FindQuarksFind instances of type `Quark``Quark` source files are pointers to the existence of a file without capturing any of the contents of the file.
28org.openrewrite.FindSourceFilesFind filesFind files by source path. Paths are always interpreted as relative to the repository root.
29org.openrewrite.search.FindBuildMetadataFind build metadataFind source files with matching build metadata.
30org.openrewrite.search.FindCommittersFind committers on repositoriesList the committers on a repository.
31org.openrewrite.search.FindParseToPrintInequalityFind parse to print inequalityOpenRewrite `Parser` implementations should produce `SourceFile` objects whose `printAll()` method should be byte-for-byte equivalent with the original source file. When this isn't true recipes can still run on the `SourceFile` and even produce diffs but the diffs would fail to apply as a patch to the original source file. Most `Parser` use `Parser#requirePrintEqualsInput` to produce a `ParseError` when they fail to produce a `SourceFile` that is print idempotent.
32org.openrewrite.search.RepositoryContainsFileRepository contains fileIntended to be used primarily as a precondition for other recipes this recipe checks if a repository contains a specific file or files matching a pattern. If present all files in the repository are marked with a `SearchResult` marker. If you want to get only the matching file as a search result use `FindSourceFiles` instead.
33org.openrewrite.text.FindFind textTextual search optionally using Regular Expression (regex) to query.
34org.openrewrite.text.FindAndReplaceFind and replaceTextual find and replace optionally interpreting the search query as a Regular Expression (regex). When operating on source files that are language-specific Lossless Semantic Tree such as Java or XML this operation converts the source file to plain text for the rest of the recipe run. So if you are combining this recipe with language-specific recipes in a single recipe run put all the language-specific recipes before this recipe.
35org.openrewrite.gradle.search.FindDependencyFind Gradle dependencyFinds dependencies declared in gradle build files. See the [reference](https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph) on Gradle configurations or the diagram below for a description of what configuration to use. A project's compile and runtime classpath is based on these configurations. <img alt="Gradle compile classpath" src="https://docs.gradle.org/current/userguide/img/java-library-ignore-deprecated-main.png" width="200px"/> A project's test classpath is based on these configurations. <img alt="Gradle test classpath" src="https://docs.gradle.org/current/userguide/img/java-library-ignore-deprecated-test.png" width="200px"/>.
36org.openrewrite.gradle.search.FindDependencyHandlerFind Gradle `dependencies` blocksFind the dependency handler containing any number of dependency definitions.
37org.openrewrite.gradle.search.FindGradleProjectFind Gradle projectsGradle projects are those with `build.gradle` or `build.gradle.kts` files.
38org.openrewrite.gradle.search.FindGradleWrapperFind Gradle wrappersFind Gradle wrappers.
39org.openrewrite.gradle.search.FindJVMTestSuitesFind Gradle JVMTestSuite plugin configurationFind Gradle JVMTestSuite plugin configurations and produce a data table.
40org.openrewrite.gradle.search.FindPluginsFind Gradle pluginFind a Gradle plugin by id and/or class name. For best results both should be specified as one cannot automatically be used to infer the other.
41org.openrewrite.gradle.search.FindRepositoryFind Gradle repositoryFind a Gradle repository by url.
42org.openrewrite.hcl.search.FindAndReplaceLiteralFind and replace literals in HCL filesFind and replace literal values in HCL files. This recipe parses the source files on which it runs as HCL meaning you can execute HCL language-specific recipes before and after this recipe in a single recipe run.
43org.openrewrite.hcl.search.FindContentFind contentFind HCL content by path.
44org.openrewrite.java.search.FindAnnotationsFind annotationsFind all annotations matching the annotation pattern.
45org.openrewrite.java.search.FindClassHierarchyFind class hierarchyDiscovers all class declarations within a project recording which files they appear in their superclasses and interfaces. That information is then recorded in a data table.
46org.openrewrite.java.search.FindCommentsFind within comments and literalsFind regular expression matches within comments and literals. "Literals" includes string literals character literals and numeric literals.
47org.openrewrite.java.search.FindCompileErrorsFind compile errorsCompile errors result in a particular LST structure that can be searched for.
48org.openrewrite.java.search.FindDeprecatedClassesFind uses of deprecated classesFind uses of deprecated classes optionally ignoring those classes that are inside deprecated scopes.
49org.openrewrite.java.search.FindDeprecatedFieldsFind uses of deprecated fieldsFind uses of deprecated fields in any API.
50org.openrewrite.java.search.FindDeprecatedMethodsFind uses of deprecated methodsFind uses of deprecated methods in any API.
51org.openrewrite.java.search.FindDeprecatedUsesFind uses of deprecated classes methods and fieldsFind deprecated uses of methods fields and types. Optionally ignore those classes that are inside deprecated scopes.