Skip to content

Add Mono API MaD java - #23088

Open
knewbury01 wants to merge 3 commits into
github:mainfrom
knewbury01:knewbury01/add-mono-api-mad-java
Open

knewbury01 wants to merge 3 commits into
github:mainfrom
knewbury01:knewbury01/add-mono-api-mad-java

Conversation

@knewbury01

Copy link
Copy Markdown
Contributor

No description provided.

@knewbury01
knewbury01 requested a review from a team as a code owner November 10, 2026 19:52
Copilot AI auto review requested due to automatic review settings November 10, 2026 19:52
@github-actions github-actions Bot added the Java label Nov 10, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Critical gaps in Mono factory and mapper summaries prevent input and callback-result taint from reaching returned elements, and current tests do not cover emitted values or chained operators.

2 open issues
What changed in this PR

Adds initial models-as-data support for Reactor’s Mono API to Java CodeQL analysis, with focused taint-flow tests and API stubs.

Changes:

  • Adds summaries for just, justOrEmpty, flatMap, map, and mapNotNull.
  • Adds positive and negative taint-flow fixtures and test configuration.
  • Adds a minimal Reactor stub and its license.
File Description
java/​ql/​test/​stubs/​reactor-core/​reactor/​core/​publisher/​Mono.java Defines the Mono APIs used by the tests.
java/​ql/​test/​stubs/​reactor-core/​LICENSE.txt Supplies the Apache 2.0 license.
java/​ql/​test/​library-tests/​frameworks/​reactor-core/​test.ql Configures taint sources, sinks, and inline assertions.
java/​ql/​test/​library-tests/​frameworks/​reactor-core/​Test.java Exercises factories and mapper callback inputs.
java/​ql/​test/​library-tests/​frameworks/​reactor-core/​test.expected Provides the expected-results artifact.
java/​ql/​test/​library-tests/​frameworks/​reactor-core/​options Adds Reactor stubs to the test classpath.
java/​ql/​lib/​ext/​reactor.core.publisher.model.json Defines Mono flow summaries for Java analysis.

Review effort: Balanced (auto)

Comment on lines +9 to +10
["reactor.core.publisher", "Mono", true, "justOrEmpty", "", "", "Argument[0]", "Argument[this]", "taint", "manual"],
["reactor.core.publisher", "Mono", true, "just", "", "", "Argument[0]", "Argument[this]", "taint", "manual"],
Comment on lines +11 to +13
["reactor.core.publisher", "Mono", true, "flatMap", "", "", "Argument[this].Element", "Argument[0].Parameter[0]", "taint", "manual"],
["reactor.core.publisher", "Mono", true, "map", "", "", "Argument[this].Element", "Argument[0].Parameter[0]", "taint", "manual"],
["reactor.core.publisher", "Mono", true, "mapNotNull", "", "", "Argument[this].Element", "Argument[0].Parameter[0]", "taint", "manual"]
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants