Skip to content

Add CodeQL Quantum models and queries (Java, C++) to experimental #19469

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 133 commits into
base: main
Choose a base branch
from

Conversation

nicolaswill
Copy link
Contributor

@nicolaswill nicolaswill commented May 8, 2025

This pull request introduces libraries and queries for inventorying and analyzing cryptography through a shared language-independent model library, language-specific implementations, and library-specific models.

There is currently modelling for the Java Cryptography Architecture (JCA) and OpenSSL (C++), with DGML-based inventory graph output for both currently supported languages. Our Java implementation further provides a set of analysis queries and inventory subset ("slice") output queries.

nicolaswill and others added 30 commits January 23, 2025 12:46
Concepts for elliptic curves and misc. updates.
Move language-agnostic model to shared library
…nwrap and doFinal calls. Corrected pathing for init tracing to detect what mode is being set along a path. Added support for tracing the init operation mode argument to source. Since this involved creating an Operation Mode, changes were also made to make cipher block modes (CBC) more explicit (previously just called mode, but now that term is used for various purposes).
@Copilot Copilot AI review requested due to automatic review settings May 8, 2025 00:48
@nicolaswill nicolaswill requested review from a team as code owners May 8, 2025 00:48
Copilot

This comment was marked as off-topic.

Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

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

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@nicolaswill
Copy link
Contributor Author

Note for review: the changes not targeting experimental/quantum directories are added dependencies to codeql/cpp-all and codeql/java-all to the new shared (language-independent) experimental pack, which currently only contains an experimental/quantum directory for Model.qll within it.

@nicolaswill nicolaswill requested a review from Copilot May 8, 2025 01:01
Copilot

This comment was marked as off-topic.

@nicolaswill nicolaswill added the no-change-note-required This PR does not need a change note label May 8, 2025
@@ -0,0 +1,7 @@
name: codeql/experimental
Copy link
Contributor

Choose a reason for hiding this comment

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

If a new qlpack is added, I think it needs to be added to the list here. Do you have access to the internal repo?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C++ Java no-change-note-required This PR does not need a change note
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants