Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
581 commits
Select commit Hold shift + click to select a range
ce37916
Add change note
hvitved Oct 24, 2025
672977a
Merge pull request #20592 from hvitved/rust/type-inference-branch-pro…
hvitved Oct 24, 2025
2a43a95
Rust: More type inference tests
hvitved Oct 7, 2025
0e885e9
Rust: Compute incompatible blanket implementations
hvitved Oct 9, 2025
8c277bd
Merge pull request #20494 from joefarebrother/python-insecure-cookie-…
joefarebrother Oct 24, 2025
a4eab48
Address review comments
hvitved Oct 24, 2025
ed492c7
Crypto: Fixed bug in WeakSymmetricCipher.qll, forgot to not only filt…
bdrodes Oct 24, 2025
32f21d6
Merge pull request #20688 from hvitved/java/request-forgery-matches-s…
hvitved Oct 24, 2025
2ef8bb0
Swift: Make extractor compile with Swift 6.2
jketema Sep 16, 2025
22dddb0
Swift: Fix unavailability checks after 6.2 upgrade
jketema Sep 16, 2025
e79c0b0
Swift: Update generated files
jketema Sep 16, 2025
300b5b1
Swift: Mangle function type lifetimes
jketema Sep 16, 2025
626bc55
Swift: Fix `AvailabilitySpec` trap generation
jketema Sep 16, 2025
d890fee
Swift: Compensate for backwards going locations
jketema Sep 16, 2025
bc835a3
Swift: Update `KeyPathComponent` for new kind values
jketema Sep 16, 2025
7890dc6
Swift: Update expected test results after 6.2 update
jketema Sep 16, 2025
b50ffe2
Swift: Update `PoundDiagnosticDecl` test
jketema Sep 17, 2025
192c9c3
Swift: Document that tests disabled with Swift 6.1 are still broken w…
jketema Sep 17, 2025
4d9827f
Swift: Update expected integration test results
jketema Sep 30, 2025
06d0d48
Swift: Work around assertion failures in mangler
jketema Sep 25, 2025
79fd35a
Swift: Remove flags related to explict modules in the tracer config
jketema Oct 21, 2025
2843761
Swift: Special case the `xcode-fails-spm-works` test results on macOS 26
jketema Oct 21, 2025
e415772
Swift: Add upgrade and downgrade scripts
jketema Oct 22, 2025
74384bb
Swift: Add change notes
jketema Oct 22, 2025
a0a6f28
Merge pull request #20645 from paldepind/cpp/range-analysis-measure
paldepind Oct 24, 2025
17e0dec
C++: Add toString for RelationStrictness
paldepind Oct 24, 2025
3af9885
C++: Fix typos in tests
paldepind Oct 24, 2025
383e6a4
C++: Use `or` instead of `if`
paldepind Oct 24, 2025
5709964
C++: Simplify boundFromGuard
paldepind Oct 24, 2025
d1ea1af
C++: Make small trivial tweaks
paldepind Oct 24, 2025
0e624f5
Crypto: Adding bad decrypt then mac order query. Fixes to BadMacOrder…
bdrodes Oct 24, 2025
b20689f
Crypto: removing comments
bdrodes Oct 24, 2025
0394816
Crypto: typo fix
bdrodes Oct 24, 2025
65d0ca9
Crypto: Simplifying expression for ql-for-ql alert.
bdrodes Oct 24, 2025
e7bd435
Merge pull request #20696 from bdrodes/bad_mac_decrypt_then_mac
nicolaswill Oct 24, 2025
d478752
Merge pull request #20690 from bdrodes/weak_symmetric_cipher_bug
nicolaswill Oct 24, 2025
3f98d32
C#: Update change note for location handling in query
redsun82 Oct 27, 2025
2022dd8
Swift: Address review comments
jketema Oct 27, 2025
aabc8bc
Swift: Fix typo in change note
jketema Oct 27, 2025
83508ba
java: adjust qhelp and examples for SafePublication
yoff Oct 27, 2025
be0d405
Swift: Update artifacts
jketema Oct 27, 2025
47b26dd
Merge pull request #20446 from github/jketema/swift-6.2
jketema Oct 27, 2025
02a9425
Java: Remove old SSA consistency queries.
aschackmull Oct 27, 2025
d650ccb
Rust: Generalize some std::io::Read models.
geoffw0 Oct 27, 2025
c8b8046
Rust: Generalize a model of alloc::boxed::Box.
geoffw0 Oct 27, 2025
96fc1e8
Java: Accept .expected file.
aschackmull Oct 27, 2025
2e0e9e0
Merge pull request #20550 from github/smowton/admin/document-rails-5-…
smowton Oct 27, 2025
bd11873
Rust: Generalize a model of futures_io...poll_read.
geoffw0 Oct 27, 2025
105f810
Merge pull request #20658 from github/redsun82/csharp-fix-xframe-opti…
redsun82 Oct 27, 2025
31428b2
Merge pull request #20700 from aschackmull/java/delete-old-ssa-consis…
aschackmull Oct 27, 2025
35b4a36
Merge pull request #20691 from paldepind/cpp/range-analysis-refactor
paldepind Oct 27, 2025
714b2ad
Java: Add integration test for maven
IdrissRio Oct 17, 2025
d473b36
Java: Accept new test results after extractor changes
IdrissRio Oct 17, 2025
531b994
java: add test for aliasing
yoff Oct 27, 2025
406e48b
java: fix aliasing FP
yoff Oct 27, 2025
11a7d53
Merge pull request #20657 from github/idrissrio/java-maven-fix
IdrissRio Oct 27, 2025
56811d0
Rust: Generalize more models.
geoffw0 Oct 27, 2025
630ea7b
Merge pull request #20641 from github/redsun82/fix-pytest-build-as-te…
redsun82 Oct 27, 2025
a468b1d
Rust: Accept regressions spotted by CI.
geoffw0 Oct 27, 2025
0c92b33
Revert "Rust: Generalize more models."
geoffw0 Oct 27, 2025
227e1fc
Merge pull request #20598 from github/alexet/overlay-query-libraries
alexet Oct 27, 2025
03204b7
Rust: Accept tests repaired.
geoffw0 Oct 27, 2025
b76f27d
Rust: Remove redundant model.
geoffw0 Oct 27, 2025
8d49f26
Merge pull request #20397 from asgerf/js/build-artifact-leak-fp
asgerf Oct 28, 2025
3fa8259
Actions/OutputClobberingQuery
d10c Oct 8, 2025
890ca8e
Actions/RequestForgeryQuery
d10c Oct 8, 2025
bb10307
Actions/SecretExfiltrationQuery
d10c Oct 8, 2025
d36b721
Actions/CompositeActionsSinks
d10c Oct 8, 2025
78f2cee
Actions/CompositeActionsSources
d10c Oct 8, 2025
9c24ce0
Actions/CompositeActionsSummaries
d10c Oct 8, 2025
a972ef7
Actions/ReusableWorkflowsSinks
d10c Oct 8, 2025
1243c63
Actions/ReusableWorkflowsSources
d10c Oct 8, 2025
5a1a887
Actions/ReusableWorkflowsSummaries
d10c Oct 8, 2025
ad31f1a
C++/WordexpTainted
d10c Oct 8, 2025
ba22f0d
C#/DontInstallRootCert
d10c Oct 8, 2025
7722f31
Go/DivideByZero
d10c Oct 8, 2025
59a8e9b
Go/InsufficientKeySize
d10c Oct 8, 2025
913550f
Java/ArbitraryApkInstallationQuery
d10c Oct 8, 2025
a228936
Java/ArithmeticTainted
d10c Oct 8, 2025
1129230
Java/ArithmeticUncontrolledQuery
d10c Oct 8, 2025
b023880
Java/BrokenCryptoAlgorithmQuery
d10c Oct 8, 2025
4482e83
Java/CommandLineQuery
d10c Oct 9, 2025
dc1dff9
Java/ConditionalBypass
d10c Oct 9, 2025
9eeeec3
Java/ImproperValidationOfArrayConstructionCodeSpecifiedQuery
d10c Oct 9, 2025
eebff9c
Java/ImproperValidationOfArrayConstructionFlow
d10c Oct 9, 2025
247ae1d
Java/MaybeBrokenCryptoAlgorithmQuery
d10c Oct 9, 2025
72a9777
Java/NumericCastTaintedQuery
d10c Oct 9, 2025
697f428
Java/TaintedEnvironmentVariableQuery
d10c Oct 9, 2025
2a889f4
Java/TaintedPermissionsCheckQuery
d10c Oct 9, 2025
4439322
Java/TempDirLocalInformationDisclosureQuery
d10c Oct 9, 2025
518c081
Java/UnsafeDeserializationQuery
d10c Oct 9, 2025
f24a6f6
Java/WebviewDebugEnabledQuery
d10c Oct 9, 2025
2a30ea9
JS/CommandInjectionQuery
d10c Oct 10, 2025
71cf042
JS/IndirectCommandInjectionQuery
d10c Oct 14, 2025
9434325
JS/ShellCommandInjectionFromEnvironmentQuery
d10c Oct 14, 2025
bcdbe0b
JS/PolynomialReDoSQuery
d10c Oct 14, 2025
bb80d83
JS/SSRF
d10c Oct 14, 2025
baccdcc
Python/PolynomialReDoSQuery
d10c Oct 14, 2025
37fff48
Python/ServerSideRequestForgeryQuery
d10c Oct 14, 2025
6d57316
Python/UnsafeUnpackQuery
d10c Oct 14, 2025
4bc9ede
Python/UnsafeUsageOfClientSideEncryptionVersion
d10c Oct 14, 2025
998de14
Python/CorsBypass
d10c Oct 14, 2025
1ff24cb
Python/LdapInsecureAuth
d10c Oct 14, 2025
6519bd9
Ruby/PolynomialReDoSQuery
d10c Oct 14, 2025
50f2540
Ruby/ManuallyCheckHttpVerb
d10c Oct 14, 2025
495be51
Ruby/WeakParams
d10c Oct 14, 2025
6ede0a7
Ruby/WeakFilePermissions
d10c Oct 14, 2025
462d8c5
Shared: update qldoc
d10c Oct 14, 2025
2332cea
Swift/CleartextStorageDatabaseQuery
d10c Oct 14, 2025
c190fae
Swift/CleartextStoragePreferencesQuery
d10c Oct 14, 2025
6c52d4b
Swift/ConstantPasswordQuery
d10c Oct 14, 2025
7ba7c43
Swift/InsufficientHashIterationsQuery
d10c Oct 14, 2025
5a6f731
Swift/StaticInitializationVectorQuery
d10c Oct 14, 2025
cd86e7d
Swift/StringLengthConflationQuery
d10c Oct 14, 2025
895bd93
Swift/UnsafeJsEvalQuery
d10c Oct 14, 2025
8a750b3
Swift/UnsafeUnpackQuery
d10c Oct 14, 2025
1f53ffb
Actions/ArtifactPoisoningQuery
d10c Oct 15, 2025
edc72d2
Actions/EnvPathInjectionQuery
d10c Oct 15, 2025
c402233
Actions/EnvVarInjectionQuery
d10c Oct 15, 2025
62fde8f
Actions/ArgumentInjectionQuery
d10c Oct 15, 2025
974d174
Actions/CodeInjectionQuery
d10c Oct 15, 2025
464f6cb
C++/ConstantSizeArrayOffByOne
d10c Oct 15, 2025
65d79ff
C++/ExecTainted
d10c Oct 15, 2025
a4ac039
C++/OverflowDestination
d10c Oct 15, 2025
2756e82
C++/UnboundedWrite
d10c Oct 15, 2025
f7a1a4c
C++/NonConstantFormat
d10c Oct 15, 2025
0ed27f4
C++/CleartextSqliteDatabase
d10c Oct 15, 2025
17b261a
C++/AuthenticationBypass
d10c Oct 15, 2025
d89aa0f
C++/CleartextBufferWrite
d10c Oct 15, 2025
b018040
C++/CleartextFileWrite
d10c Oct 15, 2025
bbe2bf2
C++/CleartextTransmission
d10c Oct 15, 2025
1321cbb
C++/DecompressionBombs
d10c Oct 15, 2025
f3d51e0
C++/ArithmeticUncontrolled
d10c Oct 15, 2025
a65d4d5
C++/TaintedAllocationSize
d10c Oct 15, 2025
ec63547
C++/UseOfHttp
d10c Oct 15, 2025
d41268f
Go/UnhandledCloseWritableHandle
d10c Oct 15, 2025
0f0bd0f
Go/SSRF
d10c Oct 15, 2025
4952cb2
Rust/AccessAfterLifetime
d10c Oct 15, 2025
8e0c453
Rust/InsecureCookie
d10c Oct 15, 2025
96e1536
C++/SqlTainted
d10c Oct 15, 2025
a0975e7
Constrain location overrides to actual sources/sinks
d10c Oct 16, 2025
abcc171
Rust: Remove more redundant models.
geoffw0 Oct 28, 2025
d6c4ab2
Merge branch 'main' into gen2
geoffw0 Oct 28, 2025
409f7fb
Address review comments
hvitved Oct 28, 2025
727bdde
Merge pull request #20607 from d10c/d10c/update-diff-informed-testing
d10c Oct 28, 2025
104ba0e
Rust: Fix bad join
hvitved Oct 27, 2025
b3bbe78
Rust: Fix bad join
hvitved Oct 27, 2025
f2380d3
Merge pull request #20612 from hvitved/rust/type-inference-blanket-no…
hvitved Oct 28, 2025
6f1eca8
Rust: Make the QLDoc for fromSource a bit more precise.
geoffw0 Oct 24, 2025
4461be1
Merge pull request #19539 from yoff/java/conflicting-access
yoff Oct 28, 2025
9ff3c61
Rust: Add type inference tests involving `Self`
paldepind Oct 29, 2025
9022f99
Rust: Improve handling of occurrences of the `Self` type parameter
paldepind Oct 29, 2025
9f498df
Swift: Do not include the embedded resources
jketema Oct 29, 2025
2505c8f
Swift: Improve docs
jketema Oct 29, 2025
6906c88
Swift: Update change note
jketema Oct 29, 2025
b729354
Merge pull request #20704 from hvitved/rust/fix-bad-joins
hvitved Oct 29, 2025
ce8cffc
Rust: Address comments
paldepind Oct 29, 2025
25e4b79
Rust: Exclude skipped files from MacroCallTargetStats.
geoffw0 Oct 28, 2025
5ca0bd0
Rust: Exclude skipped files from CallTargetStats and ExprTypeStats as…
geoffw0 Oct 28, 2025
558ca74
Merge pull request #20702 from geoffw0/gen2
geoffw0 Oct 29, 2025
4ea90e0
Dataflow: Minor drive-by qldoc addition.
aschackmull Oct 29, 2025
9776e8f
C#: Remove an irrelevant reference to impliesStep.
aschackmull Oct 15, 2025
e3fc319
C#: Remove tests referencing impliesStep.
aschackmull Oct 15, 2025
1aa0e7c
C#: Make private.
aschackmull Oct 15, 2025
46fc006
C#: Update NullCheck test to reflect what nullness use.
aschackmull Oct 17, 2025
dc4abc9
C#: Replace references to getANullCheck.
aschackmull Oct 17, 2025
84b8b1c
C#: Minor test tweak.
aschackmull Oct 17, 2025
8b3e626
Guards: Only prune actually trivial guards.
aschackmull Oct 21, 2025
7241bed
C#: Replace Guards with the new implementation.
aschackmull Oct 21, 2025
cbfb8fd
C#: Accept some test changes.
aschackmull Oct 21, 2025
0df0816
Guards: Minor improvement to implications.
aschackmull Oct 29, 2025
72f1fe5
C#: Exclude nullness sources that are deemed non-null.
aschackmull Oct 29, 2025
500fdb8
Guards: Add support for assertions that exit rather than throw.
aschackmull Oct 27, 2025
b48d4d4
C#: Recognize assertions as Guards.
aschackmull Oct 27, 2025
e61ddf5
C#: Remove assertion splitting.
aschackmull Oct 27, 2025
87d89fd
C#: Fix CFG for assertion.
aschackmull Oct 28, 2025
7a864c5
Rust: Implement suggestion from review.
geoffw0 Oct 29, 2025
51a577a
Merge pull request #20713 from aschackmull/dataflow/qldoc1
aschackmull Oct 29, 2025
e5f1238
Merge pull request #20707 from paldepind/rust/ti-self-trait
hvitved Oct 29, 2025
6ed8bcb
Rust: Add type inference tests for method resolution overlap
hvitved Oct 27, 2025
900d0d2
C#: Accept test changes for assert split removal.
aschackmull Oct 29, 2025
3c663d8
Merge pull request #20715 from hvitved/rust/type-inference-overlap-test
hvitved Oct 29, 2025
f395162
Rust: More type inference tests
hvitved Oct 28, 2025
bc53fee
Rust: Infer more `()` types
hvitved Oct 28, 2025
ea6b05e
Update docs/codeql/codeql-overview/system-requirements.rst
jketema Oct 29, 2025
cf2cd20
Swift: Update resources
jketema Oct 29, 2025
26f59a8
Merge pull request #20710 from jketema/swift-rsc
jketema Oct 29, 2025
b189f1f
Rust: Refactor using shared constraint satisfaction
paldepind Oct 24, 2025
5697a7e
Rust: More type inference tests
hvitved Oct 30, 2025
0e7d410
Merge branch 'main' into macrometric2
geoffw0 Oct 30, 2025
cca458c
Rust: Address review comments and handle `!` types in type inference
hvitved Oct 30, 2025
c648aa6
Rust: Rename predicates
paldepind Oct 30, 2025
a25ae39
Merge pull request #20682 from paldepind/rust/ti-condition
paldepind Oct 30, 2025
39f74d8
JS: Add compileForOverlayEval
asgerf Jul 2, 2025
a5819a1
JS: Fix bad join order in getNextToken()
asgerf Sep 12, 2025
0acface
JS: Recursively delete source archive so emptiness detection works
asgerf Oct 27, 2025
1f7671c
JS: Ensure integration test contains one valid file
asgerf Oct 27, 2025
c583b48
JS: Add pragma[nomagic] just to be safe
asgerf Oct 30, 2025
d71f2de
Rust: Add more variable tests
hvitved Oct 30, 2025
3d7b60a
Rust: Add variable consistency query
hvitved Oct 30, 2025
5a24674
Rust: Fix variable access overlap
hvitved Oct 30, 2025
a1a9626
Merge pull request #20421 from asgerf/js/compile-for-overlay-eval
asgerf Oct 31, 2025
f850025
Rust: Add another type inference test
hvitved Oct 31, 2025
7d5664f
Address review comment
hvitved Oct 31, 2025
b08b123
Swift: Support new accessors
jketema Oct 30, 2025
119b058
Swift: Handle method and initializer key path components in QL
jketema Oct 30, 2025
67b6b9c
Swift: Support `UnsafeExpr`
jketema Oct 30, 2025
b9d0cb7
Swift: Add basic support for experimental `using` decls
jketema Oct 30, 2025
72e8ec3
Swift: Update comment for `LocatableType`s
jketema Oct 30, 2025
f4d1e1c
Swift: Handle `InlineArrayType`s
jketema Oct 31, 2025
eab6579
Swift: sync files
jketema Oct 31, 2025
6d64800
Rust: Move variable consistency check into `AstConsistency.qll`
hvitved Oct 31, 2025
92ca0c2
Swift: Update expected test results
jketema Oct 31, 2025
7301bc7
Swift: Fix key path numbering in upgrade and downgrade scripts
jketema Oct 31, 2025
f672f6b
Merge pull request #20727 from hvitved/rust/variable-overlap-fix
hvitved Oct 31, 2025
5aa5328
C#: Allow nullness sources with SSA at entry.
aschackmull Oct 31, 2025
94f8ea5
Swift: Add upgrade and downgrade scripts
jketema Oct 31, 2025
2a8e3be
Swift: Add change note
jketema Oct 31, 2025
d8fff44
Merge pull request #20712 from geoffw0/macrometric2
geoffw0 Oct 31, 2025
95e60ad
Merge pull request #20705 from hvitved/rust/type-inference-unit
hvitved Oct 31, 2025
09378b8
Merge pull request #20665 from aschackmull/csharp/guards-replace
aschackmull Oct 31, 2025
e558c02
Merge pull request #20734 from aschackmull/csharp/tweak-nullness
aschackmull Oct 31, 2025
4f6528a
C#: Deprecate AbstractValue.
aschackmull Oct 31, 2025
fa20075
C#: Review fix and simplification.
aschackmull Oct 31, 2025
1efecc0
Kotlin: Avoid infinite recursion when extracting recursive interfaces
igfoo Oct 30, 2025
9182da1
Kotlin: Add a test for nested types
igfoo Oct 30, 2025
06218d8
Kotlin: Add a test for recursive interfaces
igfoo Oct 30, 2025
bda6513
Merge pull request #20737 from aschackmull/csharp/deprecate-abstractv…
aschackmull Oct 31, 2025
7ff696b
Merge pull request #20726 from igfoo/igfoo/ClassInstanceStack
igfoo Oct 31, 2025
d354b0c
Merge pull request #20732 from jketema/swift-6.2-elements
jketema Oct 31, 2025
64fcdd1
Release preparation for version 2.23.4
invalid-email-address Nov 3, 2025
e825a3a
C#: Minor changelog improvements
mbg Nov 3, 2025
637e12e
Merge pull request #20745 from github/release-prep/2.23.4
mbg Nov 3, 2025
6790684
Merge pull request #20752 from asgerf/actions/dont-fail-if-no-js
asgerf Nov 4, 2025
da1e93e
Merge pull request #20754 from github/mbg/2.23.4/backport-dont-fail-i…
mbg Nov 4, 2025
e7c029a
Revert "Merge pull request #20645 from paldepind/cpp/range-analysis-m…
esteffin Nov 7, 2025
6ce8f07
Revert "Release preparation for version 2.23.4"
mbg Nov 7, 2025
9d2206b
Merge pull request #20775 from github/esteffin/revert-20645-cpp-range…
mbg Nov 7, 2025
eb32c32
Merge pull request #20777 from github/revert-20745-release-prep/2.23.4
mbg Nov 7, 2025
6342da9
Release preparation for version 2.23.4
invalid-email-address Nov 7, 2025
262bfe0
C#: Minor changelog improvements
mbg Nov 3, 2025
0cbc935
Revert C++ range analysis change note
mbg Nov 7, 2025
714296b
Merge pull request #20778 from github/release-prep/2.23.4
mbg Nov 7, 2025
8ba29a7
Revert "Release preparation for version 2.23.4"
mbg Nov 10, 2025
5b1e651
Merge pull request #20803 from github/revert-20778-release-prep/2.23.4
mbg Nov 11, 2025
e4f25c9
Release preparation for version 2.23.5
invalid-email-address Nov 11, 2025
ac9a297
C#: Minor changelog improvements
mbg Nov 3, 2025
b4fed5b
Revert C++ range analysis change note
mbg Nov 7, 2025
e5fa4a6
Merge pull request #20812 from github/release-prep/2.23.5
mbg Nov 11, 2025
a26da74
resolved merge conflicts, accepting incoming change
chanel-y Nov 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 0 additions & 4 deletions .github/copilot-instructions.md

