Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
502 commits
Select commit Hold shift + click to select a range
2907861
C++: Add `cpp/incorrect-string-type-conversion` test with unreachable…
jketema Jul 10, 2025
399967b
C++: Do not alert on unreachable code in `cpp/incorrect-string-type-c…
jketema Jul 10, 2025
c7a3b65
Address copilot comment
kaspersv Jul 10, 2025
767d55b
Merge pull request #20013 from kaspersv/kaspersv/ql4ql-discard-entity…
kaspersv Jul 10, 2025
b573246
Merge pull request #20003 from github/aibaars/query-result
aibaars Jul 10, 2025
d7094a9
Overlay: Add discarding of all Java base properties
kaspersv Jul 4, 2025
0739c03
Overlay: Add discarding of base XML locatables for Java
kaspersv Jul 4, 2025
d4de56c
Rust: Fix bad join
hvitved Jul 10, 2025
e362e53
Merge pull request #20009 from github/dependabot/go_modules/go/extrac…
owen-mc Jul 10, 2025
675a072
C++: Add 'pthread_create' test with missing flow.
MathiasVP Jul 10, 2025
d198a96
C++: Add a model for 'pthread_create' and accept test changes.
MathiasVP Jul 10, 2025
2062a77
C++: Add 'std::thread' test with missing flow.
MathiasVP Jul 10, 2025
89cf215
C++: Add models for 'std::thread' and accept test changes.
MathiasVP Jul 10, 2025
95c2b9f
Rust: Add more type inference tests
hvitved Jul 8, 2025
ebde0bd
Rust: Disambiguate calls to associated functions
hvitved Jul 8, 2025
c7d20eb
Rust: Update expected test output
hvitved Jul 9, 2025
b547dc4
C++: Add change note.
MathiasVP Jul 10, 2025
054bbc2
Merge pull request #20015 from hvitved/rust/fix-bad-join
hvitved Jul 10, 2025
dda4a97
Update cpp/ql/test/library-tests/dataflow/external-models/test.cpp
MathiasVP Jul 10, 2025
1351f57
Merge pull request #19998 from tamasvajk/quality/label-in-switch
tamasvajk Jul 10, 2025
7ddc909
C++: Accept test changes after review.
MathiasVP Jul 10, 2025
70476c0
Add change note
hvitved Jul 10, 2025
3debd1a
Merge pull request #19948 from geoffw0/models5
geoffw0 Jul 10, 2025
117e330
Merge branch 'main' into models1
geoffw0 Jul 10, 2025
2cd4d98
Merge pull request #20002 from geoffw0/moresensitive1
geoffw0 Jul 10, 2025
0c075ab
Rust: Fix merge (I picked the wrong version).
geoffw0 Jul 10, 2025
990b7f0
C++: Add change note
jketema Jul 10, 2025
b32a8c2
C++: Add dataflow predicate for checking if a node is the final value…
jketema Jul 10, 2025
439cf7a
Merge pull request #19942 from geoffw0/models1
geoffw0 Jul 10, 2025
214969f
C++: Add change note
jketema Jul 10, 2025
7ba18fa
Merge branch 'main' into models3b
geoffw0 Jul 10, 2025
96c379a
C++: Fix formatting and typo
jketema Jul 10, 2025
fefb35b
Merge pull request #20016 from MathiasVP/add-more-thread-create-models
MathiasVP Jul 10, 2025
3a0def7
Merge pull request #19989 from github/nickrolfe/ruby-annotations
nickrolfe Jul 10, 2025
c39e5a7
Update qhelp: SnakeYaml is safe from version 2.0
owen-mc Jul 10, 2025
7507834
Rust: Accept .expected changes (mostly renumberings).
geoffw0 Jul 10, 2025
7be938c
Handle multiple whitespaces in runner temp regex.
AdnaneKhan Jul 10, 2025
1b794e0
Add extra test suggested by @Napalys
AdnaneKhan Jul 10, 2025
01c75e3
Rust: The rusqlite row.get() calls are missing a canonical path.
geoffw0 Jul 10, 2025
6d8e2f8
Merge pull request #20017 from jketema/final
jketema Jul 10, 2025
6de5a61
Rust: Accept consistency changes as well.
geoffw0 Jul 10, 2025
1e9520c
Merge pull request #19995 from hvitved/rust/disambiguate-assoc-functi…
hvitved Jul 10, 2025
8cd357a
Rust: Fix type inference for library parameters
hvitved Jul 2, 2025
1d7d45e
Rust: Update expected test output
hvitved Jul 2, 2025
006d77f
Refactor QL to make type check more concise
owen-mc Jul 11, 2025
07598e8
Add test results.
AdnaneKhan Jul 11, 2025
7421399
Merge pull request #19658 from hvitved/rust/type-inference-library-pa…
hvitved Jul 11, 2025
76544f2
Merge pull request #19943 from asgerf/approximate-related-location
jbj Jul 11, 2025
53ee565
Rust: Add more type inference tests
hvitved Jul 10, 2025
6736dd4
C++: Add some tests with missing flow through function objects.
MathiasVP Jul 11, 2025
11cba94
C++: Add a missing predicate on 'UninitializedInstruction' that we wi…
MathiasVP Jul 10, 2025
663c3e7
C++: Sync identical files.
MathiasVP Jul 10, 2025
b53c354
C++: Add lambda dispatch for functors.
MathiasVP Jul 10, 2025
4ab2977
Rust: Type inference for pattern matching
hvitved Jul 10, 2025
ac13f40
Add change note
hvitved Jul 11, 2025
df241ad
C++: Fix lambda creation for objects with no constructor.
MathiasVP Jul 10, 2025
6d0c8c6
C++: Work around an extractor bug.
MathiasVP Jul 10, 2025
4f538a2
C++: Accept taint test changes.
MathiasVP Jul 10, 2025
34fae32
Add test for ObjectInput.readObject
owen-mc Jul 11, 2025
8e4bd1a
Add sink for ObjectInput.readObject to make test pass
owen-mc Jul 11, 2025
7764fbb
Change note
owen-mc Jul 11, 2025
a96d3d7
Rust: Add more type inference tests
hvitved Jul 11, 2025
edf6c7f
Rust: Handle `(Enum::)Variant::<TypeArg>` type mentions
hvitved Jul 11, 2025
232377a
C++: Fix C++20 concept related class extensions
jketema Jul 11, 2025
d1cf7f0
Python: Support type annotations in call graph
tausbn Jun 4, 2025
2c45550
Python: Add change note
tausbn Jun 4, 2025
c6c6a85
Python: Add tests
tausbn Jul 11, 2025
0a18db8
Merge pull request #20020 from hvitved/rust/type-inference-pattern-ma…
hvitved Jul 11, 2025
649c883
Merge pull request #20014 from jketema/wchar
MathiasVP Jul 11, 2025
655b3de
Rust: Remove `Resolvable.resolvesAsItem`
hvitved Jul 11, 2025
053a749
C++: Add change note.
MathiasVP Jul 11, 2025
43accc5
JavaScript: Ignore `outDir`s that would exclude everything
tausbn Jul 11, 2025
2f822cb
JavaScript: Add change note
tausbn Jul 11, 2025
32e7a9d
Rust: type inference: more pattern matching tests
aibaars Jul 11, 2025
519905e
Rust: type inference: add test for closure argument
aibaars Jul 11, 2025
1da42cb
Merge pull request #20023 from MathiasVP/dataflow-for-functors
MathiasVP Jul 11, 2025
88b4f97
Merge pull request #20027 from hvitved/rust/remove-resolves-as-item
hvitved Jul 11, 2025
344535b
Merge pull request #19672 from github/tausbn/python-support-type-anno…
tausbn Jul 11, 2025
30f7058
JavaScript: Add test where `outDir` resolves to an unwanted path
tausbn Jul 11, 2025
33ea822
Rust: Workaround for type inference issue in the test.
geoffw0 Jul 11, 2025
14a362d
Merge pull request #20029 from github/aibaars/more-pattern-tests
aibaars Jul 11, 2025
68a37f9
Rust: Add something similar as a type inference test case.
geoffw0 Jul 11, 2025
6ac0f0e
Fix change note filename.
AdnaneKhan Jul 11, 2025
c95b5ce
Merge branch 'main' into patch-1
AdnaneKhan Jul 11, 2025
e20ae48
Merge branch 'main' into models3b
geoffw0 Jul 11, 2025
05e1cd4
Rust: Fix garbled merge.
geoffw0 Jul 11, 2025
03e8865
Merge pull request #20025 from owen-mc/java/unsafe-deserialization
owen-mc Jul 11, 2025
391e9f7
Merge pull request #20000 from owen-mc/go/request-forgery
owen-mc Jul 11, 2025
d82d5c2
Merge pull request #20026 from jketema/concept-fix
jketema Jul 13, 2025
a6701ce
Kotlin: Update regex patterns to use raw string notation
igfoo Jul 13, 2025
c267a88
Bump golang.org/x/tools
dependabot[bot] Jul 14, 2025
cb69780
Merge pull request #19388 from AdnaneKhan/patch-1
Napalys Jul 14, 2025
1f2e068
Rust: Rename type inference test inline expectation tag
paldepind Jul 14, 2025
27f2000
Merge pull request #20035 from github/dependabot/go_modules/go/extrac…
mbg Jul 14, 2025
01ee3f7
Shared: Add shared concepts library
jketema Jul 6, 2025
8b828ce
Use shared `SensitiveDataHeuristics`
jketema Jul 6, 2025
c582a9c
Remove duplicate copies of `SensitiveDataHeuristics`
jketema Jul 6, 2025
f4ba2e1
Properly share `CryptoAlgorithms` and `CryptoAlgorithmNames`
jketema Jul 7, 2025
f07d8ee
Remove duplicate copies of `CryptoAlgorithms` and `CryptoAlgorithmNames`
jketema Jul 7, 2025
86ebf3d
Merge pull request #20034 from github/igfoo/fix_regex_in_dbscheme_parser
igfoo Jul 14, 2025
be7db80
Rust: Accept consistency check change (from CI).
geoffw0 Jul 14, 2025
b43a0e7
Merge pull request #19946 from geoffw0/models3b
geoffw0 Jul 14, 2025
77cab9d
Kotlin: tweak plugin test
redsun82 Jul 14, 2025
7285453
Merge branch 'main' into rust/type-inference-rename-expectations
paldepind Jul 14, 2025
c941e91
Merge pull request #19731 from github/nickrolfe/ruby-compile-for-over…
nickrolfe Jul 14, 2025
31d0897
Kotlin: disable bazel cache in plugin test
redsun82 Jul 14, 2025
87a8dcc
Merge pull request #20037 from paldepind/rust/type-inference-rename-e…
paldepind Jul 14, 2025
46627c6
C++: Add FP in dataflow through global variables.
MathiasVP Jul 14, 2025
a825213
C++: Fix FP by not generating a global def entry node for variable 'v…
MathiasVP Jul 14, 2025
cbde11d
Properly share `ConceptsShared.qll`
jketema Jul 14, 2025
1995870
Add overlay annotations
jketema Jul 7, 2025
1d36405
C++: Accept path changes.
MathiasVP Jul 14, 2025
c83895f
Merge branch 'main' into fix-global-variable-recursion-fp
MathiasVP Jul 14, 2025
85d1e06
Merge pull request #20039 from github/redsun82/kotlin-plugin-test
redsun82 Jul 14, 2025
d33cd71
Merge pull request #20030 from github/tausbn/javascript-ignore-tsconf…
jketema Jul 14, 2025
26dae81
Rust: Make rust/summary/query-sinks less noisy and thus more useful. …
geoffw0 Jul 14, 2025
2ed54d5
Merge pull request #20040 from MathiasVP/fix-global-variable-recursio…
jketema Jul 14, 2025
29cceeb
C++: Don't use asExpr to mark the sink in 'cpp/uncontrolled-process-o…
MathiasVP Jul 14, 2025
c199d0c
Java: use overlayChangedFiles in discard prediactes
nickrolfe Jul 4, 2025
16e9e8e
Merge pull request #20049 from github/nickrolfe/java-deleted-files
nickrolfe Jul 15, 2025
9661ee4
Fix compilation of DataFlowImplConsistency.qll
owen-mc Jul 15, 2025
9e87095
Java: Restrict results to source literals.
aschackmull Jul 15, 2025
b13f118
Merge pull request #20054 from aschackmull/java/fixup-control-char-query
aschackmull Jul 15, 2025
f84a308
Address review comment about ignored QL variable
kaspersv Jul 15, 2025
c8eefb7
Golang: Mark filepath.IsLocal as a tainted-path sanitizer guard
smowton Jul 15, 2025
ac72f85
Change note
smowton Jul 15, 2025
9c3e275
Merge pull request #20011 from kaspersv/kaspersv/discard-xml
kaspersv Jul 15, 2025
10a678d
Java lib qlpack: Enable overlay compilation
kaspersv Jun 23, 2025
9ef22ff
Update SnakeYaml reference to note that it is outdated
owen-mc Jul 15, 2025
477edd2
C++: Add test showing that the IR translation for `typeid` is broken
jketema Jul 15, 2025
b71f9ae
Fix function qname
smowton Jul 15, 2025
327c4b3
Merge pull request #20058 from jketema/typeid-test
MathiasVP Jul 15, 2025
16f3fc6
Merge pull request #20056 from github/smowton/fix/tainted-path-is-local
smowton Jul 15, 2025
70bff4e
C++: Fix typeid IR translation
jketema Jul 15, 2025
54f11ca
C++: Fix typo in comment
jketema Jul 15, 2025
58aa758
Merge pull request #20059 from MathiasVP/no-more-as-expr-inUncontroll…
jketema Jul 15, 2025
a08d594
C++: Introduce `TypeidInstruction` base class
jketema Jul 15, 2025
b9acaa0
Make web.config match case insensitive
jfrank-nih Jul 15, 2025
5297121
C++: Address review comments
jketema Jul 15, 2025
6384cf2
Update predicate name
Hug0Vincent Jul 15, 2025
8c82405
Update 2025-06-10-getasupertype.md
Hug0Vincent Jul 15, 2025
4036140
C#: Add Deserialize testcase.
michaelnebel Jul 1, 2025
13b40bb
C#: Fix erroneous model the MemoryStream constructor (and align with …
michaelnebel Jul 1, 2025
8ee16f6
C#: Update test expected output.
michaelnebel Jul 1, 2025
3ae69d5
C#: Promote the generated System.Xml.XmlDictionaryReader.CreateBinary…
michaelnebel Jul 1, 2025
064c4fc
C#: Add models for the remaining overloads of System.Xml.XmlDictionar…
michaelnebel Jul 1, 2025
5c05ff8
C#: Improve the models for System.Text.Encoding.[GetBytes|GetChars].
michaelnebel Jul 1, 2025
95763dd
C#: Add some models for SerializationInto and SerializationInfoEnumer…
michaelnebel Jul 3, 2025
eba901f
C#: Update flow summaries expected output.
michaelnebel Jul 1, 2025
8f8b042
C#: Add change-note.
michaelnebel Jul 1, 2025
70bf61d
C#: Convert Deserialization tests to use inline expectations.
michaelnebel Jul 3, 2025
d264fb5
Merge pull request #20042 from geoffw0/sinknoise
geoffw0 Jul 16, 2025
a537c00
change note
smowton Jul 16, 2025
c5357ff
Merge pull request #20008 from Hug0Vincent/csharp
michaelnebel Jul 16, 2025
d6a3b2e
Merge pull request #20065 from smowton/smowton/fix/web.config
smowton Jul 16, 2025
e9fdca7
C#: Address review comments.
michaelnebel Jul 16, 2025
200d46f
Merge pull request #20060 from jketema/typeid-fix
jketema Jul 16, 2025
ca913b4
C++: Don't summarize calls through function pointers in FunctionWithW…
MathiasVP Jul 15, 2025
24bea73
Shared: Add missing QLDoc and change note
jketema Jul 16, 2025
1990438
JS: Fix import
jketema Jul 16, 2025
df4b338
C++: Add change notes.
MathiasVP Jul 16, 2025
8b953e4
C++: No need for 'resolveCall' anymore.
MathiasVP Jul 16, 2025
fdd1e3f
Use MaD models for unsafe deserialization sinks when possible
owen-mc Jul 16, 2025
ad60aff
Update which sink kinds are shared between languages
owen-mc Jul 11, 2025
7d4a70c
Add change notes
owen-mc Jul 16, 2025
2709bf0
C++: Add test that shows that IR generation for `<=>` is broken
jketema Jul 16, 2025
a9fb49a
Merge pull request #20066 from MathiasVP/dont-summarize-function-poin…
MathiasVP Jul 16, 2025
807ab98
C++: Update more exoected test results
jketema Jul 16, 2025
805e31f
Update test expectations
owen-mc Jul 16, 2025
9b8302f
Merge pull request #20068 from jketema/spaceship-test
jketema Jul 16, 2025
f319381
C++: Support the spaceship operator in the IR
jketema Jul 16, 2025
29a6af4
C++: Fix instruction class name
jketema Jul 16, 2025
eabe651
Merge pull request #20069 from jketema/spaceship-ir
jketema Jul 16, 2025
01738c2
Merge pull request #19940 from michaelnebel/csharp/fixmodels
michaelnebel Jul 17, 2025
53e1939
Merge pull request #20053 from owen-mc/go/fix-dataflowconsistency
owen-mc Jul 17, 2025
fbe79e8
Java: Add AnnotatedExitNodes to the CFG.
aschackmull Jun 19, 2025
e7a6259
Java: Accept test changes.
aschackmull Jul 15, 2025
54775e0
Java: Adjust Paths.qll
aschackmull Jul 16, 2025
448cc82
Kotlin: Accept more test changes.
aschackmull Jul 17, 2025
b361f76
Delete unused private class
owen-mc Jul 17, 2025
6629bd8
No need to deprecate classes when module is deprecated
owen-mc Jul 17, 2025
acc66c7
Merge pull request #19984 from jketema/jketema/sec-shared
jketema Jul 17, 2025
a807db5
Merge pull request #19872 from github/kaspersv/overlay-java-enable
kaspersv Jul 17, 2025
af977e9
Merge pull request #20067 from owen-mc/java/unsafe-deserialization-ma…
owen-mc Jul 17, 2025
36ebe99
Merge pull request #19707 from microsoft/lwsimpkins/fix-qhelp-upstream
IdrissRio Jul 17, 2025
2f29459
Merge pull request #19931 from michaelnebel/ql4ql/qualitytagcheck
michaelnebel Jul 17, 2025
1485d70
Merge pull request #19885 from aschackmull/java/annotated-exit-cfg
aschackmull Jul 17, 2025
996de78
Java: Prune PathGraph for CsrfUnprotectedRequestType.ql
aschackmull Jul 17, 2025
5c2cf79
[TEST] Java: CWE-020/ExternalAPI: new test based on qhelp
d10c Jul 15, 2025
7aced48
[TEST] Java: LogInjection: convert test to qlref
d10c Jul 15, 2025
49e03b4
[TEST] Java: UnsafeCertTrust: convert test to qlref
d10c Jul 15, 2025
94386f0
[TEST] Java: TrustBoundaryViolations: convert test to qlref
d10c Jul 15, 2025
6134518
[TEST] Java: SensitiveLogInfo: convert to qlref
d10c Jul 15, 2025
44bb5e7
[TEST] Java: ConditionalBypass: convert to qlref
d10c Jul 15, 2025
b33058c
[TEST] Java: SensitiveCommunication: convert to qlref
d10c Jul 15, 2025
8353fdd
[DIFF-INFORMED] Java: (Android)SensitiveCommunication
d10c Jul 16, 2025
54546f6
[DIFF-INFORMED] Java: ArithmeticTainted
d10c Jul 16, 2025
0bcdb42
[DIFF-INFORMED] Java: ArithmeticUncontrolled
d10c Jul 16, 2025
0cf1195
[DIFF-INFORMED] Java: ConditionalBypass
d10c Jul 16, 2025
1c6ecf1
[DIFF-INFORMED] Java: UntrustedDataToExternalAPI
d10c Jul 16, 2025
919fea5
[DIFF-INFORMED] Java: ExternallyControlledFormatString
d10c Jul 16, 2025
19e5c3d
[DIFF-INFORMED] Java: ImproperValidationOfArray…
d10c Jul 16, 2025
74b37e7
[DIFF-INFORMED] Java: InsecureCookie
d10c Jul 16, 2025
2d73405
[DIFF-INFORMED] Java: InsecureLdapAuth
d10c Jul 16, 2025
b688df9
[DIFF-INFORMED] Java: LogInjection
d10c Jul 16, 2025
bc0b383
[DIFF-INFORMED] Java: MaybeBrokenCryptoAlgorithm
d10c Jul 16, 2025
45b627d
[DIFF-INFORMED] Java: SensitiveLogging
d10c Jul 16, 2025
b3b139b
[DIFF-INFORMED] Java: SqlConcatenated
d10c Jul 16, 2025
3785dbe
[DIFF-INFORMED] Java: TaintedEnvironmentVariable
d10c Jul 16, 2025
7888dcb
[DIFF-INFORMED] Java: TempDirLocalInformationDisclosure
d10c Jul 16, 2025
ea4af83
[DIFF-INFORMED] Java: TrustBoundaryViolation
d10c Jul 16, 2025
24c28ed
[DIFF-INFORMED] Java: UnsafeCertTrust
d10c Jul 16, 2025
05df1d3
[DIFF-INFORMED] Java: AndroidWebViewSettingsAllowsContentAccess
d10c Jul 16, 2025
2f84a4a
Add changed framework coverage reports
github-actions[bot] Jul 18, 2025
ededa3c
Merge pull request #20087 from github/workflow/coverage/update
michaelnebel Jul 18, 2025
1273252
Java: Allow 2-column join on delta to improve join-order.
aschackmull Jul 18, 2025
7883124
Java: getSourceDeclaration() and getASourceSupertype*() commute and t…
aschackmull Jul 18, 2025
d9f47bd
Java: Improve join-order by properly annotating haveIntersection.
aschackmull Jul 18, 2025
f697511
Merge pull request #20083 from aschackmull/java/prune-csrf-unprotecte…
aschackmull Jul 18, 2025
bc2e7d4
Java: Fix accidental CP in CFG for asserts.
aschackmull Jul 18, 2025
d64a936
Merge pull request #20088 from aschackmull/java/joinorders1
aschackmull Jul 18, 2025
ca8fe03
Java: Improve join by preventing ssa use-pair join.
aschackmull Jul 18, 2025
46ebf50
Java: Improve join-order by controlling magic and breaking up TCs.
aschackmull Jul 18, 2025
620d228
Rust: Factor out `getTypeMentionForTypeParameter`
paldepind Jul 18, 2025
0e8c137
Rust: Only include paths as type mentions when they're used as such
paldepind Jul 19, 2025
804ffdb
Rust: Split `PathTypeMention` into an alias and a non-alias subclass
paldepind Jul 19, 2025
27e5251
Rust: Add `resolveRootType` predicate instead of using `resolveType` …
paldepind Jul 19, 2025
441cefd
Rust: Accept test changes
paldepind Jul 21, 2025
937e3dc
Merge pull request #20091 from aschackmull/java/fix-cfg-cp-assert
aschackmull Jul 21, 2025
fbee6bb
Merge pull request #20077 from d10c/d10c/diff-informed-phase-3-java
d10c Jul 21, 2025
d5cdfc6
Merge pull request #20092 from aschackmull/java/joinorder2
aschackmull Jul 21, 2025
472a6b5
Merge pull request #20018 from owen-mc/java/snakeyaml-safe-unsafe-des…
owen-mc Jul 21, 2025
ad5c5ac
Merge pull request #20094 from paldepind/rust/type-inference-path-men…
paldepind Jul 21, 2025
ad9b637
Revert "Merge pull request #19994 from github/post-release-prep/codeq…
nickrolfe Jul 21, 2025
05572b4
Merge pull request #20099 from github/nickrolfe/revert-2.22.2-prep
nickrolfe Jul 21, 2025
c8632b7
Release preparation for version 2.22.2
invalid-email-address Jul 21, 2025
74cd982
Tweak changenotes
nickrolfe Jul 22, 2025
0b7111b
Merge pull request #20100 from github/release-prep/2.22.2
nickrolfe Jul 22, 2025
825c813
Revert "Release preparation for version 2.22.2"
nickrolfe Jul 22, 2025
5fb7541
Merge pull request #20104 from github/revert-20100-release-prep/2.22.2
nickrolfe Jul 22, 2025
997547b
Release preparation for version 2.22.2
invalid-email-address Jul 22, 2025
43d14c2
Tweak changenotes
nickrolfe Jul 22, 2025
320f75f
Merge pull request #20105 from github/release-prep/2.22.2
nickrolfe Jul 22, 2025
12ebf71
Revert "Release preparation for version 2.22.2"
nickrolfe Jul 23, 2025
a883db0
Merge pull request #20110 from github/revert-20105-release-prep/2.22.2
nickrolfe Jul 23, 2025
26296c4
Release preparation for version 2.22.2
invalid-email-address Jul 23, 2025
2c03d1f
Tweak changenotes
nickrolfe Jul 22, 2025
ff54dfe
Merge pull request #20112 from github/release-prep/2.22.2
nickrolfe Jul 23, 2025
f39c114
Revert "Merge pull request #257 from microsoft/jb1/reapply-22.1-tmp"
ropwareJB Aug 11, 2025
0936531
merge upstream v2.22.2
ropwareJB Aug 11, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
When reviewing code:
* do not review changes in files with `.expected` extension (they are automatically ensured to be correct).
* in `.ql` and `.qll` files, do not try to review the code itself as you don't understand the programming language
well enough to make comments in these languages. You can still check for typos or comment improvements.
1 change: 0 additions & 1 deletion .github/workflows/check-change-note.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ on:
- "shared/**/*.qll"
- "!**/experimental/**"
- "!ql/**"
- "!rust/**"
- ".github/workflows/check-change-note.yml"

jobs:
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/check-overlay-annotations.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Check overlay annotations

on:
push:
branches:
- main
- 'rc/*'
pull_request:
branches:
- main
- 'rc/*'

permissions:
contents: read

jobs:
sync:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check overlay annotations
run: python config/add-overlay-annotations.py --check java

35 changes: 0 additions & 35 deletions .github/workflows/go-tests-other-os.yml

This file was deleted.

22 changes: 0 additions & 22 deletions .github/workflows/go-tests-rtjo.yml

This file was deleted.

13 changes: 1 addition & 12 deletions .github/workflows/go-tests.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,9 @@
name: "Go: Run Tests"
on:
push:
paths:
- "go/**"
- "!go/documentation/**"
- "shared/**"
- .github/workflows/go-tests.yml
- .github/actions/**
- codeql-workspace.yml
branches:
- main
- "rc/*"
pull_request:
paths:
- "go/**"
- "!go/documentation/**"
- "!go/documentation/**"
- "shared/**"
- .github/workflows/go-tests.yml
- .github/actions/**
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ql-for-ql-dataset_measure.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
- name: Create database
run: |
"${CODEQL}" database create \
--search-path "${{ github.workspace }}"
--search-path "${{ github.workspace }}" \
--threads 4 \
--language ql --source-root "${{ github.workspace }}/repo" \
"${{ runner.temp }}/database"
Expand Down
1 change: 1 addition & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 24 additions & 0 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True
# the versions there are canonical, the versions here are used for CI in github/codeql, as well as for the vendoring of dependencies.
RUST_EDITION = "2024"

# run buildutils-internal/scripts/fill-rust-sha256s.py when updating (internal repo)
RUST_VERSION = "1.86.0"

rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
Expand All @@ -47,6 +48,29 @@ rust.toolchain(
"x86_64-apple-darwin",
"aarch64-apple-darwin",
],
# generated by buildutils-internal/scripts/fill-rust-sha256s.py (internal repo)
sha256s = {
"rustc-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "4438b809ce4a083af31ed17aeeedcc8fc60ccffc0625bef1926620751b6989d7",
"rustc-1.86.0-x86_64-apple-darwin.tar.xz": "42b76253626febb7912541a30d3379f463dec89581aad4cb72c6c04fb5a71dc5",
"rustc-1.86.0-aarch64-apple-darwin.tar.xz": "23b8f52102249a47ab5bc859d54c9a3cb588a3259ba3f00f557d50edeca4fde9",
"rustc-1.86.0-x86_64-pc-windows-msvc.tar.xz": "fdde839fea274529a31e51eb85c6df1782cc8479c9d1bc24e2914d66a0de41ab",
"clippy-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "02aaff2c1407d2da8dba19aa4970dd873e311902b120a66cbcdbe51eb8836edf",
"clippy-1.86.0-x86_64-apple-darwin.tar.xz": "bb85efda7bbffaf124867f5ca36d50932b1e8f533c62ee923438afb32ff8fe9a",
"clippy-1.86.0-aarch64-apple-darwin.tar.xz": "239fa3a604b124f0312f2af08537874a1227dba63385484b468cca62e7c4f2f2",
"clippy-1.86.0-x86_64-pc-windows-msvc.tar.xz": "d00498f47d49219f032e2c5eeebdfc3d32317c0dc3d3fd7125327445bc482cb4",
"cargo-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "c5c1590f7e9246ad9f4f97cfe26ffa92707b52a769726596a9ef81565ebd908b",
"cargo-1.86.0-x86_64-apple-darwin.tar.xz": "af163eb02d1a178044d1b4f2375960efd47130f795f6e33d09e345454bb26f4e",
"cargo-1.86.0-aarch64-apple-darwin.tar.xz": "3cb13873d48c3e1e4cc684d42c245226a11fba52af6b047c3346ed654e7a05c0",
"cargo-1.86.0-x86_64-pc-windows-msvc.tar.xz": "e57a9d89619b5604899bac443e68927bdd371e40f2e03e18950b6ceb3eb67966",
"llvm-tools-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "282145ab7a63c98b625856f44b905b4dc726b497246b824632a5790debe95a78",
"llvm-tools-1.86.0-x86_64-apple-darwin.tar.xz": "b55706e92f7da989207c50c13c7add483a9fedd233bc431b106eca2a8f151ec9",
"llvm-tools-1.86.0-aarch64-apple-darwin.tar.xz": "04d3618c686845853585f036e3211eb9e18f2d290f4610a7a78bdc1fcce1ebd9",
"llvm-tools-1.86.0-x86_64-pc-windows-msvc.tar.xz": "721a17cc8dc219177e4277a3592253934ef08daa1e1b12eda669a67d15fad8dd",
"rust-std-1.86.0-x86_64-unknown-linux-gnu.tar.xz": "67be7184ea388d8ce0feaf7fdea46f1775cfc2970930264343b3089898501d37",
"rust-std-1.86.0-x86_64-apple-darwin.tar.xz": "3b1140d54870a080080e84700143f4a342fbd02a410a319b05d9c02e7dcf44cc",
"rust-std-1.86.0-aarch64-apple-darwin.tar.xz": "0fb121fb3b8fa9027d79ff598500a7e5cd086ddbc3557482ed3fdda00832c61b",
"rust-std-1.86.0-x86_64-pc-windows-msvc.tar.xz": "3d5354b7b9cb950b58bff3fce18a652aa374bb30c8f70caebd3bd0b43cb41a33",
},
versions = [RUST_VERSION],
)
use_repo(rust, "rust_toolchains")
Expand Down
6 changes: 6 additions & 0 deletions actions/ql/lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## 0.4.13

### Bug Fixes

* The `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` queries now exclude artifacts downloaded to `$[{ runner.temp }}` in addition to `/tmp`.

## 0.4.12

### Minor Analysis Improvements
Expand Down
5 changes: 5 additions & 0 deletions actions/ql/lib/change-notes/released/0.4.13.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## 0.4.13

### Bug Fixes

* The `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` queries now exclude artifacts downloaded to `$[{ runner.temp }}` in addition to `/tmp`.
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.12
lastReleaseVersion: 0.4.13
2 changes: 1 addition & 1 deletion actions/ql/lib/codeql/actions/Helper.qll
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ string normalizePath(string path) {
then result = path
else
// foo -> GITHUB_WORKSPACE/foo
if path.regexpMatch("^[^/~].*")
if path.regexpMatch("^[^$/~].*")
then result = "GITHUB_WORKSPACE/" + path.regexpReplaceAll("/$", "")
else
// ~/foo -> ~/foo
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,8 +262,10 @@ class ArtifactPoisoningSink extends DataFlow::Node {

ArtifactPoisoningSink() {
download.getAFollowingStep() = poisonable and
// excluding artifacts downloaded to /tmp
// excluding artifacts downloaded to the temporary directory
not download.getPath().regexpMatch("^/tmp.*") and
not download.getPath().regexpMatch("^\\$\\{\\{\\s*runner\\.temp\\s*}}.*") and
not download.getPath().regexpMatch("^\\$RUNNER_TEMP.*") and
(
poisonable.(Run).getScript() = this.asExpr() and
(
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.12
version: 0.4.13
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.5

No user-facing changes.

## 0.6.4

No user-facing changes.
Expand Down
10 changes: 4 additions & 6 deletions actions/ql/src/Security/CWE-077/EnvPathInjectionCritical.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Environment Path Injection

## Description
## Overview

GitHub Actions allow to define the system PATH variable by writing to a file pointed to by the `GITHUB_PATH` environment variable. Writing to this file appends a directory to the system PATH variable and automatically makes it available to all subsequent actions in the current job.

Expand All @@ -12,11 +10,11 @@ echo "$HOME/.local/bin" >> $GITHUB_PATH

If an attacker can control the contents of the system PATH, they are able to influence what commands are run in subsequent steps of the same job.

## Recommendations
## Recommendation

Do not allow untrusted data to influence the system PATH: Avoid using untrusted data sources (e.g., artifact content) to define the system PATH.

## Examples
## Example

### Incorrect Usage

Expand All @@ -36,4 +34,4 @@ If an attacker can manipulate the value being set, such as through artifact down

## References

- [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions)
- GitHub Docs: [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions).
10 changes: 4 additions & 6 deletions actions/ql/src/Security/CWE-077/EnvPathInjectionMedium.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Environment Path Injection

## Description
## Overview

GitHub Actions allow to define the system PATH variable by writing to a file pointed to by the `GITHUB_PATH` environment variable. Writing to this file appends a directory to the system PATH variable and automatically makes it available to all subsequent actions in the current job.

Expand All @@ -12,11 +10,11 @@ echo "$HOME/.local/bin" >> $GITHUB_PATH

If an attacker can control the contents of the system PATH, they are able to influence what commands are run in subsequent steps of the same job.

## Recommendations
## Recommendation

Do not allow untrusted data to influence the system PATH: Avoid using untrusted data sources (e.g., artifact content) to define the system PATH.

## Examples
## Example

### Incorrect Usage

Expand All @@ -36,4 +34,4 @@ If an attacker can manipulate the value being set, such as through artifact down

## References

- [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions)
- GitHub Docs: [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions).
12 changes: 5 additions & 7 deletions actions/ql/src/Security/CWE-077/EnvVarInjectionCritical.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Environment Variable Injection

## Description
## Overview

GitHub Actions allow to define environment variables by writing to a file pointed to by the `GITHUB_ENV` environment variable:

Expand Down Expand Up @@ -37,7 +35,7 @@ steps:

If an attacker can control the values assigned to environment variables and there is no sanitization in place, the attacker will be able to inject additional variables by injecting new lines or `{delimiters}`.

## Recommendations
## Recommendation

1. **Do not allow untrusted data to influence environment variables**:

Expand All @@ -64,7 +62,7 @@ If an attacker can control the values assigned to environment variables and ther
} >> "$GITHUB_ENV"
```

