Paolo Tranquilli
56ada6b140
Merge pull request #20194 from github/redsun82/java-fix-tests
...
Java: use java 17 in `no-wrapper` tests
2025-08-08 17:54:45 +02:00
Paolo Tranquilli
c7f54f6fda
Java: use java 17 in no-wrapper tests
...
Gradle 9 requires Java 17.
(cherry picked from commit 72843b56e8 )
2025-08-08 17:52:38 +02:00
Paolo Tranquilli
4977839665
Merge pull request #19987 from github/redsun82/java-fix-tests
...
Merge pull request #19956 from github/redsun82/java-fix-tests
2025-07-07 15:47:56 +02:00
Paolo Tranquilli
5e4ce5b418
Merge pull request #19956 from github/redsun82/java-fix-tests
...
Java: disable failing maven fetches expectations for now
(cherry picked from commit 33a2801bb7 )
2025-07-07 10:06:27 +02:00
Paolo Tranquilli
246d769dc9
Merge pull request #19821 from github/redsun82/backport-lock-fixes
...
Rust: backport `Cargo.lock` fixes for CI
2025-06-19 17:35:02 +02:00
Paolo Tranquilli
3be417396d
Rust: do not remove Cargo.lock file when running QL tests
...
(cherry picked from commit 71b9263470 )
2025-06-19 16:39:16 +02:00
Paolo Tranquilli
cbc8a489bb
Rust: add Cargo.lock files to all tests with cargo check
...
(cherry picked from commit 55096a31f2 )
2025-06-19 16:39:15 +02:00
Paolo Tranquilli
f5ea84e684
Rust: fix crate graph test
...
(cherry picked from commit 6f25d7e35e )
2025-06-19 16:39:15 +02:00
Henry Mercer
6b280efd29
Merge pull request #19602 from github/post-release-prep/codeql-cli-2.21.4
...
Post-release preparation for codeql-cli-2.21.4
2025-05-27 19:56:09 +01:00
github-actions[bot]
d2c6875eac
Post-release preparation for codeql-cli-2.21.4
2025-05-27 18:16:21 +00:00
Henry Mercer
d72c766a49
Merge pull request #19601 from github/release-prep/2.21.4
...
Release preparation for version 2.21.4
2025-05-27 18:37:24 +01:00
github-actions[bot]
bfb91e95e3
Release preparation for version 2.21.4
2025-05-27 17:22:05 +00:00
Geoffrey White
5df50c0b14
Merge pull request #19470 from geoffw0/moresensitive
...
Rust: Recognize more sensitive data sources
2025-05-27 17:34:58 +01:00
Jeroen Ketema
596553233f
Merge pull request #19599 from jketema/jketema/win
...
C++: Address comments from earlier Windows MaD PRs
2025-05-27 17:13:31 +02:00
Jeroen Ketema
ae266546a6
C++: Minor test clean up
2025-05-27 16:57:23 +02:00
Jeroen Ketema
ae67948a67
C++: Fix formatting in model files
2025-05-27 16:55:26 +02:00
Michael B. Gale
8c39f617df
Merge pull request #19598 from github/mbg/go/handle-empty-strings-in-proxy-vars
...
Go: Explicitly check whether proxy env vars are empty
2025-05-27 15:32:40 +01:00
Mathias Vorreiter Pedersen
e826b838b4
Merge pull request #19595 from MathiasVP/add-readfileex-flow-summary
...
C++: Add missing `ReadFileEx` flow summary
2025-05-27 15:22:06 +01:00
Michael B. Gale
c236084043
Go: Explicitly check whether proxy env vars are empty
2025-05-27 14:58:18 +01:00
Geoffrey White
a412ad2775
Merge pull request #19529 from geoffw0/pin
...
Rust: Model Pin
2025-05-27 14:03:08 +01:00
Arthur Baars
d018c02a78
Merge pull request #19583 from github/aibaars/lib-as-source
...
Rust: add option to extract dependencies as source files
2025-05-27 14:10:58 +02:00
Michael Nebel
ef1ddd04ee
Merge pull request #19520 from michaelnebel/csharp/missedreadonly
...
C#: Improve `cs/missed-readonly-modifier` and to code-quality suite.
2025-05-27 13:50:50 +02:00
Mathias Vorreiter Pedersen
76c2d24a7e
C++: Add summary for ReadFileEx and accept test changes.
2025-05-27 12:41:22 +01:00
Mathias Vorreiter Pedersen
c1ee56e4c1
C++: Add ReadFileEx tests with missing flow.
2025-05-27 12:41:20 +01:00
Mathias Vorreiter Pedersen
8595bd84a3
Merge pull request #19591 from MathiasVP/add-more-win32-flow-sources-2
...
C++: Add more Win32 flow sources
2025-05-27 12:38:19 +01:00
Simon Friis Vindum
254eabf44a
Merge pull request #19557 from paldepind/rust/type-mention-consistency
...
Rust: Only include relevant AST nodes in TypeMention
2025-05-27 13:34:48 +02:00
Arthur Baars
ac724d2671
Update rust/extractor/src/main.rs
...
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com >
2025-05-27 13:08:20 +02:00
Geoffrey White
257d94905d
Merge branch 'main' into pin
2025-05-27 11:46:07 +01:00
Mathias Vorreiter Pedersen
a05ddca9c9
Update cpp/ql/lib/ext/Windows.model.yml
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-05-27 11:45:35 +01:00
Mathias Vorreiter Pedersen
80229644b8
Update cpp/ql/lib/ext/Windows.model.yml
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-05-27 11:45:27 +01:00
Mathias Vorreiter Pedersen
e406f27bb3
Update cpp/ql/lib/ext/Windows.model.yml
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-05-27 11:45:18 +01:00
Simon Friis Vindum
52280625ee
Rust: Add type inference inconsistency counts to the stats summary
2025-05-27 12:43:34 +02:00
Mathias Vorreiter Pedersen
fd9adc43c2
C++: Add change note.
2025-05-27 11:38:02 +01:00
Mathias Vorreiter Pedersen
5d8bb1b5b0
C++: Add more Windows sources.
2025-05-27 11:38:00 +01:00
Jeroen Ketema
b071a462f3
Merge pull request #19563 from jketema/jketema/win-flow
...
C++: Add Windows command line and environment models
2025-05-27 12:32:51 +02:00
Jeroen Ketema
4c9c8bc37f
Merge pull request #19576 from jketema/swift-6.1.1
...
Swift: Update to Swift 6.1.1
2025-05-27 11:21:56 +02:00
Napalys Klicius
99ab144bde
Merge pull request #19578 from Napalys/js/security_quality_suite
...
JS: Explicitly Filter Quality Queries for Inclusion in `Security-and-Quality`
2025-05-27 11:00:28 +02:00
Jeroen Ketema
f4636b9ef2
Swift: Update Swift resources
2025-05-27 10:56:52 +02:00
Jeroen Ketema
329d451d4d
Swift: Add change note
2025-05-27 10:53:57 +02:00
Jeroen Ketema
0f2d2b7697
Merge pull request #19582 from jketema/jketema/swift-type
...
Swift: Fix type string representation
2025-05-27 10:44:41 +02:00
Geoffrey White
c97173735c
Merge pull request #19562 from geoffw0/operations3
...
Rust: Add more Operation subclasses
2025-05-27 09:26:35 +01:00
Geoffrey White
1e64f50c3c
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-27 08:51:00 +01:00
Napalys Klicius
1f6b3ad929
Update javascript/ql/src/codeql-suites/javascript-security-and-quality.qls
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-05-27 09:38:24 +02:00
Simon Friis Vindum
ba4950fb89
Rust: Accept test changes
2025-05-27 09:35:40 +02:00
Simon Friis Vindum
5278064407
Rust: Only include relevant AST nodes in TypeMention
2025-05-27 09:35:30 +02:00
Simon Friis Vindum
96cba8b8c2
Rust: Add inconsistency check for type mentions without a root type
2025-05-27 09:33:59 +02:00
Simon Friis Vindum
bf2cfab931
Merge pull request #19575 from paldepind/rust/function-call-method
...
Rust: Resolve function calls to traits methods
2025-05-27 09:28:36 +02:00
Paolo Tranquilli
b99b25cc9c
Merge pull request #19572 from github/redsun82/rust-macro
...
Rust: turn off macro expansion in code to be expanded by attribute macros
2025-05-27 08:29:20 +02:00
Arthur Baars
765afdbae0
Rust: add option to extract dependencies as source files
2025-05-26 18:21:35 +02:00
Jeroen Ketema
f17076e212
Swift: Update expected test results
2025-05-26 16:41:05 +02:00
Jeroen Ketema
b4d2fb45ab
Swift: Fix type string representation
2025-05-26 16:22:20 +02:00
Simon Friis Vindum
0ce06e8818
Rust: Use member predicate from path resolution
2025-05-26 15:12:33 +02:00
Paolo Tranquilli
a749cf934a
Rust: accept test changes
2025-05-26 14:15:56 +02:00
Paolo Tranquilli
add3c941a2
Merge branch 'main' into redsun82/rust-macro
2025-05-26 11:47:58 +02:00
Napalys Klicius
37024ade85
JS: Move query suite selector logic to javascript-security-and-quality.qls
2025-05-26 11:00:48 +02:00
Anders Schack-Mulligen
a519eabd4d
Merge pull request #19571 from aschackmull/rangeanalysis/guards
...
Rangeanalysis: Simplify Guards integration.
2025-05-26 10:36:22 +02:00
Jeroen Ketema
27fd7c48fa
Swift: Update macOS runner
2025-05-26 10:17:19 +02:00
Tom Hvitved
fcfe0a27aa
Merge pull request #19570 from hvitved/type-inference/simplify-type-path-repr
...
Type inference: Simplify internal representation of type paths
2025-05-26 10:05:50 +02:00
Jeroen Ketema
bb9c72f889
Swift: Update to Swift 6.1.1
2025-05-25 21:13:18 +02:00
Simon Friis Vindum
e778cbe768
Rust: Resolve function calls to traits methods
2025-05-24 10:25:46 +02:00
Simon Friis Vindum
e4d1b01361
Rust: Add type inference test with function call to trait method
2025-05-24 08:56:33 +02:00
Tom Hvitved
16690cc3cc
Merge pull request #19506 from github/aibaars/rust-extract-libs
2025-05-24 06:09:50 +02:00
Arthur Baars
5b28ff1116
Merge branch 'main' into aibaars/rust-extract-libs
2025-05-23 22:05:29 +02:00
Jeroen Ketema
10f6e1ceb8
C++: Add change note
2025-05-23 19:17:17 +02:00
Jeroen Ketema
fbc9615287
C++: Update expected test results
2025-05-23 16:03:47 +02:00
Jeroen Ketema
a77ddd7532
C++: Add Windows command line and environment models
2025-05-23 15:56:09 +02:00
Jeroen Ketema
b800040c73
C++: Add tests for various local Windows dataflow sources
2025-05-23 15:55:02 +02:00
Mathias Vorreiter Pedersen
0822ded899
Merge pull request #19569 from MathiasVP/fix-return-value-surces-in-mad
...
Shared/C++: Handle non-standard return values in MaD flow sources/sinks
2025-05-23 13:58:26 +01:00
Paolo Tranquilli
5c294617c5
Rust: update a comment
2025-05-23 14:43:18 +02:00
Anders Schack-Mulligen
5b21188e0d
C#: Sync.
2025-05-23 14:17:21 +02:00
Tom Hvitved
c8ff69af9a
Rust: Fix bad join
2025-05-23 13:57:19 +02:00
Anders Schack-Mulligen
62000319fe
Rangeanalysis: Simplify Guards integration.
2025-05-23 13:39:53 +02:00
Tom Hvitved
05288d3952
Type inference: Simplify internal representation of type paths
2025-05-23 13:36:58 +02:00
Anders Schack-Mulligen
1b2d23b23c
Merge pull request #19567 from aschackmull/ssa/branchedge
...
SSA: Distinguish between has and controls branch edge.
2025-05-23 13:35:04 +02:00
Anders Schack-Mulligen
f4fb717a34
SSA: Add change note.
2025-05-23 12:49:01 +02:00
Mathias Vorreiter Pedersen
92e0b64307
Shared: Fix QLDoc.
2025-05-23 11:43:27 +01:00
yoff
909c1bbcd9
Merge pull request #19494 from neilmendum/actions/more-minimal-permission
...
actions: add some missing permissions
2025-05-23 12:42:10 +02:00
Anders Schack-Mulligen
893cb592b5
SSA: Elaborate qldoc a bit.
2025-05-23 12:35:30 +02:00
Mathias Vorreiter Pedersen
cf39103df3
C++: Accept test changes.
2025-05-23 11:19:25 +01:00
Mathias Vorreiter Pedersen
07c4eca4d8
C++: Implement the new predicate for C++.
2025-05-23 11:16:49 +01:00
Mathias Vorreiter Pedersen
69ea19cb8b
Shared: Add a 'getReturnValueKind' predicate and use it in 'interpretOutput' and 'interpretInput' to handle non-standard return value input/output. This is needed to support C++'s ReturnValue[**] notation.
2025-05-23 11:16:29 +01:00
Paolo Tranquilli
01e22b7266
Rust: remove wrong comment
2025-05-23 12:01:50 +02:00
Paolo Tranquilli
5183d1610f
Rust: enhance macro expansion integration test
2025-05-23 12:01:33 +02:00
Paolo Tranquilli
31b48e18e6
Rust: fix BadCtorInitialization test
2025-05-23 12:01:14 +02:00
Paolo Tranquilli
abf21ba767
Rust: skip macro expansion in unexpanded attribute macro AST
2025-05-23 12:01:00 +02:00
Paolo Tranquilli
32cece3a43
Rust: adapt BadCtorInitialization.ql to attribute macro expansion
2025-05-23 12:00:42 +02:00
Arthur Baars
23b4e5042f
Rust: update expected output
2025-05-23 11:18:23 +02:00
Arthur Baars
b62d52ede0
Rust: prevent source files from being extracted in both source and library mode
...
When analysing a repository with multiple separate but related sub-projects there is a
risk that some source file are extracted in library mode as well as source mode.
To prevent this we pre-fill 'processed_files' set with all source files, even though they have
not be processed yet, but are known to be processed later..
This prevents source file to be
2025-05-23 10:35:16 +02:00
Anders Schack-Mulligen
1d30103559
SSA: Distinguish between has and controls branch edge.
2025-05-23 09:56:22 +02:00
Michael Nebel
c046a306ba
Merge pull request #19566 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-05-23 08:45:06 +02:00
Arthur Baars
df99e06c81
Rust: temporarily disable attribute macro expansion in library mode
2025-05-23 07:47:31 +02:00
github-actions[bot]
372d1c68a4
Add changed framework coverage reports
2025-05-23 00:23:59 +00:00
Nicolas Will
47ffa3cedf
Merge pull request #19553 from bdrodes/generic_constant_filtering
...
Crypto: Improve literal filtering for OpenSSL for algorithms and generic sources
2025-05-23 00:34:45 +02:00
REDMOND\brodes
007683f06a
Crypto: Simplifying constant comparisons.
2025-05-22 14:06:13 -04:00
REDMOND\brodes
28f48246fc
Crypto: Adding signature constant support, and fixing key exchange and signature mapping for ED and X elliptic curve variants.
2025-05-22 13:13:35 -04:00
REDMOND\brodes
ca1d4e270a
Crypto: Separating out an IntLiteral class so it is clearer that some constraints for generic input sources are heuristics to filter sources, and other constraints narrow the literals to a general type (ints). Also adding fixes in KnownAlgorithmConstants to classify some algorithms as key exchange and signature correctly, and added support for a signature constant wrapper.
2025-05-22 12:53:11 -04:00
Geoffrey White
9ac24c7f4f
Merge branch 'main' into moresensitive
2025-05-22 16:11:12 +01:00
Geoffrey White
09dd00089b
Merge pull request #19546 from geoffw0/logsinks
...
Rust: Models for log_err
2025-05-22 16:06:26 +01:00
REDMOND\brodes
570fdeb254
Crypto: Code Cleanup (+1 squashed commits)
...
Squashed commits:
[417734cc3c] Crypto: Fixing typo (+1 squashed commits)
Squashed commits:
[1ac3d5c7d4] Crypto: Fixing typo caused by AI auto complete.
2025-05-22 10:52:19 -04:00
REDMOND\brodes
a5b57d3694
Merge branch 'main' into generic_constant_filtering
...
# Conflicts:
# cpp/ql/lib/experimental/quantum/Language.qll
# cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/KnownAlgorithmConstants.qll
# cpp/ql/lib/experimental/quantum/OpenSSL/OpenSSL.qll
2025-05-22 10:37:10 -04:00
REDMOND\brodes
09170e598c
Crypto: Making generic literal filter more explicit that it is for filtering all constants, not just for algorithms.
2025-05-22 10:31:58 -04:00
Geoffrey White
dc280c6fb7
Rust: Add missing assignment class relations.
2025-05-22 15:23:29 +01:00
Owen Mansel-Chan
663c83d8c6
Merge pull request #19556 from owen-mc/java/pr/19512
...
Java: Fix SpringRequestMappingMethod URL Extraction #2
2025-05-22 15:08:31 +01:00
Owen Mansel-Chan
8b68d95231
Merge pull request #19560 from owen-mc/java/add-stringreplaceallwithnonregex-test
...
Java: Add test showing correct usage
2025-05-22 15:07:58 +01:00
Paolo Tranquilli
4995137145
Merge pull request #19550 from github/redsun82/git-ignore-db-upgrade-checks-files
...
DevEx: add temporary files created by some checks to `.gitignore`
2025-05-22 15:32:02 +02:00
Owen Mansel-Chan
79453cc103
Add test showing correct usage
2025-05-22 14:30:32 +01:00
Owen Mansel-Chan
476ada13db
Improve QLDoc for SpringRequestMappingMethod.getAValue
2025-05-22 14:22:28 +01:00
Michael Nebel
4c818c00f3
Merge pull request #19480 from michaelnebel/csharp/updatemodels
...
C#: Re-generate .NET 9 Runtime models.
2025-05-22 15:04:53 +02:00
Paolo Tranquilli
38c5c65927
Merge pull request #19558 from jketema/swift-clarify
...
Swift: Clarify the tag in the Swift updating doc
2025-05-22 15:01:02 +02:00
Geoffrey White
b22ce5515f
Rust: Make RefExpr an Operation.
2025-05-22 13:52:13 +01:00
Geoffrey White
b8f0e4d7e0
Rust: Use DerefExpr.
2025-05-22 13:52:08 +01:00
Geoffrey White
6c19cecb07
Rust: Add DerefExpr class.
2025-05-22 13:50:30 +01:00
Geoffrey White
fafdc1d181
Rust: Add BitwiseOperation library.
2025-05-22 13:50:29 +01:00
Geoffrey White
11480d29b7
Rust: Add ArithmeticOperation library.
2025-05-22 13:50:24 +01:00
Jeroen Ketema
b8fe1a676a
Swift: Clarify the tag in the Swift updating doc
2025-05-22 14:43:17 +02:00
Geoffrey White
d27596a0b2
Merge pull request #19535 from geoffw0/operations2
...
Rust: Add ComparisonOperation library.
2025-05-22 13:41:53 +01:00
Simon Friis Vindum
c4bbfbc865
Merge pull request #19555 from paldepind/rust/timpl
...
Rust: Remove unused impl type
2025-05-22 13:54:15 +02:00
Arthur Baars
a4788fd816
Rust: update expected output
2025-05-22 13:36:38 +02:00
Owen Mansel-Chan
45475c5c1d
Add change note
2025-05-22 12:29:31 +01:00
Owen Mansel-Chan
59d4f039d8
Deprecate SpringRequestMappingMethod.getValue (which didn't work)
2025-05-22 12:29:29 +01:00
Owen Mansel-Chan
708bbe391e
Add test for SpringRequestMappingMethod.getAValue
2025-05-22 12:22:34 +01:00
Owen Mansel-Chan
775338ebdd
Rename getArrayValue to getAValue
2025-05-22 12:21:20 +01:00
Asger F
9202a1b084
Merge pull request #19516 from asgerf/js/npm-package-name-join
...
JS: More efficient nested package naming
2025-05-22 12:46:43 +02:00
Geoffrey White
852203911a
Rust: Equal -> Equals.
2025-05-22 11:13:56 +01:00
Arthur Baars
7e5f6523c5
Rust: disable ResolvePaths when extracting library source files
2025-05-22 11:35:54 +02:00
Tom Hvitved
76737cb53a
Rust: Follow-up changes after rebase
2025-05-22 10:22:03 +02:00
Simon Friis Vindum
36f5e78a7e
Rust: Remove unused impl type
2025-05-22 10:17:44 +02:00
Arthur Baars
28be2086ad
Rust: drop too noisy log statements
2025-05-22 09:53:43 +02:00
Arthur Baars
a6cd60f20e
Rust: address comments
2025-05-22 09:53:41 +02:00
Arthur Baars
fa1a21b20d
Rust: reduce log-level of diagnostics when extracting library files
2025-05-22 09:53:39 +02:00
Arthur Baars
2a93b2a499
Rust: integration-tests: update output
2025-05-22 09:53:37 +02:00
Arthur Baars
1eaa491f39
Rust: update integration tests
2025-05-22 09:53:36 +02:00
Arthur Baars
c69aa224c7
Rust: restrict to library files
2025-05-22 09:53:34 +02:00
Tom Hvitved
9ee0d2e6cf
Rust: Exclude flow summary nodes from DataFlowStep.ql
2025-05-22 09:53:32 +02:00
Arthur Baars
f093c496d5
Rust: normalize file paths for PathResolutionConsistency.ql
2025-05-22 09:53:31 +02:00
Arthur Baars
81f0e4202a
Rust: improve ExtractionConsistency.ql
2025-05-22 09:53:29 +02:00
Arthur Baars
76da2e41f7
Rust: drop crate_graph/modules.ql test
2025-05-22 09:53:28 +02:00
Arthur Baars
e90ab7b881
Rust: fix diagnostics tests
2025-05-22 09:53:27 +02:00
Arthur Baars
457632e10e
Rust: update UncontrolledAllocationSize.expected
2025-05-22 09:53:24 +02:00
Arthur Baars
5ee7658921
Rust: update DataFlowStep.expected
2025-05-22 09:53:23 +02:00
Arthur Baars
3761099de9
Rust: drop Param::pat when extracting libraries
2025-05-22 09:53:21 +02:00
Arthur Baars
67846f1d50
fixup TestUtils
2025-05-22 09:53:18 +02:00
Arthur Baars
643059ed34
Rust: fix type-interence file paths
2025-05-22 09:53:13 +02:00
Arthur Baars
44a404571f
Rust: fixes
2025-05-22 09:53:12 +02:00
Tom Hvitved
456a4b2be8
Rust: Make dataflow/modeled pass by not using #[derive(Clone)]
2025-05-22 09:53:09 +02:00
Arthur Baars
1269a2e8a0
Rust: fix extractor-tests
2025-05-22 09:53:08 +02:00
Tom Hvitved
8996f9e61c
Rust: Follow-up work to make path resolution and type inference tests pass again
2025-05-22 09:53:03 +02:00
Arthur Baars
0bb0a70fb7
Rust: add upgrade/downgrade scripts
2025-05-22 09:52:11 +02:00
Arthur Baars
980cebeef8
Rust: fix QL code after removing Crate::getModule()
2025-05-22 09:52:08 +02:00
Arthur Baars
f05bed685d
Rust: remove module data from Crate elements
2025-05-22 09:51:34 +02:00
Arthur Baars
dd5c487628
Rust: extract source files of depdendencies
2025-05-22 09:51:33 +02:00
Michael Nebel
bae16f07ff
C#: Change note.
2025-05-22 08:42:37 +02:00
Tom Hvitved
cb59795474
Merge pull request #19134 from hvitved/rust/canonical-path
...
Rust: Compute canonical paths in QL
2025-05-22 08:38:31 +02:00
REDMOND\brodes
100045d4cb
Crypto: optimizing out the "getPossibleNidFromLiteral" predicate, and now relying on the charpred of OpenSSLAlgorithmCandidateLiteral.
2025-05-21 18:25:29 -04:00
REDMOND\brodes
a36fd2cb31
Crypto: Advanced literal filtering for OpenSSL, used for both unknown and known algorithm literals to improve dataflow performance.
2025-05-21 18:15:44 -04:00
Nicolas Will
bb4c6a316e
Merge pull request #19552 from bdrodes/ben_refactoring
...
Crypto: Misc. refactoring and code clean up.
2025-05-21 22:24:12 +02:00
REDMOND\brodes
d75fc2e8ec
Crypto: Further code cleanup
2025-05-21 15:25:04 -04:00
Ben Rodes
5370bb4e45
Merge branch 'main' into ben_refactoring
2025-05-21 15:07:53 -04:00
REDMOND\brodes
bbee2c9bdf
Crypto: Misc. refactoring and code clean up.
2025-05-21 15:06:46 -04:00
Tom Hvitved
41e4adaf5d
Merge pull request #19534 from hvitved/rust/type-inference-performance
...
Rust: Improve performance of type inference
2025-05-21 20:56:52 +02:00
Nicolas Will
9cc121f414
Merge pull request #19545 from bdrodes/missing_openssl_hash_algorithm_consumers
...
Quantum: Model missing OpenSSL EVP digest consumers
2025-05-21 19:03:06 +02:00
Nicolas Will
9637aeca5e
Merge pull request #19547 from bdrodes/openssl_pkey_alg_value_consumers
...
Quantum: Add OpenSSL PKEY algorithm value consumers.
2025-05-21 19:00:36 +02:00
Geoffrey White
3551d4488f
Merge branch 'main' into logsinks
2025-05-21 17:40:06 +01:00
Geoffrey White
355864dd93
Merge branch 'main' into pin
2025-05-21 17:24:00 +01:00
Nicolas Will
acb19627d6
Merge branch 'main' into missing_openssl_hash_algorithm_consumers
2025-05-21 18:01:28 +02:00
REDMOND\brodes
9f65cb8c4c
Comment/doc cleanup
2025-05-21 11:51:25 -04:00
Simon Friis Vindum
1828d408b7
Merge pull request #19549 from paldepind/rust/type-inference-operators
...
Rust: Type inference for non-overloadable operators
2025-05-21 17:25:44 +02:00
Nicolas Will
48e484b438
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-21 16:26:11 +02:00
Nicolas Will
7ee1bd61fb
Merge pull request #19541 from bdrodes/openssl_ec_key_gen
...
Openssl ec key gen
2025-05-21 16:13:05 +02:00
Michael Nebel
008d5b7081
C#: Update test expected output.
2025-05-21 15:20:15 +02:00
Michael Nebel
19e9197874
C#: The field access should be on this for it to be compatible with readonly.
2025-05-21 15:19:26 +02:00
Michael Nebel
8108c72c17
C#: Exclude structs from being flagged in cs/missed-readonly-modifier.
2025-05-21 15:19:25 +02:00
Michael Nebel
28cd8a827a
C#: Add more test examples for cs/missing-readonly-modifier.
2025-05-21 15:18:32 +02:00
Geoffrey White
f660bcdd25
Merge pull request #19446 from geoffw0/tokio
...
Rust: Model std::net and tokio `fs`, `io`, `net`
2025-05-21 13:42:33 +01:00
Paolo Tranquilli
be44c6ed45
DevEx: add temporary files created by some checks to .gitignore
2025-05-21 14:19:57 +02:00
Tom Hvitved
13861b81a8
Address review comments
2025-05-21 14:10:32 +02:00
Anders Schack-Mulligen
00c7bc1e70
Merge pull request #19505 from aschackmull/java/basicblock
...
Java: Use the shared BasicBlocks library.
2025-05-21 13:37:19 +02:00
Simon Friis Vindum
666726c935
Rust: Infer types for non-overloadable operators
2025-05-21 13:03:23 +02:00
Simon Friis Vindum
fafae89502
Rust: Add unit type
2025-05-21 13:03:22 +02:00
Simon Friis Vindum
0dcf15bf77
Rust: Add type inference tests for operators
2025-05-21 13:03:16 +02:00
Geoffrey White
4ebf3adfdf
Rust: Address review comments.
2025-05-21 11:02:48 +01:00
Michael Nebel
3a1cd3f734
C#: Add cs/missed-readonly-modifier to the code-quality suite.
2025-05-21 11:34:40 +02:00
Michael Nebel
5941b3081c
C#: Convert tests for cs/missed-readonly-modifier to inline expectatations.
2025-05-21 11:34:38 +02:00
Geoffrey White
053da5530f
Rust: Accept test changes after merge with main.
2025-05-21 10:17:14 +01:00
Michael Nebel
2952c0d2b4
Merge pull request #19507 from michaelnebel/removehardcodedpassword
...
Exclude some queries from query suites by lowering their precision.
2025-05-21 11:13:14 +02:00
Geoffrey White
b89560878e
Merge branch 'main' into logsinks
2025-05-21 09:22:25 +01:00
Geoffrey White
95289b8fc8
Merge branch 'main' into operations2
2025-05-21 09:18:51 +01:00
Geoffrey White
ea9531f3ea
Merge branch 'main' into tokio
2025-05-21 09:17:45 +01:00
Paolo Tranquilli
789e881254
Merge pull request #19542 from github/redsun82/rust-ignore-target-in-qltest
...
Rust: ignore `target` in `qltest`
2025-05-21 09:32:48 +02:00
Tom Hvitved
93c8507ebc
Rust: Run codegen
2025-05-21 09:22:09 +02:00
Tom Hvitved
b7f8b79f0e
Rust: Calculate canonical paths in QL
2025-05-21 09:22:07 +02:00
Anders Schack-Mulligen
10efea1075
Java/Shared: Address review comments.
2025-05-21 09:01:47 +02:00
Anders Schack-Mulligen
3fde675d08
Java: Extend qldoc.
2025-05-21 09:01:47 +02:00
Anders Schack-Mulligen
a98d93b98b
Java: Override dominates to reference the right type.
2025-05-21 09:01:46 +02:00
Anders Schack-Mulligen
6b830faa62
Java: Add change note.
2025-05-21 09:01:46 +02:00
Anders Schack-Mulligen
db01828717
Java: Deprecate redundant basic block predicates.
2025-05-21 09:01:46 +02:00
Anders Schack-Mulligen
13c5906e7e
Shared: Refactor the shared BasicBlock lib slightly and cache the successor relation.
2025-05-21 09:01:45 +02:00
Anders Schack-Mulligen
f202586f5e
Java: Use the shared BasicBlocks library.
2025-05-21 09:01:45 +02:00
REDMOND\brodes
6ffb049b75
Crypto: Adding alg value consumers for EVP PKEY for openssl. As part of the additional modeling, updated the generic dataflow source to match JCA with how "EC" is handled as a consumed algorithm for PKEY.
2025-05-20 14:18:33 -04:00
Geoffrey White
e96e39c3d3
Rust: Model log_err.
2025-05-20 17:51:15 +01:00
Geoffrey White
e5af459787
Rust: Correct what we're testing here.
2025-05-20 17:30:49 +01:00
REDMOND\brodes
d35fc64987
Crypto: Missing openssl EVP digest consumers.
2025-05-20 11:23:27 -04:00
Ben Rodes
efd9386d6e
Update cpp/ql/lib/experimental/quantum/OpenSSL/Operations/ECKeyGenOperation.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-20 10:58:19 -04:00
REDMOND\brodes
c3ed4549f4
Crypto: Changing fixed key size for the key gen operation for EC key gen to be none, and rely implicitly on the connected algorithm length. (+1 squashed commits) (+1 squashed commits)
...
Squashed commits:
[b7cd7baa42] Crypto: Modeled EC key gen for openssl. (+1 squashed commits)
2025-05-20 10:39:21 -04:00
REDMOND\brodes
b56472436e
Crypto: Alterations to OpenSSL cipher algorithms to use new fixed keysize predicate.
2025-05-20 10:36:56 -04:00
Paolo Tranquilli
799c39bc9b
Rust: ignore target in qltest
...
The target file created by `cargo check` was causing problems in
language tests.
We might want to also ignore `target` by default in the production
indexing, but I'll leave that for further discussion.
2025-05-20 16:30:05 +02:00
Geoffrey White
355e440fdf
Rust: Make the new test cases work.
2025-05-20 15:25:14 +01:00
Geoffrey White
3b40a5875a
Rust: Add test cases (generated by LLM).
2025-05-20 15:21:32 +01:00
Simon Friis Vindum
c68579bd0d
Merge pull request #19499 from paldepind/rust-bulk-model-generator
...
Rust: Bulk model generator
2025-05-20 15:30:16 +02:00
Tamás Vajk
1baf6d67fc
Merge pull request #19536 from tamasvajk/test/sdk-version
...
C#: Update SDK version in integration test
2025-05-20 14:36:34 +02:00
Tamas Vajk
72730368f6
Update SDK version in integration test
2025-05-20 13:47:12 +02:00
Geoffrey White
bfb15cd88f
Rust: Accept changes to other tests.
2025-05-20 11:13:00 +01:00
Geoffrey White
204260e244
Rust: Uncomment calls to test functions.
2025-05-20 10:59:23 +01:00
Geoffrey White
bd004abeae
Rust: Remove redundant import.
2025-05-20 10:35:41 +01:00
Geoffrey White
0feade467d
Update rust/ql/lib/codeql/rust/elements/ComparisonOperation.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-20 10:35:02 +01:00
Geoffrey White
2b65eebbc8
Rust: QLDoc.
2025-05-20 10:33:42 +01:00
Geoffrey White
ca1437adf1
Rust: Move the getGreaterOperand/getLesserOperand predicates into RelationalOperation.
2025-05-20 10:19:11 +01:00
Geoffrey White
bc4b69bb93
Rust: Add ComparisonOperation library.
2025-05-20 10:07:48 +01:00
Tom Hvitved
3fa4ea4da3
Rust: Improve performance of type inference
2025-05-20 10:23:18 +02:00
Paolo Tranquilli
860b3d76a8
Merge pull request #19525 from github/redsun82/go-win
...
Go: move to standard windows runner
2025-05-20 10:07:56 +02:00
Simon Friis Vindum
5f524ef39f
Merge pull request #19372 from paldepind/rust-ti-implementing-type-method
...
Rust: Support non-universal `impl` blocks
2025-05-20 10:03:55 +02:00
Simon Friis Vindum
eb5d4efb26
Merge branch 'main' into rust-ti-implementing-type-method
2025-05-20 09:53:51 +02:00
Simon Friis Vindum
98c6783ed9
Rust: Rename predicate and inline predicate only used once
2025-05-20 09:20:35 +02:00
Jon Janego
9d65b5f85c
Merge pull request #19531 from github/changedocs-2.21.3
...
Changenotes for 2.21.3
2025-05-19 19:00:47 -05:00
Jon Janego
7570f503ce
Escaping more problematic asterisks
2025-05-19 17:06:29 -05:00
Jon Janego
e5efe83243
Fixing upstream backticks around problematic characters so that the RST generator doesn't choke on asterisks
2025-05-19 17:03:23 -05:00
Jon Janego
759ad8adc1
Fixing Go 1.24 release accuracy. It went supported in 2.20.5 and docs were a late commit so this fixes it upstream.
2025-05-19 16:53:05 -05:00
Jon Janego
b9841dccfb
Fixing more upstream typos
2025-05-19 16:45:08 -05:00
Jon Janego
3bd2f85a8e
Fixing some upstream typos etc
2025-05-19 16:33:45 -05:00
Nicolas Will
a01d5e6fa7
Merge pull request #19528 from bdrodes/openssl_elliptic_curve_algorithm_instances_and_consumers
...
Crypto: Add OpenSSL elliptic curve algorithm instances and consumers
2025-05-19 23:12:30 +02:00
Geoffrey White
94b57ac9a9
Update rust/ql/test/library-tests/dataflow/modeled/main.rs
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-19 21:49:02 +01:00
Ben Rodes
55119cf770
Merge branch 'main' into openssl_elliptic_curve_algorithm_instances_and_consumers
2025-05-19 15:50:00 -04:00
REDMOND\brodes
4309499c36
Switching to private imports.
2025-05-19 15:44:15 -04:00
Jon Janego
fce5b4d43e
Changedocs for 2.21.3
2025-05-19 13:55:45 -05:00
Nicolas Will
878039926c
Merge pull request #19521 from bdrodes/openssl_intermediate_digest_operations
...
Crypto: Model OpenSSL intermediate digest operations
2025-05-19 20:49:13 +02:00
REDMOND\brodes
03a6e134ba
Crypto: Removed dead comment.
2025-05-19 13:51:42 -04:00
REDMOND\brodes
e5641eff23
Crypto: Typo fix
2025-05-19 13:50:41 -04:00
REDMOND\brodes
3e54e4d6b6
Crypto: Fixing typo.
2025-05-19 13:49:29 -04:00
REDMOND\brodes
d05d38f00c
Crypto: Removing unused class field.
2025-05-19 13:48:15 -04:00
Geoffrey White
ebd75a118b
Rust: Add models for std::Pin.
2025-05-19 18:38:50 +01:00
Geoffrey White
533aa7fc26
Rust: Add tests for std::Pin.
2025-05-19 18:38:20 +01:00
REDMOND\brodes
bbbdf89e46
Crypto: OpenSSL ellipitic curve algorithm instances and consumers.
2025-05-19 13:10:11 -04:00
REDMOND\brodes
e7535b3eff
Crypto: Updating JCA to use new key size predicate returning int for elliptic curve.
2025-05-19 13:09:33 -04:00
Paolo Tranquilli
e6235a57e7
Merge pull request #19523 from jketema/swift-doc2
...
Swift: Mention Swift 6.1 support in the supported compilers doc
2025-05-19 17:37:16 +02:00
Paolo Tranquilli
7c70f5d8e4
Go: move to standard windows runner
...
Seems like `windows-latest-xl` is not available any more. This should unblock CI, but longer term we should consider doing what other languages do (i.e. run tests from the internal repo).
2025-05-19 17:24:58 +02:00
Jeroen Ketema
48e97a2e4a
Swift: Mention Swift 6.1 support in the supported compilers doc
2025-05-19 16:59:08 +02:00
REDMOND\brodes
309ad461a5
Quantum/Crypto: Adding Random.qll for OpenSSL into the general imports for the OpenSSL.qll model.
2025-05-19 10:56:17 -04:00
REDMOND\brodes
74271e4a17
Quantum/Crypto: To avoid ambiguity, altered OpenSSL EVP_Update_Call and EVP_Final_Call used for ciphers to explicitly say "Cipher", e.g., EVP_Cipher_Update_Call. This is also consistent with the new analogous digest operations.
2025-05-19 10:44:39 -04:00
REDMOND\brodes
97124745ad
Quantum/Crypto:Adding interemediate hashing to the openssl (e.g., modeling final and update digest separately).
2025-05-19 10:43:32 -04:00
Simon Friis Vindum
654d410485
Rust: Address PR feedback
2025-05-19 15:50:29 +02:00
Simon Friis Vindum
f4ff815253
Rust: Add additional type inference tests
2025-05-19 15:12:38 +02:00
Jeroen Ketema
dfbe08d14c
Merge pull request #19518 from jketema/depr
...
C++/Swift: delete outdated deprecations
2025-05-19 14:39:13 +02:00
Mathias Vorreiter Pedersen
adb74105fd
Merge pull request #19511 from MathiasVP/as-expr-array-aggregate-literal
...
C++: Make `node.asExpr() instanceof ArrayAggregateLiteral` satisfiable
2025-05-19 12:47:28 +01:00
Napalys Klicius
673655e093
added change notes
2025-05-19 13:29:40 +02:00
Napalys Klicius
703aec1990
cpp: removed now unused predicate commandLineArg
2025-05-19 13:27:26 +02:00
Napalys Klicius
c74321a2ee
all: used Erik's script to delete outdated deprecations
2025-05-19 13:26:08 +02:00
Geoffrey White
b503b1ef6c
Rust: Prefer getExpr() over getAstNode().
2025-05-19 12:09:27 +01:00
Geoffrey White
4bbdc9a1cd
Rust: Simplify SensitiveData.qll.
2025-05-19 12:08:53 +01:00
Geoffrey White
65456b5cf0
Merge branch 'main' into moresensitive
2025-05-19 11:54:46 +01:00
Asger F
317e61d370
JS: Update UnresolvableImports to handle nested packages
2025-05-19 12:53:19 +02:00
Asger F
1e8a49f311
JS: More efficient nested package naming
2025-05-19 12:53:18 +02:00
Jeroen Ketema
93517020ae
Merge pull request #19515 from jketema/depr-rewrite
...
C++: Do not use deprecated `hasLocationInfo` in `FlowTestCommon`
2025-05-19 12:43:50 +02:00
Geoffrey White
d20a602aab
Rust: Accept consistency check failures.
2025-05-19 11:07:37 +01:00
Geoffrey White
b58b2500ee
Merge branch 'main' into tokio
2025-05-19 10:42:28 +01:00
Jeroen Ketema
757a4877e0
C++: Do not use deprecated hasLocationInfo in FlowTestCommon
2025-05-19 11:10:29 +02:00
Jeroen Ketema
df28e3bc8b
Merge pull request #19510 from GeekMasher/cpp-wmain
...
C/CPP: Update FlowSources to add wmain
2025-05-19 10:33:35 +02:00
Mathew Payne
9d2b46e3cd
Merge branch 'main' into cpp-wmain
2025-05-19 08:52:56 +01:00
Michael Nebel
dabeddb62d
Add change-notes.
2025-05-19 09:26:49 +02:00
Michael Nebel
530025b7ae
Update integration tests expected output.
2025-05-19 09:26:47 +02:00
Michael Nebel
03ecd24469
Lower the precision of a range of harcoded password queries to remove them from query suites.
2025-05-19 09:26:45 +02:00
sentient0being
f575d2f941
get array string url
2025-05-17 19:40:41 +08:00
Mathias Vorreiter Pedersen
ff11aaf2bb
C++: Accept query test 'toString' improvements.
2025-05-16 21:01:55 +01:00
Mathias Vorreiter Pedersen
0eb55779fb
C++: Add change note.
2025-05-16 20:30:21 +01:00
Mathias Vorreiter Pedersen
ced1d580df
C++: Accept test changes.
2025-05-16 20:14:10 +01:00
Mathias Vorreiter Pedersen
8e005a65bf
C++: Fix missing 'asExpr' for array aggregate literals.
2025-05-16 20:12:58 +01:00
Mathew Payne
bbce0d0c65
Update cpp/ql/lib/semmle/code/cpp/security/FlowSources.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-05-16 18:55:00 +01:00
GeekMasher
94fe9b692f
feat(cpp): Add change notes
2025-05-16 18:35:50 +01:00
Mathias Vorreiter Pedersen
d7e07b0b2d
Merge pull request #19492 from MathiasVP/add-cpp-models
...
C++: Add summary models for `openssl` and `sqlite`
2025-05-16 18:33:56 +01:00
Mathew Payne
c79a724f5d
feat(cpp): Update FlowSources to add wmain
2025-05-16 18:21:44 +01:00
Nicolas Will
30e2c44cdb
Merge pull request #19509 from bdrodes/openssl_cipher_update
...
Quantum: Expand OpenSSL cipher modeling and fix JCA false reporting of intermediate calls
2025-05-16 18:54:26 +02:00
REDMOND\brodes
dbd66e64c6
Fixing bug in JCA cipher modeling. intermediate operations should not be key operations.
2025-05-16 11:23:42 -04:00
REDMOND\brodes
34f5e4e0c8
Adding cipher update modeling (model flow through update to final)
2025-05-16 11:23:19 -04:00
Jeroen Ketema
5db797ec88
Merge pull request #19508 from jketema/options
...
C++: Minor cleanup of qltest options
2025-05-16 15:46:35 +02:00
Mathias Vorreiter Pedersen
f82f1c84f3
C++: Accept test changes.
2025-05-16 14:14:46 +01:00
Jeroen Ketema
55f8cb7935
C++: Drop --clang_vector_types option
...
The types are already enabled through the specfied gcc version.
2025-05-16 15:12:06 +02:00
Jeroen Ketema
9d5a465e9d
C++: Remove unused options file
2025-05-16 15:11:40 +02:00
Mathias Vorreiter Pedersen
1d31a38362
C++: Regenerate the models for OpenSSL and sqlite after excluding tests in model-generation (sqlite is unaffected).
2025-05-16 13:53:16 +01:00
Mathias Vorreiter Pedersen
03d6633d41
Merge pull request #19501 from MathiasVP/as-expr-class-aggregate-literal
...
C++: Make `node.asExpr() instanceof ClassAggregateLiteral` satisfiable
2025-05-16 13:49:03 +01:00
Taus
579cf4a65a
Merge pull request #19424 from github/tausbn/python-extract-hidden-file-by-default
...
Python: Extract files in hidden dirs by default
2025-05-16 14:43:47 +02:00
Mathias Vorreiter Pedersen
3df647f205
C++: Add change note.
2025-05-16 13:37:07 +01:00
Mathias Vorreiter Pedersen
bebc077c9e
C++: Accept test changes.
2025-05-16 13:37:02 +01:00
Mathias Vorreiter Pedersen
560ffc0e9b
C++: Regenerate the models for OpenSSL and sqlite after model-generation changes.
2025-05-16 13:33:59 +01:00
Mathias Vorreiter Pedersen
d6beb2a6a0
C++: Don't generate models for stuff we have modeled in Ql by hand.
2025-05-16 13:33:54 +01:00
Mathias Vorreiter Pedersen
de31595cd2
C++: Add generated sqlite models.
2025-05-16 13:32:01 +01:00
Mathias Vorreiter Pedersen
0290b4369c
C++: Add generated OpenSSL models.
2025-05-16 13:31:59 +01:00
Mathias Vorreiter Pedersen
cadcb202e2
Merge pull request #19500 from MathiasVP/always-apply-manual-models-when-resolving-calls
...
C++: Update static call target resolution semantics in dataflow
2025-05-16 13:28:01 +01:00
Simon Friis Vindum
41e76e20b5
Rust: Add models auto-generated in bulk
2025-05-16 14:08:16 +02:00
Simon Friis Vindum
fb8b79edbf
Rust: Skip model generation for functions with semicolon in canonical path
2025-05-16 14:08:09 +02:00
Mathias Vorreiter Pedersen
ffc1c6264e
Merge pull request #19498 from MathiasVP/exclude-test-directories
...
C++: Exclude tests in model generation
2025-05-16 13:02:51 +01:00
Taus
9ee3e4cdf3
Python: Update change note
...
Co-authored-by: yoff <yoff@github.com >
2025-05-16 13:50:22 +02:00
Simon Friis Vindum
d66c12b7a9
Rust: Add MaD bulk generation script
2025-05-16 13:38:24 +02:00
Mathias Vorreiter Pedersen
e11ab0f125
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/ExprNodes.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-16 12:06:25 +01:00
Michael Nebel
5e72b8bbed
Merge pull request #19497 from michaelnebel/csharp/gethashcode
...
C#: Improve the query `cs/gethashcode-is-not-defined`.
2025-05-16 12:37:41 +02:00
Napalys Klicius
f6a8909bfe
Merge pull request #19356 from Napalys/js/merge_classes
...
JS: Merge `ES6Class` to `FunctionStyleClass`
2025-05-16 10:31:33 +02:00
Tom Hvitved
40624b21f8
Merge pull request #19503 from hvitved/rust/fix-semantic-merge-conflict
...
Rust: Fix semantic merge conflict
2025-05-16 09:17:53 +02:00
Tom Hvitved
8521becbd5
Rust: Fix semantic merge conflict
2025-05-15 20:53:35 +02:00
Mathias Vorreiter Pedersen
d31ddad832
C++: Small refactoring.
2025-05-15 18:04:57 +01:00
Mathias Vorreiter Pedersen
f731d0e630
C++: Add change note.
2025-05-15 17:39:51 +01:00
Mathias Vorreiter Pedersen
c3c6bb6e60
C++: Accept test changes.
2025-05-15 17:23:35 +01:00
Mathias Vorreiter Pedersen
783560cff6
C++: Add a subclass of PostUpdateNodes and ensure that 'node.asExpr() instanceof ClassAggregateLiteral' holds for this new node subclass.
2025-05-15 17:23:32 +01:00
Mathias Vorreiter Pedersen
0f21075722
C++: Add a test that demonstrate missing asExpr for aggregate literals.
2025-05-15 17:18:55 +01:00
Nora Dimitrijević
8a1987ab71
Merge pull request #19448 from d10c/d10c/ruby-printast-order-fix
...
Ruby printAst: fix order for synth children of real parents
2025-05-15 18:17:01 +02:00
Taus
2158eaa34c
Python: Fix a bug in glob regex creation
...
The previous version was tested on a version of the code where we had
temporarily removed the `glob.strip("/")` bit, and so the bug didn't
trigger then.
We now correctly remember if the glob ends in `/`, and add an extra part
in that case. This way, if the path ends with multiple slashes, they
effectively get consolidated into a single one, which results in the
correct semantics.
2025-05-15 15:34:11 +00:00
Aditya Sharad
f814849154
Merge pull request #19427 from felickz/unpinned-actions-tags-docs
...
Adding comprehensive docs for customizing `actions/unpinned-tag` query
2025-05-15 20:29:58 +05:30
Taus
c8cca126a1
Python: Bump extractor version
2025-05-15 14:59:33 +00:00
Taus
72ae633a64
Python: Update change note and extractor config
...
Removes the previously added extractor option and updates the change
note to explain how to use `paths-ignore` to exclude files in hidden
directories.
2025-05-15 14:58:32 +00:00
Taus
96558b53b8
Python: Update test
...
The second test case now sets the `paths-ignore` setting in the config
file in order to skip files in hidden directories.
2025-05-15 14:53:15 +00:00
Taus
98388be25c
Python: Remove special casing of hidden files
...
If it is necessary to exclude hidden files, then adding
```
paths-ignore: ['**/.*/**']
```
to the relevant config file is recommended instead.
2025-05-15 14:49:17 +00:00
Taus
61719cf448
Python: Fix a bug in glob conversion
...
If you have a filter like `**/foo/**` set in the `paths-ignore` bit of
your config file, then currently the following happens:
- First, the CodeQL CLI observes that this string ends in `/**` and
strips off the `**` leaving `**/foo/`
- Then the Python extractor strips off leading and trailing `/`
characters and proceeds to convert `**/foo` into a regex that is
matched against files to (potentially) extract.
The trouble with this is that it leaves us unable to distinguish
between, say, a file `foo.py` and a file `foo/bar.py`. In other words,
we have lost the ability to exclude only the _folder_ `foo` and not any
files that happen to start with `foo`.
To fix this, we instead make a note of whether the glob ends in a
forward slash or not, and adjust the regex correspondingly.
2025-05-15 14:48:06 +00:00
Mathias Vorreiter Pedersen
e75dcd27f5
C++: Accept test changes.
2025-05-15 15:28:13 +01:00
Mathias Vorreiter Pedersen
69a1a87aa4
C++: Update semantics of picking the static call target in dataflow.
2025-05-15 15:25:29 +01:00
Mathias Vorreiter Pedersen
c6df9505c0
C++: Add tests to exercise the upcoming behavior of function dispatch when there are model-generated summaries AND source definitions.
2025-05-15 15:05:17 +01:00
Tom Hvitved
60cc63f4d4
Merge pull request #19474 from hvitved/rust/builtins-resolution
...
Rust: Type inference and path resolution for builtins
2025-05-15 15:22:32 +02:00
Mathias Vorreiter Pedersen
e80c3b5c0b
C++: Exclude tests (by matching paths) in model generation.
2025-05-15 13:24:32 +01:00
Michael Nebel
4d7901573a
C#: Add change note.
2025-05-15 14:07:50 +02:00
Michael Nebel
3080dfafb6
C#: Update test expected output.
2025-05-15 14:04:40 +02:00
Michael Nebel
72d3814e08
C#: Include dictionary indexers and more methods in cs/gethashcode-is-not-defined.
2025-05-15 14:03:22 +02:00
Michael Nebel
4b2d323cb6
C#: Add some more test cases.
2025-05-15 13:48:51 +02:00
Michael Nebel
2c5d85e186
C#: Convert cs/gethashcode-is-not-defined to inline expectations tests.
2025-05-15 13:35:08 +02:00
Jeroen Ketema
51229a6b48
Merge pull request #19493 from jketema/delete-expr
...
C++: Fix IR edge case where there are no function calls taking an argument
2025-05-15 13:31:48 +02:00
Tom Hvitved
9d37597461
Address review comments
2025-05-14 20:50:40 +02:00
Neil Mendum
1a1c9b4ea4
actions: add some missing permissions
2025-05-14 17:28:54 +01:00
Nora Dimitrijević
96bdfbf76b
Fix inefficient pattern: if-exists -> exists-or-not-exists
2025-05-14 15:36:45 +02:00
Paolo Tranquilli
e4b7b914b2
Merge pull request #19334 from github/redsun82/rust-expand-attr-macros
...
Rust: expand attribute macros
2025-05-14 15:35:58 +02:00
Owen Mansel-Chan
8f5a2a9e29
Merge pull request #19484 from owen-mc/go/minor-fix
...
Go: Remove redundant code in `IR::ExtractTupleElementInstruction.getResultType()` and expand tests
2025-05-14 13:49:38 +01:00
Jeroen Ketema
401281331f
C++: Fix IR edge case where there are no function calls taking an argument
2025-05-14 13:44:29 +02:00
Jeroen Ketema
96bd9a96e5
C++: Add test case for IR edge case
2025-05-14 13:36:52 +02:00
Paolo Tranquilli
c2f2522262
Merge pull request #19490 from github/redsun82/swift-type-value-expr-cfg
...
Swift: add new `TypeValueExpr` to CFG
2025-05-14 13:24:50 +02:00
Michael Nebel
ef4c921b5a
Merge pull request #19482 from michaelnebel/csharp/code-quality-call-to-gc
...
C#: Add `cs/call-to-gc` to the code quality suite.
2025-05-14 13:03:24 +02:00
Paolo Tranquilli
3d38d77d63
Rust: accept dummy test output
2025-05-14 11:41:17 +02:00
Paolo Tranquilli
4709eacbf8
Swift: add change note
2025-05-14 11:37:03 +02:00
yoff
3fa563b293
Merge pull request #19483 from yoff/ruby/more-capturedExitRead
...
Ruby: More captured exit read nodes
2025-05-14 11:35:04 +02:00
Paolo Tranquilli
2388dd06d4
Swift: add new TypeValueExpr to CFG
2025-05-14 11:16:44 +02:00
Michael Nebel
7531a95d22
Merge pull request #19271 from michaelnebel/csharp/uncontrolled-format-string
...
C#: Improve precision of `cs/uncontrolled-format-string`.
2025-05-14 10:39:38 +02:00
Michael Nebel
f9559060f1
C#: Add change note.
2025-05-14 10:37:28 +02:00
Michael Nebel
8603d76e2a
C#: Update flowsummaries expected test file.
2025-05-14 10:28:22 +02:00
Michael Nebel
08b950eeeb
C#: Update .NET 9 Runtime generated models.
2025-05-14 10:28:19 +02:00
Mathias Vorreiter Pedersen
e903d76fa0
Merge pull request #19443 from MathiasVP/generate-more-value-preserving-summaries-2
...
Shared: Generate more value-preserving flow summaries
2025-05-14 09:12:28 +01:00
Paolo Tranquilli
f5438390d5
Rust: enhance macro expansion testing
2025-05-14 10:01:44 +02:00
Chris Smowton
98ec3753fd
Merge pull request #19489 from github/post-release-prep/codeql-cli-2.21.3
...
Post-release preparation for codeql-cli-2.21.3
2025-05-13 23:31:00 +01:00
github-actions[bot]
5f9dd75d7d
Post-release preparation for codeql-cli-2.21.3
2025-05-13 21:49:43 +00:00
Chris Smowton
4bb829ebec
Merge pull request #19488 from github/release-prep/2.21.3
...
Release preparation for version 2.21.3
2025-05-13 22:22:20 +01:00
github-actions[bot]
2de4a01c86
Release preparation for version 2.21.3
2025-05-13 21:14:27 +00:00
Chris Smowton
c6cc4c0e13
Merge pull request #19402 from smowton/smowton/admin/kotlin-2.2.0-support
...
Add support for Kotlin 2.2.0; drop Kotlin 1.5.x
2025-05-13 21:11:31 +01:00
Tom Hvitved
a02bf182c5
Rust: Type inference and path resolution for builtins
2025-05-13 21:29:32 +02:00
Tom Hvitved
9db38bcb23
Rust: Update path resolution tests
2025-05-13 21:26:50 +02:00
Chris Smowton
fecad025de
Fix handling of X/jvm-default intermediate modes such as 'compatibility', the new default as of 2.2.0
2025-05-13 18:10:21 +01:00
Mathias Vorreiter Pedersen
fa7942393d
Merge pull request #19477 from MathiasVP/fix-infinite-range-analysis-on-incomplete-ssa
...
C++: Fix infinite range analysis loop on invalid SSA
2025-05-13 16:59:11 +01:00
Paolo Tranquilli
3001d0bd1c
Bazel: remove 2.0.0 rules_kotlin patching
2025-05-13 15:57:37 +01:00
yoff
3fcd46ec6c
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-13 16:57:32 +02:00
Owen Mansel-Chan
933e01b3d4
Remove redundant code
...
The case of a CallExpr is actually covered by the next disjunct.
Note that the CallExpr case had a subtle bug: `c.getTarget()` is not
defined when we are calling a variable. Better to use
`c.getCalleeType()`. But in this case we can just delete the code.
2025-05-13 15:55:20 +01:00
Owen Mansel-Chan
7da1ade835
Add tests for extracting tuples in f(g(...))
2025-05-13 15:54:05 +01:00
Owen Mansel-Chan
b06491125e
Expand test for Extract Tuple Instruction
2025-05-13 15:48:29 +01:00
Florin Coada
c608a9056b
Merge pull request #19462 from github/changedocs/2.21.2
...
Update changelogs for CodeQL CLI 2.21.2
2025-05-13 15:23:35 +01:00
Paolo Tranquilli
a99556e021
Merge branch 'main' into redsun82/rust-expand-attr-macros
2025-05-13 16:21:29 +02:00
yoff
c70fd6a58c
ruby: add change note
2025-05-13 16:18:33 +02:00
Tom Hvitved
d37787c4ae
Rust: Add type inference tests for literals
2025-05-13 16:07:43 +02:00
Tom Hvitved
3fc9da7466
Merge pull request #19475 from hvitved/rust/literal-sub-classes
...
Rust: Add `LiteralExpr` sub classes
2025-05-13 16:06:53 +02:00
Asger F
169ae19015
Merge pull request #19391 from asgerf/js/typescript-path-resolution
...
JS: Overhaul import resolution
2025-05-13 15:46:38 +02:00
Chris Smowton
a2836f5aab
Adjust integration test expectations
2025-05-13 14:42:19 +01:00
Chris Smowton
27222499d4
Update test expectation
2025-05-13 14:42:18 +01:00
Chris Smowton
fc1fd263df
Fix plugin test to work with Kotlin 2.1.20
2025-05-13 14:42:17 +01:00
Chris Smowton
0d34837eaf
Bump unit tests to use latest stable Kotlin
2025-05-13 14:42:16 +01:00
Chris Smowton
1afe67ab13
Accept Kotlin 2.1.20 test changes
...
These are mainly small changes in how source-locations are ascribed to synthetic expressions, plus three real changes:
- The comment extractor is performing better presumably due to improvements in the underlying representation
- *= /= and %= operations are once again extracted correctly; presumably their origin information has been fixed
- Reference to a static final Java field can lead to more constant propagation than before
The last one might be a minor nuisance to someone trying to find references to such a field.
2025-05-13 14:42:15 +01:00
Chris Smowton
34e0a7b23a
Bump Kotlin version to keep integration test working
2025-05-13 14:42:13 +01:00
Chris Smowton
29d369f22f
Don't try to decode a class from a .java file
2025-05-13 14:42:12 +01:00
Chris Smowton
0d21fa51f2
Change default version
2025-05-13 14:42:11 +01:00
Chris Smowton
3f23212d4e
Update test expectation
2025-05-13 14:42:10 +01:00
Chris Smowton
2ad5e20e79
Change note
2025-05-13 14:42:09 +01:00
Chris Smowton
4cb1e7840f
Update Kotlin doc table
2025-05-13 14:42:07 +01:00
Chris Smowton
a36fc30d44
Fix build for Kotlin 2.2.0
2025-05-13 14:42:06 +01:00
Chris Smowton
24feb51661
Fix Gradle config
2025-05-13 14:42:05 +01:00
Chris Smowton
163a403065
Add Kotlin 2.2.0-Beta1; drop Kotlin 1.5
2025-05-13 14:42:04 +01:00
Paolo Tranquilli
abea647bb1
Bazel: update rules_kotlin to 2.1.3
2025-05-13 14:42:03 +01:00
Chris Smowton
08aad90346
Add 2.2.0-Beta1 deps
2025-05-13 14:42:02 +01:00
Mathias Vorreiter Pedersen
f255fc2fd5
C++: Drive-by join order fix. Before:
...
```
Evaluated relational algebra for predicate SsaInternals::getDefImpl/1#1ed4f567@65628fbv with tuple counts:
4935102 ~5% {4} r1 = SCAN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f` OUTPUT In.2, In.3, In.0, In.1
104274503 ~1% {3} | JOIN WITH `SsaInternals::DefImpl.hasIndexInBlock/2#dispred#30a6c29f_120#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.3, Lhs.2
4921319 ~2% {2} | JOIN WITH `SsaInternals::DefImpl.getSourceVariable/0#dispred#72437659` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
return r1
```
After:
```
Evaluated relational algebra for predicate SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f_1230#join_rhs@b280fb5h with tuple counts:
4935102 ~3% {4} r1 = SCAN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f` OUTPUT In.1, In.2, In.3, In.0
return r1
Evaluated relational algebra for predicate SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa_1230#join_rhs@2be655s4 with tuple counts:
5634706 ~1% {4} r1 = SCAN `SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa` OUTPUT In.1, In.2, In.3, In.0
return r1
Evaluated relational algebra for predicate SsaInternals::getDefImpl/1#1ed4f567@8afa36uu with tuple counts:
4921319 ~2% {2} r1 = JOIN `SsaInternals::SsaImpl::Definition.definesAt/3#dispred#7eea4c8f_1230#join_rhs` WITH `SsaInternals::DefImpl.hasIndexInBlock/3#dispred#31d295aa_1230#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3
return r1
```
2025-05-13 14:21:28 +01:00
yoff
774b1820c2
ruby: also insert capturedExitRead-nodes by exceptional exits
2025-05-13 15:11:00 +02:00
yoff
73bae1627b
ruby: test for DeadStore and captured variables
2025-05-13 15:08:01 +02:00
Tom Hvitved
ae54c62001
Simplify using non-capturing groups
2025-05-13 15:06:43 +02:00
Michael Nebel
b8f85b3f29
C#: Update integration test expected output.
2025-05-13 14:50:23 +02:00
Asger F
aea676df3c
Merge pull request #19445 from asgerf/js/summaries-with-fallback
...
JS: Generate flow summaries from summaryModels; only generate steps as a fallback
2025-05-13 14:49:38 +02:00
Michael Nebel
f5903eaf2d
C#: Add cs/call-to-gc to the code quality suite.
2025-05-13 14:46:29 +02:00
Michael Nebel
fcecc5a3af
Cpp: Update model generator implementation.
2025-05-13 13:44:44 +01:00
Michael Nebel
6712cce1d7
Rust: Update model generator implementation.
2025-05-13 13:44:43 +01:00
Michael Nebel
ee83ca9125
Java: Update model generator implementation and test expected output.
2025-05-13 13:44:42 +01:00
Michael Nebel
09dc3c88b3
C#: Update model generator implementation and test expected output.
2025-05-13 13:44:40 +01:00
Michael Nebel
a94cffa27e
Shared: Adjust the printing of heuristic value summaries (and fix a minor issue with output printing in captureSink).
2025-05-13 13:44:39 +01:00
Michael Nebel
6c9f248fdb
Shared: Avoid generating taint based heuristic summaries when a content sensitive summary can be generated.
2025-05-13 13:44:38 +01:00
Mathias Vorreiter Pedersen
0836f0b413
C++: Cache and fix join order in 'hasIncompleteSsa'.
2025-05-13 13:41:15 +01:00
Tom Hvitved
7494eac35c
Address review comments
2025-05-13 14:26:09 +02:00
Michael Nebel
3449a34018
C#: Address review comments.
2025-05-13 14:20:06 +02:00
Geoffrey White
20a012d5f1
Merge pull request #19454 from geoffw0/deref
...
Rust: Add Operation class
2025-05-13 13:17:14 +01:00
yoff
1c863b1bd4
Merge pull request #19476 from yoff/ruby/DeadStoreOfLocal-precision-high
...
ruby: adjust precision of `rb/useless-assignment-to-local`
2025-05-13 13:56:22 +02:00
Mathias Vorreiter Pedersen
c3c18bdbd2
C++: Add change note.
2025-05-13 11:28:25 +01:00
Mathias Vorreiter Pedersen
9d2eb3d9b8
C++: Filter out instructions with incomplete SSA in range analysis.
2025-05-13 10:54:22 +01:00
Mathias Vorreiter Pedersen
510df38da2
C++: Add an 'hasIncompleteSsa' predicate to check whether a function has correctly modelled SSA information.
2025-05-13 10:54:20 +01:00
Simon Friis Vindum
4cc9c24940
Merge pull request #19452 from paldepind/shared-model-generator-script
...
Shared: Remove the language-specific model generator scripts
2025-05-13 10:17:37 +02:00
Geoffrey White
b3dc7a21b3
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-13 09:06:25 +01:00
Geoffrey White
2b6e428c37
Merge pull request #19466 from geoffw0/web
...
Rust: Add tests for web frameworks as taint sources
2025-05-13 09:02:46 +01:00
Simon Friis Vindum
014e7dc4bc
Shared: Remove change note for internal MaD generator
2025-05-13 09:50:07 +02:00
Simon Friis Vindum
14bdc1ab22
Shared: Minor tweaks to model generator script
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-05-13 09:31:50 +02:00
Michael Nebel
0c0e1d0c46
Merge pull request #19456 from 5idg5/5idg5-update-cs-stubs
...
Add new stubs definitions to System.Web
2025-05-13 08:56:06 +02:00
Sid Gawri
eb4711e884
Merge branch '5idg5-update-cs-stubs' of https://github.com/5idg5/codeql into 5idg5-update-cs-stubs
2025-05-12 17:41:32 -04:00
5idg5
6a5ce39930
Merge branch 'github:main' into 5idg5-update-cs-stubs
2025-05-12 17:39:33 -04:00
Michael Nebel
5faaa4f0f3
C#: Cleanup test options files.
2025-05-12 17:36:52 -04:00
Michael Nebel
05dc9b6d34
C#: Remove dependency to ASP.NET in the System.Web.cs stub file.
2025-05-12 17:36:10 -04:00
Michael Nebel
60d26e522e
C#: Cleanup test options files.
2025-05-12 17:36:08 -04:00
Michael Nebel
82cf472f8a
C#: Fix ASP tests.
2025-05-12 17:33:22 -04:00
Michael Nebel
ffd6b2677c
C#: Cleanup test options files.
2025-05-12 17:33:21 -04:00
yoff
a50167812d
ruby: adjust precision of rb/useless-assignment-to-local
...
from `medium` to `high`
2025-05-12 23:26:21 +02:00
Mathias Vorreiter Pedersen
f1b4e05579
C++: Expose 'isBusyDef'.
2025-05-12 19:45:19 +01:00
Mathias Vorreiter Pedersen
e51cb478af
C++: Expose 'MemoryLocation0'.
2025-05-12 19:43:19 +01:00
Tom Hvitved
cd01bd0e07
Rust: Add LiteralExpr sub classes
2025-05-12 20:35:00 +02:00
Nicolas Will
d3282a9470
Merge pull request #19469 from nicolaswill/quantum-experimental
...
Add CodeQL Quantum models and queries (Java, C++) to experimental
2025-05-12 19:25:34 +02:00
Geoffrey White
f04d6fd8c8
Rust: Accept minor test changes for the cleartext logging query.
2025-05-12 17:45:00 +01:00
Geoffrey White
a2944cdb61
Rust: Make usage of Impl more consistent with other Impl modules.
2025-05-12 16:48:06 +01:00
Geoffrey White
9160036e41
Rust: Rename OperationImpl -> Impl.
2025-05-12 16:45:41 +01:00
Geoffrey White
7c98fa87da
Rust: One more bit of cleanup.
2025-05-12 16:34:08 +01:00
Geoffrey White
402a84f755
Update rust/ql/test/library-tests/dataflow/sources/web_frameworks.rs
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-12 16:17:26 +01:00
Geoffrey White
bf8cdffffa
Update rust/ql/test/library-tests/dataflow/sources/web_frameworks.rs
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-12 16:06:33 +01:00
Geoffrey White
08fcf6114f
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-12 16:01:52 +01:00
Geoffrey White
6678dc490a
Merge pull request #19449 from geoffw0/alloc-size-sev
...
Rust: Update query severities
2025-05-12 15:57:02 +01:00
Geoffrey White
a69a56122f
Merge pull request #19455 from geoffw0/quality
...
Rust: Use the new 'quality' tag.
2025-05-12 15:56:12 +01:00
Michael Nebel
a7ddfe2e89
C#: Address review comments.
2025-05-12 16:06:02 +02:00
Michael Nebel
6cc3c820b4
C#: Add change note.
2025-05-12 15:45:03 +02:00
Michael Nebel
c96003f265
C#: Update test expected output.
2025-05-12 15:45:01 +02:00
Michael Nebel
133e8d4897
C#: Include CompositeFormat.Parse as Format like method.
2025-05-12 15:44:59 +02:00
Michael Nebel
3838a7b0d6
C#: Add a testcase for CompositeFormat.Parse for cs/uncontrolled-format-string.
2025-05-12 15:44:58 +02:00
Michael Nebel
c16be43f15
C#: Convert cs/uncontrolled-format-string tests to use test inline expectations.
2025-05-12 15:44:56 +02:00
Nicolas Will
5334e90717
Make FlowAwareElement private
2025-05-12 14:58:04 +02:00
Nicolas Will
c66ec63333
Fix query compilation errors
2025-05-12 14:48:58 +02:00
Nicolas Will
8f36624171
Add AsymmetricAlgorithmNode, refactor and address feedback
2025-05-12 14:37:44 +02:00
Nicolas Will
ab3f62eed1
Add missing tags to PrintCBOMGraph.ql queries
2025-05-12 14:34:16 +02:00
Geoffrey White
682f59fc11
Rust: Make helper predicate private + autoformat.
2025-05-12 12:49:58 +01:00
Geoffrey White
ac5ec06736
Rust: Constrain SensitiveFieldAccess to avoid including unwanted parents.
2025-05-12 12:47:31 +01:00
Geoffrey White
b907cfe468
Rust: Add a few more test cases involving 'map'.
2025-05-12 12:31:01 +01:00
Geoffrey White
0a3275e0b3
Rust: One more test case.
2025-05-12 11:50:57 +01:00
Simon Friis Vindum
7bd1612b69
Rust: Use getStaticTarget in type inference test
...
This fixes a test failure where duplicated functions from extraction caused a bunch of spurious results to pop up
2025-05-12 12:47:48 +02:00
Simon Friis Vindum
bc8580159c
Merge branch 'main' into rust-ti-implementing-type-method
2025-05-12 11:35:48 +02:00
Simon Friis Vindum
0cf60c4e2d
Rust: Address comments on documentation
2025-05-12 11:07:46 +02:00
Asger F
891b2b8335
DataFlow: Support a bare Argument[n] as a valid output stack
2025-05-12 09:42:45 +02:00
Asger F
8fab235d66
DataFlow: Fix typo in a comment
2025-05-12 09:41:49 +02:00
Simon Friis Vindum
14ede4e0c5
Merge pull request #19440 from paldepind/rust-update-stdlib-models
...
Rust: Update generated models for core and std
2025-05-12 08:11:18 +02:00
Sid Gawri
4e3ac93f70
fix unit tests part 2
2025-05-09 16:24:42 -04:00
Sid Gawri
089ef1cae1
Merge branch 'main' of https://github.com/5idg5/codeql into 5idg5-update-cs-stubs
2025-05-09 15:35:11 -04:00
Geoffrey White
48b95f3a4e
Rust: Move OperationImpl to internal/OperationImpl.qll.
2025-05-09 17:01:49 +01:00
Geoffrey White
d02d5c5baf
Rust: Update cleartext logging test with new found results.
2025-05-09 14:33:26 +01:00
Nicolas Will
fbf3d7c195
Update CODEOWNERS to specify shared pack directory
2025-05-09 14:36:55 +02:00
Nicolas Will
cd59ce5b04
Rename shared pack to quantum from experimental
2025-05-09 14:36:12 +02:00
Geoffrey White
5f5d6f679a
Rust: Understand sensitive enum variants calls.
2025-05-09 11:58:51 +01:00
Geoffrey White
0f36e1d625
Rust: Understand sensitive qualifier expressions.
2025-05-09 11:26:23 +01:00
Geoffrey White
a537197691
Rust: Understand sensitive field access expressions.
2025-05-09 11:04:38 +01:00
Geoffrey White
8825eefea6
Rust: More counterexamples for sensitive data as well.
2025-05-09 10:50:12 +01:00
Geoffrey White
87218cb6d7
Rust: Test more examples of sensitive data.
2025-05-09 10:50:11 +01:00
Mathias Vorreiter Pedersen
64371688d7
Shared: Fix QLDoc to make QL4QL happy.
2025-05-08 10:16:09 -04:00
Nicolas Will
64e40715ee
Merge branch 'quantum-experimental' of https://github.com/nicolaswill/codeql into quantum-experimental
2025-05-08 16:11:15 +02:00
Nicolas Will
c6077947a7
Update cpp and java not_included_in_qls.expected
2025-05-08 16:10:28 +02:00
Nicolas Will
d0510bc672
Merge branch 'main' into quantum-experimental
2025-05-08 04:37:37 +02:00
Nicolas Will
529128cbde
Add problem.severity for java analysis queries
2025-05-08 04:20:49 +02:00
Nicolas Will
a57f4a1022
Update Java analysis query metadata
2025-05-08 04:13:57 +02:00
Nicolas Will
e03f57da9b
Update type name in experimental BrokenCrypto.ql
2025-05-08 04:03:10 +02:00
Nicolas Will
b8c3b43cc4
Fix KnownAsymmetricAlgorithm query id
2025-05-08 03:58:06 +02:00
Nicolas Will
b558e844ff
Update slice query metadata and output tables
2025-05-08 03:56:20 +02:00
Nicolas Will
986c8e1aec
Change Java inventory slices to @kind table
2025-05-08 03:24:04 +02:00
Nicolas Will
0c6e124b01
Delete development test query
2025-05-08 03:02:59 +02:00
Nicolas Will
1135fbe950
Fix EVP_Hash_Initializer typo
2025-05-08 02:58:43 +02:00
Nicolas Will
1d8a57e7da
Fix EVP Cipher class, predicate, and comment typos
2025-05-08 02:56:52 +02:00
Nicolas Will
e956d041dc
Format LibraryDetector.qll
2025-05-08 02:51:53 +02:00
Nicolas Will
a7ebe4a51a
Fix typo in asymmetric inventory slice query id
2025-05-08 02:43:29 +02:00
Nicolas Will
0066f74d3f
Delete development scripts
2025-05-08 02:40:56 +02:00
Nicolas Will
7339dd0077
Rename "Quantum" to "quantum" in dir structure
2025-05-08 02:39:40 +02:00
Nicolas Will
ac72abd3a6
Refactor directory structure (shared experimental)
2025-05-08 02:35:09 +02:00
Nicolas Will
c19291be88
Refactor 'cryptography' and 'Quantum' to 'quantum'
2025-05-08 01:38:53 +02:00
Nicolas Will
314f1ff93f
Refactor Java directory structure
2025-05-08 00:28:32 +02:00
Nicolas Will
56670c66f1
Revert Python changes and delete implementation
2025-05-08 00:26:13 +02:00
Nicolas Will
f5a36566d1
Merge pull request #11 from nicolaswill/brodes/openssl_refactor
...
Brodes/openssl refactor
2025-05-07 23:10:53 +02:00
Geoffrey White
19f86fd67f
Rust: Address confusing / typo'd paths.
2025-05-07 10:46:16 +01:00
Geoffrey White
49ff967465
Rust: Add a dataflow sources test for the Axum web fraemework.
2025-05-07 10:17:58 +01:00
Geoffrey White
e56519d959
Rust: Add a dataflow sources test for the Actix web fraemework.
2025-05-07 10:17:57 +01:00
Geoffrey White
310c02f1fb
Rust: Add a dataflow sources test for the Poem web fraemework.
2025-05-07 10:17:56 +01:00
Owen Mansel-Chan
a857069345
Merge pull request #19464 from owen-mc/go/fix/extract-recv-alias-type
...
Go: fix database inconsistency when receiver has alias type
2025-05-06 15:08:42 -04:00
Owen Mansel-Chan
55efb113c2
Merge pull request #19463 from github/dependabot/go_modules/go/extractor/extractor-dependencies-e95546ca81
...
Bump golang.org/x/tools from 0.32.0 to 0.33.0 in /go/extractor in the extractor-dependencies group
2025-05-06 11:05:48 +01:00
Owen Mansel-Chan
c781f98bdc
(unrelated tidy up) resolveTypeAlias not needed
...
`types.Unalias` already does the same thing
2025-05-06 05:45:06 -04:00
Owen Mansel-Chan
228c45aaf8
Look through aliases when identifying method receivers
2025-05-06 05:45:04 -04:00
dependabot[bot]
824271a84a
Bump golang.org/x/tools
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/tools` from 0.32.0 to 0.33.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.32.0...v0.33.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-05-06 03:58:02 +00:00
Sid Gawri
7231f53b6e
revert system.net stubs
2025-05-05 21:59:37 -04:00
Sid Gawri
0691cd3e9a
Merge branch 'main' of https://github.com/5idg5/codeql into 5idg5-update-cs-stubs
2025-05-05 21:55:29 -04:00
Simon Friis Vindum
06cfa9a89c
Rust: Address format fixes suggested in review
2025-05-05 15:21:50 -04:00
Florin Coada
1533d7a4cc
Update codeql-cli-2.21.2.rst
2025-05-05 11:30:15 -04:00
Florin Coada
c7026c03df
Update changelogs for CodeQL CLI 2.21.2 and adjust query reporting for unversioned immutable actions
2025-05-05 11:13:42 -04:00
Arthur Baars
9b0854edb1
Merge pull request #19335 from github/aibaars/macro-stmts
...
Rust: make MacroStmts expressions
2025-05-03 11:22:15 +02:00
Sid Gawri
d600eb42cf
add new stubs
2025-05-02 17:25:02 -04:00
REDMOND\brodes
4042081539
Missing files, should have been part of last commit.
2025-05-02 16:35:27 -04:00
REDMOND\brodes
0a0be41527
Intermediate progress towards getting hashing upgraded. Still need to handle the final and update mechanics, matching the JCA. Similarly need to update cipher to follow the JCA for update/final as well.
2025-05-02 16:33:52 -04:00
Nora Dimitrijević
e9d5515c3b
Add change note
2025-05-02 15:47:34 -04:00
Nora Dimitrijević
83a619a532
Ruby printAst: order by line, synth index in synth parent, column, synth index in real parent
...
This prevents a bunch of unrelated movements in AstDesugar.ql
2025-05-02 15:33:04 -04:00
Nora Dimitrijević
b95092ef1c
Ruby printAst: order by start line and column before synth index
...
This counteracts the movement of synth children away from the node from which they take their location, following the decision to take the index of synth children of real parents into account.
2025-05-02 15:33:02 -04:00
Nora Dimitrijević
2511f52161
Ruby printAst: fix order for synth children of real parents
...
Real parents can have synthesized children, so always assigning index 0 leads to nondeterminism in graph output.
2025-05-02 15:33:00 -04:00
Jeroen Ketema
aa80b83874
Merge pull request #19420 from github/jketema/swift-6.1-contructs
...
Swift: Support new Swift 6.1 AST elements
2025-05-02 20:13:20 +02:00
REDMOND\brodes
94632931ba
Clean up
2025-05-02 14:11:10 -04:00
REDMOND\brodes
09d473674b
Working refactor for cipher, padding, block mode. Still haven't completed connecting padding to algorithm instances if through a set padding interface.
2025-05-02 14:10:38 -04:00
REDMOND\brodes
7481de75cb
Updating the model to infer implicit cipher key sizes.
2025-05-02 14:07:38 -04:00
REDMOND\brodes
c08525ad81
Additional cleanup
2025-05-02 14:07:13 -04:00
REDMOND\brodes
5694f029de
Misc. cleanup
2025-05-02 14:03:50 -04:00
Geoffrey White
f59ef58c1f
Rust: Update query suite list.
2025-05-02 17:47:48 +01:00
Geoffrey White
16ed8476ce
Rust: Use the new 'quality' tag.
2025-05-02 17:24:13 +01:00
Geoffrey White
566b3dd8d9
Rust: Update code scanning queries list.
2025-05-02 17:13:14 +01:00
Geoffrey White
d0287e9496
Merge branch 'main' into alloc-size-sev
2025-05-02 17:08:05 +01:00
Geoffrey White
09dc7fc5c4
Rust: Autoformat.
2025-05-02 16:58:43 +01:00
Mathias Vorreiter Pedersen
bce5f2539f
C++/C#/Java/Rust: Fixup tests.
2025-05-02 16:52:05 +01:00
Mathias Vorreiter Pedersen
37bc2bf5b3
Shared: Deduplicate flow summaries.
2025-05-02 16:51:15 +01:00
Geoffrey White
dc1b4fcf7a
Rust: Unify getOperatorName() methods into Operation.
2025-05-02 16:46:51 +01:00
Geoffrey White
be2017621f
Rust: Unify getAnOperand() methods into Operation.
2025-05-02 16:46:50 +01:00
Geoffrey White
060d5152c4
Rust: Add an Operation class above LogicalOperation, AssignmentOperation etc.
2025-05-02 16:46:44 +01:00
Arthur Baars
6bf50d8f86
Rust: add upgrade/downgrade scripts
2025-05-02 16:36:51 +02:00
Jeroen Ketema
5c4ca64264
Swift: Add change note
2025-05-02 16:29:42 +02:00
Taus
2ded42c285
Python: Update extractor tests
2025-05-02 14:27:46 +00:00
Taus
67d04d5477
Python: Add change note
2025-05-02 14:27:46 +00:00
Taus
605f2bff9c
Python: Add integration test
2025-05-02 14:27:46 +00:00
Arthur Baars
bc35599f1a
Rust: rename MacroStmts to MacroBlockExpr
2025-05-02 16:23:02 +02:00
Arthur Baars
869af58c9d
Rust: add flow step for MacroStmts
2025-05-02 16:23:00 +02:00
Arthur Baars
9ca6706550
Rust: make MacroStmts a CFG Expr
2025-05-02 16:22:59 +02:00
Arthur Baars
4ca98ba816
Rust: test with format! macro in a block
2025-05-02 16:22:57 +02:00
Jeroen Ketema
95ac458d2a
Swift: Add upgrade and downgrade scripts
2025-05-02 16:04:49 +02:00
Paolo Tranquilli
674800748b
Rust: fix location emission
2025-05-02 15:24:31 +02:00
Mathias Vorreiter Pedersen
4d2f2b89e7
Shared/Java/C#/Rust/C++: Rename 'captureHeuristicFlow' to 'captureFlow'.
2025-05-02 14:02:41 +01:00
Mathias Vorreiter Pedersen
54f0eed2c6
Shared: Rename 'asLiftedTaintModel' to 'asLiftedModel'.
2025-05-02 13:54:58 +01:00
Jeroen Ketema
98384bf4c2
Swift: Support BuiltinFixedArrayType
2025-05-02 14:47:58 +02:00
Jeroen Ketema
c74fca929a
Swift: Support TypeValueExpr and IntegerType
2025-05-02 14:47:56 +02:00
Jeroen Ketema
97d2ed8b3b
Swift: Support UnsafeCastExpr
2025-05-02 14:47:55 +02:00
Tom Hvitved
ae2fd52543
Merge pull request #19431 from hvitved/rust/path-resolution-remove-visibility-check
...
Rust: Remove visibility check in path resolution
2025-05-02 14:44:14 +02:00
Taus
0c1b379ac1
Python: Extract files in hidden dirs by default
...
Changes the default behaviour of the Python extractor so files inside
hidden directories are extracted by default.
Also adds an extractor option, `skip_hidden_directories`, which can be
set to `true` in order to revert to the old behaviour.
Finally, I made the logic surrounding what is logged in various cases a
bit more obvious.
Technically this changes the behaviour of the extractor (in that hidden
excluded files will now be logged as `(excluded)`, but I think this
makes more sense anyway.
2025-05-02 12:44:05 +00:00
Tom Hvitved
07829e5231
Merge pull request #19421 from github/aibaars/rust-builtin-types
...
Rust: extract declarations of builtin types
2025-05-02 14:43:47 +02:00
Napalys Klicius
d1e769ba54
Merge pull request #19422 from Napalys/js/shelljs
...
JS: Modeling of `ShellJS` functions
2025-05-02 14:18:44 +02:00
Napalys Klicius
30694c11d6
Removed code duplication
2025-05-02 13:44:07 +02:00
Asger F
b8be1bcee8
JS: Avoid duplication with constructor body
2025-05-02 13:44:03 +02:00
Paolo Tranquilli
557f468fc0
Merge branch 'main' into redsun82/rust-expand-attr-macros
2025-05-02 13:43:17 +02:00
Paolo Tranquilli
82736ea621
Rust: add diagnostics about item expansion not working properly
2025-05-02 13:43:00 +02:00
Napalys Klicius
871e93d9fe
Update javascript/ql/lib/semmle/javascript/frameworks/ShellJS.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-05-02 13:39:46 +02:00
Asger F
1f308ee47a
JS: Explain use of monotonicAggregates
2025-05-02 13:22:27 +02:00
Asger F
5c9218fe5a
JS: Add comment about 'path' heuristic
2025-05-02 13:22:25 +02:00
Simon Friis Vindum
c6d95ceeb0
Shared: Remove the language-specific model generator scripts
2025-05-02 13:21:10 +02:00
Simon Friis Vindum
3aed1c8696
Merge branch 'main' into rust-update-stdlib-models
2025-05-02 12:54:43 +02:00
Asger F
f3e0cfd947
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2025-05-02 12:41:29 +02:00
Geoffrey White
f64e86fe2e
Rust: Add a library test for Operations.
2025-05-02 11:22:48 +01:00
Mathias Vorreiter Pedersen
d5bc95daeb
Merge branch 'main' into generate-more-value-preserving-summaries-2
2025-05-02 10:51:11 +01:00
Asger F
16fc8c3d9e
JS: Benign test updates
2025-05-02 11:09:19 +02:00
Michael Nebel
74669cb0cb
Merge pull request #19382 from michaelnebel/shared/modelgenrefactor
...
Shared: Re-factor summary, source and sink model generators into separate modules.
2025-05-02 09:38:24 +02:00
Tamás Vajk
cb1c3736fe
Merge pull request #19413 from tamasvajk/quality/query-suite-selector
...
Add code quality suite selector and use that in the code quality suites
2025-05-02 08:18:48 +02:00
Arthur Baars
778f46d5be
Rust: adjust unit tests and expected output
2025-05-01 22:21:48 +02:00
Chad Bentz
d3aa2a130c
Moved guidance to RST
2025-05-01 19:37:26 +00:00
Napalys Klicius
c430a36b4c
Refactored merge StandardClassNode into ClassNode
2025-05-01 19:12:12 +02:00
Geoffrey White
93f8cea884
Rust: Add + clean up some QLDoc.
2025-05-01 17:11:34 +01:00
Napalys Klicius
f652686607
Merge pull request #19444 from Napalys/python/hdbcli
...
Python: modeling of `hdbcli`
2025-05-01 17:58:31 +02:00
Geoffrey White
c9ce6c0fb6
Rust: Demote rust/cleartext-logging to warning.
2025-05-01 16:42:41 +01:00
Geoffrey White
bd3155ef0c
Rust: Promote rust/uncontrolled-allocation-size to warning.
2025-05-01 16:42:13 +01:00
Tom Hvitved
73fa381dbc
Rust: Remove visibility check in path resolution
2025-05-01 17:14:49 +02:00
Tom Hvitved
40f80ff4e7
Merge pull request #19442 from hvitved/rust/clone-modeling
...
Rust: Strengthen modeling of the `Clone` trait
2025-05-01 17:11:42 +02:00
Jeroen Ketema
8ad6938a82
Merge pull request #19434 from jketema/array-barrier
...
C++: Limit flow through sinks and sources in `cpp/upcast-array-pointer-arithmetic`
2025-05-01 16:42:53 +02:00
Geoffrey White
3789c46791
Rust: Remove stray comment, accept changes to another test.
2025-05-01 15:40:32 +01:00
yoff
d7e6e1dd66
Merge pull request #19432 from yoff/python/model-http-server-header-write
...
python: model `send_header` from `http.server`
2025-05-01 15:34:05 +02:00
Geoffrey White
e263116452
Rust: Model std::net and tokio::net.
2025-05-01 14:25:44 +01:00
Asger F
a44bdf3be2
JS: Generate summaries from summaryModel, and only generate steps as a fallback
2025-05-01 15:22:47 +02:00
Asger F
0fc1ae272e
DataFlow: expose from FlowSummaries whether a summary is supported
2025-05-01 15:22:12 +02:00
Arthur Baars
8e8efedb42
Rust: adjust integration tests and expected output
2025-05-01 15:20:36 +02:00
Taus
481adcea0a
Merge pull request #18449 from github/tausbn/misc-add-script-for-calculating-mrva-totals
...
Misc: Add script for calculating totals for a MRVA run
2025-05-01 15:17:19 +02:00
Asger F
ca5f8b0c1d
JS: Move some code into ModelsAsData.qll
2025-05-01 15:17:07 +02:00
Owen Mansel-Chan
e0549483fd
Merge pull request #19429 from owen-mc/fix-cwe-tags-missing-leading-zero
...
Fix cwe tags to include leading zero
2025-05-01 14:09:54 +01:00
Arthur Baars
53b2e9708c
Rust: extract declarations of builtin types
2025-05-01 14:27:21 +02:00
Napalys Klicius
da7c0931b8
Added hdbcli to be part of supported-framework as well as change note
2025-05-01 14:18:08 +02:00
Napalys Klicius
e1fc0ca051
Added implementation hdbcli as part of PEP249::PEP249ModuleApiNode
2025-05-01 14:18:02 +02:00
Geoffrey White
038b8b5344
Rust: Add a missing model for std::io.
2025-05-01 13:04:18 +01:00
Geoffrey White
3104dba09e
Rust: Fix some shortcomings in our models of Reqwest.
2025-05-01 13:04:17 +01:00
Geoffrey White
f4ae211019
Rust: Add models for tokio (fs).
2025-05-01 13:04:16 +01:00
Geoffrey White
7439b0c504
Rust: Add models for tokio (io).
2025-05-01 13:04:15 +01:00
Geoffrey White
627496df09
Rust: Add source tests for tokio (fs).
2025-05-01 13:04:13 +01:00
Geoffrey White
b2339ef0d9
Rust: Add some alternative sinks.
2025-05-01 13:04:12 +01:00
Geoffrey White
950812b463
Rust: Add further source tests for tcp streams.
2025-05-01 13:04:06 +01:00
Napalys Klicius
0325f368fe
Added test case for hdbcli
2025-05-01 13:57:14 +02:00
Nick Rolfe
817237ce54
Merge pull request #19441 from github/nickrolfe/mergeback-2.21.2
...
Merge back 2.21.2 release branch
2025-05-01 11:55:29 +01:00
Simon Friis Vindum
a545361a55
Rust: Accept test changes
2025-05-01 12:36:01 +02:00
Napalys Klicius
6ba0dc20a3
Merge pull request #19439 from Napalys/js/fastify-all
...
JS: Modeling of `fastify`
2025-05-01 12:11:52 +02:00
Simon Friis Vindum
ecead2cafd
Rust: Workaround for method existing both as source and as dependency
2025-05-01 12:00:18 +02:00
Simon Friis Vindum
3ee89899d9
Rust: Handle inherent implementations shadowing trait implementations
2025-05-01 12:00:17 +02:00
Simon Friis Vindum
4513106a35
Rust: Add type inference test for inherent implementation shadowing trait implementation
2025-05-01 12:00:13 +02:00
Simon Friis Vindum
e45b5c557d
Rust: Implement type inference support for non-universal impl blocks
2025-05-01 11:59:15 +02:00
Simon Friis Vindum
22407cad44
Rust: Add type inference test for non-universal impl blocks
2025-05-01 11:58:09 +02:00
Owen Mansel-Chan
0863c87572
Add change notes
2025-05-01 10:33:24 +01:00
Napalys Klicius
68a9dd9f9e
Address comments
2025-05-01 11:19:41 +02:00
Napalys Klicius
c7d764f666
Brought back FunctionStyleClass marked as deprecated
2025-05-01 11:16:04 +02:00
Napalys Klicius
d4b5ef6a66
Refactor process.env handling in CleartextLogging and IndirectCommandInjection modules to use ThreatModelSource
2025-05-01 11:14:15 +02:00
Napalys Klicius
33d8ffa83e
Added test cases for shelljs.env
2025-05-01 11:11:29 +02:00
Napalys Klicius
602500e280
Added change note
2025-05-01 11:09:56 +02:00
Napalys Klicius
40d176a770
Added model for shelljs.env
2025-05-01 11:09:47 +02:00
Tom Hvitved
423e2dac91
Rust: Strenghten the modeling of the Clone trait
2025-05-01 10:54:52 +02:00
Simon Friis Vindum
499d224c2b
Rust: Update generated models for core and std
2025-05-01 10:54:05 +02:00
Tom Hvitved
1770f568a2
Merge pull request #19367 from hvitved/rust/type-inference-try-expr
...
Rust: Type inference for `?` expressions
2025-05-01 10:27:49 +02:00
Nick Rolfe
20f7781d9f
Merge pull request #19437 from adityasharad/docs/fix/2.21.0-escaping
...
Docs: Fix escaping in 2.21.0 changelog
2025-05-01 09:27:41 +01:00
Nick Rolfe
005a27bff9
Merge pull request #19436 from adityasharad/actions/ga-change-note
...
Actions: Retroactively add GA changenote
2025-05-01 09:21:15 +01:00
Napalys Klicius
9bab59363c
Fix class instance method detection in constructor receiver
2025-05-01 09:14:39 +02:00
Napalys Klicius
7430d0e5e0
Added failing test with method as field
2025-05-01 09:14:37 +02:00
Napalys Klicius
c0917434eb
Removed code duplication
2025-05-01 09:14:36 +02:00
Napalys Klicius
fc7520e9e7
Added change note
2025-05-01 09:14:34 +02:00
Simon Friis Vindum
bab84d03d1
Merge pull request #19419 from paldepind/rust-precise-implicit-deref-borrow
...
Rust: Use type inference to insert implicit borrows and derefs
2025-05-01 08:41:37 +02:00
Aditya Sharad
36199b3f06
Docs: Fix escaping in 2.21.0 changelog
...
These break when the RST is processed.
Escape the backslashes and consistently add
inline code blocks.
2025-04-30 16:40:36 -07:00
Aditya Sharad
6285c2e502
Actions: Retroactively add GA changenote
...
This was manually added in the docs site at the time of 2.21.1 release and GA.
Include the change note in the relevant places so it remains
in future docs updates:
- codeql/actions-queries@0.5.4
- codeql/actions-all@0.4.7
- 2.21.1 changelog
2025-04-30 16:24:22 -07:00
Mathias Vorreiter Pedersen
d8eafbb9e2
C++: Fixup queries and accept test changes.
2025-04-30 20:34:35 +01:00
Mathias Vorreiter Pedersen
775197372c
Rust: Fixup queries.
2025-04-30 20:34:33 +01:00
Mathias Vorreiter Pedersen
07641e48ab
Java: Fixup queries and accept test changes.
2025-04-30 20:34:32 +01:00
Mathias Vorreiter Pedersen
cd47379700
C#: Fixup queries and accept test changes.
2025-04-30 20:34:30 +01:00
Mathias Vorreiter Pedersen
607a1e46da
Shared: Generate value-preserving summaries when possible.
2025-04-30 20:34:27 +01:00
Jeroen Ketema
2ed48ae571
C++: Update expected test results after barrier introduction
2025-04-30 20:51:27 +02:00
Tom Hvitved
a3c26b4bfe
Rust: Type inference for ? expressions
2025-04-30 20:35:11 +02:00
Tom Hvitved
88075c4c8c
Rust: Make manual tweaks to Copilot generated code
2025-04-30 20:35:10 +02:00
Tom Hvitved
51e70d0c3b
Rust: Add Copilot generated test for ? operator expressions
2025-04-30 20:35:09 +02:00
Jeroen Ketema
723778fa82
C++: Limit flow through sinks and sources in cpp/upcast-array-pointer-arithmetic
2025-04-30 20:31:12 +02:00
Jeroen Ketema
359aa02602
Merge pull request #19410 from jketema/header-variant
...
C++: Turn header variant tests that use PCH files into integration tests
2025-04-30 20:10:30 +02:00
yoff
e63b38c515
python: add change note
2025-04-30 20:05:55 +02:00
yoff
cf45e771f3
python: remove copied comment
2025-04-30 20:01:43 +02:00
yoff
531f2a15a4
python: model send_header from http.server
2025-04-30 19:58:14 +02:00
Jeroen Ketema
3423a1072a
C++: Address review comments
2025-04-30 19:10:35 +02:00
Napalys Klicius
7fec3aec95
Renamed FunctionStyleClass class to StandardClassNode
2025-04-30 18:51:46 +02:00
Napalys Klicius
e9ee7134ef
Refactor prototype reference retrieval in ClassNode and update expected test output
2025-04-30 18:51:39 +02:00
Owen Mansel-Chan
a9132c43d0
Fix incorrect CWE tags
2025-04-30 16:47:35 +01:00
Owen Mansel-Chan
cf614a596d
Fix cwe tags to include leading zero
2025-04-30 16:43:03 +01:00
REDMOND\brodes
c80588cda1
Adding content to KnownSymmetricCipherAlgorithmql.
2025-04-30 11:41:28 -04:00
Simon Friis Vindum
c263d3faf9
Rust: Remove predicates unused after refactor
2025-04-30 17:39:22 +02:00
Tom Hvitved
302680cfb2
Merge pull request #19425 from hvitved/rust/type-inference-debug-predicates
...
Rust: Add type inference debug predicates
2025-04-30 17:03:05 +02:00
Nicolas Will
83617e099f
Merge pull request #2 from nicolaswill/knewbury01/JCA-sample
...
Implement first stage cryptography modelling and queries
2025-04-30 16:39:56 +02:00
Paolo Tranquilli
6ecaf65132
Rust: fix downgrade script
2025-04-30 16:38:13 +02:00
Nicolas Will
27c7bf3047
Merge branch 'github:main' into crypto-test
2025-04-30 16:35:26 +02:00
Nicolas Will
2b1b90ccc4
Merge pull request #4 from nicolaswill/brodes/cipher_operation
...
Adding a sketch for a CipherOperation concept to model encryption/dec…
2025-04-30 16:32:20 +02:00
Nicolas Will
dd2f53f42e
Merge pull request #10 from nicolaswill/brodes/key_agreement
...
Initial progress on key agreement.
2025-04-30 16:31:42 +02:00
Nicolas Will
9c87ad8293
Merge branch 'brodes/key_agreement' of https://github.com/nicolaswill/codeql into brodes/key_agreement
2025-04-30 16:28:35 +02:00
Nicolas Will
7f24a2557d
Add modelling for JCA key gen cipher algorithm
2025-04-30 16:28:31 +02:00
Jeroen Ketema
edd18dc052
C++: Address review comment
2025-04-30 16:23:06 +02:00
Chad Bentz
2bef3c3604
Adding comprehensive docs for customizing query
2025-04-30 09:44:27 -04:00
Paolo Tranquilli
8ffe4d6593
Merge branch 'main' into redsun82/rust-expand-attr-macros
2025-04-30 15:25:32 +02:00
Paolo Tranquilli
ecd80fbc34
Rust: fix QL compilation errors
2025-04-30 15:25:01 +02:00
Jonas Jensen
c8e564b2ba
Merge pull request #19416 from jbj/ruby-no-diff-informed-regex
...
Ruby: disable diff-informed mode on regex queries
2025-04-30 15:17:20 +02:00
Tom Hvitved
4f5b340278
Rust: Add type inference debug predicates
2025-04-30 15:12:58 +02:00
Tom Hvitved
389f15e670
Merge pull request #19362 from hvitved/rust/crate-extraction-workarounds
...
Rust: Crate graph extraction workarounds
2025-04-30 15:11:26 +02:00
Napalys Klicius
9624a413e4
Added change note
2025-04-30 14:57:00 +02:00
Napalys Klicius
71f1b82a56
Added support for fastify.all
2025-04-30 14:54:09 +02:00
Napalys Klicius
6d61766366
Added test case for fastify.all
2025-04-30 14:50:35 +02:00
Simon Friis Vindum
f584d22b53
Rust: Use type inference to insert implicit borrows and derefs
2025-04-30 14:43:51 +02:00
Asger F
8ebbfb198e
Merge pull request #19412 from asgerf/js/promise-all
...
JS: Better type-tracking through Promise.all()
2025-04-30 14:19:12 +02:00
Jeroen Ketema
c7e4853c38
Merge pull request #19269 from jketema/non-second-level-limits
...
C++: Do not limit second level scopes to the top-level
2025-04-30 13:50:36 +02:00
Napalys Klicius
18cea2d6a5
Added support for shelljs.cmd and async-shelljs.asyncExec
2025-04-30 13:37:02 +02:00
Napalys Klicius
25d04f1cdd
Added support for shelljs.which
2025-04-30 13:35:17 +02:00
Napalys Klicius
f6fae7ad60
Added test cases for cmd, which and asyncExec
2025-04-30 13:33:31 +02:00
Paolo Tranquilli
1c1ccdacb8
Merge pull request #19418 from github/redsun82/improve-codegen-codeql-requirement-message
...
Codegen: make missing `codeql` error clearer
2025-04-30 12:14:37 +02:00
Asger F
da5d799152
JS: Change note
2025-04-30 11:59:47 +02:00
Paolo Tranquilli
9958cc7784
Codegen: consider windows paths in local codeql binary heuristic
2025-04-30 11:43:03 +02:00
Paolo Tranquilli
ba89a5de6f
Codegen: make missing codeql error clearer
2025-04-30 11:38:52 +02:00
Tom Hvitved
52bd99b852
Address review comments
2025-04-30 11:04:12 +02:00
Tom Hvitved
97532525d8
Rust: Crate graph extraction workarounds
2025-04-30 11:01:43 +02:00
Joe Farebrother
7106475033
Merge pull request #19411 from joefarebrother/python-qual-file-not-closed
...
Python: Improve performance of FileNotClosed query by using an explicit fastTC
2025-04-30 09:51:48 +01:00
Jonas Jensen
eb7cd3d221
Ruby: disable diff-informed mode on regex queries
...
These queries were failing in `codeql test run --check-diff-informed`
because they can select locations inside the regex. Until that can be
fixed, diff-informed mode is disabled for these queries.
2025-04-30 08:54:57 +02:00
Paolo Tranquilli
2c95f00432
Merge pull request #19414 from github/revert-19385-redsun82/update-rules-kotlin
...
Revert "Bazel: update `rules_kotlin` to 2.1.3"
2025-04-29 22:02:04 +02:00
Tom Hvitved
64145ab98a
Merge pull request #19369 from hvitved/rust/crate-graph-self-param
...
Rust: Extract `SelfParam`s from crate graph
2025-04-29 21:23:27 +02:00
Napalys Klicius
6de38b1827
Merge pull request #19300 from Napalys/js/fastify
...
JS: Added support for `fastify.addHook`
2025-04-29 18:32:25 +02:00
Paolo Tranquilli
280ce058a9
Revert "Bazel: update rules_kotlin to 2.1.3"
2025-04-29 17:38:33 +02:00
Paolo Tranquilli
abbf753a09
Merge pull request #19385 from github/redsun82/update-rules-kotlin
...
Bazel: update `rules_kotlin` to 2.1.3
2025-04-29 16:54:28 +02:00
Tamas Vajk
e9e6d68a6e
Use code-quality-selectors in Ruby suite
2025-04-29 16:23:33 +02:00
Tamas Vajk
fdeac95714
Use code-quality-selectors in Python suite
2025-04-29 16:23:22 +02:00
Tamas Vajk
d56c5225f6
Use code-quality-selectors in JS suite
2025-04-29 16:23:08 +02:00
Tamas Vajk
2515b06b2a
Use code-quality-selectors in Go suite
2025-04-29 16:22:57 +02:00
Tamas Vajk
bb46ca7a64
Modify quality query suite selector for actions, cpp, rust and swift
2025-04-29 16:22:37 +02:00
Paolo Tranquilli
a7a887c828
Rust: separate attribute macro and macro call expansions
2025-04-29 16:18:40 +02:00
Tamas Vajk
425e020d6c
Use code-quality-selectors in Java suite
2025-04-29 16:09:51 +02:00
Asger F
b0f73f1cbd
JS: Update test output now that we import .d.ts files more liberally
2025-04-29 16:06:39 +02:00
Asger F
70a5ec5607
JS: Add package.json files in tests relying on node_modules
...
We don't extract node_modules folders by default so these tests aren't
that relevant anymore, and we no longer follow node_modules resolution
rules directly.
Instead, these imports are resolved based on the monorepo support which
simply requires a package.json file to exist. There is not a good enough
reason to support node_modules directly, so we're accepting some
minor regression in these tests.
2025-04-29 16:06:38 +02:00
Asger F
5de2c938d8
JS: Rename getTargetFile to getImportedFile and remove its deprecated name clash
...
'getTargetFile' was originally named to avoid the clash with 'getImportedFile' from a subclass. But we now just merge the two predicates.
2025-04-29 16:06:36 +02:00
Asger F
be5de9c080
JS: Update test output
...
path.resolve() and template expressions are now working.
Previously they could not be resolved because Import.getImportedPath() returned a PathExpr,
and these were not instances of PathExpr.
2025-04-29 16:06:35 +02:00
Tamas Vajk
ea9b95790b
Use code-quality-selectors in C# suite
2025-04-29 16:02:46 +02:00
Tamas Vajk
e3a6681182
Add code quality suite selector
2025-04-29 16:02:21 +02:00
Michael Nebel
c9d01bc607
Shared: Sprinkle some predicate defaults and clean up.
2025-04-29 15:22:13 +02:00
Michael Nebel
a6b5645b13
Rust: Re-factor implementation to use the new model generator interface.
2025-04-29 15:22:11 +02:00
Michael Nebel
c16d913f8a
C++: Re-factor implementation to use the new model generator interface.
2025-04-29 15:22:09 +02:00
Michael Nebel
2535055de0
Java: Re-factor implementation to use the new model generator interface.
2025-04-29 15:22:07 +02:00
Michael Nebel
0016fbfa21
C#: Re-factor implementation to use the new model generator interface.
2025-04-29 15:22:05 +02:00
Michael Nebel
bb6530fcf8
Shared: Make the summary, source and sink model generation a parameterized module.
2025-04-29 15:22:03 +02:00
Michael Nebel
b5c596b2ce
Shared: Split model printing of summaries and sources/sinks into separate param modules.
2025-04-29 15:21:59 +02:00
Michael Nebel
f5a295c24e
Merge pull request #19408 from michaelnebel/debug/removemodelgentag
...
C#/Java/Rust: Change the tag for the model generator debugging queries.
2025-04-29 15:21:18 +02:00
Asger F
eae1e1cb02
JS: Make API graphs rely on type-tracking steps in general
2025-04-29 15:08:19 +02:00
Asger F
e40b93b8a3
JS: Add type-tracking step through simple Promise.all() calls
2025-04-29 15:08:18 +02:00
Jeroen Ketema
7f9020282d
C++: Turn header variant tests that use PCH files into integration tests
...
These tests currently test a code path in the extractor that only exists for
these tests. By turning them into integration tests, we actually use the
code path that normal database creation uses.
2025-04-29 14:51:34 +02:00
Joe Farebrother
299b3f7af4
Merge pull request #19325 from joefarebrother/python-qual-loop-var-capture
...
Python: Tweak LoopVariableCapture for performance
2025-04-29 13:49:09 +01:00
Joe Farebrother
acb9c20a76
Use explicit fastTC
2025-04-29 13:22:11 +01:00
Asger F
ed2a832a55
JS: Deprecate PathExpr and related classes
2025-04-29 13:23:47 +02:00
Asger F
fe055ad603
JS: Use PackageJsonEx instead of resolveMainModule
2025-04-29 13:23:45 +02:00
Asger F
c293f03b9e
JS: Remove a dependency on getImportedPath()
...
To avoid negative recursion in some upcoming changes, we want to make sure the modeling of createRequire does not depend on getImportedPath().
2025-04-29 13:23:43 +02:00
Asger F
a195d074c9
JS: Resolve Angular2 templateUrl with ResolveExpr instead of PathExpr
2025-04-29 13:23:42 +02:00
Asger F
d724874969
JS: Implement babel-plugin-root-import as a PathMapping
2025-04-29 13:23:40 +02:00
Asger F
e4420f63fb
JS: Move babel-root-import test
...
This moves the test for the babel `root-import` plugin into the new
unit test for import resolution, so we only have one set of tests to
maintain.
The actual implementation is added in the next commit.
2025-04-29 13:23:38 +02:00
Asger F
6725cb5b8c
JS: Implement import resolution
2025-04-29 13:23:37 +02:00
Asger F
ed4864edf7
JS: Add two more helpers to FilePath class
2025-04-29 13:07:21 +02:00
Asger F
f542956f66
JS: Add internal extension of PackageJson class
2025-04-29 13:07:19 +02:00
Asger F
bb91df8145
JS: Add helper for doing path resolution with JS rules
2025-04-29 13:07:18 +02:00
Asger F
59e1cbcc7b
JS: Add tsconfig class
2025-04-29 13:07:16 +02:00
Asger F
ef32a036b1
JS: Extract from methods from PathString into a non-abstract base class
...
The new class 'FilePath' has bindingset[this] so one just has to cast a string to that type and you can use its methods.
2025-04-29 13:07:15 +02:00
Asger F
17aa5220a6
JS: Add some helpers
2025-04-29 13:07:14 +02:00
Asger F
565cb434fc
JS: Add test
2025-04-29 13:07:10 +02:00
Napalys Klicius
c8ee8dce98
Add test cases to verify correct call graph resolution with various JavaScript inheritance patterns
2025-04-29 13:04:07 +02:00
Asger F
359525b65a
JS: Extract more tsconfig.json patterns
2025-04-29 12:46:49 +02:00
Asger F
8c0b0c4800
JS: Ensure json files are extracted properly in tests
2025-04-29 12:46:20 +02:00
Napalys Klicius
0a9a7911c2
Fixed issue where method calls weren't properly resolved when inheritance was implemented via prototype manipulation instead of ES6 class syntax.
2025-04-29 12:39:44 +02:00
Napalys Klicius
a015003bda
Updated test case to resolve reflected calls
2025-04-29 12:37:03 +02:00
Napalys Klicius
4fbf8ca5cf
Added test cases with inheritance
2025-04-29 12:36:30 +02:00
Michael Nebel
89fd9a4dd5
C#/Java/Rust: Change the tag for the model generator debugging queries.
2025-04-29 12:02:37 +02:00
Michael Nebel
e5d296180b
Merge pull request #19396 from michaelnebel/csharp/equality-on-floats
...
C#: Add `cs/equality-on-floats` to the Code Quality suite.
2025-04-29 11:47:18 +02:00
Mathias Vorreiter Pedersen
daf953fabe
Merge pull request #19404 from MathiasVP/cleanup-PropagateFlowConfig
...
Shared: Use `isSink/1` in `PropagateFlowConfig`
2025-04-29 10:30:01 +01:00
Nick Rolfe
d784473dcd
Merge pull request #19400 from github/nickrolfe/rb-qhelp-tweak
...
Fix spelling/wording in qhelp for `rb/uninitialized-local-variable`
2025-04-29 09:43:58 +01:00
Tamás Vajk
1694050f37
Merge pull request #19390 from tamasvajk/test/cpp-python-query-suites
...
Add query suite inclusion tests for cpp, python
2025-04-29 10:26:40 +02:00
Asger F
ec9d15bb79
JS: Make shared Folder module visible
2025-04-29 09:42:25 +02:00
Asger F
2ce01bfb9a
Add Folder::Resolve as a generalisation of Folder::Append
2025-04-29 09:42:23 +02:00
Asger F
eb059969e3
Move getAChildContainer one scope up
2025-04-29 09:42:22 +02:00
Asger F
6e64a22579
Merge pull request #19393 from asgerf/js/json-extractor-trailing-commas2
...
JS: Tolerate trailing commas in JSON objects
2025-04-29 09:40:38 +02:00
Tamás Vajk
e73031c688
Update cpp/ql/integration-tests/query-suite/not_included_in_qls.expected
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-04-29 08:45:02 +02:00
Tamas Vajk
a408e216ae
Add query suite inclusion tests for cpp, python
2025-04-29 08:45:01 +02:00
Jeroen Ketema
966b7463ee
Merge pull request #19397 from jketema/use-after-free
...
C++: Add use-after-free FP tests
2025-04-29 08:32:44 +02:00
REDMOND\brodes
ac798f2bc6
Cipher Algorithm Slices
2025-04-28 16:03:41 -04:00
REDMOND\brodes
ac3675bdac
Typo fix
2025-04-28 16:00:41 -04:00
REDMOND\brodes
219476cee0
Adding KDF iteration count inventory filters.
2025-04-28 15:47:58 -04:00
REDMOND\brodes
ce3eabf05a
Updating model to support slicing.
2025-04-28 14:56:28 -04:00
REDMOND\brodes
5a8bffac11
Removing old asymmetric algorithm slice
2025-04-28 14:56:08 -04:00
REDMOND\brodes
1fd7643ab3
Adding example slicing queries.
2025-04-28 14:54:38 -04:00
Mathias Vorreiter Pedersen
b91a2cc159
Shared: Use 'isSink/1' in 'PropagateFlowConfig'.
2025-04-28 17:36:37 +01:00
REDMOND\brodes
7b7ed61beb
Adding an asymmetric algorithm slice.
2025-04-28 11:34:32 -04:00
REDMOND\brodes
fdd09a4dbf
Adding a new means for determining if there is nonce reuse.
2025-04-28 11:34:16 -04:00
REDMOND\brodes
28ccc83346
Adding a means to distinguish asymmetric algorithms.
2025-04-28 11:33:37 -04:00
Nick Rolfe
50f7ee1158
Merge pull request #19401 from github/post-release-prep/codeql-cli-2.21.2
...
Post-release preparation for codeql-cli-2.21.2
2025-04-28 16:16:21 +01:00
github-actions[bot]
2e0699ab2b
Post-release preparation for codeql-cli-2.21.2
2025-04-28 14:03:28 +00:00
Nick Rolfe
69bc12dd4f
Fix spelling/wording in qhelp for rb/uninitialized-local-variable
2025-04-28 14:41:21 +01:00
Napalys Klicius
ee3a3bd9f5
Add support for prototype methods in class instance member resolution
2025-04-28 15:17:26 +02:00
Napalys Klicius
4705d30bac
Add call graph tests for prototype methods injected on class
2025-04-28 15:12:24 +02:00
Nick Rolfe
a46f8fb0d9
Merge pull request #19398 from github/nickrolfe/rm-erroneous-query
...
Java: Remove erroneously-committed query
2025-04-28 14:06:52 +01:00
Napalys Klicius
c57172121e
Update Nodes.qll
...
Applied suggestions
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-04-28 14:58:51 +02:00
Nick Rolfe
e3f33f192f
Remove erroneously-committed query
2025-04-28 13:55:34 +01:00
Napalys Klicius
8b53f8f2a6
Fix, prevent addHook return values from being treated as XSS sinks
2025-04-28 14:22:51 +02:00
Napalys Klicius
b4c98b40a5
Merge pull request #19364 from Napalys/js/aws_creds
...
JS: Improved modeling of `aws-sdk`
2025-04-28 14:18:03 +02:00
Jeroen Ketema
0bb0b5c587
C++: Add use-after-free FP tests
2025-04-28 14:13:14 +02:00
Napalys Klicius
73309fb9dd
Updated modeling of aws-sdk with MaD
2025-04-28 14:00:12 +02:00
Napalys Klicius
654177daa7
Fixed naming acronyms to be PascalCase
2025-04-28 14:00:12 +02:00
Napalys Klicius
f7f9fb823a
Updated takesConfigurationObject with API graphs
2025-04-28 14:00:12 +02:00
Napalys Klicius
42d5b80e81
Added support for AWS.Credentials hardcoded credentials
2025-04-28 14:00:12 +02:00
Napalys Klicius
f69037c176
Added ability to detect direct write to global AWS.config
2025-04-28 14:00:12 +02:00
Napalys Klicius
05e4677fd1
Added ability to detect new AWS.ServiceName cases with hardcoded credentials
2025-04-28 14:00:12 +02:00
Napalys Klicius
e6450a17ec
Added test cases for individual AWS services, direct modification of global credentials and AWS.Credentials
2025-04-28 14:00:12 +02:00
Nick Rolfe
ded3865722
Merge pull request #19395 from github/release-prep/2.21.2
...
Release preparation for version 2.21.2
2025-04-28 12:57:36 +01:00
Nick Rolfe
ca7f8f21cd
Tweak change-note for MaD model generation
2025-04-28 12:50:58 +01:00
Michael Nebel
f9d8be1ef7
C#: Add change note.
2025-04-28 13:41:06 +02:00
Michael Nebel
8bc965641a
C#: Update integration tests expected output.
2025-04-28 13:38:15 +02:00
Michael Nebel
318bfc6d73
C#: Add cs/equality-on-floats to the code-quality suite.
2025-04-28 13:32:34 +02:00
Mathias Vorreiter Pedersen
f6e7d79f62
Merge pull request #19383 from MathiasVP/add-missing-predicate-to-mad-generation
...
C++: Fix missing summaries in MaD generation
2025-04-28 11:58:05 +01:00
github-actions[bot]
625354c46e
Release preparation for version 2.21.2
2025-04-28 10:55:22 +00:00
Nick Rolfe
35939ec3b1
Merge pull request #19394 from github/nickrolfe/actions-change-note
...
Follow-up fixes to #19376
2025-04-28 11:46:14 +01:00
Nick Rolfe
b61a87a2a3
Update integration test to match update to security-and-quality suite
2025-04-28 11:26:07 +01:00
Michael Nebel
2d6457e4d3
C#: Set the precision of cs/equality-on-floats to high.
2025-04-28 11:45:12 +02:00
Mathias Vorreiter Pedersen
e942ec9964
C++: Fix annotations after #19311 .
2025-04-28 10:39:11 +01:00
Mathias Vorreiter Pedersen
6466a5dbaf
Merge branch 'main' into add-missing-predicate-to-mad-generation
2025-04-28 10:33:24 +01:00
Nick Rolfe
70a3fe3e33
Add YAML front matter to change note
2025-04-28 10:09:33 +01:00
Asger F
152d6f3c29
JS: Tolerate trailing comma in JSON objects
2025-04-28 10:56:48 +02:00
Asger F
6dd8114f00
JS: Add test with trailing comma in JSON object
2025-04-28 10:56:34 +02:00
Paolo Tranquilli
2d32c366d8
Rust: add missing expected files
2025-04-28 10:46:36 +02:00
Michael Nebel
8857f0d0f2
Merge pull request #19311 from michaelnebel/csharp/generatorcleanup
...
Shared: Model generator cleanup.
2025-04-28 10:36:05 +02:00
Paolo Tranquilli
4ac104060e
Bazel: remove 2.0.0 rules_kotlin patching
2025-04-28 10:22:11 +02:00
Paolo Tranquilli
aafd7f8418
Merge branch 'main' into redsun82/update-rules-kotlin
2025-04-28 10:20:55 +02:00
Paolo Tranquilli
bcc65e13b0
Merge pull request #19381 from jketema/swift-doc
...
Swift: Clarify how the LFS artifacts should be updated
2025-04-28 09:42:52 +02:00
Tom Hvitved
14445a3d46
Merge pull request #19380 from hvitved/csharp/cfg/switch-fall-through
...
C#: Fix CFG for fall-through switch statements
2025-04-28 08:42:36 +02:00
Paolo Tranquilli
adeaceb7af
Rust: accept test changes
2025-04-25 17:41:13 +02:00
Michael B. Gale
987af4ce1d
Merge pull request #19248 from github/mbg/go/private-registries
...
Go: Support private registries via `GOPROXY`
2025-04-25 16:40:00 +01:00
Paolo Tranquilli
46fb041c50
Merge pull request #19384 from github/redsun82/swift-add-logs
...
Swift: add more debug logs
2025-04-25 17:24:11 +02:00
Paolo Tranquilli
89a9ae8bf4
Bazel: update rules_kotlin to 2.1.3
2025-04-25 17:18:09 +02:00
Michael B. Gale
7592ce47e3
Go: Restore parseRegistryConfigsFail test for the empty string
2025-04-25 15:45:12 +01:00
Michael B. Gale
91a794433a
Go: Change "Unable" to "Failed" for consistency
2025-04-25 15:42:29 +01:00
Michael B. Gale
5172a4d6ec
Go: Remove check from getEnvVars
2025-04-25 15:41:57 +01:00
Michael B. Gale
9cfa451477
Go: Fix/improve comment about environment variable preservation
2025-04-25 15:41:35 +01:00
Aditya Sharad
d4b083b5c0
Merge pull request #19376 from adityasharad/actions/exclude-model-generator-queries
...
Actions: Exclude model-generator queries from query suites
2025-04-25 20:03:32 +05:30
Paolo Tranquilli
49cf1739a4
Rust: expand attribute macros
2025-04-25 16:16:49 +02:00
Michael Nebel
de122225e8
C#/Rust: Update integration test expected output.
2025-04-25 15:52:36 +02:00
Michael Nebel
a589014243
C++: Update model generator tests.
2025-04-25 15:50:10 +02:00
Michael Nebel
d05f604390
C++: Adjust the model generator queries to the new shared implementation.
2025-04-25 15:50:08 +02:00
Michael Nebel
f6135d507b
Shared: Address review comments.
2025-04-25 15:50:06 +02:00
Michael Nebel
d187a7d144
Java: Update integration test that tracks queries not included in a query suite.
2025-04-25 15:50:04 +02:00
Michael Nebel
32125d2291
C#/Java/Rust: Add change notes.
2025-04-25 15:50:03 +02:00
Michael Nebel
21553960b0
Rust: Adjust tests.
2025-04-25 15:50:01 +02:00
Michael Nebel
71d0409bb7
Java: Convert the model generator neutral test to use the combined neutral generator.
2025-04-25 15:50:00 +02:00
Michael Nebel
7e51dae743
Java: Change the heuristic summary test tag to heuristic-summary.
2025-04-25 15:49:58 +02:00
Michael Nebel
08f7caaf39
Java: Adjust model generator test cases to the new implementation.
2025-04-25 15:49:56 +02:00
Michael Nebel
1d6c367049
C#: Change the capture neutral model test to use the content/heuristic version instead.
2025-04-25 15:49:55 +02:00
Michael Nebel
539a06dcb4
C#: Re-factor the heuristic summary test to use heuristic-summary tag in tests.
2025-04-25 15:49:53 +02:00
Michael Nebel
da99c75a13
C#: Rename some of the model generator tests.
2025-04-25 15:49:51 +02:00
Michael Nebel
7801fc321d
C#: Re-factor tests to use the new implementations.
2025-04-25 15:49:49 +02:00
Michael Nebel
2a0097ea56
C#/Java/Rust: Use Mixed flow from capture summary models queries and adjust other queries to the re-factored implementation.
2025-04-25 15:49:47 +02:00
Michael Nebel
f78be91af2
Shared: Re-factor the model generator and put the heuristic queries in its own module.
2025-04-25 15:49:45 +02:00
Michael Nebel
2357a69d55
Shared: Remove the --with-mixed-neutrals logic.
2025-04-25 15:49:44 +02:00
Michael Nebel
ae70c76a07
Shared: Use the CaptureSummaryModels instead of CaptureMixedSummaryModels.
2025-04-25 15:49:42 +02:00
Michael Nebel
fa5162fb13
Shared: Remove the backwards compatbility flag.
2025-04-25 15:49:41 +02:00
Michael Nebel
2a8fe53b04
Shared: Remove --with-mixed-summaries logic.
2025-04-25 15:49:38 +02:00
Tamás Vajk
3437210d32
Merge pull request #19355 from tamasvajk/test/add-query-suite-tests
...
Add query suite integration tests for swift, actions, csharp, go, javascript, ruby, rust
2025-04-25 15:37:51 +02:00
Paolo Tranquilli
d9a6a630e5
Swift: fix log compilation
2025-04-25 15:37:08 +02:00
Chuan-kai Lin
ed690972d4
Merge pull request #19379 from github/cklin/python-polynomial-redos
...
Python: disable diff-informed PolynomialReDoS.ql
2025-04-25 06:21:47 -07:00
Paolo Tranquilli
e71e7a08bb
Swift: add more debug logs
2025-04-25 15:20:20 +02:00
Tamas Vajk
998e64baf3
Fix failing C# test
2025-04-25 14:06:18 +02:00
Tamás Vajk
c54b684132
Apply suggestions from code review - code quality improvements
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2025-04-25 14:06:17 +02:00
Tamas Vajk
a4a24470c8
Add query suite inclusion tests for actions, csharp, go, javascript, ruby, rust
2025-04-25 14:06:17 +02:00
Tamas Vajk
522dd51416
Improve query suite test based on feedback
2025-04-25 14:06:16 +02:00
Tamas Vajk
4c9aee2cc7
Add query suite tests for swift with shared logic
2025-04-25 14:06:15 +02:00
Tom Hvitved
432435f1a6
Merge pull request #19358 from hvitved/rust/path-resolution-perf-tweaks
...
Rust: Path resolution performance tweaks
2025-04-25 14:01:47 +02:00
Michael B. Gale
e805d1ee90
Merge remote-tracking branch 'origin/main' into mbg/go/private-registries
2025-04-25 12:55:36 +01:00
Michael B. Gale
cafe1efefa
Go: Refactor ApplyProxyEnvVars
2025-04-25 12:30:48 +01:00
Mathias Vorreiter Pedersen
79c03100f8
C++: Accept test changes.
2025-04-25 12:29:38 +01:00
Mathias Vorreiter Pedersen
2f265395af
C++: Add missing predicate to grab the parameter position of a return kind.
2025-04-25 12:19:25 +01:00
Mathias Vorreiter Pedersen
63b0dd68c9
C++: Add a test with missing summaries.
2025-04-25 12:18:42 +01:00
Jeroen Ketema
9396f0ee55
C++: Set defaultFieldFlowBranchLimit to 3
2025-04-25 13:10:42 +02:00
Jeroen Ketema
ac3c3ae13a
C++: Do not limit second level scopes to the top-level
2025-04-25 13:10:40 +02:00
Jeroen Ketema
0b5a4a9133
Swift: Clarify how the LFS artifacts should be updated
2025-04-25 12:44:38 +02:00
Jeroen Ketema
8b95e0ee4a
Merge pull request #19315 from github/redsun82/swift-6.1
...
Swift: make extractor compile again after 6.1 upgrade
2025-04-25 12:34:39 +02:00
Jeroen Ketema
e8eac810b4
Swift: Commit external sources to git LFS
2025-04-25 11:56:28 +02:00
Tom Hvitved
e79a906426
C#: Fix CFG for fall-through switch statements
2025-04-25 11:48:30 +02:00
Tom Hvitved
a991ef0f87
C#: Add a CFG test for switch fall-through
2025-04-25 10:32:48 +02:00
Tom Hvitved
7e205366ab
Rust: Adjust clone modeling
2025-04-25 08:49:02 +02:00
Chuan-kai Lin
6c1e80df3a
Python: disable diff-informed PolynomialReDoS.ql
...
This commit disabled diff-informed for PolynomialReDoS.ql because it
could miss some alerts within diff ranges.
2025-04-24 14:57:06 -07:00
Aditya Sharad
b197de8db4
Actions: Add change note for removing model ggenerator queries
2025-04-24 14:21:04 -07:00
Aditya Sharad
05243bd855
Actions: Fix query ID for reusable workflow sinks query
2025-04-24 14:20:47 -07:00
Aditya Sharad
aabbfce010
Actions: Exclude model-generator queries from query suites
...
This change removes the model generator queries for Actions
sources/sinks/summaries from being run as part of the
`actions-security-and-quality.qls` query suite,
where they were accidentally included.
All languages will now exclude both `modelgenerator`
and `model-generator` tagged queries from their suites.
2025-04-24 13:25:38 -07:00
Ian Lynagh
f9172ff493
Merge pull request #19368 from igfoo/igfoo/add-check-for-buildmode-none
...
C++: Add exception for build-mode-none in various queries
2025-04-24 20:30:09 +01:00
Jeroen Ketema
5920925041
Merge pull request #19363 from jketema/platform
...
Update list of supported platforms
2025-04-24 19:11:31 +02:00
Jeroen Ketema
a5a21b1ddd
Swift: Guard 'getCaptures' in fillClosureExpr
2025-04-24 17:42:59 +02:00
Paolo Tranquilli
21170a1f6d
Merge pull request #19370 from github/redsun82/go-remove-invalid-toolchain-diagnostic
...
Go: remove invalid toolchain version diagnostics
2025-04-24 17:32:34 +02:00
Jeroen Ketema
21c97085a1
Merge pull request #19361 from jketema/fieldflow
...
Dataflow: Make default field flow branch limit configurable per language
2025-04-24 16:45:49 +02:00
Jeroen Ketema
55a8a4444d
Merge pull request #19365 from jketema/c23
...
C++: Claim beta support for C23 and C++23
2025-04-24 16:13:39 +02:00
Tom Hvitved
6df5a1ef80
Rust: Extract SelfParams from crate graph
2025-04-24 15:30:23 +02:00
Paolo Tranquilli
69b87a63b8
Go: remove invalid toolchain version diagnostics
...
This diagnostic was introduced by https://github.com/github/codeql/pull/15979 .
However in the meantime the Go team [has backtracked](https://github.com/golang/go/issues/62278#issuecomment-2062002018 )
on their decision, which leads to confusing alerts for user (e.g. https://github.com/github/codeql-action/issues/2868 ).
Even using Go toolchains from 1.21 to 1.22 we weren't immediately able
to reproduce the problem that this diagnostics was meant to guard
against. Therefore it was deemed simpler to just remove it.
_En passant_ the `Makefile` now accepts `rtjo` not being set.
2025-04-24 14:41:05 +02:00
Ian Lynagh
0cd859c559
C++: qlformat
2025-04-24 12:48:21 +01:00
Alexander Eyers-Taylor
ea83ecf802
Merge pull request #19327 from d10c/d10c/rtjo-csharp-jo-fix
...
C#: Join order fix
2025-04-24 12:34:22 +01:00
Ian Lynagh
063bff073b
C++: Add checks for build mode in various queries
...
Adds a check for the absence of build-mode-none in
cpp/wrong-type-format-argument
cpp/comparison-with-wider-type
cpp/integer-multiplication-cast-to-long
cpp/implicit-function-declaration
cpp/suspicious-add-sizeof
2025-04-24 12:15:31 +01:00
Geoffrey White
38397195a2
Rust: Add further source test cases for tokio.
2025-04-24 11:37:44 +01:00
Geoffrey White
b57375aa91
Rust: Add source tests for tcp (std and tokio).
2025-04-24 11:25:36 +01:00
Geoffrey White
809dd20f9d
Rust: Add source tests for tokio (file).
2025-04-24 11:22:52 +01:00
Geoffrey White
307424e87e
Rust: Add source tests for tokio (stdin).
2025-04-24 11:14:36 +01:00
Geoffrey White
dcc488cb05
Rust: Clean up the sources test.
2025-04-24 11:10:59 +01:00
Jeroen Ketema
42c4252a3d
C++: Claim beta support for C23 and C++23
...
All features we can support, we currently do support.
2025-04-24 11:44:16 +02:00
Jeroen Ketema
0357f3959b
Update list of supported platforms
...
I've effectively sync'ed this with the list of runners that are publicly
available. I did not yet add Windows 2025, as it is my understanding is that
we haven't really done any testing on that yet.
2025-04-24 11:28:09 +02:00
Jeroen Ketema
46b21af3ef
Dataflow: Make default field flow branch limit configurable per language
2025-04-24 11:02:49 +02:00
Jeroen Ketema
4093afbaab
Merge pull request #19290 from jketema/typeof
...
C++: Support C23 `typeof` and `typeof_unqual`
2025-04-24 10:12:46 +02:00
Michael Nebel
17f58c90bd
Merge pull request #19148 from michaelnebel/csharp/invalid-string-format
...
C#: Improve `cs/invalid-string-formatting` and add to the Code Quality suite.
2025-04-24 10:03:06 +02:00
Napalys Klicius
6a284eeecb
Merged ES6Class into FunctionStyleClass
2025-04-24 09:12:20 +02:00
Michael Nebel
65ac951964
C#: Remove all Sink tags after rebase.
2025-04-24 08:54:53 +02:00
Michael Nebel
dcf11c2d4b
C#: Match up sources, alerts and sinks in the tests.
2025-04-24 08:54:51 +02:00
Michael Nebel
b6d2f14b9b
C#: Add change note.
2025-04-24 08:54:49 +02:00
Michael Nebel
22ae3e7992
C#: Update string format item parameter expected test case.
2025-04-24 08:54:48 +02:00
Michael Nebel
f2dddd6d5c
C#: Hide the abstract FormatMethod class.
2025-04-24 08:54:47 +02:00
Michael Nebel
6de5920172
C#: Update test expected output.
2025-04-24 08:54:45 +02:00
Michael Nebel
042c7e5186
C#: Generalize array logic to params collection like types.
2025-04-24 08:54:43 +02:00
Michael Nebel
930bb6b515
C#: Add FP for string.Format using params collection.
2025-04-24 08:54:42 +02:00
Michael Nebel
39abd5c004
C#: Update test expected output.
2025-04-24 08:54:40 +02:00
Michael Nebel
f31235db43
C#: Improve format logic to take CompositeFormat and generics into account.
2025-04-24 08:54:39 +02:00
Michael Nebel
11dffc6647
C#: Add more invalid-string-formatting testcases.
2025-04-24 08:54:37 +02:00
Michael Nebel
8fb5fe97aa
C#: Update test expected output.
2025-04-24 08:54:36 +02:00
Michael Nebel
1d9d8780b3
C#: Remove some false positives and add more true positives for cs/invalid-string-format.
2025-04-24 08:54:34 +02:00
Michael Nebel
f73b7429c6
C#: Remove false positive example.
2025-04-24 08:54:33 +02:00
Michael Nebel
175e4ecb74
C#: Add more format testcases.
2025-04-24 08:54:31 +02:00
Michael Nebel
327ddb07a1
C#: Re-factor FormatMethod.
2025-04-24 08:54:30 +02:00
Michael Nebel
9cfd6e30b9
C#: Convert testing of cs/invalid-string-formatting to inline expectations and adjust some of the testcases.
2025-04-24 08:54:28 +02:00
Michael Nebel
68f93492b1
C#: Add cs/invalid-string-formatting to the codeql quality suite.
2025-04-24 08:54:27 +02:00
Michael Nebel
91f1183dfd
Merge pull request #19354 from michaelnebel/csharp/matchlinenumbersonsinks
...
Shared: Match line information on Alert and Sink locations.
2025-04-24 08:53:01 +02:00
Tom Hvitved
e72aba76f6
Rust: Path resolution performance tweaks
2025-04-23 19:49:20 +02:00
Jeroen Ketema
cad695868d
C++: Add change note
2025-04-23 17:51:06 +02:00
Jeroen Ketema
8086ef48c7
Swift: Add change note
2025-04-23 17:10:57 +02:00
Jeroen Ketema
eea963e3f4
Swift: Add upgrade and downgrade scripts
2025-04-23 17:10:57 +02:00
Jeroen Ketema
a74b38c0ec
Swift: Replace deprecated @_moveOnly in test by ~Copyable
2025-04-23 17:10:57 +02:00
Jeroen Ketema
59faf9fbdf
Swift: Update errors test
...
The representation of the errors seems to have changed somewhat in Swift 6.1.
2025-04-23 17:10:57 +02:00
Jeroen Ketema
10d86c9708
Swift: Disable parts of tests that crash with Swift 6.1
2025-04-23 17:10:56 +02:00
Jeroen Ketema
9a21b0dc5c
Swift: Update SuccessfullyExtractedLines for external code being extracted
2025-04-23 17:10:56 +02:00
Jeroen Ketema
e135f5ddf6
Swift: Update ObjectLiteralExpr test
...
The entities now have proper error types instead of missing types.
2025-04-23 17:10:56 +02:00
Jeroen Ketema
b6076c0481
Swift: Update test results for ParenType no longer being extracted
2025-04-23 17:10:55 +02:00
Jeroen Ketema
1b21e4c667
Swift: Update test results for IfConfigDecl no longer being extracted
2025-04-23 17:10:55 +02:00
Jeroen Ketema
36672f44b9
Swift: Take inverses into account when mangling ProtocolCompositionTypes
2025-04-23 17:10:55 +02:00
Paolo Tranquilli
7834a3d9e4
Swift: expand mangling of ExistentialMetatypeType
2025-04-23 17:10:55 +02:00
Jeroen Ketema
30242ed6fb
Swift: Remove "to do" comment
2025-04-23 17:10:54 +02:00
Jeroen Ketema
4fc5a73bac
Swift: Update mangling of OpenedArchetypeType
2025-04-23 17:10:54 +02:00
Paolo Tranquilli
1ac47a892b
Swift: make extractor compile again after 6.1 upgrade
2025-04-23 17:10:54 +02:00
Jeroen Ketema
0c313463b4
C++: Update stats file
2025-04-23 16:56:59 +02:00
Jeroen Ketema
a3e0c15c10
C++: Add upgrade and downgrade scripts
2025-04-23 16:56:57 +02:00
Jeroen Ketema
e97f9495d0
C++: Update expected test results
2025-04-23 16:56:56 +02:00
Jeroen Ketema
df3282c204
C++: Support C23 typeof and typeof_unqual
2025-04-23 16:56:47 +02:00
Michael Nebel
2e0ce44fde
Javascript: Update test files.
2025-04-23 15:41:41 +02:00
Geoffrey White
37bcedcf11
Merge pull request #19353 from geoffw0/modelnoise2
...
Rust: Remove unnecessary predicate.
2025-04-23 12:34:40 +01:00
Tom Hvitved
4abdc13f79
Merge pull request #19193 from hvitved/rust/path-resolution-where-clause
...
Rust: Take `where` clauses into account in path resolution
2025-04-23 13:00:58 +02:00
Michael Nebel
617f4729d8
Shared: Match line information on Alert and Sink locations.
2025-04-23 12:35:17 +02:00
Mathias Vorreiter Pedersen
808141f7e8
Merge pull request #19295 from MathiasVP/cpp-add-mad-generation-library
...
C++: Instantiate model generation library
2025-04-23 11:32:16 +01:00
Geoffrey White
d6f1bd9792
Rust: Remove unnecessary predicate.
2025-04-23 11:24:29 +01:00
Mathias Vorreiter Pedersen
9e9a580d02
C++: Add MaD generation test with union content.
2025-04-23 11:11:17 +01:00
Mathias Vorreiter Pedersen
07d8f8dd0d
C++: Add an empty model to prevent a warning.
2025-04-23 10:24:17 +01:00
Tom Hvitved
008dd3f4e3
Merge pull request #19272 from hvitved/ql4ql/qlref-inline-exp-kind-restrict
...
QL4QL: Restrict `ql/qlref-inline-expectations` to `(path-)problem` queries
2025-04-23 09:11:24 +02:00
Michael Nebel
62cb4bfd02
Merge pull request #19302 from michaelnebel/csharp/missing-access-control
...
C#: Relax condition for authorize attributes on `cs/web/missing-function-level-access-control`.
2025-04-23 09:09:32 +02:00
Tom Hvitved
959a79f995
Merge pull request #19345 from hvitved/shared/file-system-append-join-fix
...
Shared: Fix join in `FileSystem.qll`
2025-04-23 09:01:40 +02:00
Pierre
97ca2afa7a
Merge pull request #19348 from github/changedocs-2.21.1
...
changedocs from 2.21.1 release
2025-04-22 22:14:43 +02:00
Pierre
2439b1e89a
Merge branch 'main' into changedocs-2.21.1
2025-04-22 22:04:28 +02:00
Jon Janego
1cf10d8f9f
changedocs from 2.21.1 release
2025-04-22 14:51:11 -05:00
Jami
4483a24133
Merge pull request #19075 from jcogs33/jcogs33/java/do-not-use-finalizers
...
Java: Add new quality query to detect `finalize` calls
2025-04-22 14:11:14 -04:00
Jami
ed99088c2b
Merge pull request #19094 from jcogs33/jcogs33/java/junit5-missing-nested-annotation
...
Java: Add new quality query to detect missing `@Nested` annotation in JUnit5 tests
2025-04-22 13:10:00 -04:00
Jeroen Ketema
7ee862a3af
Merge pull request #19347 from jketema/swift-files-2
...
Swift: Make file checking in tests more strict
2025-04-22 17:15:11 +02:00
Jeroen Ketema
adb58e304d
Swift: Make file checking in tests more strict
...
With Swift 6.1 the extractor will start to extract files outside of the test
directory. These files and their elements we do not want to see in our tests.
Test forgotten in https://github.com/github/codeql/pull/19344
2025-04-22 16:51:36 +02:00
Jeroen Ketema
03ce2b0867
Merge pull request #19346 from jketema/swift-files-2
...
Swift: Make file checking in integration tests more strict
2025-04-22 15:33:33 +02:00
Jeroen Ketema
375ec8f948
Merge pull request #19344 from jketema/swift-files
...
Swift: Make file checking in tests more strict
2025-04-22 15:33:15 +02:00
Tom Hvitved
40390d1ada
Address review comment
2025-04-22 15:08:39 +02:00
Napalys
fdfdcc0d93
Undo unnecessary name tracking for request, response objects
2025-04-22 14:16:45 +02:00
Jeroen Ketema
a211998bc9
Swift: Make file checking in integration tests more strict
...
With Swift 6.1 the extractor will start to extract files outside of the test
directory. These files and their elements we do not want to see in our tests.
2025-04-22 13:52:15 +02:00
Alexander Eyers-Taylor
c11ed6d119
Merge pull request #19116 from github/alexet/ruby-deterministic
...
Ruby: Make module graph queries avoid relying on evalaution order.
2025-04-22 11:27:03 +01:00
Tom Hvitved
ae5ac11387
Shared: Fix join in FileSystem.qll
...
Before
```
Evaluated relational algebra for predicate FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d@d2a7eeoa on iteration 2 running pipeline standard with tuple counts:
120 ~2% {4} r1 = SCAN `FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d#prev_delta` OUTPUT In.1, In.0, In.2, In.3
0 ~0% {6} r2 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs#1` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Lhs.1, Lhs.2, Lhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.1 - Tmp.5), TEST Out.5 = InOut.3
0 ~0% {4} | SCAN OUTPUT In.2, In.0, In.1, In.4
91 ~3% {6} r3 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Lhs.1, Lhs.2, Lhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.1 - Tmp.5), TEST Out.5 = InOut.3
81 ~0% {4} | SCAN OUTPUT In.4, In.0, In.1, In.2
81 ~3% {4} | JOIN WITH containerparent_10#join_rhs ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Rhs.1
269 ~0% {7} r4 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs#2` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Rhs.2, Lhs.1, Lhs.2, Lhs.3, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.1 - Tmp.6), TEST Out.6 = InOut.4
39 ~1% {5} | SCAN OUTPUT In.5, In.0, In.1, In.2, In.3
1295 ~0% {6} | JOIN WITH containerparent ON FIRST 1 OUTPUT Rhs.1, Lhs.3, _, Lhs.1, Lhs.2, Lhs.4
1295 ~0% {6} | REWRITE WITH Out.2 := 1
34 ~1% {4} | JOIN WITH `cached_FileSystem::Container.splitAbsolutePath/2#dispred#dc97b0cc` ON FIRST 3 OUTPUT Lhs.5, Lhs.3, Lhs.4, Lhs.0
115 ~0% {4} r5 = r2 UNION r3 UNION r4
115 ~0% {4} | AND NOT `FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d#prev`(FIRST 4)
return r5
```
After
```
Evaluated relational algebra for predicate FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d@4fb6e6v7 on iteration 2 running pipeline standard with tuple counts:
120 ~0% {4} r1 = SCAN `FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d#prev_delta` OUTPUT In.1, In.0, In.2, In.3
0 ~0% {6} r2 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs#1` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Lhs.1, Lhs.2, Lhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.1 - Tmp.5), TEST Out.5 = InOut.3
0 ~0% {4} | SCAN OUTPUT In.2, In.0, In.1, In.4
91 ~0% {6} r3 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Lhs.1, Lhs.2, Lhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.1 - Tmp.5), TEST Out.5 = InOut.3
81 ~0% {4} | SCAN OUTPUT In.4, In.0, In.1, In.2
81 ~5% {4} | JOIN WITH containerparent_10#join_rhs ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Rhs.1
269 ~0% {7} r4 = JOIN r1 WITH `_FileSystem::Folder::Append<PathResolution::shouldAppend>::getComponent/2#a6e36a04#join_rhs#2` ON FIRST 1 OUTPUT Lhs.0, Rhs.1, Rhs.2, Lhs.1, Lhs.2, Lhs.3, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.1 - Tmp.6), TEST Out.6 = InOut.4
39 ~3% {5} | SCAN OUTPUT In.5, In.2, In.0, In.1, In.3
34 ~0% {4} | JOIN WITH `FileSystem::Folder::Append<PathResolution::shouldAppend>::getAChildContainer/2#2e91feca` ON FIRST 2 OUTPUT Lhs.4, Lhs.2, Lhs.3, Rhs.2
115 ~2% {4} r5 = r2 UNION r3 UNION r4
115 ~2% {4} | AND NOT `FileSystem::Folder::Append<PathResolution::shouldAppend>::appendStep/3#bed54f6d#prev`(FIRST 4)
return r5
```
2025-04-22 12:16:59 +02:00
Napalys Klicius
63402ea581
Merge pull request #2 from asgerf/js/fastify-addhook
...
JS: Add isMiddlewareSetup() hook to Routing model
2025-04-22 12:07:39 +02:00
Asger F
00661b62dc
JS: Add isMiddlewareSetup() hook to Routing model
2025-04-22 12:00:02 +02:00
Anders Schack-Mulligen
d05e90518c
Merge pull request #19296 from Marcono1234/patch-1
...
Docs: Fix typo in code sample
2025-04-22 11:08:17 +02:00
Jeroen Ketema
ce5c48192e
Swift: Make file checking in tests more strict
...
With Swift 6.1 the extractor will start to extract files outside of the test
directory. These files and their elements we do not want to see in our tests.
2025-04-22 10:41:12 +02:00
Asger F
c2cab184ac
Merge pull request #19283 from asgerf/js/rest-pattern-fix
...
JS: Fix missing flow into rest pattern lvalue
2025-04-22 10:37:36 +02:00
Jami Cogswell
3aa6b49204
Java: Add new query to java-code-quality.qls.expected
2025-04-21 10:02:08 -04:00
Jami
72d49f21ee
Merge branch 'main' into jcogs33/java/do-not-use-finalizers
2025-04-21 09:57:53 -04:00
Jami Cogswell
07a694e804
Java: add new query to java-code-quality.qls.expected
2025-04-21 09:52:52 -04:00
Jami
02ded89d84
Merge branch 'main' into jcogs33/java/junit5-missing-nested-annotation
2025-04-21 09:46:49 -04:00
Jami
2b9160526a
Apply docs review suggestion
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-04-20 21:47:25 -04:00
Mathias Vorreiter Pedersen
3fd760c632
C++: Move 'InlineMadTest.qll' out of 'lib/utils/test' and into 'test' since C++ has no external packs depending on MaD testing.
2025-04-20 16:49:02 +01:00
Mathias Vorreiter Pedersen
6fcf56e6e1
C++: Add more tests.
2025-04-20 16:49:00 +01:00
Mathias Vorreiter Pedersen
f6f5f97109
C++: Also make protected members irrelevant.
2025-04-20 16:48:58 +01:00
Mathias Vorreiter Pedersen
e55f94c364
C++: Move contents of 'isUninterestingForDataFlowModels' to 'relevant'
2025-04-20 16:48:56 +01:00
Mathias Vorreiter Pedersen
9cba91c682
C++: Add another entry to 'qlpack' for external models.
2025-04-20 16:48:54 +01:00
Mathias Vorreiter Pedersen
0ce6ab5444
Remove an unnecessary if.
2025-04-20 16:48:53 +01:00
Mathias Vorreiter Pedersen
5462dcdf75
C++: Make final member functions not extensible.
2025-04-20 16:48:51 +01:00
Mathias Vorreiter Pedersen
1f43e51be4
C++: Fix ql-for-ql findings.
2025-04-20 16:48:49 +01:00
Mathias Vorreiter Pedersen
1465058da0
C++: Add copy-pasted files from C#.
2025-04-20 16:48:47 +01:00
Mathias Vorreiter Pedersen
09ebd6e87d
C++: Instantiate inline expectation test framework to test model generation.
2025-04-20 16:48:45 +01:00
Mathias Vorreiter Pedersen
f241e4b537
C++: Add tests that will soon succeed.
2025-04-20 16:48:43 +01:00
Mathias Vorreiter Pedersen
3d48b23428
C++: Instantiate model generation library.
2025-04-20 16:48:41 +01:00
Nora Dimitrijević
7f5b48d485
C#: Fix join order in ExternalFlow::interpretElement/6 (only affects RTJO mode)
2025-04-17 15:52:13 +02:00
Geoffrey White
254789c89a
Merge pull request #19305 from geoffw0/modelnoise
...
Rust: Remove the noisy models output from the dataflow/local test.
2025-04-17 13:16:45 +01:00
Geoffrey White
22b3ef7f20
Merge pull request #19333 from geoffw0/consistency
...
Rust: Make source kinds consistent with other languages
2025-04-17 13:15:00 +01:00
Jeroen Ketema
53bd2361af
Merge pull request #19329 from github/idrissrio/designated-initializer
...
C++: add predicate to distinguish designator-based initializations
2025-04-17 13:15:42 +02:00
Arthur Baars
48f9e5a96d
Merge pull request #19237 from github/aibaars/crate-graph-type-variables
...
Rust: extract generic parameters, arguments and resolve bound type variables
2025-04-17 13:02:41 +02:00
Geoffrey White
8d60e82ec0
Merge branch 'main' into modelnoise
2025-04-17 10:43:15 +01:00
Geoffrey White
43069f139d
Rust: command-line-source -> commandargs.
2025-04-17 10:15:04 +01:00
Geoffrey White
ed2d06bcd7
Rust: environment-source -> environment.
2025-04-17 09:57:59 +01:00
Geoffrey White
7e108a8a29
Merge pull request #19310 from geoffw0/trim
...
Rust: Add model for str.trim
2025-04-17 09:48:45 +01:00
Geoffrey White
e1bddb6152
Merge pull request #19304 from geoffw0/rustio
...
Rust: Model sources for std::io
2025-04-17 09:47:21 +01:00
Geoffrey White
372ba5c9a5
Merge branch 'main' into modelnoise
2025-04-17 09:42:43 +01:00
Geoffrey White
9da6d9435e
Rust: More tests affected.
2025-04-16 17:41:27 +01:00
Geoffrey White
77d3c95d6e
Merge branch 'main' into trim
2025-04-16 15:33:30 +01:00
Joe Farebrother
6431228d37
Limit size of allowImplicitRead for performance
2025-04-16 09:40:01 +01:00
Nicolas Will
1958c192ec
Reimplement EC, MAC, key creation logic + consumer
2025-04-15 23:00:12 -04:00
Arthur Baars
7bfd5f161e
Rust: crate graph: extract associated types
2025-04-15 17:21:04 +02:00
Arthur Baars
2f87630ded
Rust: update expected output
2025-04-15 17:18:51 +02:00
Arthur Baars
a4b1c2bbdc
Rust: crate graph: resolve bound type variablesp
2025-04-15 17:18:49 +02:00
Arthur Baars
db4306d0c1
Rust: avoid duplication for functions and methods
2025-04-15 17:18:48 +02:00
Arthur Baars
0545f782e0
Rust: get rid of const_or_function
2025-04-15 17:18:46 +02:00
Arthur Baars
5cfbedc114
Rust: replace singleton vectors with Option
2025-04-15 17:18:45 +02:00
Arthur Baars
b24fbe8db9
Rust: remove unreachable case
...
Enum variants cannot be declared as a module item, they can only be imported
2025-04-15 17:18:44 +02:00
Arthur Baars
cec95ae875
Rust: crate graph: generic parameters
2025-04-15 17:18:42 +02:00
Arthur Baars
a7ccba9aeb
Rust: crate graph: type variables
2025-04-15 17:18:28 +02:00
Arthur Baars
2c31363680
Partially revert "Rust: fix compilation errors"
...
This reverts commit 260322b669 .
2025-04-15 17:16:23 +02:00
Geoffrey White
432d4b0eca
Merge branch 'main' into trim
2025-04-15 16:05:02 +01:00
Geoffrey White
39a875e751
Rust: Make some summaries value type.
2025-04-15 14:46:57 +01:00
Geoffrey White
c561da4536
Merge branch 'main' into rustio
2025-04-15 12:29:55 +01:00
Geoffrey White
fea82d4d6a
Merge branch 'main' into trim
2025-04-15 12:21:48 +01:00
Geoffrey White
40a5db6736
Rust: Other tests affected.
2025-04-15 11:52:23 +01:00
Geoffrey White
c06f340bd8
Rust: Make str / String models consistent.
2025-04-15 11:47:29 +01:00
Geoffrey White
bfe9cdfed5
Rust: Add model for str.trim and as_bytes.
2025-04-15 11:26:52 +01:00
Michael Nebel
0b10d34cae
C#: Add change note.
2025-04-15 10:53:40 +02:00
Napalys
5c3556da66
Add user-controlled property tracking and update code injection alerts in Fastify hooks
2025-04-15 09:41:52 +02:00
Napalys
9b194ea613
Added addHook to RouteSetup thus now it is recognized now as rouute handler
2025-04-15 09:37:13 +02:00
Napalys
c175081698
Added test cases for fastify.addHook
2025-04-15 09:33:41 +02:00
Napalys
f1a3293f4c
Added change note
2025-04-15 09:27:51 +02:00
Geoffrey White
bdd5717c09
Rust: Remove the models output from the dataflow/local test.
2025-04-14 16:42:20 +01:00
Geoffrey White
a8b552200a
Rust: Impact on dataflow/local test.
2025-04-14 15:03:04 +01:00
Geoffrey White
24bcd041b8
Rust: Add flow models for io.
2025-04-14 14:20:45 +01:00
Michael Nebel
f11aec3592
C#: Update test expected output.
2025-04-14 14:26:51 +02:00
Michael Nebel
c15d1ab3bd
C#: Consider an attribute to be authorization like, if it extends an attribute that has an authorization like name.
2025-04-14 14:25:31 +02:00
Michael Nebel
2e7e276806
C#: Add test case for authorization attribute that extends Authorize.
2025-04-14 14:18:30 +02:00
Michael Nebel
8d571672e9
C#: Convert cs/missing-access-control to inline expectations test.
2025-04-14 13:54:43 +02:00
Geoffrey White
7a9ea52bc7
Rust: Add source models for io.
2025-04-14 10:47:30 +01:00
Geoffrey White
4f9f550ba6
Rust: Add source models for fs.
2025-04-14 10:47:26 +01:00
Geoffrey White
258c1afe27
Rust: Add tests for std::fs sources.
2025-04-14 10:47:21 +01:00
Geoffrey White
cef3cd9b54
Rust: Add tests for std::io sources.
2025-04-14 10:47:17 +01:00
Marcono1234
64f37ea24c
Docs: Fix typo in code sample
2025-04-12 16:01:55 +02:00
Asger F
6c01709048
JS: Update more test output
2025-04-11 15:15:22 +02:00
Tom Hvitved
e26695fc51
Rust: Take where clauses into account in path resolution
2025-04-11 09:28:08 +02:00
Tom Hvitved
cc85a09b39
Rust: Add AI-generated test for path resolution of where clauses
2025-04-11 09:24:09 +02:00
Asger F
719456e27d
JS: Fix missing flow into rest pattern lvalue
2025-04-11 08:37:09 +02:00
Asger F
7703b1fab5
JS: Add test for missing getALocalSource flow for rest pattern
2025-04-11 08:37:07 +02:00
Tom Hvitved
a578f44af4
QL4QL: Restrict ql/qlref-inline-expectations to (path-)problem queries
2025-04-10 15:03:57 +02:00
Nicolas Will
b9d0abda63
Move CipherOperation into KeyOperation, refactor
...
- KeyOperation and Algorithm now encompasses encryption, decryption, wrapping, unwrapping, signing, and verifying.
- Removed elliptic curve implementation from JCA.qll pending rewrite
- Removed JCAAlgorithmInstance abstraction from JCA.qll
- Cleaned up and removed JCA-specific naming from Model.qll
- Added and clarified documentation
2025-04-09 21:19:00 +02:00
Michael B. Gale
e210be7bb2
Go: Preserve environment variables in ApplyProxyEnvVars
2025-04-08 12:38:38 +01:00
Michael B. Gale
0f78e11376
Go: Detect and apply proxy settings (WIP)
2025-04-08 12:02:15 +01:00
Michael B. Gale
ded27bcee4
Go: Replace exec.Command("go" with toolchain.GoCommand(
2025-04-08 11:19:42 +01:00
REDMOND\brodes
a2fe19af38
Initial progress on key agreement.
2025-04-04 16:00:05 -04:00
Jami Cogswell
798907dc50
Java: remove change note
2025-04-04 14:01:35 -04:00
Jami Cogswell
77eeab33a6
Java: remove change note
2025-04-04 13:57:34 -04:00
Ben Rodes
69429a3e02
Merge pull request #9 from nicolaswill/brodes/elliptic_curves
...
Misc. modifications to support elliptic curves and hooking them up to…
2025-04-04 09:06:20 -04:00
REDMOND\brodes
697c9f0bb0
Elliptic curve AVCs are incorrect, but I'm not sure how to fix them generally. Putting in a stop gap to use 'isCipherAVC' for now.
2025-04-04 09:02:09 -04:00
Jami Cogswell
fc21abc7e4
Java: update qhelp implementation notes to say 'method declarations'
2025-04-03 16:05:23 -04:00
Jami Cogswell
0380279c39
Java: update qhelp implementation notes for more clarity
2025-04-02 19:43:33 -04:00
Jami Cogswell
05d7b9a19a
Java: add reliability tag
2025-04-02 19:11:26 -04:00
Jami Cogswell
6ade97892f
Java: update maintainability tag to reliability instead
2025-04-02 19:06:02 -04:00
REDMOND\brodes
66a60296b8
Merge branch 'brodes/cipher_operation' into brodes/elliptic_curves
2025-04-02 13:46:12 -04:00
Nicolas Will
50507586ac
Refactor output artifact type
2025-04-02 19:44:57 +02:00
Jami Cogswell
1a2c34dd28
Java: update qhelp implementation notes for clarity
2025-04-01 16:24:13 -04:00
REDMOND\brodes
ac96649a02
Misc. modifications to support elliptic curves and hooking them up to keygeneration.
2025-04-01 16:15:49 -04:00
Jami
c4b8396333
fix typo in query description
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-04-01 15:52:57 -04:00
Jami Cogswell
e621f9fd49
Java: update comments in tests
2025-04-01 15:48:52 -04:00
Jami Cogswell
faeb7ab890
Java: add blank lines to qldocs
2025-04-01 14:54:46 -04:00
Alex Eyers-Taylor
0ccbe3ef7f
Ruby: Make module graph queries avoid relying on evalaution order.
2025-04-01 16:18:45 +01:00
Jami Cogswell
416643ce39
Java: update qhelp recommendation and example
2025-03-31 21:09:21 -04:00
Jami
e458aca806
Merge branch 'main' into jcogs33/java/junit5-missing-nested-annotation
2025-03-27 21:31:09 -04:00
Jami Cogswell
92cdddf604
Java: resolve filename conflict
2025-03-27 21:29:20 -04:00
Jami Cogswell
caf21a8202
Java: update qhelp and add 'performace' tag
2025-03-27 20:20:48 -04:00
Jami Cogswell
3631df03c7
Java: add to code-quality suite
2025-03-27 19:38:10 -04:00
Jami Cogswell
ed22a16f32
Java: exclude overloads of finalize
2025-03-27 19:35:46 -04:00
Jami Cogswell
f73eda0c38
Java: add previous-id and change 'use' to 'call'
2025-03-27 19:35:44 -04:00
Jami Cogswell
2e25498143
Java: add change note
2025-03-27 19:35:42 -04:00
Jami Cogswell
44445dbeb8
Java: minor refactor
2025-03-27 19:35:41 -04:00
Jami Cogswell
dd57d1aec6
Java: add quality tag
2025-03-27 19:35:39 -04:00
Jami Cogswell
c689a0e9b7
Java: add more test cases
2025-03-27 19:35:37 -04:00
Jami Cogswell
d9482ae334
Java: update tests to use inline expectations
2025-03-27 19:35:35 -04:00
Jami Cogswell
9a6e241f54
Java: update to only find 'finalize' calls and add 'super.finalize' exclusion
2025-03-27 19:35:34 -04:00
Jami Cogswell
56ea9b6523
Java: move original files
2025-03-27 19:35:32 -04:00
Nicolas Will
bec69ca106
Refactor consumer and generic source model
2025-03-26 13:27:32 +01:00
Nicolas Will
9cd0340d21
Remove rankdir=LR; from DOT output
2025-03-26 13:26:45 +01:00
Jami
e169c21f8b
Apply suggestions from docs review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-03-25 07:19:39 -04:00
Jami Cogswell
b9bf192c09
Java: previous-id property instead of tag, see #19097
2025-03-24 14:37:05 -04:00
Jami Cogswell
0f002624d6
Java: remove mention of abstract classes from qhelp
2025-03-23 19:51:37 -04:00
Jami Cogswell
dca4c58b29
Java: add to ccr/quality suite
2025-03-23 19:51:35 -04:00
Jami Cogswell
37092f4411
Java: add 'testability' and 'frameworks/junit' tags
2025-03-23 19:51:26 -04:00
Jami Cogswell
35b647839c
Java: include RepeatedTest, ParameterizedTest, TestFactory, and TestTemplate when identifying JUnit 5 test methods
2025-03-23 19:49:55 -04:00
Jami Cogswell
4d7bed6181
Java: exclude anonymous, local, and private classes
2025-03-23 19:49:53 -04:00
Jami Cogswell
3e13f0ed41
Java: remove redundant 'non-static' wording and update qhelp
2025-03-23 19:49:41 -04:00
Jami Cogswell
640096c822
Java: change note
2025-03-23 19:48:20 -04:00
Jami Cogswell
ed57bc7858
Java: exclude abstract classes
2025-03-23 19:48:18 -04:00
Jami Cogswell
b08c8d020d
Java: tests to inline expectations
2025-03-23 19:48:17 -04:00
Jami Cogswell
f17e7266cf
Java: refactor QL
2025-03-23 19:48:15 -04:00
Jami Cogswell
ccbe77eb09
Java: move original files
2025-03-23 19:48:13 -04:00
Nicolas Will
e9c3e14fab
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-22 08:01:06 +01:00
Nicolas Will
fb7c003398
Add initial MAC support for JCA, refactor hashes
2025-03-22 08:01:03 +01:00
REDMOND\brodes
9278a41578
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-20 16:28:43 -04:00
REDMOND\brodes
b695641362
Add signature to cipher operation
2025-03-20 16:27:20 -04:00
Nicolas Will
d18dac0c8e
Add JCA key (generation) modelling
2025-03-20 21:26:18 +01:00
REDMOND\brodes
63aaebbea6
.
2025-03-19 18:30:06 -04:00
Nicolas Will
95607c5f31
Refactor instances and consumers + add JCA hashes
2025-03-18 22:05:00 +01:00
REDMOND\brodes
8a7671dc2a
Adding block mode models to openssl.
2025-03-11 15:20:05 -04:00
REDMOND\brodes
71eae39feb
Adding missing block modes.
2025-03-11 15:19:42 -04:00
REDMOND\brodes
c98e6d7c56
Adding a stub EVP_CIpher_Operation for EVP_PKEY, this probably should be made into it's own class, hence it is a stub with comments.
2025-03-11 14:49:07 -04:00
REDMOND\brodes
a9458ba762
Formatting, removing dead comments,
2025-03-11 14:48:38 -04:00
REDMOND\brodes
d988afd4a4
Adding an EVP_AASYM_CIPHER_fetch getter.
2025-03-11 14:47:10 -04:00
REDMOND\brodes
7757279908
Adding a KDF algorithm getter.
2025-03-11 14:46:36 -04:00
REDMOND\brodes
44b1e921d6
commenting out hash size for now, TODO
2025-03-11 14:10:04 -04:00
REDMOND\brodes
085e8d40fd
Hash nodes have instances.
2025-03-11 14:06:36 -04:00
REDMOND\brodes
f69b057893
Updating OpenSSLKnownAlgorithmConstants.qll (a few bugs) and also enforcing that known key sizes are on the normalized name (need to re-visit for GOST).
2025-03-11 13:35:44 -04:00
REDMOND\brodes
ae574f7cf2
Resolving hash and cipher types for openssl not using literals but KnownOpenSSLAlgorithmConstant.
2025-03-11 13:35:02 -04:00
REDMOND\brodes
f72efa638a
Uncommenting out generic dataflow
2025-03-10 16:12:53 -04:00
REDMOND\brodes
c83cb533ce
Adding an instantiation of the additional flow step class to automatically apply to generic dataflow. Flow step passthrough comes from the algorithm to getter flow passthroughs.
2025-03-10 15:56:01 -04:00
REDMOND\brodes
036035b6a2
Adding modeling for OpenSSL random number generation.
2025-03-10 15:04:19 -04:00
REDMOND\brodes
fe52351aed
Stubbing out hash operation node, borrowing from cipher operaiton node
2025-03-10 14:10:55 -04:00
REDMOND\brodes
73368ea59a
Adding hashes to openssl library import
2025-03-10 13:27:39 -04:00
REDMOND\brodes
0672027822
Tracing new notion of known getters, which now includes direct getters for cipher and hash. Removed a redundant hash qll, and fixed misplacement of has type in model.
2025-03-10 11:46:26 -04:00
REDMOND\brodes
451808616e
Getting rid of commented out code.
2025-03-10 11:35:16 -04:00
REDMOND\brodes
bd07b8a4c7
Making getter flow through 'copy' more general (copy can appear in any part of the call name now.
2025-03-10 11:34:26 -04:00
REDMOND\brodes
6a4659fc7e
Updating known constants for OpenSSL to handle direct algorithm getters from older versions of openssl (e.g., EVP_md5())
2025-03-10 11:33:46 -04:00
REDMOND\brodes
3316d6135d
Ctx flow comments.
2025-03-10 11:32:14 -04:00
REDMOND\brodes
d99812a10d
Adding GOSTHash to THashType.
2025-03-10 09:59:28 -04:00
REDMOND\brodes
64241caf1d
Merge branch 'brodes/cipher_operation' of https://github.com/nicolaswill/codeql into brodes/cipher_operation
2025-03-07 14:25:13 -05:00
REDMOND\brodes
bac0a635f9
Initial hash models for openssl.
2025-03-07 14:24:01 -05:00
Nicolas Will
47affa0fed
Restore location output for nodes
2025-03-07 18:30:58 +01:00
REDMOND\brodes
cf72fde911
Fixing cross product in getPropertyAsGraphString (parameter root not bound in all cases, fixing using a bindingetset)
2025-03-07 12:11:12 -05:00
REDMOND\brodes
32d29ffde3
Changed casing on TCipherType, Added some initial fixes for hash support, started developing openssl hashing modeling.
2025-03-07 10:02:36 -05:00
REDMOND\brodes
b9bd199432
Regression fixes for JCA
2025-03-06 13:39:23 -05:00
REDMOND\brodes
6083df2b7f
Completed tying algorithm instances to consumers. Now the model should have known literals for cipher instances, and it traces those instances to consumers (inits) and those inits are traced to cipher operations.
2025-03-05 15:48:08 -05:00
REDMOND\brodes
de3ff45cba
Misc updates for OpenSSL modeling to trace algorithm literals to known alg getters, and converting the literal to a TCipherType.
2025-03-05 15:17:52 -05:00
REDMOND\brodes
cce5f24b38
Initial OpenSSL modeling work.
2025-03-04 15:52:57 -05:00
REDMOND\brodes
8865d89fe9
Removing old ReusedNonce query.
2025-03-03 16:51:30 -05:00
REDMOND\brodes
2ee1681126
Adding a proof-of-concept PossibleReusedNonce query.
2025-03-03 15:09:27 -05:00
REDMOND\brodes
14cb2bb12f
Updates to insecure or unknown nonce at operation.
2025-03-03 14:42:50 -05:00
REDMOND\brodes
076f53147d
Proof-of-concept query for InsecureOrUnknownNonceAtOperation
2025-03-03 13:53:16 -05:00
Nicolas Will
627790f98b
Clean up consumer and instance interfaces
2025-03-03 19:06:53 +01:00
Nicolas Will
cf33cf7653
Add input and output nodes and fix cross product
2025-02-28 15:21:46 +01:00
Nicolas Will
0354afc365
Make ArtifactConsumers instances of some Artifacts
...
TODO: refactor the interfaces
2025-02-27 15:54:38 +01:00
Nicolas Will
ef0614ad45
Restore removed node location output
2025-02-27 05:45:27 +01:00
Nicolas Will
04f4683399
Rewrite handling of known unknowns and data-flow
2025-02-27 05:42:02 +01:00
Nicolas Will
f55f27b0d9
Expand handling of generic artifact sources
2025-02-25 18:22:38 +01:00
Nicolas Will
eb91ecf1fb
Add generic artifact data-flow
...
The relation between RNG and other artifacts has been added
Nonce has been completed to report its source
2025-02-25 02:53:13 +01:00
Nicolas Will
2b0b927b0b
Add Nonce association to Operation, update graph
2025-02-24 17:37:41 +01:00
REDMOND\brodes
86cab46b8d
Misc. updates to support all JCA cipher operations, including wrap, unwrap 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).
2025-02-21 12:53:35 -05:00
REDMOND\brodes
9ac9252f75
Adding a todo
2025-02-20 11:11:41 -05:00
REDMOND\brodes
011ed3fbfd
Simplifying additional flow step logic.
2025-02-20 11:10:24 -05:00
REDMOND\brodes
83dc5b9906
Fixing type bug
2025-02-20 10:45:33 -05:00
REDMOND\brodes
9ee4a7a7b8
Adding a sketch for a CipherOperation concept to model encryption/decryption operations.
2025-02-20 10:37:40 -05:00
REDMOND\brodes
3871c6a33e
Adding support for encryption operation detection.
2025-02-18 16:09:00 -05:00
Nicolas Will
8707e4d9a3
Continue Artifact data-flow WIP
2025-02-18 18:35:49 +01:00
Nicolas Will
df01fa7a9c
Expand model and JCA modeling
2025-02-17 00:16:08 +01:00
Nicolas Will
b777a22d35
Expand model and specialize newtype relations
2025-02-14 23:43:07 +01:00
Nicolas Will
874e3b5e06
Modify model to use newtypes, expand modeling
2025-02-12 17:58:15 +01:00
Nicolas Will
4d44755945
Refactor Model and CBOM print queries
2025-02-11 15:37:15 +01:00
Kristen Newbury
1a12fb3099
Update JCA model, refactor modes
2025-02-10 13:49:32 -05:00
Kristen Newbury
59208bdb85
Update JCA model to use shared lib
2025-02-10 12:22:22 -05:00
Kristen Newbury
9c8ade7ddd
Merge branch 'nic/crypto-test' into knewbury01/JCA-sample
2025-02-10 11:48:15 -05:00
Kristen Newbury
6005437001
Update JCA model with flow to call as AESuse and format JCA model
2025-02-10 11:26:48 -05:00
Kristen Newbury
60d931af9f
Update progress on JCA
2025-02-07 15:46:13 -05:00
Nicolas Will
7a96f5682e
Merge pull request #3 from nicolaswill/nicolaswill/shared-crypto-library
...
Move language-agnostic model to shared library
2025-02-06 21:57:10 +01:00
Nicolas Will
3dc28c2d17
Move language-agnostic model to shared library
2025-02-06 21:54:18 +01:00
Kristen Newbury
2e12bb5f5c
Merge branch 'nic/crypto-test' into knewbury01/JCA-sample
2025-02-06 12:56:32 -05:00
Nicolas Will
cd70acde66
Merge pull request #1 from nicolaswill/brodes/experiments
...
Concepts for elliptic curves and misc. updates.
2025-02-06 14:43:09 +01:00
Kristen Newbury
efcf7eab0c
Add broken crypto query
2025-02-05 17:24:25 -05:00
Kristen Newbury
86e51dad8a
Improve JCA aes alg model, add test
2025-02-05 13:39:48 -05:00
Kristen Newbury
5f355c7f55
Add first sample JCA encryption model
2025-02-04 11:55:09 -05:00
Nicolas Will
69a63855cc
Update CBOMGraph.ql
2025-01-29 21:55:57 +01:00
Nicolas Will
9af18bc100
WIP: add dgml/dot output/remove test code
2025-01-29 19:45:04 +01:00
REDMOND\brodes
0cd3df9d26
Concepts for elliptic cureve and misc. updates.
2025-01-29 10:27:46 -05:00
Nicolas Will
e027b0e9a0
WIP: add properties
2025-01-28 02:02:06 +01:00
Nicolas Will
78362341ff
WIP: hash types example and documentation
2025-01-24 22:32:32 +01:00
Nicolas Will
1a7d8cb99d
WIP
2025-01-24 17:33:03 +01:00
Nicolas Will
395d54bf86
Create Base.qll
2025-01-23 12:46:09 +01:00
Taus
8808f0f824
Misc: Add script for calculating MRVA totals
...
Use this script if you want to quickly calculate the totals of some
query across all the queries in a MRVA run.
For an example of such a query, see e.g.
`python/ql/src/Metrics/Internal/TypeAnnotations.ql`
The script expects the query to produce an output table of the form
```
| header0 | header1 | header2 | header3 | ...
|----------|----------|----------|----------|----
| message1 | value11 | value12 | value13 | ...
| message2 | value21 | value22 | value23 | ...
...
```
where all of the `values` are numbers. For each `(message, header)`
pair, it then calculates the total of all the values in that cell,
across all of the repos in the MRVA run.
To use the script, simply pass it the URL of the exported Gist of the
MRVA run. After calculating the totals, the script will then
(optionally, but by default) add the totals to the `_summary.md` file,
and push these changes to the Gist.
2025-01-08 16:01:11 +00:00