This file was deleted.

4 changes: 4 additions & 0 deletions .github/instructions/expected-files.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---
applyTo: "**/*.expected"
---
Ignore these files. These are generated to be correct by running the tests, and should not be edited manually.
6 changes: 6 additions & 0 deletions .github/instructions/ql-files.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
applyTo: "**/*.ql,**/*.qll"
---
When reviewing these QL files, do not make any comment on the code itself. You don't understand the QL programming language well enough yet. You can only make comments about the following aspects:
* comments (lines starting with `//` or block comments enclosed in `/* ... */`): you can suggest improvements to the clarity of comments, or point out spelling mistakes
* typos in identifiers
1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,3 @@ members = [
"rust/ast-generator",
"rust/autobuild",
]
exclude = ["mad-generation-build"]
6 changes: 3 additions & 3 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,16 @@ bazel_dep(name = "rules_go", version = "0.56.1")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_nodejs", version = "6.2.0-codeql.1")
bazel_dep(name = "rules_python", version = "0.40.0")
bazel_dep(name = "rules_shell", version = "0.3.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "rules_shell", version = "0.5.0")
bazel_dep(name = "bazel_skylib", version = "1.8.1")
bazel_dep(name = "abseil-cpp", version = "20240116.1", repo_name = "absl")
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
bazel_dep(name = "fmt", version = "10.0.0")
bazel_dep(name = "rules_kotlin", version = "2.1.3-codeql.1")
bazel_dep(name = "gazelle", version = "0.40.0")
bazel_dep(name = "rules_dotnet", version = "0.19.2-codeql.1")
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
bazel_dep(name = "rules_rust", version = "0.63.0")
bazel_dep(name = "rules_rust", version = "0.66.0")
bazel_dep(name = "zstd", version = "1.5.5.bcr.1")

bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
Expand Down
4 changes: 4 additions & 0 deletions actions/ql/lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.4.20

No user-facing changes.

## 0.4.19

No user-facing changes.
Expand Down
3 changes: 3 additions & 0 deletions actions/ql/lib/change-notes/released/0.4.20.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.4.20

No user-facing changes.
2 changes: 1 addition & 1 deletion actions/ql/lib/codeql-pack.release.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.4.19
lastReleaseVersion: 0.4.20
Original file line number Diff line number Diff line change
Expand Up @@ -100,8 +100,6 @@ private module ArgumentInjectionConfig implements DataFlow::ConfigSig {

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node source) { none() }

Location getASelectedSinkLocation(DataFlow::Node sink) {
result = sink.getLocation()
or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -333,8 +333,6 @@ private module ArtifactPoisoningConfig implements DataFlow::ConfigSig {

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node source) { none() }

Location getASelectedSinkLocation(DataFlow::Node sink) {
result = sink.getLocation()
or
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/lib/codeql/actions/security/CodeInjectionQuery.qll
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,6 @@ private module CodeInjectionConfig implements DataFlow::ConfigSig {

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node source) { none() }

Location getASelectedSinkLocation(DataFlow::Node sink) {
result = sink.getLocation()
or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,6 @@ private module EnvPathInjectionConfig implements DataFlow::ConfigSig {

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node source) { none() }

Location getASelectedSinkLocation(DataFlow::Node sink) {
result = sink.getLocation()
or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,8 +184,6 @@ private module EnvVarInjectionConfig implements DataFlow::ConfigSig {

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node source) { none() }

Location getASelectedSinkLocation(DataFlow::Node sink) {
result = sink.getLocation()
or
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,8 +212,6 @@ private module OutputClobberingConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

/** Tracks flow of unsafe user input that is used to construct and evaluate an environment variable. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ private module RequestForgeryConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) { sink instanceof RequestForgerySink }

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

/** Tracks flow of unsafe user input that is used to construct and evaluate a system command. */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ private module SecretExfiltrationConfig implements DataFlow::ConfigSig {
predicate isSink(DataFlow::Node sink) { sink instanceof SecretExfiltrationSink }

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

/** Tracks flow of unsafe user input that is used in a context where it may lead to a secret exfiltration. */
Expand Down
2 changes: 1 addition & 1 deletion actions/ql/lib/qlpack.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: codeql/actions-all
version: 0.4.19
version: 0.4.20
library: true
warnOnImplicitThis: true
dependencies:
Expand Down
4 changes: 4 additions & 0 deletions actions/ql/src/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.6.12

No user-facing changes.

## 0.6.11

No user-facing changes.
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/CompositeActionsSinks.ql
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/CompositeActionsSources.ql
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/CompositeActionsSummaries.ql
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/ReusableWorkflowsSinks.ql
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/ReusableWorkflowsSources.ql
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
2 changes: 0 additions & 2 deletions actions/ql/src/Models/ReusableWorkflowsSummaries.ql
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ private module MyConfig implements DataFlow::ConfigSig {
}

predicate observeDiffInformedIncrementalMode() { any() }

Location getASelectedSourceLocation(DataFlow::Node sink) { none() }
}

module MyFlow = TaintTracking::Global<MyConfig>;
Expand Down
3 changes: 3 additions & 0 deletions actions/ql/src/change-notes/released/0.6.12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.6.12

No user-facing changes.
2 changes: 1 addition & 1 deletion actions/ql/src/codeql-pack.release.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.6.11
lastReleaseVersion: 0.6.12
2 changes: 1 addition & 1 deletion actions/ql/src/qlpack.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: codeql/actions-queries
version: 0.6.11
version: 0.6.12
library: false
warnOnImplicitThis: true
groups: [actions, queries]
Expand Down
1 change: 1 addition & 0 deletions config/dbscheme-fragments.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"fragments": [
"/*- Compilations -*/",
"/*- External data -*/",
"/*- Overlay support -*/",
"/*- Files and folders -*/",
"/*- Diagnostic messages -*/",
"/*- Diagnostic messages: severity -*/",
Expand Down
24 changes: 14 additions & 10 deletions cpp/ql/lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 6.0.1

No user-facing changes.

## 6.0.0

### Breaking Changes
Expand Down Expand Up @@ -255,8 +259,8 @@ No user-facing changes.

### Breaking Changes

* Deleted many deprecated taint-tracking configurations based on `TaintTracking::Configuration`.
* Deleted many deprecated dataflow configurations based on `DataFlow::Configuration`.
* Deleted many deprecated taint-tracking configurations based on `TaintTracking::Configuration`.
* Deleted many deprecated dataflow configurations based on `DataFlow::Configuration`.
* Deleted the deprecated `hasQualifiedName` and `isDefined` predicates from the `Declaration` class, use `hasGlobalName` and `hasDefinition` respectively instead.
* Deleted the `getFullSignature` predicate from the `Function` class, use `getIdentityString(Declaration)` from `semmle.code.cpp.Print` instead.
* Deleted the deprecated `freeCall` predicate from `Alloc.qll`. Use `DeallocationExpr` instead.
Expand Down Expand Up @@ -290,7 +294,7 @@ No user-facing changes.
* A `getTemplateClass` predicate was added to the `DeductionGuide` class to get the class template for which the deduction guide is a guide.
* An `isExplicit` predicate was added to the `Function` class that determines whether the function was declared as explicit.
* A `getExplicitExpr` predicate was added to the `Function` class that yields the constant boolean expression (if any) that conditionally determines whether the function is explicit.
* A `isDestroyingDeleteDeallocation` predicate was added to the `NewOrNewArrayExpr` and `DeleteOrDeleteArrayExpr` classes to indicate whether the deallocation function is a destroying delete.
* A `isDestroyingDeleteDeallocation` predicate was added to the `NewOrNewArrayExpr` and `DeleteOrDeleteArrayExpr` classes to indicate whether the deallocation function is a destroying delete.

### Minor Analysis Improvements

Expand Down Expand Up @@ -368,9 +372,9 @@ No user-facing changes.
### New Features

* Added a `TaintInheritingContent` class that can be extended to model taint flowing from a qualifier to a field.
* Added a predicate `GuardCondition.comparesEq/4` to query whether an expression is compared to a constant.
* Added a predicate `GuardCondition.comparesEq/4` to query whether an expression is compared to a constant.
* Added a predicate `GuardCondition.ensuresEq/4` to query whether a basic block is guarded by an expression being equal to a constant.
* Added a predicate `GuardCondition.comparesLt/4` to query whether an expression is compared to a constant.
* Added a predicate `GuardCondition.comparesLt/4` to query whether an expression is compared to a constant.
* Added a predicate `GuardCondition.ensuresLt/4` to query whether a basic block is guarded by an expression being less than a constant.
* Added a predicate `GuardCondition.valueControls` to query whether a basic block is guarded by a particular `case` of a `switch` statement.

Expand Down Expand Up @@ -486,7 +490,7 @@ No user-facing changes.
* Functions that do not return due to calling functions that don't return (e.g. `exit`) are now detected as
non-returning in the IR and dataflow.
* Treat functions that reach the end of the function as returning in the IR.
They used to be treated as unreachable but it is allowed in C.
They used to be treated as unreachable but it is allowed in C.
* The `DataFlow::asDefiningArgument` predicate now takes its argument from the range starting at `1` instead of `2`. Queries that depend on the single-parameter version of `DataFlow::asDefiningArgument` should have their arguments updated accordingly.

## 0.9.3
Expand Down Expand Up @@ -535,7 +539,7 @@ No user-facing changes.

### New Features

* The `DataFlow::StateConfigSig` signature module has gained default implementations for `isBarrier/2` and `isAdditionalFlowStep/4`.
* The `DataFlow::StateConfigSig` signature module has gained default implementations for `isBarrier/2` and `isAdditionalFlowStep/4`.
Hence it is no longer needed to provide `none()` implementations of these predicates if they are not needed.

### Minor Analysis Improvements
Expand Down Expand Up @@ -729,7 +733,7 @@ No user-facing changes.

### Deprecated APIs

* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide.
* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide.
The old name still exists as a deprecated alias.

### New Features
Expand All @@ -746,7 +750,7 @@ No user-facing changes.

### Deprecated APIs

* Many classes/predicates/modules with upper-case acronyms in their name have been renamed to follow our style-guide.
* Many classes/predicates/modules with upper-case acronyms in their name have been renamed to follow our style-guide.
The old name still exists as a deprecated alias.

### New Features
Expand Down Expand Up @@ -845,7 +849,7 @@ No user-facing changes.

### Deprecated APIs

* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide.
* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide.
The old name still exists as a deprecated alias.

### New Features
Expand Down
3 changes: 3 additions & 0 deletions cpp/ql/lib/change-notes/released/6.0.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 6.0.1

No user-facing changes.
2 changes: 1 addition & 1 deletion cpp/ql/lib/codeql-pack.release.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
lastReleaseVersion: 6.0.0
lastReleaseVersion: 6.0.1
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ class KnownOpenSslEllipticCurveConstantAlgorithmInstance extends OpenSslAlgorith
result = this.(Call).getTarget().getName()
}

override Crypto::EllipticCurveFamilyType getEllipticCurveFamilyType() {
override Crypto::EllipticCurveType getEllipticCurveType() {
if
Crypto::ellipticCurveNameToKnownKeySizeAndFamilyMapping(this.getParsedEllipticCurveName(), _,
_)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ class KnownOpenSslHashConstantAlgorithmInstance extends OpenSslAlgorithmInstance

override OpenSslAlgorithmValueConsumer getAvc() { result = getterCall }

override Crypto::THashType getHashFamily() {
override Crypto::THashType getHashType() {
knownOpenSslConstantToHashFamilyType(this, result)
or
not knownOpenSslConstantToHashFamilyType(this, _) and result = Crypto::OtherHashType()
Expand Down
2 changes: 1 addition & 1 deletion cpp/ql/lib/qlpack.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: codeql/cpp-all
version: 6.0.0
version: 6.0.1
groups: cpp
dbscheme: semmlecode.cpp.dbscheme
extractor: cpp
Expand Down
12 changes: 7 additions & 5 deletions cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
Original file line number Diff line number Diff line change
Expand Up @@ -380,18 +380,20 @@ private module LogicInput_v1 implements GuardsImpl::LogicInputSig {
GuardsInput::Expr getARead() { result = this.getAUse().getDef() }
}

class SsaWriteDefinition extends SsaDefinition instanceof ExplicitDefinition {
GuardsInput::Expr getDefinition() { result = super.getAssignedInstruction() }
class SsaExplicitWrite extends SsaDefinition instanceof ExplicitDefinition {
GuardsInput::Expr getValue() { result = super.getAssignedInstruction() }
}

class SsaPhiNode extends SsaDefinition instanceof PhiNode {
class SsaPhiDefinition extends SsaDefinition instanceof PhiNode {
predicate hasInputFromBlock(SsaDefinition inp, BasicBlock bb) {
super.hasInputFromBlock(inp, bb)
}
}

predicate parameterDefinition(GuardsInput::Parameter p, SsaDefinition def) {
def.isParameterDefinition(p)
class SsaParameterInit extends SsaDefinition {
SsaParameterInit() { this.isParameterDefinition(_) }

GuardsInput::Parameter getParameter() { this.isParameterDefinition(result) }
}

predicate additionalImpliesStep(
Expand Down
Loading
Loading