## Examples
## Example

### Example of Vulnerability

Expand Down Expand Up @@ -113,5 +111,5 @@ An attacker is be able to run arbitrary code by injecting environment variables

## References

- [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions)
- [GitHub Actions Exploitation: Repo Jacking and Environment Manipulation](https://www.synacktiv.com/publications/github-actions-exploitation-repo-jacking-and-environment-manipulation)
- GitHub Docs: [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions).
- Synacktiv: [GitHub Actions Exploitation: Repo Jacking and Environment Manipulation](https://www.synacktiv.com/publications/github-actions-exploitation-repo-jacking-and-environment-manipulation).
12 changes: 5 additions & 7 deletions actions/ql/src/Security/CWE-077/EnvVarInjectionMedium.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# Environment Variable Injection

## Description
## Overview

GitHub Actions allow to define environment variables by writing to a file pointed to by the `GITHUB_ENV` environment variable:

Expand Down Expand Up @@ -37,7 +35,7 @@ steps:

If an attacker can control the values assigned to environment variables and there is no sanitization in place, the attacker will be able to inject additional variables by injecting new lines or `{delimiters}`.

## Recommendations
## Recommendation

1. **Do not allow untrusted data to influence environment variables**:

Expand All @@ -64,7 +62,7 @@ If an attacker can control the values assigned to environment variables and ther
} >> "$GITHUB_ENV"
```

## Examples
## Example

### Example of Vulnerability

Expand Down Expand Up @@ -113,5 +111,5 @@ An attacker would be able to run arbitrary code by injecting environment variabl

## References

- [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions)
- [GitHub Actions Exploitation: Repo Jacking and Environment Manipulation](https://www.synacktiv.com/publications/github-actions-exploitation-repo-jacking-and-environment-manipulation)
- GitHub Docs: [Workflow commands for GitHub Actions](https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions).
- Synacktiv: [GitHub Actions Exploitation: Repo Jacking and Environment Manipulation](https://www.synacktiv.com/publications/github-actions-exploitation-repo-jacking-and-environment-manipulation).
8 changes: 3 additions & 5 deletions actions/ql/src/Security/CWE-094/CodeInjectionCritical.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# Code Injection in GitHub Actions

## Description
## Overview

Using user-controlled input in GitHub Actions may lead to code injection in contexts like _run:_ or _script:_.

Code injection in GitHub Actions may allow an attacker to exfiltrate any secrets used in the workflow and the temporary GitHub repository authorization token. The token may have write access to the repository, allowing an attacker to make changes to the repository.

## Recommendations
## Recommendation

The best practice to avoid code injection vulnerabilities in GitHub workflows is to set the untrusted input value of the expression to an intermediate environment variable and then use the environment variable using the native syntax of the shell/script interpreter (that is, not _${{ env.VAR }}_).

It is also recommended to limit the permissions of any tokens used by a workflow such as the GITHUB_TOKEN.

## Examples
## Example

### Incorrect Usage

Expand Down
8 changes: 3 additions & 5 deletions actions/ql/src/Security/CWE-094/CodeInjectionMedium.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# Code Injection in GitHub Actions

## Description
## Overview

Using user-controlled input in GitHub Actions may lead to code injection in contexts like _run:_ or _script:_.

Code injection in GitHub Actions may allow an attacker to exfiltrate any secrets used in the workflow and the temporary GitHub repository authorization token. The token may have write access to the repository, allowing an attacker to make changes to the repository.

## Recommendations
## Recommendation

The best practice to avoid code injection vulnerabilities in GitHub workflows is to set the untrusted input value of the expression to an intermediate environment variable and then use the environment variable using the native syntax of the shell/script interpreter (that is, not _${{ env.VAR }}_).

It is also recommended to limit the permissions of any tokens used by a workflow such as the GITHUB_TOKEN.

## Examples
## Example

### Incorrect Usage

Expand Down
Loading
Loading