Build TLS key exchange inventory
Recipe ID
io.moderne.cryptography.pqc.BuildTlsKeyExchangeInventoryArtifactio.moderne.recipe:rewrite-cryptographyInventories every place a codebase decides which TLS key-exchange groups it offers, and classifies each by whether an ML-KEM hybrid group is among them. Where a repository configures named groups nowhere, each TLS-using file is reported as ready-on-upgrade rather than left silent.
Composite recipeProprietary
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe io.moderne.cryptography.pqc.BuildTlsKeyExchangeInventoryIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:rewrite-cryptography:RELEASEDefinition
This recipe runs the following recipes in order.
- Find TLS key exchange (named groups) configuration
io.moderne.cryptography.pqc.FindTlsNamedGroupsConfiguration
Data tables
Structured output this recipe can produce.
- TLS named groups inventoryTLS key-exchange group configuration detected in Java sources, configuration files and checked-in JVM-options values, classified by whether an ML-KEM hybrid group is offered. `-D` flags in shell scripts, Dockerfiles and orchestration manifests outside the scanned repository are invisible, so an absent row is not evidence that no group pin exists.
io.moderne.cryptography.pqc.table.TlsNamedGroupsInventoryTable - Cryptography inventoryEvery cryptographic finding this module detects, joined into one sparse table so that a consumer does not have to match the per-detector tables on source location. A row carries the columns of whichever detectors reported at its location and leaves the others empty; the `Finding type` column names those detectors. The per-detector tables (`Cipher inventory`, `PQC readiness`, `TLS configuration inventory`, `TLS named groups inventory`) are still emitted unchanged, and carry the same findings unjoined.
io.moderne.cryptography.table.CryptographyInventoryTable - 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