Paolo Tranquilli
367cea64c0
Merge pull request #21790 from github/redsun82/codeql-cli-2.25.3
...
Fix `build mode` to `build-mode` in docs
2026-05-05 09:36:02 +02:00
Paolo Tranquilli
cd56fa89f6
Fix build mode to build-mode in docs
2026-05-05 09:17:59 +02:00
Michael B. Gale
310c41ed3d
Merge pull request #21760 from github/release-prep/2.25.3
...
Release preparation for version 2.25.3
2026-04-27 11:05:42 +01:00
Michael B. Gale
f817bd4924
Merge changelog entries for cpp/implicit-function-declaration
2026-04-27 11:03:42 +01:00
Michael B. Gale
03c3b3f4c4
Improve wording of actions note
2026-04-27 11:03:29 +01:00
github-actions[bot]
019ec0caf7
Release preparation for version 2.25.3
2026-04-27 10:01:23 +00:00
Michael B. Gale
6787beb8e7
Merge pull request #21758 from github/revert-21736-release-prep/2.25.3
...
Revert "Release preparation for version 2.25.3"
2026-04-27 09:52:36 +01:00
Michael B. Gale
9f70f718e3
Revert "Release preparation for version 2.25.3"
2026-04-27 09:36:56 +01:00
Michael B. Gale
a73f7cb79d
Merge pull request #21736 from github/release-prep/2.25.3
...
Release preparation for version 2.25.3
2026-04-20 12:29:07 +02:00
Michael B. Gale
abf374433b
Merge changelog entries for cpp/implicit-function-declaration
2026-04-20 12:24:05 +02:00
Michael B. Gale
34b5dcfd5f
Improve wording of actions note
2026-04-20 11:40:32 +02:00
github-actions[bot]
c861d99802
Release preparation for version 2.25.3
2026-04-20 09:27:23 +00:00
Owen Mansel-Chan
2764580cdf
Merge pull request #21718 from chmodxxx/java/woodstox-xxe
...
Java: Add XXE sink model for Woodstox WstxInputFactory
2026-04-17 17:25:15 +01:00
Salah Baddou
fb2d53e72a
Address review: inline Woodstox into XmlParsers, move changelog to lib
2026-04-17 18:46:51 +04:00
Salah Baddou
f5131f9bc6
Java: Add XXE sink model for Woodstox WstxInputFactory
...
`com.ctc.wstx.stax.WstxInputFactory` overrides `createXMLStreamReader`,
`createXMLEventReader` and `setProperty` from `XMLInputFactory`, so the
existing `XmlInputFactory` model in `XmlParsers.qll` does not match calls
where the static receiver type is `WstxInputFactory` (or its supertype
`org.codehaus.stax2.XMLInputFactory2`). Woodstox is vulnerable to XXE in
its default configuration, so these missed sinks were false negatives in
`java/xxe`.
This adds a scoped framework model under
`semmle/code/java/frameworks/woodstox/WoodstoxXml.qll` (registered in the
`Frameworks` module of `XmlParsers.qll`) that recognises these calls as
XXE sinks and treats the factory as safe when both
`javax.xml.stream.supportDTD` and
`javax.xml.stream.isSupportingExternalEntities` are disabled — mirroring
the existing `XMLInputFactory` safe-configuration logic.
2026-04-17 18:46:51 +04:00
Owen Mansel-Chan
29b07d5d07
Merge pull request #21721 from owen-mc/go/remove-global-function-jump-step-from-local-flow
...
Go: Remove global function step from local flow
2026-04-17 14:09:16 +01:00
Tom Hvitved
14bdb62cf8
Merge pull request #21726 from hvitved/csharp/useless-to-string-fps
...
C#: Fix FPs in `RedundantToStringCall.ql`
2026-04-17 14:59:22 +02:00
Jeroen Ketema
3073c1c94c
Merge pull request #21725 from github/jeongsoolee09/add-aligned-alloc-model
...
Add models of various `aligned_alloc`s
2026-04-17 14:31:25 +02:00
Owen Mansel-Chan
bc28e1726c
Refactor to get rid of duplication
2026-04-17 13:24:16 +01:00
Tom Hvitved
7bfdfbefa9
Add change note
2026-04-17 13:57:08 +02:00
Tom Hvitved
0235df8758
C#: Improve alert message for RedundantToStringCall.ql
2026-04-17 13:55:00 +02:00
Jeongsoo Lee
abec00cd34
Update cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-04-17 07:08:38 -04:00
Owen Mansel-Chan
9f4fd7fab0
Remove a data flow consistency exclusion
...
This is no longer needed.
2026-04-17 11:27:36 +01:00
Paolo Tranquilli
5342cc79fb
Merge pull request #21574 from github/redsun82/actions/remove-harden-runner-false-positive
...
Remove false positive injection sink models for `docker/build-push-action` and `step-security/harden-runner`
2026-04-17 09:43:45 +02:00
Tom Hvitved
426962e348
C#: Fix FPs in RedundantToStringCall.ql
2026-04-17 09:37:19 +02:00
Tom Hvitved
33e9c02079
C#: Add more tests for RedundantToStringCall.ql
2026-04-17 09:33:13 +02:00
jeongsoolee09
553ed103c3
Add a change note
2026-04-16 21:31:55 -04:00
jeongsoolee09
d2d594a8ff
Add models of ::aligned_alloc, std::aligned_alloc, and bsl::aligned_alloc
2026-04-16 21:21:09 -04:00
Owen Mansel-Chan
f6135b70ea
Remove global function step from local flow
2026-04-16 11:15:01 +01:00
Tom Hvitved
ee34e3353d
Merge pull request #21698 from hvitved/rust/type-inference-index-expr
...
Rust: Replace special handling of index expressions in type inference
2026-04-16 09:03:06 +02:00
Jon Janego
f95ee129df
Merge pull request #21713 from github/codeql-spark-run-24459914636
...
Update changelog documentation site for codeql-cli-2.25.2
2026-04-15 09:55:53 -05:00
github-actions[bot]
d24fb29ff4
update codeql documentation
2026-04-15 14:23:47 +00:00
Jeroen Ketema
97d8993fc5
Merge pull request #21667 from jketema/jketema/swift-6.3
...
Swift: Update to Swift 6.3
2026-04-15 14:07:23 +02:00
Jeroen Ketema
7d1c62daa6
Swift: Address review comment
2026-04-15 13:37:15 +02:00
Tom Hvitved
597d81038a
Merge pull request #21708 from github/copilot/fix-missed-opportunity-to-use-select
...
Fix false positive in `MissedSelectOpportunity` when foreach body uses `await`
2026-04-15 11:32:02 +02:00
Tom Hvitved
069431941e
Merge pull request #21596 from hvitved/rust/data-flow-closure-type
...
Rust: Track closure types in data flow
2026-04-15 10:32:05 +02:00
Tom Hvitved
609621f638
Merge pull request #21679 from hvitved/rust/type-inference-forall-checks
...
Rust: Replace recursion through `forall` with ranked recursion
2026-04-15 09:43:37 +02:00
Jeroen Ketema
ae2226345e
Merge pull request #21709 from jketema/depr
...
C++: Remove deprecated code deprecated more than a year ago
2026-04-14 17:04:48 +02:00
Owen Mansel-Chan
6e0bee7471
Merge pull request #21691 from github/dependabot/go_modules/go/extractor/extractor-dependencies-2d1b0e128d
...
Bump the extractor-dependencies group across 1 directory with 2 updates
2026-04-14 15:26:00 +01:00
Henry Mercer
cb1fd76a4c
Merge pull request #21658 from github/post-release-prep/codeql-cli-2.25.2
...
Post-release preparation for codeql-cli-2.25.2
2026-04-14 15:24:13 +01:00
Tom Hvitved
467933bbb1
Rust: Also add specialized IndexMut implementations
2026-04-14 15:45:14 +02:00
Henry Mercer
43c9b95e6f
Merge branch 'main' into post-release-prep/codeql-cli-2.25.2
2026-04-14 13:56:52 +01:00
Tom Hvitved
878cfd720c
C#: Use inline test expectations
2026-04-14 14:41:28 +02:00
Geoffrey White
666c8bf87a
Merge pull request #21635 from geoffw0/suspicioussizeof2
...
C++: Upgrade cpp/suspicious-add-sizeof to high precision
2026-04-14 13:04:24 +01:00
Jeroen Ketema
07b02942db
Merge remote-tracking branch 'upstream/main' into jketema/swift-6.3
2026-04-14 13:54:16 +02:00
Jeroen Ketema
9ef088d423
C++: Add change note
2026-04-14 13:46:43 +02:00
Taus
c748fdf8ee
Merge pull request #21694 from github/tausbn/python-add-support-for-pep-810
...
Python: Add support for PEP 810
2026-04-14 13:27:08 +02:00
Tom Hvitved
b749ad645a
Merge pull request #21706 from hvitved/rust/type-inference-perf-fixes
...
Rust: Improve performance of two type inference predicates
2026-04-14 13:06:26 +02:00
Jeroen Ketema
12868e5140
C++: Remove deprecated code added more than a year ago
2026-04-14 13:03:10 +02:00
Geoffrey White
fe7e8480b2
Merge branch 'main' into suspicioussizeof2
2026-04-14 10:52:00 +01:00
Anders Schack-Mulligen
e0952948ba
Merge pull request #21701 from aschackmull/csharp/intvalue
...
C#: Introduce Expr.getIntValue.
2026-04-14 11:23:29 +02:00
Owen Mansel-Chan
7458674470
Merge pull request #21584 from owen-mc/shared/update-mad-comments
...
Shared: update code comments explaining models-as-data format to include barriers and barrier guards
2026-04-14 09:30:28 +01:00
copilot-swe-agent[bot]
3483050526
Fix false positive in MissedSelectOpportunity for async/await loops
...
Agent-Logs-Url: https://github.com/github/codeql/sessions/3e8f4320-2bf4-45f5-b9ea-dad41d522d84
Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com >
2026-04-14 08:18:02 +00:00
copilot-swe-agent[bot]
0e66555e37
Initial plan
2026-04-14 08:10:53 +00:00
Jeroen Ketema
0724c22f28
Merge pull request #21702 from jketema/conv-string
...
C++: Use new `getConvSpecString` instead of `getConvSpecOffset` and `substring`
2026-04-14 10:00:51 +02:00
Tom Hvitved
d69be77035
Rust: Avoid expensive regex calls
...
Before
```
Pipeline standard for TypeInference::AssocFunctionResolution::AssocFunctionCall.hasIncompatibleTarget/5#85c07422@d5eb7r0w was evaluated in 782 iterations totaling 13208ms (delta sizes total: 20187834).
1464 ~2% {7} r1 = JOIN `TypeInference::AssocFunctionResolution::SelfArgIsInstantiationOf::argIsInstantiationOf/6#aaa87ac9#prev_delta` WITH `TypeInference::AssocFunctionResolution::OverloadedCallArgsAreInstantiationsOf::argsAreNotInstantiationsOf/2#6a6070f7#prev` ON FIRST 2 OUTPUT Lhs.5, _, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4
1464 ~0% {7} | REWRITE WITH Out.1 := ""
1464 ~0% {6} | JOIN WITH `FunctionType::AssocFunctionType.getTypeAt/1#dispred#d4d46f61` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Rhs.2
173691 ~1% {7} r2 = JOIN `TypeInference::AssocFunctionResolution::OverloadedCallArgsAreInstantiationsOf::argsAreNotInstantiationsOf/2#6a6070f7#prev_delta` WITH `TypeInference::AssocFunctionResolution::SelfArgIsInstantiationOf::argIsInstantiationOf/6#aaa87ac9#prev` ON FIRST 2 OUTPUT Rhs.5, _, Lhs.0, Lhs.1, Rhs.2, Rhs.3, Rhs.4
173691 ~1% {7} | REWRITE WITH Out.1 := ""
173691 ~1% {6} | JOIN WITH `FunctionType::AssocFunctionType.getTypeAt/1#dispred#d4d46f61` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Rhs.2
20022454 ~0% {7} r3 = SCAN `TypeInference::AssocFunctionResolution::SelfArgIsInstantiationOf::argIsNotInstantiationOf/6#1b8e512e#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _
20022454 ~0% {7} | REWRITE WITH Out.6 := "^([0-9]+)\\..*$"
20022175 ~2% {9} | JOIN WITH PRIMITIVE regexpCapture#bbff ON Lhs.5,Lhs.6
20022175 ~2% {10} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, In.6, In.7, In.8, _
{9} | REWRITE WITH Tmp.9 := 1, TEST InOut.7 = Tmp.9 KEEPING 9
20022175 ~1% {7} | SCAN OUTPUT In.8, In.0, In.1, In.2, In.3, In.4, In.5
20022175 ~1% {8} | JOIN WITH `UnboundList::Make<Locations::Location,TypeInference::M1::UnboundListInput>::encode/1#47b2ec3f_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.0
20022175 ~0% {10} | JOIN WITH `Type::Type.getATypeParameter/0#dispred#ddf0e8ff_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.1, _, Lhs.6, Lhs.7, _
{7} | REWRITE WITH Tmp.6 := length(In.8), Tmp.9 := 1, Tmp.6 := (Tmp.6 + Tmp.9), Out.6 := suffix(In.7,Tmp.6) KEEPING 7
20022175 ~0% {6} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5
20197330 ~0% {6} r4 = r1 UNION r2 UNION r3
20187834 ~0% {6} | AND NOT `TypeInference::AssocFunctionResolution::AssocFunctionCall.hasIncompatibleTarget/5#85c07422#prev`(FIRST 6)
return r4
```
After
```
Pipeline standard for TypeInference::AssocFunctionResolution::AssocFunctionCall.hasIncompatibleTarget/5#85c07422@a58ce91w was evaluated in 537 iterations totaling 382ms (delta sizes total: 20033950).
19862347 ~0% {7} r1 = SCAN `TypeInference::AssocFunctionResolution::SelfArgIsInstantiationOf::argIsNotInstantiationOf/6#1b8e512e#prev_delta` OUTPUT In.5, _, In.0, In.1, In.2, In.3, In.4
19862347 ~0% {7} | REWRITE WITH Out.1 := ""
174684 ~1% {7} r2 = SCAN `TypeInference::AssocFunctionResolution::AssocFunctionCall.hasIncompatibleArgsTarget/5#dispred#7d49b9f9#prev_delta` OUTPUT In.5, _, In.0, In.1, In.2, In.3, In.4
174684 ~1% {7} | REWRITE WITH Out.1 := ""
20037031 ~0% {7} r3 = r1 UNION r2
20037031 ~0% {6} | JOIN WITH `FunctionType::AssocFunctionType.getTypeAt/1#dispred#d4d46f61` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Rhs.2
20033950 ~0% {6} | AND NOT `TypeInference::AssocFunctionResolution::AssocFunctionCall.hasIncompatibleTarget/5#85c07422#prev`(FIRST 6)
return r3
```
2026-04-14 09:51:45 +02:00
Tom Hvitved
0db62b2e68
Type inference: Fix bad join
...
Before
```
Pipeline standard for TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112@d5eb7x9q was evaluated in 471 iterations totaling 24306ms (delta sizes total: 42097188).
5676156578 ~1% {7} r1 = JOIN `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev_delta` WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersEqual/4#a276e5d4#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3, _, Lhs.3, _
{5} | REWRITE WITH Tmp.4 := 1, Out.4 := (Tmp.4 + In.5), Tmp.6 := 0, TEST Out.4 != Tmp.6 KEEPING 5
5676156578 ~1% {5} | SCAN OUTPUT In.1, In.4, In.3, In.0, In.2
41691564 ~1% {4} | JOIN WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::ArgumentTypeAndBlanketOffset,TypeMention::TypeMention,TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::SatisfiesBlanketConstraint::Inp>::TermIsInstantiationOfCondition::getNthTypeParameter/2#40c66343` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.4, Lhs.1
42097188 ~2% {4} r2 = SCAN `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersEqual/4#a276e5d4#prev_delta` OUTPUT In.1, In.3, In.0, In.2
42097188 ~1% {5} r3 = JOIN r2 WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::ArgumentTypeAndBlanketOffset,TypeMention::TypeMention,TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::SatisfiesBlanketConstraint::Inp>::TermIsInstantiationOfCondition::getNthTypeParameter/2#40c66343_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.3, Rhs.2, _
{4} | REWRITE WITH Tmp.4 := 0, TEST InOut.3 != Tmp.4 KEEPING 4
41691564 ~1% {5} | SCAN OUTPUT In.0, In.1, In.2, _, In.3
41691564 ~1% {5} | REWRITE WITH Tmp.3 := 1, Out.3 := (InOut.4 - Tmp.3)
0 ~0% {4} | JOIN WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.4
42097188 ~0% {6} r4 = JOIN r2 WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::ArgumentTypeAndBlanketOffset,TypeMention::TypeMention,TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::SatisfiesBlanketConstraint::Inp>::TermIsInstantiationOfCondition::getNthTypeParameter/2#40c66343_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.3, Lhs.1, Rhs.2, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
405624 ~1% {5} | SCAN OUTPUT In.1, _, In.3, In.0, In.2
405624 ~1% {5} | REWRITE WITH Out.1 := 0
405624 ~0% {4} | JOIN WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::ArgumentTypeAndBlanketOffset,TypeMention::TypeMention,TypeInference::AssocFunctionResolution::ArgSatisfiesBlanketLikeConstraint::SatisfiesBlanketConstraint::Inp>::TermIsInstantiationOfCondition::getNthTypeParameter/2#40c66343` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.4, _
405624 ~1% {4} | REWRITE WITH Out.3 := 0
42097188 ~1% {4} r5 = r1 UNION r3 UNION r4
42097188 ~1% {4} | AND NOT `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev`(FIRST 4)
return r5
```
After
```
Pipeline standard for TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112@96df1x2u was evaluated in 471 iterations totaling 4058ms (delta sizes total: 42097188).
42097188 ~0% {4} r1 = SCAN `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersEqual/5#ddfcf430#prev_delta` OUTPUT In.3, In.0, In.1, In.2
405624 ~0% {4} | JOIN WITH const_0 ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, _
405624 ~1% {4} | REWRITE WITH Out.3 := 0
42097188 ~1% {6} r2 = SCAN `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev_delta` OUTPUT In.0, In.1, In.2, _, In.3, _
42097188 ~1% {4} | REWRITE WITH Tmp.3 := 1, Out.3 := (Tmp.3 + In.4), Tmp.5 := 0, TEST Out.3 != Tmp.5 KEEPING 4
41691564 ~1% {4} | JOIN WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersEqual/5#ddfcf430#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
42097188 ~1% {6} r3 = SCAN `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersEqual/5#ddfcf430#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.3 != Tmp.5 KEEPING 5
41691564 ~1% {5} | SCAN OUTPUT In.0, In.1, In.2, _, In.3
41691564 ~1% {5} | REWRITE WITH Tmp.3 := 1, Out.3 := (InOut.4 - Tmp.3)
0 ~0% {4} | JOIN WITH `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.4
42097188 ~1% {4} r4 = r1 UNION r2 UNION r3
42097188 ~1% {4} | AND NOT `TypeInference::M2::SatisfiesConstraintWithTypeMatching<TypeInference::FunctionCallMatching::AccessConstraint::RelevantAccess,TypeMention::TypeMention,TypeInference::FunctionCallMatching::AccessConstraint::SatisfiesTypeParameterConstraintInput>::TermIsInstantiationOfCondition::typeParametersHaveEqualInstantiationToIndex/4#dde26112#prev`(FIRST 4)
return r4
```
2026-04-14 09:34:13 +02:00
Jeroen Ketema
26715fc95c
C++: Rename rst to convSpec
2026-04-14 08:03:51 +02:00
dependabot[bot]
b19f2c6874
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.34.0 to 0.35.0
- [Commits](https://github.com/golang/mod/compare/v0.34.0...v0.35.0 )
Updates `golang.org/x/tools` from 0.43.0 to 0.44.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.43.0...v0.44.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.44.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-14 03:04:45 +00:00
Tom Hvitved
f6fb613962
Merge pull request #21700 from hvitved/js/fastify-per-route-rate-limiting
...
JS: Recognize Fastify per-route rate limiting
2026-04-13 17:28:34 +02:00
Jeroen Ketema
e0ce5bcf40
Merge pull request #21699 from jketema/join-fix
...
C++: Fix `isCompiledAsC` join order
2026-04-13 16:03:38 +02:00
Jeroen Ketema
19c4b2ff8f
C++: Use getConvSpecString instead of getConvSpecOffset and substring
2026-04-13 15:44:41 +02:00
Anders Schack-Mulligen
d3e580fd0e
C#: Introduce Expr.getIntValue.
2026-04-13 14:52:38 +02:00
Taus
2eeb31b472
Python: Add tests for lazy from ... import * as well
2026-04-13 11:49:06 +00:00
Taus
81468daf9c
Merge pull request #21603 from github/tausbn/python-port-use-of-exit
...
Python: Port UseOfExit.ql
2026-04-13 13:20:29 +02:00
Taus
720ea702fe
Merge pull request #21602 from github/tausbn/python-port-modification-of-locals
...
Python: Port ModificationOfLocals.ql
2026-04-13 13:19:40 +02:00
Taus
36bbc8ca14
Merge pull request #21601 from github/tausbn/python-port-unused-exception-object
...
Python: Port UnusedExceptionObject.ql
2026-04-13 13:19:12 +02:00
Taus
cc9bc746a1
Merge pull request #21597 from github/tausbn/python-port-unreachable-code
...
Python: Port UnreachableCode.ql
2026-04-13 13:17:59 +02:00
Tom Hvitved
fcfb8c9c6b
Add change note
2026-04-13 12:22:30 +02:00
Tom Hvitved
7a48409e38
JS: Recognize Fastify per-route rate limiting
2026-04-13 11:31:34 +02:00
Tom Hvitved
fef582c858
JS: Add test case for Fastify per-route rate limiting
2026-04-13 11:24:41 +02:00
Jeroen Ketema
bee39c9d51
C++: Fix isCompiledAsC join order
...
Before on Abseil Windows for `cpp/too-few-arguments:`:
```
Pipeline standard for TooFewArguments::isCompiledAsC/1#52fe29e8@994f9bgp was evaluated in 12 iterations totaling 2ms (delta sizes total: 50).
1198778 ~3% {1} r1 = JOIN `TooFewArguments::isCompiledAsC/1#52fe29e8#prev_delta` WITH `Element::Element.getFile/0#2b8c8740_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
83 ~26% {1} | JOIN WITH includes ON FIRST 1 OUTPUT Rhs.1
50 ~4% {1} | AND NOT `TooFewArguments::isCompiledAsC/1#52fe29e8#prev`(FIRST 1)
return r1
```
After:
```
Pipeline standard for #File::File.getAnIncludedFile/0#dispred#e8d44cd1Plus#bf@b8d290i6 was evaluated in 11 iterations totaling 0ms (delta sizes total: 43).
47 ~0% {2} r1 = SCAN `#File::File.getAnIncludedFile/0#dispred#e8d44cd1Plus#bf#prev_delta` OUTPUT In.1, In.0
78 ~28% {2} | JOIN WITH `File::File.getAnIncludedFile/0#dispred#e8d44cd1` ON FIRST 1 OUTPUT Lhs.1, Rhs.1
43 ~0% {2} | AND NOT `#File::File.getAnIncludedFile/0#dispred#e8d44cd1Plus#bf#prev`(FIRST 2)
return r1
[2026-04-13 11:05:25] Evaluated non-recursive predicate TooFewArguments::isCompiledAsC/1#52fe29e8@4a3eb9jk in 0ms (size: 49).
Evaluated relational algebra for predicate TooFewArguments::isCompiledAsC/1#52fe29e8@4a3eb9jk with tuple counts:
1 ~0% {3} r1 = CONSTANT(unique int, unique string, unique string)[1,"compiled as c","1"]
1 ~0% {1} | JOIN WITH #fileannotationsMerge_1230#join_rhs ON FIRST 3 OUTPUT Rhs.3
48 ~0% {1} r2 = JOIN r1 WITH `#File::File.getAnIncludedFile/0#dispred#e8d44cd1Plus#bf` ON FIRST 1 OUTPUT Rhs.1
49 ~0% {1} r3 = r1 UNION r2
return r3
```
2026-04-13 11:13:52 +02:00
Tom Hvitved
40eff6525d
Rust: Replace special handling of index expressions
2026-04-13 10:30:01 +02:00
Geoffrey White
ae85ada669
Merge pull request #21634 from geoffw0/compwidertype2
...
C++: Upgrade cpp/comparison-with-wider-type to high precision
2026-04-10 16:08:11 +01:00
Taus
86020d9eed
Python: Add change note
2026-04-10 14:43:30 +00:00
Taus
6b7d47ee7d
Python: Add QL test for the new syntax
2026-04-10 14:39:13 +00:00
Taus
1ddfed6b6b
Python: Add QL support for lazy imports
...
Adds a new `isLazy` predicate to the relevant classes, and adds the
relevant dbscheme (and up/downgrade) changes. On upgrades we do nothing,
and on downgrades we remove the `is_lazy` bits.
2026-04-10 14:25:08 +00:00
Taus
fe94828fe4
Python: Add overlay annotations to AST template
...
Otherwise these will disappear every time we regenerate the AST.
2026-04-10 14:23:29 +00:00
Taus
2c79f9d828
Python: Regenerate parser files
2026-04-10 13:50:59 +00:00
Taus
ad4018f399
Python: Add parser support for lazy imports
...
As defined in PEP-810. We implement this in much the same way as how we
handle `async` annotations currently. The relevant nodes get an
`is_lazy` field that defaults to being false.
2026-04-10 13:50:43 +00:00
Taus
6078df524b
Merge pull request #21683 from github/tausbn/python-add-extractor-pack-build-script
...
Python: Add `create-extractor-pack.sh` for Python
2026-04-10 15:16:54 +02:00
Jeroen Ketema
888d392040
Merge pull request #21636 from jketema/actions-perm
...
Actions: Correctly check reusable workflow permissions in `actions/missing-workflow-permissions`
2026-04-10 15:02:36 +02:00
Geoffrey White
b9226a359a
Merge pull request #21633 from geoffw0/intmultlong2
...
C++: Upgrade cpp/integer-multiplication-cast-to-long to high precision
2026-04-10 14:02:34 +01:00
Geoffrey White
814c0ae7a8
Merge pull request #21632 from geoffw0/wrongtype2
...
C++: Upgrade cpp/wrong-type-format-argument to high precision
2026-04-10 14:01:07 +01:00
Geoffrey White
9ea33bc5bb
Merge pull request #21553 from geoffw0/implicitfn
...
C++: Disable cpp/implicit-function-declaration on build mode none databases
2026-04-10 14:00:06 +01:00
Geoffrey White
bcf612e6fe
Merge branch 'main' into compwidertype2
2026-04-10 13:58:35 +01:00
Anders Schack-Mulligen
dfa8d72dd3
Merge pull request #21685 from aschackmull/csharp/unbind-new
...
C#: Replace old-style unbind with pragmas.
2026-04-10 13:55:01 +02:00
Tom Hvitved
27f7f747a4
Rust: Check whole blanket constraints, not just the root trait type
2026-04-10 13:20:36 +02:00
Tom Hvitved
be329c8ab4
Rust: Replace recursion through forall with ranked recursion
2026-04-10 13:18:57 +02:00
Geoffrey White
bcdbf141bc
Merge pull request #21671 from geoffw0/neutralperf
...
Rust: Fix performance issue with additionalExternalFile
2026-04-10 12:08:27 +01:00
Geoffrey White
0714ca816a
Merge branch 'main' into suspicioussizeof2
2026-04-10 10:10:45 +01:00
Tom Hvitved
42fe2d5002
Rust: Add another type inference test
2026-04-10 10:18:54 +02:00
Paolo Tranquilli
7de8ce961c
Merge pull request #21677 from github/dependabot/bazel/gazelle-0.50.0
...
Bump gazelle from 0.47.0 to 0.50.0
2026-04-10 10:07:25 +02:00
Michael Nebel
66278fcd10
Merge pull request #21690 from samchang-msft/update-net10-support
...
Support added in Jan 2026
2026-04-10 08:40:29 +02:00
Sam Chang
7883fab44f
Qualify the limited support for .NET 10 and C# 14
2026-04-09 12:06:54 -07:00
Sam Chang
38440d96b8
Support added in Jan 2026
2026-04-09 10:48:08 -07:00
Jeroen Ketema
43f48001e3
Swift: Clear override
2026-04-09 16:32:43 +02:00
Jeroen Ketema
4ada727bab
Swift: Add staged archives to LFS
2026-04-09 16:32:36 +02:00
Anders Schack-Mulligen
cf4ab1d106
C#: Replace old-style unbind with pragmas.
2026-04-09 15:57:19 +02:00
Tom Hvitved
23f081006e
Rust: Track closure types in data flow
2026-04-09 15:25:52 +02:00
Tom Hvitved
3fa5c952b3
Rust: Add more closure flow tests
2026-04-09 15:25:50 +02:00
Jeroen Ketema
85c42ae932
Swift: Update supported versions
2026-04-09 15:19:29 +02:00
Jeroen Ketema
94fb011b90
Swift: Add change note
2026-04-09 15:17:13 +02:00
Taus
d622dabf3e
Python: Add create-extractor-pack.sh for Python
...
This allows us to build and test the extractor (for actual QL extraction
-- not just the extractor unit tests) entirely from within the
`github/codeql` repo, just as we do with Ruby. All that's needed is a
`--search-path` argument that points to the repo root.
2026-04-09 13:06:45 +00:00
Jeroen Ketema
21937c2415
Swift: Add dbscheme upgrade and downgrade scripts
2026-04-09 15:05:30 +02:00
Jeroen Ketema
7879d0a006
Swift: Fix OpaqueTypeArchetypeType name mangling
2026-04-09 15:05:28 +02:00
Jeroen Ketema
34b626e8bb
Swift: Update expected integration test results
2026-04-09 15:05:27 +02:00
Jeroen Ketema
d09e2f66cd
Swift: Assign indexes to fileprivate ValueDecls
...
At least in the case of function declarations there can be multiple
identical ones within the same module, causing data set check errors
if not differentiated.
2026-04-09 15:05:16 +02:00
Tom Hvitved
33cc887be0
Merge pull request #21592 from hvitved/dataflow/source-call-context-type-flow
...
Data flow: Add hook for preventing lambda dispatch in source call contexts
2026-04-09 13:44:42 +02:00
Geoffrey White
e72c116664
Rust: Proposed improved solution.
2026-04-09 11:18:25 +01:00
Tom Hvitved
d704b753c8
Fix CP in typeFlowParamType
...
Forgot to link `p` with `c` using `nodeEnclosingCallable(p, c)`.
2026-04-09 09:19:55 +02:00
dependabot[bot]
7833a0a2e8
Bump gazelle from 0.47.0 to 0.50.0
...
Bumps [gazelle](https://github.com/bazel-contrib/bazel-gazelle ) from 0.47.0 to 0.50.0.
- [Release notes](https://github.com/bazel-contrib/bazel-gazelle/releases )
- [Commits](https://github.com/bazel-contrib/bazel-gazelle/compare/v0.47.0...v0.50.0 )
---
updated-dependencies:
- dependency-name: gazelle
dependency-version: 0.50.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-04-09 03:08:02 +00:00
Geoffrey White
95681bfad4
Rust: Fix performance issue with File.fromSource.
2026-04-08 15:04:03 +01:00
Jeroen Ketema
7bf78de167
Swift: Fix AnyFunctionType name mangling
2026-04-08 15:53:24 +02:00
Kristen Newbury
fb0ee5b987
Merge pull request #21640 from knewbury01/knewbury01/adjust-actions-queries-alerts
...
Adjust alert messages CWE-829/ArtifactPoisoning[Critical|Medium]
2026-04-08 09:44:00 -04:00
Jeroen Ketema
f7de0abe60
Swift: Fix BuiltinFixedArrayType mangling
2026-04-08 15:41:57 +02:00
Kristen Newbury
7b7411f7df
Change alert location CWE-829/ArtifactPoisoning queries
2026-04-08 08:57:45 -04:00
Jeroen Ketema
5eb8db0d48
Swift: Update expected QL test results after 6.3 update
2026-04-08 13:21:33 +02:00
Jeroen Ketema
6b2494c3e5
Swift: Update generated files
2026-04-08 13:21:03 +02:00
Jeroen Ketema
d473c7143d
Swift: Update schema
2026-04-08 13:20:06 +02:00
Jeroen Ketema
fd83515843
Swift: Make extractor compile
2026-04-08 13:19:40 +02:00
Jeroen Ketema
2fbfcb970e
Swift: Use Swift 6.3 artifacts
2026-04-08 13:19:00 +02:00
Taus
e3688444d7
Python: Also exclude class scope
...
Changing the `locals()` dictionary actually _does_ change the attributes
of the class being defined, so we shouldn't alert in this case.
2026-04-07 23:46:03 +02:00
Taus
8d79248ea7
Python: Port ModificationOfLocals.ql
2026-04-07 23:46:03 +02:00
Taus
16683aee0e
Merge pull request #21590 from github/tausbn/python-improve-bind-all-interfaces-query
...
Python: Improve "bind all interfaces" query
2026-04-07 17:59:48 +02:00
Jeroen Ketema
e7d3eedc80
Merge pull request #21661 from jketema/autoconf
...
C++: Add heuristic for GNU autoconf config files
2026-04-07 15:38:06 +02:00
Taus
4cb238f1af
Merge pull request #21598 from github/tausbn/python-port-should-use-with
...
Python: Port ShouldUseWithStatement.ql
2026-04-07 14:16:41 +02:00
Geoffrey White
b21dba6131
C++: Update code scanning suite .expected.
2026-04-07 13:06:34 +01:00
Geoffrey White
201af3fffc
C++: Update code scanning suite .expected.
2026-04-07 12:59:31 +01:00
Geoffrey White
f2292643a3
C++: Update code scanning suite .expected.
2026-04-07 12:53:53 +01:00
Geoffrey White
3769a8a482
C++: Update code scanning suite .expected.
2026-04-07 12:51:56 +01:00
Mathias Vorreiter Pedersen
5e145aa27d
Merge pull request #21631 from MathiasVP/expose-fwd-stage-1
...
Dataflow: Expose stage 1's `fwdFlow`
2026-04-07 11:29:56 +01:00
Mathias Vorreiter Pedersen
e06294bcb4
Shared: Respond to review comments.
2026-04-07 11:11:04 +01:00
Idriss Riouak
39f92e992a
Merge pull request #21494 from github/idrissrio/java/jdk26
...
Java: Accept new test results after JDK 26 extractor upgrade
2026-04-07 12:03:36 +02:00
Tom Hvitved
0d4524f8f3
Address review comments
2026-04-07 11:40:10 +02:00
Tom Hvitved
1e1a8732a3
Data flow: Add hook for preventing lambda dispatch in source call contexts
2026-04-07 11:40:08 +02:00
Tom Hvitved
eb64fcd208
C#: Add test that shows unintended flow summary generation
2026-04-07 11:40:07 +02:00
Jeroen Ketema
04cfd37f53
C++: Fix comments in tests
2026-04-07 10:52:12 +02:00
Jeroen Ketema
b19c648965
C++: Add heuristic for GNU autoconf config files
2026-04-07 10:43:15 +02:00
Michael Nebel
e259ebe258
Merge pull request #21627 from michaelnebel/csharp/cleanup
...
C#: Deprecate get[L|R]Value predicates.
2026-04-07 10:23:59 +02:00
idrissrio
6f199b90ba
Java: Accept new test results for JDK 26
...
Accept new ByteOrder.getEntries, List.ofLazy, and Map.ofLazy entries
in kotlin2 test expected files.
2026-04-07 09:28:25 +02:00
idrissrio
3ccbd8032c
Java: Accept new test results for JDK 26
...
JDK 26 added ofLazy methods to List, Map, and Set collections.
Update expected test output to include these new methods.
2026-04-07 09:28:23 +02:00
idrissrio
5a6eb79470
Java: Pin CWE-676 test to --release 25
...
Thread.stop() was removed in JDK 26. Pin the test to --release 25.
2026-04-07 09:28:22 +02:00
idrissrio
74b0e8c19a
Java: Accept new test results after JDK 26 extractor upgrade
2026-04-07 09:28:20 +02:00
Tom Hvitved
7d184d0c7f
Merge pull request #21206 from hvitved/rust/type-inference-closure-param-context-typed
...
Rust: Infer argument types based on trait bounds on parameters
2026-04-07 09:17:30 +02:00
github-actions[bot]
242090e0ac
Post-release preparation for codeql-cli-2.25.2
2026-04-06 13:49:20 +00:00
Óscar San José
868ccfbb04
Merge pull request #21657 from github/release-prep/2.25.2
...
Release preparation for version 2.25.2
2026-04-06 12:50:52 +02:00
github-actions[bot]
4fe2f6d2b4
Release preparation for version 2.25.2
2026-04-06 10:30:38 +00:00
Mario Campos
fb8b5699f2
Merge pull request #21639 from github/mario-campos/test-go-registries
...
Add tests for multiple Git sources and GoProxy servers in registry config parsing
2026-04-02 11:12:51 -05:00
Kristen Newbury
41714656ec
Adjust alert messages actions CWE-829
2026-04-02 11:58:58 -04:00
Kristen Newbury
e69e30aa84
Adjust alert messages CWE-829/ArtifactPoisoning[Critical|Medium]
2026-04-02 11:32:37 -04:00
Mario Campos
fb871cdfb8
Add tests for multiple Git sources and GoProxy servers in registry config parsing
2026-04-02 10:12:48 -05:00
Paolo Tranquilli
cedacc91db
Merge pull request #21583 from github/redsun82/update-kotlin-2.3.20
...
Kotlin: update to 2.3.20
2026-04-02 15:58:22 +02:00
Jeroen Ketema
87f9b9581e
Actions: Add change note
2026-04-02 15:48:45 +02:00
Jeroen Ketema
47409d1c59
Actions: Update expected test results
2026-04-02 15:43:49 +02:00
Jeroen Ketema
74e6d3474d
Actions: Correctly check permissions in actions/missing-workflow-permissions
2026-04-02 15:42:45 +02:00
Jeroen Ketema
5866bcc881
Actions: Add FP test for actions/missing-workflow-permissions
2026-04-02 15:41:41 +02:00
Geoffrey White
cc89b6ea91
C++: Change note.
2026-04-02 11:52:37 +01:00
Geoffrey White
70b72f70e1
C++: Upgrade query precision.
2026-04-02 11:52:36 +01:00
Geoffrey White
56af9a84ab
Update cpp/ql/src/Likely Bugs/Underspecified Functions/ImplicitFunctionDeclaration.qhelp
2026-04-02 11:40:51 +01:00
Geoffrey White
9eabfc5fdc
Update cpp/ql/src/Likely Bugs/Underspecified Functions/ImplicitFunctionDeclaration.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-04-02 11:39:45 +01:00
Geoffrey White
e83658ed06
C++: Upgrade query precision.
2026-04-02 11:38:09 +01:00
Geoffrey White
2d02056e5c
C++: Second change note.
2026-04-02 11:34:54 +01:00
Geoffrey White
9dbbdef4cb
C++: Change note.
2026-04-02 11:30:52 +01:00
Geoffrey White
520e95d92c
C++: Upgrade query precision.
2026-04-02 11:30:34 +01:00
Geoffrey White
909b55a40a
C++: Change note.
2026-04-02 11:28:34 +01:00
Geoffrey White
b41a4ff5e4
C++: Upgrade query precision.
2026-04-02 11:28:19 +01:00
Geoffrey White
fca567f6ea
C++: Change note.
2026-04-02 11:26:50 +01:00
Geoffrey White
84c01bc255
C++: Upgrade query precision.
2026-04-02 11:26:49 +01:00
Mathias Vorreiter Pedersen
4d8b782695
Shared: Also expose dataflow stage 1's forward flow predicate.
2026-04-02 10:56:09 +01:00
Paolo Tranquilli
88a893efca
Kotlin: update supported versions in documentation
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-02 08:34:22 +02:00
Paolo Tranquilli
2d76b41293
Merge pull request #21628 from github/redsun82/vendor-picosha2
...
Vendor `PicoSHA2` into LFS
2026-04-01 15:24:41 +02:00
Paolo Tranquilli
9a1156dd62
Vendor PicoSHA2 into LFS
...
The upstream repo (`okdshin/PicoSHA2`) is a personal GitHub account,
at risk of suspension — the same scenario that hit `rules_antlr`.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-04-01 14:31:01 +02:00
Michael Nebel
6d5aff4822
C#: Add change-note.
2026-04-01 13:17:52 +02:00
Michael Nebel
9c095bc580
C#: Deprecate get[L|R]Value predicates.
2026-04-01 12:50:37 +02:00
Mathias Vorreiter Pedersen
43d002e6b5
Merge pull request #21619 from MathiasVP/more-http-remote-flow-sources
...
C++: Add flow sources from Windows' `http.h`
2026-03-31 15:44:39 +01:00
Mathias Vorreiter Pedersen
16a7e39e95
C++: Fix pointer indirection. Currently, this does not have any effect because of a conflation bug in taint-tracking.
2026-03-31 15:26:15 +01:00
Jeroen Ketema
17ab87d1fc
Merge pull request #21618 from jketema/meson-silence
...
C++: Add heuristics for meson configuration files
2026-03-31 15:24:22 +02:00
Mathias Vorreiter Pedersen
dc8dc61196
C++: Fix type name.
2026-03-31 13:54:30 +01:00
Mathias Vorreiter Pedersen
ab34bd232e
C++: Add change note.
2026-03-31 11:30:43 +01:00
Mathias Vorreiter Pedersen
9e97e0433e
C++: Accept test changes.
2026-03-31 11:30:41 +01:00
Mathias Vorreiter Pedersen
102221d0aa
C++: Add lots of taint inheriting content related to '_HTTP_REQUEST'.
2026-03-31 11:30:39 +01:00
Mathias Vorreiter Pedersen
c6d1ec5f64
C++: Add examples that need taint inheriting content.
2026-03-31 11:30:37 +01:00
Mathias Vorreiter Pedersen
21ea7ebe40
C++: Model a few more remote flow sources from 'http.h' and accept test changes.
2026-03-31 11:30:35 +01:00
Mathias Vorreiter Pedersen
18a25c5071
C++: Add tests with missing flow sources.
2026-03-31 11:30:33 +01:00
Paolo Tranquilli
1836a63122
Merge remote-tracking branch 'origin/main' into wild-crest-ql
2026-03-31 11:35:24 +02:00
Jeroen Ketema
ceec44b819
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-31 11:08:38 +02:00
Jeroen Ketema
d2839f4ee4
C++: Add change note
2026-03-31 11:02:40 +02:00
Anders Schack-Mulligen
2bde364bdd
Merge pull request #21599 from aschackmull/csharp/constantcondition-simplify
...
C#: Simplify the ConstantCondition query.
2026-03-31 11:02:30 +02:00
Jeroen Ketema
5122f7cf92
C++: Add heuristics for meson configuration files
2026-03-31 11:02:26 +02:00
Jeroen Ketema
afd33e4dcd
C++: Add test for meson configuration files
2026-03-31 10:23:51 +02:00
Anders Schack-Mulligen
29500c7eb7
C#: Add change note.
2026-03-31 09:38:45 +02:00
Anders Schack-Mulligen
2a54dce5cb
C#: Remove redundant ConstantComparison.ql query.
2026-03-31 09:38:44 +02:00
Anders Schack-Mulligen
056be6d504
C#: Simplify the ConstantCondition query.
2026-03-31 09:38:44 +02:00
Anders Schack-Mulligen
71b38b71bf
Merge pull request #21613 from aschackmull/csharp/consistent-cs-abbrev
...
C#: Fix inconsistent casing of Cs/CS.
2026-03-31 09:22:49 +02:00
Florin Coada
cd7bb54039
Merge pull request #21615 from github/codeql-spark-run-23750999202
...
Update changelog documentation site for codeql-cli-2.25.1
2026-03-30 16:09:14 +01:00
github-actions[bot]
3c78d8a737
update codeql documentation
2026-03-30 14:50:44 +00:00
Mathias Vorreiter Pedersen
b83d4e010b
Merge pull request #21611 from MathiasVP/nsdmi-dataflow-3
...
C++: Add dataflow through NSDMI
2026-03-30 15:48:31 +01:00
Paolo Tranquilli
628f85aebc
Kotlin: accept test changes
2026-03-30 15:35:19 +02:00
Anders Schack-Mulligen
40366042a5
C#: Fix inconsistent casing of Cs/CS.
2026-03-30 15:24:32 +02:00
Paolo Tranquilli
106d6b91f3
Merge remote-tracking branch 'origin/main' into wild-crest-ql
2026-03-30 14:21:28 +02:00
Paolo Tranquilli
6433b80b25
Kotlin: accept integration test changes
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-30 14:21:19 +02:00
Jeroen Ketema
095a9cbc73
Merge pull request #21588 from jketema/jketema/compiler-error-bmn
...
C++: Silence `ExtractionRecoverableWarning`s when BMN is active
2026-03-30 14:17:26 +02:00
Mathias Vorreiter Pedersen
5db069eb56
C++: Fix more consistency errors.
2026-03-30 12:08:08 +01:00
Óscar San José
9f27a5278f
Merge pull request #21579 from github/post-release-prep/codeql-cli-2.25.1
...
Post-release preparation for codeql-cli-2.25.1
2026-03-30 12:47:59 +02:00
Mathias Vorreiter Pedersen
9247e6af0c
C++: Add change note.
2026-03-30 11:30:17 +01:00
Mathias Vorreiter Pedersen
29768bbed4
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/type-bugs.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-30 11:26:24 +01:00
Mathias Vorreiter Pedersen
78c0c7cb76
C++: Exclude flow summaries from 'irTypeBugs'.
2026-03-30 11:04:42 +01:00
Paolo Tranquilli
1d028382da
Merge branch 'main' into wild-crest-ql
2026-03-30 12:04:16 +02:00
Mathias Vorreiter Pedersen
503c15334a
C++: Accept test changes.
2026-03-30 11:03:52 +01:00
Mathias Vorreiter Pedersen
599b7a6653
C++: Handle fields in 'getThisType'.
2026-03-30 11:00:40 +01:00
Mathias Vorreiter Pedersen
9cb8edb41a
C++: Change 'Function' to 'Declaration' in a few places to handle enclosing callables being fields.
2026-03-30 11:00:38 +01:00
Mathias Vorreiter Pedersen
eb35fa0d5e
C++: Unify 'isSourceParameterOf' for this parameters with the implementation for positional parameters.
2026-03-30 11:00:37 +01:00
Jeroen Ketema
6692f23cbd
C++: Add change note
2026-03-30 11:50:31 +02:00
Jeroen Ketema
8349bd50ba
Merge pull request #21391 from jketema/jketema/nsdmi
...
C++: Handle field initialization via NSDMI in IR generation
2026-03-30 11:35:06 +02:00
Óscar San José
59eec7ffa2
Merge branch 'main' of https://github.com/github/codeql into post-release-prep/codeql-cli-2.25.1
2026-03-30 10:51:12 +02:00
github-actions[bot]
ce6e6d5db3
Post-release preparation for codeql-cli-2.25.1
2026-03-30 08:43:48 +00:00
Paolo Tranquilli
6fad5b823c
Kotlin: accept test changes
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-30 10:07:17 +02:00
Owen Mansel-Chan
898d12b0be
Merge pull request #21608 from MarkLee131/fix/tainted-arithmetic-bounds-check-barrier
...
Exclude bounds-check arithmetic from tainted-arithmetic sinks
2026-03-29 22:47:20 +01:00
MarkLee131
e6adfbca77
Address review: update QLDoc comment and fix expected test output
...
- Clarify that arithmeticUsedInBoundsCheck applies to if-condition
comparisons, not all comparisons
- Update expected test line numbers to reflect added test calls
2026-03-29 11:53:06 +08:00
Kaixuan Li
b595a70384
Update java/ql/lib/change-notes/2026-03-28-tainted-arithmetic-bounds-check.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-29 11:45:27 +08:00
Kaixuan Li
938039d82c
Merge branch 'main' into fix/tainted-arithmetic-bounds-check-barrier
2026-03-29 10:25:39 +08:00
Kaixuan Li
f5cfc5e282
Update java/ql/test/query-tests/security/CWE-190/semmle/tests/ArithmeticTainted.java
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-03-29 10:25:10 +08:00
Owen Mansel-Chan
58218ee630
Merge pull request #21594 from MarkLee131/fix/add-ec-to-secure-algorithm-whitelist
...
Add EC to secure algorithm whitelist for Java CWE-327 query
2026-03-28 17:13:19 +00:00
Owen Mansel-Chan
2b8558706f
Add sentence to change note.
2026-03-28 16:39:16 +00:00
Owen Mansel-Chan
ea9b99f67c
Rephrase change note
2026-03-28 16:36:39 +00:00
MarkLee131
0c5e89a68e
Exclude bounds-check arithmetic from tainted-arithmetic sinks
...
The java/tainted-arithmetic query now recognizes when an arithmetic
expression appears directly as an operand of a comparison (e.g.,
`if (off + len > array.length)`). Such expressions are bounds checks,
not vulnerable computations, and are excluded via the existing
overflowIrrelevant predicate.
Add test cases for bounds-checking patterns that should not be flagged.
2026-03-28 17:39:40 +08:00
MarkLee131
da4a2238bc
Address PR review: add Signature.getInstance sink, HMAC/PBKDF2 whitelist, fix test APIs
...
- Model Signature.getInstance() as CryptoAlgoSpec sink (previously only
Signature constructor was modeled)
- Add HMAC-based algorithms (HMACSHA1/256/384/512, HmacSHA1/256/384/512)
and PBKDF2 to the secure algorithm whitelist
- Fix XDH/X25519/X448 tests to use KeyAgreement.getInstance() instead of
KeyPairGenerator.getInstance() to match their key agreement semantics
- Add test cases for SHA384withECDSA, HMACSHA*, and PBKDF2WithHmacSHA1
from user-reported false positives
- Update change note to document all additions
2026-03-28 16:53:46 +08:00
MarkLee131
a9449cc991
Add EC to secure algorithm whitelist for Java CWE-327 query
2026-03-28 16:48:58 +08:00
Taus
a0b3c2f13a
Python: Update change note
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-27 23:46:50 +01:00
Taus
187f7c7bcf
Python: Move isNetworkBind check into isSink
2026-03-27 22:45:26 +00:00
Owen Mansel-Chan
37aac05964
Replace branch with acceptingValue
2026-03-27 22:39:10 +00:00
Taus
c5ef1f6342
Python: Port UseOfExit.ql
2026-03-27 22:28:38 +00:00
Owen Mansel-Chan
a7fdc4b543
Replace acceptingvalue with acceptingValue
2026-03-27 22:15:45 +00:00
Owen Mansel-Chan
a8b52acaa9
Merge pull request #21585 from github/copilot/convert-models-to-yml
...
C++: Convert remaining CSV models to .model.yml and remove CSV model infrastructure
2026-03-27 20:48:34 +00:00
Geoffrey White
a9cce1c0fa
C++: Undo increasing query precision.
2026-03-27 17:32:03 +00:00
Geoffrey White
4f3108c444
C++: Update change note.
2026-03-27 17:04:05 +00:00
Taus
4f74d421b9
Python: Exclude AF_UNIX sockets from BindToAllInterfaces
...
Looking at the results of the the previous DCA run, there was a bunch of
false positives where `bind` was being used with a `AF_UNIX` socket (a
filesystem path encoded as a string), not a `(host, port)` tuple. These
results should be excluded from the query, as they are not vulnerable.
Ideally, we would just add `.TupleElement[0]` to the MaD sink, except we
don't actually support this in Python MaD...
So, instead I opted for a more low-tech solution: check that the
argument in question flows from a tuple in the local scope.
This eliminates a bunch of false positives on `python/cpython` leaving
behind four true positive results.
2026-03-27 16:55:10 +00:00
Geoffrey White
50681a3c42
C++: Add note to the .qhelp.
2026-03-27 16:47:31 +00:00
Geoffrey White
bb9873dc8f
C++: Increase the query precision to high.
2026-03-27 16:40:45 +00:00
Jeroen Ketema
0f8e39a236
C++: Silence ExtractionRecoverableWarnings when BMN is active
2026-03-27 13:42:44 +01:00
Taus
47d24632e6
Python: Port ShouldUseWithStatement.ql
...
Only trivial test changes.
2026-03-27 12:34:20 +00:00
Taus
0ea80ac184
Python: Port UnusedExceptionObject.ql
...
Depending on whether other queries depend on this, we may end up moving
the exception utility functions to a more central location.
2026-03-27 12:34:14 +00:00
Taus
60f9ce4ce7
Python: Port UnreachableCode.ql
2026-03-27 12:33:04 +00:00
Owen Mansel-Chan
b3285c6ae2
Make description of acceptingvalue column clearer
2026-03-27 11:35:22 +00:00
Owen Mansel-Chan
c07a814515
Add comments to converted MaD file
2026-03-27 11:23:33 +00:00
Mathias Vorreiter Pedersen
8fc914f636
Merge pull request #21591 from MathiasVP/restrict-pair-cand
...
C++: Fix join orders in virtual dispatch computation
2026-03-27 11:20:53 +00:00
Owen Mansel-Chan
7e1ad825c3
Fix model row with misaligned columns
...
The original CSV had too many columns, and copilot cut off the last one, before adding the provenance column at the end.
2026-03-27 11:17:15 +00:00
Tom Hvitved
6dc98cfd01
Rust: Infer argument types based on trait bounds on parameters
2026-03-27 11:39:03 +01:00
Owen Mansel-Chan
f897575d3f
Update change note
2026-03-27 10:11:13 +00:00
Paolo Tranquilli
55b95d22e9
Merge pull request #21580 from github/dependabot/bazel/rules_shell-0.7.1
...
Bump rules_shell from 0.6.1 to 0.7.1
2026-03-27 11:08:39 +01:00
Owen Mansel-Chan
5451424e75
Rust: Fix columns for neutrals
2026-03-27 09:47:36 +00:00
Owen Mansel-Chan
886a16bfad
C++: Add provenance column
2026-03-27 09:47:34 +00:00
Owen Mansel-Chan
e680d49c93
Shared: document extensible relations rather than CSV
2026-03-27 09:47:32 +00:00
Owen Mansel-Chan
df842665b7
Rust: Add neutrals to MaD format explanation
2026-03-27 09:47:30 +00:00
Owen Mansel-Chan
805d2ec46c
Go: Add provenance to MaD format explanation
2026-03-27 09:47:28 +00:00
Owen Mansel-Chan
61b13d5702
C++: Add provenance to MaD format explanation
2026-03-27 09:47:26 +00:00
Owen Mansel-Chan
10fddc7b96
Add barriers and barrier guards to MaD format explanations
2026-03-27 09:47:24 +00:00
Michael Nebel
73360eefb3
Merge pull request #21452 from michaelnebel/csharp/expandedassignment
...
C#: Remove expanded assignments.
2026-03-27 09:18:55 +01:00
yoff
08e115056d
Merge pull request #21519 from github/tausbn/python-port-no-alert-change
2026-03-27 08:44:28 +01:00
Taus
c9832c330a
Python: Convert BindToAllInterfaces to path-problem
...
Now that we're using global data-flow, we might as well make use of the
fact that we know where the source is.
2026-03-26 21:10:43 +00:00
Michael Nebel
c4c363d4e5
Merge pull request #21589 from michaelnebel/csharp/updateintegrationtests
...
C#: Update integration tests to use SDK 10.0.201.
2026-03-26 19:51:22 +01:00
Mathias Vorreiter Pedersen
56153d583e
C++: Switch to doublyBoundedFastTC when computing virtual dispatch edges and inline pairCand to avoid a giant tuple explosion.
2026-03-26 17:31:18 +00:00
Michael Nebel
1a4f333c4a
C#: Update integration tests to use SDK 10.0.201.
2026-03-26 18:07:05 +01:00
Tom Hvitved
b8a8a160c5
Rust: More type inference tests
2026-03-26 18:06:32 +01:00
Owen Mansel-Chan
8a99ef4531
Update csv model tests to use MaD
2026-03-26 16:44:58 +00:00
Owen Mansel-Chan
21ecf230ce
Small tweaks
2026-03-26 16:39:10 +00:00
Óscar San José
7a4b88fadc
Merge pull request #21586 from github/oscarsj/hotfix-2.25.1-base
...
Release 2.25.1 preparations
2026-03-26 16:36:02 +01:00
Taus
c0ce6699a5
Python: Add change note
2026-03-26 15:35:33 +00:00
Taus
c439fc5d45
Python: Replace type tracking with global data-flow
...
This takes care of most of the false negatives from the preceding
commit.
Additionally, we add models for some known wrappers of `socket.socket`
from the `gevent` and `eventlet` packages.
2026-03-26 15:35:33 +00:00
Owen Mansel-Chan
de4fe6d25c
Use inline expectations for query test
2026-03-26 15:27:17 +00:00
copilot-swe-agent[bot]
d69bcca687
Remove CSV model infrastructure from ExternalFlow.qll
...
Remove SourceModelCsv, SinkModelCsv, SummaryModelCsv classes,
single-argument CSV predicates, CSV parsing in MadInput, and
CSV-specific validation checks. Simplify MadInput to only contain
the namespace separator. Convert test models to .ext.yml format.
Agent-Logs-Url: https://github.com/github/codeql/sessions/89ff81fe-5585-446d-99e2-6fe6966495c5
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
2026-03-26 15:07:39 +00:00
Taus
1ecd9e83b8
Python: Add test cases for BindToAllInterfaces FNs
...
Adds test cases from github/codeql#21582 demonstrating false negatives:
- Address stored in class attribute (`self.bind_addr`)
- `os.environ.get` with insecure default value
- `gevent.socket` (alternative socket module)
2026-03-26 14:57:24 +00:00
Taus
824d004a27
Python: Convert BindToAllInterfaces test to inline expectations
2026-03-26 14:56:57 +00:00
Óscar San José
fe565baf06
Apply suggestions from code review
...
Co-authored-by: Óscar San José <oscarsj@github.com >
2026-03-26 15:54:35 +01:00
Owen Mansel-Chan
64a52ba07f
Update test that uses zmq models
2026-03-26 14:53:33 +00:00
Óscar San José
a5be35170b
Missing file
2026-03-26 15:26:16 +01:00
Owen Mansel-Chan
6769f08f93
Remove blank line at end of file
2026-03-26 14:10:15 +00:00
Paolo Tranquilli
2a3d2b882d
Merge branch 'main' into redsun82/update-kotlin-2.3.20
2026-03-26 14:59:59 +01:00
Paolo Tranquilli
4e6d94bc4f
Kotlin: reinstante trailing whitespace
2026-03-26 14:59:49 +01:00
Tom Hvitved
c66679c03b
Merge pull request #21564 from hvitved/rust/type-inference-additional-constraints
...
Rust: Take additional type parameter constraints into account
2026-03-26 14:38:06 +01:00
Michael Nebel
41bb349a9b
C#: Improve the downgrade script.
2026-03-26 14:34:54 +01:00
Óscar San José
805c2c3c3c
Merge remote-tracking branch 'origin/codeql-cli-2.25.1' into oscarsj/hotfix-2.25.1-base
2026-03-26 14:29:44 +01:00
Florin Coada
8382a352d4
Merge pull request #21558 from github/codeql-spark-run-23458057791
...
Update changelog documentation site for codeql-cli-2.25.0
2026-03-26 13:45:50 +01:00
Óscar San José
b2d9a600e5
Merge pull request #21486 from github/post-release-prep/codeql-cli-2.25.0
...
Post-release preparation for codeql-cli-2.25.0
2026-03-26 13:45:15 +01:00
copilot-swe-agent[bot]
a6377145ac
Convert C++ CSV models from QL files to .model.yml data extensions
...
Migrate ZeroMQ models from ZMQ.qll and getc-family source models
from Gets.qll into new .model.yml files in the ext/ directory.
Agent-Logs-Url: https://github.com/github/codeql/sessions/da8f5e5b-35f7-47a4-afa0-750616e3df5b
Co-authored-by: owen-mc <62447351+owen-mc@users.noreply.github.com >
2026-03-26 12:38:19 +00:00
copilot-swe-agent[bot]
4748c4a4f5
Initial plan
2026-03-26 12:31:21 +00:00
Paolo Tranquilli
c2e1ae3b9c
Kotlin: accept test changes
2026-03-26 12:20:59 +01:00
Michael Nebel
a5f27b8f19
C#: Add change-note.
2026-03-26 11:52:42 +01:00
Paolo Tranquilli
ded6968558
Kotlin: update to 2.3.20
2026-03-26 11:43:37 +01:00
Michael Nebel
a402ce59f4
C#: Fix bad join in cs/coalesce-of-identical-expressions.
2026-03-26 10:45:02 +01:00
Paolo Tranquilli
e0bc18c228
Add changenote for false positive sink model removals
2026-03-26 09:19:34 +01:00
Paolo Tranquilli
e807545591
Remove false positive docker/build-push-action context sink model
...
The `context` input is passed as a single array element through
`docker/actions-toolkit` and `@actions/exec` all the way to
`child_process.spawn()`, which does not perform shell splitting.
No code injection is possible.
Fixes https://github.com/github/codeql/issues/21428
2026-03-26 09:08:34 +01:00
dependabot[bot]
94ad234a28
Bump rules_shell from 0.6.1 to 0.7.1
...
Bumps [rules_shell](https://github.com/bazel-contrib/rules_shell ) from 0.6.1 to 0.7.1.
- [Release notes](https://github.com/bazel-contrib/rules_shell/releases )
- [Commits](https://github.com/bazel-contrib/rules_shell/compare/v0.6.1...v0.7.1 )
---
updated-dependencies:
- dependency-name: rules_shell
dependency-version: 0.7.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-26 03:07:47 +00:00
Óscar San José
970b57cbe7
Merge pull request #21578 from github/release-prep/2.25.1
...
Release preparation for version 2.25.1
2026-03-26 00:51:30 +01:00
github-actions[bot]
fb011842c9
Release preparation for version 2.25.1
2026-03-25 23:43:06 +00:00
Jeroen Ketema
ab1f0c13e5
C++: Update expected test results
2026-03-25 16:36:31 +01:00
Jeroen Ketema
ef780c15fb
C++: NSDMI fixes
...
* Do not generate IR for field initializers from uninstantiated templates.
* Add forgotten case to `TranslatedDeclarationEntry`
2026-03-25 16:34:02 +01:00
Jeroen Ketema
346ab9d623
C++: Add struct and variable template tests
2026-03-25 16:31:28 +01:00
Michael Nebel
147ac37fec
C#: Add downgrade script.
2026-03-25 16:09:39 +01:00
Michael Nebel
29acd6960f
C#: Add upgrade script.
2026-03-25 16:09:26 +01:00
Tom Hvitved
09a2dd4a2e
Update rust/ql/lib/codeql/rust/internal/typeinference/FunctionType.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-25 15:01:39 +01:00
Paolo Tranquilli
6c52de9234
Merge pull request #21566 from github/redsun82/csharp-opt-out-of-dotnet-telemetry
...
C#: Opt out of dotnet CLI telemetry
2026-03-25 14:55:33 +01:00
Tom Hvitved
c579ec9ea7
Merge pull request #21575 from hvitved/rust/model-generator-taint-steps
...
Rust: Include taint steps when generating flow models
2026-03-25 14:41:36 +01:00
Owen Mansel-Chan
898713538f
Merge pull request #21563 from owen-mc/rust/allow-mad-barriers
...
Rust: Enable MaD barriers for queries with MaD sinks
2026-03-25 12:55:31 +00:00
Tom Hvitved
fba4a83dc8
Rust: Include taint steps when generating flow models
2026-03-25 12:52:08 +01:00
Owen Mansel-Chan
f25d7456da
Fix QL formatting
2026-03-25 10:05:04 +00:00
Paolo Tranquilli
55d16e8781
Remove false-positive command-injection sink model for step-security/harden-runner
...
The `allowed-endpoints` input only flows to `execFileSync("echo", [content])`
(no shell) and `fs.writeFileSync` (JSON config), neither of which is a
command injection vector.
Fixes https://github.com/github/codeql/issues/21568
2026-03-25 10:58:16 +01:00
Óscar San José
851315fb93
Merge pull request #21573 from github/release-prep/2.25.1
...
Release preparation for version 2.25.1
2026-03-25 10:55:04 +01:00
Tom Hvitved
6295f57a87
Rust: Take additional type parameter constraints into account
2026-03-25 10:11:04 +01:00
github-actions[bot]
8cf0954796
Release preparation for version 2.25.1
2026-03-25 08:28:30 +00:00
Owen Mansel-Chan
bedfe1e755
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-03-24 22:06:53 +00:00
Simon Friis Vindum
0ed037d667
Merge pull request #21544 from paldepind/cpp/extraction-information-expr-types
...
C++: Add expressions with type data to `cpp/extraction-information`
2026-03-24 17:16:47 +01:00
Jeroen Ketema
dad517ff5e
C++: Fix typo
2026-03-24 16:16:14 +01:00
Jeroen Ketema
db7c61969d
Update cpp/ql/lib/change-notes/2026-03-24-field-init.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-24 16:11:10 +01:00
Jeroen Ketema
49c5cc05ac
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-24 16:09:33 +01:00
Simon Friis Vindum
8cb5380d84
C++: Remove unused find predicate
2026-03-24 15:54:46 +01:00
Tom Hvitved
ddc407257f
Rust: Type inference test
2026-03-24 15:41:43 +01:00
Jeroen Ketema
0f44d6a780
C++: Add change note
2026-03-24 15:39:09 +01:00
Jeroen Ketema
4a637cbe0a
C++: Accept dataflow test changes
...
These need to be looked at, but because data flow through default field
initialization is currently not working, let's postpone this as part of that
work.
2026-03-24 15:34:34 +01:00
Jeroen Ketema
b554d7dd16
C++: Fix QL-for-QL warnings
2026-03-24 15:33:35 +01:00
Jeroen Ketema
f3fc80a080
C++: Update expected test results
2026-03-24 15:33:34 +01:00
Jeroen Ketema
22eda4ef0a
C++: Add call side effects for default field initializations to the IR
2026-03-24 15:33:32 +01:00
Jeroen Ketema
e986d8922a
C++: Call functions for NSDMI initialization
...
Currently missing: side-effect information for the functions
2026-03-24 15:33:30 +01:00
Jeroen Ketema
b91a52a050
C++: Allow getInstructionFunction to yield a declaration
2026-03-24 15:33:29 +01:00
Jeroen Ketema
9e60e1217f
C++: Update expected test results
2026-03-24 15:33:27 +01:00
Jeroen Ketema
09f930f4e8
C++: Generate initialization function for each NSDMI
2026-03-24 15:33:25 +01:00
Jeroen Ketema
68039ecd68
C++: Add NSDMI dataflow test
2026-03-24 15:33:24 +01:00
Jeroen Ketema
59c27a2196
C++: Add NSDMI tests
2026-03-24 15:33:22 +01:00
Jeroen Ketema
07603a835a
C++: Rename CallOrAllocationExpr to something more generic
2026-03-24 15:33:20 +01:00
Jeroen Ketema
5aabd90eff
C++: Add direct and default initialization subclasses for ConstructorFieldInit
2026-03-24 15:32:58 +01:00
Michael Nebel
d96e8cb704
C#: Remove expr_parent_adjusted.
2026-03-24 15:32:20 +01:00
Michael Nebel
a900fe8657
C#: Adress review comments.
2026-03-24 15:32:17 +01:00
Michael Nebel
3d2d09d0bc
C#: Use the DB types and replace the abstract class implementation.
2026-03-24 15:32:15 +01:00
Michael Nebel
96f55fbdf1
C#: Add operation types to the DB scheme.
2026-03-24 15:32:13 +01:00
Michael Nebel
55516342b2
C#: Add/update tests and expected output.
2026-03-24 15:32:11 +01:00
Michael Nebel
51673312c5
C#: Upgrade libraries and queries to use the new Operation classes.
2026-03-24 15:32:08 +01:00
Michael Nebel
149df86ce2
C#: Update the CFG implementation based on the new operations and remove hack that rotates children of assignments.
2026-03-24 15:32:06 +01:00
Michael Nebel
569e33b407
C#: Introduce a new kind of assignable definitions for compound assignments (those that was previously covered by expanded assignments).
2026-03-24 15:32:04 +01:00
Michael Nebel
e2afb000b2
C#: Cleaup expanded assignments from the dispatch logic.
2026-03-24 15:32:02 +01:00
Michael Nebel
2a78183238
C#: Deprecate the expanded assignment predicate as we no longer extract expanded assignments.
2026-03-24 15:32:00 +01:00
Michael Nebel
327757dbcb
C#: Update the child indices for assignments, update Assign classes to extend OperatorCall and add AssignOperation classes.
2026-03-24 15:31:57 +01:00
Michael Nebel
b426c6fb39
C#: Update the DB scheme to reflect that assign arithmetic- and bitwise operations are operator calls.
2026-03-24 15:31:55 +01:00
Michael Nebel
c8169f576f
C#: Don't extract expanded assignments and swap child indices for assignments.
2026-03-24 15:31:53 +01:00
Paolo Tranquilli
14b3f6211e
C#: Opt out of dotnet CLI telemetry
...
Add `DOTNET_CLI_TELEMETRY_OPTOUT=1` to the minimal environment used for
all `dotnet` invocations. The telemetry is unnecessary and may even be
causing segfaults in some cases.
2026-03-24 14:16:49 +01:00
Taus
059693ce89
Python: Restrict ShouldBeContextManager.ql results
...
By limiting the results to the class that actually defines the `__del__`
method, we eliminate a bunch of FPs where a _subclass_ of such a class
would also get flagged.
2026-03-24 13:04:44 +00:00
Florin Coada
70d8c1c76e
Merge pull request #21558 from github/codeql-spark-run-23458057791
...
Update changelog documentation site for codeql-cli-2.25.0
2026-03-24 12:54:23 +00:00
Taus
f245da1e52
Merge pull request #21560 from github/tausbn/cpp-fix-bad-join-in-printf
...
C++: Fix bad join in `callsVariadicFormatter`
2026-03-24 13:37:23 +01:00
Owen Mansel-Chan
7e6319d648
Remove unused field
2026-03-24 10:39:32 +00:00
Owen Mansel-Chan
93231794ee
Document that MaD barriers for hardcoded credentials apply to all kinds
2026-03-24 10:39:05 +00:00
Owen Mansel-Chan
5762191832
Enable MaD barriers for queries with MaD sinks
2026-03-24 10:28:25 +00:00
Owen Mansel-Chan
fd8821fcb5
Merge pull request #21475 from owen-mc/rust/mad-barriers
...
Rust: Add support for defining barriers and barrier guards using models-as-data
2026-03-24 09:31:24 +00:00
Tom Hvitved
cc99867969
Merge pull request #21511 from hvitved/ruby/empty-stats
...
Ruby: Use empty DB stats
2026-03-24 08:25:43 +01:00
Taus
2e76f3471a
C++: Fix bad join in callsVariadicFormatter
...
On `wireshark` this reduces the intermediate tuple count from roughly 88
million tuples to roughly 3000 (with the new helper predicate
materialising ~300 tuples).
2026-03-23 23:17:22 +00:00
github-actions[bot]
19424627c1
update codeql documentation
2026-03-23 20:19:09 +00:00
Mathias Vorreiter Pedersen
680ea0b960
Merge pull request #21552 from MathiasVP/more-public-dataflow-apis
...
C++: Expose indirect instructions and indirect parameters in dataflow
2026-03-23 17:46:14 +00:00
Mario Campos
a5763303fc
Merge pull request #21557 from github/rc/3.21
...
Merge back remaining changes from rc/3.21
2026-03-23 12:28:34 -05:00
Owen Mansel-Chan
8d16a2b4fa
Fix parameter -> argument in QLDoc
2026-03-23 16:24:03 +00:00
Owen Mansel-Chan
97ebc0e839
Update QLDoc in FlowBarrier.qll
2026-03-23 16:22:27 +00:00
Owen Mansel-Chan
d82fc67b36
Fix QLDoc formatting
2026-03-23 16:11:22 +00:00
Taus
ac48eca916
Python: Use cls.getMethod instead of getName
2026-03-23 15:26:00 +00:00
Taus
93e35661e6
Python: Make isNewType more precise
...
For module-level metaclass declarations, we now also check that the
right hand side in a `__metaclass__ = type` assignment is in fact the
built-in `type`.
2026-03-23 15:22:24 +00:00
Taus
a276f721f7
Python: Add ternary overridesMethod
...
This one also allows easy access to the method being overridden and the
class on which it resides. This let's us simplify DocStrings.ql
accordingly.
2026-03-23 15:21:27 +00:00
Taus
1ffcdc9293
Python: Select property instead of function
...
in PropertyInOldStyleClass. This matches the previous behaviour more
closely.
2026-03-23 14:55:28 +00:00
Taus
56c83e250e
Python: Make comment more precise
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 15:09:27 +01:00
Taus
5859590b5d
Python: Fix typo in comment
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-23 15:07:31 +01:00
Mathias Vorreiter Pedersen
8cebf510dc
C++: Reword the change note from #21458 .
2026-03-23 13:45:46 +00:00
Mathias Vorreiter Pedersen
b5723bd75d
Merge branch 'main' into more-public-dataflow-apis
2026-03-23 13:43:01 +00:00
Mathias Vorreiter Pedersen
fef314e27f
C++: Add change note.
2026-03-23 13:39:15 +00:00
Mathias Vorreiter Pedersen
1363c54a9f
C++: Add 'asIndirectInstruction' as a public predicate.
2026-03-23 13:28:33 +00:00
Mathias Vorreiter Pedersen
09caeca7e9
C++: Move parameter indirection nodes into the public API.
2026-03-23 13:27:20 +00:00
Geoffrey White
39056e4477
C++: Change note.
2026-03-23 12:28:17 +00:00
Geoffrey White
5a77128a8b
C++: Disable cpp/implicit-function-declaration on BMN databases.
2026-03-23 11:27:15 +00:00
Simon Friis Vindum
c67122b3f1
C++: Add expressions with type data to cpp/extraction-information
2026-03-23 12:14:11 +01:00
Tom Hvitved
0d0d34cc71
Merge pull request #21498 from Gregro/csharp/fix-log-forging-extension-methods
...
C#: Fix false positives in cs/log-forging for extension methods
2026-03-23 11:24:12 +01:00
Jeroen Ketema
be245357cc
Merge pull request #21458 from github/jeongsoolee09/add-getIndirectionIndex
...
Add `IndirectUninitializedNode` and related helper predicates
2026-03-23 11:03:57 +01:00
Jeroen Ketema
ee00b98476
Update cpp/ql/lib/change-notes/2026-03-20-add-indirect-uninitialized-node.md
2026-03-23 10:44:21 +01:00
Jeongsoo Lee
6ae32f22a8
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-22 11:51:14 -04:00
Gregro
a59c865328
let interprocedural analysis handle source-available extension methods for LogForgingLogMessageSink's
2026-03-21 20:05:08 +00:00
Gregro
d0c48893f5
update test helper to use more robust .ReplaceLineEndings() sanitizer
2026-03-21 20:05:08 +00:00
Gregro
d99247cf13
Clarify static extension method class name
2026-03-21 20:05:08 +00:00
Gregro
a9eb801fea
C#: Fix false positives in cs/log-forging for extension methods
2026-03-21 20:05:08 +00:00
Tom Hvitved
9a4bc69843
Merge pull request #21510 from hvitved/ci/remove-ruby-checks
...
CI: Remove Ruby checks
2026-03-21 08:04:17 +01:00
Jeongsoo Lee
d4fef1c68e
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-20 10:01:05 -07:00
Jeongsoo Lee
d2fcced5ad
Add a feature change note
2026-03-20 09:59:12 -07:00
Owen Mansel-Chan
093c27955f
Fix incorrect QLDoc
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 15:24:15 +00:00
Tom Hvitved
f99f26f908
Merge pull request #21464 from hvitved/rust/type-inference-trait-bound-impl-overlap
...
Rust: Disambiguate types inferred from trait bounds
2026-03-20 15:14:24 +01:00
Taus
434b3973eb
Python: Add change note
2026-03-20 13:30:29 +00:00
Taus
3584ad1905
Python: Port DeprecatedSliceMethod.ql
...
Only trivial test changes.
2026-03-20 13:30:29 +00:00
Taus
50b3b7ee1f
Python: Add DuckTyping::hasUnreliableMro
...
Primarily used to filter out false positives in cases where our MRO
approximation may be wrong.
2026-03-20 13:30:29 +00:00
Taus
fa8e4f7314
Python: Port DocStrings.ql
2026-03-20 13:28:45 +00:00
Taus
c04b615a07
Python: Extend DuckTyping module
...
Adds `overridesMethod` and `isPropertyAccessor`.
2026-03-20 13:28:45 +00:00
Taus
283231bdbc
Python: Port ShouldBeContextManager.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
025a7d0cca
Python: Port UselessClass.ql
...
No test changes.
2026-03-20 13:28:45 +00:00
Taus
8cfdea2001
Python: Port PropertyInOldStyleClass.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
e860d706c9
Python: Port SuperInOldStyleClass.ql
2026-03-20 13:28:45 +00:00
Taus
3d20050c0a
Python: Port SlotsInOldStyleClass.ql
...
Only trivial test changes.
2026-03-20 13:28:45 +00:00
Taus
b57e92164c
Python: Add declares/getAttribute API
...
These could arguably be moved to `Class` itself, but for now I'm
choosing to limit the changes to the `DuckTyping` module (until we
decide on a proper API).
2026-03-20 13:28:45 +00:00
Taus
cd92162920
Python: Add DuckTyping::isNewStyle
...
Approximates the behaviour of `Types::isNewStyle` but without depending
on points-to
2026-03-20 13:28:45 +00:00
Taus
33ed6034f6
Python: Introduce DuckTyping module
...
This module (which for convenience currently resides inside
`DataFlowDispatch`, but this may change later) contains convenience
predicates for bridging the gap between the data-flow layer and the old
points-to analysis.
2026-03-20 13:28:44 +00:00
Taus
1dcc76996d
Python: Port py/print-during-import
...
Uses a (perhaps) slightly coarser approximation of what modules are
imported, but it's probably fine.
2026-03-20 13:28:44 +00:00
Taus
f4841e1f39
Python: Use API graphs instead of points-to for simple built-ins
...
Also extends the list of known built-ins slightly, to add some that were
missing.
2026-03-20 13:28:44 +00:00
Simon Friis Vindum
f6c81ff30a
Merge pull request #21512 from paldepind/cpp/extraction-information
...
C++: Add `cpp/extraction-information` query
2026-03-20 14:12:59 +01:00
Tom Hvitved
4b364639a2
Ruby: Fix join orders following DB stats removal
2026-03-20 13:13:38 +01:00
Owen Mansel-Chan
bde9378cee
Update MaD barrier guard test output
2026-03-20 11:10:08 +00:00
Owen Mansel-Chan
769b3a6aae
Instantiate flow barrier guards from MaD
2026-03-20 11:08:53 +00:00
Owen Mansel-Chan
7d65baccb2
Add FlowBarrierGuard to FlowBarrier.qll
2026-03-20 11:08:33 +00:00
Owen Mansel-Chan
77cb35380c
Add MaD barrier guard model to make test pass
2026-03-20 11:06:41 +00:00
Owen Mansel-Chan
c5457d3e30
Add (failing) test for MaD barrier guard
2026-03-20 11:06:39 +00:00
Owen Mansel-Chan
2f0d3288ce
Misc: fix typos in QLDocs
2026-03-20 11:06:38 +00:00
Owen Mansel-Chan
93c656065d
Add test for MaD barriers
2026-03-20 11:06:36 +00:00
Owen Mansel-Chan
e86ce8feed
Instantiate flow barriers from MaD
2026-03-20 11:06:35 +00:00
Owen Mansel-Chan
d3177b9e82
Add FlowBarrier.qll
2026-03-20 11:06:33 +00:00
Owen Mansel-Chan
f4550544ce
Shared: Add barrierElement in FlowSummaryImpl.qll
2026-03-20 11:06:32 +00:00
Owen Mansel-Chan
f9521e9e88
Update interpretModelForTest
2026-03-20 11:06:30 +00:00
Owen Mansel-Chan
f342bae962
Update empty.model.yml
2026-03-20 11:06:29 +00:00
Owen Mansel-Chan
bceab0b44e
Add extensible predicates
2026-03-20 11:06:26 +00:00
Jeroen Ketema
02f8984aff
Merge pull request #21522 from jketema/swift-linux-test
...
Swift: Fix typo
2026-03-20 12:04:27 +01:00
Jeroen Ketema
b63e34d467
Swift: Fix typo
2026-03-20 11:34:19 +01:00
Óscar San José
ec726f5941
Merge pull request #21486 from github/post-release-prep/codeql-cli-2.25.0
...
Post-release preparation for codeql-cli-2.25.0
2026-03-20 11:23:20 +01:00
Geoffrey White
208ae7aa01
Merge pull request #21514 from geoffw0/suspicioussizeof
...
C++: Fix an issue with cpp/suspicious-add-sizeof in BMN databases
2026-03-20 09:41:39 +00:00
Geoffrey White
be746b775b
Merge pull request #21493 from MarkLee131/fix/format-string-fp-in-printf-impl
...
C++: exclude printf implementation internals from uncontrolled format string sinks
2026-03-20 09:21:48 +00:00
Simon Friis Vindum
bc518c08c7
C++: Fix grammar in comment
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-20 09:19:59 +01:00
Paolo Tranquilli
06ea72ccc7
Merge pull request #21517 from github/dependabot/bazel/bazel_skylib-1.9.0
...
Bump bazel_skylib from 1.8.1 to 1.9.0
2026-03-20 09:18:44 +01:00
Paolo Tranquilli
57086f60b9
Merge pull request #21518 from github/dependabot/bazel/rules_java-9.6.1
...
Bump rules_java from 9.0.3 to 9.6.1
2026-03-20 09:18:16 +01:00
Kaixuan Li
6452cc549f
Merge branch 'github:main' into fix/format-string-fp-in-printf-impl
2026-03-20 10:15:56 +08:00
Kaixuan Li
f59bacab30
Merge pull request #1 from geoffw0/changenote
...
C++: Change note.
2026-03-20 10:14:24 +08:00
Jeongsoo Lee
356905ba36
Merge branch 'jeongsoolee09/add-getIndirectionIndex' of github.com:github/codeql into jeongsoolee09/add-getIndirectionIndex
2026-03-19 15:51:37 -07:00
Jeongsoo Lee
dc291ffad7
Address code review
2026-03-19 15:51:00 -07:00
Jeongsoo Lee
d191d09c55
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-03-19 15:48:47 -07:00
Geoffrey White
9c6276ef48
C++: Change note.
2026-03-19 16:24:35 +00:00
Tom Hvitved
21f2c81f24
Merge pull request #21509 from hvitved/ci/remove-compile-queries
...
CI: Remove `compile-queries.yml`
2026-03-19 17:21:09 +01:00
Óscar San José
d30aab47ea
Merge branch 'main' into post-release-prep/codeql-cli-2.25.0
2026-03-19 16:57:20 +01:00
dependabot[bot]
fef758998c
Bump rules_java from 9.0.3 to 9.6.1
...
Bumps [rules_java](https://github.com/bazelbuild/rules_java ) from 9.0.3 to 9.6.1.
- [Release notes](https://github.com/bazelbuild/rules_java/releases )
- [Commits](https://github.com/bazelbuild/rules_java/compare/9.0.3...9.6.1 )
---
updated-dependencies:
- dependency-name: rules_java
dependency-version: 9.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 15:48:18 +00:00
dependabot[bot]
b9592fef2d
Bump bazel_skylib from 1.8.1 to 1.9.0
...
Bumps [bazel_skylib](https://github.com/bazelbuild/bazel-skylib ) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/bazelbuild/bazel-skylib/releases )
- [Changelog](https://github.com/bazelbuild/bazel-skylib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazelbuild/bazel-skylib/compare/1.8.1...1.9.0 )
---
updated-dependencies:
- dependency-name: bazel_skylib
dependency-version: 1.9.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 15:48:11 +00:00
Paolo Tranquilli
7a33e2f539
Merge pull request #21508 from github/dependabot/bazel/rules_pkg-1.2.0
...
Bump rules_pkg from 1.0.1 to 1.2.0
2026-03-19 16:27:45 +01:00
Paolo Tranquilli
34101b5ca0
Merge pull request #21448 from github/redsun82/update-rules-rust
...
Update `rules_rust` 0.68.1.codeql.1 → 0.69.0, drop local patch
2026-03-19 16:16:34 +01:00
Geoffrey White
07db9cf3c4
Merge pull request #21421 from geoffw0/wrongtypeformat
...
C++: Add some test cases for cpp/wrong-type-format-argument
2026-03-19 14:25:33 +00:00
Geoffrey White
92c9a8e146
Update cpp/ql/test/query-tests/Security/CWE/CWE-468/semmle/SuspiciousAddWithSizeof/buildless.cpp
2026-03-19 13:51:03 +00:00
Geoffrey White
21cb11ea5d
C++: Change note.
2026-03-19 13:29:41 +00:00
Simon Friis Vindum
4c525ce7ab
C++: Add cpp/extraction-information query
2026-03-19 14:29:31 +01:00
Geoffrey White
0f794b57ed
C++: Fix the issue.
2026-03-19 13:16:16 +00:00
Geoffrey White
2e987f8d78
C++: Add test cases emulating cpp/suspicious-add-sizeof in buildless mode.
2026-03-19 13:00:58 +00:00
Óscar San José
2139b97628
Merge branch 'main' into post-release-prep/codeql-cli-2.25.0
2026-03-19 13:07:00 +01:00
Tom Hvitved
7fc1d53ede
Rust: Disambiguate types inferred from trait bounds
2026-03-19 12:57:22 +01:00
Paolo Tranquilli
50d83ada95
Merge branch 'main' into redsun82/update-rules-rust
2026-03-19 12:50:00 +01:00
dependabot[bot]
10678d3a42
Bump rules_pkg from 1.0.1 to 1.2.0
...
Bumps [rules_pkg](https://github.com/bazelbuild/rules_pkg ) from 1.0.1 to 1.2.0.
- [Release notes](https://github.com/bazelbuild/rules_pkg/releases )
- [Changelog](https://github.com/bazelbuild/rules_pkg/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazelbuild/rules_pkg/compare/1.0.1...1.2.0 )
---
updated-dependencies:
- dependency-name: rules_pkg
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 11:31:03 +00:00
Paolo Tranquilli
7d538988a6
Merge pull request #21507 from github/dependabot/bazel/rules_go-0.60.0
...
Bump rules_go from 0.59.0 to 0.60.0
2026-03-19 12:29:17 +01:00
dependabot[bot]
7f17b7716d
Bump rules_go from 0.59.0 to 0.60.0
...
Bumps [rules_go](https://github.com/bazel-contrib/rules_go ) from 0.59.0 to 0.60.0.
- [Release notes](https://github.com/bazel-contrib/rules_go/releases )
- [Commits](https://github.com/bazel-contrib/rules_go/compare/v0.59.0...v0.60.0 )
---
updated-dependencies:
- dependency-name: rules_go
dependency-version: 0.60.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 10:43:19 +00:00
Paolo Tranquilli
b57fa1bffa
Merge pull request #21505 from github/dependabot/bazel/rules_cc-0.2.17
...
Bump rules_cc from 0.2.16 to 0.2.17
2026-03-19 11:41:28 +01:00
dependabot[bot]
662b1e7df6
Bump rules_cc from 0.2.16 to 0.2.17
...
Bumps [rules_cc](https://github.com/bazelbuild/rules_cc ) from 0.2.16 to 0.2.17.
- [Release notes](https://github.com/bazelbuild/rules_cc/releases )
- [Commits](https://github.com/bazelbuild/rules_cc/compare/0.2.16...0.2.17 )
---
updated-dependencies:
- dependency-name: rules_cc
dependency-version: 0.2.17
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-19 10:02:30 +00:00
Tom Hvitved
750f1ae8e9
Ruby: Use empty DB stats
2026-03-19 10:18:42 +01:00
Tom Hvitved
e0b06c8e72
CI: Remove Ruby checks
...
Have been superseded by an internal checks.
2026-03-19 10:15:36 +01:00
Tom Hvitved
8d6aceb008
CI: Remove compile-queries.yml
...
Has been superseded by an internal check.
2026-03-19 10:10:38 +01:00
Tom Hvitved
3fad6bdc0c
Merge pull request #21495 from hvitved/rust/fix-bad-joins
...
Rust: Fix two bad joins
2026-03-19 09:53:22 +01:00
Paolo Tranquilli
518d170acd
Merge pull request #21499 from github/redsun82/dependabot-exclude-bazel-registry
...
Dependabot: ignore modules in our bazel registry
2026-03-19 09:25:28 +01:00
Paolo Tranquilli
b9ad36c11d
Depdendabot: ignore modules in the our bazel registry
...
These come from the upstream registry and should just be left alone.
2026-03-19 09:15:25 +01:00
Paolo Tranquilli
4ca071210b
Merge branch 'main' into redsun82/update-rules-rust
2026-03-19 08:36:31 +01:00
Kaixuan Li
1ddf81c58c
Merge branch 'main' into fix/format-string-fp-in-printf-impl
2026-03-19 14:36:50 +08:00
Kaixuan Li
c155394f25
the [] syntax directly
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-03-19 14:36:28 +08:00
Kaixuan Li
2c76e6e637
use American spellings in documentation
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-19 14:35:45 +08:00
Tom Hvitved
2ff5c2c234
Rust: Fix two bad joins
...
Before
```
Evaluated relational algebra for predicate TypeInference::DeconstructionPatMatchingInput::Access.getNodeAt/1#dispred#cc149bc2@88f6f09n with tuple counts:
142521 ~1% {3} r1 = JOIN num#FunctionType::TReturnFunctionPosition#a15fd6be WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.0
131938 ~0% {3} r2 = JOIN `TupleStructPat::Generated::TupleStructPat.getField/1#dispred#ac9c1af6` WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
131938 ~6% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
3071346 ~0% {2} r3 = SCAN `Name::Generated::Name.getText/0#dispred#107a5a39` OUTPUT In.1, In.0
103064442 ~2% {3} | JOIN WITH `StructPat::StructPat.getPatField/1#5e21ea0e_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
103064442 ~3% {3} | JOIN WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
103064438 ~1% {3} | JOIN WITH `StructPatField::Generated::StructPatField.getPat/0#dispred#1aadfeff` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
20514858 ~2% {3} | JOIN WITH `StructField::Generated::StructField.getName/0#dispred#e0248569_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
59554 ~1% {3} | JOIN WITH `StructPat::StructPat.getNthStructField/1#dispred#de537654_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
59542 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
334001 ~0% {3} r4 = r1 UNION r2 UNION r3
return r4
Evaluated relational algebra for predicate TypeInference::ConstructionMatchingInput::Access.getNodeAt/1#dispred#acd835e6@bfb1f1e1 with tuple counts:
1395153 ~3% {3} r1 = JOIN TypeInference::ConstructionMatchingInput::PathExprAccess#b7a80c43 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
34290 ~3% {3} r2 = JOIN StructExpr::Generated::StructExpr#d0a89c56 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
3071346 ~0% {2} r3 = SCAN `Name::Generated::Name.getText/0#dispred#107a5a39` OUTPUT In.1, In.0
145365745 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getFieldExpr/1#cd55566d_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
145365745 ~1% {3} | JOIN WITH StructExpr::Generated::StructExpr#d0a89c56 ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
33371514 ~0% {3} | JOIN WITH `StructField::Generated::StructField.getName/0#dispred#e0248569_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
108831 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getNthStructField/1#dispred#89ad7e20_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
108751 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
108751 ~4% {3} | JOIN WITH `StructExprField::Generated::StructExprField.getExpr/0#dispred#956e6ba1` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
1748398 ~4% {3} r4 = `TypeInference::ConstructionMatchingInput::NonAssocCallAccess.getNodeAt/1#dispred#ef232b1f` UNION r1 UNION r2 UNION r3
return r4
```
After
```
Evaluated relational algebra for predicate TypeInference::DeconstructionPatMatchingInput::Access.getNodeAt/1#dispred#cc149bc2@2ea6ebjs with tuple counts:
142521 ~1% {3} r1 = JOIN num#FunctionType::TReturnFunctionPosition#a15fd6be WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.0
131938 ~0% {3} r2 = JOIN `TupleStructPat::Generated::TupleStructPat.getField/1#dispred#ac9c1af6` WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
131938 ~6% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
166829 ~3% {3} r3 = JOIN `_Name::Generated::Name.getText/0#dispred#107a5a39_StructField::Generated::StructField.getName/0#disp__#shared` WITH `StructPat::StructPat.getNthStructField/1#dispred#de537654_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
166817 ~2% {3} | JOIN WITH TypeInference::DeconstructionPatMatchingInput::Access#a2676dcb ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
166817 ~0% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
59542 ~0% {3} | JOIN WITH `StructPat::StructPat.getPatField/1#5e21ea0e` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
59542 ~0% {3} | JOIN WITH `StructPatField::Generated::StructPatField.getPat/0#dispred#1aadfeff` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
334001 ~0% {3} r4 = r1 UNION r2 UNION r3
return r4
Evaluated relational algebra for predicate TypeInference::ConstructionMatchingInput::Access.getNodeAt/1#dispred#acd835e6@c7f267fp with tuple counts:
1395153 ~3% {3} r1 = JOIN TypeInference::ConstructionMatchingInput::PathExprAccess#b7a80c43 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
34290 ~3% {3} r2 = JOIN StructExpr::Generated::StructExpr#d0a89c56 WITH num#FunctionType::TReturnFunctionPosition#a15fd6be CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0, Lhs.0
159331 ~0% {3} r3 = JOIN `_Name::Generated::Name.getText/0#dispred#107a5a39_StructField::Generated::StructField.getName/0#disp__#shared` WITH `StructExpr::StructExpr.getNthStructField/1#dispred#89ad7e20_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
159231 ~3% {3} | JOIN WITH StructExpr::Generated::StructExpr#d0a89c56 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
159231 ~3% {3} | JOIN WITH `FunctionType::FunctionPosition.asPosition/0#dispred#efcc0611_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
108731 ~0% {3} | JOIN WITH `StructExpr::StructExpr.getFieldExpr/1#cd55566d` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
108731 ~4% {3} | JOIN WITH `StructExprField::Generated::StructExprField.getExpr/0#dispred#956e6ba1` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
1748378 ~4% {3} r4 = `TypeInference::ConstructionMatchingInput::NonAssocCallAccess.getNodeAt/1#dispred#ef232b1f` UNION r1 UNION r2 UNION r3
return r4
```
2026-03-18 20:42:57 +01:00
Tom Hvitved
98d8cd1d6d
Rust: Make getATypeParameterConstraint return a TypeMention again
2026-03-18 19:52:45 +01:00
Tom Hvitved
e8e46accc0
Rust: Refine AssociatedTypeTypeParameter.toString
2026-03-18 19:52:43 +01:00
Tom Hvitved
06f0c1189f
Shared: Generalize SatisfiesConstraint module
2026-03-18 19:52:41 +01:00
Tom Hvitved
082dc61620
Rust: Add type inference test
2026-03-18 19:52:39 +01:00
Tom Hvitved
2e7da72277
Merge pull request #21488 from paldepind/rust/tuple-constructor-self
...
Rust: Unify handling of struct and tuple constructors
2026-03-18 19:52:06 +01:00
Owen Mansel-Chan
5b17d8cf76
Merge pull request #21472 from owen-mc/adjust-severity/xss-log-injection
...
Adjust `@security-severity` metadata for XSS and log injection queries
2026-03-18 16:51:14 +00:00
Simon Friis Vindum
f2a0724620
Rust: Use getReturnType
2026-03-18 15:06:34 +01:00
Simon Friis Vindum
b8222167d2
Rust: Ensure that TPositionalArgumentPosition is large enough for struct expressions
2026-03-18 15:06:32 +01:00
Simon Friis Vindum
6efd844180
Rust: Rename into "construction" and "deconstruction"
2026-03-18 15:06:23 +01:00
Geoffrey White
34f405f465
C++: Update test annotations.
2026-03-18 13:13:22 +00:00
Anders Schack-Mulligen
d4a0846c6c
Merge pull request #21490 from aschackmull/csharp/enclosing-obinit
...
C#: Add ObjectInitMethod as enclosing callable for the instance initializers.
2026-03-18 10:03:18 +01:00
Simon Friis Vindum
d180900ab4
Rust: Minor improvements to documentation comments
...
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-17 19:01:22 +01:00
Simon Friis Vindum
97670b3674
Rust: Unify handling of struct and tuple constructors
2026-03-17 16:41:18 +01:00
MarkLee131
ff48ac5434
C++: exclude printf implementation internals from format string sinks
2026-03-17 22:45:38 +08:00
Anders Schack-Mulligen
af63e63686
C#: Accept test changes.
2026-03-17 14:12:18 +01:00
Anders Schack-Mulligen
19faf8f30b
C#: Add ObjectInitMethod as enclosing callable for the instance initializers.
2026-03-17 13:38:41 +01:00
Owen Mansel-Chan
3aaee9d981
Change @security-severity for rust/log-injection from 2.6 to 6.1
2026-03-17 12:01:05 +00:00
Tom Hvitved
8e19b05a25
Merge pull request #21355 from hvitved/rust/type-inference-unify
...
Rust: Unify call resolution logic
2026-03-17 10:38:05 +01:00
Tom Hvitved
1ac9e5a2a4
Rust: Elaborate QL doc on FunctionPosition class
2026-03-17 09:51:15 +01:00
Jeongsoo Lee
3f9ad14473
Factor out common code into an abstract private class
2026-03-16 14:11:34 -07:00
Geoffrey White
9cb1c89a02
C++: Change note.
2026-03-16 19:11:27 +00:00
Geoffrey White
a57f803b37
C++: Address false positive results.
2026-03-16 19:03:10 +00:00
Geoffrey White
1130870168
Merge remote-tracking branch 'upstream/main' into wrongtypeformat
2026-03-16 19:03:02 +00:00
Geoffrey White
8ddfee9971
Merge pull request #21457 from geoffw0/intmultlong
...
C++: Fix BMN issue with cpp/integer-multiplication-cast-to-long.
2026-03-16 19:02:16 +00:00
Geoffrey White
8df4dfb585
C++: Autoformat.
2026-03-16 16:40:27 +00:00
Geoffrey White
2f7526d70b
C++: Clarify doc comment and make build-mode: nonereferences more consistent.
2026-03-16 16:38:59 +00:00
Geoffrey White
eeb09ae389
C++: Fix typo.
2026-03-16 16:12:30 +00:00
Geoffrey White
3c4a386f3f
C++: Clarify two cases in the test.
2026-03-16 16:08:35 +00:00
github-actions[bot]
e3dbf5b022
Post-release preparation for codeql-cli-2.25.0
2026-03-16 16:03:22 +00:00
Óscar San José
72534e882b
Merge pull request #21483 from github/release-prep/2.25.0
...
Release preparation for version 2.25.0
2026-03-16 15:45:36 +01:00
Taus
a99b3f2c3b
Merge pull request #21459 from github/tausbn/python-fix-missing-relative-imports
...
Python: Fix resolution of relative imports from namespace packages
2026-03-16 14:59:44 +01:00
Taus
92718a98d0
Python: Add test for package inside namespace package
2026-03-16 12:41:09 +00:00
Taus
e70727524a
Python: Rename prints tag to flow
...
The former was a remnant of copying the setup over from
`ql/test/experimental/import-resolution/importflow.ql`.
2026-03-16 12:37:00 +00:00
github-actions[bot]
d6055754b6
Release preparation for version 2.25.0
2026-03-16 12:15:34 +00:00
Anders Schack-Mulligen
c24b43d01e
Merge pull request #21482 from aschackmull/csharp/rangeanalysis-no-split
...
C#: Remove splitting-awareness from Range Analysis.
2026-03-16 10:54:49 +01:00
Jeroen Ketema
179a4cd41a
Merge pull request #21474 from jketema/jketema/swift-linux-2
...
Swift: Ignore some DB-CHECK results on Linux
2026-03-16 10:50:05 +01:00
Anders Schack-Mulligen
a929c0bf24
C#: Remove splitting-awareness from Range Analysis.
2026-03-16 09:58:14 +01:00
Anders Schack-Mulligen
427ccee3b9
Merge pull request #21473 from aschackmull/csharp/dataflow-no-split
...
C#: Remove splitting-awareness from data flow.
2026-03-16 09:33:31 +01:00
Asger F
22f16dda85
Merge pull request #21368 from asgerf/browser-sources
...
JS: Add 'browser' source kinds
2026-03-16 09:24:54 +01:00
Anders Schack-Mulligen
db0a3e38e2
C#: Accept a few irrelevant taint steps.
2026-03-16 09:09:54 +01:00
Anders Schack-Mulligen
e7edf15031
C#: Clean up.
2026-03-16 08:51:51 +01:00
Anders Schack-Mulligen
4c77e0f315
C#: Remove splitting-awareness for local expression steps.
2026-03-16 08:51:51 +01:00
Anders Schack-Mulligen
7124cd4e6e
C#: Remove splitting-awareness for source-to-def steps.
2026-03-16 08:51:50 +01:00
Anders Schack-Mulligen
c076992b83
C#: Remove splitting-awareness in ObjectInitializerNode.
2026-03-16 08:51:49 +01:00
Anders Schack-Mulligen
659d8e7c90
C#: Remove splitting-awareness in argumentOf.
2026-03-16 08:51:49 +01:00
Anders Schack-Mulligen
1e8de0511b
C#: Remove splitting-awareness in lambda flow.
2026-03-16 08:51:48 +01:00
Anders Schack-Mulligen
bce0a4d2a7
C#: Remove splitting-awareness for store steps.
2026-03-16 08:51:48 +01:00
Anders Schack-Mulligen
2160910d56
C#: Remove splitting-awareness for read steps.
2026-03-16 08:51:47 +01:00
Anders Schack-Mulligen
a5c8a5b5f8
C#: Remove splitting-awareness for taint steps.
2026-03-16 08:51:47 +01:00
Jeongsoo Lee
f8a3ce7bf8
Merge branch 'main' into jeongsoolee09/add-getIndirectionIndex
2026-03-14 16:17:36 -07:00
Jeroen Ketema
f9f1d9eecc
Swift: Ignore some DB-CHECK results on Linux
2026-03-13 20:06:57 +01:00
Jeongsoo Lee
d3066af2e2
Create IndirectUninitializedNode and add a bridge from it to LocalVariable
...
This way the changes do not alter the meaning of `UninitializedNode`.
In the meantime, the code still provides a specialized `Node` type
`IndirectUninitializedNode` to access the nodes behind levels of
indirection.
2026-03-13 11:39:57 -07:00
Jeongsoo Lee
8c03136c25
Revert "Expose the indirection index"
...
This reverts commit 6c792e69b3 .
2026-03-13 10:11:40 -07:00
Owen Mansel-Chan
d52e9bc18c
Merge pull request #21370 from github/owen-mc/go/overlay-annotations
...
Go: Add overlay annotations from script
2026-03-13 16:46:01 +00:00
Owen Mansel-Chan
b8b841cfba
Add overlay[loca] in 4 more tests
2026-03-13 16:19:00 +00:00
Owen Mansel-Chan
df9f8ee386
Merge branch 'main' into owen-mc/go/overlay-annotations
2026-03-13 15:55:17 +00:00
Owen Mansel-Chan
99f4930e24
Explicitly mark DataFlowNodes.qll as overlay[local]
2026-03-13 15:23:39 +00:00
Owen Mansel-Chan
e9df9147ad
Add overlay annotations in 4 PrintAst tests
2026-03-13 15:03:05 +00:00
Owen Mansel-Chan
f32f85399a
Mark various files as overlay[local]
2026-03-13 15:03:02 +00:00
Jonas Jensen
c56feb7644
Go: annotate the standard library with for overlay
...
This commit is auto-generated with:
python3 config/add-overlay-annotations.py go
2026-03-13 15:03:01 +00:00
Jonas Jensen
7ef60a8649
Update the overlay annotation script for go
...
The Go libraries follow their own naming convention for "query
libraries". These need to be exempted from automatic `overlay[local?]`
annotations since otherwise it appears that too many predicates are
evaluated, possibly because of inadequate use of sentinels.
2026-03-13 15:02:58 +00:00
Tom Hvitved
ca2838b361
Address review comments
2026-03-13 15:38:07 +01:00
Tom Hvitved
7a6ab70091
Rust: Add test for free function with context-based typing
2026-03-13 15:36:06 +01:00
Asger F
7d6e08ecf1
Merge pull request #21461 from github/asger/js-shebang-bun-tsx
...
JS: Recognise bun and tsx in shebang lines
2026-03-13 15:07:12 +01:00
Asger F
dfa6d20072
JS: Replace broken link with plain text
2026-03-13 15:05:07 +01:00
Asger F
821cc0e875
JS: Address PR review comments
...
- Fix misplaced semicolons in test files (was inside comment, moved before it)
- Update QLdoc comments to reference new browser source kind names
- Update docs to list browser source kinds and fix outdated 'only remote' note
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-13 14:58:04 +01:00
Tom Hvitved
7094fb07a4
Rust: Replace FunctionPosition with FunctionPositionAdj
2026-03-13 14:37:40 +01:00
Owen Mansel-Chan
52809133f5
Add change notes
2026-03-13 11:10:43 +00:00
Owen Mansel-Chan
056aa342fe
Change @security-severity for log injection queries from 7.8 to 6.1
2026-03-13 10:02:01 +00:00
Owen Mansel-Chan
f58a6e5d3a
Change @security-severity for XSS queries from 6.1 to 7.8
2026-03-13 10:01:02 +00:00
Anders Schack-Mulligen
f11815c633
Merge pull request #21471 from aschackmull/csharp/rm-prebasicblock
...
C#: Delete PreBasicBlocks.
2026-03-13 08:54:06 +01:00
Owen Mansel-Chan
52cfd49087
Merge pull request #21469 from github/dependabot/go_modules/go/extractor/extractor-dependencies-7af763c229
...
Bump the extractor-dependencies group across 1 directory with 2 updates
2026-03-13 07:06:44 +00:00
Anders Schack-Mulligen
8c1c039edf
C#: Delete PreBasicBlocks.
2026-03-13 08:00:08 +01:00
dependabot[bot]
c9e0927992
Bump the extractor-dependencies group across 1 directory with 2 updates
...
Bumps the extractor-dependencies group with 2 updates in the /go/extractor directory: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/mod/compare/v0.33.0...v0.34.0 )
Updates `golang.org/x/tools` from 0.42.0 to 0.43.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.42.0...v0.43.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.43.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 03:04:44 +00:00
Jeroen Ketema
d5f667e585
Merge pull request #21467 from jketema/jketema/swift-linux
...
Swift: Disable stack protector pass
2026-03-12 22:42:51 +01:00
Jeroen Ketema
b758732a28
Merge pull request #21468 from jketema/jketema/swift-lines
...
Swift: Limit successfully extracted lines
2026-03-12 17:24:28 +01:00
Jeroen Ketema
ba3fadbf20
Swift: Rename function
2026-03-12 16:37:13 +01:00
Owen Mansel-Chan
d7d1554461
Merge pull request #21465 from owen-mc/go/small-tweaks
...
Go: improve detection of type expressions when database is missing some type information
2026-03-12 14:58:16 +00:00
Jeroen Ketema
12e0f3f359
Swift: Limit successfully extracted lines
2026-03-12 15:46:23 +01:00
Owen Mansel-Chan
0bb6ff58cc
Merge pull request #21466 from owen-mc/go/add-nil-helper-predicate
...
Go: Add and use `exprRefersToNil` predicate
2026-03-12 14:36:03 +00:00
Jeroen Ketema
b9c0aca11a
Swift: Fix formatting
2026-03-12 15:00:18 +01:00
Jeroen Ketema
ee3674cb80
Swift: Disable stack protector pass
2026-03-12 14:43:05 +01:00
Taus
3ee369b710
Python: Add change note
2026-03-12 13:29:24 +00:00
Taus
e16bb226c0
Python: Fix resolution of relative imports from namespace packages
...
The fix may look a bit obscure, so here's what's going on.
When we see `from . import helper`, we create an `ImportExpr` with level
equal to 1 (corresponding to the number of dots). To resolve such
imports, we compute the name of the enclosing package, as part of
`ImportExpr.qualifiedTopName()`. For this form of import expression, it
is equivalent to `this.getEnclosingModule().getPackageName()`. But
`qualifiedTopName` requires that `valid_module_name` holds for its
result, and this was _not_ the case for namespace packages.
To fix this, we extend `valid_module_name` to include the module names
of _any_ folder, not just regular package (which are the ones where
there's a `__init__.py` in the folder). Note that this doesn't simply
include all folders -- only the ones that result in valid module names
in Python.
2026-03-12 13:29:23 +00:00
Taus
48bf4fd82a
Python: Add test for missing relative import in namespace packages
2026-03-12 13:29:19 +00:00
Owen Mansel-Chan
c271755985
Add and use exprRefersToNil predicate
2026-03-12 13:28:57 +00:00
Owen Mansel-Chan
a16c43881b
Use "database" instead of "snapshot" in QLDocs
2026-03-12 13:28:06 +00:00
Owen Mansel-Chan
39e0382089
Improve QLDoc for isTypeExprTopDown
2026-03-12 13:28:05 +00:00
Owen Mansel-Chan
22e012c6f4
Expand isTypeExprTopDown
...
We should be using all subtypes of `FieldBase`. This allows us to find
more type expressions, and is also simpler to evaluate.
2026-03-12 13:28:03 +00:00
Tom Hvitved
1b6f3a43ef
Rust: Unify type inference logic for associated functions
2026-03-12 10:31:35 +01:00
Asger F
b8c44be599
Add QL test for bun/tsx shebang recognition in TypeScript files
...
Add test files with #!/usr/bin/env bun, #!/usr/bin/env tsx, and
#!/usr/bin/env node shebangs. The query lists extracted .ts files,
verifying that all three shebangs are recognized and the files are
not skipped by the extractor.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-12 10:09:56 +01:00
Asger F
84d1828a9c
JavaScript extractor: recognise bun and tsx in shebang lines
...
Update the shebang regexp (renamed NODE_INVOCATION -> JS_INVOCATION) to
also match 'bun' and 'tsx' so that scripts using these runtimes are
correctly identified as JavaScript files.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-03-12 09:35:36 +01:00
Tom Hvitved
ca7017f3d7
Rust: Add more type inference tests
2026-03-12 09:02:40 +01:00
Mario Campos
f2e7dca65c
Merge pull request #21454 from github/mario-campos-patch-1
...
Correct comment about AES crypto algorithm strength
2026-03-11 22:43:21 -05:00
Mario Campos
b9b3b3a0b5
Empty commit for missed Green Check
2026-03-11 22:37:20 -05:00
Jeongsoo Lee
6c792e69b3
Expose the indirection index
2026-03-11 13:53:24 -07:00
Geoffrey White
4a39055322
C++: Change note.
2026-03-11 17:52:34 +00:00
Geoffrey White
6552c849f0
C++: Fix BMN issue in cpp/integer-multiplication-cast-to-long.
2026-03-11 17:49:36 +00:00
Geoffrey White
00d8a10051
C++: Add Function.hasAmbiguousReturnType.
2026-03-11 17:47:32 +00:00
Geoffrey White
da7da80b2b
C++: Add pseudo-buildless test cases (some missing declarations).
2026-03-11 17:47:25 +00:00
Asger F
5db30c9947
JS: Add change note
2026-03-11 15:40:07 +01:00
Mario Campos
6fb10555ff
Correct comment about AES crypto algorithm strength
2026-03-11 09:27:03 -05:00
Ian Lynagh
bbd02b855b
Merge pull request #21424 from github/idrissrio/cpp/overlay/discard
...
C/C++ overlay: update discard mechanism
2026-03-11 13:45:52 +00:00
Idriss Riouak
48a03e2a04
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-11 14:25:53 +01:00
idrissrio
a92d97744f
C/C++ overlay: address review comment
2026-03-11 14:25:52 +01:00
idrissrio
ef6c1a9968
C/C++ overlay: fix failing header_dependency test
2026-03-11 14:25:50 +01:00
idrissrio
72142b51f7
C/C++ overlay: switch to updated discard strategy
2026-03-11 14:25:49 +01:00
Tom Hvitved
c06d4d2647
Merge pull request #21422 from hvitved/rust/type-mention-refactor
...
Rust: Small refactor in `TypeMention.qll`
2026-03-11 14:01:03 +01:00
Asger F
4a001f960f
JS: Add tests in request forgery queries
2026-03-11 13:53:25 +01:00
Asger F
1253553aec
JS: Add browser source kinds
2026-03-11 13:50:07 +01:00
Ian Lynagh
68dfa5c83b
Merge pull request #21451 from igfoo/igfoo/fix-build
...
Revert "Bump rules_android from 0.6.4 to 0.7.1"
2026-03-11 12:27:20 +00:00
Ian Lynagh
25a20f74f0
Revert "Bump rules_android from 0.6.4 to 0.7.1"
...
This reverts commit c7349740f0 .
It was making the build fail
2026-03-11 11:54:18 +00:00
Taus
5a65282241
Merge pull request #21429 from github/tausbn/fix-bad-join-in-method-call-order
...
Python: Fix bad join in method call order computation
2026-03-10 18:17:35 +01:00
Paolo Tranquilli
2e04d4b888
Merge branch 'main' into redsun82/update-rules-rust
2026-03-10 16:43:50 +01:00
Paolo Tranquilli
79499c240a
Merge pull request #21444 from github/dependabot/bazel/googletest-1.17.0.bcr.2
...
Bump googletest from 1.14.0.bcr.1 to 1.17.0.bcr.2
2026-03-10 16:41:38 +01:00
Paolo Tranquilli
267a46d01b
Merge pull request #21445 from github/dependabot/bazel/rules_shell-0.6.1
...
Bump rules_shell from 0.5.0 to 0.6.1
2026-03-10 16:41:24 +01:00
Ian Lynagh
341059d2d0
Merge pull request #21437 from igfoo/igfoo/onemk
...
C++: Small simplification
2026-03-10 15:36:38 +00:00
Paolo Tranquilli
79841bbc00
Update rules_rust 0.68.1.codeql.1 → 0.69.0, drop local patch
...
The `include_rmeta_in_stdlib.patch` is included upstream in 0.69.0.
Remove the local registry entry and regenerate vendored deps.
2026-03-10 16:20:50 +01:00
Paolo Tranquilli
3c3c58b0a9
Merge pull request #21443 from github/dependabot/bazel/rules_android-0.7.1
...
Bump rules_android from 0.6.4 to 0.7.1
2026-03-10 16:06:40 +01:00
Paolo Tranquilli
9bf1072a01
Merge pull request #21447 from github/revert-21414-redsun82/rerun-slash-command
...
Revert "Add `/rerun` slash command for failed internal checks"
2026-03-10 15:55:45 +01:00
Paolo Tranquilli
a5f23ade8c
Revert "Add /rerun slash command for failed internal checks"
2026-03-10 14:43:59 +01:00
Paolo Tranquilli
017b6f2e44
Merge pull request #21414 from github/redsun82/rerun-slash-command
...
Add `/rerun` slash command for failed internal checks
2026-03-10 14:01:03 +01:00
Anders Schack-Mulligen
6a6bb5ebf9
Merge pull request #21441 from aschackmull/cfg/switch-sharing
...
Cfg: Share more code for switch statements.
2026-03-10 13:50:21 +01:00
Florin Coada
15f7a95209
Merge pull request #21440 from github/codeql-spark-run-22877174736
...
Update changelog documentation site for codeql-cli-2.24.3
2026-03-10 12:21:56 +00:00
dependabot[bot]
b631138b63
Bump rules_shell from 0.5.0 to 0.6.1
...
Bumps [rules_shell](https://github.com/bazelbuild/rules_shell ) from 0.5.0 to 0.6.1.
- [Release notes](https://github.com/bazelbuild/rules_shell/releases )
- [Commits](https://github.com/bazelbuild/rules_shell/compare/v0.5.0...v0.6.1 )
---
updated-dependencies:
- dependency-name: rules_shell
dependency-version: 0.6.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:40 +00:00
dependabot[bot]
093d36ebe6
Bump googletest from 1.14.0.bcr.1 to 1.17.0.bcr.2
...
Bumps [googletest](https://github.com/google/googletest ) from 1.14.0.bcr.1 to 1.17.0.bcr.2.
- [Release notes](https://github.com/google/googletest/releases )
- [Commits](https://github.com/google/googletest/commits )
---
updated-dependencies:
- dependency-name: googletest
dependency-version: 1.17.0.bcr.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:37 +00:00
dependabot[bot]
c7349740f0
Bump rules_android from 0.6.4 to 0.7.1
...
Bumps [rules_android](https://github.com/bazelbuild/rules_android ) from 0.6.4 to 0.7.1.
- [Release notes](https://github.com/bazelbuild/rules_android/releases )
- [Commits](https://github.com/bazelbuild/rules_android/compare/v0.6.4...v0.7.1 )
---
updated-dependencies:
- dependency-name: rules_android
dependency-version: 0.7.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-10 11:21:34 +00:00
Anders Schack-Mulligen
efa797a21d
Update shared/controlflow/codeql/controlflow/ControlFlowGraph.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-10 11:22:15 +01:00
Anders Schack-Mulligen
77d4f5a2dc
Cfg: Update fallsThrough default.
2026-03-10 11:10:24 +01:00
Anders Schack-Mulligen
edf88b34da
Cfg: Move Case.getBodyElement to shared code.
2026-03-10 11:02:58 +01:00
Owen Mansel-Chan
0215ea3ee3
Merge pull request #21426 from owen-mc/cpp/validate-constructor-summary-models
...
C++: Add model validation for constructor summary models
2026-03-10 09:42:24 +00:00
Anders Schack-Mulligen
35ac66d3aa
Cfg: Move getCaseControlFlowOrder to shared code.
2026-03-10 10:39:32 +01:00
Anders Schack-Mulligen
219fe03637
Merge pull request #21430 from aschackmull/csharp/switch-ast-simplify
...
C#: Disentangle SwitchStmt AST and CFG.
2026-03-10 10:23:37 +01:00
Mario Campos
b7a5b08d61
Fix formatting issues in codeql-cli-2.23.1.rst
2026-03-09 17:20:34 -05:00
Mario Campos
87ec22db65
Fix formatting of Kotlin version support note
2026-03-09 17:19:56 -05:00
Mario Campos
f52195e96d
Fix formatting in Kotlin version support note
2026-03-09 17:19:36 -05:00
Mario Campos
430ed055bc
Fix formatting for Kotlin version support note
2026-03-09 17:19:18 -05:00
github-actions[bot]
8e85c4c0ea
update codeql documentation
2026-03-09 22:17:15 +00:00
Mario Campos
017822b872
Merge pull request #21439 from github/revert-21438-codeql-spark-run-22872006382
...
Revert "Update changelog documentation site for codeql-cli-2.24.3"
2026-03-09 17:02:43 -05:00
Mario Campos
eea61ea821
Revert "Update changelog documentation site for codeql-cli-2.24.3"
2026-03-09 16:55:09 -05:00
Jon Janego
b289266398
Merge pull request #21438 from github/codeql-spark-run-22872006382
...
Update changelog documentation site for codeql-cli-2.24.3
2026-03-09 15:44:14 -05:00
Mario Campos
f5545516db
Fix formatting in codeql-cli-2.19.1.rst
2026-03-09 15:34:27 -05:00
Mario Campos
216bc76694
Fix formatting in Kotlin version support note
2026-03-09 15:34:07 -05:00
Mario Campos
5921dacf52
Fix formatting of Kotlin version support note
2026-03-09 15:33:08 -05:00
Mario Campos
ca44c777f0
Fix formatting issues in codeql-cli-2.23.1.rst
2026-03-09 15:32:42 -05:00
github-actions[bot]
5283413055
update codeql documentation
2026-03-09 20:00:48 +00:00
Ian Lynagh
dbb8bb86ba
C++: Small simplification
2026-03-09 17:45:38 +00:00
Paolo Tranquilli
afb2243984
Merge pull request #21433 from github/dependabot/bazel/abseil-cpp-20260107.1
...
Bump abseil-cpp from 20240116.1 to 20260107.1
2026-03-09 17:14:33 +01:00
Paolo Tranquilli
a7e426d89f
Merge pull request #21432 from github/dependabot/bazel/zstd-1.5.7.bcr.1
...
Bump zstd from 1.5.5.bcr.1 to 1.5.7.bcr.1
2026-03-09 17:13:29 +01:00
Paolo Tranquilli
fde51e0c29
Merge pull request #21436 from github/dependabot/bazel/rules_python-1.9.0
...
Bump rules_python from 0.40.0 to 1.9.0
2026-03-09 17:12:58 +01:00
dependabot[bot]
69ed88bccd
Bump rules_python from 0.40.0 to 1.9.0
...
Bumps [rules_python](https://github.com/bazel-contrib/rules_python ) from 0.40.0 to 1.9.0.
- [Release notes](https://github.com/bazel-contrib/rules_python/releases )
- [Changelog](https://github.com/bazel-contrib/rules_python/blob/main/CHANGELOG.md )
- [Commits](https://github.com/bazel-contrib/rules_python/compare/0.40.0...1.9.0 )
---
updated-dependencies:
- dependency-name: rules_python
dependency-version: 1.9.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:26:10 +00:00
dependabot[bot]
97e1c96200
Bump abseil-cpp from 20240116.1 to 20260107.1
...
Bumps [abseil-cpp](https://github.com/abseil/abseil-cpp ) from 20240116.1 to 20260107.1.
- [Release notes](https://github.com/abseil/abseil-cpp/releases )
- [Commits](https://github.com/abseil/abseil-cpp/compare/20240116.1...20260107.1 )
---
updated-dependencies:
- dependency-name: abseil-cpp
dependency-version: '20260107.1'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:25:57 +00:00
dependabot[bot]
46ba1f9160
Bump zstd from 1.5.5.bcr.1 to 1.5.7.bcr.1
...
Bumps [zstd](https://github.com/facebook/zstd ) from 1.5.5.bcr.1 to 1.5.7.bcr.1.
- [Release notes](https://github.com/facebook/zstd/releases )
- [Changelog](https://github.com/facebook/zstd/blob/dev/CHANGELOG )
- [Commits](https://github.com/facebook/zstd/commits )
---
updated-dependencies:
- dependency-name: zstd
dependency-version: 1.5.7.bcr.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-09 15:25:53 +00:00
Taus
5d74ad5bc6
Merge pull request #21419 from github/tausbn/python-improve-overloaded-method-resolution
...
Python: Improve modelling of overloaded methods
2026-03-09 16:25:05 +01:00
Anders Schack-Mulligen
4013f00b19
C#: Disentangle SwitchStmt AST and CFG.
2026-03-09 15:07:59 +01:00
Owen Mansel-Chan
e0e5319b11
C#: Make corresponding predicate private
2026-03-09 13:44:52 +00:00
Owen Mansel-Chan
d8007a85e6
Java: Make corresponding predicate private
2026-03-09 13:44:50 +00:00
Owen Mansel-Chan
512e27187e
Make new predicate private
2026-03-09 13:44:48 +00:00
Taus
f2bad1e6e1
Python: Improve docstring and make predicate private
2026-03-09 13:41:38 +00:00
Taus
c5360ba46c
Python: Fix bad join in method call order computation
...
This join had badness 1127 on the project FiacreT/M-moire, producing ~31
million tuples in order to end up with only ~27k tuples later in the
pipeline. With the fix, we reduce this by roughly the full 31 million
(the new materialised helper predicate accounting for roughly 130k
tuples on its own).
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2026-03-09 13:09:29 +00:00
Geoffrey White
be9c1d074f
Merge pull request #21376 from geoffw0/splitoff2
...
Rust: Update split_off models
2026-03-09 09:22:36 +00:00
Owen Mansel-Chan
097681e705
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-07 10:17:58 +00:00
Owen Mansel-Chan
63e8061917
Add model validation for constructor summary models
2026-03-07 09:57:09 +00:00
Jeroen Ketema
8bbb0ec954
Merge pull request #21418 from github/jketema/swift-6.2.4
...
Swift: Update to Swift 6.2.4
2026-03-06 21:48:09 +01:00
Geoffrey White
d81b9aa5fd
Merge branch 'main' into splitoff2
2026-03-06 17:24:01 +00:00
Geoffrey White
fd7093e74d
Merge pull request #21375 from geoffw0/mapfix
...
Rust: Add neutral models (map, from)
2026-03-06 17:20:14 +00:00
Óscar San José
a6de855549
Merge pull request #21423 from github/oscarsj/merge-back-rc-3.21
...
Merge back rc/3.21 into main
2026-03-06 16:58:04 +01:00
Óscar San José
3b9eba2afc
Merge branch 'main' of https://github.com/github/codeql into oscarsj/merge-back-rc-3.21
2026-03-06 16:20:36 +01:00
Tom Hvitved
4dca9aa958
Rust: Small refactor in TypeMention.qll
2026-03-06 15:33:11 +01:00
Tom Hvitved
84bef5d4bc
Merge pull request #21420 from hvitved/rust/type-inference-qualified-trait-arg-path
...
Rust: More conservative resolution of `<Foo as Bar<...>>` paths
2026-03-06 15:14:01 +01:00
Geoffrey White
da99d3660d
C++: Turns out we can simplify.
2026-03-06 11:53:43 +00:00
Geoffrey White
7f6fd34d46
C++: Expose a type resolution issue.
2026-03-06 11:34:57 +00:00
Geoffrey White
d23a3f821e
C++: Add a test case for WrongTypeFormatArguments involving code that's included twice.
2026-03-06 11:34:16 +00:00
Jeroen Ketema
2340369e2d
Swift: Add change note
2026-03-06 10:43:33 +01:00
Jeroen Ketema
70c1b58492
Swift: Remove overrides
2026-03-06 10:41:37 +01:00
Jeroen Ketema
f3dc0412b5
Swift: update artifacts
2026-03-06 10:40:43 +01:00
Owen Mansel-Chan
a3e9aed00a
Merge pull request #21416 from owen-mc/csharp/validate-constructor-summary-models
...
C#: Add model validation for constructor summary models
2026-03-06 09:09:39 +00:00
Owen Mansel-Chan
e96ba4806b
Merge pull request #21415 from owen-mc/java/validate-constructor-summary-models
...
Java: validate constructor summary models
2026-03-06 09:09:18 +00:00
Anders Schack-Mulligen
76346eccd8
Merge pull request #21417 from aschackmull/csharp/binary-assignment
...
C#: Make Assignment extend BinaryOperation.
2026-03-06 09:14:20 +01:00
Tom Hvitved
feb45e5731
Merge pull request #21348 from hvitved/csharp/remove-tcs
...
C#: Remove some unbounded TC computations
2026-03-06 09:00:38 +01:00
Taus
66ca10c338
Python: Add change note
2026-03-05 22:20:03 +00:00
Taus
fa61f6f3df
Python: Model @typing.overload in method resolution
...
Adds `hasOverloadDecorator` as a predicate on functions. It looks for
decorators called `overload` or `something.overload` (usually
`typing.overload` or `t.overload`). These are then filtered out in the
predicates that (approximate) resolving methods according to the MRO.
As the test introduced in the previous commit shows, this removes the
spurious resolutions we had before.
2026-03-05 22:20:03 +00:00
Taus
0561a63003
Python: Add test for overloaded __init__ resolution
...
Adds a test showing that `@typing.overload` stubs are spuriously
resolved as call targets alongside the actual `__init__` implementation.
2026-03-05 22:20:03 +00:00
Tom Hvitved
ff41917147
Rust: More conservative resolution of <Foo as Bar<...>> paths
2026-03-05 21:42:33 +01:00
Tom Hvitved
838f3b90e7
Rust: Add type inference test
2026-03-05 20:57:32 +01:00
Owen Mansel-Chan
3c36a9e308
Correctly deal with generic types
2026-03-05 15:47:53 +00:00
Jeroen Ketema
eb81743fb5
Swift: Update to Swift 6.2.4
2026-03-05 16:13:29 +01:00
Anders Schack-Mulligen
d9ef9f82e1
C#: Make Assignment extend BinaryOperation.
2026-03-05 14:41:38 +01:00
Owen Mansel-Chan
92a719092a
Update models in test output
2026-03-05 13:32:52 +00:00
Anders Schack-Mulligen
ffa5110522
C#: Update dbscheme to make assignments part of binary expressions.
2026-03-05 13:59:14 +01:00
Asger F
c9fa7fa283
Merge pull request #21369 from asgerf/js/this-bindings
...
JS: Emit variables for 'this'
2026-03-05 13:36:38 +01:00
Anders Schack-Mulligen
8ef4be49aa
Merge pull request #21412 from aschackmull/java/binary-assignment
...
Java: Make Assignment extend BinaryExpr.
2026-03-05 13:19:45 +01:00
Owen Mansel-Chan
e6996ea29a
Add model validation for constructor summary models
2026-03-05 12:11:25 +00:00
Owen Mansel-Chan
579c871b69
Fix incorrect constructor summary models
2026-03-05 12:03:21 +00:00
Owen Mansel-Chan
63c71b418c
Add model validation for constructor summary models
2026-03-05 12:02:37 +00:00
Anders Schack-Mulligen
3e7a966c0d
Merge pull request #21408 from aschackmull/guards/perf-tweak
...
Guards: Improve performance of forall in guardDeterminesPhiInput.
2026-03-05 12:42:06 +01:00
Owen Mansel-Chan
926725a87f
Merge pull request #21405 from owen-mc/java/consistent-inline-expectation-tests
...
Inline expectation tests should always have space before and after `$`
2026-03-05 11:27:37 +00:00
Paolo Tranquilli
9bf4262dbb
Add /rerun slash command for failed internal checks
2026-03-05 11:38:27 +01:00
Owen Mansel-Chan
c82f75604a
Add change notes
2026-03-05 10:34:30 +00:00
Anders Schack-Mulligen
ea77c0d86c
Java: Add change note.
2026-03-05 11:32:00 +01:00
Anders Schack-Mulligen
ec1d034ee0
Java: Make Assignment extend BinaryExpr.
2026-03-05 11:31:59 +01:00
Anders Schack-Mulligen
37a8fc85eb
Guards: Use unique aggregate.
2026-03-05 11:20:24 +01:00
Tom Hvitved
b5bf1c578c
Merge pull request #21404 from hvitved/dataflow/no-enclosing-stack-flow-feature
...
Data flow: Add `FeatureEscapesSourceCallContext(OrEqualSourceSinkCallContext)` flow feature
2026-03-05 09:36:48 +01:00
Tom Hvitved
f3898329d6
Merge pull request #21413 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-03-05 09:28:47 +01:00
Tom Hvitved
acd6f4156b
C#: Avoid computing full TC in DangerousNonShortCircuitLogic.ql
2026-03-05 09:11:17 +01:00
Tom Hvitved
e22d3a1074
Sync files
2026-03-05 09:11:16 +01:00
Tom Hvitved
212374b94b
C#: Replace a recursive predicate with doublyBoundedFastTc
2026-03-05 09:11:15 +01:00
Tom Hvitved
aa7a730041
C#: Remove some unnecessary TCs
2026-03-05 09:11:13 +01:00
github-actions[bot]
1c5afb2306
Add changed framework coverage reports
2026-03-05 00:32:15 +00:00
Mathias Vorreiter Pedersen
5b30e945ef
Merge pull request #21410 from MathiasVP/add-WebSocket-ReceiveAsync-model
...
C#: Add `System.Net.WebSockets.ReceiveAsync` as a remote flow source
2026-03-04 16:09:50 +00:00
Owen Mansel-Chan
2b3111441d
Add space before $ in xml test file
2026-03-04 15:03:24 +00:00
Owen Mansel-Chan
99a4fe4828
Update expected test output column numbers
2026-03-04 15:02:53 +00:00
Owen Mansel-Chan
aa28c94562
Remove double space after $ in inline expectations tests
2026-03-04 14:12:42 +00:00
Owen Mansel-Chan
501485b9f6
Update library to require space after $
...
We cannot easily require a space before $ because some languages, like
C#, strip whitespace from the beginning of the comment text.
2026-03-04 14:06:59 +00:00
Tom Hvitved
db491fc985
Address review comments
2026-03-04 14:53:01 +01:00
Owen Mansel-Chan
1950fd33db
Ruby: Inline expectation should have space before $
2026-03-04 13:11:41 +00:00
Owen Mansel-Chan
91b6801db1
py: Inline expectation should have space before $
2026-03-04 13:11:38 +00:00
Owen Mansel-Chan
ea30f02271
js: Inline expectation should have space before $
2026-03-04 13:11:35 +00:00
Owen Mansel-Chan
f41c30e335
java: Inline expectation should have space before $
2026-03-04 13:11:33 +00:00
Owen Mansel-Chan
ddebdad9e1
c++: Inline expectation should have space before $
2026-03-04 13:11:30 +00:00
Mathias Vorreiter Pedersen
f8f8991d36
C#: Accept more test changes.
2026-03-04 13:06:59 +00:00
Anders Schack-Mulligen
3c129fcd23
Java: Align BinaryExpr.getOp() with AssignOp.getOp().
2026-03-04 13:46:04 +01:00
Owen Mansel-Chan
6001c735ff
Ruby: Inline expectation should have space after $
...
This was a regex-find-replace from `# \$(?! )` (using a negative lookahead) to `# $ `.
2026-03-04 12:45:06 +00:00
Owen Mansel-Chan
5a97348e78
python: Inline expectation should have space after $
...
This was a regex-find-replace from `# \$(?! )` (using a negative lookahead) to `# $ `.
2026-03-04 12:45:05 +00:00
Owen Mansel-Chan
0eccd902c2
js: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:03 +00:00
Owen Mansel-Chan
45eb14975a
C#: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:02 +00:00
Owen Mansel-Chan
badfa1a5c5
C++: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:45:00 +00:00
Owen Mansel-Chan
b475f14575
Replace // $:tag with // $ tag in 2 tests
2026-03-04 12:44:59 +00:00
Owen Mansel-Chan
d4ba2d68f9
Go: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:44:57 +00:00
Owen Mansel-Chan
05a77a2005
Java: Update test expectations
2026-03-04 12:44:56 +00:00
Owen Mansel-Chan
ef345a3279
Java: Inline expectation should have space after $
...
This was a regex-find-replace from `// \$(?! )` (using a negative lookahead) to `// $ `.
2026-03-04 12:44:54 +00:00
Mathias Vorreiter Pedersen
2357ef07cc
C#: Add change note.
2026-03-04 12:35:15 +00:00
Mathias Vorreiter Pedersen
088913d925
C#: Accept test changes.
2026-03-04 12:26:07 +00:00
Mathias Vorreiter Pedersen
83155df1f7
C#: Add 'System.Net.WebSockets.ReceiveAsync' flow source.
2026-03-04 12:26:05 +00:00
Mathias Vorreiter Pedersen
b7992ed8cd
C#: Add test.
2026-03-04 12:25:08 +00:00
Michael Nebel
219ea28217
Merge pull request #21400 from michaelnebel/csharp/implicitconversionreverseflowtaint
...
C#: Add default taint step from an implicit operator call to its argument.
2026-03-04 12:40:59 +01:00
Michael Nebel
fbf40ef02a
Update csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-03-04 12:28:07 +01:00
Geoffrey White
370c5157f1
Merge branch 'main' into mapfix
2026-03-04 10:20:04 +00:00
Anders Schack-Mulligen
2782d90d0f
Merge pull request #21403 from aschackmull/cfg/tweaks
...
Cfg: Small tweaks.
2026-03-04 11:17:15 +01:00
Anders Schack-Mulligen
ad5ab9f270
Gaurds: Improve perf of forall in guardDeterminesPhiInput.
2026-03-04 10:56:51 +01:00
Tom Hvitved
4474e252fe
Add change note
2026-03-04 10:44:26 +01:00
Tom Hvitved
18d2f586b3
Rust: Update AccessAfterLifetime query to use FeatureEscapesSourceCallContextOrEqualSourceSinkCallContext
2026-03-04 10:44:25 +01:00
Tom Hvitved
189c16095d
Data flow: Add FeatureEscapesSourceCallContext(OrEqualSourceSinkCallContext) flow feature
2026-03-04 10:44:23 +01:00
Michael Nebel
a604a68fe9
C#: Add change-note.
2026-03-04 08:03:32 +01:00
Michael Nebel
4e2a93df55
C#: Remove comment.
2026-03-04 07:58:55 +01:00
Mathias Vorreiter Pedersen
6a904eddd4
Merge pull request #21390 from MathiasVP/less-reevaluation-4
...
C++: Reduce re-evaluation
2026-03-03 15:09:55 +00:00
Anders Schack-Mulligen
fe032a5834
Java: Update dbscheme to make @assignment a @binaryexpr.
2026-03-03 15:15:35 +01:00
Michael Nebel
cfd4be6b4e
C#: Update test expected output.
2026-03-03 14:39:57 +01:00
Michael Nebel
93a28cbfaf
C#: Add default (reverse update) taint step from implicit operator calls to their arguments.
2026-03-03 14:39:52 +01:00
Óscar San José
13ce515aab
Merge pull request #21402 from github/post-release-prep/codeql-cli-2.24.3
...
Post-release preparation for codeql-cli-2.24.3
2026-03-03 14:33:49 +01:00
Michael Nebel
8807217e49
C#: Add implicit conversion operator taint example.
2026-03-03 14:26:46 +01:00
Anders Schack-Mulligen
daefd5988e
Java: Accept CFG diff.
2026-03-03 14:18:10 +01:00
Anders Schack-Mulligen
d9ea78bfb8
Cfg: Step directly from a failed case guard to the next case.
2026-03-03 13:42:13 +01:00
Anders Schack-Mulligen
f02abb3e93
Cfg: Handle ExprStmt and BlockStmt in defaultStep.
2026-03-03 13:34:27 +01:00
Michael Nebel
a2f45f1b5b
Merge pull request #21383 from michaelnebel/csharp/postupdatenoderestriction
...
C#: Add post-update nodes for `struct` type argument nodes.
2026-03-03 12:34:06 +01:00
Geoffrey White
bb5bfda14b
Rust: Update the models.
2026-03-03 09:26:54 +00:00
github-actions[bot]
e152f08468
Post-release preparation for codeql-cli-2.24.3
2026-03-02 22:51:27 +00:00
Ian Lynagh
16cd3a8bc0
Merge pull request #21399 from igfoo/igfoo/star_ids_trap_tags_ql
...
C++ overlay: Tweak dbsheme
2026-03-02 17:50:04 +00:00
Óscar San José
7d30e3ca5e
Merge pull request #21401 from github/release-prep/2.24.3
...
Release preparation for version 2.24.3
2026-03-02 17:10:28 +01:00
Michael Nebel
319e3d1ba4
C#: Add change-note.
2026-03-02 15:34:20 +01:00
Michael Nebel
8380474acd
C#: Update other test expected output.
2026-03-02 15:32:37 +01:00
Michael Nebel
a3d15dbaa3
C#: Update test expected output for new tests.
2026-03-02 15:25:31 +01:00
Michael Nebel
ec7e6e8e03
C#: Add post-update nodes for arguments of struct type.
2026-03-02 15:25:27 +01:00
Michael Nebel
4e63b83fd3
C#: Add struct source model example.
2026-03-02 14:50:04 +01:00
Michael Nebel
ea1fc43732
C#: Add data flow test for struct.
2026-03-02 14:50:01 +01:00
Michael Nebel
13959ab91e
Merge pull request #21335 from michaelnebel/csharp14/partialconstrucstors
...
C# 14: Support for partial constructor declarations.
2026-03-02 14:47:56 +01:00
Óscar San José
df7379c0d2
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-02 14:32:16 +01:00
github-actions[bot]
7795badd18
Release preparation for version 2.24.3
2026-03-02 13:23:40 +00:00
Anders Schack-Mulligen
e695477f4f
Merge pull request #21290 from aschackmull/cfg/new-shared
...
Java/Cfg: Introduce new shared CFG library and replace the Java CFG.
2026-03-02 13:56:59 +01:00
Anders Schack-Mulligen
627654cff9
Cfg: A few more review tweaks.
2026-03-02 13:08:23 +01:00
Asger F
f2cc0da936
JS: Add upgrade/downgrade scripts but with 'partial' compatibility
2026-03-02 11:09:19 +01:00
Ian Lynagh
bd0d69ffca
C++: Add up/downgrade scripts
2026-02-27 22:00:01 +00:00
Ian Lynagh
97ed67e284
C++ overlay: Update stats
2026-02-27 21:40:01 +00:00
Mathias Vorreiter Pedersen
db33dadb8e
C++: Add QLDoc. Also actually implement 'uninitializedNode' since there's no reason not to do so.
2026-02-27 17:36:57 +00:00
Mathias Vorreiter Pedersen
1139059d77
C++: Fix imports.
2026-02-27 17:12:00 +00:00
Mathias Vorreiter Pedersen
92f26027e1
C++: Remove outdated comment.
2026-02-27 16:32:04 +00:00
Mathias Vorreiter Pedersen
85875c2879
C++: Remove unnecessary recursion through Node.toString.
2026-02-27 16:32:01 +00:00
Mathias Vorreiter Pedersen
17e6fd2fe9
C++: Disable magic to prevent re-evaluation.
2026-02-27 16:31:58 +00:00
Mathias Vorreiter Pedersen
5d75b255a8
C++: Remove IR re-evaluation.
2026-02-27 16:31:56 +00:00
Mathias Vorreiter Pedersen
26e8701ae3
C++: Fix a few qualifiers.
2026-02-27 16:22:51 +00:00
Mathias Vorreiter Pedersen
cdb41588a9
C++: Fix some imports.
2026-02-27 16:22:49 +00:00
Mathias Vorreiter Pedersen
1eccb8ea93
C++: Add a cache module to taint-tracking and ensure they happen in the same stage as the dataflow stage.
2026-02-27 16:22:47 +00:00
Mathias Vorreiter Pedersen
66611323e2
C++: No need to keep this in its own module now.
2026-02-27 16:22:44 +00:00
Mathias Vorreiter Pedersen
d804fc5168
C++: Remove the 'ExprFlowCached' module. Instead we have a single cached module.
2026-02-27 16:22:42 +00:00
Mathias Vorreiter Pedersen
f223c957ba
C++: Cache 'toString' and 'getLocation'.
2026-02-27 16:22:39 +00:00
Mathias Vorreiter Pedersen
86bd0c0dc3
C++: Move a bunch of newtypes and predicates into a cached module.
2026-02-27 16:22:36 +00:00
Mathias Vorreiter Pedersen
6e0c5615fe
C++: Move a bunch non-public dataflow node subtypes.
2026-02-27 16:22:33 +00:00
Mathias Vorreiter Pedersen
edde4149aa
C++: Move 'Node' into the public module.
2026-02-27 16:22:29 +00:00
Mathias Vorreiter Pedersen
87478d016a
C++: Move 'FieldAddress' and 'conversionFlow'.
2026-02-27 16:22:26 +00:00
Mathias Vorreiter Pedersen
09d74a3b3e
C++: Move 'CanonicalField' stuff.
2026-02-27 16:22:23 +00:00
Mathias Vorreiter Pedersen
271a759490
C++: Move 'TIRDataFlowNode'.
2026-02-27 16:22:21 +00:00
Mathias Vorreiter Pedersen
b9595d985e
C++: Create a new file.
2026-02-27 16:22:19 +00:00
Anders Schack-Mulligen
ab94524328
Cfg: Address review comments.
2026-02-27 16:35:25 +01:00
Ian Lynagh
155e21e729
C++ overlays: Tweak dbscheme
2026-02-27 15:28:15 +00:00
Asger F
d440b5fa85
JS: Update TRAP files
2026-02-27 14:15:34 +01:00
Asger F
47895b3334
JS: Update test for UniquePropertyNames test
...
This query now reports the alert previously found by DuplicateProperty
2026-02-27 13:37:29 +01:00
Asger F
71fb6bf915
JS: Mark corresponding lost result for the getter
2026-02-27 13:35:43 +01:00
Asger F
c673bd9151
JS: Document a missing alert due to limitation in structural comparison
2026-02-27 13:34:55 +01:00
Asger F
0f2de46648
JS: Emit variable bindings for 'this' expressions
2026-02-27 11:44:54 +01:00
Asger F
f0f58dacb3
JS: Also emit 'this' variable for class scopes
2026-02-27 11:44:31 +01:00
Asger F
4a3b86c652
JS: Update test output
2026-02-27 11:13:50 +01:00
yoff
600f585a31
Merge pull request #21296 from yoff/python/bool-comparison-guards
...
Python: Handle guards being compared to boolean literals
2026-02-26 21:13:51 +01:00
Geoffrey White
062fbf2b3c
Rust: Accept consistency check changes from CI.
2026-02-26 15:45:40 +00:00
Tom Hvitved
4280d35bf3
Merge pull request #21366 from hvitved/rust/type-inference-unify-method-resolution
...
Rust: Unify logic in `MethodResolution`; remove `TypeQualifierIsInstantiationOfImplSelf` logic
2026-02-26 14:38:35 +01:00
Tom Hvitved
11a726d1b4
Address review comments
2026-02-26 14:23:41 +01:00
Geoffrey White
ec0b90f4b4
Rust: Simplify with the Copilot suggestions.
2026-02-26 13:00:07 +00:00
Geoffrey White
96a06bed8d
Rust: Accept consistency check changes.
2026-02-26 12:41:17 +00:00
Geoffrey White
f2dc585751
Rust: Convert split_off QL-defined barrier to a neutral model (which was always the intent).
2026-02-26 12:25:23 +00:00
Geoffrey White
478f56b82f
Rust: Move the existing 'alloc' neutral models into alloc.model.yml.
2026-02-26 12:25:10 +00:00
yoff
89e5a9bd72
Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowPublic.qll
...
Co-authored-by: Taus <tausbn@github.com >
2026-02-26 13:14:26 +01:00
yoff
cfbae50845
Python: convert barrier guard to MaD
2026-02-26 13:12:34 +01:00
Geoffrey White
78f855d7e3
Rust: Make the manual model for Option::map more accurate.
2026-02-26 11:34:30 +00:00
Geoffrey White
75ffb5fc4c
Rust: Change note.
2026-02-26 10:59:48 +00:00
Geoffrey White
75fea4245a
Rust: Add neutral models of From::from (corresponding with existing generated sink models).
2026-02-26 10:00:30 +00:00
Geoffrey White
5c108e5c12
Rust: Add a manual model for flow through Option::map.
2026-02-26 09:12:33 +00:00
Geoffrey White
53e886380c
Rust: Add a neutral model of Option::map (so that we don't use the generated models).
2026-02-26 08:36:28 +00:00
Geoffrey White
97f7a26e11
Rust: Add test cases for log injection + uncontrolled allocation size with from.
2026-02-25 19:12:06 +00:00
yoff
9b9c9304c7
Python: simplify logic, suggested in review
2026-02-25 18:16:38 +01:00
yoff
c4f8748a42
Python: simplify barrier guard
2026-02-25 18:03:40 +01:00
Geoffrey White
5523b5e25f
Merge pull request #21271 from geoffw0/neutralmodels
...
Rust: Add support for neutral models.
2026-02-25 16:15:55 +00:00
Paolo Tranquilli
4e4d0555c0
Merge pull request #21373 from github/redsun82/load-cc-explicitly
...
Bazel: load `rules_cc` and `rules_shell` explicitly
2026-02-25 16:10:16 +01:00
Geoffrey White
1213369d75
Rust: Add test cases for log injection with map.
2026-02-25 14:30:01 +00:00
Geoffrey White
ccc318106e
Rust: Add an empty.model.yml similar to the one in CPP, to avoid errors about missing extensionals.
2026-02-25 14:25:12 +00:00
Paolo Tranquilli
4d0c72eafe
Bazel: add explicit rules_shell load
2026-02-25 14:05:53 +01:00
Paolo Tranquilli
15a2575949
Merge branch 'main' into redsun82/load-cc-explicitly
2026-02-25 13:59:29 +01:00
Paolo Tranquilli
968856ed96
Merge pull request #21371 from github/redsun82/fix-local-go-builds
...
Go: fix standalone build of the Go extractor
2026-02-25 13:52:49 +01:00
Paolo Tranquilli
5b5dc9c708
Bazel: load rules_cc explicitly
...
Turns out in https://github.com/github/codeql/pull/21371 I was right
about `java_*` rules not relying on autoload anywhere, but it turns out
some `cc_*` rules still relied on autoload. This autoload is currently
configured in the internal repository, but we want to remove it
eventually. This patch:
* adds explicit loads to `rules_cc`
* removes an obsolete file (that depedency has its own bazel module
since some time, we just forgot to remove the old file)
2026-02-25 13:52:25 +01:00
Paolo Tranquilli
42e41c57d4
Go: fix standalone build of the Go extractor
...
https://github.com/github/codeql/pull/21276 worked together with the
internal changes but broke the standalone build of the Go extractor of
this repo in isolation.
The root cause was the lack of an auto-loaded `java_library` rule
definition. This fixes it.
I also checked this doesn't happen anywhere else.
2026-02-25 13:33:54 +01:00
Asger F
e0ab5ce49b
JS: Emit variables for 'this'
...
The extractor does not emit bindings for 'this', we just ensure that a variable exists for it
2026-02-25 10:17:02 +01:00
Asger F
f0e665d08c
Merge pull request #21349 from asgerf/mobx-wrapper
...
Support React components wrapped by 'mobx-react'
2026-02-25 09:24:45 +01:00
Tom Hvitved
de9b1adf63
Rust: Unify logic in MethodResolution; remove TypeQualifierIsInstantiationOfImplSelf logic
2026-02-25 09:05:58 +01:00
Tom Hvitved
018674cfde
Merge pull request #21333 from hvitved/rust/type-inference-restrict-receiver-type-propagation
...
Rust: Restrict type propagation into receivers
2026-02-25 08:48:14 +01:00
Mathias Vorreiter Pedersen
266130b5cf
Merge pull request #21360 from microsoft/unbreak-changes
...
C++: Provide `BarrierGuard` API without a `Unit` column when instantiating non-parameterized `BarrierGuard`s
2026-02-24 16:57:58 +00:00
Geoffrey White
8769059ce5
Rust: Remove another call to neutralModel we don't need to make explicitly.
2026-02-24 15:01:45 +00:00
Taus
6bfb1e1fae
Merge pull request #21344 from github/tausbn/python-remove-points-to-from-metrics-libraries
...
Python: Remove points-to from metrics library
2026-02-24 15:55:16 +01:00
Taus
f107235db2
Update change note
2026-02-24 15:08:36 +01:00
Michael Nebel
06a8fd0e4a
C#: Add change-note.
2026-02-24 14:42:18 +01:00
Michael Nebel
113565ba76
C#: Update test expected output.
2026-02-24 14:38:59 +01:00
Michael Nebel
ae5ab9c67c
C#: Partial constructor declaration support.
2026-02-24 14:32:24 +01:00
Michael Nebel
884c61604e
C#: Add dataflow test for partial constructors.
2026-02-24 14:32:22 +01:00
Michael Nebel
c5e1f0ccc9
C#: Update partial tests and expected output.
2026-02-24 14:32:20 +01:00
Michael Nebel
3e2f6e571f
Merge pull request #21351 from michaelnebel/csharp/fixpartialmethod
...
C#: Fix issue with partial method extraction.
2026-02-24 14:23:44 +01:00
Mathias Vorreiter Pedersen
ea9e4b3409
C++: Make a test slightly more verbose to catch this issue in the future.
2026-02-24 12:52:18 +00:00
Mathias Vorreiter Pedersen
d36350aca4
C++: Add change note.
2026-02-24 12:48:45 +00:00
Jeroen Ketema
0947323e78
Merge pull request #21359 from jketema/jketema/softfloat-revert
...
Revert SoftFloat Changes
2026-02-24 13:34:52 +01:00
Mathias Vorreiter Pedersen
15af6c1b20
C++: Provide barrier node API without the unit column when instantiating non-parameterized barrier guards.
2026-02-24 12:32:23 +00:00
Tom Hvitved
f9869daa91
Address review comments
2026-02-24 12:12:47 +01:00
Tom Hvitved
61d809b41a
Rust: Add another type inference test
2026-02-24 12:08:40 +01:00
Jeroen Ketema
197ee9b9a6
Revert "Merge pull request #21208 from jketema/jketema/softfloat"
...
This reverts commit 99de5d4238 , reversing
changes made to 12bd709219 .
2026-02-24 11:08:25 +01:00
yoff
7df44f9418
python: add change note
2026-02-24 10:00:22 +01:00
yoff
7351e82c92
python: handle guards compared to boolean literals
2026-02-24 10:00:22 +01:00
yoff
8488039fb9
python: add tests for guards compared to booleans
2026-02-24 10:00:21 +01:00
Michael Nebel
7de476aeb0
C#: Add change note.
2026-02-24 07:56:02 +01:00
Michael Nebel
a255b4f50f
C#: Update test expected output.
2026-02-24 07:56:00 +01:00
Michael Nebel
003b539287
C#: Streamline the partial implementation for properties and events.
2026-02-24 07:55:59 +01:00
Michael Nebel
03a54bfbf9
C#: Update test expected output.
2026-02-24 07:55:57 +01:00
Michael Nebel
d3fcc2a6cc
C#: Extract partial method declaration.
2026-02-24 07:55:54 +01:00
Michael Nebel
e8427a59f5
C#: Cache the Block and ExpressionBody and streamline implementation too look for both when checking whether a body is available.
2026-02-24 07:55:53 +01:00
Geoffrey White
e9511560b7
Rust: Autoformat.
2026-02-23 19:51:22 +00:00
Geoffrey White
6b7f339287
Rust: Define neutralElement in the shared data flow input.
2026-02-23 19:38:13 +00:00
Jon Janego
0151e8427c
Merge pull request #21357 from github/codeql-spark-run-22317536589
...
Update changelog documentation site
2026-02-23 13:35:16 -06:00
Jon Janego
e14b4f1c5c
Merge branch 'main' into codeql-spark-run-22317536589
2026-02-23 11:52:17 -06:00
Jon Janego
365bae1f9c
Fix formatting in codeql-cli-2.23.1.rst
2026-02-23 11:50:46 -06:00
Jon Janego
79ac95d8a8
Fix syntax error with '=' in format specifier
2026-02-23 11:50:03 -06:00
Jon Janego
8719072519
Apply suggestion from @Copilot
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-23 11:46:50 -06:00
Jon Janego
af0bfe0981
Promote CORS configuration query to default suite
2026-02-23 11:46:30 -06:00
Jon Janego
d546b85163
Fix formatting for Kotlin version support note
2026-02-23 11:45:59 -06:00
Jon Janego
2969feef89
Fix formatting in Kotlin version support note
2026-02-23 11:45:30 -06:00
Jon Janego
9773775a08
Update codeql-cli-2.19.1.rst
2026-02-23 11:44:53 -06:00
github-actions[bot]
532e1feacc
update codeql documentation
2026-02-23 17:40:16 +00:00
Michael Nebel
7d7bbf2a50
C#: Add data flow test for partial method.
2026-02-23 15:10:15 +01:00
Michael Nebel
0e543a9843
C#: Update partial method test to count the number of extracted bodies.
2026-02-23 15:10:14 +01:00
Michael Nebel
a83c53ec9a
C#: Add a partial method example with a body.
2026-02-23 15:10:12 +01:00
Anders Schack-Mulligen
94121f19ca
Guards: Improve join-order.
2026-02-23 15:10:03 +01:00
Anders Schack-Mulligen
2b8e719034
Java: Add nullness test covering known FP.
2026-02-23 15:10:03 +01:00
Anders Schack-Mulligen
bdbbd45909
Java: Handle missing throws clauses.
2026-02-23 15:10:02 +01:00
Anders Schack-Mulligen
0d0711f2a7
Java: Add change note.
2026-02-23 15:10:02 +01:00
Anders Schack-Mulligen
d4873dd35e
Java: Adjust switch case guards test.
2026-02-23 15:10:01 +01:00
Anders Schack-Mulligen
f7317b6a2b
Java: Enable Cfg consistency checks.
2026-02-23 15:10:01 +01:00
Anders Schack-Mulligen
352b3711f6
Java: Remove obsolete tests - false successors are no longer special.
2026-02-23 15:10:00 +01:00
Anders Schack-Mulligen
eb37c413f2
Java: Accept revised CFG.
2026-02-23 15:10:00 +01:00
Anders Schack-Mulligen
106a9d479f
Java: Accept reduced precision from no longer nesting completions in YieldCompletions.
2026-02-23 15:09:59 +01:00
Anders Schack-Mulligen
d84e0e262d
Java: Accept removal of spurious reason (the alert stays).
2026-02-23 15:09:59 +01:00
Anders Schack-Mulligen
8b0dd7b866
Java: Accept new TP in NullMaybe.
2026-02-23 15:09:58 +01:00
Anders Schack-Mulligen
b798bc2c8f
Java: Fix enhancedForEarlyExit implementation.
2026-02-23 15:09:58 +01:00
Anders Schack-Mulligen
a72cf56a05
Java: Accept dispatch precision improvement.
2026-02-23 15:09:57 +01:00
Anders Schack-Mulligen
4d9c0e0c26
Java: Accept new locations for SSA definitions.
2026-02-23 15:09:57 +01:00
Anders Schack-Mulligen
a6ee1df567
Java: Remove test. Flexible constructors need AST-based tests, which are already in place, not CFG tests.
2026-02-23 15:09:56 +01:00
Anders Schack-Mulligen
581679d27d
Java: Fix reference to entry node.
2026-02-23 15:09:56 +01:00
Anders Schack-Mulligen
fc8b7c04cf
Java: Exclude ExprStmt consistent with SwitchCase.getRuleExpression().
2026-02-23 15:09:55 +01:00
Anders Schack-Mulligen
ccd28ff66a
Java: Fix instanceof-disjunction.
2026-02-23 15:09:55 +01:00
Anders Schack-Mulligen
a844d60174
Java: Accept new CFG nodes.
2026-02-23 15:09:54 +01:00
Anders Schack-Mulligen
6ac8c4f544
Java: Accept test changes due to pruned CFG, after-nodes, and reduced exception precision.
2026-02-23 15:09:54 +01:00
Anders Schack-Mulligen
e0eb653dcc
Java: Accept guards test changes for revised switch CFG.
2026-02-23 15:09:53 +01:00
Anders Schack-Mulligen
fb2799bd47
Java: Adjust idominance tests.
2026-02-23 15:09:53 +01:00
Anders Schack-Mulligen
12b9999289
Java: Adjust BasicBlock-based qltests.
2026-02-23 15:09:52 +01:00
Anders Schack-Mulligen
7871cd74f6
Java: Fix switchcase guards.
2026-02-23 15:09:52 +01:00
Anders Schack-Mulligen
1e9dcea88b
Java: Fix RangeAnalysis/ModulusAnalysis.
2026-02-23 15:09:51 +01:00
Anders Schack-Mulligen
6fbdb2c52b
Java: Fix Cyclomatic complexity calculation.
2026-02-23 15:09:51 +01:00
Anders Schack-Mulligen
48e3724299
Java/Cfg: Introduce new shared CFG library and replace the Java CFG.
2026-02-23 15:09:50 +01:00
Anders Schack-Mulligen
0c9931ff8a
Java: Replace idominance tests.
2026-02-23 15:09:50 +01:00
Anders Schack-Mulligen
48d7d9cedb
Cfg: Add getEnclosingCallable to shared BasicBlock
2026-02-23 15:09:49 +01:00
Anders Schack-Mulligen
4a97a449fc
Java: Replace ControlFlowNode.asCall with Call.getControlFlowNode.
2026-02-23 15:09:49 +01:00
Anders Schack-Mulligen
2e987343dd
Java: Preparatory tweaks.
2026-02-23 15:09:48 +01:00
Anders Schack-Mulligen
723a896b99
Cfg: Add ConditionKind and getDual to ConditionalSuccessor.
2026-02-23 15:09:48 +01:00
Owen Mansel-Chan
ada9c452f0
Merge pull request #21336 from owen-mc/js/accept-mad-sanitizers
...
JS: Accept MaD sanitizers for queries with MaD sinks
2026-02-23 13:44:54 +00:00
Jeroen Ketema
99de5d4238
Merge pull request #21208 from jketema/jketema/softfloat
...
C++: Update expected test results after extractor changes
2026-02-23 13:52:43 +01:00
Owen Mansel-Chan
12bd709219
Merge pull request #21341 from owen-mc/rb/accept-mad-sanitizers
...
Ruby: Accept MaD sanitizers for queries with MaD sinks and convert some existing sanitizers
2026-02-23 11:44:05 +00:00
Jeroen Ketema
a935d97190
C++: Update expected test results after extractor changes
2026-02-23 11:54:58 +01:00
Taus
480ae619e6
Merge pull request #21116 from github/tausbn/python-add-dataflow-overlay-annotations
...
Add `overlay[local]` annotations
2026-02-21 13:44:09 +01:00
Jeroen Ketema
8947f7afd8
Merge pull request #21329 from paldepind/cpp/simple-range-analysis-phi-divide
...
C++: Divide number of bounds between branches for phi nodes
2026-02-20 17:05:01 +01:00
Jeroen Ketema
9228304294
Merge branch 'main' into cpp/simple-range-analysis-phi-divide
2026-02-20 16:25:26 +01:00
Simon Friis Vindum
8eed18a8ff
C++: Fix typo
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-02-20 16:24:19 +01:00
Simon Friis Vindum
fdbd49a843
C++: Improve clarity in comment
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2026-02-20 13:38:24 +01:00
Paolo Tranquilli
15fde872b5
Merge pull request #21276 from github/redsun82/bazel-9
...
Upgrade Bazel to 9.0.0
2026-02-20 13:26:14 +01:00
Mathias Vorreiter Pedersen
1dba99f47d
Merge pull request #21292 from microsoft/UncheckedLeaprYearAfterModification_Refactor_Upstream
...
C++: Refactor of UncheckedLeapYearAfterModification
2026-02-20 12:11:45 +00:00
Asger F
27638c7029
JS: Add change note
2026-02-20 11:20:46 +01:00
Paolo Tranquilli
a5905a6f20
Merge branch 'main' into redsun82/bazel-9
2026-02-20 10:51:18 +01:00
Geoffrey White
ca41ae0d1a
Merge pull request #21347 from geoffw0/toolstatus
...
Rust: Update rust/diagnostic/database-quality
2026-02-20 09:16:44 +00:00
REDMOND\brodes
38219f6ebb
C++: Fixing FP in unit tests.
2026-02-19 14:08:36 -05:00
Geoffrey White
b08e4e1dba
Merge branch 'main' into toolstatus
2026-02-19 16:19:15 +00:00
Taus
07099f17d6
Python: Add change note
2026-02-19 12:32:27 +00:00
Taus
e8de8433f4
Python: Update all metrics-dependant queries
...
The ones that no longer require points-to no longer import
`LegacyPointsTo`. The ones that do use the specific
`...MetricsWithPointsTo` classes that are applicable.
2026-02-19 12:32:27 +00:00
Taus
20fea3955e
Python: Remove points-to from Metrics.qll
...
Moves the classes/predicates that _actually_ depend on points-to to the
`LegacyPointsTo` module, leaving behind a module that contains all of
the metrics-related stuff (line counts, nesting depth, etc.) that don't
need points-to to be evaluated.
Consequently, `Metrics` is now no longer a private import in
`python.qll`.
2026-02-19 12:32:27 +00:00
Asger F
a684943bb7
JS: Model mobx-react{-lite} as higher-order component builders
2026-02-19 11:26:46 +01:00
Asger F
a0099d64c8
JS: Add mobx-react and mobx-react-lite tests
2026-02-19 11:26:44 +01:00
Paolo Tranquilli
dfe451128e
Merge branch 'main' into redsun82/bazel-9
2026-02-19 11:05:32 +01:00
Geoffrey White
fd5c5b5635
Rust: Change note.
2026-02-19 08:59:55 +00:00
Geoffrey White
97a02ed903
Rust: Remove MacroCallTargetStats from rust/diagnostic/database-quality.
2026-02-19 08:57:12 +00:00
Paolo Tranquilli
6e8f43ce2e
Merge pull request #21343 from github/redsun82/update-rust-toolchain
...
Bazel: Update Rust toolchain to nightly/2026-01-22 and rules_rust to 0.68.1.codeql.1
2026-02-19 09:40:26 +01:00
Tom Hvitved
6dfbd4e062
Merge pull request #21342 from hvitved/csharp/equals-nullable-tests
...
C#: Add tests for `Equals` methods with nullable parameter types
2026-02-19 09:08:33 +01:00
Paolo Tranquilli
e11363280a
Rust: accept test changes
2026-02-18 16:56:28 +01:00
Taus
6b6d8862b0
Merge pull request #21288 from microsoft/azure_python_sanitizer_upstream2
...
Azure python sanitizer upstream2
2026-02-18 14:59:59 +01:00
Owen Mansel-Chan
1d6b8c5120
Use postprocessing queries for unrelated test
...
Need to do this because the model numbering was changing. At the same
time we may as well use inline expectations.
2026-02-18 13:49:53 +00:00
Owen Mansel-Chan
05d681fe19
Update taintstep test for models becoming MaD
2026-02-18 13:49:50 +00:00
Mathias Vorreiter Pedersen
a2339305e5
Merge pull request #329 from geoffw0/moreascii
...
Address more non-ascii characters
2026-02-18 13:43:16 +00:00
Owen Mansel-Chan
f577e973bc
Update other test in same folder
2026-02-18 13:39:06 +00:00
Óscar San José
df35f9f98b
Merge pull request #21339 from github/oscarsj/skip-csharp-integration-on-macos-26
...
Skip csharp integration tests on macos-26
2026-02-18 14:29:42 +01:00
Paolo Tranquilli
24f3d9ede0
Revert rust-toolchain.toml changes and update test expectations
2026-02-18 13:56:48 +01:00
Taus
3d4785f29f
Python: Add change note
2026-02-18 12:51:35 +00:00
Tom Hvitved
1357de90ec
Merge pull request #21311 from hvitved/rust/path-resolution-remove-duplicates
...
Rust: Make path resolution robust against invalid code with conflicting declarations
2026-02-18 12:29:06 +01:00
Geoffrey White
d7250a8abe
Address more non-ascii characters.
2026-02-18 11:23:01 +00:00
Paolo Tranquilli
116f5a253c
Bazel: Update Rust toolchain to nightly/2026-01-22 and rules_rust to 0.68.1.codeql.1
...
Update the Rust nightly toolchain from nightly/2025-08-01 to nightly/2026-01-22
(rustc 1.95.0-nightly), and rules_rust from 0.66.0 to 0.68.1.codeql.1.
The new nightly changed how stdlib metadata is distributed: .rlib files now
contain only a metadata stub, with full metadata in separate .rmeta files.
rules_rust's stdlib glob doesn't include *.rmeta, causing 'only metadata stub
found' errors. This is patched via a custom registry entry (0.68.1.codeql.1).
Upstream bug: https://github.com/bazelbuild/rules_rust/issues/3859
2026-02-18 12:22:01 +01:00
Idriss Riouak
22b55f3d6f
Merge pull request #21063 from github/idrissrio/cpp/overlay/single-location
...
C/C++ overlay: discard single location elements
2026-02-18 08:58:21 +01:00
Tom Hvitved
93d417049c
C#: Add tests for Equals methods with nullable parameter types
2026-02-18 08:42:15 +01:00
Owen Mansel-Chan
1bff7a3eb8
Add change note
2026-02-17 22:29:35 +00:00
Owen Mansel-Chan
eb7f1989c7
Reinstate ql model for String#shellescape
2026-02-17 22:27:15 +00:00
Owen Mansel-Chan
de5470a85c
Add MaD barriers for Shellwords.escape and shellescape
...
Note that this will only block flow for queries that use the kind `command-injection`.
2026-02-17 22:27:13 +00:00
Owen Mansel-Chan
b3681f7a0c
Model flow through Shellwords escape and shellescape
2026-02-17 22:27:11 +00:00
Owen Mansel-Chan
6294c3b3b8
Remove Shellwords sanitizer in ql
...
Note that some sanitizers had no effect because flow through those functions wasn't modeled.
2026-02-17 22:27:10 +00:00
Owen Mansel-Chan
4aee99f0eb
Reinstate SQLite3 sanitizer in MaD
2026-02-17 22:27:08 +00:00
Owen Mansel-Chan
5df695bec9
Move SQLite3 flow model to MaD and remove ql sanitizer
2026-02-17 22:27:06 +00:00
Owen Mansel-Chan
1fa183ee2a
Improve Sqlite3 test
2026-02-17 22:27:04 +00:00
Owen Mansel-Chan
d4bb92b038
Reinstate Mysql2 sanitizer in MaD
2026-02-17 22:27:03 +00:00
Owen Mansel-Chan
3e4f42f8a3
Move Mysql2 flow model to MaD and remove ql sanitizer
2026-02-17 22:27:01 +00:00
Owen Mansel-Chan
fc429c1757
Improve Mysql2 test
2026-02-17 22:27:00 +00:00
Owen Mansel-Chan
1d7a39a093
Change how sql-injection barriers are accepted
2026-02-17 22:26:58 +00:00
Ben Rodes
a1eaf42cbf
Update python/ql/lib/change-notes/2026-02-09-ssrf_test_case_cleanup_and_new_ssrf_barriers.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-17 13:05:51 -05:00
Óscar San José
fa73cd5d5c
Remove unnecessary blank line in test.py
2026-02-17 18:49:51 +01:00
Óscar San José
6760390d75
Fix imports
2026-02-17 18:49:11 +01:00
Óscar San José
60295662b7
Merge branch 'main' into oscarsj/skip-csharp-integration-on-macos-26
2026-02-17 18:42:16 +01:00
Ben Rodes
ea0d1bf262
Apply suggestion from @bdrodes
2026-02-17 12:38:59 -05:00
Ben Rodes
0106072b88
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 12:35:27 -05:00
Ben Rodes
779fd757a3
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 12:35:15 -05:00
Óscar San José
0b31ca4348
Merge pull request #21340 from github/copilot/sub-pr-21339
...
Centralize mono/nuget platform skip predicate in conftest.py
2026-02-17 18:26:31 +01:00
copilot-swe-agent[bot]
60b8213fdd
Remove unused pytest import from conftest.py
...
Co-authored-by: oscarsj <1410188+oscarsj@users.noreply.github.com >
2026-02-17 17:22:27 +00:00
copilot-swe-agent[bot]
004ebd386c
Centralize mono/nuget skip predicate in conftest.py
...
Co-authored-by: oscarsj <1410188+oscarsj@users.noreply.github.com >
2026-02-17 17:21:50 +00:00
copilot-swe-agent[bot]
9efe112026
Initial plan
2026-02-17 17:16:54 +00:00
Óscar San José
5cf281a1b6
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-17 18:16:51 +01:00
Jeroen Ketema
61dc1d673e
Merge pull request #21331 from jketema/must-flow
...
C++: Modernize `MustFlow` and fix `allowInterproceduralFlow` in the case of direct recursion
2026-02-17 17:36:58 +01:00
Óscar San José
0676ba1c07
Skip csharp integration tests on macos-26
2026-02-17 17:23:38 +01:00
Ben Rodes
1072d6a7b7
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:49:58 -05:00
Ben Rodes
ceb3b21e0f
Update python/ql/lib/semmle/python/security/dataflow/ServerSideRequestForgeryCustomizations.qll
...
Co-authored-by: Taus <tausbn@github.com >
2026-02-17 10:28:43 -05:00
Ben Rodes
c811fae876
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:14:11 -05:00
Ben Rodes
549dcb31be
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-17 10:13:55 -05:00
Owen Mansel-Chan
05f9b4124d
Revert "javascript: remove sanitizer to be replaced by model"
...
This reverts commit da2f77d615 .
2026-02-17 14:39:04 +00:00
Owen Mansel-Chan
b8f9dd9de5
Revert "javascript: add MaD model"
...
This reverts commit 75bd4a7a12 .
2026-02-17 14:38:56 +00:00
Michael Nebel
a8e93e7fa0
Merge pull request #21325 from michaelnebel/csharp14/partialmembers
...
C# 14: Support for partial `event` declarations.
2026-02-17 15:00:00 +01:00
Idriss Riouak
744ade6720
Merge pull request #21338 from github/idrissrio/java/fix-change-note
...
Java: Fix Maven change note
2026-02-17 14:48:37 +01:00
Idriss Riouak
c877487e11
Merge pull request #21337 from github/idrissrio/java/jdk26-note
...
Java: Add change note for Java 26 and updated supported languages
2026-02-17 14:48:16 +01:00
idrissrio
5151df456c
Java: Fix Maven change note
2026-02-17 14:27:27 +01:00
idrissrio
8aa839f4c0
Java: Address review comments
2026-02-17 14:19:12 +01:00
idrissrio
1a35a05ccc
Java: Update supported language versions to include Java 26
2026-02-17 13:59:45 +01:00
idrissrio
bd94ceddd9
Java: Add change note for JDK 26
2026-02-17 13:58:55 +01:00
Owen Mansel-Chan
3dc465f167
Accept MaD sanitizers for queries with MaD sinks
2026-02-17 12:48:36 +00:00
Owen Mansel-Chan
61e8f91404
Accept MaD sanitizers for queries with MaD sinks
2026-02-17 12:45:24 +00:00
Tom Hvitved
e587541e55
Rust: Restrict type propagation into receivers
2026-02-17 13:42:56 +01:00
Tom Hvitved
8a051d7e57
Rust: Add type inference test
2026-02-17 13:40:16 +01:00
Michael Nebel
fa27eaabef
Merge pull request #21309 from michaelnebel/csharp14/field
...
C# 14: Support the `field` keyword.
2026-02-17 11:53:48 +01:00
Tom Hvitved
d3541b87d6
Rust: Make path resolution robust against invalid code with conflicting declarations
2026-02-17 11:13:32 +01:00
idrissrio
c3f0967e9b
C/C++ overlay: discard single location elements
2026-02-17 10:50:24 +01:00
Jeroen Ketema
3aa21242cd
C++: Add change notes
2026-02-17 10:28:29 +01:00
Owen Mansel-Chan
94e3d86f6a
Merge pull request #21319 from owen-mc/java/javax-jakarta
...
Java: Always use both "javax" and "jakarta" at the beginning of Jave EE packages
2026-02-17 08:31:52 +00:00
Jeroen Ketema
31895c04f8
C++: MustFlow minor clean up
2026-02-17 09:06:36 +01:00
Jeroen Ketema
e299cccb6e
C++: Simplify test
2026-02-16 19:09:30 +01:00
Jeroen Ketema
4efbc6ea9b
C++: Handle allowInterproceduralFlow correctly in case of recursive functions
2026-02-16 19:04:23 +01:00
Jeroen Ketema
366ebcad83
C++: Add cpp/return-stack-allocated-memory test case
2026-02-16 18:58:39 +01:00
Michael B. Gale
b34777e67f
Merge pull request #21332 from github/post-release-prep/codeql-cli-2.24.2
...
Post-release preparation for codeql-cli-2.24.2
2026-02-16 17:50:30 +00:00
github-actions[bot]
b5898c5a30
Post-release preparation for codeql-cli-2.24.2
2026-02-16 17:07:45 +00:00
Taus
cd62cdadff
Python: Fix bad join in returnStep
2026-02-16 16:48:08 +00:00
Jeroen Ketema
73194a5e86
C++: Fix QL-for-QL warnings and missing QLDoc
2026-02-16 17:40:18 +01:00
Jeroen Ketema
26a1f4888a
C++: Modernize MustFlow using parameterized modules
2026-02-16 17:27:41 +01:00
Michael Nebel
c29bac2bc1
C#: Add change-note.
2026-02-16 16:13:06 +01:00
Michael Nebel
43c6e7d250
C#: Update test expected output.
2026-02-16 16:10:32 +01:00
Michael Nebel
9289ac2838
C#: Support for partial event declarations.
2026-02-16 16:10:28 +01:00
Michael Nebel
eec4739497
C#: Add viable callable test for partial event.
2026-02-16 16:10:26 +01:00
Michael Nebel
2b78a7b256
C#: Add PartialEvent test case.
2026-02-16 16:10:25 +01:00
Michael B. Gale
fb67f93a86
Merge pull request #21330 from github/release-prep/2.24.2
...
Release preparation for version 2.24.2
2026-02-16 15:00:27 +00:00
Taus
304cd12fff
Python: Fix bad join in missing_imported_module
...
This caused a ~30x blowup in intermediate tuples, now back to baseline.
2026-02-16 13:48:33 +00:00
Taus
987b10ab3e
Python: Fix bad join in OutgoingRequestCall
...
On `keras-team/keras`, this was producing ~200 million intermediate
tuples in order to produce a total of ... 2 tuples.
After the refactor, max intermediate tuple count is ~80k for the
charpred (and 4 for the new helper predicate).
2026-02-16 13:48:33 +00:00
Taus
72f5109ec2
Python: Add more overlay[caller] to Flow.qll
...
These were causing the repo `gufolabs/noc` to spend ~30 seconds
evaluating `ControlFlowNode.strictlyDominates`. Just in case, I added
`overlay[caller] to the other instances of `pragma[inline]` as well.
2026-02-16 13:48:33 +00:00
Taus
248932db7a
Python: Fix frameworks/data/warnings.ql
2026-02-16 13:48:32 +00:00
Taus
306d7d1b5d
Python: DataFlowDispatch.qll annotations
2026-02-16 13:48:32 +00:00
Taus
7ea96c43ec
Python: DataFlowPrivate.qll annotations
2026-02-16 13:48:32 +00:00
Taus
bd71db87be
Python: DataFlowPublic.qll annotations
2026-02-16 13:48:32 +00:00
Taus
c46c662b72
Python: LocalSources.qll annotations
2026-02-16 13:48:32 +00:00
Taus
df0f2f8ce4
Python: Simple dataflow annotations
...
None of these required any changes to the dataflow libraries, so it
seemed easiest to put them in their own commit.
2026-02-16 13:48:32 +00:00
Taus
51ebec9164
Python: Fix broken queries
2026-02-16 13:48:32 +00:00
Taus
fd7b123ee3
Python: Add overlay annotations to AST classes
...
... and everything else that it depends on.
2026-02-16 13:48:32 +00:00
Tom Hvitved
79cbf2f1cf
Merge pull request #21312 from hvitved/rust/type-inference-bad-join
...
Rust: Fix bad join
2026-02-16 14:45:58 +01:00
Simon Friis Vindum
d0681c6ffb
C++: Divide nr of bounds between branches for phi nodes
2026-02-16 14:36:09 +01:00
Simon Friis Vindum
032c7ea034
C++: Include the actual number of lower/upper bounds for added context in expected files
2026-02-16 14:36:08 +01:00
Simon Friis Vindum
da527ffc19
C++: Add simple range analysis test with repeated if-else statements
2026-02-16 14:36:06 +01:00
github-actions[bot]
ef04f927fb
Release preparation for version 2.24.2
2026-02-16 13:29:25 +00:00
Owen Mansel-Chan
7742a5667f
Merge pull request #21326 from owen-mc/java/log-injection-regex-match
...
Java: Recognise `@Pattern` annotation as sanitizer for log injection
2026-02-16 12:14:28 +00:00
Owen Mansel-Chan
cf73d96c9d
Update test results (remove SPURIOUS annotations)
2026-02-16 12:03:02 +00:00
Owen Mansel-Chan
597be6a1c0
Add change note
2026-02-16 12:01:15 +00:00
Owen Mansel-Chan
94f1d94a2b
Rename MethodCall ma to mc
2026-02-16 12:01:14 +00:00
Owen Mansel-Chan
9fc95f5171
Expand log injection sanitizers to annotation regex matches
2026-02-16 12:01:13 +00:00
Owen Mansel-Chan
924bb92d91
Expand log injection sanitizer guards to non-annotation regex matches
2026-02-16 12:01:11 +00:00
Owen Mansel-Chan
60e58f8219
Refactor logInjectionGuard part 2
2026-02-16 12:01:10 +00:00
Owen Mansel-Chan
6c0c1d558e
Refactor logInjectionGuard part 1
2026-02-16 12:01:08 +00:00
Owen Mansel-Chan
146fc7a8c0
Add failing log injection test for @Pattern validation
2026-02-16 12:01:07 +00:00
Owen Mansel-Chan
91c731f68d
Fix new usage that was introduced
2026-02-16 11:03:27 +00:00
Owen Mansel-Chan
c4192b670b
More copilot suggestions
2026-02-16 11:02:21 +00:00
Owen Mansel-Chan
53b8f2abb1
Apply copilot's fixes
2026-02-16 11:02:20 +00:00
Owen Mansel-Chan
178fbf9600
Add missing QLDoc
2026-02-16 11:02:19 +00:00
Owen Mansel-Chan
6da3a4557e
Add change note
2026-02-16 11:02:17 +00:00
Owen Mansel-Chan
31840902cd
Fix places which already dealt with both javax and jakarta
2026-02-16 11:02:16 +00:00
Owen Mansel-Chan
4b240ebf8a
Define new predicate javaxOrJakarta()
2026-02-16 11:02:14 +00:00
Owen Mansel-Chan
a5e6f6daf9
Replace "javax" with javaxOrJakarta()
...
This is just a find-replace of `"javax` with `javaxOrJakarta() + "`.
2026-02-16 11:02:12 +00:00
Jeroen Ketema
7d2b40c657
Merge pull request #21313 from MathiasVP/range-analysis-lower-bound-and-measure-enums
...
C++: Measure bounds for `Enum` constants and reduce `getBoundsLimit`
2026-02-16 11:50:38 +01:00
Mathias Vorreiter Pedersen
5ccd61ac97
C++: Respond to review comments.
2026-02-16 09:49:31 +00:00
Mathias Vorreiter Pedersen
bfbb2eef6c
C++: Add a test showing that we infer a lower and upper bound for parameters of enum types.
2026-02-16 09:38:15 +00:00
Mathias Vorreiter Pedersen
84be8517bb
Update cpp/ql/lib/semmle/code/cpp/rangeanalysis/SimpleRangeAnalysis.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-16 09:30:56 +00:00
Tom Hvitved
149f3ed5b6
Merge pull request #21301 from hvitved/rust/type-inference-trait-call-perf
...
Rust: Speedup type inference for `Trait::function()` calls
2026-02-16 10:20:50 +01:00
Owen Mansel-Chan
47a9f87d9b
Merge pull request #21310 from owen-mc/java/regex-execution
...
Java: Add RegexMatch concept and recognise `@Pattern` annotation as sanitizer
2026-02-16 09:11:47 +00:00
Simon Friis Vindum
6f609a5ed6
Merge pull request #21316 from paldepind/ruby/binary-of-at-start-of-line
...
Ruby: Add test cases for binary operator at start of line
2026-02-16 09:49:48 +01:00
Paolo Tranquilli
05a50ad21a
Merge branch 'main' into redsun82/bazel-9
2026-02-16 09:31:50 +01:00
Owen Mansel-Chan
16ddb5658f
Small refactor for stylistic consistency
2026-02-15 14:39:23 +00:00
Owen Mansel-Chan
d6b71a346e
Extend RegexMatch framework to allow for MatcherMatchesCall edge case
2026-02-15 14:39:21 +00:00
Owen Mansel-Chan
8f8f4c2d52
Fix Matcher.matches edge case
2026-02-14 00:28:37 +00:00
Owen Mansel-Chan
90befa0c00
Add failing test for Matcher.matches() edge case
2026-02-14 00:28:34 +00:00
Owen Mansel-Chan
ca4c988e97
Remove redundant variable
2026-02-13 22:58:09 +00:00
Owen Mansel-Chan
2e0f244376
Improve QLDoc on RegexMatch.getName()
2026-02-13 22:55:01 +00:00
Owen Mansel-Chan
c7099584b4
Put imports implementing abstract classes in private module
2026-02-13 22:51:53 +00:00
Owen Mansel-Chan
3c161f9c93
Make contract of RegexMatch clear
2026-02-13 22:47:44 +00:00
Owen Mansel-Chan
1fefa989d7
Rename RegexMatch and only include expressions
2026-02-13 22:45:48 +00:00
Owen Mansel-Chan
953ff9f0d0
PatternAnnotation.getString() should only be field reads
2026-02-13 22:41:20 +00:00
Owen Mansel-Chan
106254b220
Improve QLDocs
2026-02-13 22:40:36 +00:00
Michael Nebel
c3a1eb181e
C#: Extract field modifiers and tag the field as being compiler generated.
2026-02-13 14:18:20 +01:00
Michael Nebel
d93f4850df
C#: Add change-note.
2026-02-13 14:18:18 +01:00
Michael Nebel
97c0267614
C#: Add data flow test for properties using the field keyword.
2026-02-13 14:18:16 +01:00
Michael Nebel
113f3e880b
C#: Add property test case where the field keyword is used.
2026-02-13 12:42:27 +01:00
Michael Nebel
edb2ed8df2
C#: Extract the implicit property backing field when referenced via the field keyword.
2026-02-13 12:42:25 +01:00
Owen Mansel-Chan
5bdf550317
Fix QLDocs
2026-02-12 16:57:14 +00:00
Owen Mansel-Chan
c539c2f4fd
Add change note
2026-02-12 16:57:12 +00:00
Owen Mansel-Chan
bfe26c1989
Add @Pattern as RegexExecution => SSRF sanitizer
2026-02-12 16:57:11 +00:00
Owen Mansel-Chan
d0999e3abd
Add failing test for @Pattern validation
2026-02-12 16:57:04 +00:00
REDMOND\brodes
d1811bc1fe
C++: Removing unnecessary post update node.
2026-02-12 11:19:24 -05:00
REDMOND\brodes
febc82dc19
Merge branch 'UncheckedLeaprYearAfterModification_Refactor_Upstream' of https://github.com/microsoft/codeql into UncheckedLeaprYearAfterModification_Refactor_Upstream
2026-02-12 11:12:01 -05:00
REDMOND\brodes
4a7395b017
C++ Suggested code clean up.
2026-02-12 11:11:43 -05:00
Ben Rodes
9bbbbefd34
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:20:59 -05:00
Ben Rodes
36e4efe77e
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:20:32 -05:00
Ben Rodes
f5a38b4701
Apply suggestion from @geoffw0
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:17:56 -05:00
Ben Rodes
b39732ba02
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:10:11 -05:00
Ben Rodes
dfe6ed2171
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 10:09:25 -05:00
REDMOND\brodes
c64a6762d0
Merge branch 'UncheckedLeaprYearAfterModification_Refactor_Upstream' of https://github.com/microsoft/codeql into UncheckedLeaprYearAfterModification_Refactor_Upstream
2026-02-12 09:52:49 -05:00
REDMOND\brodes
f7231f40eb
C++: misc comment clean up per PR suggestions. Unified additional flow steps for two similar flows into a common additional step predicate.
2026-02-12 09:52:19 -05:00
Ben Rodes
a53218c2ce
Update cpp/ql/lib/change-notes/2026-02-06-UncheckedLeapYearAfterModification_Refactor.md
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 09:36:57 -05:00
Ben Rodes
d1eb9ab5d2
Update cpp/ql/src/Likely Bugs/Leap Year/UncheckedLeapYearAfterYearModification.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-02-12 09:36:36 -05:00
REDMOND\brodes
e2ad1f6511
C++: Updating comment per PR reveiw suggestions.
2026-02-12 09:20:55 -05:00
Simon Friis Vindum
bf02e478fd
Rust: Comment out tests with parse errors
2026-02-12 14:49:09 +01:00
REDMOND\brodes
4d4e7a1b5c
Pretty print for tests.
2026-02-12 08:28:08 -05:00
Taus
7d17454a3b
Merge pull request #21138 from github/tausbn/python-prepare-for-overlay-annotations
...
Prepare dataflow for local annotations
2026-02-12 14:23:45 +01:00
Taus
3e5c2ddeaf
Merge pull request #21308 from github/smowton/admin/path-injection-use-autofix-qhelp
...
Python: use path-injection qhelp variant employed by autofix
2026-02-12 13:17:08 +01:00
Chris Smowton
5f970d9f2f
Rewordings per copilot
2026-02-12 12:01:33 +00:00
Simon Friis Vindum
218585b52a
Ruby: Add additonal tests with operators at the start of lines
2026-02-12 12:30:43 +01:00
Anders Schack-Mulligen
a945f15987
Merge pull request #21317 from aschackmull/java/deprecate-unreachableblocks
...
Java: Deprecate UnreachableBlocks.
2026-02-12 11:43:37 +01:00
Anders Schack-Mulligen
5c53677051
Java: Deprecate UnreachableBlocks.
2026-02-12 11:06:34 +01:00
Mathias Vorreiter Pedersen
2dc91a56eb
C++: Lower the treshold for max number of bounds to 2^29.
2026-02-12 09:44:20 +00:00
Mathias Vorreiter Pedersen
6dd6bddff3
C++: Add more terms to make range analysis test timeout.
2026-02-12 09:44:17 +00:00
Mathias Vorreiter Pedersen
a4dd4f91d4
C++: Also compute type bounds for accesses of an enum type.
2026-02-12 09:44:14 +00:00
Mathias Vorreiter Pedersen
90a16cfaee
Merge pull request #21314 from MathiasVP/remove-tc
...
C++: Remove redundant transitive closure
2026-02-12 09:21:56 +00:00
Simon Friis Vindum
a27d20dbcd
Rust: Add test cases for binary operator at start of line
2026-02-12 09:31:59 +01:00
Michael Nebel
76ed386246
Merge pull request #21315 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-02-12 08:29:25 +01:00
github-actions[bot]
fea07ebfcb
Add changed framework coverage reports
2026-02-12 00:32:08 +00:00
Mathias Vorreiter Pedersen
9596b7b921
C++: No need to compute this TC.
2026-02-11 20:18:03 +00:00
Mathias Vorreiter Pedersen
b14ece72be
C++: Add range analysis test demonstrating missing measuring bounds.
2026-02-11 16:58:18 +00:00
Tom Hvitved
9f5b8141f0
Rust: Fix bad join
...
Before
```
Pipeline standard for TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc@be110b6w was evaluated in 512 iterations totaling 114ms (delta sizes total: 10942).
8395 ~0% {5} r1 = JOIN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, _, Lhs.0, Lhs.3
8395 ~0% {4} | REWRITE WITH Tmp.2 := 1, Out.2 := (Tmp.2 + In.4) KEEPING 4
8448 ~0% {5} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2_0132#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.0, Lhs.1, Lhs.2
7440 ~0% {5} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.0, Lhs.3, Lhs.4
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.4
2937 ~0% {5} r2 = JOIN TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev_delta WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.0, Lhs.1, Rhs.2
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.1, Lhs.4, Lhs.3, Lhs.2
0 ~0% {6} r3 = JOIN r2 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.1, Rhs.3, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
0 ~0% {5} | SCAN OUTPUT In.2, In.3, In.1, _, In.0
0 ~0% {5} | REWRITE WITH Out.3 := 0
0 ~0% {4} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.0, Lhs.1, _
0 ~0% {4} | REWRITE WITH Out.3 := 0
12463 ~0% {2} r4 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev_delta` OUTPUT In.1, In.0
22532135 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#reorder_1_0_2#prev` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Rhs.2
12463 ~0% {4} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#reorder_0_2_1#prev ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Rhs.2, Lhs.0
12463 ~2% {6} r5 = JOIN r4 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.0, Lhs.3, Lhs.1, Lhs.2, Rhs.3, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
4285 ~0% {5} | SCAN OUTPUT In.0, In.2, In.3, _, In.1
4285 ~0% {5} | REWRITE WITH Out.3 := 0
4285 ~1% {4} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.0, Lhs.1, _
4285 ~1% {4} | REWRITE WITH Out.3 := 0
0 ~0% {4} r6 = JOIN r2 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.1, Rhs.3
0 ~0% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
12463 ~45% {4} r7 = JOIN r4 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 3 OUTPUT Lhs.3, Lhs.0, Lhs.1, Rhs.3
8178 ~50% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.0, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
7428 ~58% {4} | SCAN OUTPUT In.1, In.0, In.2, In.3
4264 ~0% {3} r8 = SCAN `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev_delta` OUTPUT In.1, In.2, In.0
4312 ~0% {5} r9 = JOIN r8 WITH `_project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/__#join_rhs#1` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2, _, Lhs.2
4312 ~0% {5} | REWRITE WITH Out.3 := 0
4312 ~0% {5} | JOIN WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 4 OUTPUT Lhs.4, Lhs.2, Lhs.0, Lhs.1, _
4312 ~0% {5} | REWRITE WITH Out.4 := 0
12760 ~0% {5} r10 = JOIN r8 WITH `project#TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::toCheckRanked/5#52f6d5e0#2` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.1, Rhs.2, Rhs.3
0 ~0% {7} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0, Rhs.3, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.3 - Tmp.6), TEST Out.6 = InOut.5
0 ~0% {5} | SCAN OUTPUT In.4, In.2, In.0, In.1, In.3
4312 ~0% {5} r11 = r9 UNION r10
4288 ~0% {5} | JOIN WITH TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::MkCallAndPos#53e3fb94#prev ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.3, Lhs.4, Lhs.0
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::ArgIsInstantiationOfToIndex::ArgSubstIsInstantiationOf::isInstantiationOf/3#5154f0d6#prev` ON FIRST 2 OUTPUT Lhs.4, Lhs.1, Lhs.2, Lhs.3
11713 ~36% {4} r12 = r1 UNION r3 UNION r5 UNION r6 UNION r7 UNION r11
10942 ~39% {4} | AND NOT `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev`(FIRST 4)
return r12
```
After
```
Pipeline standard for TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc@07309ry7 was evaluated in 168 iterations totaling 145ms (delta sizes total: 8395).
12517 ~0% {6} r1 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, _
4337 ~0% {5} | REWRITE WITH Tmp.5 := 0, TEST InOut.3 = Tmp.5 KEEPING 5
4285 ~1% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, _
4285 ~1% {4} | REWRITE WITH Out.3 := 0
0 ~0% {4} r2 = JOIN `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3
0 ~0% {5} r3 = SCAN r2 OUTPUT In.0, In.1, In.2, In.3, _
{4} | REWRITE WITH Tmp.4 := 0, TEST InOut.3 = Tmp.4 KEEPING 4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, _
0 ~0% {4} | REWRITE WITH Out.3 := 0
8395 ~0% {5} r4 = JOIN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev_delta` WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, Lhs.3
8395 ~0% {4} | REWRITE WITH Tmp.3 := 1, Out.3 := (Tmp.3 + In.4) KEEPING 4
0 ~0% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
0 ~0% {6} r5 = JOIN r2 WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
0 ~0% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
12517 ~18% {4} r6 = SCAN `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argIsInstantiationOf/5#efdc1fbb#reorder_0_2_3_4_1#prev_delta` OUTPUT In.0, In.1, In.2, In.3
11759 ~12% {4} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodCall.resolveCallTargetBlanketCand/1#dispred#f8b86f2d#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
9874 ~12% {6} | JOIN WITH `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.3, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.3 - Tmp.5), TEST Out.5 = InOut.4
7476 ~18% {4} | SCAN OUTPUT In.0, In.1, In.2, In.3
11761 ~12% {4} r7 = r1 UNION r3 UNION r4 UNION r5 UNION r6
8395 ~0% {4} | AND NOT `TypeInference::NonMethodResolution::NonMethodArgsAreInstantiationsOfBlanket::argsAreInstantiationsOfToIndex/4#f6ff35dc#prev`(FIRST 4)
return r7
```
2026-02-11 16:11:30 +01:00
Owen Mansel-Chan
6a8204d28c
"dataflow" -> "data flow" in QLDoc
2026-02-11 13:41:14 +00:00
Owen Mansel-Chan
1ee5728311
Add missing QLDoc
2026-02-11 13:40:20 +00:00
Owen Mansel-Chan
a22fd39230
Use RegexExecution in sanitizer definitions (expands scope)
2026-02-11 13:09:48 +00:00
Owen Mansel-Chan
fa3fba4a00
Use new regex-related classes (no functional change)
2026-02-11 13:09:46 +00:00
Owen Mansel-Chan
44eeee5757
Add and improve classes for regex-related methods
2026-02-11 13:09:45 +00:00
Owen Mansel-Chan
e6dbd525c3
Add RegexExecution in Concepts.qll
2026-02-11 13:09:42 +00:00
Simon Friis Vindum
522e4d64de
Merge pull request #21273 from paldepind/rust/tp-assoc
...
Rust: Implement support for associated types accessed on type parameters
2026-02-11 13:39:55 +01:00
Chris Smowton
bed1ec8981
Enhance path validation recommendations
...
Expanded recommendations for validating user input when constructing file paths, including normalization and using allowlists.
2026-02-11 12:10:08 +00:00
Simon Friis Vindum
6c67475352
Rust: Minor tweaks in type inference
2026-02-11 12:32:54 +01:00
Simon Friis Vindum
287a8717a8
Rust: Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-11 12:19:22 +01:00
Philip Ginsbach-Chen
9ed22610a3
Merge pull request #21306 from github/ginsbach/avoid-nontrivially-shadowing-toString
...
Avoid non-trivially shadowing `string.toString()`
2026-02-11 11:03:07 +00:00
Tom Hvitved
36c3084435
Merge pull request #21305 from hvitved/rust/type-inference-speedup
...
Rust: Speedup `inferMethodCallTypeSelf`
2026-02-11 11:03:06 +01:00
Tom Hvitved
37af38eed5
Merge pull request #21282 from hvitved/rust/path-resolution/type-inference-expectations
...
Rust: Distinguish path resolution expectations from type inference expectations
2026-02-11 11:00:28 +01:00
Tom Hvitved
89e9a253eb
Rust: Distinguish path resolution expectations from type inference expectations
2026-02-11 10:33:41 +01:00
Paolo Tranquilli
40b908494c
Merge branch 'main' into redsun82/bazel-9
2026-02-11 09:29:52 +01:00
Paolo Tranquilli
000d8244c4
address review
2026-02-11 09:29:42 +01:00
Simon Friis Vindum
2fa71f0c17
Rust: Add examples with associated type accessed on associated type
2026-02-11 09:10:21 +01:00
Simon Friis Vindum
2b10c8aef3
Rust: Fix gramar in qldoc
2026-02-11 09:09:34 +01:00
Michael Nebel
0ac1bc4c57
Merge pull request #21299 from microsoft/lwsimpkins/csharp-mad-httputility-upstream
...
Update MaD for System.Web.HttpUtility
2026-02-11 08:47:29 +01:00
Anders Schack-Mulligen
cfa62ae434
Merge pull request #21304 from aschackmull/java/deprecation-followup
...
Java: Add delayed deprecation annotation.
2026-02-11 08:40:01 +01:00
Owen Mansel-Chan
766dc94444
Merge pull request #21150 from github/jketema/go-1.26
...
Go: Update to 1.26
2026-02-11 04:37:31 +00:00
Owen Mansel-Chan
542d4631d7
restore ~ in action.yml version
2026-02-10 22:32:36 +00:00
Owen Mansel-Chan
f01d5840b0
Update to 1.26.0
2026-02-10 22:32:33 +00:00
Owen Mansel-Chan
936c4cc79f
Fix edge case in MaD validation
...
If the db contains no pointer types then we were getting spurious model
validation errors.
2026-02-10 22:32:31 +00:00
Owen Mansel-Chan
e1bddd9365
Model newly added functions
2026-02-10 22:32:30 +00:00
Owen Mansel-Chan
22e9c212d6
Add failing tests for newly added functions
2026-02-10 22:32:28 +00:00
Owen Mansel-Chan
26ef33212d
Test builtins like standard library
2026-02-10 22:32:27 +00:00
Jeroen Ketema
700543b30b
Go: Update supported versions to include 1.26
2026-02-10 22:31:11 +00:00
Jeroen Ketema
22e9b42808
Go: Add change note
2026-02-10 22:31:10 +00:00
Jeroen Ketema
50ed0af9da
Go: Bump maxGoVersion to 1.26
2026-02-10 22:31:08 +00:00
Jeroen Ketema
e00e3a87ff
Update Go version in tests to 1.26.0
2026-02-10 22:31:00 +00:00
Tom Hvitved
8955fd0bf4
Merge pull request #21303 from hvitved/rust/add-telemetry-tags
...
Rust: Add `telemtry` tags to queries
2026-02-10 20:13:40 +01:00
REDMOND\brodes
9f9c353806
Update expected files. Copilot suggestions broke unit test expected results (column numbers).
2026-02-10 11:47:23 -05:00
REDMOND\brodes
4bb110beb8
More copilot suggestions.
2026-02-10 11:46:16 -05:00
REDMOND\brodes
a91cf6b7cb
Applying copilot PR suggestions.
2026-02-10 11:37:11 -05:00
Ben Rodes
9f8ed710e2
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_path_validation.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-10 11:09:25 -05:00
Philip Ginsbach
f60d759a65
Avoid non-trivially shadowing string.toString()
...
Prepare libraries for a possible deprecation warning on shadowing
string.toString().
These instanceof classes were using this.(Type).method() to call
supertype methods, but super.method() is clearer and equivalent
for instanceof supertypes.
2026-02-10 15:46:10 +00:00
Paolo Tranquilli
e4871fc519
Merge branch 'main' into redsun82/bazel-9
2026-02-10 16:20:28 +01:00
Ian Lynagh
00acff293a
Merge pull request #21281 from igfoo/igfoo/discarding
...
C++ overlay: Discarding elements
2026-02-10 15:14:58 +00:00
Tom Hvitved
49f24ca8ec
Rust: Avoid using regexpCapture with multiple capture groups
2026-02-10 16:11:49 +01:00
Tom Hvitved
564a3bd444
Rust: Simplify inferMethodCallTypeSelf
2026-02-10 15:30:56 +01:00
Michael Nebel
ece85854cd
Merge pull request #21285 from michaelnebel/csharp14/implicittypedlambdaparametermodifiers
...
C# 14: [TEST ONLY] Simple lambda parameters with modifiers.
2026-02-10 14:16:19 +01:00
Michael Nebel
c15ad31b07
Merge pull request #21220 from michaelnebel/csharp14/extension
...
C# 14: Support `extension` types.
2026-02-10 14:15:57 +01:00
Anders Schack-Mulligen
5116b0c1e5
Java: Add delayed deprecation annotation.
2026-02-10 14:02:48 +01:00
Paolo Tranquilli
37261b2f5c
fix: sort use_repo alphabetically in rules_kotlin MODULE.bazel
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
b38c3268fb
fix: upgrade rules_kotlin to 2.2.2 for Windows compatibility
...
Upgrade from 2.2.0-codeql.1 to 2.2.2-codeql.1 which includes:
- Fix Windows bzlmod builder classpath issue
- Move to official bazel worker api
This eliminates the need for --legacy_external_runfiles on Windows.
Also fix codegen templates to be included in runfiles.
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
ca90de2bed
fix: disable Android SDK auto-detection for Bazel 9 compatibility
...
rules_android has repository visibility issues with Bazel 9 when the
Android SDK is present. Since we don't use Android, disable detection
by setting ANDROID_HOME to empty.
2026-02-10 13:44:07 +01:00
Paolo Tranquilli
f8ed810a44
refactor: migrate C++ runfiles API from bazel_tools to rules_cc
...
Bazel 9 moves the C++ runfiles library from @bazel_tools to @rules_cc.
Update zipmerge_test.cpp:
- Change include from tools/cpp/runfiles to rules_cc/cc/runfiles
- Update namespace from bazel::tools::cpp::runfiles to rules_cc::cc::runfiles
Note: The BUILD.bazel dependency change is in a separate commit.
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
10a2824b82
refactor: migrate BUILD files to explicit rules_java imports
...
Add explicit load statements for java_library and java_test from
@rules_java//java:defs.bzl in:
- javascript/extractor/BUILD.bazel
- javascript/extractor/test/com/semmle/js/extractor/test/BUILD.bazel
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
f881d368f0
refactor: migrate BUILD files to explicit rules_cc imports
...
Add explicit load statements for cc_binary, cc_library, and cc_test
from @rules_cc//cc:defs.bzl in:
- shared/cpp/BUILD.bazel
- swift/logging/BUILD.bazel
- misc/bazel/internal/zipmerge/BUILD.bazel
2026-02-10 13:44:06 +01:00
Paolo Tranquilli
d1c63603ee
refactor: migrate Starlark files to explicit rules_cc imports
...
Bazel 9 removes native.cc_* and CcInfo from global scope. Update:
- swift/rules.bzl: Add cc_binary, cc_library, CcInfo imports; use
explicit cc_binary/cc_library instead of native.cc_*
- misc/bazel/cmake/cmake.bzl: Add CcInfo import for provider usage
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
578efeaaa3
feat: add rules_cc to autoload configuration
...
Add +@rules_cc to --incompatible_autoload_externally to enable
graceful migration path for cc_* rule usages before all files
are updated with explicit imports.
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
4d6fb873ab
feat: add Python 3.12 toolchain registration
...
rules_python 1.x requires explicit toolchain setup and no longer
auto-registers toolchains. Register Python 3.12 toolchain to ensure
Python tools work correctly with Bazel 9.
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
39218f5e6b
feat: add rules_cc and rules_java module dependencies
...
Add explicit dependencies required for Bazel 9:
- rules_cc 0.2.16: provides cc_binary, cc_library, cc_test
- rules_java 9.0.3: provides java_* rules
Also update related dependencies:
- rules_go: 0.56.1 → 0.59.0 (compatibility with Bazel 9)
- gazelle: 0.40.0 → 0.47.0 (compatibility with rules_go 0.59.0)
- rules_nodejs: 6.2.0-codeql.1 → 6.7.3 (upstream version)
2026-02-10 13:44:05 +01:00
Paolo Tranquilli
d33375cd16
chore: upgrade Bazel to 9.0.0
...
Bazel 9 removes native.cc_* and native.java_* rules from Starlark,
requiring explicit imports from rules_cc and rules_java.
2026-02-10 13:44:04 +01:00
Michael Nebel
25b836b1b5
C#: Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-10 13:12:53 +01:00
Owen Mansel-Chan
f2d3bc03aa
Merge pull request #21302 from github/mbg/go/bump-to-1.25.7
...
Go: Bump toolchain to `1.25.7`
2026-02-10 10:33:50 +00:00
Tom Hvitved
55e5bc4970
Rust: Add telemtry tags to queries
2026-02-10 11:25:42 +01:00
Michael B. Gale
518fb44a92
Go: Bump toolchain to 1.25.7
2026-02-10 10:01:38 +00:00
Tom Hvitved
5634395a32
Rust: Speedup type inference for Trait::function() calls
2026-02-10 10:50:59 +01:00
Michael B. Gale
eee4014e94
Merge pull request #21300 from github/dependabot/go_modules/go/extractor/extractor-dependencies-393b62c927
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2026-02-10 09:46:56 +00:00
Simon Friis Vindum
a033057d90
Rust: Fix a bad join
2026-02-10 09:54:01 +01:00
Simon Friis Vindum
624ee1898a
Rust: Implement support for associated types accessed on type parameters
2026-02-10 09:53:56 +01:00
Simon Friis Vindum
0cd5366034
Rust: Add type inference test for associated type acces on a type parameter of an impl block
2026-02-10 09:51:56 +01:00
Simon Friis Vindum
78c262ca63
Merge pull request #21297 from hvitved/rust/type-inference-fix-bug
...
Rust: Fix bug in `inferMethodCallTypeSelf`
2026-02-10 09:51:12 +01:00
Tom Hvitved
c3ac20267a
Merge pull request #21217 from hvitved/rust/type-inference-perf
...
Rust: Rework call disambiguation logic
2026-02-10 08:52:01 +01:00
dependabot[bot]
e172cb3f7a
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.32.0 to 0.33.0
- [Commits](https://github.com/golang/mod/compare/v0.32.0...v0.33.0 )
Updates `golang.org/x/tools` from 0.41.0 to 0.42.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.41.0...v0.42.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.33.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.42.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-10 03:15:54 +00:00
Lindsay Simpkins
677949e409
Fix typo in change note
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-09 17:16:10 -05:00
Lindsay Simpkins
fe10fb37e9
add changenote
2026-02-09 16:48:08 -05:00
Lindsay Simpkins
ba3fc0a769
update csharp MaD for System.Web.HttpUtility for tainted URIs
2026-02-09 16:48:05 -05:00
Tom Hvitved
6611978368
Update rust/ql/lib/codeql/rust/internal/typeinference/DerefChain.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-09 19:38:49 +01:00
Tom Hvitved
16539b4667
Address review comments
2026-02-09 19:30:58 +01:00
REDMOND\brodes
23bab81855
Added change log
2026-02-09 13:22:35 -05:00
REDMOND\brodes
df54459552
Restore prior PR change log (accidentally removed)
2026-02-09 13:19:02 -05:00
Ben Rodes
85ae4045c5
Merge branch 'main' into azure_python_sanitizer_upstream2
2026-02-09 13:12:38 -05:00
Ian Lynagh
6235edaa21
C++: Update stats
2026-02-09 18:01:02 +00:00
Ian Lynagh
9a5128f915
C++: Add up/downgrade scripts
2026-02-09 18:01:01 +00:00
Ian Lynagh
c5f6820b5d
C++ overlay: Add trap_filename, source_file_uses_trap, in_trap
2026-02-09 18:01:01 +00:00
yoff
5ad42f8bcc
Merge pull request #20563 from microsoft/azure_python_sdk_url_summary_upstream
...
Azure python sdk url summary upstream
2026-02-09 18:34:36 +01:00
Michael Nebel
bee1718469
QL4QL: Allow Impl classes to implement getAPrimaryQLClass with non Impl suffix.
2026-02-09 16:53:43 +01:00
REDMOND\brodes
98b51149da
C++: Change log missing .md extension.
2026-02-09 10:48:24 -05:00
REDMOND\brodes
8e36316ebf
C++: Addressing Copilot PR suggestions.
2026-02-09 10:42:34 -05:00
Michael Nebel
3e914f7ff1
C#: Add DB downgrade script.
2026-02-09 16:24:19 +01:00
Michael Nebel
42d2de848d
C#: Add DB upgrade script.
2026-02-09 16:24:00 +01:00
Ian Lynagh
b5e3168032
Merge pull request #21286 from github/andersfugmann/kotlin_2.3.10-no-artifacts
...
Kotlin: Support Kotlin 2.3.10
2026-02-09 13:26:40 +00:00
Tom Hvitved
109d802607
Rust: Fix bug in inferMethodCallTypeSelf
2026-02-09 14:15:05 +01:00
Michael B. Gale
71e8730c63
Merge pull request #21263 from github/mbg/csharp/registry-diagnostic
...
C#: Add diagnostic for private registry usage
2026-02-09 12:58:43 +00:00
Michael Nebel
eff9f99f44
C#: Update test expected output.
2026-02-09 13:30:14 +01:00
Michael Nebel
d9fea156f6
C#: Update MaD models for extension members.
2026-02-09 13:28:11 +01:00
Michael Nebel
bcdbd6e283
C#: Use the fully qualified name for the extension type when printing extension types.
2026-02-09 13:27:32 +01:00
Michael Nebel
fe94b3b68b
C#: Address review comments.
2026-02-09 11:46:53 +01:00
Owen Mansel-Chan
90401b3ad3
Merge pull request #21254 from owen-mc/go/astnode-get-enclosing-block
...
Go: Add `AstNode.getEnclosingBlock()`
2026-02-06 22:23:15 +00:00
REDMOND\brodes
1796bc0abb
C++: Add change note.
2026-02-06 16:19:11 -05:00
REDMOND\brodes
36cc20989c
C++: Accept test changes (removing false negative)
2026-02-06 16:11:51 -05:00
REDMOND\brodes
2b806ad6fd
C++: Add missing DateTime models for PTIME_FIELDS and TIME_FIELDS
2026-02-06 16:10:04 -05:00
REDMOND\brodes
a534d26449
C++: Accept test changes.
2026-02-06 16:07:44 -05:00
REDMOND\brodes
ca18179bd2
C++: Correct false positive. Only TimeConversionFunction that do not auto correct for leap year should be considered.
2026-02-06 16:07:07 -05:00
REDMOND\brodes
d9feadcfec
C++. Accept test changes. One false positive introduced, and one false negative remains.
2026-02-06 16:05:38 -05:00
REDMOND\brodes
95d4a541bc
C++: Refactor leap year logic for UncheckedLeapYearAfterYearModification. Includes new logic for detecting leap year checks, new forms of leap year checks detected, and various heuristics to remove false postives. Move TimeConversionFunction into LeapYear.qll and refactored to separate conversion functions that are expected to be checked for failure from those that auto correct leap year dates if feb 29 is provided on a non-leap year. Increas the set of known TimeConversionFunctions.
2026-02-06 16:03:37 -05:00
REDMOND\brodes
6c171c804f
C++: Add more tests for modified years with and without leap year checks (UncheckedLeapYearAfterYearModification). Switch to using 'postprocess' for unit tests.
2026-02-06 16:03:25 -05:00
Jon Janego
d0bd8459a1
Merge pull request #21291 from github/codeql-spark-run-21760759512
...
Update changelog documentation site
2026-02-06 12:28:56 -06:00
Jon Janego
1c43ceae95
Merge branch 'main' into codeql-spark-run-21760759512
2026-02-06 12:16:31 -06:00
Geoffrey White
a5aeadd31d
Rust: Fix for neutral summaries.
2026-02-06 18:15:13 +00:00
Jon Janego
5bf2d9442e
Fix formatting in changelog for Go path injection query
2026-02-06 12:14:03 -06:00
Jon Janego
c40d784a4d
Update codeql-cli-2.23.1.rst
2026-02-06 12:13:34 -06:00
Jon Janego
bf6568b928
Fix formatting for Kotlin version support note
2026-02-06 12:12:55 -06:00
Jon Janego
79ad064a93
Fix formatting in Kotlin version support note
2026-02-06 12:12:16 -06:00
Jon Janego
552976d057
Update codeql-cli-2.19.1.rst
2026-02-06 12:11:49 -06:00
github-actions[bot]
353cd31ce6
update codeql documentation
2026-02-06 18:09:49 +00:00
Geoffrey White
08174d7ec9
Rust: Add test cases for summaries as well.
2026-02-06 18:05:54 +00:00
REDMOND\brodes
f6c302b68c
Removing commented out test cases.
2026-02-06 11:28:48 -05:00
REDMOND\brodes
4f11913ee5
removing SSRFSink.qll
2026-02-06 11:23:58 -05:00
REDMOND\brodes
42f6e6a19c
Fixing inefficiently passed variable in nested existential quantification.
2026-02-06 11:20:15 -05:00
REDMOND\brodes
97f19d03ad
Updating test case expected alerts.
2026-02-06 11:20:13 -05:00
REDMOND\brodes
97ddab0724
Added support for new URIValidator in AntiSSRF library. Updated test caes to use postprocessing results. Currently results for partial ssrf still need work, it is flagging cases where the URL is fully controlled, but is sanitized. I'm not sure if this should be flagged yet.
2026-02-06 11:20:11 -05:00
REDMOND\brodes
27e19813be
Removing an upstream change log, not needed for local fork update.
2026-02-06 11:20:10 -05:00
REDMOND\brodes
88adb05d4b
Adjusting acryonym for SSRF for casing standards.
2026-02-06 11:20:08 -05:00
REDMOND\brodes
265922d2e5
Adding docs.
2026-02-06 11:20:01 -05:00
REDMOND\brodes
7db97799c1
Moved change log to correct location.
2026-02-06 11:19:22 -05:00
Ben Rodes
08b72d0a86
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 11:18:51 -05:00
Ben Rodes
46a2a249f9
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-06 11:18:49 -05:00
REDMOND\brodes
b8ba905253
Added change logs.
2026-02-06 11:18:23 -05:00
REDMOND\brodes
9912aaaf1a
Adding azure sdk test cases and updated test expected file.
2026-02-06 11:18:16 -05:00
Paolo Tranquilli
48db24d184
Merge pull request #21287 from github/redsun82/fix-rust-deps-patching
...
Bazel: fix Rust deps patching for semver build metadata
2026-02-06 17:17:24 +01:00
REDMOND\brodes
8459eec239
Moving the SsrfSink concept into Concepts.qll, and renaming to HttpClientRequestFromModel as suggested in PR review.
2026-02-06 09:26:49 -05:00
Anders Fugmann
c5179e40c6
Kotlin: Add change note for supporting 2.3.10
2026-02-06 14:59:34 +01:00
github-actions[bot]
38830ddc5c
Bazel: fix Rust deps patching for semver build metadata
...
Handle crate versions containing `+` build metadata (e.g., `0.9.11+spec-1.1.0`).
Bazel repo names use `-` instead of `+`, so the generated labels need patching
to reference the correct repo name.
Also adds documentation for both patching issues handled by patch_defs.py.
2026-02-06 14:58:34 +01:00
Anders Fugmann
d5827b5cca
Kotlin: Support Kotlin 2.3.10
2026-02-06 14:54:08 +01:00
Michael Nebel
6c355a1bf8
C#: Update test expected output.
2026-02-06 14:38:27 +01:00
Michael Nebel
e550d4937c
C#: Update parameter modifiers test to include lambda expression from the new test file.
2026-02-06 14:37:50 +01:00
Michael Nebel
62a6b5985d
C#: Add test cases for lambda parameter modifiers.
2026-02-06 14:37:11 +01:00
Mathias Vorreiter Pedersen
2c05624088
Merge pull request #21280 from MathiasVP/make-getChildCount-more-robust
...
C++: Make 'getChildCount' more robust by counting indices instead of elements
2026-02-06 12:19:20 +00:00
Ben Rodes
ac1987f264
Update python/ql/lib/change-notes/2025-09-30-azure_ssrf_models.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-05 15:44:44 -05:00
Mathias Vorreiter Pedersen
d57a42a7f7
C++: Make 'getChildCount' more robust by counting indexes instead of 'TranslatedDeclarationEntry's.
2026-02-05 20:23:45 +00:00
Tom Hvitved
32aaac27ec
Rust: Add type inference regression test
2026-02-05 17:29:42 +01:00
Tom Hvitved
2dc7576232
Rust: Rework call disambiguation logic
2026-02-05 17:29:40 +01:00
Geoffrey White
05a487ec3b
Rust: Repair following merge.
2026-02-05 15:56:58 +00:00
Geoffrey White
c0a5c63e8e
Merge branch 'main' into neutralmodels
2026-02-05 15:53:28 +00:00
Taus
5adc9f8ff0
Merge pull request #21274 from github/tausbn/python-fix-parsing-of-format-specifiers
...
Python: Fix syntax error when `=` is used as a format fill character
2026-02-05 16:37:42 +01:00
Michael Nebel
02e4a8b6f7
C#: Add change-note.
2026-02-05 15:52:43 +01:00
Michael Nebel
bd3e4d3d7e
C#: Add MaD tests for extensions.
2026-02-05 15:38:29 +01:00
Michael Nebel
4b6a53b577
C#: Add extension data flow test.
2026-02-05 15:38:27 +01:00
Michael Nebel
6cbe000d51
C#: Add PrintAst test for extensions.
2026-02-05 15:38:25 +01:00
Michael Nebel
c040daab9c
C#: Add extensions test.
2026-02-05 15:38:20 +01:00
Michael Nebel
849823eff6
C#: Add dispatch logic for calling extensions accessors as methods.
2026-02-05 15:38:16 +01:00
Michael Nebel
e831c80a23
C#: Replace extension parameter access with the corresponding synthetic parameter.
2026-02-05 15:38:14 +01:00
Michael Nebel
5e02a86542
C#: Add extension call classes.
2026-02-05 15:38:12 +01:00
Michael Nebel
b9f36f37b6
C#: Add extension callable and accessor classes.
2026-02-05 15:38:09 +01:00
Michael Nebel
9a4a6cfcb8
C#: Add ExtensionType to the QL library.
2026-02-05 15:38:07 +01:00
Michael Nebel
edfdc9812f
C#: Extract extension types and members. Replacing invocations to static generated methods with invocation of extension type member.
2026-02-05 15:38:05 +01:00
Michael Nebel
ab505e3281
C#: Add class for making synthetic parameter entities.
2026-02-05 15:38:02 +01:00
Taus
8c27437628
Python: Bump extractor version and add change note
2026-02-05 13:50:54 +00:00
Taus
12ee93042b
Python: Add tests
2026-02-05 13:47:24 +00:00
Taus
bac356c9a1
Python: Regenerate parser files
2026-02-05 13:46:59 +00:00
Taus
68c1a3d389
Python: Fix syntax error when = is used as a format fill character
...
An example (provided by @redsun82) is the string `f"{x:=^20}"`. Parsing
this (with unnamed nodes shown) illustrates the problem:
```
module [0, 0] - [2, 0]
expression_statement [0, 0] - [0, 11]
string [0, 0] - [0, 11]
string_start [0, 0] - [0, 2]
interpolation [0, 2] - [0, 10]
"{" [0, 2] - [0, 3]
expression: named_expression [0, 3] - [0, 9]
name: identifier [0, 3] - [0, 4]
":=" [0, 4] - [0, 6]
ERROR [0, 6] - [0, 7]
"^" [0, 6] - [0, 7]
value: integer [0, 7] - [0, 9]
"}" [0, 9] - [0, 10]
string_end [0, 10] - [0, 11]
```
Observe that we've managed to combine the format specifier token `:` and
the fill character `=` in a single token (which doesn't match the `:` we
expect in the grammar rule), and hence we get a syntax error.
If we change the `=` to some other character (e.g. a `-`), we instead
get
```
module [0, 0] - [2, 0]
expression_statement [0, 0] - [0, 11]
string [0, 0] - [0, 11]
string_start [0, 0] - [0, 2]
interpolation [0, 2] - [0, 10]
"{" [0, 2] - [0, 3]
expression: identifier [0, 3] - [0, 4]
format_specifier: format_specifier [0, 4] - [0, 9]
":" [0, 4] - [0, 5]
"}" [0, 9] - [0, 10]
string_end [0, 10] - [0, 11]
```
and in particular no syntax error.
To fix this, we want to ensure that the `:` is lexed on its own, and the
`token(prec(1, ...))` construction can be used to do exactly this.
Finally, you may wonder why `=` is special here. I think what's going on
is that the lexer knows that `:=` is a token on its own (because it's
used in the walrus operator), and so it greedily consumes the following
`=` with this in mind.
2026-02-05 13:45:54 +00:00
Tom Hvitved
2764d697d2
Rust: Merge Input1 and Input2 modules
2026-02-05 14:29:46 +01:00
Tom Hvitved
c62d95ac9d
Rust: More type inference tests
2026-02-05 14:29:41 +01:00
Paolo Tranquilli
05bef12ddd
Merge pull request #21265 from github/redsun82/csharp-csrf-inheritance
...
C#: Fix CSRF query to check antiforgery attributes on base classes
2026-02-05 14:20:30 +01:00
Idriss Riouak
1df3adf021
Merge pull request #21244 from github/idrissrio/cpp/overlay/changes-json
...
C/C++ overlay: use files table instead of `overlayChangedFiles` for overlay discard
2026-02-05 13:15:07 +01:00
Tom Hvitved
025f73301b
Rust: Move some overloading tests into a separate file
2026-02-05 12:49:53 +01:00
idrissrio
e26c199426
C/C++ overlay: use files table instead of overlayChangedFiles for overlay discard
2026-02-05 12:43:01 +01:00
Tom Hvitved
1203da1b66
Merge pull request #21253 from paldepind/rust/as-path-trait
...
Rust: Resolve `as` paths to trait
2026-02-05 12:38:16 +01:00
Paolo Tranquilli
f79bd3f4cf
C#: accept location changes in test
2026-02-05 12:14:59 +01:00
Mathias Vorreiter Pedersen
476df7de73
Merge pull request #21260 from MathiasVP/add-windows-remote-flow-sources
...
C++: Add more Win32 and Azure SDK remote flow sources
2026-02-05 10:47:03 +00:00
Anders Schack-Mulligen
29e01748b7
Merge pull request #21267 from aschackmull/java/rename-misc
...
Java: Rename several AST predicates.
2026-02-05 11:15:29 +01:00
Anders Schack-Mulligen
11003e685d
Java: Fix qldoc
2026-02-05 10:37:19 +01:00
Geoffrey White
9de5f5c72b
Rust: Clean up and change note.
2026-02-05 08:58:08 +00:00
Anders Schack-Mulligen
e4daeec2ca
Merge pull request #21268 from aschackmull/java/view-cfg
...
Java: Add support for "View CFG" in VSCode.
2026-02-05 09:48:14 +01:00
Anders Schack-Mulligen
81977f11a1
Cfg: qldoc + overlay fixups.
2026-02-05 08:59:28 +01:00
Anders Schack-Mulligen
32fe12a6dd
Java: Delay deprecation a bit.
2026-02-05 08:51:27 +01:00
Geoffrey White
d40071321a
Rust: Implement neutral models for Rust.
2026-02-04 18:58:09 +00:00
Geoffrey White
97f7dcb04a
Rust: Add dataflow test cases for neutral models.
2026-02-04 17:43:05 +00:00
Anders Schack-Mulligen
83adf793e4
Cfg: Fix compilation.
2026-02-04 15:28:37 +01:00
REDMOND\brodes
0a88425170
Python: Altering SSRF MaD to use 'request-forgery' tag. Update to test cases expected results, off by one line. Changed to using ModelOutput::sinkNode.
2026-02-04 09:04:22 -05:00
Ben Rodes
cd73dcfb04
Merge branch 'main' into azure_python_sdk_url_summary_upstream
2026-02-04 08:55:38 -05:00
Simon Friis Vindum
52dc58172d
Merge branch 'main' into rust/as-path-trait
2026-02-04 14:47:57 +01:00
Owen Mansel-Chan
544931f73f
Merge pull request #21266 from owen-mc/python/pretty-print-models-in-test
...
Python: Pretty print models in test
2026-02-04 13:46:51 +00:00
Anders Schack-Mulligen
2d02908e7f
Java: Add change note.
2026-02-04 14:43:32 +01:00
Anders Schack-Mulligen
4fcf3fbff8
Java: Make loop classes extend LoopStmt and use getBody instead of getStmt.
2026-02-04 14:43:31 +01:00
Anders Schack-Mulligen
6f40ac15b4
Java: Rename ReturnStmt.getResult to getExpr.
2026-02-04 14:43:31 +01:00
Simon Friis Vindum
55ea55a44f
Merge pull request #21247 from paldepind/rust/self-types
...
Rust: Resolve `Self` paths in type definitions
2026-02-04 13:41:53 +01:00
Anders Schack-Mulligen
36fa0a22f9
Java: Rename getTrueExpr/getFalseExpr on ConditionalExpr to getThen/getElse.
2026-02-04 13:38:11 +01:00
Michael Nebel
60bb9a9b06
C#: Move some populate methods and location writing methods.
2026-02-04 13:24:21 +01:00
Michael Nebel
c68cd58f70
C#: Add parameter marker interface, allow a type to a parent for parameter and make it possible to specify a parameter position offset.
2026-02-04 13:19:29 +01:00
Michael Nebel
dca10f8740
C#: Add extended_type to the DB scheme.
2026-02-04 12:51:30 +01:00
Owen Mansel-Chan
3f08ff88a4
Pretty print models in test
...
Otherwise the tests breaks when unrelated changes are made because the
model numbers change
2026-02-04 10:52:44 +00:00
Anders Schack-Mulligen
5e6e64b2b7
Java: Rename UnaryExpr.getExpr to getOperand.
2026-02-04 10:50:49 +01:00
Paolo Tranquilli
4973523404
C#: Fix CSRF query to check antiforgery attributes on base classes
...
Fixes https://github.com/github/codeql/discussions/21255
2026-02-04 09:42:20 +01:00
Taus
62fb38d834
Python: Rename otherArgs to implicitArgumentNode
...
Co-authored-by: yoff <yoff@github.com >
2026-02-03 15:32:46 +00:00
Michael B. Gale
571f21ba49
C#: Emit diagnostic if private registries are configured
2026-02-03 15:28:47 +00:00
Anders Schack-Mulligen
2d61fc5309
Java: Add support for "View CFG".
2026-02-03 15:49:27 +01:00
Michael B. Gale
8e39ed079e
Merge pull request #21252 from github/mbg/go/private-registry-diagnostic
...
Go: Add diagnostic for private registry usage
2026-02-03 14:36:19 +00:00
Anders Schack-Mulligen
389cd5d648
Cfg: Extract CFG pretty-printing code.
2026-02-03 15:33:55 +01:00
Mathias Vorreiter Pedersen
092d25451f
C++: Fix Copilot comments.
2026-02-03 11:45:30 +00:00
Mathias Vorreiter Pedersen
32b86eca50
C++: Add change note.
2026-02-03 11:40:31 +00:00
Mathias Vorreiter Pedersen
40a58135c2
C++: Accept test changes.
2026-02-03 11:30:55 +00:00
Mathias Vorreiter Pedersen
7ef96e3f3c
C++: Add taint-inheriting reads from the Winhttp structs.
2026-02-03 11:30:31 +00:00
Mathias Vorreiter Pedersen
5531ef9bc1
C++: Accept test changes.
2026-02-03 11:17:23 +00:00
Mathias Vorreiter Pedersen
cbc2dbc14d
C++: Add flow sources and summary models.
2026-02-03 11:14:16 +00:00
Mathias Vorreiter Pedersen
208cf716dc
C++: Add tests with tests for remote flow sources from the Win32 API and from the Azure SDK.
2026-02-03 11:13:45 +00:00
Simon Friis Vindum
d72d8b63ed
Rust: Fix inconsistency by skipping Self in use globs
2026-02-03 11:54:28 +01:00
Simon Friis Vindum
1791c1f1f9
Rust: Add test with path resolution inconsistency
2026-02-03 11:51:55 +01:00
Michael B. Gale
d5c4a19efa
Apply suggestions from code review
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-02-03 10:34:14 +00:00
Tom Hvitved
6fbf727309
Merge pull request #21251 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2026-02-02 19:12:30 +01:00
Owen Mansel-Chan
e00390d23a
Merge pull request #21224 from owen-mc/go/use-shared-basic-block-lib
...
Go: Use shared basic block lib
2026-02-02 16:31:06 +00:00
Michael B. Gale
d079671ec8
Align testItems with what getEnvVars does
2026-02-02 16:17:22 +00:00
Michael B. Gale
cbbc057dd3
Fix singular/plural wording and add test
2026-02-02 16:15:36 +00:00
Simon Friis Vindum
9fc2a54712
Rust: Accept changes to expected files for consistency checks
2026-02-02 17:12:25 +01:00
Simon Friis Vindum
d0e30d19c4
Rust: Resolve as paths to trait
2026-02-02 16:47:43 +01:00
Simon Friis Vindum
8de37fec17
Rust: Add tests with as paths
2026-02-02 16:43:21 +01:00
Henry Mercer
e712e62f14
Merge pull request #21250 from github/post-release-prep/codeql-cli-2.24.1
...
Post-release preparation for codeql-cli-2.24.1
2026-02-02 07:31:39 -08:00
Michael B. Gale
30b30d65c8
Emit the new diagnostic
2026-02-02 14:47:25 +00:00
Michael B. Gale
6d67e419ff
Move private registry sources out of util package
2026-02-02 14:45:06 +00:00
Michael B. Gale
29930fa6bf
Track active proxy configurations
2026-02-02 14:40:08 +00:00
Michael B. Gale
a57c6cde30
Add EmitPrivateRegistryUsed
2026-02-02 14:39:27 +00:00
Tom Hvitved
b16f1d3778
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate _PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplOrTraitItemNode.ge__#shared@0d3de6d9 with tuple counts:
395360270 ~2% {5} r1 = JOIN Type::TAssociatedTypeTypeParameter#6da9e52a WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Lhs.1, Lhs.2, Rhs.1
1274237644 ~0% {6} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1, Rhs.2
1274237644 ~0% {6} | JOIN WITH PathResolution::TraitItemNode#8d4ce62d ON FIRST 1 OUTPUT Lhs.0, Lhs.4, Lhs.1, Lhs.2, Lhs.3, Lhs.5
6984871 ~0% {5} | JOIN WITH `PathResolution::ImplOrTraitItemNode.getAssocItem/1#f77bb9ed` ON FIRST 3 OUTPUT Lhs.2, Lhs.0, Lhs.3, Lhs.4, Lhs.5
6984871 ~0% {4} | JOIN WITH TypeAlias::Generated::TypeAlias#1ca97780 ON FIRST 1 OUTPUT Lhs.4, Lhs.1, Lhs.2, Lhs.3
6076675 ~0% {4} | JOIN WITH `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
return r1
```
After
```
Evaluated relational algebra for predicate _PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplOrTraitItemNode.ge__#shared@760e0499 with tuple counts:
443292 ~2% {3} r1 = SCAN `PathResolution::ImplOrTraitItemNode.getAssocItem/1#f77bb9ed` OUTPUT In.0, In.2, In.1
1258 ~1% {3} | JOIN WITH Type::TAssociatedTypeTypeParameter#6da9e52a ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Rhs.2
13656944 ~3% {4} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Rhs.2
6984871 ~0% {4} | JOIN WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Rhs.1
6076675 ~0% {4} | JOIN WITH `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
return r1
```
2026-02-02 15:26:32 +01:00
github-actions[bot]
73d06f26cb
Post-release preparation for codeql-cli-2.24.1
2026-02-02 14:04:26 +00:00
Ben Rodes
7ddfa80399
Merge branch 'main' into azure_python_sdk_url_summary_upstream
2026-02-02 09:00:35 -05:00
Henry Mercer
fedb9464af
Merge pull request #21248 from github/henrymercer/fix-mysql-typo
...
Fix capitalization of MySQL
2026-02-02 05:33:39 -08:00
Simon Friis Vindum
99b498b891
Rust: Resolve Self paths in type definitions
2026-02-02 13:51:59 +01:00
Simon Friis Vindum
95afe615b5
Rust: Add path resolution tests
2026-02-02 13:51:57 +01:00
Simon Friis Vindum
8b03608a4f
Merge pull request #21188 from paldepind/rust/self-path-assoc
...
Rust: Implement type inference for associated types for concrete types
2026-02-02 13:50:43 +01:00
Henry Mercer
1a6b2b9b82
Fix capitalization of MySQL
2026-02-02 12:37:32 +00:00
Henry Mercer
57c2208f7a
Merge pull request #21246 from github/henrymercer/kotlin/version-range-formatting
...
Fix formatting of Kotlin version ranges
2026-02-02 04:30:52 -08:00
Henry Mercer
5f1fd57f84
Fix formatting of Kotlin version ranges
2026-02-02 12:22:50 +00:00
Henry Mercer
6b78313701
Merge pull request #21245 from github/release-prep/2.24.1
...
Release preparation for version 2.24.1
2026-02-02 04:12:14 -08:00
Henry Mercer
38fcc61817
Fix formatting in Kotlin changelog
2026-02-02 12:10:15 +00:00
github-actions[bot]
0db542e9f0
Release preparation for version 2.24.1
2026-02-02 12:09:09 +00:00
Tom Hvitved
4a04f7b66f
Merge pull request #21243 from hvitved/csharp/insecure-object-tests
...
C#: Add more tests for `InsecureDirectObjectReference.ql`
2026-02-02 13:03:23 +01:00
Simon Friis Vindum
0567864a83
Rust: Make module private
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-02-02 12:57:26 +01:00
Simon Friis Vindum
18576838d4
Rust: Minor tweaks and improvements
2026-02-02 12:07:18 +01:00
Tom Hvitved
fe0634574d
C#: Add more tests for InsecureDirectObjectReference.ql
2026-02-02 11:09:26 +01:00
Michael B. Gale
9a00c75460
Merge pull request #21236 from github/mbg/csharp/fix-registry-feeds
...
C#: Make sure `allFeeds` contains at least `explicitFeeds`
2026-02-02 07:49:33 +00:00
Owen Mansel-Chan
8aa1bff9a5
Add AstNode.getEnclosingBlock()
2026-02-01 23:06:26 +00:00
Owen Mansel-Chan
5204255615
Merge pull request #21234 from owen-mc/python/convert-sanitizers-to-mad
...
Python: Allow models-as-data sanitizers
2026-01-30 14:28:39 +00:00
Owen Mansel-Chan
0222159df5
Specify vulnerable args instead of safe ones
2026-01-30 14:10:03 +00:00
Michael B. Gale
454d13b485
Remove element check
2026-01-30 14:03:43 +00:00
Mathias Vorreiter Pedersen
16670511de
Merge pull request #21239 from MathiasVP/logical-binary-fix-guards-cpp
...
C++: Ensure that there are AST `GuardCondition`s for `||` and `&&`
2026-01-30 13:50:55 +00:00
Michael B. Gale
ad2aa6d4f8
Accept expected diagnostic output
2026-01-30 13:38:50 +00:00
Michael B. Gale
3e0719609f
Fix missing negation
2026-01-30 13:30:47 +00:00
Michael B. Gale
1aba0b20cd
Add integration test
2026-01-30 13:19:47 +00:00
Michael B. Gale
1b5ed129ac
Log and emit diagnostic if incorrectly named files are found
2026-01-30 13:19:46 +00:00
Taus
958c798c3f
Python: Accept dataflow test changes
...
New nodes means new results. Luckily we rarely have a test that selects
_all_ dataflow nodes.
2026-01-30 12:50:25 +00:00
Taus
fb6175d10b
Python: Fix consistency test failures
...
As we now have many more capturing closure arguments, we must once again
exclude the ones that don't actually have `argumentOf` defined.
2026-01-30 12:50:25 +00:00
Taus
3f718123a6
Python: Make capturing closure arguments synthetic and non-global
...
Uses the same trick as for `ExtractedArgumentNode`, wherein we postpone
the global restriction on the charpred to instead be in the `argumentOf`
predicate (which is global anyway).
In addition to this, we also converted `CapturedVariablesArgumentNode`
into a proper synthetic node, and added an explicit post-update node for
it. These nodes just act as wrappers for the function part of call
nodes. Thus, to make them work with the variable capture machinery, we
simply map them to the closure node for the corresponding control-flow
or post-update node.
2026-01-30 12:50:25 +00:00
Taus
6113d4be9e
Python: Fix test issues
...
Fixes the test failures that arose from making `ExtractedArgumentNode`
local.
For the consistency checks, we now explicitly exclude the
`ExtractedArgumentNode`s (now much more plentiful due to the
overapproximation) that don't have a corresponding `getCallArg` tuple.
For various queries/tests using `instanceof ArgumentNode`, we instead us
`isArgumentNode`, which explicitly filters out the ones for which
`isArgumentOf` doesn't hold (which, again, is the case for most of the
nodes in the overapproximation).
2026-01-30 12:50:25 +00:00
Taus
7fccc23dbe
Python: Make ExtractedArgumentNode local
...
Explicitly adds a bunch of nodes that were previously (using a global
analysis) identified as `ExtractedArgumentNode`s. These are then
subsequently filtered out in `argumentOf` (which is global) by putting
the call to `getCallArg` there instead of in the charpred.
2026-01-30 12:50:25 +00:00
Taus
ac5a74448f
Python: Fix tests
...
With `ModuleVariableNode`s now appearing for _all_ global variables (not
just the ones that actually seem to be used), some of the tests changed
a bit. Mostly this was in the form of new flow (because of new nodes
that popped into existence). For some inline expectation tests, I opted
to instead exclude these results, as there was no suitable location to
annotate. For the normal tests, I just accepted the output (after having
vetted it carefully, of course).
2026-01-30 12:50:25 +00:00
Taus
30ce4069c7
Python: Remove global restriction on ModuleVariableNode
...
This may result in more nodes, but it should still be bounded by the
number of global variables in the source code.
2026-01-30 12:50:24 +00:00
Taus
4543c66d26
Python: Prepare LocalSourceNode for locality
...
Removes the dependence on the (global) `ModuleVariableNode.getARead()`,
by adding a local version (that doesn't include `import *` reads)
instead.
2026-01-30 12:50:24 +00:00
Mathias Vorreiter Pedersen
5f079c1d51
C++: Add change note.
2026-01-30 12:19:28 +00:00
Michael B. Gale
5ba3b679dd
Move into if statement
2026-01-30 12:18:56 +00:00
yoff
8c0baefd3b
Merge pull request #21141 from mbaluda/prompt-injection
...
Python: Prompt injection in OpenAI clients
2026-01-30 12:55:56 +01:00
Anders Peter Fugmann
78495035a6
Merge pull request #20965 from github/andersfugmann/kotlin_2.3.0-beta2
...
Kotlin: Support Kotlin 2.3.0
2026-01-30 11:37:19 +01:00
Owen Mansel-Chan
a3885cd8b2
Replace sanitizer by exclusion from sink definition
2026-01-30 09:28:02 +00:00
Owen Mansel-Chan
b4cb2c3f13
Make qldoc slightly more specific
2026-01-30 09:28:01 +00:00
Owen Mansel-Chan
ef6332c581
Allow MaD sanitizers for queries with MaD sinks
2026-01-30 09:27:59 +00:00
Owen Mansel-Chan
ad6f800022
Pretty print model numbers in tests
2026-01-30 09:21:24 +00:00
Owen Mansel-Chan
e5f52f086c
Merge pull request #21235 from owen-mc/shared/docs/provenance-path-graph
...
Shared: Add missing QLDocs
2026-01-30 09:02:48 +00:00
Jon Janego
18a2aca42f
Merge pull request #21237 from github/urllib-typo-fix
...
Urllib typo fix
2026-01-29 17:32:12 -06:00
yoff
e7a0fc7140
python: Add query for prompt injection
...
This pull request introduces a new CodeQL query for detecting prompt injection vulnerabilities in Python code targeting AI prompting APIs such as agents and openai. The changes includes a new experimental query, new taint flow and type models, a customizable dataflow configuration, documentation, and comprehensive test coverage.
2026-01-29 23:47:52 +01:00
Jon Janego
f14ccd8c81
Fix typo in taint flow model for urllib.parse
2026-01-29 16:21:14 -06:00
Jon Janego
e54d7c7c73
Update CHANGELOG.md
2026-01-29 16:20:25 -06:00
Jon Janego
813d4639ca
Fix typo in taint flow model for urllib.parse
2026-01-29 16:18:21 -06:00
Michael B. Gale
76fe3fa502
C#: Make sure allFeeds contains at least explicitFeeds
2026-01-29 21:43:44 +00:00
Owen Mansel-Chan
8b936c5dbe
Add missing QLDocs
2026-01-29 16:45:23 +00:00
Taus
34800d1519
Merge pull request #20945 from joefarebrother/python-websockets
...
Python: Model remote flow sources for the `websockets` library
2026-01-29 15:47:46 +01:00
Jon Janego
1644376cc9
Merge pull request #21222 from github/codeql-spark-run-21376405640
...
Update changelog documentation site
2026-01-29 08:44:11 -06:00
Mathias Vorreiter Pedersen
1b1c9c680c
Merge pull request #21227 from MathiasVP/postfix-fix
...
C++: Get rid of an ugly workaround in dataflow
2026-01-29 12:25:02 +00:00
Mathias Vorreiter Pedersen
61a53fadc0
C++: Fix spelling.
2026-01-29 11:50:44 +00:00
Owen Mansel-Chan
2f29c905c3
Fix typo in change note
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-28 22:39:08 +00:00
Owen Mansel-Chan
e1cf0a15ed
Add change note
2026-01-28 22:12:31 +00:00
Owen Mansel-Chan
52c510bfea
Use shared getScope instead of getRoot
2026-01-28 22:12:30 +00:00
Owen Mansel-Chan
b2f878229d
Use shared getASuccessor and getAPredecessor
2026-01-28 22:12:23 +00:00
Owen Mansel-Chan
3dd6b3fb69
Use shared basic blocks library
2026-01-28 22:11:59 +00:00
Owen Mansel-Chan
c316d51d41
Add ConditionGuardNode.getOutcome
2026-01-28 21:46:26 +00:00
Mathias Vorreiter Pedersen
25647badbd
C++: Fix the AST wrapper for binary logical operators.
2026-01-28 14:06:10 +00:00
Mathias Vorreiter Pedersen
6445fd805d
C++: Fix IR -> AST mapping for basic blocks.
2026-01-28 14:01:34 +00:00
Owen Mansel-Chan
a35e7b27af
Merge pull request #21226 from owen-mc/java/update-qhelp-unrelease-lock
...
Java: Improve qhelp for `java/unreleased-lock` and add lock type exclusion
2026-01-28 09:46:31 +00:00
Anders Fugmann
ab495fa843
Kotlin: Inline cast
2026-01-28 10:11:22 +01:00
Anders Fugmann
2320d502db
Kotlin: Address detections from kotin internal queries
2026-01-28 10:11:21 +01:00
Anders Fugmann
31867a56fb
Kotlin: Accept test changes
...
Accept test changes from Kotlin 2.3.0 update
Updates expected test outputs for kotlin2 library tests to match
actual compiler output. Changes include:
- Location adjustments for properties/methods (now point to identifiers)
- CastExpr -> ImplicitCastExpr for implicit type casts
- Removed duplicate BlockStmt entries in loop ASTs
- Super constructor call location changes
Note that in Kotlin 2.3.0 super constructor calls now have locations spanning
entire class declarations instead of the actual super call site.
2026-01-28 10:11:21 +01:00
Anders Fugmann
86d9c349ec
Kotlin: Accept test changes
2026-01-28 10:11:21 +01:00
Anders Fugmann
59fa01e386
Kotlin: Add bitwise 'and' operation expected by Kotlin 2.3 compiler to exist in the stdlib
2026-01-28 10:11:20 +01:00
Anders Fugmann
a6f8af0de5
Kotlin: Accept column location changes in tests
2026-01-28 10:11:20 +01:00
Anders Fugmann
f6f5b7e1e9
Kotlin: Accept test changes after rebasing to include changes from https://github.com/github/codeql/pull/21216
2026-01-28 10:11:19 +01:00
Anders Fugmann
275724000b
Kotlin: Update kotlin serialization integration test to use Kotlin compiler 1.8.10 and accept test changes
2026-01-28 09:30:22 +01:00
Anders Fugmann
939f3e83aa
Kotlin: Update kotlin compiler version in integration tests
2026-01-28 09:30:22 +01:00
Anders Fugmann
d69fe20d7d
Kotlin: Bump upper bound for supported kotlin version in integration test
2026-01-28 09:30:22 +01:00
Anders Fugmann
9f5de6b4f2
Kotlin: Bump versions in documentation
2026-01-28 09:30:21 +01:00
Anders Fugmann
6d60595d73
Kotlin: Add changenotes for Kotlin 2.3 support and removal of support for Kotlin 1.6 and 1.7
2026-01-28 09:30:21 +01:00
Anders Fugmann
e1f3d5b374
Kotlin: Do not skip writing of getter and setters if the local deligate is null
2026-01-28 09:30:20 +01:00
Anders Fugmann
5cdfb77504
Kotlin: Add additional warning suppresion to v1_9_0 and remove copy in v2_3_0
2026-01-28 09:30:20 +01:00
Anders Fugmann
8ee35231c2
Kotlin: Remove support for Kotlin versions 1.6 and 1.7
...
This change rolls up all files from v1_6_0, v1_6_20, v1_7_0 and v_1_7_20.
In addition, versioned files that are not overridden by any later Kotlin versions (i.e. files that only have one copy under utils/versions) are inlined and removed to simplify list of changes.
List of removed/inlined files:
allOverriddenIncludingSelf.kt
copyTo.kt
ExperimentalCompilerApi.kt
getFileClassFqName.kt
IsUnderscoreParameter.kt
ReferenceEntity.kt
SyntheticBodyKind.kt
Types.kt
withHasQuestionMark.kt
2026-01-28 09:30:20 +01:00
Anders Fugmann
55525279ca
Kotlin: Remove obsolete file
2026-01-28 09:30:19 +01:00
Anders Fugmann
4d7c84178a
Kotlin: Fix spelling
2026-01-28 09:30:19 +01:00
Anders Fugmann
eb37255c4b
Kotlin: Create IrSimpleType factory function to support constructor changes introduced in Kotlin 2.3
2026-01-28 09:30:18 +01:00
Anders Fugmann
164cae845d
Kotlin: Strip prefix when building plugin
2026-01-28 09:30:18 +01:00
Anders Fugmann
b8d01ed21b
Kotlin: Fix bazel format and address copilot review comments
2026-01-28 09:30:18 +01:00
Anders Fugmann
cc25d30fed
Kotlin: Update compiler plugin for Kotlin 2.3.0
2026-01-28 09:30:17 +01:00
Anders Fugmann
07e5479aff
Kotlin: Add support for Kotlin 2.3.0
2026-01-28 09:30:17 +01:00
Anders Fugmann
bc419fd35c
Kotlin: Silence compilation warnings
2026-01-28 09:30:16 +01:00
Anders Fugmann
772503bad8
Kotlin: Remove resource_strip_prefix for kotlin extraction
2026-01-28 09:30:16 +01:00
Anders Fugmann
beff080ee7
Kotlin: Update kotlin_rules to 2.2.0 and remove support for Kotlin 1.6 and 1.7
2026-01-28 09:30:16 +01:00
Anders Peter Fugmann
f4edff9452
Merge pull request #21216 from github/andersfugmann/kotlin_extractor_load_last
...
Kotlin: Load kotlin extractor last
2026-01-28 09:22:46 +01:00
Mathias Vorreiter Pedersen
4503c625b4
C++: Implement copilot suggestions.
2026-01-27 19:02:28 +00:00
Mathias Vorreiter Pedersen
28fec0c129
C++: Accept test changes.
2026-01-27 18:29:21 +00:00
Mathias Vorreiter Pedersen
445cca1432
C++: Proper SSA support for post-crement reads.
2026-01-27 18:29:12 +00:00
Henry Mercer
497135593c
Merge branch 'main' into codeql-spark-run-21376405640
2026-01-27 09:11:02 -08:00
Henry Mercer
2214a944bb
Merge pull request #21225 from github/rc/3.20
...
Merge `rc/3.20` back to `main`
2026-01-27 07:56:58 -08:00
Owen Mansel-Chan
a0c35516bd
Add change note
2026-01-27 15:48:04 +00:00
Owen Mansel-Chan
42cbe0734e
Specify what lock types are considered in qhelp
2026-01-27 15:39:03 +00:00
Owen Mansel-Chan
516b84b59a
Add test for *Pool exclusion
2026-01-27 15:38:29 +00:00
Owen Mansel-Chan
4f1ad0ff5d
Exclude *Pool classes from LockType
2026-01-27 15:38:06 +00:00
Jon Janego
ccc4d8ae3f
Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.24.0.rst
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-27 09:18:25 -06:00
Simon Friis Vindum
2cb0e81da0
Rust: Remove duplicated inclusion of getAdditionalPathTypeAt
2026-01-27 16:17:52 +01:00
Simon Friis Vindum
aae5333325
Rust: Add test with type inference inconsistency
2026-01-27 16:17:51 +01:00
Simon Friis Vindum
fa59a8ae24
Rust: Implement TypeMention for paths that access associated types on concrete types
2026-01-27 16:17:49 +01:00
Simon Friis Vindum
4526afc29f
Rust: Paths to associated types resolve to the associated type if implementation is unclear
2026-01-27 16:17:48 +01:00
Jon Janego
1c5a9053f9
Fix typo in call graph description in change notes
2026-01-27 09:17:40 -06:00
Jon Janego
5a08adc06c
Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.23.1.rst
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-27 09:11:01 -06:00
Jon Janego
0b8b75ac25
Update codeql-cli-2.23.1.rst
2026-01-27 09:10:37 -06:00
Mads Navntoft
b7125a009e
Merge pull request #21221 from github/navntoft/struts
...
Java: Add support for Struts 7.x package names
2026-01-27 15:53:26 +01:00
Owen Mansel-Chan
97a0b9f0ca
(trivial) Remove double spaces in qhelp
2026-01-27 14:40:23 +00:00
Ian Lynagh
46a5035543
Merge pull request #21200 from github/igfoo/rename-holdsInBase-to-isBase
...
C++: Rename `holdsInBase` to `isBase`
2026-01-27 13:50:04 +00:00
Ian Lynagh
bb71790a53
Merge pull request #21199 from github/igfoo/refactorOverlayFunctionCalls
...
C++ overlay: Simplify QL
2026-01-27 13:03:01 +00:00
Mathias Vorreiter Pedersen
db3f22a2e8
C++: Another small refactor.
2026-01-27 12:46:52 +00:00
Mathias Vorreiter Pedersen
3d445be926
C++: Small refactor.
2026-01-27 12:46:48 +00:00
Mads Navntoft
ede05b54ea
Java: Add change note for Struts 7.x package name support
2026-01-27 13:00:16 +01:00
Mads Navntoft
9a94d0474c
Java: Add support for Struts 7.x package names
...
Updates Struts library to recognize both legacy xwork2 and new struts2
packages:
- StrutsActions.qll: Add org.apache.struts2 alternatives for Action,
Preparable, ActionSupport
- StrutsConventions.qll: Add org.apache.struts2.action.Action
alternative
This maintains backward compatibility for analyzing Struts 2.x-6.x apps
while supporting Struts 7.x which renamed packages from
com.opensymphony.xwork2 to org.apache.struts2.
2026-01-27 12:57:55 +01:00
Mathias Vorreiter Pedersen
9e9d57bac5
Merge pull request #21219 from MathiasVP/force-more-uniquess-in-buffer-overflow
...
C++: Enforce more uniqueness in `Buffer.qll`
2026-01-27 11:00:40 +00:00
Owen Mansel-Chan
8e3c373548
Merge pull request #21223 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-27 10:35:28 +00:00
Owen Mansel-Chan
5bfeede364
Add dependency on shared controlflow library
2026-01-27 09:43:19 +00:00
github-actions[bot]
f49531b3ca
Add changed framework coverage reports
2026-01-27 00:28:39 +00:00
github-actions[bot]
0f4f0b880a
update codeql documentation
2026-01-26 22:32:02 +00:00
Mathias Vorreiter Pedersen
e0a7889b71
C++: Undo the hack.
2026-01-26 21:28:21 +00:00
Mathias Vorreiter Pedersen
bd09aad7d5
C++: Add tests.
2026-01-26 21:24:22 +00:00
Mathias Vorreiter Pedersen
980c4cf5f4
Update cpp/ql/lib/semmle/code/cpp/commons/Buffer.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-26 19:12:38 +00:00
Mathias Vorreiter Pedersen
544015d0a6
C++: Add change note.
2026-01-26 19:12:14 +00:00
Tom Hvitved
b974a84bef
Merge pull request #21051 from hvitved/shared/flow-summary-provenance-filtering
...
Shared: Provenance-based filtering of flow summaries
2026-01-26 17:24:34 +01:00
Mathias Vorreiter Pedersen
aed0e688f5
C++: Remove uniqueness since it is enforced earlier now.
2026-01-26 15:01:40 +00:00
Mathias Vorreiter Pedersen
13a5249a9d
C++: Enforce uniqueness in the other branch of 'getSize'.
2026-01-26 15:00:58 +00:00
Mathias Vorreiter Pedersen
91752e5307
C++: Enforce uniqueness in 'getVariableSize'.
2026-01-26 15:00:00 +00:00
Simon Friis Vindum
330505c524
Rust: Add tests for associated types
2026-01-26 15:03:07 +01:00
Anders Fugmann
73850f1b56
Kotlin: Add changenote
2026-01-26 13:27:34 +01:00
yoff
2bd4ccee45
Merge pull request #21004 from yoff/python/mad-barriers
...
Python: MaD barriers
2026-01-26 13:11:21 +01:00
Tom Hvitved
df09f02981
Shared: Shadow hasManualModel in RelevantSummarizedCallable
2026-01-26 12:40:25 +01:00
Tom Hvitved
732c60c07c
C#: Revert change to getASummarizedCallableTarget
2026-01-26 12:40:24 +01:00
Tom Hvitved
0f6bae0ae1
Add change notes
2026-01-26 12:40:22 +01:00
Tom Hvitved
93dad867cd
JS: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:21 +01:00
Tom Hvitved
3b1e062985
C++: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:20 +01:00
Tom Hvitved
0adece7cde
Python: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:19 +01:00
Tom Hvitved
739748c29b
Go: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:18 +01:00
Tom Hvitved
47d9e8a357
Swift: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:17 +01:00
Tom Hvitved
7024b07dd2
Java: Adapt to changes in FlowSummaryImpl
...
Missing manual models were added using the following code added to `FlowSummaryImpl.qll`:
```ql
private predicate testsummaryElement(
Input::SummarizedCallableBase c, string namespace, string type, boolean subtypes, string name,
string signature, string ext, string originalInput, string originalOutput, string kind,
string provenance, string model, boolean isExact
) {
exists(string input, string output, Callable baseCallable |
summaryModel(namespace, type, subtypes, name, signature, ext, originalInput, originalOutput,
kind, provenance, model) and
baseCallable = interpretElement(namespace, type, subtypes, name, signature, ext, isExact) and
(
c.asCallable() = baseCallable and input = originalInput and output = originalOutput
or
correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalInput,
input) and
correspondingKotlinParameterDefaultsArgSpec(baseCallable, c.asCallable(), originalOutput,
output)
)
)
}
private predicate testsummaryElement2(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string originalInput, string originalOutput, string kind, string provenance, string model,
string namespace2, string type2
) {
exists(Input::SummarizedCallableBase c |
testsummaryElement(c, namespace2, type2, _, _, _, ext, originalInput, originalOutput, kind,
provenance, model, false) and
testsummaryElement(c, namespace, type, subtypes, name, _, _, _, _, _, provenance, _, true) and
signature = paramsString(c.asCallable()) and
not testsummaryElement(c, _, _, _, _, _, _, originalInput, originalOutput, kind, provenance,
_, true)
)
}
private string getAMissingManualModel(string namespace2, string type2) {
exists(
string namespace, string type, boolean subtypes, string name, string signature, string ext,
string originalInput, string originalOutput, string kind, string provenance, string model
|
testsummaryElement2(namespace, type, subtypes, name, signature, ext, originalInput,
originalOutput, kind, provenance, model, namespace2, type2) and
result =
"- [\"" + namespace + "\", \"" + type + "\", True, \"" + name + "\", \"" + signature +
"\", \"\", \"" + originalInput + "\", \"" + originalOutput + "\", \"" + kind + "\", \"" +
provenance + "\"]"
)
}
```
2026-01-26 12:40:15 +01:00
Tom Hvitved
c975ae5231
Ruby: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:14 +01:00
Tom Hvitved
c4e0dda178
Rust: Adapt to changes in FlowSummaryImpl
2026-01-26 12:40:10 +01:00
Tom Hvitved
b11b091559
C#: Adapt to changes in FlowSummaryImpl
2026-01-26 12:39:38 +01:00
Tom Hvitved
4ce04e4749
Shared: Provenance-based filtering of flow summaries
2026-01-26 12:39:37 +01:00
Simon Friis Vindum
01cc19cffc
Rust: Add trait visibility test using Self
2026-01-26 12:31:16 +01:00
Simon Friis Vindum
793d2c79de
Merge pull request #21215 from paldepind/shared/type-mention-tree
...
Shared, Rust: Use `HasTypeTreeSig` for `TypeMention`
2026-01-26 12:00:02 +01:00
Michael B. Gale
f76211c64a
Merge pull request #21136 from github/mbg/java/maven-plugin-repo-changenote
...
Java: Add change note for plugin repo support
2026-01-26 10:44:51 +00:00
Michael B. Gale
ffa700c825
Merge pull request #21214 from github/mbg/go/diagnostics-unit-tests
...
Go: Make diagnostics unit-testable and add test for `EmitCannotFindPackages`
2026-01-26 10:44:03 +00:00
Michael B. Gale
bd8a127565
Merge pull request #21213 from github/mbg/go/improve-package-not-found
2026-01-26 09:59:01 +00:00
Anders Fugmann
c488086135
Kotlin: Ensure the kotlin extractor is loaded as the last extension to be able to capture expansions from other extensions
2026-01-26 10:38:11 +01:00
Simon Friis Vindum
452d307fd5
Rust: Make TypeMention directly satisfy HasTypeTree
2026-01-26 09:46:33 +01:00
Simon Friis Vindum
7100ca4262
Rust: Adapt to changes in shared type inference library
2026-01-26 09:33:50 +01:00
Simon Friis Vindum
a7fecaaa1b
Shared: Use HasTypeTreeSig for TypeMention
2026-01-26 09:29:51 +01:00
Michael B. Gale
45e0a929a8
Move nil check into FileDiagnosticsWriter implementation of WriteDiagnostic
2026-01-25 15:33:26 +00:00
Michael B. Gale
8e7d62600d
Make EmitCannotFindPackages testable and add tests
2026-01-25 15:24:43 +00:00
Michael B. Gale
f1f4ddb76c
Add dependency on testify/assert
2026-01-25 15:20:06 +00:00
Michael B. Gale
fafc2ddc0b
Add DiagnosticsWriter interface to abstract over diagnostics output implementation
2026-01-25 15:20:05 +00:00
Michael B. Gale
f837d90060
Improve go/autobuilder/package-not-found diagnostic message
2026-01-25 15:18:19 +00:00
Michael B. Gale
fdc5ae375b
Add IsActionsWorkflow
2026-01-25 12:39:56 +00:00
Michael B. Gale
e250c711aa
Add IsDynamicActionsWorkflow
2026-01-25 12:06:30 +00:00
Mathias Vorreiter Pedersen
cabcb83b2f
Merge pull request #21212 from MathiasVP/fix-as-definition
...
C++: Fix missing results for `Node.asDefinition`
2026-01-23 19:39:22 +00:00
Jeroen Ketema
e36080061d
Merge pull request #21162 from owen-mc/cpp/mad-barriers
...
C++: Allow MaD barriers
2026-01-23 18:14:01 +01:00
Mathias Vorreiter Pedersen
6c2a3a68b6
C++: Add change note.
2026-01-23 16:35:02 +00:00
Mathias Vorreiter Pedersen
a556152b9d
C++: Fix asDefinition to not only work for SSA definitions.
2026-01-23 16:23:21 +00:00
Mathias Vorreiter Pedersen
e58a8330cd
C++: Add test for asDefinition.
2026-01-23 16:22:39 +00:00
Chris Smowton
949fc3745a
Merge pull request #21211 from smowton/smowton/fix/long-actions-expressions
...
Actions: tolerate long `${{ ... }}` expressions
2026-01-23 07:54:59 -08:00
Chris Smowton
a326ce34a8
change note
2026-01-23 15:47:17 +00:00
Chris Smowton
9018401722
Add test
2026-01-23 15:37:40 +00:00
Chris Smowton
6c2e0f7658
Move library tests into subdirectory
2026-01-23 15:35:25 +00:00
Chris Smowton
dc26a57548
Use posessive quantifier to avoid stack overflow on large ${{}} expressions
2026-01-23 15:35:24 +00:00
Owen Mansel-Chan
82e2afc93c
Merge pull request #5 from jketema/cpp/mad-barriers
...
C++: Add MySQL MaD taint and barrier models
2026-01-23 15:06:32 +00:00
Jeroen Ketema
7ed1c0a2ee
C++: Add change note
2026-01-23 14:15:29 +01:00
Jeroen Ketema
ecd247bf16
C++: Add MaD models for MySQL escaping
2026-01-23 14:15:27 +01:00
Jeroen Ketema
ad590f30c1
Merge branch 'main' into cpp/mad-barriers
2026-01-23 14:14:22 +01:00
Jeroen Ketema
075041f1ae
Merge pull request #21209 from jketema/jketema/sql
...
C++: Simplify `cpp/sql-injection` barrier
2026-01-23 13:33:19 +01:00
Rasmus Wriedt Larsen
7e674f3227
Merge pull request #21160 from owen-mc/scripts/accept-ci-changes-more-robust
...
Scripts: be more robust when parsing test logs
2026-01-23 11:49:06 +01:00
Geoffrey White
573ab025b4
Merge pull request #21191 from geoffw0/addsub
...
Rust: More test cases for add, sub etc
2026-01-23 10:30:21 +00:00
Simon Friis Vindum
7bdf2ab9d2
Merge pull request #21210 from paldepind/rust/self-tests
...
Rust: Add tests for `Self` constructors
2026-01-23 11:27:58 +01:00
Simon Friis Vindum
8f6f7d0985
Rust: Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-23 10:07:11 +01:00
Simon Friis Vindum
3d7049265f
Rust: Add tests for Self constructors
2026-01-23 09:06:49 +01:00
Jeroen Ketema
ccd07b8a63
C++: Simplify cpp/sql-injection barrier
...
SQL sanitizers will not likely also be sources, so using `isBarrierIn` here
does not make a lot of sense.
I ran with and without this change on MRVA and got identical results.
2026-01-23 09:03:48 +01:00
yoff
55abc52c61
python: format file
2026-01-22 20:51:46 +01:00
Simon Friis Vindum
e40f896b17
Merge pull request #21205 from paldepind/shared/ti-boound-tm
...
Rust: Change `getATypeParameterConstraint` to not require a `TypeMention`
2026-01-22 19:08:53 +01:00
yoff
d05901ad3f
python/javascript/ruby: mark internal predicates
2026-01-22 17:30:24 +01:00
yoff
7f00a7f67e
Update python/ql/lib/semmle/python/security/dataflow/UrlRedirectCustomizations.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2026-01-22 17:30:24 +01:00
yoff
b08c972cc3
ruby: Add back sanitizer as MaD model
2026-01-22 17:30:24 +01:00
yoff
15980cb1da
ruby: remove sanitizer to be replaced by MaD model
2026-01-22 17:30:24 +01:00
yoff
75bd4a7a12
javascript: add MaD model
...
- consider if the model is in the right place
- consider if the barrier kind (sink kind) is the appropriate one
2026-01-22 17:30:24 +01:00
yoff
da2f77d615
javascript: remove sanitizer to be replaced by model
2026-01-22 17:30:24 +01:00
yoff
3dbfb9fa4b
python: add machinery for MaD barriers
...
and reinstate previously removed barrier
now as a MaD row
2026-01-22 17:30:24 +01:00
yoff
699ed50432
python: remove barrier that can be expressed in MaD
2026-01-22 17:30:24 +01:00
Geoffrey White
f484d95081
Merge remote-tracking branch 'upstream/main' into addsub
2026-01-22 16:03:42 +00:00
Simon Friis Vindum
ffaf1c0a24
Rust: Change getATypeParameterConstraint to not require a TypeMention
2026-01-22 14:54:24 +01:00
Tom Hvitved
201512525b
Merge pull request #21203 from hvitved/ql4ql/use-nightly
...
QL4QL: Use nightly CodeQL CLI
2026-01-22 14:30:24 +01:00
Geoffrey White
b8581e89bf
Rust: More affected tests.
2026-01-22 13:22:43 +00:00
Simon Friis Vindum
7d34f6e262
Merge pull request #21204 from paldepind/rust/assoc-tp-fix
...
Rust: Remove mistakenly included inherited associated types
2026-01-22 13:46:09 +01:00
Geoffrey White
67b52e29e0
Rust: Update other affected tests.
2026-01-22 12:29:21 +00:00
Geoffrey White
3d6765ba1c
Rust: Clean up / fix some existing models.
2026-01-22 12:29:20 +00:00
Geoffrey White
fa9677d615
Rust: Add model variants for core::ops::bit on Wrapping.
2026-01-22 12:29:14 +00:00
Geoffrey White
9d645508ea
Rust: Add model variants for core::ops:arith on Wrapping.
2026-01-22 10:46:15 +00:00
Simon Friis Vindum
114db99dca
Rust: Remove mistakenly included inherited associated types
2026-01-22 11:44:26 +01:00
Tom Hvitved
8ce2618b7d
Merge pull request #21151 from hvitved/rust/disable-universal-conds-by-default
...
Type inference: Disable universal conditions by default
2026-01-22 11:19:50 +01:00
Geoffrey White
e8ef58d381
Rust: Fix an issue with identifying sources and sinks in the test.
2026-01-22 09:58:58 +00:00
Geoffrey White
f8d0a0d509
Rust: Expand the Wrapping test some more.
2026-01-22 09:52:26 +00:00
Tom Hvitved
80d543ecae
QL4QL: Use nightly CodeQL CLI
2026-01-22 10:14:05 +01:00
Tom Hvitved
65ca8849f2
Type inference: Disable universal conditions
2026-01-22 09:56:52 +01:00
Mathias Vorreiter Pedersen
73eb3e262d
Merge pull request #21202 from MathiasVP/add-is-live-predicate-to-ssa-definition
...
C++: Add `isLiveAtEndOfBlock` predicate to `Ssa::Definition`
2026-01-21 22:50:46 +00:00
Mathias Vorreiter Pedersen
60ee92d834
C++: Drive-by fix: Don't use the uncached ''getAPhiInputOrPriorDefinition' predicate. Instead, cache it and call it like we are supposed to.
2026-01-21 20:28:28 +00:00
Mathias Vorreiter Pedersen
d89967ce8e
C++: Add ''isLiveAtEndOfBlock' predicate to 'Definition'.
2026-01-21 20:27:39 +00:00
Mathias Vorreiter Pedersen
dd415386ea
Merge pull request #21142 from MathiasVP/ir-support-for-assertions
...
C++: Generate IR for assertions in release builds
2026-01-21 19:32:24 +00:00
Mathias Vorreiter Pedersen
64a7d7d836
C++: Also output variable name in test.
2026-01-21 19:14:50 +00:00
Ian Lynagh
5e536fb121
C++: Rename holdsInBase to isBase
...
Makes it consistent with isOverlay.
2026-01-21 18:13:58 +00:00
Ian Lynagh
7bd62087a4
C++ overlay: Simplify QL
...
Remove redundant variable names.
2026-01-21 18:06:43 +00:00
Owen Mansel-Chan
656ebab776
Allow MaD barriers
...
This commit was done by Opus 4.5 with the following prompt:
In the commit 004d40ee93 I have made it so that C# CodeQL queries which use sinks defined using data extensions (also known as "models-as-data"), which are accessed using `sinkNode(Node node, string kind)`, also use barriers defined using models-as-data, which are accessed using `barrierNode(Node node, string kind)`, with the same `kind` string. Please do the same for C++. If there are any complicated cases then list them at the end for me to do manually.
2026-01-21 14:45:05 +00:00
Mathias Vorreiter Pedersen
e1089c8d89
Merge branch 'main' into ir-support-for-assertions
2026-01-21 13:56:30 +00:00
Mathias Vorreiter Pedersen
11566ee256
C++: Accept test changes.
2026-01-21 13:50:28 +00:00
Mathias Vorreiter Pedersen
e4ec79255b
C++: Fix bugs in variable resolution for assertions following review comments.
2026-01-21 13:50:27 +00:00
Mathias Vorreiter Pedersen
c30dffc7b9
C++: Add more tests.
2026-01-21 13:50:13 +00:00
Geoffrey White
1d461ff5ad
Rust: Test unpacking the Wrapping number.
2026-01-21 12:49:59 +00:00
Mathias Vorreiter Pedersen
6ae1ea73f7
Merge pull request #21185 from MathiasVP/mad-cpp-guards
...
C++: Support models-as-data barriers and barrier guards
2026-01-21 12:13:49 +00:00
Paolo Tranquilli
0b9691aca2
Merge pull request #21047 from github/redsun82/codegen-readme
...
codegen: mention Rust in the README
2026-01-21 02:51:07 -08:00
Tom Hvitved
9a9e9ac23c
Merge pull request #21168 from hvitved/rust/type-inference-remove-blanket-constraint-restriction
...
Rust: Remove restriction that blanket(-like) impls must have a constraint
2026-01-21 11:05:17 +01:00
Taus
5414bd2716
Merge pull request #21134 from yoff/python/support-ListElement-in-MaD
...
Python support `ListElement` in MaD
2026-01-20 23:38:02 +01:00
Mathias Vorreiter Pedersen
048afc2c88
C++: Add assertion inside catch block. This does not yet work because the 'LocalScopeVariable' does not have a result for 'getFunction'.
2026-01-20 21:31:52 +00:00
Tom Hvitved
f76d85c9c6
Address review comments
2026-01-20 21:06:20 +01:00
yoff
fa926456ef
python: add changenote
2026-01-20 18:16:03 +01:00
Jon Janego
1c38fb6ad6
Merge pull request #21196 from github/changedocs-2.23.9
...
Changedocs 2.23.9
2026-01-20 10:43:21 -06:00
Jon Janego
b3b30a15b8
Changedocs for 2.23.9
2026-01-20 10:27:54 -06:00
Jon Janego
4ca508d420
Changedocs for 2.23.9
2026-01-20 10:23:36 -06:00
Jeroen Ketema
fbcb65a5d9
Merge pull request #21195 from jketema/jketema/embed
...
C++: Support C23/C++26 `#embed` preprocessor directives
2026-01-20 16:27:44 +01:00
Jeroen Ketema
701569bb20
Update cpp/ql/lib/semmle/code/cpp/Preprocessor.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-20 16:05:51 +01:00
Jeroen Ketema
b35271a2ca
C++: Add upgrade and downgrade script
2026-01-20 15:40:24 +01:00
Jeroen Ketema
28047fe625
C++: Update dbscheme stats file
2026-01-20 14:39:00 +01:00
Jeroen Ketema
e7044061fb
C++: Support C23/C++26 #embed preprocessor directives
2026-01-20 14:38:58 +01:00
Ian Lynagh
f8f5094452
Merge pull request #20957 from igfoo/igfoo/consistent-metadata-and-overlay-support
...
C++ / JS / python: Be consistent in TRAP sections
2026-01-20 12:43:49 +00:00
Ian Lynagh
51b1ea84d3
ql for ql: Fix formatting
2026-01-20 12:12:20 +00:00
Ian Lynagh
49ced5fd9d
C++: Add up/downgrade scripts
2026-01-20 11:57:29 +00:00
Ian Lynagh
d6d2855626
rust: Add up/downgrade scripts
2026-01-20 11:56:20 +00:00
Ian Lynagh
c37ab8f98e
rust: Regenerate dbscheme
2026-01-20 11:56:16 +00:00
Ian Lynagh
1fd60c7671
Ruby: Add up/downgrade scripts
2026-01-20 11:56:16 +00:00
Ian Lynagh
82e9ea2da0
python: Add up/downgrade scripts
2026-01-20 11:56:16 +00:00
Ian Lynagh
a299174f4d
javascript: Add up/downgrade scripts
2026-01-20 11:56:15 +00:00
Ian Lynagh
fdefb4d23a
ql-for-ql: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
d2da49220b
python: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
4b9c9e7a5a
Ruby: Regenerate dbscheme
2026-01-20 11:56:15 +00:00
Ian Lynagh
df8029ff87
tree-sitter: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:15 +00:00
Ian Lynagh
4140121e96
javascript: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:14 +00:00
Ian Lynagh
7d6a1f72d5
C++: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:14 +00:00
Ian Lynagh
c6500e2759
tree-sitter: Add dbscheme regeneration instructions
2026-01-20 11:56:14 +00:00
Ian Lynagh
470bc7d6da
ruby: Make 'dbscheme' a phony target
2026-01-20 11:56:14 +00:00
Ian Lynagh
d1175276ca
python: Use more standard shared dbscheme sections
...
We now use the shared "Overlay support" and "Database metadata".
2026-01-20 11:56:13 +00:00
Ian Lynagh
d125e224ac
python: Add dbscheme regeneration instructions
2026-01-20 11:56:13 +00:00
Philip Ginsbach-Chen
dc3b7aaab0
Merge pull request #21184 from github/ginsbach/OverlayDocumentation
...
add documentation for overlay annotations
2026-01-20 11:26:46 +00:00
Philip Ginsbach
8d5eb407ad
incorporate additional suggestions from PR review
2026-01-20 11:17:15 +00:00
Tom Hvitved
224e5dece4
Merge pull request #21170 from paldepind/rust/type-inference-fns
...
Rust: Improve type inference for closures and function traits
2026-01-20 11:52:10 +01:00
Simon Friis Vindum
dd73399238
Rust: Tweak a comment
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2026-01-20 09:57:27 +01:00
Simon Friis Vindum
8e6f920ae2
Rust: Fix naming of mention_dyn_fn
2026-01-20 08:50:58 +01:00
Simon Friis Vindum
75cab960e2
Rust: Make AnyTraitFn abstract
2026-01-20 08:50:57 +01:00
Nick Rolfe
6fe76b3b11
Merge pull request #21190 from github/post-release-prep/codeql-cli-2.24.0
...
Post-release preparation for codeql-cli-2.24.0
2026-01-19 10:09:32 -08:00
Geoffrey White
ff6e598f72
Rust: Annotate failures with explanation.
2026-01-19 17:33:44 +00:00
Geoffrey White
fc5d5b4fcc
Rust: Compress the existing core::ops::arith models a bit.
2026-01-19 17:33:41 +00:00
Geoffrey White
50fdc99b8c
Rust: More test cases for operators, std::ops and std::num::Wrapping.
2026-01-19 16:58:03 +00:00
github-actions[bot]
48475e66af
Post-release preparation for codeql-cli-2.24.0
2026-01-19 15:49:08 +00:00
Michael Nebel
93b3f65388
Merge pull request #21158 from michaelnebel/csharp/cfgforaccess
...
C# 14: Null conditional assignments.
2026-01-19 16:22:55 +01:00
Nick Rolfe
c5329f6f38
Merge pull request #21189 from github/release-prep/2.24.0
...
Release preparation for version 2.24.0
2026-01-19 07:19:55 -08:00
Nick Rolfe
1739e135f5
Fix list formatting inconsistency
2026-01-19 15:17:11 +00:00
Nick Rolfe
783676566c
Fix typo in changelog
2026-01-19 15:12:05 +00:00
Geoffrey White
a0311c0ea3
Rust: Test spacing.
2026-01-19 15:07:42 +00:00
github-actions[bot]
4142b9c4ce
Release preparation for version 2.24.0
2026-01-19 14:49:14 +00:00
Philip Ginsbach
930b17a2e2
clarify compileForOverlayEval only needed in language packs
2026-01-19 14:06:45 +00:00
Philip Ginsbach
efe413cbd0
expand overlay introduction with base/overlay context
2026-01-19 13:59:01 +00:00
Asger F
bedb80346a
Merge pull request #20940 from asgerf/js/detect-minified-files
...
JS: Skip minified file if avg line length > 200
2026-01-19 14:31:09 +01:00
Michael Nebel
7ff1c12e8f
C#: Add some more tests.
2026-01-19 13:17:47 +01:00
Michael Nebel
7ae2b7698e
C#: Relax the condition for when a qualified expression might be null.
2026-01-19 13:17:07 +01:00
Mathias Vorreiter Pedersen
d183dcd6fc
C++: Add 'internal: do not use' comment.
2026-01-19 12:04:12 +00:00
Mathias Vorreiter Pedersen
c11b464492
C++: Autoformat.
2026-01-19 11:58:11 +00:00
Mathias Vorreiter Pedersen
b3631545d4
C++: Delete unnecessary conjuncts after review comments.
2026-01-19 11:57:45 +00:00
Mathias Vorreiter Pedersen
c47a9ddf83
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-19 11:46:42 +00:00
Philip Ginsbach
4e478c3629
add overlay documentation to handbook and language spec
2026-01-19 11:45:18 +00:00
Mathias Vorreiter Pedersen
7aca94b1ca
C++: Add change note.
2026-01-19 11:43:59 +00:00
Mathias Vorreiter Pedersen
c70633a0f7
C++: Fix Code Scanning alert.
2026-01-19 11:41:26 +00:00
Mathias Vorreiter Pedersen
58a3260c96
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-19 11:33:48 +00:00
Mathias Vorreiter Pedersen
a11b271d6e
C++: Finish up implementation of MaD barriers.
2026-01-19 11:30:23 +00:00
Anders Schack-Mulligen
48254800b1
WIP
...
C++: Add support for MaD barriers and barrier guards.
2026-01-19 11:30:21 +00:00
Mathias Vorreiter Pedersen
07ac8a5d81
C++: Parameterize the BarrierGuard modules. This is useful for barrier guards with flow states and will be necessary in the next commit for adding MaD specified barriers.
2026-01-19 11:30:19 +00:00
Mathias Vorreiter Pedersen
2b31928c7b
C++: Add MaD barrier guard tests.
2026-01-19 11:30:17 +00:00
Mathias Vorreiter Pedersen
dc7ce3fba3
Merge pull request #21171 from MathiasVP/fix-conflation-in-guards
...
C++: Fix conflation in barrier guards
2026-01-19 11:29:05 +00:00
Philip Ginsbach
948623e767
add overlay annotation support to QL syntax highlighter
2026-01-19 10:36:11 +00:00
Tom Hvitved
fd309d6e49
Rust: Remove restriction that blanket(-like) impls must have a constraint
2026-01-19 11:21:58 +01:00
Michael Nebel
33fc2bab33
C#: Update test expected output.
2026-01-19 10:19:15 +01:00
Asger F
077bbb24ac
Merge pull request #21159 from asgerf/js/vue-prop-function
...
JS: Add support for props callbacks in Vue router configs
2026-01-19 10:13:49 +01:00
Michael Nebel
beb7750c21
C#: Address review comments.
2026-01-19 10:06:14 +01:00
Tom Hvitved
06b99b2ce9
Merge pull request #21180 from hvitved/rust/fix-bad-join2
...
Rust: Fix bad join
2026-01-19 08:22:32 +01:00
Tom Hvitved
1c689d060b
Merge pull request #21179 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2026-01-16 17:20:19 +01:00
Mathias Vorreiter Pedersen
f05bff01e4
C++: Switch another 'DataFlowType' to 'Type'.
2026-01-16 12:42:33 +00:00
Mathias Vorreiter Pedersen
08a6b99cfd
C++: Add change note.
2026-01-16 12:41:20 +00:00
Tom Hvitved
43e20176f0
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate _ElementImpl::Impl::MacroExpansion::isAttributeMacroExpansionSourceLocation/2#3429148c_Locatable::Lo__#antijoin_rhs@9f4aa4rk with tuple counts:
5127263380 ~4% {3} r1 = JOIN `_AstNodeImpl::Impl::AstNode#22e758cf_ElementImpl::Impl::MacroExpansion::getATokenTreeNode/1#a2df59a3__#shared` WITH `ElementImpl::Impl::MacroExpansion::isAttributeMacroExpansionSourceLocation/2#3429148c` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
305226 ~0% {2} | JOIN WITH `Locatable::Locatable.getLocation/0#dispred#f3f7e2b2` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
return r1
```
(No After; the predicate is no longer generated)
2026-01-16 13:30:10 +01:00
Mathias Vorreiter Pedersen
5e9fd12d8c
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-16 12:25:12 +00:00
Tom Hvitved
767acb8ff4
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate TypeMention::RefTypeReprMention.resolveRootType/0#dispred#091b949a#fb@4bd8a49g with tuple counts:
124419 ~0% {1} r1 = RefTypeRepr::Generated::RefTypeRepr#422893fa AND NOT `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f`(FIRST 1)
6621454761 ~1% {3} | JOIN WITH `Type::DataType.getTypeItem/0#dispred#83467854` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.1
915101745 ~0% {4} | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.2, _, Lhs.1, Lhs.0
915101745 ~3% {4} | REWRITE WITH Out.1 := "Ref"
124419 ~0% {2} | JOIN WITH `Builtins::BuiltinType.getName/0#dispred#8f62ab0a` ON FIRST 2 OUTPUT Lhs.2, Lhs.3
76728 ~0% {1} r2 = JOIN RefTypeRepr::Generated::RefTypeRepr#422893fa WITH `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f` ON FIRST 1 OUTPUT Lhs.0
4083387432 ~1% {3} | JOIN WITH `Type::DataType.getTypeItem/0#dispred#83467854` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.1
564334440 ~3% {4} | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.2, _, Lhs.1, Lhs.0
564334440 ~0% {4} | REWRITE WITH Out.1 := "RefMut"
76728 ~2% {2} | JOIN WITH `Builtins::BuiltinType.getName/0#dispred#8f62ab0a` ON FIRST 2 OUTPUT Lhs.2, Lhs.3
201147 ~1% {2} r3 = r1 UNION r2
return r3
```
After
```
Evaluated relational algebra for predicate TypeMention::RefTypeReprMention.resolveRootType/0#dispred#091b949a#fb@8f12aa2a with tuple counts:
124419 ~0% {1} r1 = RefTypeRepr::Generated::RefTypeRepr#422893fa AND NOT `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f`(FIRST 1)
124419 ~0% {2} | JOIN WITH Type::RefSharedType#090df68e CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0
124419 ~0% {2} | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.1, Lhs.0
76728 ~0% {1} r2 = JOIN RefTypeRepr::Generated::RefTypeRepr#422893fa WITH `RefTypeRepr::Generated::RefTypeRepr.isMut/0#dispred#e2b9988f` ON FIRST 1 OUTPUT Lhs.0
76728 ~0% {2} | JOIN WITH Type::RefMutType#c67a1837 CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0
76728 ~2% {2} | JOIN WITH `project#Type::DataType.getPositionalTypeParameter/1#dispred#3bf49cbe` ON FIRST 1 OUTPUT Lhs.1, Lhs.0
201147 ~1% {2} r3 = r1 UNION r2
return r3
```
2026-01-16 13:11:45 +01:00
Tom Hvitved
7c95fefd96
Merge pull request #21177 from hvitved/actions/example-dir
...
Actions: Add `examples` qlpack
2026-01-16 13:03:54 +01:00
Tom Hvitved
3cdca25a67
Actions: Add examples qlpack
2026-01-16 12:48:54 +01:00
Michael Nebel
86198e3c43
C#: Add tests for out writeacceses.
2026-01-16 11:54:10 +01:00
Michael Nebel
bd1c6e6352
C#: Exclude the field access cases from missing argument call.
2026-01-16 11:54:09 +01:00
Michael Nebel
3d988e8e94
C#: Add field access for out assignments in the CFG.
2026-01-16 11:54:07 +01:00
Michael Nebel
812fdbe412
C#: Add change-note.
2026-01-16 11:54:06 +01:00
Michael Nebel
ab432ec2e9
C#: Update test expected output.
2026-01-16 11:54:04 +01:00
Michael Nebel
5942edf2d9
C#: Take null conditional assignments into account in MaybeNullExpr.
2026-01-16 11:54:02 +01:00
Michael Nebel
f0135e93c5
C#: Add a tests for MaybeNullExpr.
2026-01-16 11:54:01 +01:00
Michael Nebel
4ba89230db
C#: Update test expected output.
2026-01-16 11:53:59 +01:00
Michael Nebel
0bf0cbae8f
C#: Add some null conditional assignments CFG tests.
2026-01-16 11:53:57 +01:00
Michael Nebel
b061c4d083
C#: Update test expected output.
2026-01-16 11:53:55 +01:00
Michael Nebel
98949937dd
C#: Add CFG support for null conditional assignments and include eg. field access in the CFG.
2026-01-16 11:53:54 +01:00
Simon Friis Vindum
ec094400fb
Merge pull request #21172 from paldepind/rust/dyn-abs
...
Rust: Avoid unnecessary constraint satisfaction
2026-01-16 11:32:39 +01:00
Simon Friis Vindum
78b88d3a44
Rust: Fix grammar in QLDoc
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-16 11:26:05 +01:00
Simon Friis Vindum
6b3d863f70
Rust: Remove trait parameter from canonicalDynTraitTypeAbstraction
2026-01-16 11:12:34 +01:00
Owen Mansel-Chan
c14b869856
Merge pull request #21175 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-16 09:49:29 +00:00
Simon Friis Vindum
a11693268b
Rust: Avoid duplicated entries in conditionSatisfiesConstraint for dyn trait types
2026-01-16 10:46:23 +01:00
Simon Friis Vindum
c0b3569473
Rust: Move TypeAbstraction into separate file
2026-01-16 10:45:50 +01:00
Simon Friis Vindum
9ab29f9be0
Rust: Add a change note for type inference improvements for closures
2026-01-16 10:05:45 +01:00
Simon Friis Vindum
dabc5d54c9
Rust: Improve type inference for closures and function traits
2026-01-16 10:01:00 +01:00
github-actions[bot]
549307a6bd
Add changed framework coverage reports
2026-01-16 00:26:48 +00:00
Mathias Vorreiter Pedersen
6da7890ff5
C++: Add indirect barrier guard to 'cpp/unbounded-write' to prevent FPs after fixing conflation.
2026-01-15 18:31:54 +00:00
Mathias Vorreiter Pedersen
03d6528687
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedAssertion.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 15:58:28 +00:00
Mathias Vorreiter Pedersen
1b117900c2
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 14:42:11 +00:00
Mathias Vorreiter Pedersen
d6ca1ca846
Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedStmt.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2026-01-15 14:41:13 +00:00
Owen Mansel-Chan
a5d9cb179a
Merge pull request #20930 from owen-mc/java/spring-rest-template-request-forgery-sinks
...
Java: add more Spring RestTemplate request forgery sinks
2026-01-15 14:23:15 +00:00
Tom Hvitved
d3fc254e17
Merge pull request #21169 from hvitved/shard-compile-queries
...
Make `compile-queries.yml` sharded based on language
2026-01-15 15:11:01 +01:00
Mathias Vorreiter Pedersen
28681508f3
C++: Fix bug and accept test changes.
2026-01-15 11:17:15 +00:00
Mathias Vorreiter Pedersen
27a437a514
C++: Modify test to reveal a bug.
2026-01-15 11:16:15 +00:00
Simon Friis Vindum
196f6e1931
Rust: Add type inference tests for closures and function traits
2026-01-15 12:00:41 +01:00
Simon Friis Vindum
d8061c17cc
Merge pull request #21165 from paldepind/rust/associated-types
...
Rust: Associated types are inherited as type parameters by traits and dyn traits
2026-01-15 11:50:00 +01:00
Owen Mansel-Chan
97e0b4e9fd
Use parameter name to only select correct overloads
2026-01-15 10:36:03 +00:00
Simon Friis Vindum
15f3c38041
Rust: QLDoc fixes
2026-01-15 11:34:58 +01:00
Anders Schack-Mulligen
c632e8f188
Merge pull request #20448 from github/alexet/avoid-path-node-java
...
Java: Eliminate pointless use of PathNodes over DataFlow::Node
2026-01-15 10:55:09 +01:00
Tom Hvitved
b4bbafa96f
Make compile-queries.yml sharded based on language
2026-01-15 10:30:08 +01:00
Owen Mansel-Chan
13dc17c9b8
Merge pull request #21167 from owen-mc/java/docs/library-coverage
...
Java: List more covered java frameworks explicitly in docs
2026-01-15 09:18:51 +00:00
Jeroen Ketema
3327193a11
Merge pull request #21164 from jketema/jketema/builtin
...
C++: More builtins and information regarding this param refs
2026-01-15 08:21:01 +01:00
Owen Mansel-Chan
6e0a1ba233
List more covered java frameworks explicitly
2026-01-15 07:18:15 +00:00
Simon Friis Vindum
8cbe17a62b
Rust: Fix bad join on name column
2026-01-15 07:23:34 +01:00
Simon Friis Vindum
ca3e2db217
Rust: Accept changes to expected files
2026-01-14 16:00:59 +01:00
Simon Friis Vindum
465400115f
Rust: Adapt type inference consistency query exceptions
2026-01-14 15:36:35 +01:00
Owen Mansel-Chan
0cf0aac397
Merge pull request #21109 from owen-mc/go/misc-trivial-fixes
...
Go: misc trivial fixes
2026-01-14 14:10:41 +00:00
Jeroen Ketema
17a453bb33
Merge pull request #21126 from jketema/subscript
...
C++: Add predicates to support C++23 multidimensional subscript operators
2026-01-14 14:48:14 +01:00
Simon Friis Vindum
a19ad5e557
Rust: Associated types are inherited as type parameters by traits and dyn traits
2026-01-14 14:44:31 +01:00
Simon Friis Vindum
62193540f7
Rust: Add additional tests for associated types
2026-01-14 14:44:30 +01:00
Simon Friis Vindum
fd5658dfe8
Rust: Tweak tests for associated types
2026-01-14 14:44:23 +01:00
Simon Friis Vindum
e0c36c758d
Rust: Move associated types tests into separate file
2026-01-14 14:39:59 +01:00
Tom Hvitved
991d30f7aa
Merge pull request #21161 from hvitved/rust/restrict-implicit-deref-borrow-nodes
...
Rust: Restrict `ImplicitDerefBorrowNode` to nodes with enclosing CFG scope
2026-01-14 14:37:40 +01:00
Jeroen Ketema
1dacd83915
C++: Update dbscheme stats file
2026-01-14 13:35:53 +01:00
Jeroen Ketema
7a13cbae3f
C++: Add upgrade and downgrade scripts
2026-01-14 13:35:52 +01:00
Jeroen Ketema
f6b720b37b
C++: Add change note
2026-01-14 13:35:51 +01:00
Jeroen Ketema
047fa068ff
C++: Add isThisAccess predicate to ParamAccessForType
2026-01-14 13:35:50 +01:00
Jeroen Ketema
bb33ea383c
C++: Add change note for new builtins
2026-01-14 13:35:49 +01:00
Jeroen Ketema
93535d1c86
C++: Add tests for new builtin operations
2026-01-14 13:35:47 +01:00
Jeroen Ketema
3d959abdeb
C++: Support new builtin operations
2026-01-14 13:35:46 +01:00
Jeroen Ketema
5d00a4df86
Merge pull request #21143 from jketema/jketema/friends
...
C++: Update test expectations after extractor changes
2026-01-14 13:31:40 +01:00
Owen Mansel-Chan
e01b674581
Merge pull request #21082 from mbaluda/couchdb
...
This PR adds models Java client APIs for CouchBase and adds tests for 2 queries
2026-01-14 12:06:47 +00:00
Owen Mansel-Chan
16113e6550
Use type cast to make QL more succinct
2026-01-14 11:50:56 +00:00
Owen Mansel-Chan
76bba60383
Fix misspelling in comment
2026-01-14 11:50:55 +00:00
Owen Mansel-Chan
0dc47380a3
Swap order of equality for easier comprehension
2026-01-14 11:50:53 +00:00
Owen Mansel-Chan
b58e88291e
Remove redundant import
2026-01-14 11:50:52 +00:00
Owen Mansel-Chan
94bc47ab15
Swap order of supertypes
2026-01-14 11:50:50 +00:00
Owen Mansel-Chan
3850734a15
Use non-extending subtypes
2026-01-14 11:50:49 +00:00
Owen Mansel-Chan
93d7c5c7ef
Remove redundant supertypes
2026-01-14 11:50:44 +00:00
Owen Mansel-Chan
1cd0698453
Fix test for reflected xss sanitizer
...
It used to pass even without ErrorSanitizer because `cookie` is already
sanitized.
2026-01-14 11:50:08 +00:00
Owen Mansel-Chan
9d5e5b0c8a
Add post-processing to Beego tests
2026-01-14 11:50:06 +00:00
Asger F
ff580410fe
Merge pull request #20733 from asgerf/js/incremental-api-graphs
...
JS: Incremental API graph
2026-01-14 12:49:41 +01:00
Mauro Baluda
9f725f7098
Merge branch 'main' into couchdb
2026-01-14 12:33:47 +01:00
Mauro Baluda
f71b6c1bfd
Improved models for Supplier arguments
2026-01-14 12:32:42 +01:00
Jeroen Ketema
54f75653ba
C++: Update test expectations after extractor changes
2026-01-14 12:01:51 +01:00
Mauro Baluda
5cef0376a9
Update java/ql/test/query-tests/security/CWE-798/semmle/tests/HardcodedCouchBaseCredentials.java
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-01-14 11:50:52 +01:00
Asger F
06cc323aee
Update javascript/ql/src/change-notes/2025-12-05-skip-minified-files.md
...
Co-authored-by: Taus <tausbn@github.com >
2026-01-14 11:40:01 +01:00
Asger F
b47ae420ca
Update javascript/ql/src/change-notes/2025-12-05-skip-minified-files.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-14 11:40:01 +01:00
Asger F
0eadebcabd
Update javascript/extractor/src/com/semmle/js/extractor/FileExtractor.java
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-14 11:40:01 +01:00
Asger F
739ed4b3bb
JS: Change note
2026-01-14 11:40:01 +01:00
Asger F
7ab52a81a7
JS: Add environment variable to opt out of the behaviour if needed
2026-01-14 11:40:01 +01:00
Asger F
2892ab61ae
JS: Make sure a file is not seen as minified
2026-01-14 11:40:01 +01:00
Asger F
84f6b6f67a
JS: Accept test change due to file no longer being extracted
2026-01-14 11:40:01 +01:00
Asger F
98c8b4c080
JS: Skip minified file if avg line length > 200
2026-01-14 11:40:01 +01:00
Asger F
e430aa97f3
Merge pull request #20916 from asgerf/js/next-folders2
...
JS: Handle Next.js files named 'page' or 'route'
2026-01-14 11:10:57 +01:00
Jeroen Ketema
40a91367ab
Merge pull request #21110 from jketema/jketema/rm-decimal
...
C++: Remove decimal floating point types
2026-01-14 10:58:39 +01:00
Tom Hvitved
cc4926ad37
Merge pull request #21148 from hvitved/rust/remove-macro-block-expr
...
Rust: Remove `MacroBlockExpr` class
2026-01-14 10:11:22 +01:00
Simon Friis Vindum
519f0d2780
Merge pull request #21023 from paldepind/rust/regenerate-models-1212
...
Rust: Regenerate models
2026-01-14 09:30:06 +01:00
Mauro Baluda
9efefa6120
Fix test expectations
2026-01-13 22:46:42 +01:00
Mauro Baluda
29f23ee192
Fix extraction error
2026-01-13 22:33:01 +01:00
Mauro Baluda
4b7662f652
Merge branch 'main' into couchdb
2026-01-13 21:50:44 +01:00
Mauro Baluda
d335f039ef
Improve model for CWE-089
2026-01-13 21:48:43 +01:00
Tom Hvitved
55d4902751
Rust: Restrict ImplicitDerefBorrowNode to nodes with enclosing CFG scope
2026-01-13 20:23:28 +01:00
yoff
6c4a0bb52b
Merge pull request #20990 from github/tausbn/python-support-relaxed-exception-groups
...
Python: Add support for PEP-758 exception syntax
2026-01-13 19:04:27 +01:00
Simon Friis Vindum
76a1e22ddc
Rust: Remove manual models that are now generated
2026-01-13 16:11:18 +01:00
Jeroen Ketema
f4980bede3
Update cpp/ql/lib/change-notes/2026-01-02-decimal-removal.md
2026-01-13 16:11:11 +01:00
Jeroen Ketema
9ba73ba4f0
C++: Update stats file
2026-01-13 16:11:10 +01:00
Jeroen Ketema
ffdd6f7d91
C++: Add change note
2026-01-13 16:11:09 +01:00
Jeroen Ketema
273f517a37
C++: Remove decimal types from the dbscheme
2026-01-13 16:11:08 +01:00
Jeroen Ketema
a20f0a11e8
C++: No longer expose _Decimal{32,64,128}
2026-01-13 16:11:06 +01:00
Jeroen Ketema
d20cd68a05
C++: Update expected test results after extractor changes
2026-01-13 16:11:05 +01:00
Simon Friis Vindum
da43e8cad8
Rust: Regenerate models
2026-01-13 16:02:32 +01:00
Simon Friis Vindum
d78491294a
Rust: Exclude reqwest response timeout field as a taint step
2026-01-13 15:58:27 +01:00
Simon Friis Vindum
862adec081
Rust: Disable dynamic dispatch when generating models
2026-01-13 15:58:25 +01:00
Simon Friis Vindum
1fbf0387f5
Rust: Skip model generation for Rocket due to performance issue
2026-01-13 15:58:24 +01:00
Simon Friis Vindum
8bfce6b284
Shared, rust: Add option to disable reads steps as taint steps in model generator
2026-01-13 15:58:23 +01:00
Simon Friis Vindum
9cdf63e175
Rust: Skip model generation for functions with a ; in their canonical path
2026-01-13 15:58:22 +01:00
Owen Mansel-Chan
8cb0f5faa6
Merge pull request #21140 from owen-mc/csharp/mad-barriers
...
C#: Allow MaD barriers and barrier guards, and convert some existing ones
2026-01-13 14:24:22 +00:00
Mauro Baluda
89f0e79ea1
Fix SqlTainted test
2026-01-13 13:55:14 +01:00
Ian Lynagh
63f78e7609
Merge pull request #21156 from igfoo/igfoo/mb
...
Merge rc/3.20 into main
2026-01-13 12:11:37 +00:00
Mauro Baluda
dda042f7df
rename change notes
2026-01-13 13:07:14 +01:00
Taus
5fc9b2de44
Merge pull request #21154 from github/tausbn/misc-add-cli-mode-for-change-note-script
...
Misc: Add CLI interface to `create-change-note.py`
2026-01-13 12:38:55 +01:00
Owen Mansel-Chan
657e26a375
Scripts: be more robust when parsing test logs
2026-01-13 11:36:27 +00:00
Anders Schack-Mulligen
9c1351c3fe
Merge pull request #21149 from aschackmull/java/typeflow-partially-unbound
...
Java: Add TypeFlow base case for partially unbound types.
2026-01-13 12:31:38 +01:00
Asger F
9fa856f974
JS: Change note
2026-01-13 11:49:33 +01:00
Asger F
7cd820ea86
JS: Add support for props callbacks in router configs
2026-01-13 11:46:12 +01:00
Geoffrey White
69de17ecf2
Merge pull request #21153 from geoffw0/splitoff
...
Rust: Add barrier for split_off
2026-01-13 10:44:31 +00:00
Asger F
40c35341d1
JS: Add props to Vue router test case
2026-01-13 11:44:07 +01:00
Owen Mansel-Chan
130f8f148b
Convert barrier to MaD
...
I confirmed that without the model a test fails.
2026-01-13 10:29:16 +00:00
Owen Mansel-Chan
68b618176e
Convert barrier guard to MaD
...
I checked that without the model a test fails.
2026-01-13 10:29:15 +00:00
Owen Mansel-Chan
b30bc5ea44
Allow MaD barriers relating to ExternalLocationSink
2026-01-13 10:29:13 +00:00
Owen Mansel-Chan
004d40ee93
Allow MaD barriers using sink kinds
2026-01-13 10:29:12 +00:00
Anders Schack-Mulligen
8b555ca514
Java: Add test.
2026-01-13 11:20:13 +01:00
Anders Schack-Mulligen
8257475ffb
Merge pull request #21132 from aschackmull/csharp/mad-barriers
...
C#: Add support for MaD barriers and barrier guards.
2026-01-13 11:00:02 +01:00
Owen Mansel-Chan
a96cd399b1
Merge pull request #21157 from github/dependabot/go_modules/go/extractor/extractor-dependencies-0d17b202ee
...
Bump golang.org/x/tools from 0.40.0 to 0.41.0 in /go/extractor in the extractor-dependencies group
2026-01-13 09:56:37 +00:00
Asger F
da9aafc3b0
JS: Also track additional use-steps crossing the overlay boundary
2026-01-13 10:54:16 +01:00
Simon Friis Vindum
7f092e418e
Merge pull request #21152 from paldepind/rust/typeinference-dir
...
Rust: Move everything type inference related into the typeinference directory
2026-01-13 10:41:13 +01:00
Asger F
ca52fe59e8
Merge pull request #20918 from asgerf/js/response-default-content-type
...
JS: Handle default 'content-type' header in Response() objects
2026-01-13 10:34:40 +01:00
Asger F
d2e6ae5e14
Update javascript/ql/lib/semmle/javascript/frameworks/Next.qll
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2026-01-13 10:34:25 +01:00
Owen Mansel-Chan
f5b13db4ea
Merge pull request #21015 from aschackmull/go/mad-barriers
...
Go: Support for MaD barriers and barrier guards.
2026-01-13 09:31:09 +00:00
Tom Hvitved
31b4f88824
Rust: Add DB downgrade script
2026-01-13 10:24:40 +01:00
Tom Hvitved
4cc4717381
Rust: Add DB upgrade script
2026-01-13 10:24:39 +01:00
Tom Hvitved
5d5bad6cd4
Rust: Update expected test output
2026-01-13 10:24:10 +01:00
Tom Hvitved
5fb425fd67
Rust: Update extractor and QL code after removing MacroBlockExpr
2026-01-13 10:24:04 +01:00
Tom Hvitved
3eafca0550
Rust: Run codegen
2026-01-13 10:22:16 +01:00
Tom Hvitved
d6ec174e0c
Rust: Remove MacroBlockExpr class
2026-01-13 10:20:47 +01:00
Geoffrey White
b2d19b610e
Rust: US spelling.
2026-01-13 09:01:12 +00:00
Anders Schack-Mulligen
1151fc3be2
Update csharp/ql/lib/semmle/code/csharp/dataflow/internal/ExternalFlow.qll
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2026-01-13 09:14:33 +01:00
Simon Friis Vindum
e7791120fa
Rust: Address review comments
2026-01-13 07:53:39 +01:00
dependabot[bot]
37bb9d77d3
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.40.0 to 0.41.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.40.0...v0.41.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.41.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-13 05:38:36 +00:00
Ian Lynagh
dcd0a69759
Merge remote-tracking branch 'upstream/main' into igfoo/mb
2026-01-13 01:01:35 +00:00
Mathias Vorreiter Pedersen
4f4baee888
C++: Fix Code Scanning alerts.
2026-01-12 21:08:02 +00:00
Mathias Vorreiter Pedersen
aa058c2cca
C++: Generate IR for assertions in release builds.
2026-01-12 21:07:55 +00:00
Mathias Vorreiter Pedersen
a18f3b6859
C++: Avoid generating IR for a few cases where we will be synthesizing assertions.
2026-01-12 21:06:09 +00:00
Mathias Vorreiter Pedersen
67ab0fee83
C++: Add a few helper predicates.
2026-01-12 21:06:07 +00:00
Mathias Vorreiter Pedersen
6e3fd25b09
C++: Add tests for assertions in release builds.
2026-01-12 21:06:02 +00:00
Taus
de1d183ca6
Misc: Add CLI interface to create-change-note.py
...
This may be useful when working in "the other place", where the VSCode
task may not be easily accessible. (Also, some people may just prefer to
use a CLI interface.)
2026-01-12 15:32:03 +00:00
Simon Friis Vindum
9e74a7869a
Rust: Move everything type inference related into the typeinference directory
2026-01-12 16:31:34 +01:00
Taus
8c90c113c2
Update change note to reflect Python 2 changes
2026-01-12 15:27:38 +00:00
Taus
659ec3999b
Mark generated files as generated
2026-01-12 15:24:01 +00:00
Tom Hvitved
c666fc71ca
Merge pull request #21147 from hvitved/rust/fix-more-models
...
Rust: Add missing `.Reference` in various models
2026-01-12 15:27:51 +01:00
Geoffrey White
a78756ff8b
Merge branch 'main' into splitoff
2026-01-12 14:21:01 +00:00
Geoffrey White
479c58bef5
Rust: Add a barrier.
2026-01-12 13:52:54 +00:00
Geoffrey White
7658ebb449
Rust: Add spurious test case for rust/uncontrolled-allocation-size.
2026-01-12 13:52:53 +00:00
Tom Hvitved
17441a5462
Rust: Add missing .Reference in various models
2026-01-12 14:21:45 +01:00
Anders Schack-Mulligen
c28062aff5
Merge pull request #21127 from aschackmull/ssa/phi-input-perf
...
SSA: Improve performance of finding relevant phi input nodes.
2026-01-12 13:29:58 +01:00
Anders Schack-Mulligen
8e2d74a7b1
Java: Add TypeFlow base case for partially unbound types.
2026-01-12 12:45:06 +01:00
Tom Hvitved
6b34d0d250
Merge pull request #21123 from hvitved/rust/fix-path-models
...
Rust: Improve/add various models
2026-01-12 12:20:56 +01:00
Simon Friis Vindum
e4db3b17b4
Merge pull request #20584 from paldepind/cpp/range-analysis-fix
...
C++: Range analysis guard improvement
2026-01-12 11:23:48 +01:00
Simon Friis Vindum
c9e6d4235f
Merge pull request #21139 from paldepind/rust/fn-syntax-return
...
Rust: Make function trait syntax without return type default to unit
2026-01-12 11:22:50 +01:00
Owen Mansel-Chan
57ec850397
Merge pull request #21146 from github/dependabot/go_modules/go/extractor/extractor-dependencies-555680b348
...
Bump golang.org/x/mod from 0.31.0 to 0.32.0 in /go/extractor in the extractor-dependencies group
2026-01-12 09:44:33 +00:00
Anders Schack-Mulligen
aae8ec2240
SSA: Use fastTC for even better performance.
2026-01-12 09:39:15 +01:00
dependabot[bot]
4318c285cb
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.31.0 to 0.32.0
- [Commits](https://github.com/golang/mod/compare/v0.31.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-01-12 03:07:33 +00:00
Mauro Baluda
0464e64469
Merge branch 'github:main' into couchdb
2026-01-09 17:24:01 +01:00
Chris Smowton
44089d84a3
Merge pull request #21102 from github/smowton/admin/respect-config-paths-filters-pre-finalize
...
All languages: account for paths and paths-ignore in XML and other ancillary extraction
2026-01-09 16:23:26 +00:00
Chris Smowton
fa0e8cc4a4
Merge pull request #21137 from smowton/smowton/admin/reapply-java-xml-paths-filtering
...
Java: revert revert of `paths` / `paths-ignore` handling in XML and other ancillary extractor
2026-01-09 16:22:26 +00:00
Mauro Baluda
4c8058d97b
Merge branch 'github:main' into couchdb
2026-01-09 17:20:40 +01:00
Simon Friis Vindum
41921a85bb
Rust: Make function trait syntax without return type default to unit
2026-01-09 16:08:01 +01:00
Simon Friis Vindum
d45269609a
Rust: Add test with fn trait syntax without return type
2026-01-09 15:38:12 +01:00
Chris Smowton
634e9e6c39
Reapply "Change note"
...
This reverts commit 688f10daf1 .
2026-01-09 13:42:48 +00:00
Chris Smowton
13e0e6c694
Reapply "Add integration test for paths and paths-ignore vs. Java buildless mode"
...
This reverts commit 9db11f73c5 .
2026-01-09 13:42:43 +00:00
Tom Hvitved
f3d78a4e0b
Rust: Update expected test output
2026-01-09 14:40:04 +01:00
Tom Hvitved
609eb17e30
Rust: Add more models
2026-01-09 14:40:03 +01:00
Tom Hvitved
0d0029f5a3
Rust: Update expected test output
2026-01-09 14:40:01 +01:00
Tom Hvitved
792908586a
Rust: Add some ffi models
2026-01-09 14:40:00 +01:00
Tom Hvitved
31b0d3eb1d
Rust: Fix some models in fs.model.yml
2026-01-09 14:39:59 +01:00
Tom Hvitved
636bbe30f9
Merge pull request #21122 from hvitved/rust/summary-read-taint-step
...
Rust: Also lift read steps in summaries as taint steps
2026-01-09 14:39:39 +01:00
Simon Friis Vindum
ac62a9fe57
Merge pull request #21133 from paldepind/rust/type-item-path-resolution
...
Rust: Use `TypeItem` in path resolution
2026-01-09 14:35:12 +01:00
Taus
89ddd67ebe
Merge pull request #21002 from github/tausbn/python-add-models-for-zstd-compression
...
Python: Add modelling for `zstd.compression`
2026-01-09 14:05:06 +01:00
Michael B. Gale
157487d8f2
Java: Add change note for plugin repo support
2026-01-09 12:49:12 +00:00
yoff
1ac3706e75
Python support ListElement in MaD
2026-01-09 13:08:06 +01:00
Tom Hvitved
209ee9236b
Rust: Also lift read steps in summaries as taint steps
2026-01-09 12:13:46 +01:00
Tom Hvitved
1a29b32af9
Merge pull request #20987 from hvitved/rust/type-inference-deref-trait
...
Rust: Handle `Deref` trait in type inference and data flow
2026-01-09 12:10:46 +01:00
Owen Mansel-Chan
9493d9d5ab
Merge pull request #21131 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-09 10:48:36 +00:00
Simon Friis Vindum
11bd334370
Rust: Use TypeItem in path resolution
2026-01-09 11:40:16 +01:00
Tom Hvitved
e2eaf80202
Rust: Fix QL4QL finding
2026-01-09 11:28:37 +01:00
Owen Mansel-Chan
d7acb75f9d
Merge pull request #21055 from owen-mc/java/allow-mad-barriers
...
Java: allow MaD barriers
2026-01-09 10:27:48 +00:00
Tom Hvitved
6028cd6636
Address review comments
2026-01-09 11:14:23 +01:00
Owen Mansel-Chan
ca805e9d84
Fix QLDoc
2026-01-09 10:09:22 +00:00
Owen Mansel-Chan
c271e52fe5
Validate models for barriers and barrier guards
2026-01-09 10:04:56 +00:00
Owen Mansel-Chan
8c9318b1a0
Minor tweaks to QLDocs
2026-01-09 09:38:10 +00:00
Anders Schack-Mulligen
e35fa923c7
C#: Add support for MaD barriers and barrier guards.
2026-01-09 10:32:19 +01:00
Owen Mansel-Chan
70c90a1063
Merge pull request #21129 from owen-mc/java/delete-promoted-experimental-models
...
Java: Delete experimental models that have been promoted
2026-01-09 09:30:32 +00:00
Simon Friis Vindum
3a135888c7
C++: Improve bounds from inequalities on integers
2026-01-09 10:26:36 +01:00
Simon Friis Vindum
9af432d2f9
C++: Add simple range analysis tests for inequalities
2026-01-09 10:12:36 +01:00
github-actions[bot]
bea93ae03e
Add changed framework coverage reports
2026-01-09 00:26:15 +00:00
Owen Mansel-Chan
cce6823d3b
Delete experimental models that have been promoted
...
They were promoted in https://github.com/github/codeql/pull/17590
2026-01-08 15:33:59 +00:00
Anders Schack-Mulligen
af5adbac30
SSA: Improve performance of finding relevant phi input nodes.
2026-01-08 15:02:34 +01:00
Owen Mansel-Chan
8a80158959
Merge pull request #17590 from Kwstubbs/java-mad-test
...
Java: FileUpload Support MaD
2026-01-08 13:33:55 +00:00
Jeroen Ketema
72f1aa9381
C++: Add change notes
2026-01-08 13:59:39 +01:00
Jeroen Ketema
9ceb091f85
C++: Update predicate after getAnArrayOffset/0 deprecation
2026-01-08 13:54:02 +01:00
Simon Friis Vindum
c8728c24dc
Merge pull request #21125 from paldepind/rust/builtin-refactor
...
Rust: Use `getAssocItem` consistently in stdlib classes
2026-01-08 13:43:40 +01:00
Jeroen Ketema
4c3fb0c7c4
C++: Deprecate getArrayOffset/0
2026-01-08 13:22:38 +01:00
yoff
608fa1a0a3
Merge pull request #20910 from yoff/java/more-thread-safe-initialisers
2026-01-08 13:16:39 +01:00
Jeroen Ketema
e0f8b1254e
C++: Update expected test results
2026-01-08 13:13:20 +01:00
Jeroen Ketema
3907fc7e5a
C++: Add predicates to support multidimensional subscript operators
2026-01-08 13:13:10 +01:00
Simon Friis Vindum
26bd332617
Merge pull request #21113 from paldepind/cpp/range-analysis-float-ceil
...
C++: Remove `safeFloor` in simple range analysis
2026-01-08 13:07:30 +01:00
Jeroen Ketema
647d11a6ce
C++: Add test for C++23 multidimensional subscript operators
2026-01-08 13:02:31 +01:00
Jeroen Ketema
0c8fd833af
Merge pull request #21124 from jketema/jketema/vec-expr
...
C++: Add tests for logical vector operations
2026-01-08 12:50:31 +01:00
Owen Mansel-Chan
c419b51efd
Merge pull request #21120 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-08 11:32:08 +00:00
Simon Friis Vindum
56f5328530
Rust: Use getAssocItem consistently in stdlib classes
2026-01-08 11:59:10 +01:00
Jeroen Ketema
217c5cb78b
C++: Update tests after adding extractor support for logical vector operations
2026-01-08 11:55:47 +01:00
Jeroen Ketema
89c11b8daf
C++: Add tests for logical vector operations
2026-01-08 11:54:49 +01:00
Jeroen Ketema
1ebf623541
C++: Add space in tests for adding new tests in a logical place
2026-01-08 11:54:42 +01:00
Paolo Tranquilli
22b88aea06
Merge pull request #21119 from github/redsun82/cmake
...
Cmake: fix bazel not generating files for the cmake generator
2026-01-08 09:59:08 +01:00
Asger F
2ea3c0e366
Merge pull request #20938 from tesseractjh/js/use-cache-directives
...
JS: Add use cache directives from Next.js 16
2026-01-08 09:51:53 +01:00
Simon Friis Vindum
7c0054bf25
C++: Tweak a comment in simple range analysis
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2026-01-08 08:51:04 +01:00
github-actions[bot]
614a05133e
Add changed framework coverage reports
2026-01-08 00:26:30 +00:00
Chris Smowton
d048d394b4
Merge pull request #21117 from smowton/smowton/admin/revert-java-paths-directives
...
Java: revert filtering of ancillary data extraction
2026-01-07 16:13:21 +00:00
Jeroen Ketema
a5f6806239
Merge pull request #21105 from jketema/load-this
...
C++: Use the loaded `this` instead of the `this` initialization
2026-01-07 16:51:14 +01:00
Paolo Tranquilli
e3503be1d1
Cmake: fix bazel not generating files for the cmake generator
2026-01-07 16:36:36 +01:00
Taus
8602a2d59b
Python: Use correct first parameter name for zstd call
...
Co-authored-by: yoff <yoff@github.com >
2026-01-07 14:47:11 +01:00
Owen Mansel-Chan
6a3c74c989
Merge pull request #20999 from joefarebrother/java-spring-websocket
...
Java: Add models for spring WebSocketHandler
2026-01-07 13:29:19 +00:00
Chris Smowton
688f10daf1
Revert "Change note"
...
This reverts commit 6fb6923f63 .
2026-01-07 13:20:17 +00:00
Chris Smowton
9db11f73c5
Revert "Add integration test for paths and paths-ignore vs. Java buildless mode"
...
This reverts commit 102cfd06a7 .
2026-01-07 13:20:12 +00:00
Tom Hvitved
fef00c1668
Add change note
2026-01-07 14:17:48 +01:00
Tom Hvitved
2d4da807c1
Merge pull request #21114 from hvitved/rust/exclude-result-err-taint-step
...
Rust: Add `Result::Err` to `excludeFieldTaintStep`
2026-01-07 14:01:49 +01:00
Michael Nebel
7ed3d3f3e1
Merge pull request #21065 from michaelnebel/csharp/implicitspanconversions
...
C# 14: Implicit span conversions.
2026-01-07 13:39:58 +01:00
Simon Friis Vindum
f5ddb1d51d
C++: Remove safeFloor in simple range analysis
2026-01-07 12:49:09 +01:00
Owen Mansel-Chan
6c291e1e7f
Add model for handlePongMessage and update test
2026-01-07 11:09:59 +00:00
Tom Hvitved
1e792132ba
Rust: Add Result::Err to excludeFieldTaintStep
2026-01-07 11:37:08 +01:00
Asger F
cf0b77074f
JS: Workaround forceLocal not supporting 'result' column
...
A bug made it into the release which causes compilation errors when
forceLocal is used on a predicate with a result column.
This commit works around the issue by converting the result column
to a positional parameter, for the predicates that we use forceLocal on.
It should be safe to revert this commit once the compiler fix has made
it into a stable release.
2026-01-07 11:05:41 +01:00
Asger F
e16cacd48d
JS: Rename "in scope" to "in active file"
2026-01-07 11:05:41 +01:00
Asger F
87049bd07e
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Taus <tausbn@github.com >
2026-01-07 11:05:41 +01:00
Asger F
56a6fe4c08
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-07 11:05:41 +01:00
Asger F
d0dbc91aa9
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-07 11:05:41 +01:00
Asger F
9721b4e0f5
JS: Fix bad join in export logic
2026-01-07 11:05:41 +01:00
Asger F
cae27c40be
JS: Add a missing needsDefNode restriction
...
Previously this was implied by MkClassInstance but that's no longer
the case.
2026-01-07 11:05:41 +01:00
Asger F
369848a870
JS: Fix some QL4QL alerts
2026-01-07 11:05:41 +01:00
Asger F
869efb8a48
JS: Sync ApiGraphModels.qll
2026-01-07 11:05:41 +01:00
Asger F
97d369cf4e
JS: Make API::Node overlay[local?]
...
We want the type itself to be local but nearly all its member predicates
are global.
2026-01-07 11:05:41 +01:00
Asger F
27e8bcb347
JS: Add back promisify-all support
...
This was somehow lost in a rebase
2026-01-07 11:05:41 +01:00
Asger F
8731eee10e
JS: Work around an issue with overlay-invariance
2026-01-07 11:05:41 +01:00
Asger F
962c128f20
JS: Update test output to reflect Node.toString() change
2026-01-07 11:05:41 +01:00
Asger F
7974416e65
JS: Simplify toString()
2026-01-07 11:05:41 +01:00
Asger F
651608a170
JS: Bugfix in Stage1Local::trackDefNode
2026-01-07 11:05:41 +01:00
Asger F
ed3a8bdfa9
JS: Include import paths from custom ModuleImportNode::Range subclasses
2026-01-07 11:05:41 +01:00
Asger F
c687dc93b0
JS: Add overlay[global] to abstract classes with fields
...
Some abstract classes defines fields without binding them, leaving it up to the subclasses to bind them. When combined with overlay[local?], the charpred for such an abstract class can become local, while the subclasses are global. The means the charpred needs to be materialized, even though it doesn't bind the fields, leading to a cartesian product.
2026-01-07 11:05:41 +01:00
Asger F
cf0e7652f4
JS: Remove global dependency that wasnt needed anyway
2026-01-07 11:05:41 +01:00
Asger F
a6dfb8351c
JS: Add back CallReceiverStep() restriction
...
This was initially lost after rebasing with indentation changes
2026-01-07 11:05:41 +01:00
Asger F
825c08356f
JS: Change signature of 'edges' to support quick eval
2026-01-07 11:05:41 +01:00
Asger F
4bd0f34938
JS: Add debug tools for detecting lost nodes/edges
2026-01-07 11:05:41 +01:00
Asger F
c9d3f06fbc
JS:Add more member labels
2026-01-07 11:05:41 +01:00
Asger F
9c37e076cc
JS: Add overlay-specific Stage2
2026-01-07 11:05:41 +01:00
Asger F
1001e86f20
JS: Restrict Stage1 to the base database
2026-01-07 11:05:41 +01:00
Asger F
b12d927020
JS: Also expose "any state" version of tracking predicates
2026-01-07 11:05:41 +01:00
Asger F
daf04f1184
JS: Call forceLocal on the output of Stage 1
2026-01-07 11:05:41 +01:00
Asger F
271567c88f
JS: Add missing def-node roots
2026-01-07 11:05:41 +01:00
Asger F
123bc64091
JS: Improve join order at MkUse call
2026-01-07 11:05:41 +01:00
Asger F
295bc6981d
JS: Make API nodes and labels local
2026-01-07 11:05:41 +01:00
Asger F
6c00a7fb96
JS: Remove unused predicate
2026-01-07 11:05:41 +01:00
Asger F
3ed0f36bb1
JS: Use forceLocal to localize MkTypeUse
2026-01-07 11:05:41 +01:00
Asger F
385bb32710
JS: Localize MkClassInstance
2026-01-07 11:05:41 +01:00
Asger F
a2a9518d2a
JS: Localize MkModuleImport
2026-01-07 11:05:41 +01:00
Asger F
3110e5a8ac
JS: Localize MkModuleExport
2026-01-07 11:05:41 +01:00
Asger F
c8108d109d
JS: Localize charpred of API::EntryPoint
...
This is needed for localizing ApiLabel later
2026-01-07 11:05:41 +01:00
Asger F
b69f8532d0
JS: Moving 'cache' annotations outside the parameterised module
2026-01-07 11:05:41 +01:00
Asger F
10db30a715
JS: Parameterise the module (still only one instantiation)
2026-01-07 11:05:41 +01:00
Asger F
465f4b987d
JS: Wrap in a module
...
Simply wraps everything in 'cached private module Stage {}' and adds 'import Stage'.
The diff is large because of indentation changes.
2026-01-07 11:05:41 +01:00
Asger F
fd65eeba0a
JS: Make use() and rhs() uncached and private
2026-01-07 11:05:41 +01:00
Asger F
8f413856e0
JS: Make other node types not depend on tracking predicates
2026-01-07 11:05:41 +01:00
Asger F
7fc87536bf
JS: Make MkSyntheticCallbackArg() independent of trackUseNode
2026-01-07 11:05:41 +01:00
Asger F
12c0ad0e04
JS: Stop dependeding on getPath() for toString()
2026-01-07 11:05:41 +01:00
Simon Friis Vindum
bd24fb0baa
C++: Add simple range analysis test for bitshift
2026-01-07 10:56:50 +01:00
Tom Hvitved
dce21e595e
Rust: Model implicit Deref trait calls in data flow
2026-01-07 10:51:56 +01:00
Tom Hvitved
0c7aeb4bce
Rust: Update data flow test to use implicit borrow
2026-01-07 10:51:55 +01:00
Tom Hvitved
4540662ab9
Rust: Model Deref trait in type inference
2026-01-07 10:51:53 +01:00
Tom Hvitved
caa0e90cd8
Rust: More type inference tests
2026-01-07 10:51:52 +01:00
Geoffrey White
503a1b5d0c
Merge pull request #21107 from geoffw0/rusttest
...
Rust: Additional test cases for tuple content.
2026-01-07 09:37:14 +00:00
Michael Nebel
8fe31a1fd6
C#: Add some more testcases and update test expected output.
2026-01-07 09:56:02 +01:00
Michael Nebel
a991afdf69
C#: Use ref conversions (including variance conversions) for element types of span conversions.
2026-01-07 09:55:10 +01:00
Michael Nebel
77b0c4bbe4
Merge pull request #21111 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2026-01-07 09:41:21 +01:00
github-actions[bot]
53a0b8dd47
Add changed framework coverage reports
2026-01-07 00:25:25 +00:00
Owen Mansel-Chan
a7c4ba503e
Add missing qldoc
2026-01-06 23:41:33 +00:00
Owen Mansel-Chan
8602c4c57c
Rename Default* to External* for MaD classes
2026-01-06 22:57:01 +00:00
Owen Mansel-Chan
7fff3534fa
Convert 3 barriers for path injection to MaD
2026-01-06 22:56:59 +00:00
Owen Mansel-Chan
1e18fce300
Convert xss sanitizer to MaD
2026-01-06 22:56:57 +00:00
Owen Mansel-Chan
1e6410804f
Allow non-query-specific MaD sanitizers
2026-01-06 22:56:55 +00:00
Anders Schack-Mulligen
1fbc28b753
Go: Add support for MaD barriers and barrier guards.
2026-01-06 22:51:32 +00:00
Jeroen Ketema
c567197f29
C++: Simplify expression
2026-01-06 21:58:43 +01:00
Ian Lynagh
70cc153cf5
Merge pull request #21104 from github/post-release-prep/codeql-cli-2.23.9
...
Post-release preparation for codeql-cli-2.23.9
2026-01-06 18:25:18 +00:00
Geoffrey White
13df23630b
Rust: Effect of lifting content reads as taint steps.
2026-01-06 16:47:07 +00:00
Jeroen Ketema
063e5d300e
C++: Remove redundant SSA branch after IR fix
2026-01-06 17:40:52 +01:00
Geoffrey White
6e2702c3af
Rust: Add some taint tests involving tuples.
2026-01-06 16:38:36 +00:00
Jeroen Ketema
3cd9938ebe
C++: Update expected test results after IR changes
2026-01-06 17:37:22 +01:00
Jeroen Ketema
740518d23f
C++: Use the loaded this instead of the this initialization
2026-01-06 17:11:22 +01:00
github-actions[bot]
2cb932cf5d
Post-release preparation for codeql-cli-2.23.9
2026-01-06 15:42:16 +00:00
Ian Lynagh
b4f4b0e6b0
Merge pull request #21092 from github/release-prep/2.23.9
...
Release preparation for version 2.23.9
2026-01-06 15:06:25 +00:00
Owen Mansel-Chan
766e908c79
Accept MaD sanitizers for existing sink kinds
2026-01-06 14:38:27 +00:00
Owen Mansel-Chan
81667d741a
Rename classes for external sanitizers
2026-01-06 14:36:54 +00:00
Michael Nebel
b686890ba6
C#: Address review comments.
2026-01-06 15:08:13 +01:00
Tom Hvitved
1a2f72252a
Merge pull request #21072 from hvitved/rust/mad-provenance-refactor
...
Rust: Refactor MaD provenance-based filtering
2026-01-06 14:59:42 +01:00
Taus
4a567ad75e
Python: Add change note
2026-01-06 13:40:38 +00:00
Taus
2c83b296a4
Python: Add parser test
...
Note in particular that the `exceptions.py` test is unaffected.
2026-01-06 13:40:38 +00:00
Taus
4db60df9dd
Python: Regenerate parser files
2026-01-06 13:40:38 +00:00
Taus
2380bfd459
Python: Add support for PEP-758 exception syntax
...
See https://peps.python.org/pep-0758/ for more details.
We implement this by extending the syntax for exceptions and exception
groups so that the `type` field can now contain either an expression
(which matches the old behaviour), or a comma-separated list of at least
two elements (representing the new behaviour).
We model the latter case using a new node type `exception_list`, which
in `tsg-python` is simply mapped to a tuple. This means it matches the
existing behaviour (when the tuple is surrounded by parentheses)
exactly, hence we don't need to change any other code.
As a consequence of this, however, we cannot directly parse the Python
2.7 syntax `except Foo, e: ...` as `except Foo as e: ...`, as this would
introduce an ambiguity in the grammar. Thus, we have removed support for
the (deprecated) 2.7-style syntax, and only allow `as` to indicate
binding of the exception. The syntax `except Foo, e: ...` continues to
be parsed (in particular, it's not suddenly a syntax error), but it will
be parsed as if it were `except (Foo, e): ...`, which may not give the
correct results.
In principle we could extend the QL libraries to account for this case
(specifically when analysing Python 2 code). In practice, however, I
expect this to have a minor impact on results, and not worth the
additional investment at this time.
2026-01-06 13:40:37 +00:00
Tom Hvitved
da6d0abe31
Address review comment
2026-01-06 14:35:07 +01:00
Taus
72f9e34318
Merge pull request #20708 from github/tausbn/python-add-support-for-template-string-literals
...
Python: Add support for template string literals
2026-01-06 14:33:51 +01:00
Ian Lynagh
c233e36d4f
Merge pull request #21103 from igfoo/igfoo/css
...
Fix header link color and hover effect in query help documentation
2026-01-06 13:30:40 +00:00
Jeroen Ketema
4ede207c1f
Merge pull request #20926 from jketema/jketema/frontend-update
...
C++: Update expected test results after frontend update
2026-01-06 14:25:40 +01:00
Chris Smowton
6ed24f22b5
Change notes
2026-01-06 13:01:37 +00:00
Jeroen Ketema
d02ef7c6b1
C++: Add change notes
2026-01-06 13:53:47 +01:00
Jeroen Ketema
17b22bc088
C++: Update expected test results after frontend _Generic fix
2026-01-06 13:53:45 +01:00
Jeroen Ketema
5117b5906b
C++: Exclude comparisons from enum constants in `cpp/constant-comparison
2026-01-06 13:53:44 +01:00
Jeroen Ketema
112eaadfae
C++: Add another cpp/constant-comparison FP test case
2026-01-06 13:53:43 +01:00
Jeroen Ketema
1f10cddef5
C++: Accept test changes after frontend update and uncomment test case
...
The new frontend version does less constant folding.
2026-01-06 13:53:41 +01:00
Jeroen Ketema
90d6c9fc56
C++: Exclude more comparisons from cpp/constant-comparison
2026-01-06 13:53:40 +01:00
Jeroen Ketema
509cbf7049
C++: Add cpp/constant-comparison FP test cases after frontend update
2026-01-06 13:53:38 +01:00
Jeroen Ketema
2615dab2e2
C++: Update supported compiler versions
2026-01-06 13:53:35 +01:00
Jeroen Ketema
87a9065d61
C++: Update expected test results after frontend update
2026-01-06 13:53:34 +01:00
Chris Smowton
af36eae002
All languages: account for paths and paths-ignore in XML and other ancillary extraction
2026-01-06 12:48:01 +00:00
Tom Hvitved
eca451ea05
Merge pull request #21101 from hvitved/ruby/fix-bad-join
...
Ruby: Fix bad join
2026-01-06 13:44:29 +01:00
Tom Hvitved
5359b3d6e7
Merge pull request #21099 from hvitved/rust/fix-todo
...
Rust: Improve `TuplePositionContent.getAnAccess`
2026-01-06 13:16:15 +01:00
Ian Lynagh
0465dbe02b
Fix header link color and hover effect in query help documentation
...
Fix from Oscar, who wrote:
The Alabaster theme's global `a { color: #2F1695 }` rule was overriding
header link colors, rendering them purple instead of white.
2026-01-06 12:15:50 +00:00
Chris Smowton
bfcd36002a
Merge pull request #21049 from smowton/smowton/admin/java-buildless-paths-test
...
Add integration test for paths and paths-ignore vs. Java buildless mode
2026-01-06 12:01:09 +00:00
Michael Nebel
f32860b2d2
Merge pull request #21100 from michaelnebel/csharp14/nameofgenerictype
...
C# 14: [TEST ONLY] Test for `nameof` generic type.
2026-01-06 12:37:10 +01:00
Chris Smowton
6fb6923f63
Change note
2026-01-06 10:59:06 +00:00
Chris Smowton
102cfd06a7
Add integration test for paths and paths-ignore vs. Java buildless mode
2026-01-06 10:59:04 +00:00
Tom Hvitved
358339427b
Ruby: Fix bad join
...
Before
```
Evaluated relational algebra for predicate Filters::Filters::FilterCall.getAnAction/0#dispred#9c0da667@85a4cbtp with tuple counts:
394650 ~2% {2} r1 = `__#Module::ModuleBase.getAMethod/0#dispred#56626ed3Merge_Module::ModuleBase.getModule/0#dispred#4f2c__#shared` AND NOT `_Filters::Filters::FilterCall.getExceptArgument/0#dispred#515c95c0__#Method::Method.getName/0#dispre__#antijoin_rhs`(FIRST 2)
{2} | AND NOT `project#Filters::Filters::FilterCall.getOnlyArgument/0#dispred#f337e70f`(FIRST 1)
380366 ~0% {2} | SCAN OUTPUT In.1, In.0
29453 ~0% {2} r2 = JOIN `_#Module::ModuleBase.getAMethod/0#dispred#56626ed3Merge__#AST::AstNode.getEnclosingModule/0#dispred#__#shared` WITH project#ActionController::ActionControllerActionMethod#6db6f5e0 ON FIRST 1 OUTPUT Lhs.0, Lhs.1
366017 ~0% {2} r3 = JOIN `_#Module::ModuleBase.getAMethod/0#dispred#56626ed3Merge_Module::ModuleBase.getModule/0#dispred#4f2ca__#shared` WITH project#ActionController::ActionControllerActionMethod#6db6f5e0 ON FIRST 1 OUTPUT Lhs.0, Lhs.1
395470 ~0% {2} r4 = r2 UNION r3
395470 ~0% {3} | JOIN WITH `Method::Method.getName/0#dispred#2acbf239` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
2227 ~0% {2} | JOIN WITH `Filters::Filters::FilterCall.getOnlyArgument/0#dispred#f337e70f` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
382593 ~0% {2} r5 = r1 UNION r4
133735 ~4% {2} | JOIN WITH `project#ActionController::ActionControllerActionMethod.getARoute/0#dispred#9eb85e56` ON FIRST 1 OUTPUT Lhs.1, Lhs.0
540556870 ~2% {3} | JOIN WITH Filters::Filters::Filter#a42c5138 CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Lhs.1
525979755 ~127% {3} | JOIN WITH `Filters::Filters::FilterImpl.getFilterCallable/0#dispred#451bf7d7` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
{3} | REWRITE WITH TEST InOut.1 != InOut.2
525979755 ~407036% {2} | SCAN OUTPUT In.0, In.1
return r5
```
After
```
Evaluated relational algebra for predicate Filters::Filters::FilterCall.getAnAction/0#91dba45c@74dfcepp with tuple counts:
1363 ~4% {2} r1 = JOIN `Filters::Filters::FilterCall.getAnActionCand/1#f053150d` WITH `Filters::Filters::FilterCall.getOnlyArgument/0#dispred#f337e70f` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
140978 ~0% {3} r2 = `Filters::Filters::FilterCall.getAnActionCand/1#f053150d` AND NOT `Filters::Filters::FilterCall.getExceptArgument/0#dispred#515c95c0#fb`(FIRST 2)
{3} | AND NOT `project#Filters::Filters::FilterCall.getOnlyArgument/0#dispred#f337e70f`(FIRST 1)
132372 ~3% {2} | SCAN OUTPUT In.0, In.2
133735 ~4% {2} r3 = r1 UNION r2
return r3
```
2026-01-06 11:42:49 +01:00
Michael Nebel
0a0cbdb799
C#14: Test for nameof generic type.
2026-01-06 11:32:49 +01:00
Michael Nebel
ff1ec47f98
Merge pull request #21095 from michaelnebel/net10/generatedmodels
...
C#: Update .NET runtime models.
2026-01-06 11:15:47 +01:00
Michael Nebel
2e208045d4
C#: Update test expected output.
2026-01-06 10:20:41 +01:00
Anders Peter Fugmann
103b3df885
Merge pull request #21093 from github/andersfugmann/deprecate_kotlin_1.7
...
Kotlin: Mark support for Kotlin versions 1.6 and 1.7 as deprecated
2026-01-06 09:53:26 +01:00
Michael Nebel
f5321548e1
C#: Add change note.
2026-01-06 09:46:44 +01:00
Michael Nebel
5299b356a9
C#: Update models test expected output.
2026-01-06 09:46:34 +01:00
Michael Nebel
0d5f1b11ad
C#: Update .NET runtime generated models.
2026-01-06 09:44:23 +01:00
Tom Hvitved
ae9588e176
Rust: Improve TuplePositionContent.getAnAccess
2026-01-06 09:24:32 +01:00
Tom Hvitved
19179d5005
Merge pull request #21071 from hvitved/rust/access-after-lifetime-perf
...
Rust: Speedup `AccessAfterLifetime.ql`
2026-01-06 09:18:05 +01:00
Michael Nebel
16b2e7150a
Merge pull request #21069 from michaelnebel/net10/stubs
...
C#: Generate .NET 10 stubs.
2026-01-06 07:56:25 +01:00
Tom Hvitved
836b667a62
Address review comment
2026-01-05 19:47:02 +01:00
Nick Rolfe
5faa546053
Merge pull request #21096 from github/nickrolfe/doc-range-checks
...
Docs: clarify behavior of range checks
2026-01-05 18:30:10 +00:00
Nick Rolfe
4ebbd1f9f3
Docs: clarify behavior of range checks
...
The current wording (about the sets of values being "the same") is not
accurate.
2026-01-05 18:03:54 +00:00
Michael Nebel
bbec35bcb1
C#: Update flow summaries test expected output.
2026-01-05 15:26:48 +01:00
Michael Nebel
a671810edf
C#: Update test options files to point to the new stubs versions.
2026-01-05 15:23:34 +01:00
Michael Nebel
576998a854
C#: Manual corrections to the generated stubs.
2026-01-05 15:23:31 +01:00
Michael Nebel
3f25065956
C#: Re-generate stubs.
2026-01-05 15:23:26 +01:00
Michael Nebel
2d90cc87dc
C#: Update hardcoded package version numbers for stub generation.
2026-01-05 15:23:23 +01:00
Anders Peter Fugmann
f87cb4a2e9
Update docs/codeql/reusables/supported-versions-compilers.rst
...
Add ending period for consitency
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-05 13:38:57 +01:00
Anders Fugmann
ba922fce26
Kotlin: Mark support for Kotlin versions 1.6 and 1.7 as deprecated
2026-01-05 13:13:11 +01:00
Tom Hvitved
2543754dd4
Rust: Remove newtype construction
2026-01-05 13:10:40 +01:00
Tom Hvitved
5bc457f6da
Rust: Move logic from AccessAfterLifetimeExtensions.qll to AccessAfterLifetime.ql
2026-01-05 13:10:38 +01:00
Tom Hvitved
06a5648336
Rust: Speedup AccessAfterLifetime.ql
...
Before
```
Pipeline standard for AccessAfterLifetimeExtensions::AccessAfterLifetime::mayEncloseOnStack/2#3cdefece#bf@61cb32j5 was evaluated in 30 iterations totaling 44856ms (delta sizes total: 241646328).
241404616 ~1% {2} r1 = SCAN `AccessAfterLifetimeExtensions::AccessAfterLifetime::mayEncloseOnStack/2#3cdefece#bf#prev_delta` OUTPUT In.1, In.0
7379161442 ~1080% {2} | JOIN WITH `_AstNode::AstNode.getEnclosingBlock/0#5c38e65a_AstNode::AstNode.getEnclosingCallable/0#5a548913_Bloc__#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1
333897324 ~40% {2} | AND NOT `AccessAfterLifetimeExtensions::AccessAfterLifetime::mayEncloseOnStack/2#3cdefece#bf#prev`(FIRST 2)
297961888 ~24% {2} | JOIN WITH `project#AccessAfterLifetimeExtensions::AccessAfterLifetime::sourceValueScope/3#d065ba16#2` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
return r1
```
2026-01-05 13:10:37 +01:00
github-actions[bot]
c00663766e
Release preparation for version 2.23.9
2026-01-05 11:57:06 +00:00
Asger F
635f008bb2
Merge branch 'main' into js/use-cache-directives
2026-01-05 10:59:50 +01:00
Jeroen Ketema
ac859d90ef
Merge pull request #21070 from jketema/jketema/supported-platforms
...
Update supported platforms
2026-01-05 09:36:00 +01:00
Mauro Baluda
1e1fb43534
Update JsonObject put method signatures in YAML
...
Use erased type
2026-01-02 11:55:40 +01:00
Owen Mansel-Chan
bf79b8a792
Merge branch 'main' into java-mad-test
2026-01-01 23:34:45 +00:00
Kevin Stubbings
f73f1a7aa9
Add additional test
2025-12-29 07:09:31 +00:00
Mauro Baluda
cb341609e7
Add change notes for Couchbase sinks
2025-12-24 20:41:11 +01:00
Mauro Baluda
15ee88ee24
SQLi test case
2025-12-24 20:30:21 +01:00
Mauro Baluda
fd78c949d3
Merge branch 'github:main' into couchdb
2025-12-22 20:25:41 +01:00
Mauro Baluda
b22077c371
Hardcoded credentials in CouchBase
2025-12-22 20:22:20 +01:00
Tom Hvitved
f23351afca
Rust: Refactor MaD provanance-based filtering
2025-12-19 19:35:41 +01:00
Simon Friis Vindum
6fa60932c9
Merge pull request #21067 from paldepind/rust/type-inference-use-type-item
...
Rust: Refactor type inference to use new `TypeItem` class
2025-12-19 14:47:33 +01:00
Simon Friis Vindum
e0e493a9e3
Rust: Address review comments
2025-12-19 13:53:38 +01:00
Jeroen Ketema
57d88511d9
Update supported platforms
2025-12-19 11:35:59 +01:00
Jeroen Ketema
b5d3d95e72
Merge pull request #21037 from jketema/swift-6.2.3
...
Swift: Update to Swift 6.2.3
2025-12-19 10:21:40 +01:00
Simon Friis Vindum
dde845e92f
Rust: Refactor type inference to use new TypeItem class
2025-12-18 16:08:27 +01:00
Tom Hvitved
27874caf14
Merge pull request #20973 from hvitved/rust/type-inference-distinguish-mut-ref
...
Rust: Distinguish `&mut T` from `&T` in type inference
2025-12-18 15:59:40 +01:00
Jeroen Ketema
ed7854cc0d
Swift: Update LFS artifacts
2025-12-18 15:45:35 +01:00
Jeroen Ketema
64ee0d3b9d
Swift: Add change note
2025-12-18 15:43:33 +01:00
Asger F
f169251a0c
Merge pull request #20668 from knewbury01/knewbury01/add-react-useref-step
...
Add React missing useRef related constructs
2025-12-18 14:20:41 +01:00
Taus
6b03130755
Python: Fix bad join in import_points_to
2025-12-18 12:03:40 +00:00
Tom Hvitved
47d0863bc5
Merge pull request #21038 from github/path-combine-name-desc-update
...
Clarify Path.Combine call behavior
2025-12-18 12:54:38 +01:00
Michael Nebel
1817f9cdf7
C#: Add change-note.
2025-12-18 12:51:04 +01:00
Michael Nebel
44c9c58b48
C#: Add implicit span conversion test case.
2025-12-18 12:51:02 +01:00
Tom Hvitved
aae6cd93a2
Address review comments
2025-12-18 12:47:43 +01:00
Tom Hvitved
3c6a757c3e
Rust: Distinguish &mut T from &T in type inference
2025-12-18 12:47:42 +01:00
Asger F
806fcb2a15
Merge branch 'main' into knewbury01/add-react-useref-step
2025-12-18 12:10:10 +01:00
Michael Nebel
119ecff3b7
C#: Implicit span conversion.
2025-12-18 11:59:18 +01:00
Simon Friis Vindum
da99bbf6a6
Merge pull request #21059 from paldepind/rust/adt-class
...
Rust: Improve and rename `Adt` class
2025-12-18 10:41:11 +01:00
Simon Friis Vindum
96a986228d
Rust: Revert accidental changes
2025-12-18 09:04:07 +01:00
Jon Janego
a3c0082ac7
Update PathCombine.expected
2025-12-17 09:53:07 -06:00
Jon Janego
425d62cfd6
Update PathCombine metadata for clarity
2025-12-17 09:50:11 -06:00
Tom Hvitved
98dc4390ea
Merge pull request #21060 from hvitved/shared/unbound-list
...
Shared: Add library for unbound lists
2025-12-17 16:20:40 +01:00
Jon Janego
e36b602743
Enhance PathCombine.ql metadata details
2025-12-17 09:16:56 -06:00
Jon Janego
7423f6f99b
Fix typo in warning message for Path.Combine
2025-12-17 09:16:05 -06:00
Simon Friis Vindum
9e8735f84c
Merge pull request #20878 from paldepind/rust/axum-model
...
Rust: Add models for Axum
2025-12-17 15:47:28 +01:00
Tom Hvitved
47e375f6e4
Merge pull request #21057 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-12-17 15:34:45 +01:00
Tom Hvitved
adfaefd1e6
Merge pull request #21043 from hvitved/rust/type-inference-trait-bounds-overlap
...
Rust: Fix candidate receiver type calculation for trait bounds
2025-12-17 15:31:00 +01:00
Simon Friis Vindum
8564c1f458
Rust: Add change note
2025-12-17 14:50:50 +01:00
Simon Friis Vindum
97fd70e4f4
Rust: Accept change to expected file
2025-12-17 14:19:19 +01:00
Simon Friis Vindum
f1364caaa9
Rust: Add upgrade and downgrade scripts
2025-12-17 14:19:18 +01:00
Simon Friis Vindum
b64809cbd3
Rust: Adapt QL to AST changes
2025-12-17 14:19:16 +01:00
Tom Hvitved
b6cda4a29b
Update shared/util/codeql/util/UnboundList.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-17 13:44:47 +01:00
Tom Hvitved
08339fe0df
Shared: Add library for unbound lists
2025-12-17 13:13:39 +01:00
Tom Hvitved
5c604fce48
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate TypeInference::MethodResolution::MethodCall.getTrait/0#dispred#fc13ba6e@914858bt with tuple counts:
153112 ~2% {2} r1 = SCAN `Operation::Operation.isOverloaded/3#f0e64084` OUTPUT In.0, In.1
153112 ~2% {2} | STREAM DEDUP
18807 ~0% {2} r2 = JOIN `TypeInference::getCallExprTraitQualifier/1#c084fe9f` WITH TypeInference::MethodResolution::MethodCallCallExpr#6eae461f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
65859035 ~3% {3} r3 = JOIN `_IndexExpr::Generated::IndexExpr#9975e37a_TypeInference::MethodResolution::MethodCallIndexExpr.isInM__#shared` WITH Trait::Generated::Trait#ecf50173 CARTESIAN PRODUCT OUTPUT Rhs.0, _, Lhs.0
65859035 ~0% {3} | REWRITE WITH Out.1 := "core::ops::index::Index"
11191 ~0% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
671 ~0% {1} r4 = JOIN IndexExpr::Generated::IndexExpr#9975e37a WITH `TypeInference::MethodResolution::MethodCallIndexExpr.isInMutableContext/0#dispred#8c8ad425` ON FIRST 1 OUTPUT Lhs.0
3948835 ~2% {3} | JOIN WITH Trait::Generated::Trait#ecf50173 CARTESIAN PRODUCT OUTPUT Rhs.0, _, Lhs.0
3948835 ~2% {3} | REWRITE WITH Out.1 := "core::ops::index::IndexMut"
671 ~1% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
183781 ~0% {2} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
After
```
Evaluated relational algebra for predicate TypeInference::MethodResolution::MethodCall.getTrait/0#dispred#fc13ba6e@1b4a55e3 with tuple counts:
153112 ~2% {2} r1 = SCAN `Operation::Operation.isOverloaded/3#f0e64084` OUTPUT In.0, In.1
153112 ~2% {2} | STREAM DEDUP
11191 ~0% {2} r2 = JOIN `_IndexExpr::Generated::IndexExpr#9975e37a_TypeInference::MethodResolution::MethodCallIndexExpr.isInM__#shared` WITH Stdlib::IndexTrait#e80543a5 CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0
18807 ~0% {2} r3 = JOIN `TypeInference::getCallExprTraitQualifier/1#c084fe9f` WITH TypeInference::MethodResolution::MethodCallCallExpr#6eae461f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
671 ~0% {1} r4 = JOIN IndexExpr::Generated::IndexExpr#9975e37a WITH `TypeInference::MethodResolution::MethodCallIndexExpr.isInMutableContext/0#dispred#8c8ad425` ON FIRST 1 OUTPUT Lhs.0
671 ~1% {2} | JOIN WITH Stdlib::IndexMutTrait#4d6c31bd CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.0
183781 ~0% {2} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
2025-12-17 11:52:28 +01:00
Simon Friis Vindum
dd02ac3964
Rust: Update generated files
2025-12-17 11:13:13 +01:00
Simon Friis Vindum
ca6c054256
Rust: Rename Adt class and lift common predicates to it
2025-12-17 11:13:11 +01:00
Simon Friis Vindum
22bc924c26
Rust: Apply Black formatter to annotations.py
2025-12-17 11:13:10 +01:00
Tom Hvitved
eb56cbd358
Rust: Fix candidate receiver type calculation for trait bounds
2025-12-17 11:06:27 +01:00
Tom Hvitved
3104adbe77
Rust: Add type inference test
2025-12-17 11:06:22 +01:00
Tom Hvitved
802c465b31
Merge pull request #21027 from hvitved/rust/type-inference-matching-specialization
...
Rust: Also use specialized types when inferring types for calls
2025-12-17 11:03:44 +01:00
Tom Hvitved
fe0ce7a492
Address review comments
2025-12-17 10:35:28 +01:00
Jeroen Ketema
a04b10cb86
Swift: Fix dataset check errors by not referring to unavailable decls
...
Test
Test
Test
Test
Test
Test
2025-12-17 10:14:58 +01:00
Michael Nebel
8eddc71e0e
Merge pull request #21016 from michaelnebel/csharp/slnx
...
C#: Support `.slnx.` solution files.
2025-12-17 09:27:11 +01:00
Taus
4d45b5839d
Python: Add change note
2025-12-16 23:57:58 +01:00
Taus
b9616eb639
Python: Add stats
...
Not actually based on any measurements, just the usual 100/1000 stuff.
2025-12-16 23:57:58 +01:00
Taus
82c629ada8
Python: Add up-/downgrade scripts for template literals
...
We do the usual thing. Downgrade scripts remove the relevant relations;
upgrade scripts do nothing.
2025-12-16 23:57:58 +01:00
Taus
47c967a06c
Python: Bump extractor version
2025-12-16 23:57:58 +01:00
Taus
414e689291
Python: Add AST node wrappers
2025-12-16 23:57:58 +01:00
Taus
652c335d30
Python: Regenerate AST and dbscheme files
2025-12-16 23:57:58 +01:00
Taus
28e733e335
Python: Support template strings in rest of extractor
...
Adds three new AST nodes to the mix:
- `TemplateString` represents a t-string in Python 3.14
- `TemplateStringPart` represents one of the string constituents of a
t-string. (The interpolated expressions are represented as `Expr` nodes,
just like f-strings.)
- `JoinedTemplateString` represents an implicit concatenation of
template strings.
Importantly, we _completely avoid_ the complicated construction we
currently do for format strings (as well as the confusing nomenclature).
No extra injection of empty strings (so that a template string is a
strict alternation of strings and expressions). A `JoinedTemplateString`
simply has a list of template string children, and a `TemplateString`
has a list of "values" which may be either `Expr` or
`TemplateStringPart` nodes.
If we ever find that we actually want the more complicated interface for
these strings, then I would much rather we reconstruct this inside of QL
rather than in the parser.
2025-12-16 23:57:58 +01:00
Taus
cd7ae34380
Python: Regenerate parser files
2025-12-16 23:57:58 +01:00
Taus
7768ebe8b8
Python: Add parser support for template strings
...
- Extends the scanner with a new token kind representing the start of a
template string. This is used to distinguish template strings from
regular strings (because only a template string will start with a
`_template_string_start` external token).
- Cleans up the logic surrounding interpolations (and the method names)
so that format strings and template strings behave the same in this
case.
Finally, we add two new node types in the tree-sitter grammar:
- `template_string` behaves like format strings, but is a distinct type
(mainly so that an implicit concatenation between template strings and
regular strings becomes a syntax error).
- `concatenated_template_string` is the counterpart of
`concatenated_string`.
However, internally, the string parts of a template strings are just the
same `string_content` nodes that are used in regular format strings. We
will disambiguate these inside `tsg-python`.
2025-12-16 23:57:58 +01:00
Jon Janego
576f270753
Update PathCombine.ql
2025-12-16 16:39:06 -06:00
Jon Janego
44d896abaf
Merge pull request #21054 from github/changedocs-2.23.8
...
Changedocs 2.23.8
2025-12-16 12:18:59 -06:00
Jon Janego
c7ec175e10
Minor change to 2.23.1 rst
2025-12-16 11:36:34 -06:00
Jon Janego
92bb40d7e4
Minor revert to 2.23.1 rst
2025-12-16 11:35:35 -06:00
Jon Janego
ff0a0ed373
Adds changelog docs for 2.23.7 and 2.23.8
2025-12-16 11:28:34 -06:00
Jon Janego
30673a2fc8
Enhance PathCombine metadata with detailed description
...
Updated the `name` and `description` of PathCombine.ql to provide more details about the issue.
2025-12-16 10:37:53 -06:00
Jon Janego
84a501d360
Update csharp/ql/src/Bad Practices/PathCombine.ql
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-12-16 09:10:39 -06:00
Simon Friis Vindum
420dd9ab61
Rust: Add change note for Axum models
2025-12-16 15:15:22 +01:00
Simon Friis Vindum
e53bdb11be
Rust: Accept changes to expected files for consistency check
2025-12-16 13:15:34 +01:00
Simon Friis Vindum
63329b47d8
Merge pull request #21036 from paldepind/rust/prioritize-manual-summaries
...
Rust: Don't apply generated models for functions that have a manual model
2025-12-16 12:47:27 +01:00
Simon Friis Vindum
cbdab99497
Rust: Add XSS sink for Axum HTML response creation
2025-12-16 12:41:44 +01:00
Simon Friis Vindum
fbf9f7eda7
Rust: Add models for Axum
2025-12-16 12:41:32 +01:00
Simon Friis Vindum
0ea06aca06
Rust: Introduce more functions in Axum test
2025-12-16 12:32:40 +01:00
Paolo Tranquilli
6fc963177c
codegen: mention Rust in the README
...
Updated README to reflect support for the Rust extractor and added details about Rust generated files.
2025-12-16 11:05:39 +01:00
Michael Nebel
7df1d7a13f
C#: Address review comment.
2025-12-16 10:21:08 +01:00
Simon Friis Vindum
8c4b81ebc7
Rust: Fix typo in comment
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-16 10:19:01 +01:00
yoff
cbc0100675
Apply suggestion from @Copilot
2025-12-16 10:11:05 +01:00
yoff
50e9057db1
java: add change note
2025-12-16 10:11:05 +01:00
yoff
c6240e5a99
java: understand more initializers
...
Whne a fiels is assigned a safe type in a constructor,
that field is not exposed.
2025-12-16 10:11:05 +01:00
yoff
a65d385297
java: add tests for thread safe initialisation
...
Co-authored-by: Raúl Pardo <raul.pardo@protonmail.com >
2025-12-16 10:11:05 +01:00
Simon Friis Vindum
477e1cd96c
Rust: Fix manual model for PathBuf::as_path
2025-12-16 09:25:42 +01:00
Jon Janego
bd9b657e91
Update csharp/ql/src/Bad Practices/PathCombine.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-15 15:20:52 -06:00
Jon Janego
f6e3e192ca
Clarify Path.Combine call behavior in documentation
...
Updated the name and description to clarify the issue with Path.Combine.
2025-12-15 15:18:34 -06:00
Tom Hvitved
d709343d38
Merge pull request #21011 from aschackmull/mad/shared-externalflow
...
Java/C++/Go/C#: Share parts of ExternalFlow.qll
2025-12-15 20:27:04 +01:00
Tom Hvitved
74ed18a89f
Merge pull request #21035 from hvitved/rust/ord-models
...
Rust: Add models for `core::cmp::Ord::{min,max,clamp}`
2025-12-15 17:09:33 +01:00
Jeroen Ketema
294de742a4
Swift: Update to Swift 6.2.3
2025-12-15 17:00:50 +01:00
Simon Friis Vindum
1b70111dd2
Rust: Don't apply generated models for functions that have a manual model
2025-12-15 14:25:49 +01:00
Simon Friis Vindum
d2cfd53933
Rust: Add test with wrong generated model
2025-12-15 14:23:48 +01:00
Tom Hvitved
86a4d42316
Rust: Remove obsolete comment from test
2025-12-15 13:10:41 +01:00
Tom Hvitved
3239afb278
Rust: Also use specialized types when inferring types for calls
2025-12-15 13:10:37 +01:00
Tom Hvitved
8e2d9d50b7
Rust: Add type inference test
2025-12-15 13:09:21 +01:00
Óscar San José
2824c98efb
Merge pull request #21025 from github/oscarsj/mergeback-rc-3-20-into-main
...
Mergeback rc/3.20 into main
2025-12-15 11:59:58 +01:00
Tom Hvitved
fc49360e81
Rust: Add models for core::cmp::Ord::{min,max,clamp}
2025-12-15 11:52:05 +01:00
Michael Nebel
70447c6483
Merge pull request #21026 from michaelnebel/csharp/migratesolution
...
C#: Migrate our own solution file to `.slnx`.
2025-12-15 11:01:35 +01:00
Geoffrey White
93e8534d0a
Merge pull request #21009 from geoffw0/varfps
...
Rust: Fix some false positives for rust/unused-variable and rust/unused-value
2025-12-15 09:48:47 +00:00
Geoffrey White
01f9b42472
Merge branch 'main' into varfps
2025-12-15 08:49:16 +00:00
Michael Nebel
949cfc3fbd
Merge pull request #21031 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-12-15 09:12:24 +01:00
github-actions[bot]
f7bbddec24
Add changed framework coverage reports
2025-12-15 00:27:40 +00:00
Owen Mansel-Chan
af2fbd8dda
Merge pull request #20929 from owen-mc/go/fix-data-flow-consistency-checks
...
Go: fix small issues highlighted by data flow consistency checks
2025-12-12 17:01:43 +00:00
Mathias Vorreiter Pedersen
3ea92eada6
Merge pull request #21024 from MathiasVP/csharp-implicit-map-value-reads
...
C#: Add implicit `System.Collections.Generic.KeyValuePair2.Value` reads at taint sinks
2025-12-12 16:46:12 +00:00
Tom Hvitved
b61a439491
Merge pull request #21020 from hvitved/shared/source-sink-provenance-prio
...
Shared: Prefer source/sink models with manual provenance over generated
2025-12-12 16:01:06 +01:00
Michael Nebel
e417938860
C#: Exclude all test projects from the Release build configuration.
2025-12-12 14:25:15 +01:00
Michael Nebel
7f1a9b57f1
C#: Update the default solution to point to the .slnx file instead.
2025-12-12 14:23:23 +01:00
Michael Nebel
1e43d06c6d
C#: Migrate CSharp.sln to CSharp.slnx (as is).
2025-12-12 14:22:51 +01:00
Anders Schack-Mulligen
64a48e4e7b
MaD: Use "namespace" instead "package" in shared code.
2025-12-12 13:57:02 +01:00
Anders Schack-Mulligen
7f8d0771df
MaD: Rename file.
2025-12-12 13:50:58 +01:00
Óscar San José
d972af9ef8
Merge branch 'main' of https://github.com/github/codeql into oscarsj/mergeback-rc-3-20-into-main
2025-12-12 13:22:08 +01:00
Mathias Vorreiter Pedersen
2720f57965
C#: Add change note.
2025-12-12 11:20:02 +00:00
Óscar San José
72b63bbdc3
Merge pull request #20989 from github/post-release-prep/codeql-cli-2.23.8
...
Post-release preparation for codeql-cli-2.23.8
2025-12-12 12:18:16 +01:00
Mathias Vorreiter Pedersen
f30ebab528
C#: Add implicit reads of System.Collections.Generic.KeyValuePair`2.Value at taint sinks.
2025-12-12 11:08:15 +00:00
Mathias Vorreiter Pedersen
b499661c05
C#: Slightly refactor 'CollectionFlow' tests to add a taint-flow test.
2025-12-12 11:06:01 +00:00
Simon Friis Vindum
c5987b4481
Merge pull request #21019 from paldepind/rust/impl-return
...
Rust: Don't propagate `impl` in return position into function bodies
2025-12-12 11:32:26 +01:00
Anders Schack-Mulligen
8564b4ea66
Go: Use shared modelCoverage.
2025-12-12 11:24:39 +01:00
Tom Hvitved
0b00589f95
Rust: Update expected test output
2025-12-12 11:16:17 +01:00
Tom Hvitved
0b81d44ec7
Rust: Apply same filtering of generated summaries as in C# and Java
2025-12-12 11:16:16 +01:00
Tom Hvitved
c4a8e9df21
Shared: Prefer source/sink models with manual provenance over generated
2025-12-12 11:16:13 +01:00
Anders Schack-Mulligen
f8c144b20e
Merge pull request #21018 from aschackmull/csharp/guards-connect-barrierguard
...
C#: Connect shared Guards to SSA BarrierGuards.
2025-12-12 10:50:47 +01:00
Tom Hvitved
6f27863453
Merge pull request #21012 from hvitved/csharp/nhibernate-sql-sinks
...
C#: Add `NHibernate` SQL sinks
2025-12-12 09:23:39 +01:00
Tom Hvitved
0566a9ffe6
Merge pull request #20994 from hvitved/csharp/remove-pre-ssa
...
C#: Remove `PreSsa` library
2025-12-12 09:22:36 +01:00
Anders Schack-Mulligen
4b2e8c0b57
C++/C#/Go: Add empty extensible data.
2025-12-12 09:17:51 +01:00
Anders Schack-Mulligen
5bddc8d289
Go: Move Go package-grouping support into shared lib.
2025-12-12 09:17:51 +01:00
Simon Friis Vindum
4425891352
Rust: Don't propagate impl in return position into function bodies
2025-12-12 09:13:04 +01:00
Michael Nebel
ea7e15829a
C#: Update integration test expected output.
2025-12-12 08:37:58 +01:00
Michael Nebel
b8def10977
C#: Claim support for .slnx in the public documentation.
2025-12-12 08:32:07 +01:00
Anders Schack-Mulligen
e262438557
C++: Use shared model coverage code.
2025-12-12 08:20:20 +01:00
Anders Schack-Mulligen
07252519c8
Java/C++: Thread additional models through the shared lib.
2025-12-12 08:20:20 +01:00
Anders Schack-Mulligen
47dcf05a32
C++/Go/Java: Don't import top-level extensible predicates.
2025-12-12 08:20:19 +01:00
Anders Schack-Mulligen
3b334ea215
Java/C#: Share model coverage code.
2025-12-12 08:20:19 +01:00
Anders Schack-Mulligen
0915db4f6b
C++/C#/Go: Use shared interpretModelForTest.
2025-12-12 08:20:18 +01:00
Anders Schack-Mulligen
f0e7f1af2c
C++/C#/Go: Align ExternalFlowExtensions with Java.
2025-12-12 08:20:18 +01:00
Anders Schack-Mulligen
cb578e32ab
Java: Move interpretModelForTest into shared code.
2025-12-12 08:20:17 +01:00
Anders Schack-Mulligen
7285a8e1c5
Merge pull request #20986 from aschackmull/java/mad-barriers
...
Java: Support for MaD barriers and barrier guards.
2025-12-12 07:53:53 +01:00
Idriss Riouak
8fccc34bd6
Merge pull request #21017 from github/idrissrio/cpp/overlay/xml
2025-12-11 20:02:57 +01:00
Geoffrey White
ee13a49152
Merge branch 'main' into varfps
2025-12-11 18:21:22 +00:00
Geoffrey White
d88bae9ec2
Rust: Narrow the exclusion a little.
2025-12-11 18:07:12 +00:00
Geoffrey White
5db6b92411
Merge pull request #20887 from github/copilot/add-ecb-cbc-test-cases
...
Add ECB and CBC block mode test cases for BrokenCryptoAlgorithm query
2025-12-11 16:22:27 +00:00
Jeroen Ketema
1af1d2d3d5
Merge pull request #21008 from jketema/swift-6.2.2
...
Swift: Update to Swift 6.2.2
2025-12-11 16:57:55 +01:00
idrissrio
926d7f53f2
C/C++ overlay: Update identical files
2025-12-11 16:56:29 +01:00
Anders Schack-Mulligen
4066c0d84a
Java: Fix input/output naming.
2025-12-11 16:24:29 +01:00
Owen Mansel-Chan
87f58fe51a
Convert regex injection barrier to MaD
2025-12-11 16:24:29 +01:00
Owen Mansel-Chan
44295e4c7d
Convert XSS barrier to MaD
2025-12-11 16:24:28 +01:00
Owen Mansel-Chan
7e562f3150
Convert request forgery barrier guard to MaD
2025-12-11 16:24:28 +01:00
Anders Schack-Mulligen
5ab26e481b
Add dummy instantiations for other languages.
2025-12-11 16:24:27 +01:00
Owen Mansel-Chan
f6e3c77145
Convert path injection barrier to MaD
2025-12-11 16:24:27 +01:00
Owen Mansel-Chan
f6e40bd49d
Convert trust boundary violation barrier and barrier guard to MaD
2025-12-11 16:24:26 +01:00
Anders Schack-Mulligen
dcf6041dca
Java: Add empty extensible data.
2025-12-11 16:24:26 +01:00
Anders Schack-Mulligen
8da65ec6d0
Java: Add support for boolean MaD barrier guards.
2025-12-11 16:24:25 +01:00
Anders Schack-Mulligen
d24b0ff596
Java: Basic support for pass-through barrier models.
2025-12-11 16:24:25 +01:00
Simon Friis Vindum
e13bb0f866
Merge pull request #20879 from paldepind/rust/reads-as-taint
...
Rust: Lift content reads as taint steps
2025-12-11 16:05:29 +01:00
Anders Schack-Mulligen
1142f4a54a
C#: Connect shared Guards to SSA BarrierGuards.
2025-12-11 15:41:47 +01:00
idrissrio
84bbe71522
C/C++ overlay: Discard xml entities
2025-12-11 15:41:35 +01:00
Michael Nebel
efb585384b
C#: Add change-note.
2025-12-11 15:27:28 +01:00
Michael Nebel
23981b474b
C#: Update integration test expected output.
2025-12-11 15:23:51 +01:00
Michael Nebel
d31a297a97
C#: Make support for .slnx files.
2025-12-11 15:18:27 +01:00
Michael Nebel
5212e635bc
C#: Add dependency Microsoft.VisualStudio.SolutionPersistence and update lock files.
2025-12-11 15:18:25 +01:00
Simon Friis Vindum
74a77a7c3c
Rust: Fix typo in change note
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-12-11 15:04:25 +01:00
Michael Nebel
166ce1b498
C#: Add buildless integration test example including .slnx file.
2025-12-11 14:47:08 +01:00
Michael Nebel
247d764a50
C#: Add autobuilder integration tests with .slnx file.
2025-12-11 14:45:38 +01:00
Tom Hvitved
adac3926a1
C#: Remove PreSsa library
2025-12-11 14:17:12 +01:00
Tom Hvitved
6feded9000
Merge pull request #21014 from hvitved/csharp/file-path-filter-log-levels
...
C#: Adjust log levels in `FilePathFilter.cs`
2025-12-11 14:02:51 +01:00
Idriss Riouak
ad6988ff40
Merge pull request #20995 from github/idrissrio/cpp/overlay/locations
...
C/C++ overlay: Add multiloc declaration to Overlay.qll
2025-12-11 14:00:12 +01:00
Michael Nebel
ce2c149cb3
Merge pull request #20996 from michaelnebel/csharp/updateroslyn
...
C#: Update Roslyn, MsBuild and Binlog extractor dependencies.
2025-12-11 13:50:22 +01:00
Tom Hvitved
a060218109
Add change note
2025-12-11 13:43:52 +01:00
Tom Hvitved
2fd4516c25
C#: Adjust log levels in FilePathFilter.cs
2025-12-11 13:37:56 +01:00
Tom Hvitved
776f6cd56f
C#: Add NHibernate SQL injection tests
2025-12-11 13:30:26 +01:00
Tom Hvitved
fac84ee9f3
C#: Add NHibernate SQL sinks
2025-12-11 13:30:24 +01:00
Michael Nebel
24417cf93d
C#: Add change-note.
2025-12-11 13:15:29 +01:00
Jeroen Ketema
a820c49a0d
Swift: Add change note
2025-12-11 13:07:48 +01:00
Jeroen Ketema
0673c2d82b
Swift: Update resources to Swift 6.2.2
2025-12-11 13:07:47 +01:00
Jeroen Ketema
5650c87c55
Swift: Update to Swift 6.2.2
2025-12-11 13:07:45 +01:00
Jeroen Ketema
004dfbdf24
Merge pull request #21005 from jketema/swift-filter-arg
...
Swift: Update tracer configuration
2025-12-11 12:40:25 +01:00
Michael Nebel
fa76d3555a
C#: Update launch.json to point to .NET 10.
2025-12-11 12:19:24 +01:00
Michael Nebel
298e8f0c58
C#: Bugfix in the implicittostring. Need to handle the ReadOnlySpan params overload for string.Format.
2025-12-11 12:19:22 +01:00
Michael Nebel
ee5c291c9d
C#: Update test expected output.
2025-12-11 12:19:20 +01:00
Michael Nebel
45cd8e94cd
C#: Update test example (field is now a reserved word).
2025-12-11 12:19:17 +01:00
Michael Nebel
d97b9f532a
C#: Update example to use a type that calls an implicit (library) conversion operator.
2025-12-11 12:19:16 +01:00
Michael Nebel
66895a0c62
C#: Update the Roslyn, MsBuild and Binlog extractor dependencies.
2025-12-11 12:19:13 +01:00
idrissrio
3f372d2658
C/C++ overlay: Add overlay support for discarding macro invocations
2025-12-11 12:09:04 +01:00
idrissrio
1286ca6683
C/C++ overlay: Add overlay support for discarding namespaces
2025-12-11 12:09:02 +01:00
idrissrio
c34456e3a0
C/C++ overlay: Add overlay support for discarding user types
2025-12-11 12:09:01 +01:00
idrissrio
4702e208b7
C/C++ overlay: Add overlay support for discarding functions
2025-12-11 12:09:00 +01:00
Michael Nebel
c79cdea690
Merge pull request #20898 from michaelnebel/csharp/dotnet10extractor
...
C#: Use .NET 10 for building the extractor and running tests.
2025-12-11 12:05:35 +01:00
Tom Hvitved
3ab0ade9dc
Merge pull request #21010 from hvitved/rust/type-inference-fix-blowup
...
Rust: Strengthen `isNotInstantiationOf` uses
2025-12-11 12:04:30 +01:00
Michael Nebel
c69bbce176
C#: Add change-note.
2025-12-11 11:34:58 +01:00
Michael Nebel
3bb12f6236
C#: Cleanup dependencies.
2025-12-11 11:34:56 +01:00
Michael Nebel
af6809e93e
C#: Update integration test expected files.
2025-12-11 11:34:55 +01:00
Michael Nebel
2d4127fdb7
C#: Partially update test expected files by search and replace.
2025-12-11 11:34:53 +01:00
Michael Nebel
16bfcc3882
C#: Update language test expected output files to .NET 10.
2025-12-11 11:34:52 +01:00
Michael Nebel
4c3176ef1a
C#: Update integration tests to target and request .NET 10.
2025-12-11 11:34:50 +01:00
Michael Nebel
66aaa62ad9
C#: Manually update the existing stubs to target .NET 10.
2025-12-11 11:34:46 +01:00
Michael Nebel
ff3d2d5b8d
C#: Update stub generator script to target .NET 10.
2025-12-11 11:34:39 +01:00
Michael Nebel
9e395936dc
C#: Update extractor to target .NET 10.
2025-12-11 11:34:38 +01:00
Michael Nebel
682195bd57
C#: Update workflows.
2025-12-11 11:34:36 +01:00
Michael Nebel
cf43c6170a
C#: Update Paket version and dependencies.
2025-12-11 11:34:34 +01:00
Michael Nebel
3c0e3c4336
C#: Remove custom rules_dotnet 0.19.2.
2025-12-11 11:34:33 +01:00
Michael Nebel
aa964362ef
C#: Update rules_dotnet to 0.21.5.
2025-12-11 11:34:28 +01:00
Michael Nebel
577a2e1974
C#: Copy the 0.19.2 custom rules_dotnet.
2025-12-11 11:34:21 +01:00
Simon Friis Vindum
8c39472d73
Rust: Add change note for reads as taint steps
2025-12-11 09:09:12 +01:00
Tom Hvitved
d5a95a8099
Rust: Strengthen isNotInstantiationOf uses
2025-12-10 20:48:21 +01:00
Tom Hvitved
f30a3b3712
Rust: Add type inference blowup test
2025-12-10 20:48:18 +01:00
Geoffrey White
f1d241f810
Rust: Accept test change.
2025-12-10 18:22:59 +00:00
Geoffrey White
6ca90a2d62
Rust: Change note.
2025-12-10 16:56:26 +00:00
Geoffrey White
c160a1f658
Rust: Fix common FPs for rust/unused-variable and rust/unused-value.
2025-12-10 16:56:24 +00:00
Anders Schack-Mulligen
000f2c345e
Merge pull request #21001 from aschackmull/guards/generalise-validationwrapper
...
Guards: Generalise ValidationWrapper to support GuardValue-based BarrierGuards
2025-12-10 15:52:53 +01:00
Simon Friis Vindum
c6d2047827
Rust: Update expected files
2025-12-10 15:05:36 +01:00
Taus
d2c7147480
Python: Add new test
2025-12-10 13:52:13 +00:00
Taus
6af9fd816f
Python: Make space for new test
2025-12-10 13:51:20 +00:00
Simon Friis Vindum
efbc0934c4
Rust: Do not use types to limit lifting of reads to taint steps
2025-12-10 14:35:24 +01:00
Simon Friis Vindum
fe37e3d9be
Rust: Address PR feedback
2025-12-10 14:35:23 +01:00
Simon Friis Vindum
273eb19b88
Rust: Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-12-10 14:35:22 +01:00
Simon Friis Vindum
5ba4e30c20
Rust: Exclude range start and end from field taint steps
2025-12-10 14:35:20 +01:00
Simon Friis Vindum
647bed9e2f
Rust: Add extensible predicate to exclude fields and block fieldless enum types
2025-12-10 14:35:19 +01:00
Simon Friis Vindum
6fcd8d194a
Rust: Refactor flow summary implementation
2025-12-10 14:35:18 +01:00
Simon Friis Vindum
047ea10a9a
Rust: Update tests and expected files
2025-12-10 14:35:17 +01:00
Simon Friis Vindum
0f97e7e29d
Rust: Remov unneeded model
2025-12-10 14:35:16 +01:00
Simon Friis Vindum
8a0e5b5675
Rust: Lift content reads as taint steps
2025-12-10 14:35:14 +01:00
Simon Friis Vindum
cd721b85e9
Merge pull request #20941 from paldepind/rust/invalid-pointer-barriers
...
Rust: Reduce the number of sinks in `DereferenceSink`
2025-12-10 14:22:05 +01:00
Anders Schack-Mulligen
eaa96864f7
Java: Extend test to cover assertion-like barrier guards.
2025-12-10 12:23:52 +01:00
Anders Schack-Mulligen
9cd2247b91
Java: expose support for more general BarrierGuards.
2025-12-10 12:23:52 +01:00
Anders Schack-Mulligen
09058e48aa
Guards: Rename -WithState to Parameterized-.
2025-12-10 12:23:51 +01:00
Anders Schack-Mulligen
ebb989962c
Guards: Generalise ValidationWrapper to support GuardValue-based BarrierGuards.
2025-12-10 12:23:51 +01:00
Simon Friis Vindum
c5a44cf8ff
Rust: Accept changes to expected files
2025-12-10 11:35:32 +01:00
Geoffrey White
506a1ea0b8
Rust: Add test case for rust/access-after-lifetime-ended involving an invalidated reference.
2025-12-10 11:35:31 +01:00
Simon Friis Vindum
ade7815125
Rust: Add change note
2025-12-10 11:35:29 +01:00
Simon Friis Vindum
7d1acbcb87
Rust: Restrict the scope of DereferenceSink to dereferences of raw pointers
2025-12-10 11:35:28 +01:00
Simon Friis Vindum
4a1abc7beb
Merge pull request #21007 from hvitved/rust/update-expected
...
Rust: Update expected test output
2025-12-10 11:19:37 +01:00
Geoffrey White
fa02842d30
Rust: Accept consistency check changes.
2025-12-10 10:16:22 +00:00
Tom Hvitved
30b903604d
Rust: Update expected test output
2025-12-10 11:02:04 +01:00
Jeroen Ketema
3cabcfef75
Swift: Skip -scan-dependencies compiler calls
...
These do not produce any useful data and just crash our frontend.
2025-12-10 10:11:41 +01:00
Jeroen Ketema
e9aa6ddf53
Swift: Strip more unsupported arguments
...
We had customer reports where these occur in practise, although we have not
observed these ourselves in frontend calls.
2025-12-10 10:08:21 +01:00
Geoffrey White
819a12216e
Merge branch 'main' into copilot/add-ecb-cbc-test-cases
2025-12-10 08:56:20 +00:00
Taus
e6e05012c8
Python: Add change note
2025-12-09 22:55:40 +00:00
Taus
ad68a5e4e9
Python: Add modelling for zstd.compression
...
See https://docs.python.org/3/library/compression.zstd.html for
information about this library.
As far as I can tell, the `zstd` library is not vulnerable to things
like ZipSlip, but it _could_ be vulnerable to a decompression bomb
attack, so I extended those models accordingly.
2025-12-09 22:52:16 +00:00
Joe Farebrother
94fcee5340
minor formatting tweak
2025-12-09 14:15:36 +00:00
Joe Farebrother
d0cd4ee959
Add change note
2025-12-09 14:13:38 +00:00
Joe Farebrother
d98e660803
Test fixes + more tests
2025-12-09 14:13:28 +00:00
Joe Farebrother
1d61da51a6
Generate stubs
2025-12-09 14:13:02 +00:00
Joe Farebrother
a594ca9de8
Add tests
2025-12-09 14:12:45 +00:00
Joe Farebrother
41b94e7031
Add spring websocket handler models
2025-12-09 14:12:39 +00:00
Tom Hvitved
fe18e0e414
Merge pull request #20997 from paldepind/rust/fix-expected
...
Rust: Accept changes to expected files
2025-12-09 14:25:36 +01:00
Tom Hvitved
a5f513f178
Merge pull request #20954 from hvitved/rust/stats-more-calls
...
Rust: Include more calls in DB quality metrics
2025-12-09 14:14:07 +01:00
Simon Friis Vindum
53ad3282c3
Rust: Accept changes to expected files
2025-12-09 14:01:31 +01:00
Owen Mansel-Chan
cf19586516
Merge pull request #20993 from github/dependabot/go_modules/go/extractor/extractor-dependencies-955632e86c
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2025-12-09 09:36:16 +00:00
Anders Schack-Mulligen
139dc0acaf
Merge pull request #20922 from aschackmull/csharp/object-initializer
...
C#: Replace initializer splitting with an ObjectInitMethod.
2025-12-09 10:35:02 +01:00
yoff
5c6d83ed65
Merge pull request #20877 from joefarebrother/python-tornado-websocket
...
Python: Add models for websocket handlers for Tornado
2025-12-09 10:08:59 +01:00
Michael Nebel
8ecae77887
Merge pull request #20991 from github/dependabot/nuget/csharp/ql/integration-tests/posix/standalone_dependencies_no_framework/nuget-335537b6a2
...
Bump the nuget group with 1 update
2025-12-09 10:01:15 +01:00
Tom Hvitved
e054741061
Update expected test output
2025-12-09 09:13:26 +01:00
tesseractjh
789ea8b247
Allow arbitrary suffixes for use cache directives
2025-12-09 08:59:16 +01:00
tesseractjh
012d3b944c
change note
2025-12-09 08:59:16 +01:00
tesseractjh
2e840dcd5f
Add use cache directives
2025-12-09 08:59:16 +01:00
Tom Hvitved
31b184a404
Rust: Exclude deref expressions on raw pointers from call resolution stats
2025-12-09 08:54:51 +01:00
dependabot[bot]
9eb1eb8f0d
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.30.0 to 0.31.0
- [Commits](https://github.com/golang/mod/compare/v0.30.0...v0.31.0 )
Updates `golang.org/x/tools` from 0.39.0 to 0.40.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.39.0...v0.40.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 03:07:27 +00:00
Owen Mansel-Chan
e7147244e8
Merge pull request #20992 from myvyang/main
...
Change MethodAccess to MethodCall in query example.
2025-12-09 01:22:55 +00:00
Owen Mansel-Chan
d15342db1f
Fix table padding
2025-12-09 01:12:53 +00:00
i
134312173f
MethodAccess has been deprecated, Change MethodAccess to MethodCall in query example.
2025-12-09 08:41:01 +08:00
dependabot[bot]
c8992fc834
Bump the nuget group with 1 update
...
Bumps Newtonsoft.Json from 6.0.4 to 13.0.1
---
updated-dependencies:
- dependency-name: Newtonsoft.Json
dependency-version: 13.0.1
dependency-type: direct:production
dependency-group: nuget
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-12-09 00:33:13 +00:00
github-actions[bot]
2854330759
Post-release preparation for codeql-cli-2.23.8
2025-12-08 15:49:10 +00:00
Paolo Tranquilli
28b6aa8616
Merge pull request #20988 from github/release-prep/2.23.8
...
Release preparation for version 2.23.8
2025-12-08 15:45:10 +01:00
github-actions[bot]
66c51e979e
Release preparation for version 2.23.8
2025-12-08 14:38:23 +00:00
Paolo Tranquilli
b5f705a4f1
Merge pull request #20985 from asgerf/js/overlay-local-optional
...
JS: Use question-mark variant in all overlay annotations
2025-12-08 15:27:23 +01:00
Chris Smowton
359a28e409
Merge pull request #20984 from github/rc/3.20
...
Java: Add change note for Maven compiler flags
2025-12-08 14:24:58 +00:00
Tom Hvitved
0280771c51
Merge pull request #20953 from hvitved/rust/data-flow-call-models
...
Rust: Model more data flow constructs as calls using MaD
2025-12-08 15:22:02 +01:00
Tom Hvitved
57ce2ee749
Address review comments
2025-12-08 13:27:36 +01:00
Asger F
4d1200fd13
Revert changes in synced files
2025-12-08 13:26:19 +01:00
Chris Smowton
ef991e5ba5
Merge pull request #20983 from smowton/smowton/feature/csharp-csrf-aspnetcore
...
C# CSRF query: add support for ASP.NET Core
2025-12-08 12:14:48 +00:00
Asger F
294089fe35
JS: Use question-mark variant in all overlay annotations
2025-12-08 13:13:09 +01:00
Idriss Riouak
877669d1f0
Merge pull request #20981 from github/idrissrio/java/java-maven-sap
...
Java: Add change note for Maven compiler flags
2025-12-08 12:55:50 +01:00
Chris Smowton
79718b6dcb
Change note
2025-12-08 11:54:02 +00:00
Chris Smowton
5bb31afc83
C# CSRF query: add support for ASP.NET Core
2025-12-08 11:51:01 +00:00
idrissrio
a0e7afde8e
Java: Add change note for Maven compiler flags
2025-12-08 12:14:03 +01:00
Simon Friis Vindum
cd6429a39e
Merge pull request #20969 from paldepind/rust/dispath-default-trait
...
Rust: Do not dispatch to all implementations when trait target is accurate
2025-12-08 10:45:55 +01:00
Tom Hvitved
bfa37b8488
Fix typo
2025-12-08 10:17:47 +01:00
Geoffrey White
24852c6664
Merge pull request #20966 from geoffw0/lifetimetest
...
Rust: Fix FPs from rust/access-after-lifetime-ended
2025-12-08 09:03:51 +00:00
Michael Nebel
10c01832b0
Merge pull request #20964 from michaelnebel/csharp/nugetversionsorting
...
C#: Fix NuGet version bug and a .NET10 compatibility issue.
2025-12-08 09:35:53 +01:00
Óscar San José
3230df02d9
Merge pull request #20975 from github/oscarsj/merge-back-rc-3.20
...
Merge back rc/3.20
2025-12-05 21:16:18 +01:00
Óscar San José
bc6133de5c
Merge branch 'main' of https://github.com/github/codeql into oscarsj/merge-back-rc-3.20
2025-12-05 19:31:47 +01:00
Tom Hvitved
9a95acadb5
Merge pull request #20963 from hvitved/rust/call-refactor-follow-up
...
Rust: Remove some predicates
2025-12-05 14:38:47 +01:00
Paolo Tranquilli
2acb02bf67
Merge pull request #20971 from github/redsun82/ripunzip
...
Ripunzip: update to 2.0.4
2025-12-05 14:32:55 +01:00
Taus
1b519384d7
Merge pull request #20739 from github/tausbn/python-remove-top-level-points-to-imports
...
Python: Hide points-to imports in `python.qll`
2025-12-05 14:24:41 +01:00
Geoffrey White
108db75124
Update rust/ql/lib/codeql/rust/security/AccessAfterLifetimeExtensions.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-12-05 13:19:38 +00:00
Simon Friis Vindum
f200dba7dd
Rust: Add change note
2025-12-05 14:12:58 +01:00
Simon Friis Vindum
fa4b212020
Rust: Fix grammar
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-12-05 14:03:29 +01:00
Paolo Tranquilli
90aeccab07
Ripunzip: update to 2.0.4
2025-12-05 13:55:33 +01:00
Chris Smowton
86962c6055
Merge pull request #20970 from github/smowton/admin/document-missing-actions-permissions-shortcomings
...
Actions: note imprecision of MissingActionsPermissions.ql
2025-12-05 12:43:49 +00:00
Chris Smowton
02caa098bc
Actions: note imprecision of MissingActionsPermissions.ql
...
Added a note to the query's qhelp to note its imprecision, but also encourage usage of a permissions block regardless as a belt-and-braces measure.
2025-12-05 12:36:07 +00:00
Simon Friis Vindum
5888ed30bd
Rust: Do not dispatch to all implementations when trait target is accurate
2025-12-05 13:01:22 +01:00
Óscar San José
5addb53e0f
Merge pull request #20946 from github/post-release-prep/codeql-cli-2.23.7
...
Post-release preparation for codeql-cli-2.23.7
2025-12-05 12:51:51 +01:00
Tom Hvitved
12a6dcc4ff
Rust: Remove some predicates
2025-12-05 12:50:36 +01:00
Anders Schack-Mulligen
28e9420476
C#: Fix lambda flow.
2025-12-05 10:58:01 +01:00
Paolo Tranquilli
795bfdf02d
Merge pull request #20962 from github/redsun82/dependabot
...
Dependabot: add bazel
2025-12-05 10:51:29 +01:00
Simon Friis Vindum
59ce721f7d
Rust: Add global data flow example
2025-12-05 09:38:22 +01:00
Tom Hvitved
5a5679bd51
Rust: Taint flow through operations using MaD
2025-12-05 09:19:03 +01:00
Tom Hvitved
41916640c3
Rust: Taint flow tests for operations
2025-12-05 09:19:02 +01:00
Tom Hvitved
294c489fd8
Rust: Handle x[y] expressions as *.index(y) calls in data flow
2025-12-05 09:18:59 +01:00
Tom Hvitved
e72c8acb6c
Rust: Add data flow tests for collections
2025-12-05 09:16:57 +01:00
Tom Hvitved
09461e9cb6
Merge pull request #20967 from hvitved/rust/call-refactor-fix
...
Rust: Call refactor follow-up fixes
2025-12-05 09:16:18 +01:00
Tom Hvitved
57bca5ca9b
Rust: Include more calls in DB quality metrics
2025-12-05 09:15:26 +01:00
Simon Friis Vindum
1a19df2044
Merge pull request #20950 from paldepind/rust/ti-raw-pointer
...
Rust: Type inference for raw pointers
2025-12-05 09:06:13 +01:00
Owen Mansel-Chan
6d301f27d0
Merge pull request #20937 from owen-mc/actions/fix/code-injection-privileged-context
...
Actions: fix filtering of code injection results between medium and critical version of query
2025-12-05 07:54:13 +00:00
Joe Farebrother
d70c596c86
Merge pull request #20914 from joefarebrother/python-socketio
...
Python: Add models for socketio
2025-12-04 23:14:58 +00:00
Tom Hvitved
be1d756de4
Rust: Call refactor follow-up fixes
2025-12-04 21:15:28 +01:00
Geoffrey White
4109848927
Rust: Clean up following merge.
2025-12-04 17:55:34 +00:00
Geoffrey White
b7402fef09
Merge remote-tracking branch 'upstream/main' into lifetimetest
2025-12-04 17:33:39 +00:00
Geoffrey White
3cdbef71f1
Rust: Change note.
2025-12-04 17:25:34 +00:00
Geoffrey White
32e9fdfe19
Rust: Fix the false positives.
2025-12-04 17:19:41 +00:00
Owen Mansel-Chan
4a16de2bc8
Pull out logic into separate predicate
2025-12-04 16:50:39 +00:00
Owen Mansel-Chan
fb841ea591
Make predicates containing query logic more self-contained
2025-12-04 16:50:37 +00:00
Owen Mansel-Chan
8bac1dec83
Add change note
2025-12-04 16:50:36 +00:00
Owen Mansel-Chan
f6bdb3a126
Fix filtering of code injection alerts between medium and critical
2025-12-04 16:50:34 +00:00
Owen Mansel-Chan
e2acd1b668
Add test with push and workflow_dispatch triggers
...
This is based on push.yml, and it should still be found by
actions/code-injection/medium, but it isn't.
2025-12-04 16:50:33 +00:00
Tom Hvitved
8b89e15dfa
Merge pull request #20863 from hvitved/rust/call-refactor
...
Rust: Restructure classes representing calls
2025-12-04 17:02:17 +01:00
Simon Friis Vindum
27ddc813af
Rust: Cleanup of raw pointer types based in PR feedback
2025-12-04 16:41:28 +01:00
Owen Mansel-Chan
5c8ab1f6d1
Merge pull request #20956 from owen-mc/java/improve-regex-sanitizer
...
Java: improve regex sanitizer for `java/ssrf`
2025-12-04 15:32:12 +00:00
Geoffrey White
8594c7a29a
Rust: Add test for rust/access-after-lifetime-ended FP involving generic calls.
2025-12-04 15:28:15 +00:00
Michael Nebel
5a33f9fcd8
C#: Update integration test expected output.
2025-12-04 15:58:02 +01:00
Michael Nebel
4112cfc8f1
C#: Add change note.
2025-12-04 15:42:18 +01:00
Michael Nebel
a3e545ddd5
C#: Use NuGetVersion instead of homemade version implementation.
2025-12-04 15:34:28 +01:00
Michael Nebel
1b84f70d1c
C#: Use NuGet version sorting instead of lexicographic directory name sorting for finding newest package version.
2025-12-04 15:34:26 +01:00
Michael Nebel
4274af4f73
C#: Set AllowMissingPrunePackageData=true to true when purposely using non-existing framework targets.
2025-12-04 15:26:15 +01:00
Anders Schack-Mulligen
e4ee7c95c5
C#: Address review comments.
2025-12-04 15:06:20 +01:00
Michael Nebel
cdd8aa49e1
Merge pull request #20933 from michaelnebel/csharp/runtraceraftercompilation
...
C#: Invoke the extractor after the compiler to ensure that source generators have been executed.
2025-12-04 13:41:38 +01:00
Owen Mansel-Chan
a20c8cfd52
Add post-update nodes for implicit field read nodes
2025-12-04 12:00:02 +00:00
Owen Mansel-Chan
dcfa721037
(Refactor) Make lookThroughImplicitFieldRead public
2025-12-04 12:00:00 +00:00
Owen Mansel-Chan
9bf20702c6
Remove identity steps
2025-12-04 11:59:58 +00:00
Tom Hvitved
bc6d38ebb4
Address review comments
2025-12-04 10:38:47 +01:00
Anders Schack-Mulligen
607ad1f886
Merge pull request #20961 from aschackmull/dataflow/flowfrom
...
Dataflow: Add flowFrom predicates to mirror flowTo.
2025-12-04 10:09:29 +01:00
Michael Nebel
e74031bee4
Merge pull request #20936 from michaelnebel/csharp/nocrashdotnetinfo
...
C#: Retry logic for `dotnet --info` when it fails with exit code 143.
2025-12-04 09:13:12 +01:00
Tom Hvitved
38a572dfa0
Rust: Run codegen
2025-12-03 20:47:05 +01:00
Tom Hvitved
a707527022
Address review comments in annotations.py
2025-12-03 20:46:30 +01:00
Geoffrey White
2665d8395a
Merge pull request #20939 from geoffw0/saltmodel
...
Rust: Add heuristic sinks for passwords, initialization vectors etc
2025-12-03 18:01:48 +00:00
Tom Hvitved
ca9d327280
Merge pull request #20915 from hvitved/content-flow-ap-limit
...
Shared: Improvements to content-sensitive model generation
2025-12-03 15:54:57 +01:00
Michael Nebel
a903420122
C#: Add change note.
2025-12-03 15:49:37 +01:00
Michael Nebel
0d08f24a2d
C#: Invoke the extractor after the compiler to ensure that source generators have been executed.
2025-12-03 15:49:35 +01:00
yoff
7fd4755e93
Merge pull request #20919 from yoff/python/header-splitting-experiments
...
Python: detecting header splitting in synthetic app
2025-12-03 15:48:54 +01:00
Tom Hvitved
3ba256a72a
C#/Java: Go back to access path limit 2
2025-12-03 15:05:02 +01:00
Paolo Tranquilli
599d342b33
Dependabot: add bazel
2025-12-03 14:52:02 +01:00
Anders Schack-Mulligen
78e1879c9e
Use more flowTo.
2025-12-03 14:12:08 +01:00
Anders Schack-Mulligen
dc6d3fe7ba
Use flowFrom.
2025-12-03 14:04:18 +01:00
Anders Schack-Mulligen
4191b18410
Dataflow: Add flowFrom predicates to mirror flowTo.
2025-12-03 13:46:44 +01:00
Simon Friis Vindum
299fed5901
Rust: Apply fixes from code review
2025-12-03 13:04:54 +01:00
Simon Friis Vindum
a05d0a906c
Rust: Add change note for raw pointer type inference
2025-12-03 11:56:54 +01:00
Michael Nebel
c1793ab529
C#: Code quality improvement.
2025-12-03 11:48:32 +01:00
Paolo Tranquilli
5784a216a2
Merge pull request #20810 from github/redsun82/update-bazel
...
Bazel: update to 8.4.2
2025-12-03 11:45:38 +01:00
Geoffrey White
3028e5dac0
Rust: CallExpr -> Call.
2025-12-02 17:31:35 +00:00
Owen Mansel-Chan
e710c150de
Add change note
2025-12-02 17:12:05 +00:00
Owen Mansel-Chan
a85d0ea8a3
Make tests pass
2025-12-02 17:08:16 +00:00
Owen Mansel-Chan
8fd8fc07b7
Add failing tests for more regex match methods
2025-12-02 17:06:34 +00:00
github-actions[bot]
085faa2bdb
Post-release preparation for codeql-cli-2.23.7
2025-12-02 16:39:43 +00:00
Óscar San José
dce6d0e222
Merge pull request #20955 from github/release-prep/2.23.7
...
Release preparation for version 2.23.7
2025-12-02 17:06:20 +01:00
Owen Mansel-Chan
566aa8f201
Refactor regex sanitizer
...
Move it to Sanitizers.qll and rename it to be more general (mostly
following Go).
2025-12-02 16:04:39 +00:00
Owen Mansel-Chan
9f2a7f712a
Apply suggestion from @owen-mc
2025-12-02 15:52:01 +00:00
github-actions[bot]
a045b317ac
Release preparation for version 2.23.7
2025-12-02 15:31:27 +00:00
Michael Nebel
3197b50da7
C#: Address review comments.
2025-12-02 16:16:29 +01:00
Simon Friis Vindum
236df0ab65
Rust: Accept changes to expected files
2025-12-02 15:07:54 +01:00
Michael Nebel
1d9b88de8b
C#: Comment back in the .NET 10 tests.
2025-12-02 14:59:45 +01:00
Simon Friis Vindum
ea1b0a8476
Rust: Fix path resolution for raw pointer types
2025-12-02 14:43:52 +01:00
Simon Friis Vindum
c15e12c9ff
Rust: Accept test changes
2025-12-02 14:43:51 +01:00
Simon Friis Vindum
785025f1e3
Rust: Type inference for raw pointers
2025-12-02 14:43:50 +01:00
Michael Nebel
4a6ae216a4
C#: Gracefully handle non-zero exitcodes for dotnet --info.
2025-12-02 14:42:00 +01:00
Owen Mansel-Chan
afb810cdeb
Fix double space in change note
2025-12-02 13:32:58 +00:00
Anders Schack-Mulligen
5d63b6e723
C#: Accept integration test change
2025-12-02 14:03:31 +01:00
Owen Mansel-Chan
e52f819df0
Merge pull request #20949 from owen-mc/go/reinstate-dummy-test
...
Go: Reinstate dummy test so consistency tests are run
2025-12-02 12:55:36 +00:00
Anders Schack-Mulligen
67a2bced0d
C#: Accept CFG dead ends for compilation errors.
2025-12-02 13:49:18 +01:00
Anders Schack-Mulligen
2eb2a50ccd
C#: Fix enclosing DataFlowCallable of ObjectInitMethods with multiple bodies.
2025-12-02 13:49:17 +01:00
Anders Schack-Mulligen
ba7b517a4a
C#: Tweaks from review comments.
2025-12-02 13:49:17 +01:00
Anders Schack-Mulligen
7e4e872430
C#: Accept expected changes.
2025-12-02 13:49:16 +01:00
Anders Schack-Mulligen
541dce4d17
C#: Accept PrintAst index shift.
2025-12-02 13:49:16 +01:00
Anders Schack-Mulligen
02e5f4545a
C#: Fixup test
2025-12-02 13:49:15 +01:00
Anders Schack-Mulligen
85121e88b4
C#: Move and rename module.
2025-12-02 13:49:14 +01:00
Anders Schack-Mulligen
24a575a7a5
C#: Replace initializer splitting with ObjectInitMethod.
2025-12-02 13:49:14 +01:00
Anders Schack-Mulligen
9414cfbd03
C#: Add extractor support for object initializer methods.
2025-12-02 13:49:13 +01:00
Anders Schack-Mulligen
a7066ec758
C#: Add object initializer test.
2025-12-02 13:49:13 +01:00
Simon Friis Vindum
3e7a7d541b
Rust: Include certain types in type inference tests
2025-12-02 13:16:33 +01:00
Simon Friis Vindum
6a2502c97a
Rust: Add type inference tests for raw pointers
2025-12-02 13:14:09 +01:00
Owen Mansel-Chan
e9cb183670
Revert "Delete dummy.ql for now"
...
This reverts commit 38cb6e5a00 .
2025-12-02 11:41:39 +00:00
Owen Mansel-Chan
848677e580
Merge pull request #20917 from owen-mc/go/enable-data-flow-consistency-checks
...
Go: enable data flow consistency checks
2025-12-02 10:52:47 +00:00
Tom Hvitved
7378fbc567
Rust: Restructure classes representing calls
2025-12-02 10:08:04 +01:00
Joe Farebrother
ac55cf9544
Update test and qldoc
2025-12-01 20:41:59 +00:00
Joe Farebrother
7cf3964e44
Update expectations
2025-12-01 20:27:48 +00:00
Tom Hvitved
666855dbd7
Shared: Improvements to content-sensitive model generation
2025-12-01 21:23:14 +01:00
Joe Farebrother
6fbae45d49
Update qldoc
2025-12-01 20:14:36 +00:00
Joe Farebrother
6a1e26c566
Add change note
2025-12-01 20:06:24 +00:00
Tom Hvitved
3e5ea5664c
Rust: Add DB downgrade script
2025-12-01 20:59:31 +01:00
Tom Hvitved
b350a000e3
Rust: Add DB upgrade script
2025-12-01 20:59:30 +01:00
Tom Hvitved
a2782a12f2
Rust: Run codegen
2025-12-01 20:59:28 +01:00
Tom Hvitved
b40353f88f
Rust: Remove CallExprBase and elaborate QL doc
2025-12-01 20:59:26 +01:00
Óscar San José
871d5c9045
Merge pull request #20944 from github/release-prep/2.23.7
...
Release preparation for version 2.23.7
2025-12-01 19:34:17 +01:00
Tom Hvitved
464d2cd5fc
Merge pull request #20891 from hvitved/rust/data-flow-implicit-deref-borrow
...
Rust: Improve handling of implicit derefs/borrows in data flow
2025-12-01 19:03:55 +01:00
Joe Farebrother
384e17a4ef
Implement websockets models
2025-12-01 16:24:59 +00:00
github-actions[bot]
19a13467e0
Release preparation for version 2.23.7
2025-12-01 16:07:37 +00:00
Óscar San José
f1aaefc107
Merge pull request #20943 from github/oscarsj/update-codeql-cli-2.23.7
...
Update branch with previous release notes, and fix date format in change note file
2025-12-01 17:05:45 +01:00
Florin Coada
10a53e61cf
Merge pull request #20927 from github/changedocs/2.23.6
...
Add changelog entry for CodeQL CLI version 2.23.6
2025-12-01 15:40:22 +01:00
Óscar San José
1cc5b3444a
Fix date format in change note file
2025-12-01 15:39:37 +01:00
Florin Coada
d41a2d475b
Merge pull request #20927 from github/changedocs/2.23.6
...
Add changelog entry for CodeQL CLI version 2.23.6
2025-12-01 13:55:33 +00:00
Simon Friis Vindum
87d6a60814
Merge pull request #20924 from paldepind/rust/struct-field-tostring
...
Rust: Implement `toString` for struct fields and visibility
2025-12-01 14:52:23 +01:00
Geoffrey White
c64f19f6eb
Rust: Change note.
2025-12-01 12:39:19 +00:00
Geoffrey White
450403883b
Rust: Add test cases for a small number of FPs we see.
2025-12-01 12:39:18 +00:00
Geoffrey White
e834e8665a
Rust: Remove one of the cases that is causing FP results in MRVA.
2025-12-01 12:39:16 +00:00
Geoffrey White
faf69b821b
Rust: Add sinks as barriers to prevent duplicate results.
2025-12-01 12:39:13 +00:00
Geoffrey White
bb50e9fb40
Rust: Add heuristic sinks for rust/hard-coded-cryptographic-value.
2025-12-01 12:39:12 +00:00
Tom Hvitved
6ddb9c784c
Merge pull request #20853 from hvitved/rust/path-resolution-impl-self
...
Rust: Refine `Self` resolution inside `impl` blocks
2025-12-01 12:50:30 +01:00
Tom Hvitved
4bfe1a81dc
Rust: Update expected test output following rebase
2025-12-01 11:38:50 +01:00
Tom Hvitved
d8177274a8
Rust: Improve handling of deref expressions in data flow
2025-12-01 11:34:06 +01:00
Tom Hvitved
4255f7f560
Address review comments
2025-12-01 11:34:03 +01:00
Tom Hvitved
6b003580d1
Rust: Improve handling of implicit derefs/borrows in data flow
2025-12-01 11:34:01 +01:00
Tom Hvitved
9b25a3112d
Rust: Use TaintFlow instead of ValueFlow in tests
2025-12-01 11:33:57 +01:00
Tom Hvitved
d45f8f7236
Rust: Document overlapping function resoltion with test cases
2025-12-01 11:16:15 +01:00
Simon Friis Vindum
1fe7e2ec45
Rust: Change concat to strictconcat
2025-12-01 10:35:43 +01:00
Asger F
b8cff77cab
Merge pull request #20873 from github/shared-xml-discard
...
Share XML discard predicates
2025-12-01 10:06:02 +01:00
Tom Hvitved
34f3892c35
Rust: Extend Self resolution logic to all item kinds
2025-12-01 09:58:27 +01:00
Tom Hvitved
250d15aef2
Rust: More path resolution tests
2025-12-01 09:54:22 +01:00
Tom Hvitved
77df65f2bc
Address review comment
2025-12-01 09:07:47 +01:00
Paolo Tranquilli
50929ef566
Merge pull request #20872 from github/redsun82/update-fmt
...
Swift: update `fmt`
2025-12-01 08:23:48 +01:00
Geoffrey White
8e099480ab
Rust: Add tests for heuristics.
2025-11-28 18:02:41 +00:00
Michael Nebel
1d56f17059
Merge pull request #20935 from michaelnebel/csharp/flakynet10
...
C#: Pin tests and disable .NET 10 tests.
2025-11-28 15:29:27 +01:00
Idriss Riouak
9fd31bf685
Merge pull request #20909 from github/idrissrio/cpp/overlay/overlay.qll
...
C/C++ overlay: Add basic `Overlay.qll` file
2025-11-28 15:09:39 +01:00
Michael Nebel
6c9d15879f
C#: Skip .NET 10 tests for now.
2025-11-28 14:20:06 +01:00
idrissrio
4ad25e4d92
C/C++ overlay: Address review comments
2025-11-28 14:16:10 +01:00
Michael Nebel
af41ca0b1c
C#: Fix syntax error.
2025-11-28 14:13:17 +01:00
Michael Nebel
a69e78185b
C#: Pin tests and mark .NET 10 tests as flaky.
2025-11-28 13:59:30 +01:00
idrissrio
eac06ddd8f
C/C++ overlay: Address review comments
...
Split the discard predicate into two: one for single-location elements and one for multi-location elements.
2025-11-28 11:31:16 +01:00
Owen Mansel-Chan
c43b03ba34
Merge pull request #20931 from owen-mc/go/fix-misc-ql
...
Go/Java: fix miscellaneous trivial issues highlighted by ql-for-ql
2025-11-28 09:42:00 +00:00
Asger F
6257bed089
Sync OverlayXml.qll
2025-11-28 09:23:49 +01:00
Asger F
38a1bb0e29
Use string instead of @file in XML discards
2025-11-28 09:23:27 +01:00
Simon Friis Vindum
86eb949673
Merge pull request #20902 from paldepind/rust/xss-query
...
Rust: Add new query for XSS vulnerabilities
2025-11-28 09:09:14 +01:00
Owen Mansel-Chan
992bd68d4b
Use set literals #2
2025-11-28 03:48:50 +00:00
Owen Mansel-Chan
220fd08428
Improve formatting of tags #2
2025-11-28 03:34:30 +00:00
Owen Mansel-Chan
22b614ac48
Use set literals
2025-11-28 03:34:17 +00:00
Owen Mansel-Chan
62238fcbd7
Fix variable name in qldoc
2025-11-28 03:33:18 +00:00
Owen Mansel-Chan
b8ccaf3b11
Improve formatting of tags metadata
2025-11-28 02:26:58 +00:00
Owen Mansel-Chan
fe1c4e2eee
Make class qldoc start with "A".
2025-11-28 02:26:39 +00:00
Owen Mansel-Chan
0b79087782
Make predicate name start with has instead of get
2025-11-28 02:26:14 +00:00
Owen Mansel-Chan
303deab608
Remove redundant conjunct
2025-11-28 02:12:12 +00:00
Owen Mansel-Chan
fb0b4071a7
Remove redundant import
2025-11-28 02:09:17 +00:00
Owen Mansel-Chan
2058c4a79c
Remove redundant char pred
2025-11-28 02:08:19 +00:00
Owen Mansel-Chan
89546cbc83
Fix qldoc inaccuracies
2025-11-28 01:09:07 +00:00
Owen Mansel-Chan
8debe49563
Correct mistake in qldoc
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-28 01:00:16 +00:00
Owen Mansel-Chan
42c955ea62
Add change note
2025-11-27 23:49:28 +00:00
Owen Mansel-Chan
969b0cf439
Add SSRF sinks for uriVariables arguments of more methods on Spring RestTemplate
2025-11-27 23:44:35 +00:00
Taus
ec336a0334
Python: Fix list bullets in change note
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-11-27 17:49:13 +01:00
Taus
bc8ed286ac
Python: Make some more points-to imports private
...
This makes things a bit cleaner.
After this, the only non-private (and non-`LegacyPointsTo`) imports of
`semmle.python.{types,objects,pointsto}.*` are in
`semmle.python.objects.ObjectInternal`, which is reasonable, as that is
the entry point for the entire internal object API.
2025-11-27 16:47:53 +00:00
Taus
0c358acc24
Merge pull request #20908 from akoeplinger/patch-1
...
Fix KeyError: 'name' in python/extractor/imp.py on Python 3.14
2025-11-27 15:29:54 +01:00
Taus
f55ff96674
Python: Bump extractor version and add change note
2025-11-27 13:52:37 +00:00
Asger F
bde983b66d
Update 2025-11-26-response-default-content-type.md
2025-11-27 13:18:56 +01:00
Asger F
7c0243fc6d
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-27 13:18:11 +01:00
Asger F
0896be0df6
Merge pull request #20844 from Eliav2/20823-globalVarRef-document-defaultView
...
javascript: Add support for `document.defaultView` in global variable references
2025-11-27 11:50:23 +01:00
Simon Friis Vindum
1e305851ee
Rust: Accept changes to expected files
2025-11-27 11:48:36 +01:00
Simon Friis Vindum
97dad2db17
Rust: Apply suggestions from docs review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-11-27 11:43:41 +01:00
Geoffrey White
7db06ca573
Merge pull request #20876 from szsam/fix-CWE-119-tests
...
C++: Fix CWE-119 memcpy tests
2025-11-27 10:18:23 +00:00
Geoffrey White
2371b65d11
Merge pull request #20925 from geoffw0/barrier-doc
...
Rust: Fix a few comments.
2025-11-27 10:16:40 +00:00
Geoffrey White
803e9fcb88
Merge branch 'main' into fix-CWE-119-tests
2025-11-27 09:57:23 +00:00
Florin Coada
22ca2273cb
Add changelog entry for CodeQL CLI version 2.23.6
2025-11-27 09:51:30 +00:00
Geoffrey White
e8cb6b8f54
Rust: Fix a couple of comments.
2025-11-27 09:24:34 +00:00
Asger F
d8027fb6d6
Merge pull request #20885 from asgerf/js/local-module-exports
...
JS: Split module exports into a local and global variant
2025-11-27 10:05:22 +01:00
Tom Hvitved
f0cac321b2
Merge pull request #20236 from hvitved/rust/type-inference-async-dyn-future
...
Rust: Model `async` return types as `dyn Future`
2025-11-27 09:41:02 +01:00
Simon Friis Vindum
d88cfe98f8
Rust: Implement toString for struct fields and visibility
2025-11-27 09:35:31 +01:00
idrissrio
3d69286382
C/C++ overlay: Address review comments
2025-11-27 09:22:33 +01:00
idrissrio
6c09325838
C/C++ Overlay: Preserve entities that have at least one location in an unchanged file
...
Previously, an entity would be discarded if it had any location in a changed
file. This caused issues for entities with multiple declaration entries, such
as extern variables declared in one file and defined in another.
For example, given:
// a.c (changed) // b.c (unchanged)
extern int x; int x;
The variable `x` should be preserved because it has a location in the
unchanged file b.c, even though it also has a location in the changed file a.c.
2025-11-27 09:22:31 +01:00
idrissrio
39136f3827
C/C++ overlay: Add basic Overlay.qll file
2025-11-27 09:22:29 +01:00
Simon Friis Vindum
8b32679475
Merge pull request #20921 from paldepind/rust/barrier-tweaks
...
Rust: Tweaks and improvements to data flow barriers
2025-11-27 08:56:04 +01:00
Mingjie Shen
25a46a82ba
C++: Use appropriate sizeof in CWE-119 memcpy tests
...
Signed-off-by: Mingjie Shen <shen497@purdue.edu >
2025-11-27 05:15:51 +00:00
Taus
a7458df0a4
Python: Appease the QLDoc checker
2025-11-26 22:13:21 +00:00
Taus
c6ad438bfc
Python: Add change note
2025-11-26 21:58:26 +00:00
Taus
24a29f46be
Python: Fix all metrics-related compilation failures
...
In hindsight, having a `.getMetrics()` method that just returns `this`
is somewhat weird. It's possible that it predates the existence of the
inline cast, however.
2025-11-26 21:28:51 +00:00
Eliav2
69ba764e9d
Merge branch 'main' into 20823-globalVarRef-document-defaultView
2025-11-26 23:26:26 +02:00
Tom Hvitved
a9b58b8db3
Rust: Model async return types as dyn Future
2025-11-26 21:03:03 +01:00
Taus
c75329d7b7
Python: Move metrics-related API to LegacyPointsTo module
...
Gets rid of the `getMetrics` methods on the `Function`, `Class`, and
`Module` classes. To access the metrics, one must first import the
`LegacyPointsTo` module, and then either change the type to
`{Function,Class,Module}Metrics` or cast to the appropriate type.
2025-11-26 17:06:55 +00:00
Taus
cd1619b43e
Python: Fix queries and tests
2025-11-26 17:06:55 +00:00
Taus
b9a5b3b628
Python: Remove points-to from SSA.ql
...
Happily, this was not as deeply entwined as it looked at first glance.
2025-11-26 17:06:55 +00:00
Jeroen Ketema
982950ffc6
Merge pull request #20923 from github/felicity-fix-query-names
...
Remove trailing periods from @name metadata in query files
2025-11-26 17:08:02 +01:00
Joe Farebrother
16018e91a2
Minor test fix
2025-11-26 15:47:56 +00:00
Owen Mansel-Chan
38cb6e5a00
Delete dummy.ql for now
...
This is needed because a PR to another repo is needed to update the
location of the consistency queries, and until that PR is merged we
don't want to runny dummy.ql as a consistency query. After that PR is
merged we should reinstate these files so that consistency tests are
run on this test folder.
2025-11-26 15:03:09 +00:00
Jeroen Ketema
4a8fbba521
Merge branch 'main' into felicity-fix-query-names
2025-11-26 16:01:34 +01:00
Simon Friis Vindum
329df20e55
Rust: Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-26 15:48:34 +01:00
Owen Mansel-Chan
6fbed9037f
Be more specific to avoid CP
2025-11-26 14:39:58 +00:00
Owen Mansel-Chan
9481fc9451
Add QLDoc explaining reverseRead
2025-11-26 14:30:23 +00:00
Felicity Chapman
caf6b950ac
Remove trailing periods from @name metadata in query files
...
Fixed 73 .ql query files where the @name metadata contained an ending period.
This ensures consistency with the CodeQL query metadata style guidelines.
2025-11-26 14:29:51 +00:00
Mathias Vorreiter Pedersen
d869b00672
Merge pull request #20899 from MathiasVP/ignore-non-type-template-params
...
C++: Ignore non-type template parameters when matching signatures in MaD
2025-11-26 14:26:45 +00:00
Jeroen Ketema
adc13e374e
Merge pull request #20920 from jketema/feature-incorrect
...
C++: Remove incorrect tests
2025-11-26 15:01:50 +01:00
Simon Friis Vindum
815af34c66
Rust: Add additional barriers to queries
2025-11-26 14:54:11 +01:00
Simon Friis Vindum
081ab499c2
Rust: Add barrier for fieldless enum types
2025-11-26 14:46:58 +01:00
Simon Friis Vindum
6050a0e1a8
Rust: Split boolean from number barriers
2025-11-26 14:45:31 +01:00
yoff
2c835dc33c
python: add changenote
2025-11-26 14:03:15 +01:00
yoff
24e55c0691
python: update MAD expectations
2025-11-26 14:00:22 +01:00
Asger F
818f4815dd
JS: Change note
2025-11-26 13:49:50 +01:00
Asger F
cc7bf4e880
JS: Handle default 'content-type' header in Response() objects
2025-11-26 13:49:48 +01:00
Jeroen Ketema
33c7057066
C++: Remove incorrect tests
...
`__has_feature` is not available in GCC versions before GCC 14.
Our frontend was exposing `__has_feature` when emulating earlier versions of
GCC. This will be fixed with the latest major frontend update though.
2025-11-26 13:42:43 +01:00
yoff
ebe29dd143
python: model urllib.ParseResult
2025-11-26 13:36:05 +01:00
yoff
a878bc61e1
python: add model for urllib.urlparse
2025-11-26 13:32:54 +01:00
yoff
d59f721341
python: add test for header injection
2025-11-26 13:32:54 +01:00
Taus
5b47fcbfa4
Python: Remove dependence on Builtins from attribute module
...
The `Builtins` module is deeply entwined with points-to, so it would be
nice to not have this dependence. Happily, the only thing we used
`Builtin` for was to get the names of known builtins, and for this we
already maintain such a set of names in
`dataflow.new.internal.Builtins`.
2025-11-26 12:30:31 +00:00
Taus
9dc774aaa3
Python: Remove points-to dependency from parts of SSA
...
For whatever reason, the CFG node for exceptions and exception groups
was placed with the points-to code. (Probably because a lot of the
predicates depended on points-to.)
However, as it turned out, two of the SSA modules only depended on
non-points-to properties of these nodes, and so it was fairly
straightforward to remove the imports of `LegacyPointsTo` for those
modules.
In the process, I moved the aforementioned CFG node types into
`Flow.qll`, and changed the classes in the `Exceptions` module to the
`...WithPointsTo` form that we introduced elsewhere.
2025-11-26 12:30:31 +00:00
Taus
e09840426c
Python: Get rid of points-to from Definitions.qll
...
Turns out the `ImportTime` module (despite living in
`semmle.python.types` does not actually depend on points-to, so some of
the `LegacyPointsTo` imports could be replaced or removed.
2025-11-26 12:30:31 +00:00
Taus
7328f26311
Python: Fix reachability-related test failures
2025-11-26 12:30:31 +00:00
Taus
21e74a3f01
Python: Fully remove points-to from Flow.qll
...
Gets rid of a bunch of predicates relating to reachability (which
depended on the modelling of exceptions, which uses points-to), moving
them to `LegacyPointsTo`. In the process, we gained a new class
`BasicBlockWithPointsTo`.
2025-11-26 12:30:31 +00:00
Taus
7176898503
Python: Fix library tests
2025-11-26 12:30:31 +00:00
Taus
b3b87c968b
Python: Fix extractor/experimental tests
2025-11-26 12:30:31 +00:00
Taus
665104e626
Python: Fix Python 3 tests
2025-11-26 12:30:31 +00:00
Taus
85029bd77d
Python: Fix Python 2 tests
2025-11-26 12:30:30 +00:00
Taus
5b63b4957c
Python: Fix query tests
...
Mostly just adding `private import LegacyPointsTo`. Sometimes getting
rid of other imports that are superceded by that module.
2025-11-26 12:30:30 +00:00
Taus
2732a652ab
Python: Fix example snippets
...
One might argue that these should be rewritten entirely to use more
modern APIs, but for now I'll be content with just having them compile
properly.
2025-11-26 12:30:30 +00:00
Taus
0a4ec2ca10
Python: Move some non-points-to methods out of points-to
...
These methods were in `pointsto.Base` but did not actually interact with
the points-to machinery directly, so they were easy to move out.
2025-11-26 12:30:30 +00:00
Taus
f0465f441f
Python: Get rid of some get...Object methods
...
This frees `Class.qll`, `Exprs.qll`, and `Function.qll` from the
clutches of points-to. For the somewhat complicated setup with
`getLiteralObject` (an abstract method), I opted for a slightly ugly but
workable solution of just defining a predicate on `ImmutableLiteral`
that inlines each predicate body, special-cased to the specific instance
to which it applies.
2025-11-26 12:30:30 +00:00
Taus
78c33ab55a
Python: Remove points-to references from python.qll
...
For now, these have just been made into `private` imports. After doing
this, I went through all of the (now not compiling) files and added in
private imports to the modules that they actually depended on.
I also added an explicit import of `LegacyPointsTo` (even though it may
be unnecessary) in cases where the points-to dependency was somewhat
surprising (and one we want to get rid of). This was primarily inside
the various SSA layers.
For modules inside `semmle.python.{types, objects, pointsto}` I did not
bother, as these are fairly clearly related to points-to.
2025-11-26 12:30:30 +00:00
Simon Friis Vindum
1c8cc39a6a
Merge pull request #20906 from paldepind/rust/enum-fieldless
...
Rust: Add predicates for fieldless and unit-only enums
2025-11-26 12:52:28 +01:00
Owen Mansel-Chan
1d0fcd77d8
Add change note
2025-11-26 11:24:04 +00:00
Joe Farebrother
8d313ff85b
qldoc fixes
2025-11-26 11:23:04 +00:00
Joe Farebrother
6207137ef0
Add changenote
2025-11-26 11:21:05 +00:00
Owen Mansel-Chan
eca9ec59c4
Add exclusions to data flow consistency checks
2025-11-26 11:12:44 +00:00
Owen Mansel-Chan
a2e68487ea
Shared: allow exclusions to localFlowIsLocal
2025-11-26 11:00:30 +00:00
Owen Mansel-Chan
916fe69e65
Accept data flow consistency test results
2025-11-26 11:00:25 +00:00
Joe Farebrother
eb7fe71557
Fix namespace instances and update tests
2025-11-26 10:51:16 +00:00
Tom Hvitved
7e5131891c
Rust: Special-case Self::AssocType in path resolution
2025-11-26 11:50:35 +01:00
Asger F
dbf14c190a
Factor XML discard predicates into OverlayXml.qll
2025-11-26 11:48:32 +01:00
Owen Mansel-Chan
7cd04e346e
Move existing consistency query to new place
2025-11-26 10:44:59 +00:00
Owen Mansel-Chan
fba53b58f8
Run data flow consistency tests in CI
2025-11-26 10:44:56 +00:00
Asger F
037f354abf
JS: Update another expected file
2025-11-26 11:42:39 +01:00
Asger F
b33af5b377
JS: Fix typo
2025-11-26 11:40:41 +01:00
Tom Hvitved
0d46dc0461
Rust: More path resolution tests
2025-11-26 11:33:17 +01:00
Asger F
7bd1985407
JS: Add proxy as a route handler name
2025-11-26 11:22:08 +01:00
Asger F
7848369f77
JS: Change note
2025-11-26 11:20:42 +01:00
Asger F
f9033f2abd
JS: Look for special folders in root, even if 'src' exists
2025-11-26 11:16:40 +01:00
Asger F
f0ecf1599c
JS: Add test with file named 'page'
2025-11-26 11:16:12 +01:00
Asger F
e54789d1bd
JS: Recognise route.ts outside api folder
2025-11-26 11:16:11 +01:00
Asger F
f52f5b63e6
JS: Add test with route.ts outside 'api'
2025-11-26 11:16:09 +01:00
Owen Mansel-Chan
0414555e43
Merge pull request #20741 from aegilops/java-kotlin-sensitive-logging-substring-barriers
...
java: Added Java/Kotlin Sensitive Logging barriers (substrings)
2025-11-26 09:55:14 +00:00
Asger F
0245b9d609
Merge pull request #20911 from asgerf/js/next-folders
...
JS: Fix project layout detection for Next.js apps
2025-11-26 09:09:54 +01:00
Simon Friis Vindum
7278bc75ca
Rust: Remove unused function in XSS tests
2025-11-26 08:57:47 +01:00
Owen Mansel-Chan
f0dec21b9b
Merge branch 'main' into java-kotlin-sensitive-logging-substring-barriers
2025-11-25 23:24:58 +00:00
Joe Farebrother
83eadbad60
Add namespace models
2025-11-25 16:56:36 +00:00
Joe Farebrother
85cb3e026c
Merge pull request #20762 from joefarebrother/go-insecure-cookie
...
Go: Promote non-httponly cookie query, and add insecure cookie query
2025-11-25 16:39:45 +00:00
Mathias Vorreiter Pedersen
295dc6971f
Merge branch 'main' into ignore-non-type-template-params
2025-11-25 15:37:25 +00:00
Simon Friis Vindum
7c7663629e
Rust: Fix typo in change note for XSS query
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-11-25 16:13:11 +01:00
Asger F
5b4e114955
JS: Add test
2025-11-25 16:04:30 +01:00
Mathias Vorreiter Pedersen
73b6fa69a9
C++: Fix Code Scanning alert.
2025-11-25 15:03:26 +00:00
Mathias Vorreiter Pedersen
0deac833e4
C++: Accept test changes.
2025-11-25 14:59:09 +00:00
Asger F
a91969b7e1
JS: Change note
2025-11-25 15:58:11 +01:00
Mathias Vorreiter Pedersen
05737af165
C++: Only support non-type template parameters in tail position.
2025-11-25 14:55:44 +00:00
Mathias Vorreiter Pedersen
faa55f50e7
C++: Add another test with a template function whose non-type template parameter is in tail position.
2025-11-25 14:55:18 +00:00
Asger F
e95b3590f0
JS: Fix project layout detection for Next.js apps
...
Some parts of the code did not handle case where 'pages' was located at 'app/pages'.
2025-11-25 15:54:45 +01:00
Joe Farebrother
cece73bdbf
Remove references to gorilla
2025-11-25 14:36:16 +00:00
Joe Farebrother
c7b16a043e
Address reviews - update comments, remove unneeded stubs
2025-11-25 14:36:00 +00:00
Joe Farebrother
c6110ed541
Split SecureCookies into query specific files
2025-11-25 14:35:47 +00:00
Joe Farebrother
5b702d963e
Refactor parts of SensitiveCookieNameConfig
2025-11-25 14:35:42 +00:00
Joe Farebrother
03d63dec2e
Address reviews - rename and update doc comments
2025-11-25 14:35:29 +00:00
Joe Farebrother
1bd5005fc1
Fix typos
2025-11-25 14:35:17 +00:00
Joe Farebrother
6282c34396
Update formatting
2025-11-25 14:35:09 +00:00
Joe Farebrother
a25861d8a3
Update integration test
2025-11-25 14:35:02 +00:00
Joe Farebrother
ed483dd5b2
Add change note
2025-11-25 14:34:57 +00:00
Joe Farebrother
d633120f4d
Update integration tests
2025-11-25 14:34:48 +00:00
Joe Farebrother
536e885f18
Remove experimental query
2025-11-25 14:34:41 +00:00
Joe Farebrother
fa30041498
Add qhelp & fix tests
2025-11-25 14:34:28 +00:00
Joe Farebrother
2b1cd846b3
Fixes and doc updates
2025-11-25 14:34:10 +00:00
Joe Farebrother
8d544e5b15
Add tests
2025-11-25 14:33:51 +00:00
Joe Farebrother
5094784a4b
Add modeling for gin
2025-11-25 14:33:43 +00:00
Joe Farebrother
74c424dc4c
Fixes, add secure query
2025-11-25 14:33:33 +00:00
Joe Farebrother
7d76619bea
Implement cookie write concepts and httponly query
2025-11-25 14:33:23 +00:00
Mathias Vorreiter Pedersen
26e5320a80
Merge pull request #20901 from MathiasVP/canonical-content
...
C++: Don't use `Field`s to define `FieldContent`
2025-11-25 13:54:19 +00:00
Simon Friis Vindum
9ae4c14ffb
Rust: Address PR feedback
2025-11-25 14:20:17 +01:00
Jeroen Ketema
861ca7526e
Merge branch 'main' into canonical-content
2025-11-25 14:08:42 +01:00
Mathias Vorreiter Pedersen
2024f32e81
C++: Add an example with missing flow.
2025-11-25 12:36:29 +00:00
Simon Friis Vindum
4f13ae3fc9
Rust: Add qldoc
2025-11-25 13:35:14 +01:00
Simon Friis Vindum
393da4567e
Rust: Add tests for Enum
2025-11-25 13:35:12 +01:00
Simon Friis Vindum
50e8d0ca20
Rust: Add isFieldless and isUnitOnly to Enum
2025-11-25 13:35:11 +01:00
Simon Friis Vindum
b4ae58871a
Rust: Tweak existing isStruct predicates
2025-11-25 13:35:10 +01:00
Mathias Vorreiter Pedersen
47ab307410
C++: Respond to review comments.
2025-11-25 12:06:58 +00:00
Alexander Köplinger
458f8570e8
Fix KeyError: 'name' in python/extractor/imp.py on Python 3.14
...
Follow-up to https://github.com/github/codeql/pull/20630
The fix didn't fully work since when we raise the ImportError in `find_module` we don't pass a named argument into the format string which causes a `KeyError`.
We need to use a format string without named arguments, like Python 3.13 and earlier did.
2025-11-25 12:38:55 +01:00
Geoffrey White
1c2d8bb70e
Merge pull request #20851 from geoffw0/access-invalid-pointer-fp
...
Rust: Improve rust/access-invalid-pointer
2025-11-25 09:49:07 +00:00
Simon Friis Vindum
411d1fa861
Rust: Fix grammar and typos
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-25 09:31:00 +01:00
Simon Friis Vindum
ce25def71e
Rust: Update integration test expected files
2025-11-25 08:23:52 +01:00
Joe Farebrother
b0be8184ac
Add taint test
2025-11-24 16:54:21 +00:00
Geoffrey White
5893dc699d
Rust: Change the majority of variant tests to be on AES not DES, since the focus of these new tests should be the block mode not the encryption algorithm.
2025-11-24 16:29:23 +00:00
Geoffrey White
daead038ab
Merge pull request #20829 from geoffw0/cert-checks
...
Rust: New Query rust/disabled-certificate-check
2025-11-24 15:21:58 +00:00
Mathias Vorreiter Pedersen
eb6b08591d
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-24 15:01:09 +00:00
Mathias Vorreiter Pedersen
2e53370716
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-24 15:01:00 +00:00
Simon Friis Vindum
597c81d659
Rust: Add change note for XSS query
2025-11-24 15:46:27 +01:00
Simon Friis Vindum
9c2858d69b
Rust: Add qhelp for XSS query
2025-11-24 15:46:26 +01:00
Simon Friis Vindum
9e2bf76a7f
Rust: Add XSS sinks for Actix and Warp
2025-11-24 15:46:25 +01:00
Simon Friis Vindum
ae9c753371
Rust: Add XSS query
2025-11-24 15:46:24 +01:00
Simon Friis Vindum
0f4561efc3
Rust: Add XSS examples
2025-11-24 15:46:23 +01:00
Ian Lynagh
555301cec7
Merge pull request #20874 from igfoo/igfoo/overlay
...
C++: Add the beginnings of overlay support
2025-11-24 14:11:09 +00:00
Owen Mansel-Chan
1a59839f3c
Range library recognises long literals now
2025-11-24 14:10:54 +00:00
Owen Mansel-Chan
e37336d550
No need for getUnderlyingExpr to look through casts
2025-11-24 14:10:20 +00:00
Mathias Vorreiter Pedersen
0487e0622a
C++: Accept test changes from tests that use getAQlClass.
2025-11-24 14:04:35 +00:00
Joe Farebrother
dada49f402
Fix qldoc and tests
2025-11-24 13:57:43 +00:00
Tom Hvitved
551e7ada5c
Rust: Refine Self resolution inside impl blocks
2025-11-24 14:53:00 +01:00
Tom Hvitved
17c3ee1745
Rust: More path resolution tests
2025-11-24 14:46:14 +01:00
Mathias Vorreiter Pedersen
6bae58e29c
C++: Accept more test changes.
2025-11-24 12:35:19 +00:00
Mathias Vorreiter Pedersen
ecb80cb4fc
C++: Represent field content using a column that is shared by all template instantiations.
2025-11-24 12:29:49 +00:00
Mathias Vorreiter Pedersen
fd566780a6
Update cpp/ql/lib/semmle/code/cpp/dataflow/ExternalFlow.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-24 12:17:06 +00:00
Tom Hvitved
43111b8eaa
Merge pull request #20716 from hvitved/rust/path-resolution-variable-impl
...
Rust: Path resolution before variable resolution
2025-11-24 13:08:53 +01:00
Mathias Vorreiter Pedersen
98879d0f1a
C++: Accept test changes.
2025-11-24 12:06:38 +00:00
Mathias Vorreiter Pedersen
732e55df11
C++: Ignore template non-type parameters in MaD signature matching.
2025-11-24 12:06:24 +00:00
Tom Hvitved
ac644b257a
Merge pull request #20848 from hvitved/rust/ranked-forex-rename
...
Rust: Use `ToIndex` instead of `FromIndex` in ranked `forex` predicates
2025-11-24 13:05:58 +01:00
Tom Hvitved
c7a0411c55
Merge pull request #20892 from hvitved/rust/builtin-mut-placeholders
...
Rust: Add placeholder declarations for `&mut` and `*mut`
2025-11-24 13:05:15 +01:00
Mathias Vorreiter Pedersen
c9e9322143
C++: Add an example of missing MaD supporrt for non-type template parameters.
2025-11-24 12:02:54 +00:00
Joe Farebrother
a83c70f99d
Add tests
2025-11-24 11:03:16 +00:00
Eliav2
192f254b41
Merge branch 'main' into 20823-globalVarRef-document-defaultView
2025-11-23 22:03:30 +02:00
Tom Hvitved
17e1e1713e
Rust: Add placeholder declarations for &mut and *mut
2025-11-23 20:56:07 +01:00
Tom Hvitved
b16f8c20a9
Update rust/ql/lib/codeql/rust/internal/PathResolution.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-11-23 19:05:24 +01:00
Geoffrey White
b62968fa0f
Rust: Spelling.
2025-11-22 09:22:33 +00:00
Geoffrey White
993154ed57
Rust: Avoid duplicating sinks.
2025-11-21 19:34:16 +00:00
Geoffrey White
0ea28b4026
Rust: Test .expected changes.
2025-11-21 18:57:06 +00:00
Geoffrey White
ff8032a4ec
Rust: Fix after merge.
2025-11-21 18:53:57 +00:00
Geoffrey White
eb674d08d6
Rust: Reinstate the original function names model but call it a heuristic now.
2025-11-21 18:46:12 +00:00
Geoffrey White
2ce4c47646
Rust: More sinks from the MRVA-1000.
2025-11-21 18:43:35 +00:00
Geoffrey White
80615056c0
Merge remote-tracking branch 'upstream/main' into cert-checks
2025-11-21 18:40:40 +00:00
copilot-swe-agent[bot]
9b65a33b4a
Add ECB and CBC block mode test cases
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-11-21 18:32:39 +00:00
Geoffrey White
988aca1f85
Rust: Correct QLDoc comment.
2025-11-21 18:13:08 +00:00
copilot-swe-agent[bot]
2c22f94852
Initial plan
2025-11-21 18:10:43 +00:00
Geoffrey White
03fc4cb0aa
Merge remote-tracking branch 'upstream/main' into access-invalid-pointer-fp
2025-11-21 17:39:56 +00:00
Geoffrey White
9db1722060
Rust: Accept consistency check changes.
2025-11-21 17:35:34 +00:00
Geoffrey White
e01c871b70
Rust: Accept changes to the dataflow/sources/file test.
2025-11-21 17:12:23 +00:00
Geoffrey White
3ad014b2f9
Rust: Additional sinks found in MRVA-1000.
2025-11-21 16:33:59 +00:00
Geoffrey White
ace7a77fd6
Rust: Switch to MaD models.
2025-11-21 16:27:52 +00:00
Geoffrey White
785754ec65
Rust: Switch the query to taint flow, since some taint summaries are relevant now.
2025-11-21 15:02:29 +00:00
Geoffrey White
89a9c46547
Rust: Second change note.
2025-11-21 15:02:27 +00:00
Geoffrey White
aca7877be2
Rust: Add some missing path / file metadata models.
2025-11-21 15:02:25 +00:00
Geoffrey White
8145264b77
Rust: Add threat model sources as additional sources for the query.
2025-11-21 14:40:11 +00:00
Geoffrey White
2da0814f65
Rust: Add test case involving taint.
2025-11-21 14:39:15 +00:00
Anders Schack-Mulligen
b1ed72d760
Merge pull request #20886 from aschackmull/java/rangeanalysis-longliterals
...
Java: Recognize int-sized long literals.
2025-11-21 13:35:14 +01:00
Owen Mansel-Chan
d2fc6a7b5b
Merge branch 'main' into java-kotlin-sensitive-logging-substring-barriers
2025-11-21 12:20:04 +00:00
Asger F
51e1bda608
JS: Move isTypeOnly() check into a direct check, instead of an override
2025-11-21 13:10:32 +01:00
Anders Schack-Mulligen
298e4cfcc5
Java: Recognize int-sized long literals.
2025-11-21 12:53:39 +01:00
Asger F
9c4f85f15b
JS: Split getSourceNode into getDirectSourceNode and getReExportedSourceNode
2025-11-21 12:42:30 +01:00
Asger F
94566e5e1e
JS: Remove unnecessary override in OriginalExportDeclaration
2025-11-21 12:42:10 +01:00
Asger F
3a393ecd54
Fixup! qldoc for reExportsAs
2025-11-21 12:41:34 +01:00
Michael Nebel
60826bd18a
Merge pull request #20837 from michaelnebel/csharp/dotnet10
...
C#: Improve the logic for downloading .NET and setting environment variables.
2025-11-21 12:41:08 +01:00
Michael Nebel
638c98bba3
Merge pull request #20832 from michaelnebel/csharp/dependencycaching
...
C#: Add extractor option for the dependency directory in BMN.
2025-11-21 12:38:28 +01:00
Asger F
78c8ab11f2
JS: Split exportsAs into exportsDirectlyAs and reExportsAs
2025-11-21 12:31:34 +01:00
Asger F
74d725ef21
JS: Remove unnecessary override in OriginalExportDeclaration
2025-11-21 12:31:09 +01:00
Ian Lynagh
6c7370ea95
C++: Add up/downgrade scripts
2025-11-21 11:30:58 +00:00
Ian Lynagh
c2f96b94e3
C++: Update stats
2025-11-21 11:30:40 +00:00
Ian Lynagh
d5399300e9
C++: Add databaseMetadata and overlayChangedFiles tables to dbscheme
2025-11-21 11:30:40 +00:00
Anders Schack-Mulligen
8d72040e8f
Merge pull request #20772 from aschackmull/java/ssa-deprecate
...
Java: Add deprecation annotations in SSA
2025-11-21 12:30:31 +01:00
Asger F
ce9986c449
JS: Change signature of isShadowedFromBulkExport
2025-11-21 12:30:31 +01:00
Owen Mansel-Chan
ec381e4ec5
Use range analysis and improve tests
2025-11-21 10:31:50 +00:00
Michael Nebel
5c454d23e8
C#: Fix typo.
2025-11-21 10:39:59 +01:00
Michael Nebel
138441b662
C#: Address review comments.
2025-11-21 10:39:57 +01:00
Michael Nebel
90dbb7a8eb
C#: Add change note.
2025-11-21 10:39:56 +01:00
Michael Nebel
2700843a9c
C#: Add an integration test for setting the dependency directory in BMN.
2025-11-21 10:39:54 +01:00
Michael Nebel
1256ccf2eb
C#: Add extractor option for buildless dependency directory.
2025-11-21 10:39:52 +01:00
Michael Nebel
e76e7ab26a
C#: Read from dependency directory from extractor option.
2025-11-21 10:39:51 +01:00
Anders Schack-Mulligen
30d68d8906
Java: Add missing deprecated annotations.
2025-11-21 10:14:13 +01:00
aegilops
ce136684e6
Fixed formatting
2025-11-20 17:39:32 +00:00
aegilops
e904520779
Fixed formatting
2025-11-20 17:34:42 +00:00
aegilops
29a5b27b13
Removed bounds checking and only using literals - bounded() predicate did not work
2025-11-20 17:31:56 +00:00
Paolo Tranquilli
794b328802
Bazel: remove unneeded file from registry
2025-11-20 17:07:09 +01:00
Paolo Tranquilli
195a7234d3
Merge branch 'main' into redsun82/update-fmt
2025-11-20 17:06:24 +01:00
Tom Hvitved
132f02c51b
Update rust/ql/lib/codeql/rust/internal/PathResolution.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-20 14:34:02 +01:00
Eliav2
6df789d114
Merge branch 'main' into 20823-globalVarRef-document-defaultView
2025-11-20 15:18:15 +02:00
eliav
91451b73ef
javascript: Update expected results for global variable references
2025-11-20 15:15:06 +02:00
Mathias Vorreiter Pedersen
14f9997eb3
Merge pull request #20862 from MathiasVP/union-content-field-content-common-base-class
...
C++: Create a common base class for 'FieldContent' and 'UnionContent'
2025-11-20 13:14:29 +00:00
Paul Hodgkinson
801cd72965
Merge branch 'main' into java-kotlin-sensitive-logging-substring-barriers
2025-11-20 12:24:22 +00:00
aegilops
1e67907516
Merge commit
2025-11-20 12:22:39 +00:00
aegilops
62ee6d3a33
Made changes requested by reviewers - bounded() for range checking, style and better comments
2025-11-20 11:46:42 +00:00
Paolo Tranquilli
240c637e7a
Merge pull request #20868 from github/redsun82/java-doc
...
Java: add missing QLDoc
2025-11-20 12:08:16 +01:00
Owen Mansel-Chan
05085a8e82
Merge pull request #20666 from owen-mc/go/promote-weak-crypto-algorithm
...
Go: promote `go/weak-crypto-algorithm`
2025-11-20 11:03:05 +00:00
Joe Farebrother
9c3f4e2bfb
Add changenote
2025-11-20 10:59:05 +00:00
Tom Hvitved
0f40b3ccb8
Merge pull request #20842 from hvitved/rust/path-resolution-extern-crate-visibility
...
Rust: Handle `pub extern crate` in path resolution
2025-11-20 11:59:05 +01:00
Joe Farebrother
cdc44c3267
Model tornado websockets
2025-11-20 10:49:30 +00:00
Joe Farebrother
ba06990290
Add socketio models
2025-11-20 10:47:41 +00:00
Tom Hvitved
4d4a677da0
Merge pull request #20869 from hvitved/rust/dataflow-ast
...
Rust: Base `DataFlow::Node` on AST instead of CFG
2025-11-20 11:34:40 +01:00
Asger F
613895e0c0
Merge pull request #20424 from asgerf/js/overlay-manual-v4
...
JS: Add overlay annotations
2025-11-20 11:10:46 +01:00
Tom Hvitved
d4fdf956a0
Address review comments
2025-11-20 11:03:53 +01:00
Paolo Tranquilli
b54abc7a6d
C++: move -DFMT_UNICODE into a module patch
2025-11-20 10:47:54 +01:00
eliav
08dfb95155
javascript: Add change note for document.defaultView aliasing window
...
Introduced a new change note detailing that `DataFlow::globalVarRef` now recognizes `document.defaultView` as an alias of `window`, enhancing the modeling of data flows involving `history` in queries.
2025-11-20 00:17:14 +02:00
Mingjie Shen
b293dfe3a6
C++: Fix CWE-119 memcpy tests
...
sizeof(pointer) only gives the pointer size, not the buffer
size, so use explicit 10/20 lengths in tests.cpp and update
OverflowBuffer.expected to accept the resulting memcpy diagnostics.
Signed-off-by: Mingjie Shen <shen497@purdue.edu >
2025-11-19 22:06:06 +00:00
Tom Hvitved
e4853ab060
Add change note
2025-11-19 19:37:41 +01:00
Tom Hvitved
d2bb53a81e
Rust: Run codegen
2025-11-19 19:37:40 +01:00
Tom Hvitved
489fff9572
Rust: Base DataFlow::Node on AST instead of CFG
2025-11-19 19:37:39 +01:00
Ian Lynagh
42f0ce74ca
C++: Enable overlay compilation
2025-11-19 17:34:06 +00:00
Mathias Vorreiter Pedersen
6c4def13b4
C++: Add change note.
2025-11-19 17:24:30 +00:00
Mathias Vorreiter Pedersen
4c09e554fc
Merge branch 'main' into union-content-field-content-common-base-class
2025-11-19 17:17:45 +00:00
Jeroen Ketema
0c43f2c4f0
Merge pull request #20870 from jketema/exp-arg-fix
...
C++: `getExpandedArgument` fixes
2025-11-19 17:10:56 +01:00
Owen Mansel-Chan
a70d74220f
Add test for good password hashing
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
f562b3d26e
Make line differences in test comments relative
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
349e8ca589
Remove unnecessary import
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
adbc1efe59
Fix diff-informed predicates
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
7d7af193dc
Fix small mistake in Ruby query help
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
8d7b2757bf
Add query help examples
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
69ecdcb4cd
Fix capitalization of class names
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
970b5d7496
Fix query suite integration tests
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
2cfafe53ca
Fix failing ruby crypto test that lists all algorithms
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
d2033ca1d5
Add change note
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
52d7e2dd18
Add query for hashing sensitive data with weak hashing algorithm
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
713e19f6f1
Make non-path query for encryption only
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
f34a625ac2
Model cryptographic operations
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
fac5296efc
Avoid duplicate results using in-barriers
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
34b2e3e2bf
Copy the structure of the Javascript query
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
5c403d374e
Move crypto qll files from query pack to library pack
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
92a3bccfd6
Align metadata with related queries
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
188b25f11f
Remove experimental tag from query metadata
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
a71bb4ba9a
Convert test to inline expectations
2025-11-19 14:36:26 +00:00
Owen Mansel-Chan
2c20d3ffeb
Move weak crypto algorithm query out of experimental
2025-11-19 14:36:26 +00:00
Paolo Tranquilli
83b3711973
Swift: update fmt
2025-11-19 14:32:37 +01:00
Simon Friis Vindum
4d9ab7b573
Merge pull request #20871 from paldepind/rust/string-literal
...
Rust: Handle string literals with line breaks
2025-11-19 14:05:43 +01:00
Asger F
efa438a352
JS: Move identityFunctionStep back into CachedSteps module
2025-11-19 13:47:30 +01:00
Asger F
8fef60464e
JS: Remove out-commented code
2025-11-19 13:46:10 +01:00
Simon Friis Vindum
0e539dbca5
Rust: Handle string literals with line breaks
2025-11-19 13:39:48 +01:00
Simon Friis Vindum
481f627ae0
Rust: Add string literal test
2025-11-19 13:37:23 +01:00
Michael Nebel
5cdfb3c0a9
C#: Address review comments.
2025-11-19 12:58:59 +01:00
Jeroen Ketema
fe3f90e041
C++: Make getExpandedArgument more robust
...
This make the predicate give back sensible results on (upgraded) databases
where we do not have expanded arguments, and avoid having to write case
distinctions in places where we would want to use `getExpandedArgument`.
2025-11-19 12:49:54 +01:00
Jeroen Ketema
e235e0473a
C++: Fix getAnExpandedArgument
...
The fix was accidentially lost when rebasing the branch that introduced this
predicate.
2025-11-19 12:49:02 +01:00
Paolo Tranquilli
b3c09389c8
Java: add missing QLDoc
...
The check for QLDoc comments was unfortunately broken for some time, so
we missed this.
2025-11-19 11:59:25 +01:00
Michael Nebel
edabbfc12f
C#: Add change note.
2025-11-19 11:29:25 +01:00
Michael Nebel
34de2f5318
C#: Update linux integration tests (as we have added CLI preferred language as english).
2025-11-19 11:17:56 +01:00
Michael Nebel
fba496f911
C#: Add proper .NET environment for dotnet info and list-sdks and streamline the minimal dotnet environment.
2025-11-19 11:17:54 +01:00
Michael Nebel
0daee6fbf2
C#: Specifically download .NET for Arm architecture.
2025-11-19 11:17:52 +01:00
Michael Nebel
8df57d81a0
C#: Add basic buildless test for .NET 10.
2025-11-19 11:17:51 +01:00
Michael Nebel
ed92352faf
C#: Remove the linux specific .NET 10 RC 2 test.
2025-11-19 11:17:49 +01:00
Michael Nebel
d7545f21cb
C#: Enable tests for all platforms and use .NET 10 instead of .NET 10 RC 2.
2025-11-19 11:17:48 +01:00
Michael Nebel
7d746d4e3f
C#: Move .NET 10 RC2 basic integration test all platforms folder.
2025-11-19 11:17:46 +01:00
Mathias Vorreiter Pedersen
9bfe847fda
C++: Fix awful joins on bochs:
...
```
Evaluated relational algebra for predicate DataFlowPrivate::storeStepImpl/4#b2c79f9a@13be12rc with tuple counts:
9 ~0% {3} r1 = JOIN `FlowSummaryImpl::Private::Steps::summaryStoreStep/3#5c2d4899` WITH DataFlowUtil::TFlowSummaryNode#40da8361 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
9 ~0% {4} | JOIN WITH DataFlowUtil::TFlowSummaryNode#40da8361 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1, _
9 ~12% {4} | REWRITE WITH Out.3 := true
1853420 ~0% {3} r2 = SCAN `DataFlowPrivate::nodeHasInstruction/3#f469bb06` OUTPUT In.1, In.0, In.2
100282 ~0% {3} | JOIN WITH `Instruction::StoreInstruction.getDestinationAddressOperand/0#dispred#596a4aba` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
127910 ~0% {6} | JOIN WITH `DataFlowPrivate::numberOfLoadsFromOperand/4#7e555666_1023#join_rhs` ON FIRST 1 OUTPUT _, Lhs.1, Rhs.1, Rhs.3, Lhs.2, Rhs.2
127910 ~0% {4} | REWRITE WITH Tmp.0 := 1, Out.0 := (Tmp.0 + In.4 + In.5) KEEPING 4
4178182721 ~1% {4} | JOIN WITH `DataFlowUtil::FieldContent.getIndirectionIndex/0#dispred#cc69866f_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
4290552803 ~0% {5} | JOIN WITH `DataFlowUtil::FieldContent.getAField/0#dispred#ba1c91e5` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.0, Rhs.1
3033745816 ~5% {7} | JOIN WITH DataFlowUtil::PostFieldUpdateNode#b86f3a84_1023#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.2, Rhs.3
3033745816 ~3% {9} | JOIN WITH DataFlowUtil::TPostUpdateNodeImpl#f5e76b7a_21#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.0, Lhs.5, Lhs.6, Rhs.1, _
{8} | REWRITE WITH Tmp.8 := 1, TEST InOut.7 = Tmp.8 KEEPING 8
1516872908 ~0% {7} | SCAN OUTPUT In.4, In.5, In.6, In.0, In.1, In.2, In.3
2409090286 ~1% {6} | JOIN WITH DataFlowUtil::PostFieldUpdateNode#b86f3a84_0231#join_rhs ON FIRST 3 OUTPUT Rhs.3, Lhs.6, Lhs.3, Lhs.4, Lhs.5, Lhs.0
66016 ~45% {4} | JOIN WITH `DataFlowUtil::FieldAddress.getField/0#dispred#bdd01c1a` ON FIRST 2 OUTPUT Lhs.2, Lhs.4, Lhs.5, Lhs.3
66025 ~45% {4} r3 = r1 UNION r2
return r3
```
2025-11-19 10:08:09 +00:00
Paolo Tranquilli
e850a8a46c
Merge pull request #20861 from github/redsun82/ripunzip
...
Ripunzip: use releases from github
2025-11-19 11:03:35 +01:00
Paolo Tranquilli
87b9afce97
Merge branch 'main' into redsun82/ripunzip
2025-11-19 10:33:39 +01:00
Tom Hvitved
3d49eff4a5
Rust: Add integration test for pub extern crate resolution
2025-11-19 09:38:49 +01:00
Tom Hvitved
8acfc7f752
Rust: Handle pub extern crate in path resolution
2025-11-19 09:38:48 +01:00
Tom Hvitved
ec3b2c6a8d
Rust: Path resolution before variable resolution
2025-11-19 09:06:41 +01:00
Paolo Tranquilli
3be8591370
Ripunzip: fix windows os check, add comments
2025-11-19 08:56:06 +01:00
Tom Hvitved
880f7b0f18
Rust: More path resolution and variable tests
2025-11-19 08:55:43 +01:00
Paolo Tranquilli
69ee9cdb9f
Ripunzip: fix mac os and windows URLs
2025-11-19 08:12:07 +01:00
Paolo Tranquilli
f1afe5cd9d
Bazel: format
2025-11-19 08:06:28 +01:00
Paolo Tranquilli
702d1bbbea
Ripunzip: fix mac os string
2025-11-19 08:05:17 +01:00
Mathias Vorreiter Pedersen
73e72f5273
Merge pull request #20864 from MathiasVP/better-sizeof-api
...
C++: Lift `getTypeOperand` to a superclass
2025-11-18 23:53:26 +00:00
Mathias Vorreiter Pedersen
4279a970fa
C++: Remove unnecessary cast.
2025-11-18 20:03:24 +00:00
Mathias Vorreiter Pedersen
a27ac9d59d
C++: Updated expected after Copilot change.
2025-11-18 20:03:10 +00:00
Mathias Vorreiter Pedersen
6b136e3a53
Update cpp/ql/test/library-tests/types/sizeof/sizeof.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-18 20:00:32 +00:00
Tom Hvitved
68552f9725
Merge pull request #20845 from hvitved/rust/cache-infer-certain-type
...
Rust: Cache `inferCertainType`
2025-11-18 20:59:38 +01:00
Mathias Vorreiter Pedersen
d4a8dbb5f3
C++: Slightly modify a test so that we can see the effect of this change.
2025-11-18 19:52:30 +00:00
Mathias Vorreiter Pedersen
a5601ce734
C++: Lift 'getTypeOperand' to the superclass.
2025-11-18 19:52:05 +00:00
Mathias Vorreiter Pedersen
7f0fcb0c46
C++: Create a common base class for 'NonUnionContent' and 'UnionContent' called 'FieldContent'.
2025-11-18 18:53:37 +00:00
Mathias Vorreiter Pedersen
7527d88762
C++: Get rid of abstract'ness from these public predicates. We are not supposed to have abstract public stuff. Oops ...
2025-11-18 18:52:20 +00:00
Mathias Vorreiter Pedersen
2af6db6320
C++: Rename 'FieldContent' to 'NonUnionContent'.
2025-11-18 18:51:33 +00:00
Paolo Tranquilli
ddee385f37
Ripunzip: use releases from github
...
This uses the ripunzip releases from github instead of building them
ourselves.
2025-11-18 17:23:59 +01:00
Paolo Tranquilli
f4a6ba9e50
Merge pull request #20857 from github/post-release-prep/codeql-cli-2.23.6
...
Post-release preparation for codeql-cli-2.23.6
2025-11-18 15:14:39 +01:00
Tom Hvitved
71e84439d7
Merge pull request #20830 from hvitved/rust/path-resolution-slice-array-builtin
...
Rust: Model builtin types in path resolution
2025-11-18 14:42:59 +01:00
Tom Hvitved
ec15085c34
Address review comments
2025-11-18 13:44:25 +01:00
Paolo Tranquilli
773b6c04a1
Merge branch 'main' into post-release-prep/codeql-cli-2.23.6
2025-11-18 13:44:21 +01:00
Paolo Tranquilli
ebf04d308d
Merge pull request #20859 from github/redsun82/ripunzip
...
Ripunzip: build on older ubuntu
2025-11-18 13:43:43 +01:00
Paolo Tranquilli
aaccca3e4e
Merge pull request #20860 from github/update-ripunzip
...
Update ripunzip binaries
2025-11-18 13:37:30 +01:00
github-actions[bot]
f3742008de
Update ripunzip binaries to version v2.0.3
2025-11-18 12:35:31 +00:00
Anders Schack-Mulligen
fe7be22478
Merge pull request #20761 from aschackmull/java/ssa-shared
...
Java: Replace SSA wrapper classes with shared implementation.
2025-11-18 13:31:50 +01:00
Asger F
a0965f33e3
JS: Also discard JSON, YAML, and XML
2025-11-18 13:29:00 +01:00
Paolo Tranquilli
cc9828c23e
Ripunzip: build on older ubuntu
2025-11-18 13:20:07 +01:00
Paolo Tranquilli
48ee9dd149
Merge branch 'main' into post-release-prep/codeql-cli-2.23.6
2025-11-18 12:18:09 +01:00
Paolo Tranquilli
76dc4c4023
Merge branch 'codeql-cli-2.23.6' into post-release-prep/codeql-cli-2.23.6
2025-11-18 12:07:33 +01:00
Paolo Tranquilli
b31d649647
Merge pull request #20858 from github/redsun82/2.23.6
...
Changedocs 2.23.5
2025-11-18 12:00:16 +01:00
Jon Janego
1ebc16e2d3
Merge pull request #20855 from github/changedocs-2.23.5
...
Changedocs 2.23.5
(cherry picked from commit f27271d216 )
2025-11-18 11:53:11 +01:00
Michael Nebel
958d209a81
Merge pull request #20849 from michaelnebel/csharp/addcompilationerrorstodebuglogbmn
...
C#: Add compilation errors to the debug log in BMN.
2025-11-18 11:20:27 +01:00
github-actions[bot]
5ee45af3aa
Post-release preparation for codeql-cli-2.23.6
2025-11-18 09:53:12 +00:00
Geoffrey White
9ab7f87603
Merge pull request #20776 from geoffw0/rustexamples
...
Rust: Add example queries
2025-11-18 09:34:48 +00:00
Paolo Tranquilli
117168d25b
Merge pull request #20852 from github/release-prep/2.23.6
...
Release preparation for version 2.23.6
2025-11-18 10:08:53 +01:00
Paolo Tranquilli
4c1f2b840e
C#: change capitalization
2025-11-18 10:06:19 +01:00
Paolo Tranquilli
1c81c4d4c9
C#: make some tweaks to change logs
2025-11-18 10:01:36 +01:00
Mathias Vorreiter Pedersen
b90d0fd44c
Merge pull request #20854 from MathiasVP/no-magic-get-param
...
C++: Add `nomagic` to `Function::getParameter`
2025-11-18 00:13:05 +00:00
Jon Janego
f27271d216
Merge pull request #20855 from github/changedocs-2.23.5
...
Changedocs 2.23.5
2025-11-17 14:39:35 -06:00
Jon Janego
d685e666b4
missing space
2025-11-17 14:32:04 -06:00
Jon Janego
3431c121d7
adding in 2.23.1 changes so they stay the same
2025-11-17 14:30:45 -06:00
Jon Janego
63390be185
Changedocs for 2.23.5
2025-11-17 14:24:35 -06:00
Mathias Vorreiter Pedersen
47ac4dd1dc
C++: Add 'nomagic' to 'getParameter'.
2025-11-17 19:21:37 +00:00
github-actions[bot]
18fa6799ce
Release preparation for version 2.23.6
2025-11-17 16:38:07 +00:00
Geoffrey White
81096131b6
Rust: Correct + clarify qldoc.
2025-11-17 15:27:49 +00:00
Geoffrey White
7c8e44db8e
Rust: Change note.
2025-11-17 15:09:57 +00:00
Geoffrey White
725899389b
Rust: Clean up the query slightly.
2025-11-17 15:08:53 +00:00
Geoffrey White
41a6bf079d
Rust: Add barrier for null pointer checks to the query.
2025-11-17 15:00:22 +00:00
Geoffrey White
d804229158
Rust: Add missing model.
2025-11-17 14:41:14 +00:00
Geoffrey White
6c3566ab52
Rust: It turns out we need test cases for immutable pointers as well.
2025-11-17 14:32:57 +00:00
Paolo Tranquilli
07c80b4685
Merge pull request #20850 from github/redsun82/fix-change-notes
...
C#: add missing `*` to change note
2025-11-17 15:06:42 +01:00
Paolo Tranquilli
12f1bd8ffd
C#: add missing * to change note
2025-11-17 15:00:30 +01:00
Michael Nebel
9f69ff22d3
C#: Add change-note.
2025-11-17 14:57:16 +01:00
Michael Nebel
f1b12203f6
C#: Add compilation errors to the debug log in BMN.
2025-11-17 14:57:14 +01:00
Jeroen Ketema
1671805598
Merge pull request #20831 from jketema/expanded
...
C++: Extract the expanded compiler arguments
2025-11-17 13:58:24 +01:00
Tom Hvitved
bf0dc3c4d1
Rust: Use useUniversalConditions() { none() }
2025-11-17 13:57:00 +01:00
Tom Hvitved
46f5d89674
Rust: Handle builtin types in path resolution
2025-11-17 13:56:56 +01:00
Tom Hvitved
39720a17ef
Rust: More type inference tests
2025-11-17 13:54:39 +01:00
Tom Hvitved
b0dc48e393
Merge pull request #20723 from paldepind/rust/ti-inheritance
...
Rust: Make impl blocks only give rise to direct trait implementation
2025-11-17 13:36:05 +01:00
Simon Friis Vindum
4eb22a7e55
Rust: Fix grammar
2025-11-17 12:39:38 +01:00
Simon Friis Vindum
9971936036
Rust: Improvements to docs from review comments
2025-11-17 12:39:37 +01:00
Simon Friis Vindum
a07f015d01
Rust: Accept changes to expected files
2025-11-17 12:39:36 +01:00
Tom Hvitved
3419c00bc0
Rust: Use ToIndex instead of FromIndex in ranked forex predicates
...
`ToIndex` makes more sense, since we start the recursion from `0`.
2025-11-17 12:28:35 +01:00
Paul Hodgkinson
7b25e22a37
Merge branch 'main' into java-kotlin-sensitive-logging-substring-barriers
2025-11-17 11:03:39 +00:00
aegilops
528c451007
Added change note, adjusted spacing in comment
2025-11-17 11:02:59 +00:00
Jeroen Ketema
1df47cc747
C++: Fix QL-for-QL warning
2025-11-17 11:17:57 +01:00
Jeroen Ketema
15393ae621
C++: Add change note
2025-11-17 11:17:56 +01:00
Jeroen Ketema
61b7eb3d5c
C++: Update dbscheme stats file
2025-11-17 11:17:55 +01:00
Jeroen Ketema
a8d488fa29
C++: Add upgrade and downgrade scripts
2025-11-17 11:17:54 +01:00
Jeroen Ketema
ee97d6f461
C++: Expose the expanded compilation arguments
2025-11-17 11:17:53 +01:00
Jeroen Ketema
861c236dae
C++: Add table for expanded compilation arguments
2025-11-17 11:17:51 +01:00
Asger F
4b57b4418f
JS: Factor out some code
2025-11-17 10:48:15 +01:00
Asger F
a405b7b3e0
JS: Add discard predicates for locations
2025-11-17 10:47:37 +01:00
Simon Friis Vindum
089bffff94
Rust: Make impl blocks only give rise to direct trait implementation
2025-11-17 10:22:18 +01:00
Michael Nebel
c0ebc17bdc
Merge pull request #20768 from michaelnebel/csharp/extractionlogging
...
C#: Report more timing metrics to the console logger.
2025-11-17 10:06:05 +01:00
Tom Hvitved
19ff5c09d2
Rust: Cache inferCertainType
...
Ideally, this shouldn't be needed, as we already cache `inferType`. However, since we
have consistency checks that directly call `inferCertainType`, we need to cache it
as well to avoid recomputation.
2025-11-17 09:30:20 +01:00
Tom Hvitved
e986cca5c1
Merge pull request #20843 from hvitved/rust/access-after-lifetime-speedup
...
Rust: Speedup `AccessAfterLifetime.ql`
2025-11-17 08:40:27 +01:00
eliav
8047450668
javascript: Update property access for `document.defaultView as getAPropertyRead
...
Changed the method for accessing `defaultView` from `getAPropertyReference` to `getAPropertyRead` to improve accuracy in data flow analysis for global variable references.
2025-11-17 01:05:58 +02:00
eliav
bd18e862eb
javascript: add change note
2025-11-17 01:02:21 +02:00
eliav
30cc91421d
javascript: Add support for document.defaultView in global variable references
...
Updated the data flow analysis to include `document.defaultView` as a source node for global variable references. Added a new test file `tst4.js` and updated existing tests to verify the inclusion of `defaultView` and its properties in the expected results.
2025-11-17 00:52:06 +02:00
Tom Hvitved
8455663255
Rust: Speedup AccessAfterLifetime.ql
2025-11-15 15:21:03 +01:00
Owen Mansel-Chan
fabcd044d6
Merge pull request #20838 from owen-mc/go/fix/dataset-check-errors-sourcefile
...
Go: fix dataset check errors
2025-11-14 21:04:24 +00:00
aegilops
0c0fbc1457
Fixed sensitive logging barriers for substring to allow single-arg use
2025-11-14 18:12:05 +00:00
aegilops
fa703e3e60
Test cases for sensitive logging sanitizer
2025-11-14 16:53:46 +00:00
Paolo Tranquilli
68a03585da
Merge pull request #20811 from github/redsun82/update-rules_java
...
Javascript: fix errors from upcoming `rules_java` update
2025-11-14 16:44:47 +01:00
Jeroen Ketema
0f2e29c90e
Merge pull request #20816 from paldepind/cpp/range-analysis-perf-fix
...
C++: Range analysis performance fix
2025-11-14 16:15:04 +01:00
Anders Schack-Mulligen
1c93710ed3
Merge pull request #20826 from aschackmull/guards/disjunctive-implication
...
Guards: Support disjunctive implications.
2025-11-14 15:44:45 +01:00
Simon Friis Vindum
792ac7a772
C++: Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-14 12:59:41 +01:00
Paolo Tranquilli
da12d73f25
Merge branch 'main' into redsun82/update-rules_java
2025-11-14 12:35:09 +01:00
Simon Friis Vindum
1dd78e2f4b
C++: Add change note
2025-11-14 12:26:24 +01:00
Simon Friis Vindum
5da73f3232
C++: Make sure that nrOfBoundsNEPhi is functional
2025-11-14 12:26:23 +01:00
Simon Friis Vindum
74b433ef59
C++: Add range analysis tests
2025-11-14 12:26:22 +01:00
Simon Friis Vindum
69e70d7cbc
Reapply "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
...
This reverts commit e7c029ae7d .
2025-11-14 12:26:21 +01:00
Idriss Riouak
96f57b207d
Merge pull request #20615 from github/idrissrio/java-jdk
...
Java: Add test for multi-module projects with different Java versions
2025-11-14 12:18:19 +01:00
Anders Schack-Mulligen
4867306b5e
C#: Add change note.
2025-11-14 11:44:27 +01:00
Anders Schack-Mulligen
dc029e8da9
C#: Accept qltest weirdness.
2025-11-14 11:38:13 +01:00
Owen Mansel-Chan
59ac2d3d3e
Move TransformPath into FileLabelFor
...
This way we don't have to remember to transform it at all call sites.
2025-11-14 10:25:40 +00:00
Tom Hvitved
8668473916
Merge pull request #20683 from hvitved/rust/type-inference-arg-target-typed
...
Rust: Restrict type propagation into arguments
2025-11-14 10:46:04 +01:00
Tom Hvitved
4c7f9c0144
Rust: Rename ContextType -> UnknownType
2025-11-14 10:16:21 +01:00
Owen Mansel-Chan
4005a6e2de
Merge pull request #20835 from github/dependabot/go_modules/go/extractor/extractor-dependencies-d13c81f2db
...
Bump golang.org/x/tools from 0.38.0 to 0.39.0 in /go/extractor in the extractor-dependencies group
2025-11-14 09:09:18 +00:00
Tom Hvitved
337e161aa3
Merge pull request #20834 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-11-14 09:57:56 +01:00
Idriss Riouak
d916ebdc24
Java: Address review comments. Improve Change note
...
Co-authored-by: Chris Smowton <smowton@github.com >
2025-11-14 09:53:09 +01:00
Tom Hvitved
79bdf897d7
Rust: Context typing for constructors
2025-11-14 09:45:03 +01:00
Tom Hvitved
c16b42119d
Rust: More type inference tests
2025-11-14 09:45:02 +01:00
Tom Hvitved
e69ff0d5e8
Rust: Restrict type propagation into arguments
2025-11-14 09:44:58 +01:00
Tom Hvitved
72b7dd8955
Rust: Add more type inference tests
2025-11-14 09:41:30 +01:00
dependabot[bot]
acfca601bc
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.38.0 to 0.39.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.38.0...v0.39.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.39.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-14 03:08:48 +00:00
Tom Hvitved
f926a076b8
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate TypeMention::NonAliasPathTypeMention.getTypeMentionForTypeParameter/1#f0c507c8@d7d71dnu with tuple counts:
12496 ~2% {3} r1 = SCAN `TypeMention::NonAliasPathTypeMention.getAnAssocTypeArgument/1#c61d1deb` OUTPUT In.2, In.0, In.1
12421 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
12421 ~0% {3} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
12421 ~0% {3} | JOIN WITH cached_Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
12421 ~0% {3} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
1 ~0% {2} r2 = SCAN `Stdlib::FnOnceTrait.getTypeParam/0#dispred#93f20bbc` OUTPUT In.1, In.0
1 ~0% {2} | JOIN WITH cached_Type::TTypeParamTypeParameter#868c69a5 ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1 ~0% {2} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0
3216 ~0% {2} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3216 ~0% {3} | JOIN WITH `Path::Generated::Path.getSegment/0#dispred#1c7ef50f` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
3201 ~0% {3} | JOIN WITH `PathSegment::Generated::PathSegment.getParenthesizedArgList/0#dispred#cd573956` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
3201 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
1 ~0% {2} r3 = SCAN `Stdlib::FnOnceTrait.getOutputType/0#0d2e9ef1` OUTPUT In.1, In.0
1 ~0% {2} | JOIN WITH cached_Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1 ~0% {2} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0
3216 ~3% {2} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3216 ~0% {3} | JOIN WITH `Path::Generated::Path.getSegment/0#dispred#1c7ef50f` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
2958 ~0% {3} | JOIN WITH `PathSegment::Generated::PathSegment.getRetType/0#dispred#9d400241` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
2958 ~0% {3} | JOIN WITH `RetTypeRepr::Generated::RetTypeRepr.getTypeRepr/0#dispred#fd85a980` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
2944 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
54186 ~3% {2} r4 = JOIN `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521_10#join_rhs` WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.1, Lhs.0
1446369 ~12% {3} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
36945 ~0% {3} | JOIN WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
377232832 ~1% {4} | JOIN WITH `Name::Generated::Name.getText/0#dispred#107a5a39_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0
370815806 ~5% {4} | JOIN WITH `TypeAlias::Generated::TypeAlias.getName/0#dispred#bf886045_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
1490317 ~0% {4} | JOIN WITH cached_Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
1490317 ~0% {4} | JOIN WITH `Type::AssociatedTypeTypeParameter.getTrait/0#dispred#41eb3020` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1, Lhs.3
36413 ~1% {4} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e ON FIRST 2 OUTPUT Lhs.1, Lhs.3, Lhs.2, Lhs.0
36413 ~1% {3} | JOIN WITH `PathResolution::ImplOrTraitItemNode.getAssocItem/1#f77bb9ed` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.3
36413 ~0% {3} | JOIN WITH cached_Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
36413 ~0% {3} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.2, Lhs.0, Lhs.1
54979 ~3% {3} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
After
```
Evaluated relational algebra for predicate TypeMention::NonAliasPathTypeMention.getTypeMentionForTypeParameter/1#f0c507c8@a37ac19m with tuple counts:
12496 ~2% {3} r1 = SCAN `TypeMention::NonAliasPathTypeMention.getAnAssocTypeArgument/1#c61d1deb` OUTPUT In.2, In.0, In.1
12421 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
12421 ~0% {3} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
12421 ~0% {3} | JOIN WITH Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
12421 ~0% {3} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2
1 ~0% {2} r2 = SCAN `Stdlib::FnOnceTrait.getTypeParam/0#dispred#93f20bbc` OUTPUT In.1, In.0
1 ~0% {2} | JOIN WITH Type::TTypeParamTypeParameter#868c69a5 ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1 ~0% {2} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0
3216 ~0% {2} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3216 ~0% {3} | JOIN WITH `Path::Generated::Path.getSegment/0#dispred#1c7ef50f` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
3201 ~0% {3} | JOIN WITH `PathSegment::Generated::PathSegment.getParenthesizedArgList/0#dispred#cd573956` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
3201 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
1 ~0% {2} r3 = SCAN `Stdlib::FnOnceTrait.getOutputType/0#0d2e9ef1` OUTPUT In.1, In.0
1 ~0% {2} | JOIN WITH Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1 ~0% {2} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.1, Lhs.0
3216 ~3% {2} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3216 ~0% {3} | JOIN WITH `Path::Generated::Path.getSegment/0#dispred#1c7ef50f` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
2958 ~0% {3} | JOIN WITH `PathSegment::Generated::PathSegment.getRetType/0#dispred#9d400241` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
2958 ~0% {3} | JOIN WITH `RetTypeRepr::Generated::RetTypeRepr.getTypeRepr/0#dispred#fd85a980` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
2944 ~0% {3} | JOIN WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0
54186 ~3% {2} r4 = JOIN `TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521_10#join_rhs` WITH TypeMention::TypeMention#3ab935d1 ON FIRST 1 OUTPUT Lhs.1, Lhs.0
1446369 ~12% {3} | JOIN WITH `PathResolution::ItemNode.getASuccessor/1#8f430f71_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
36945 ~2% {3} | JOIN WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
36398 ~3% {3} | JOIN WITH TypeMention::NonAliasPathTypeMention#9123dc7e ON FIRST 1 OUTPUT Lhs.0, Lhs.2, Lhs.1
36413 ~1% {3} | JOIN WITH `TypeMention::NonAliasPathTypeMention.getResolvedAlias/1#c48b878e` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.0
36413 ~0% {3} | JOIN WITH Type::TAssociatedTypeTypeParameter#14a276f6 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
36413 ~0% {3} | JOIN WITH Type::TypeParameter#f85657da ON FIRST 1 OUTPUT Lhs.2, Lhs.0, Lhs.1
54979 ~3% {3} r5 = r1 UNION r2 UNION r3 UNION r4
return r5
```
2025-11-13 21:31:32 +01:00
Tom Hvitved
caccee9990
Merge pull request #20833 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-11-13 19:11:27 +01:00
Geoffrey White
e0f0305ace
Rust: Add test cases for rust/access-invalid-pointer based on real world FPs.
2025-11-13 16:07:22 +00:00
Kristen Newbury
7b8a3d044e
Update javascript/ql/lib/semmle/javascript/frameworks/React.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-13 15:38:41 +01:00
Kristen Newbury
ee60f8e6c6
Update javascript/ql/lib/semmle/javascript/frameworks/React.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-11-13 15:38:41 +01:00
Kristen Newbury
7f8ccb7d46
Simplify addition
2025-11-13 15:38:41 +01:00
Kristen Newbury
dd6db16550
Add DomValueSource for react useRef output (object's prop named current)
2025-11-13 15:38:41 +01:00
Kristen Newbury
9534188f1f
Add react precallgraphstep useRef
2025-11-13 15:38:41 +01:00
Tom Hvitved
1b6b1e56ed
Rust: Fix bad join
...
Before
```
Pipeline standard for ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18@7580bdbj was evaluated in 205 iterations totaling 49106ms (delta sizes total: 1254645).
8014745124 ~4% {1} r1 = AstNodeImpl::Impl::AstNode#22e758cf AND NOT `ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18#prev`(FIRST 1)
822416474 ~0% {2} | JOIN WITH `ElementImpl::Impl::MacroExpansion::getImmediatelyEnclosingMacroInvocation/1#1eb32ecc` ON FIRST 1 OUTPUT Rhs.1, Lhs.0
1254645 ~0% {1} | JOIN WITH `ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18#prev_delta` ON FIRST 1 OUTPUT Lhs.1
return r1
```
After
```
Pipeline standard for ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18@f39b84ka was evaluated in 205 iterations totaling 138ms (delta sizes total: 1254645).
4675568 ~0% {1} r1 = JOIN `ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18#prev_delta` WITH `ElementImpl::Impl::MacroExpansion::getImmediatelyEnclosingMacroInvocation/1#1eb32ecc_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
4672186 ~0% {1} | JOIN WITH AstNodeImpl::Impl::AstNode#22e758cf ON FIRST 1 OUTPUT Lhs.0
1254645 ~0% {1} | AND NOT `ElementImpl::Impl::MacroExpansion::isFromMacroExpansion/1#69965d18#prev`(FIRST 1)
return r1
```
2025-11-13 15:26:01 +01:00
Anders Schack-Mulligen
a28a718409
Merge pull request #20814 from aschackmull/guards/wrapper-perf
...
Guards: Improve join-order for wrapper guards
2025-11-13 13:16:13 +01:00
Anders Schack-Mulligen
b31dfdd5f4
Guards: Add elaborating comment.
2025-11-13 13:09:44 +01:00
Tom Hvitved
bfa35629ac
Merge pull request #20744 from hvitved/rust/path-resolution-unqualified-use-tree
...
Rust: Handle unqualified `UseTree`s in path resolution
2025-11-13 11:18:41 +01:00
Owen Mansel-Chan
f22429de2d
Merge branch 'main' into java-mad-test
2025-11-13 10:06:14 +00:00
Tom Hvitved
c6164b33e5
Address review comment
2025-11-13 10:47:04 +01:00
Geoffrey White
e43000f7cf
Rust: Correct ordering in query suite .expected lists.
2025-11-13 09:21:04 +00:00
Geoffrey White
12cbb64ef8
Rust: Add query to suite .expected lists.
2025-11-13 09:00:56 +00:00
Geoffrey White
15fa99a288
Rust: Clarify some confusing text in the .qhelp.
2025-11-13 09:00:46 +00:00
Geoffrey White
42aca4a171
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-11-13 08:51:41 +00:00
Asger F
c7341f295d
JS: Fix bad join in BarrierGuards.qll
2025-11-13 09:46:27 +01:00
Asger F
578355ac27
JS: Fix bad join in CallGraphs.qll
2025-11-13 09:46:25 +01:00
Asger F
ecfa94600f
Sync ApiGraphModels.qll
2025-11-13 09:46:23 +01:00
Asger F
16e7dc1b8a
Sync ApiGraphModelsExtensions.qll
2025-11-13 09:46:21 +01:00
Asger F
46b1387846
JS: Make isAssignedInUniqueFile global, as it should be
2025-11-13 09:46:20 +01:00
Asger F
6498cd1b07
JS: Remove obsolete overlay[global] annotations
2025-11-13 09:46:18 +01:00
Asger F
0594f84dfc
JS: Improve join orders related to getABooleanValue()
2025-11-13 09:46:16 +01:00
Asger F
4645f327a5
JS: Avoid more bad joins due to locality
2025-11-13 09:46:14 +01:00
Asger F
269489e817
JS: Avoid bad join in shared predicate induced by 'forex'.
...
Use manual recursion instead.
2025-11-13 09:46:12 +01:00
Asger F
5dd87e379b
JS: Add overlay[local] to restore magic in unwrap() predicate
...
In this case we actually want magic to apply, but was prevented by locality.
2025-11-13 09:46:10 +01:00
Asger F
ac3913e7db
JS: Fix bad join in DuplicateProperty.ql
2025-11-13 09:46:08 +01:00
Asger F
e72232fd1d
JS: Add more overlay[caller?] annotations
2025-11-13 09:46:06 +01:00
Asger F
66febb263d
JS: Add some overlay[caller] and a pragma[nomagic] annotations
2025-11-13 09:46:05 +01:00
Taus
889209719b
JS: Overlay annotations for some failing tests
...
Locally these seem to get rid of the compilation warnings, but of course
CI is the true arbiter here.
2025-11-13 09:46:03 +01:00
Asger F
c09563f775
JS: Make more general-purpose data flow things local
2025-11-13 09:46:01 +01:00
Asger F
b1418e1d70
JS: Add overlay[local?] to new summaries after rebasing
2025-11-13 09:46:00 +01:00
Asger F
2b338fc1d9
JS: Fix getRawEnclosingStmt call
2025-11-13 09:45:58 +01:00
Asger F
23e42c89ee
JS: Overlay annotations for AST layer
2025-11-13 09:45:56 +01:00
idrissrio
e6d4e515b0
Java: Add change note for Maven Java version auto-detection
2025-11-13 09:41:32 +01:00
Geoffrey White
0675a29ae6
Rust: Minor corrections.
2025-11-12 19:26:45 +00:00
Tom Hvitved
467bd541d2
Merge pull request #20770 from hvitved/rust/attribute-macro-expansion-filter
...
Rust: Remove elements superseded by attribute macro expansions
2025-11-12 19:52:09 +01:00
Geoffrey White
7a62642ed7
Rust: Change note.
2025-11-12 18:17:12 +00:00
Geoffrey White
49063ac8a9
Rust: Cut down the example for readability.
2025-11-12 18:13:02 +00:00
Geoffrey White
dcae0ef975
Rust: I prefer the original certificates reference from the Go .qhelp.
2025-11-12 18:10:44 +00:00
Geoffrey White
87d66c69a3
Rust: Clean up the .qhelp a little.
2025-11-12 18:10:02 +00:00
Geoffrey White
bb78fdf150
Rust: Add qhelp and examples (translated from Go, by Copilot).
2025-11-12 16:50:50 +00:00
Geoffrey White
c77eef39e2
Rust: Convert the query to a path-problem with global data flow.
2025-11-12 16:21:46 +00:00
Geoffrey White
209f394b5e
Rust: Fix the alert message.
2025-11-12 15:51:03 +00:00
Geoffrey White
f8ef48b924
Rust: Add query test.
2025-11-12 15:44:15 +00:00
Owen Mansel-Chan
7b533db4fb
Sort models and tests alphabetically
2025-11-12 15:10:29 +00:00
Owen Mansel-Chan
f598027cbd
Apply suggestions from code review
2025-11-12 15:02:42 +00:00
Nick Rolfe
86465b36e0
Merge pull request #20623 from github/nickrolfe/go-extractor-overlay
...
Go: basic overlay support
2025-11-12 14:56:25 +00:00
Geoffrey White
9598772477
Update rust/ql/examples/snippets/simple_constant_password.ql
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-11-12 14:37:45 +00:00
Michael Nebel
085d3c85cd
Merge pull request #20425 from michaelnebel/csharp/basicextractoroverlay
...
C#: Overlay extraction support.
2025-11-12 15:25:57 +01:00
Anders Schack-Mulligen
d6800394fa
Guards: Support disjunctive implications.
2025-11-12 14:14:32 +01:00
Anders Schack-Mulligen
2192d75286
Java: Add test for a known FP.
2025-11-12 14:08:18 +01:00
Owen Mansel-Chan
54ff206fde
Merge pull request #20822 from github/dependabot/go_modules/go/extractor/extractor-dependencies-b217d21568
...
Bump golang.org/x/mod from 0.29.0 to 0.30.0 in /go/extractor in the extractor-dependencies group
2025-11-12 09:27:06 +00:00
Paolo Tranquilli
7c31cf17d8
Merge pull request #20815 from github/update-ripunzip
...
Update ripunzip binaries to version v2.0.3
2025-11-12 10:25:59 +01:00
Anders Schack-Mulligen
4a58a0158a
Java: Reinstate useless null check results for fields that are no longer tracked as SSA variables.
2025-11-12 09:06:22 +01:00
Anders Schack-Mulligen
437ca58e3f
Java: Add change note.
2025-11-12 09:06:22 +01:00
Anders Schack-Mulligen
109a5eb7e7
Java: Accept qltest changes due to dropped UntrackedDef.
2025-11-12 09:06:21 +01:00
Anders Schack-Mulligen
e059ded133
Java: Accept toString changes in qltest.
2025-11-12 09:06:21 +01:00
Anders Schack-Mulligen
95ac61df42
Java: Drop caching of deprecated predicates.
2025-11-12 09:06:20 +01:00
Anders Schack-Mulligen
5849d85f1f
Java: Deprecate two more SSA classes.
2025-11-12 09:06:20 +01:00
Anders Schack-Mulligen
ee5d65eba1
Java: Update toString for implicit writes.
2025-11-12 09:06:19 +01:00
Anders Schack-Mulligen
f0bd0346f0
Java: Replace usages of SsaVariable.
2025-11-12 09:06:19 +01:00
Anders Schack-Mulligen
8594ae03df
Java: Replace remaining SsaImplicitInit.
2025-11-12 09:06:19 +01:00
Anders Schack-Mulligen
f4b9efcdce
Java: Replace getAUse with getARead.
2025-11-12 09:06:18 +01:00
Anders Schack-Mulligen
35caede859
Java: Replace SsaPhiNode with SsaPhiDefinition.
2025-11-12 09:06:18 +01:00
Anders Schack-Mulligen
3e43c53b9d
Java: Update some qldoc deprecation notices.
2025-11-12 09:06:17 +01:00
Anders Schack-Mulligen
06df5c0bd1
Java: Introduce SsaCapturedDefinition and replace uses of getAnUltimateDefinition.
2025-11-12 09:06:17 +01:00
Anders Schack-Mulligen
483b2d89a7
Java: Replace uses of SsaExplicitUpdate.
2025-11-12 09:06:16 +01:00
Anders Schack-Mulligen
07e635636c
Java: Replace getAFirstUse with top-level predicate.
2025-11-12 09:06:16 +01:00
Anders Schack-Mulligen
99aa0333cf
Java: Replace usages of isParameterDefinition.
2025-11-12 09:06:15 +01:00
Anders Schack-Mulligen
154f0770de
Java: Simplify instantiation of Guards and ControlFlowReachability.
2025-11-12 09:06:15 +01:00
Anders Schack-Mulligen
d5708fdd4e
Java: Instantiate shared SSA wrappers for main SSA.
2025-11-12 09:06:14 +01:00
Anders Schack-Mulligen
942dc2b89e
Java: Replace BaseSSA class wrappers with shared code.
2025-11-12 09:06:14 +01:00
Anders Schack-Mulligen
551944bacb
Java: Add VariableWrite class.
2025-11-12 09:06:13 +01:00
Anders Schack-Mulligen
289d3374ef
SSA: Improve toString.
2025-11-12 09:06:13 +01:00
Anders Schack-Mulligen
79b2f21b07
SSA: Fix phi defs.
2025-11-12 09:06:12 +01:00
Anders Schack-Mulligen
374c77213f
Java: Remove getAFirstUse in BaseSSA.
2025-11-12 09:06:12 +01:00
Anders Schack-Mulligen
f2181ece4f
Java: Get rid of untracked SSA definitions.
2025-11-12 09:06:11 +01:00
Anders Schack-Mulligen
c4f0868844
Java: Move SSA entry defs to index -1.
2025-11-12 09:06:11 +01:00
idrissrio
3b7f2f4eda
Java: Add LGTM_INDEX_ MAVEN_TOLLCHAINS_FILE for new Maven integration tests
2025-11-12 08:39:40 +01:00
idrissrio
a82b5e7aa1
Java: Add test for selecting the highest compiler release in a pom
2025-11-12 08:39:39 +01:00
idrissrio
7dab2bef69
Java: Add test for Java 16 target when only Java 17+ is available
2025-11-12 08:39:37 +01:00
idrissrio
fcc54c1470
Java: Add test for detecting --add-exports in poms
2025-11-12 08:39:36 +01:00
idrissrio
5247c88da1
Java: Add test for pom targeting Java 8 but rquiring Java 11
2025-11-12 08:39:35 +01:00
idrissrio
6b890eaf94
Java: Add test for multi-module projects with different Java versions
2025-11-12 08:39:34 +01:00
dependabot[bot]
c88952423e
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.29.0 to 0.30.0
- [Commits](https://github.com/golang/mod/compare/v0.29.0...v0.30.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.30.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-11-12 03:08:31 +00:00
Paolo Tranquilli
3483007b2a
Ripunzip: use new archives
2025-11-11 17:44:12 +01:00
Geoffrey White
f6b7aeaaca
Rust: Add prototype query.
2025-11-11 16:01:10 +00:00
Nick Rolfe
e5ba4143ff
Go: add change-note for path transformer fixes
2025-11-11 15:47:53 +00:00
github-actions[bot]
d5734af555
Update ripunzip binaries to version v2.0.3
2025-11-11 13:40:02 +00:00
Paolo Tranquilli
0419667460
Merge pull request #20802 from github/redsun82/ripunzip
...
CI: make `build-ripunzip.yml` auto-create update PR
2025-11-11 14:34:39 +01:00
Michael B. Gale
f1076b9eb1
Merge pull request #20813 from github/post-release-prep/codeql-cli-2.23.5
...
Post-release preparation for codeql-cli-2.23.5
2025-11-11 13:13:14 +00:00
Henry Mercer
d3dc7908f8
Merge branch 'main' into post-release-prep/codeql-cli-2.23.5
2025-11-11 12:55:58 +00:00
Anders Schack-Mulligen
62e28d2dcf
Guards: Simplify non-linear join.
2025-11-11 13:34:47 +01:00
github-actions[bot]
466a6f330a
Post-release preparation for codeql-cli-2.23.5
2025-11-11 12:21:57 +00:00
Anders Schack-Mulligen
3c7522ca7d
Guards: Replace recursion through universal quantification with rank-iteration.
2025-11-11 13:03:05 +01:00
Paolo Tranquilli
e2671da05f
Fix build-ripunzip.yml archive step on macos
2025-11-11 13:01:39 +01:00
Anders Schack-Mulligen
a5279ec420
Guards: Rank return expressions.
2025-11-11 12:52:07 +01:00
Paolo Tranquilli
104f0e3a02
Fix build-ripunzip.yml archive step on windows
2025-11-11 12:51:30 +01:00
Michael B. Gale
e5fa4a6dca
Merge pull request #20812 from github/release-prep/2.23.5
...
Release preparation for version 2.23.5
2025-11-11 11:46:37 +00:00
Paolo Tranquilli
99baf98897
Fix build-ripunzip.yml
2025-11-11 12:46:28 +01:00
Anders Schack-Mulligen
0a4406dec9
Guards: Push forex-range constraint in.
2025-11-11 12:45:46 +01:00
Paolo Tranquilli
82435218dc
Javascript: fix compilation error after scripted replacement
2025-11-11 12:44:33 +01:00
Paolo Tranquilli
9d51932124
Merge branch 'main' into redsun82/update-rules_java
2025-11-11 12:43:05 +01:00
Michael B. Gale
b4fed5bf58
Revert C++ range analysis change note
2025-11-11 11:38:54 +00:00
Michael B. Gale
ac9a29701e
C#: Minor changelog improvements
2025-11-11 11:38:20 +00:00
Napalys Klicius
d122534398
Merge pull request #20671 from github/napalys/adjust_query_severity
...
Adjust query severity ratings
2025-11-11 12:37:31 +01:00
github-actions[bot]
e4f25c9a13
Release preparation for version 2.23.5
2025-11-11 11:33:33 +00:00
Paolo Tranquilli
ff62c65cdf
Javascript: avoid null pointer exception on boolean values
2025-11-11 12:11:49 +01:00
Paolo Tranquilli
47f2617b4d
Use other compression method for ripunzip
2025-11-11 12:07:19 +01:00
Paolo Tranquilli
295744eb36
Set permissions
2025-11-11 12:00:30 +01:00
Paolo Tranquilli
29a2f96cc7
Merge branch 'main' into redsun82/ripunzip
2025-11-11 11:57:29 +01:00
Paolo Tranquilli
6ef314ed03
Javascript: fix errors from upcoming rules_java update
2025-11-11 11:53:07 +01:00
Paolo Tranquilli
8d6a45008a
Bazel: update to 8.4.2
2025-11-11 11:42:58 +01:00
Geoffrey White
109abddc36
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-11-11 09:32:14 +00:00
Geoffrey White
8624f9c660
Merge pull request #20749 from github/copilot/add-secure-cookie-test-cases
...
Add test coverage for actix-web, poem, and http-types cookie secure attribute
2025-11-11 09:26:26 +00:00
Michael B. Gale
5b1e651803
Merge pull request #20803 from github/revert-20778-release-prep/2.23.4
...
Revert "Release preparation for version 2.23.4"
2025-11-11 00:06:17 +00:00
Michael B. Gale
8ba29a7821
Revert "Release preparation for version 2.23.4"
2025-11-10 17:13:28 +00:00
Joe Farebrother
eda23902ba
Merge pull request #20692 from joefarebrother/csharp-secure-cookie-promote
...
C#: Promote insecure cookie and httponly cookie queries
2025-11-10 15:02:45 +00:00
Paolo Tranquilli
02e696d9cc
Update .github/workflows/build-ripunzip.yml
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-10 15:58:43 +01:00
Michael Nebel
0541dccc78
C#: Add discarding for ASP elements.
2025-11-10 15:44:17 +01:00
Michael Nebel
3492811cda
C#: Add XML overlay tests.
2025-11-10 15:38:29 +01:00
Michael Nebel
d6b7424e2c
C#: Add the same strategy in as in Java for XML element discarding.
2025-11-10 15:38:26 +01:00
Joe Farebrother
c9a559a6d8
Restrict Append calls to string arguments
2025-11-10 14:14:06 +00:00
Joe Farebrother
b813c13462
Restrict sinks to fix performance
2025-11-10 14:14:01 +00:00
Joe Farebrother
7d5388fb68
Update integration tests
2025-11-10 14:13:56 +00:00
Joe Farebrother
544446bb81
Minor comment update
2025-11-10 14:13:51 +00:00
Joe Farebrother
0a085dccbe
Fix qhelp
2025-11-10 14:13:46 +00:00
Joe Farebrother
d29fc9d2d0
Add changenote
2025-11-10 14:13:41 +00:00
Joe Farebrother
d8eeae781b
Add additional test case for httponly cookies set to true
2025-11-10 14:13:36 +00:00
Paolo Tranquilli
a6fda6ba73
CI: make build-ripunzip.yml auto-create update PR
2025-11-10 15:13:35 +01:00
Joe Farebrother
c734e74c76
Update qhelp
2025-11-10 14:13:31 +00:00
Joe Farebrother
cdd1edd53b
Remove experimental versions
2025-11-10 14:13:26 +00:00
Joe Farebrother
6ba7ece2f0
Add httponly tests for aspnet core + fixes
2025-11-10 14:13:19 +00:00
Joe Farebrother
ae0b997c31
Add system.web tests for httponly cookie
2025-11-10 14:13:14 +00:00
Joe Farebrother
a9b97f7065
Add tests for insecure cookie using system.web
2025-11-10 14:13:09 +00:00
Joe Farebrother
bb010fee6b
Add tests for secure cookie using aspnetcore
2025-11-10 14:13:04 +00:00
Joe Farebrother
3cdfa8e0ac
Update comments and names
2025-11-10 14:12:57 +00:00
Joe Farebrother
a87a03cfa8
Move to main query pack
2025-11-10 14:12:48 +00:00
Joe Farebrother
71ad5a340f
Refactor httponly cookie query
2025-11-10 14:12:43 +00:00
Joe Farebrother
a1864edcb6
Presere behaviour for insecure cookie constructor
2025-11-10 14:12:36 +00:00
Joe Farebrother
d3ea6758c3
Simplify checks for assignments to false to creation case
2025-11-10 14:12:30 +00:00
Joe Farebrother
7bb65fef1b
Refactor secure cookie query
2025-11-10 14:12:24 +00:00
Mathias Vorreiter Pedersen
fd8bf990f6
Merge pull request #20783 from MathiasVP/fix-cp-in-external-flow
...
C++: Fix cartesian-like join in `ExternalFlow.qll`
2025-11-10 13:40:34 +00:00
Michael Nebel
c44b74740e
C#: Minor code quality improvements.
2025-11-10 14:23:59 +01:00
Michael Nebel
0a16cf68de
C#: Do not require that comments and type locations are in source in test.
2025-11-10 13:53:41 +01:00
Geoffrey White
4b212239e1
Rust: Remove unnecessary .(BlockExpr).
2025-11-10 12:35:39 +00:00
Michael Nebel
43118ecccc
C#: The extraction of the TypeMentions for return type and explicit interface return type for methods have changed order.
2025-11-10 13:26:07 +01:00
Michael Nebel
ded1328103
C#: Do not extract comments when scaffolding.
2025-11-10 13:26:05 +01:00
Tom Hvitved
de367eaad6
Update rust/ql/lib/codeql/rust/elements/internal/ElementImpl.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-10 12:42:28 +01:00
Mathias Vorreiter Pedersen
7b052e2404
Merge branch 'main' into fix-cp-in-external-flow
2025-11-10 10:44:31 +00:00
Mathias Vorreiter Pedersen
29a294f8d0
C++: Bind the columns inside the predicate instead of relying on 'bindingset's. The repeated inlining caused by 'bindiingset's created some #shared predicates with repeated regex matching.
2025-11-10 10:21:12 +00:00
Mathias Vorreiter Pedersen
267a7f5229
Merge pull request #20779 from MathiasVP/fix-bad-magic
...
C++: Fix bad magic in `IRGuards`
2025-11-10 10:05:18 +00:00
Jeroen Ketema
eb3e86480f
Merge pull request #20784 from jketema/qual-fail
...
C++: Fix named qualifier dataset check error with decltypes
2025-11-10 10:36:47 +01:00
Paolo Tranquilli
3de598ef79
Merge pull request #20800 from github/redsun82/remove-macos-13
...
CI: update images in `build-ripunzip.yml`
2025-11-10 10:16:14 +01:00
Jeroen Ketema
0bf415acdf
C++: Add upgrade and downgrade scripts
2025-11-10 10:11:05 +01:00
Jeroen Ketema
b660625429
C++: Update dbscheme to address dataset check error
2025-11-10 10:11:04 +01:00
Jeroen Ketema
a3f26fd6bb
C++: Update expected test results after QL changes
2025-11-10 10:11:03 +01:00
Jeroen Ketema
f9554e1542
C++: Give proper getNames to more types and fix QLdoc
2025-11-10 10:11:01 +01:00
Paolo Tranquilli
7fb0e212b2
Make default refs valid on PR checks
...
Set default versions for ripunzip and openssl in the workflow.
2025-11-10 10:09:16 +01:00
Paolo Tranquilli
2ff4af9ede
Update default versions in build-ripunzip.yml
2025-11-10 09:56:52 +01:00
Paolo Tranquilli
cd3b29f249
Update OS versions in ripunzip workflow
2025-11-10 09:54:10 +01:00
Paolo Tranquilli
63a2088ae0
Add pull_request trigger for ripunzip workflow
2025-11-10 09:53:19 +01:00
Paolo Tranquilli
fe690c90d5
Fix typo in workflow name
2025-11-10 09:52:14 +01:00
Paolo Tranquilli
da966fc799
CI: remove deprecated macos-13 image
2025-11-10 09:50:43 +01:00
Tom Hvitved
c81f5f5190
Rust: Remove elements superseded by attribute macro expansions
2025-11-10 09:18:58 +01:00
Tom Hvitved
74dd515c67
Merge pull request #20790 from hvitved/codegen/raw-child
...
Codegen: Add `Raw::getImmediateChild` and `Synth::getSynthParent`
2025-11-10 09:14:16 +01:00
Tom Hvitved
a8a799c919
Swift: Run codegen
2025-11-09 20:41:26 +01:00
Tom Hvitved
0bf458a56f
Rust: Run codegen
2025-11-09 20:40:13 +01:00
Tom Hvitved
d77b35c5d2
Codegen: Add Raw::getImmediateChild and Synth::getSynthParent
2025-11-09 20:39:38 +01:00
Mathias Vorreiter Pedersen
dfdc2a6a15
C++: Delete an incorrect comment.
2025-11-08 16:45:45 +00:00
Mathias Vorreiter Pedersen
3d6b3a31ac
C++: Also join on the 'namespace'.
2025-11-08 16:45:39 +00:00
Mathias Vorreiter Pedersen
bfe2b7dc44
C++: Use the new predicate to remove a cartesian-like join.
2025-11-08 16:43:43 +00:00
Mathias Vorreiter Pedersen
a922d5099f
C++: Factor out some conjuncts from 'interpretElement0' and into a new predicate.
2025-11-08 16:42:16 +00:00
Mathias Vorreiter Pedersen
74b774eec5
Merge pull request #20769 from MathiasVP/add-more-flow-models
...
C++: Add a few more models
2025-11-08 16:39:29 +00:00
Michael B. Gale
dbadb6f738
Merge pull request #20781 from github/post-release-prep/codeql-cli-2.23.4
...
Post-release preparation for codeql-cli-2.23.4
2025-11-07 19:07:21 +00:00
github-actions[bot]
10ae374a82
Post-release preparation for codeql-cli-2.23.4
2025-11-07 18:18:09 +00:00
Michael B. Gale
714296bcc0
Merge pull request #20778 from github/release-prep/2.23.4
...
Release preparation for version 2.23.4
2025-11-07 17:52:45 +00:00
Michael B. Gale
0cbc9358de
Revert C++ range analysis change note
2025-11-07 17:39:40 +00:00
Michael B. Gale
262bfe0351
C#: Minor changelog improvements
2025-11-07 17:39:10 +00:00
Mathias Vorreiter Pedersen
6a2debba96
C++: Fix bad magic.
2025-11-07 17:38:18 +00:00
github-actions[bot]
6342da9503
Release preparation for version 2.23.4
2025-11-07 17:37:29 +00:00
Michael B. Gale
eb32c32d4c
Merge pull request #20777 from github/revert-20745-release-prep/2.23.4
...
Revert "Release preparation for version 2.23.4"
2025-11-07 17:35:35 +00:00
Mathias Vorreiter Pedersen
56b9566299
C++: Fix mistakes in models of internal strcat and strcpy functions.
2025-11-07 17:29:48 +00:00
Michael B. Gale
9d2206be33
Merge pull request #20775 from github/esteffin/revert-20645-cpp-range-analysis-measure
...
Revert "Merge pull request #20645 from paldepind/cpp/range-analysis-m…
2025-11-07 17:29:15 +00:00
Michael B. Gale
6ce8f07290
Revert "Release preparation for version 2.23.4"
2025-11-07 17:28:28 +00:00
Mathias Vorreiter Pedersen
f163d015d5
C++: Clean up comments.
2025-11-07 17:27:25 +00:00
Geoffrey White
61481b51e7
Rust: Change note.
2025-11-07 16:55:35 +00:00
Nick Rolfe
e32a5ca846
Go: add some overlay-related logging
2025-11-07 16:52:24 +00:00
Nick Rolfe
44654bdef6
Go: avoid overlay-discarding @file entities
...
...since they are shared between base and overlay
2025-11-07 16:52:22 +00:00
Nick Rolfe
734cba7b9c
Go: add discard predicates for XML entities
...
This is adapted from the implementation for Java.
Since the HTML/XML extractor is not (yet) incremental, it will extract
files that were not in the diff. These discard predicates are intended
to cope with that, while also being robust against a future version
where the extractor *is* overlay-aware.
2025-11-07 16:52:21 +00:00
Nick Rolfe
10fa1d650d
Go: be consistent in replacement of backslashes in file labels
2025-11-07 16:52:20 +00:00
Nick Rolfe
e4c9bb3c5c
Go: enable overlay compilation
2025-11-07 16:52:19 +00:00
Nick Rolfe
50e01283da
Go: overlay workaround for cgo-processed files
2025-11-07 16:52:17 +00:00
Nick Rolfe
5aaed8941a
Go: pass source root from autobuilder to extractor
...
This ensures the extractor can resolve the relative paths for files
changed in the overlay.
2025-11-07 16:52:16 +00:00
Nick Rolfe
dd4f27868e
Go: apply path transformer for file TRAP labels
2025-11-07 16:52:15 +00:00
Nick Rolfe
4c009d5bc9
Go: implement overlay discarding for @locatable
2025-11-07 16:52:14 +00:00
Nick Rolfe
aff874e835
Go: merge with incoming path transformer when setting GOPATH
2025-11-07 16:52:12 +00:00
Nick Rolfe
99236f7877
Go: skip overlay extraction of unchanged go.mod files
2025-11-07 16:52:10 +00:00
Nick Rolfe
604df2125d
Go: implement basic overlay extraction
...
When in overlay mode, extractFile will exit early if the file isn't in
the list of files that changed since the base was extracted.
2025-11-07 16:52:08 +00:00
Nick Rolfe
05e5502680
Go: recognize CODEQL_PATH_TRANSFORMER env var
2025-11-07 16:52:07 +00:00
Nick Rolfe
4a325986e4
Go: add extractor pack field indicating overlay support
2025-11-07 16:52:06 +00:00
Nick Rolfe
c91e5618a4
Go: add dbscheme relations for overlay support
2025-11-07 16:52:05 +00:00
Enrico Steffinlongo
e7c029ae7d
Revert "Merge pull request #20645 from paldepind/cpp/range-analysis-measure"
...
This reverts commit a0a6f288b5 , reversing
changes made to 32f21d6d49 .
2025-11-07 16:49:47 +00:00
Michael Nebel
9d300e3ad3
C#: Address comments in the QL implementation.
2025-11-07 15:52:37 +01:00
Michael Nebel
1657dfb551
C#: Remove expression population safeguard and guard creation of constructor initializer expressions.
2025-11-07 15:26:07 +01:00
Michael Nebel
7c670cdc3f
C#: Address review comments and make more early returns in Populate.
2025-11-07 14:50:20 +01:00
Geoffrey White
7e3ab99d6b
Rust: Add much more detailed code comments, since these are examples.
2025-11-07 13:48:03 +00:00
Geoffrey White
7b6e06e8de
Rust: Add simple constant password example.
2025-11-07 13:30:53 +00:00
Rasmus Wriedt Larsen
3c20b950a0
Merge pull request #20747 from felickz/patch-4
...
Add 'code-quality-extended' to query packs list
2025-11-07 14:25:54 +01:00
Idriss Riouak
7c2b1a291d
Merge pull request #20760 from github/idrissrio/codeowners-lang-coverage
...
CODEOWNERS: Add code-scanning-language-coverage team to all extractors
2025-11-07 08:44:11 +01:00
Geoffrey White
49aefe2110
Rust: Add simple SQL injection example.
2025-11-06 18:49:55 +00:00
Geoffrey White
6ce0a0d9df
Rust: Add example from the basic-query-for-rust-code.rst.
2025-11-06 17:50:59 +00:00
Geoffrey White
84b50606ed
Rust: Add example queries pack.
2025-11-06 17:33:15 +00:00
Mathias Vorreiter Pedersen
f0da0d98a2
C++: Add a few more models I noticed while here.
2025-11-06 17:00:19 +00:00
Mathias Vorreiter Pedersen
2b6a75f4ad
C++: Accept test changes.
2025-11-06 16:57:11 +00:00
Mathias Vorreiter Pedersen
1d5d272822
C++: Add a few more models.
2025-11-06 16:55:51 +00:00
Mathias Vorreiter Pedersen
0607100310
C++: Add tests with missing flow.
2025-11-06 16:54:54 +00:00
Michael Nebel
446a87713a
C#: Report more timing metrics to the console logger.
2025-11-06 15:17:45 +01:00
Tom Hvitved
000f33fcbf
Merge pull request #20765 from hvitved/rust/variable-if-let-guard
...
Rust: Handle variables introduced in if-let guards
2025-11-06 13:49:38 +01:00
Idriss Riouak
0d76d582b5
CODEOWNERS: Add Go-related folders for extractor and autobuilder
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-11-06 11:12:53 +01:00
Geoffrey White
b4b444de48
Merge pull request #20746 from geoffw0/mv3
...
Rust: Clean up some models
2025-11-06 10:07:43 +00:00
Geoffrey White
680870dbf3
Rust: Fix after merge.
2025-11-06 09:39:51 +00:00
Tom Hvitved
f8cde74eac
Merge pull request #20736 from github/copilot/add-constaccess-class
...
Rust: Add ConstAccess class with getConst() predicate
2025-11-06 10:25:06 +01:00
Geoffrey White
1ce787a185
Merge branch 'main' into mv3
2025-11-06 09:23:01 +00:00
Tom Hvitved
c80301d58a
Rust: Handle variables introduced in if-let guards
2025-11-05 19:46:54 +01:00
Geoffrey White
1e7acc5e1a
Merge branch 'main' into copilot/add-secure-cookie-test-cases
2025-11-05 17:53:02 +00:00
Jeroen Ketema
5eac0f7953
Merge pull request #20759 from jketema/swift-6.2.1
...
Swift: Update to Swift 6.2.1
2025-11-05 16:56:35 +01:00
Geoffrey White
62e77687ca
Rust: Move async_std::io models.
2025-11-05 15:09:39 +00:00
Jeroen Ketema
a79c383fd5
Swift: update load.bzl
2025-11-05 15:46:42 +01:00
Jeroen Ketema
6476f60cd4
Swift: Add change note
2025-11-05 15:44:20 +01:00
Jeroen Ketema
a19f49b2ac
Swift: Update resources
2025-11-05 15:41:00 +01:00
Tom Hvitved
db7b187961
Rust: Add more variables tests
2025-11-05 15:32:24 +01:00
Geoffrey White
e78018769b
Rust: Add the model file (missed on previous commits).
2025-11-05 12:50:26 +00:00
Geoffrey White
6e35cb9748
Rust: Change note.
2025-11-05 11:36:04 +00:00
Geoffrey White
ad24b7414e
Rust: Fix for Poem cookies defaulting secure.
2025-11-05 11:32:30 +00:00
Geoffrey White
99a369228b
Rust: Model poem cookie methods.
2025-11-05 11:14:40 +00:00
Michael Nebel
5ec0494467
Merge pull request #20731 from michaelnebel/csharp/updatedependencies
...
C#: Update extractor package dependencies.
2025-11-05 11:58:48 +01:00
Michael B. Gale
046db0419f
Merge pull request #20758 from github/post-release-prep/codeql-cli-2.23.4
...
Post-release preparation for codeql-cli-2.23.4
2025-11-05 10:45:51 +00:00
Owen Mansel-Chan
85175f6d18
Merge pull request #20714 from owen-mc/java/pretty-print-models-quantum-nonce-reuse
...
Java: Pretty print models in nonce reuse test in experimental/quantum
2025-11-05 09:53:21 +00:00
Anders Schack-Mulligen
02fd1dcccd
Merge pull request #20738 from aschackmull/csharp/guards-misc
...
C#: Misc Guards-related cleanup.
2025-11-05 10:22:07 +01:00
idrissrio
51475df5a9
CODEOWNERS: Add code-scanning-language-coverage team to all extractors
2025-11-05 10:04:16 +01:00
Jeroen Ketema
68cd9ab3ab
Swift: Update to Swift 6.2.1
2025-11-05 09:33:06 +01:00
Jeroen Ketema
5d9d6b9a00
Merge pull request #20757 from jketema/swift-doc-update
...
Swift: Update supported versions in the documentation
2025-11-05 09:27:54 +01:00
Geoffrey White
ff06181e4b
Rust: We actually want barriers on set_secure(false) as well as set_secure(true), to prevent excessive flow paths.
2025-11-04 19:30:35 +00:00
Geoffrey White
5fed5a278e
Rust: It turns out Poem defaults 'secure' to true.
2025-11-04 18:37:20 +00:00
Geoffrey White
7383e4ff23
Rust: Test for another edge cases supported by two of the libraries.
2025-11-04 18:25:02 +00:00
Chad Bentz
aac10c1efb
Merge branch 'main' into patch-4
2025-11-04 13:13:50 -05:00
github-actions[bot]
4014df9a6e
Post-release preparation for codeql-cli-2.23.4
2025-11-04 17:57:52 +00:00
Geoffrey White
21274d3d76
Rust: Add tests of poem CookieConfig.
2025-11-04 15:14:00 +00:00
Geoffrey White
e5933d0c54
Rust: Add test cases with cookie builders.
2025-11-04 15:13:31 +00:00
Jeroen Ketema
a29c9af4a7
Update swift/third_party/resources/updating.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-04 16:00:23 +01:00
Jeroen Ketema
41bf91072d
Swift: Update supported versions in the documentation
...
Also document that we need to update the supported versions, so we don't forget
it next time around.
2025-11-04 15:56:39 +01:00
Anders Schack-Mulligen
7ab25b593d
C#: Change note.
2025-11-04 15:43:49 +01:00
yoff
f6eabc278a
Merge pull request #20722 from github/tausbn/python-move-points-to-predicates-to-legacy-module
...
Python: Move `ControlFlowNode`, `Expr`, and `Module` points-to to legacy module
2025-11-04 15:40:37 +01:00
Geoffrey White
55cf375886
Rust: Add the cookies to jars, indicating that they're ready for use.
2025-11-04 13:10:33 +00:00
Tom Hvitved
50552da4d8
Rust: Handle unqualified UseTrees in path resolution
2025-11-04 13:57:33 +01:00
Michael B. Gale
da1e93eb0c
Merge pull request #20754 from github/mbg/2.23.4/backport-dont-fail-if-no-js
...
Backport: Merge pull request #20752 from asgerf/actions/dont-fail-if-no-js
2025-11-04 12:51:24 +00:00
Geoffrey White
7fe4877ddd
Rust: Update test annotations.
2025-11-04 12:36:56 +00:00
Michael Nebel
d95ebc77ae
C#: Add using directives and type mentions as star entities.
2025-11-04 13:28:29 +01:00
Michael Nebel
504bb9c4a1
C#: Only scaffold assemblies in overlay mode, only extract expressions when not scaffolding and only extract attributes when they are in source code in overlay mode.
2025-11-04 13:28:28 +01:00
Michael Nebel
1d2f1545d6
C#: Add change-note.
2025-11-04 13:28:26 +01:00
Michael Nebel
04d33cbad7
C#: Add discarding for diagnostics and extractor messages.
2025-11-04 13:28:24 +01:00
Michael Nebel
8927b0a350
C#: Simplify the discarding and also discard type mentions and comments.
2025-11-04 13:28:21 +01:00
Michael Nebel
40035d2e82
C#: Add a locatable type to the dbscheme.
2025-11-04 13:28:19 +01:00
Michael Nebel
8a344215b9
C#: Add QL overlay tests.
2025-11-04 13:28:17 +01:00
Michael Nebel
121c1500ca
C#: Define discarding predicates for expressions, statements, locations and some named TRAP entities.
2025-11-04 13:28:14 +01:00
Michael Nebel
76ac2dff26
C#: Write overlay metadata at end of extraction.
2025-11-04 13:28:12 +01:00
Michael Nebel
61f6512c74
C#: Sprinkle uses of OnlyScaffold to extract less when in overlay mode.
2025-11-04 13:28:10 +01:00
Michael Nebel
cab9d81376
C#: Add unit test.
2025-11-04 13:28:07 +01:00
Michael Nebel
aa805580e3
C#: Add functionality to detect overlay mode and integrate in extraction context.
2025-11-04 13:28:05 +01:00
Michael Nebel
9026a5a82a
C#: Turn on overlay support in codeql-extractor.yml.
2025-11-04 13:28:03 +01:00
Michael Nebel
cfb68436f2
C#: Add upgrade- and downgrade scripts.
2025-11-04 13:28:00 +01:00
Michael Nebel
b48ce8dec2
C#: Add overlay builtins to the dbscheme.
2025-11-04 13:27:58 +01:00
Michael Nebel
bcc6234a60
C#: Fix bad join due to overlay compilation.
2025-11-04 13:27:56 +01:00
Michael Nebel
b600255835
C#: Enable overlay compilation in lib/qlpack.yml.
2025-11-04 13:27:53 +01:00
Asger F
6790684767
Merge pull request #20752 from asgerf/actions/dont-fail-if-no-js
...
Actions: don't fail if no JS/TS code was found
2025-11-04 12:19:54 +00:00
Asger F
d297dcd9e9
Merge pull request #20752 from asgerf/actions/dont-fail-if-no-js
...
Actions: don't fail if no JS/TS code was found
2025-11-04 13:12:12 +01:00
Asger F
81bb07a7ba
JS: Fix check to account for override in tests
...
The code was written on the assumption that 'seenCode' implies 'seenFiles' but the unit test override 'hasSeenCode()' to always return true. Which meant we would start taking this branch in the unit tests.
2025-11-04 11:46:02 +01:00
Geoffrey White
077bcf6b92
Merge pull request #20740 from geoffw0/rustbarriers
...
Rust: Add numeric type barriers for three queries
2025-11-04 10:08:46 +00:00
Asger F
105213df03
Update javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-04 09:51:56 +01:00
Asger F
c4d23d16ed
Actions: dont fail if no JS/TS code was found
2025-11-04 09:37:33 +01:00
copilot-swe-agent[bot]
ee3d57ef3c
Update test cases with correct APIs and run CodeQL test
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-11-03 17:38:25 +00:00
copilot-swe-agent[bot]
8f02ab107c
Add test cases for actix-web, poem, and http-types cookie secure attribute
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-11-03 17:16:04 +00:00
copilot-swe-agent[bot]
2497d8c329
Initial plan
2025-11-03 17:11:12 +00:00
Geoffrey White
56e98c45ec
Rust: Accept trivial changes to test .expected files.
2025-11-03 17:08:22 +00:00
Chad Bentz
20e23f89a2
Merge pull request #2 from felickz/copilot/fix-1760475-601388369-59cd8e3d-0895-49ec-9025-a9864c8e5367
...
Fix generate-code-scanning-query-list.py to handle empty code-quality-extended suites
2025-11-03 11:55:55 -05:00
copilot-swe-agent[bot]
0fc25029bb
Revert query file change and fix script to handle empty code-quality-extended suites
...
Co-authored-by: felickz <1760475+felickz@users.noreply.github.com >
2025-11-03 16:46:56 +00:00
copilot-swe-agent[bot]
7b6b703d06
Add quality tag to Actions maintainability query
...
Co-authored-by: felickz <1760475+felickz@users.noreply.github.com >
2025-11-03 16:31:04 +00:00
copilot-swe-agent[bot]
4346c61e97
Initial plan
2025-11-03 16:19:07 +00:00
Chad Bentz
50597685a2
Add 'code-quality-extended' to query packs list
2025-11-03 10:55:36 -05:00
Michael B. Gale
637e12e7a8
Merge pull request #20745 from github/release-prep/2.23.4
...
Release preparation for version 2.23.4
2025-11-03 15:15:25 +00:00
Michael B. Gale
e825a3acf7
C#: Minor changelog improvements
2025-11-03 15:03:46 +00:00
Geoffrey White
687cc6f544
Rust: Re-arrange models slightly.
2025-11-03 14:54:13 +00:00
github-actions[bot]
64fcdd1f2f
Release preparation for version 2.23.4
2025-11-03 14:52:23 +00:00
Geoffrey White
5af83787d8
Rust: Move a few more models.
2025-11-03 13:35:27 +00:00
Geoffrey White
144fa7dd39
Rust: Deduplicate some models.
2025-11-03 13:33:37 +00:00
Geoffrey White
8a2c117a0e
Rust: Move models between core.model.yml and alloc.model.yml.
2025-11-03 13:31:25 +00:00
Geoffrey White
1b435ed07d
Rust: Move another model file into subdirectory.
2025-11-03 13:26:37 +00:00
Geoffrey White
4b3a1c5abb
Rust: Move a model file into subdirectory.
2025-11-03 13:24:28 +00:00
Tom Hvitved
0ca62ca5b6
Fix copilot implementation
2025-11-03 14:15:16 +01:00
Michael Nebel
c1ede51fe8
C#: Add change note.
2025-11-03 12:52:27 +01:00
Geoffrey White
c381153125
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-11-03 09:38:43 +00:00
Tom Hvitved
39dd3acd76
Rust: More path resolution tests
2025-11-03 10:34:50 +01:00
Jeroen Ketema
d354b0c97e
Merge pull request #20732 from jketema/swift-6.2-elements
...
Swift: Support AST elements new in Swift 6.2
2025-10-31 19:33:13 +01:00
aegilops
d1eceee9d4
Fixed format/docs issues
2025-10-31 18:19:27 +00:00
aegilops
26087f6060
Added java-kotlin Sensitive Logging barriers (substrings)
2025-10-31 17:56:04 +00:00
Geoffrey White
8548c167be
Rust: Autoformat.
2025-10-31 17:30:04 +00:00
Geoffrey White
34f75952d0
Rust: Change note.
2025-10-31 16:40:02 +00:00
Geoffrey White
33efed92b8
Rust: Add integral type barrier for Regex injection.
2025-10-31 16:37:10 +00:00
Geoffrey White
2d4369ac6c
Rust: Add numeric type barrier for log injection.
2025-10-31 16:32:32 +00:00
Geoffrey White
52397f0ce0
Rust: Add numeric type barrier for SQL injection.
2025-10-31 16:25:44 +00:00
Geoffrey White
6433bec699
Rust: Add a test for BuiltinTypes.
2025-10-31 16:24:51 +00:00
Geoffrey White
47019f7f24
Rust: Define NumericType, IntegralType and FloatingPointType in Builtins.qll.
2025-10-31 16:24:39 +00:00
Geoffrey White
aaa3b1bcb4
Rust: Add a couple of new test cases.
2025-10-31 16:20:52 +00:00
Ian Lynagh
7ff696bd2d
Merge pull request #20726 from igfoo/igfoo/ClassInstanceStack
...
Kotlin: Avoid infinite recursion when extracting recursive interfaces
2025-10-31 16:18:39 +00:00
Anders Schack-Mulligen
bda6513fc1
Merge pull request #20737 from aschackmull/csharp/deprecate-abstractvalue
...
C#: Deprecate AbstractValue.
2025-10-31 15:20:24 +01:00
Ian Lynagh
06218d8acd
Kotlin: Add a test for recursive interfaces
2025-10-31 13:42:44 +00:00
Ian Lynagh
9182da1d58
Kotlin: Add a test for nested types
2025-10-31 13:42:44 +00:00
Ian Lynagh
1efecc099c
Kotlin: Avoid infinite recursion when extracting recursive interfaces
2025-10-31 13:42:43 +00:00
Anders Schack-Mulligen
fa20075a4d
C#: Review fix and simplification.
2025-10-31 14:41:32 +01:00
Anders Schack-Mulligen
4f6528a9fb
C#: Deprecate AbstractValue.
2025-10-31 14:23:23 +01:00
Anders Schack-Mulligen
eb93e8ed41
C#: Deprecate controlsBlock.
2025-10-31 14:22:11 +01:00
Anders Schack-Mulligen
4de564eb4e
C#: Replace reference to controlsBlock and simplify.
2025-10-31 14:17:35 +01:00
Anders Schack-Mulligen
f6dfcf1ca4
C#: Delete splitting-aware controls implementation.
2025-10-31 14:17:35 +01:00
Anders Schack-Mulligen
ab2c2ef6ae
C#: Update isUnreachableInCall in dataflow to use Guards library.
2025-10-31 14:17:34 +01:00
Anders Schack-Mulligen
e558c0219c
Merge pull request #20734 from aschackmull/csharp/tweak-nullness
...
C#: Allow nullness sources with SSA at entry.
2025-10-31 14:14:43 +01:00
Anders Schack-Mulligen
09378b8499
Merge pull request #20665 from aschackmull/csharp/guards-replace
...
C#: Replace old Guards with the new shared implementation.
2025-10-31 14:12:47 +01:00
copilot-swe-agent[bot]
ad51b61a2b
Fix trailing whitespace in documentation comments
...
Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com >
2025-10-31 13:07:04 +00:00
copilot-swe-agent[bot]
6011ecbef4
Add ConstAccess class with getConst() predicate and test cases
...
Co-authored-by: hvitved <3667920+hvitved@users.noreply.github.com >
2025-10-31 13:01:25 +00:00
copilot-swe-agent[bot]
09bef0f4df
Initial plan
2025-10-31 12:51:08 +00:00
Tom Hvitved
95e60ad4a7
Merge pull request #20705 from hvitved/rust/type-inference-unit
...
Rust: Infer more `()` types
2025-10-31 13:43:10 +01:00
Geoffrey White
d8fff44048
Merge pull request #20712 from geoffw0/macrometric2
...
Rust: Exclude skipped files in rust/diagnostic/database-quality
2025-10-31 11:25:41 +00:00
Jeroen Ketema
2a8e3bee36
Swift: Add change note
2025-10-31 12:06:52 +01:00
Jeroen Ketema
94f8ea5612
Swift: Add upgrade and downgrade scripts
2025-10-31 11:35:50 +01:00
Anders Schack-Mulligen
5aa53287ce
C#: Allow nullness sources with SSA at entry.
2025-10-31 11:25:37 +01:00
Tom Hvitved
f672f6b731
Merge pull request #20727 from hvitved/rust/variable-overlap-fix
...
Rust: Fix variable access overlap
2025-10-31 11:07:30 +01:00
Jeroen Ketema
7301bc74cf
Swift: Fix key path numbering in upgrade and downgrade scripts
2025-10-31 11:01:04 +01:00
Jeroen Ketema
92ca0c2b62
Swift: Update expected test results
2025-10-31 10:53:11 +01:00
Tom Hvitved
6d64800e85
Rust: Move variable consistency check into AstConsistency.qll
2025-10-31 10:42:51 +01:00
Michael Nebel
ee6dd0f771
C#: Update integration tests expected output.
2025-10-31 10:37:49 +01:00
Jeroen Ketema
eab6579e12
Swift: sync files
2025-10-31 10:24:03 +01:00
Jeroen Ketema
f4d1e1c034
Swift: Handle InlineArrayTypes
2025-10-31 10:15:07 +01:00
Jeroen Ketema
72e8ec3951
Swift: Update comment for LocatableTypes
2025-10-31 10:02:12 +01:00
Jeroen Ketema
b9d0cb7746
Swift: Add basic support for experimental using decls
...
Note that we cannot write tests for these at the moment. Passing
```
-enable-experimental-feature DefaultIsolationPerFile
```
to the extractor results in:
```
error: experimental feature 'DefaultIsolationPerFile' cannot be enabled in production compile
```
2025-10-31 09:58:12 +01:00
Jeroen Ketema
67b6b9cd15
Swift: Support UnsafeExpr
2025-10-31 09:58:10 +01:00
Jeroen Ketema
119b058629
Swift: Handle method and initializer key path components in QL
...
Note that it does not seem to be possible to write test that exercise this
code. Passing `-enable-experimental-feature KeyPathWithMethodMembers` to the
extractor results in:
```
error: experimental feature 'KeyPathWithMethodMembers' cannot be enabled in production compiler
```
2025-10-31 09:58:09 +01:00
Jeroen Ketema
b08b123184
Swift: Support new accessors
2025-10-31 09:57:58 +01:00
Tom Hvitved
7d5664f2a8
Address review comment
2025-10-31 09:43:18 +01:00
Tom Hvitved
f850025583
Rust: Add another type inference test
2025-10-31 09:39:00 +01:00
Michael Nebel
ad02559b48
C#: Fix Binlog API breaking change.
2025-10-31 09:36:22 +01:00
Asger F
a1a9626eae
Merge pull request #20421 from asgerf/js/compile-for-overlay-eval
...
JS: Add compileForOverlayEval: true
2025-10-31 09:21:16 +01:00
Michael Nebel
0484be6b5b
C#: Update lock files.
2025-10-31 09:16:35 +01:00
Michael Nebel
f410c3c93a
C#: Update Microsft.Build, Roslyn and Binlog dependencies.
2025-10-31 09:16:07 +01:00
Tom Hvitved
5a2467414c
Rust: Fix variable access overlap
2025-10-30 21:52:36 +01:00
Tom Hvitved
3d7b60a439
Rust: Add variable consistency query
2025-10-30 21:40:37 +01:00
Tom Hvitved
d71f2dee9c
Rust: Add more variable tests
2025-10-30 21:39:28 +01:00
Taus
e702d3bfc8
Python: Add change note
...
I wasn't entirely sure if this should be classified as `deprecated` or
`breaking`, but seeing as these changes technically _could_ break
existing queries (requiring a small rewrite), I opted for the latter.
2025-10-30 15:16:51 +00:00
Asger F
c583b480af
JS: Add pragma[nomagic] just to be safe
...
The DIL is unchanged
2025-10-30 15:31:51 +01:00
Asger F
1f7671cf5e
JS: Ensure integration test contains one valid file
2025-10-30 15:31:51 +01:00
Asger F
0acfacefbf
JS: Recursively delete source archive so emptiness detection works
2025-10-30 15:31:51 +01:00
Asger F
a5819a14be
JS: Fix bad join order in getNextToken()
2025-10-30 15:31:51 +01:00
Asger F
39f74d808b
JS: Add compileForOverlayEval
2025-10-30 15:31:51 +01:00
Simon Friis Vindum
a25ae3922d
Merge pull request #20682 from paldepind/rust/ti-condition
...
Rust: Refactor using shared constraint satisfaction
2025-10-30 15:19:16 +01:00
Taus
820d8e76c4
Python: Remove points-to from Module
2025-10-30 13:59:30 +00:00
Taus
b93ce98612
Python: Remove points-to from Expr
2025-10-30 13:58:59 +00:00
Simon Friis Vindum
c648aa69b8
Rust: Rename predicates
2025-10-30 14:35:17 +01:00
Taus
b434ce460e
Python: Get rid of getLiteralValue
...
This had only two uses in our libraries, so I simply inlined the
predicate body in both places.
2025-10-30 13:30:04 +00:00
Taus
fef08afff9
Python: Remove points-to to from ControlFlowNode
...
Moves the existing points-to predicates to the newly added class
`ControlFlowNodeWithPointsTo` which resides in the `LegacyPointsTo`
module.
(Existing code that uses these predicates should import this module, and
references to `ControlFlowNode` should be changed to
`ControlFlowNodeWithPointsTo`.)
Also updates all existing points-to based code to do just this.
2025-10-30 13:30:04 +00:00
Tom Hvitved
cca458c2ac
Rust: Address review comments and handle ! types in type inference
2025-10-30 13:30:42 +01:00
Geoffrey White
0e7d410163
Merge branch 'main' into macrometric2
2025-10-30 10:19:11 +00:00
Tom Hvitved
5697a7e612
Rust: More type inference tests
2025-10-30 10:43:44 +01:00
Simon Friis Vindum
b189f1fe3f
Rust: Refactor using shared constraint satisfaction
2025-10-30 08:18:12 +01:00
Jeroen Ketema
26f59a8786
Merge pull request #20710 from jketema/swift-rsc
...
Swift: Do not include the embedded resources
2025-10-29 17:38:07 +01:00
Jeroen Ketema
cf2cd20884
Swift: Update resources
2025-10-29 15:54:17 +01:00
Jeroen Ketema
ea6b05eda3
Update docs/codeql/codeql-overview/system-requirements.rst
2025-10-29 15:49:53 +01:00
Tom Hvitved
bc53fee1c5
Rust: Infer more () types
2025-10-29 15:43:00 +01:00
Tom Hvitved
f395162afd
Rust: More type inference tests
2025-10-29 15:41:23 +01:00
Tom Hvitved
3c663d8ebf
Merge pull request #20715 from hvitved/rust/type-inference-overlap-test
...
Rust: Add type inference tests for method resolution overlap
2025-10-29 15:39:07 +01:00
Anders Schack-Mulligen
900d0d2477
C#: Accept test changes for assert split removal.
2025-10-29 15:17:34 +01:00
Tom Hvitved
6ed8bcbcf3
Rust: Add type inference tests for method resolution overlap
2025-10-29 14:53:28 +01:00
Owen Mansel-Chan
f3f256d070
Add back import that was accidentally deleted from options file
2025-10-29 12:26:19 +00:00
Tom Hvitved
e5f1238e26
Merge pull request #20707 from paldepind/rust/ti-self-trait
...
Rust: Improve handling of `Self` type parameter
2025-10-29 13:17:14 +01:00
Anders Schack-Mulligen
51a577a429
Merge pull request #20713 from aschackmull/dataflow/qldoc1
...
Dataflow: Minor drive-by qldoc addition.
2025-10-29 13:13:43 +01:00
Geoffrey White
7a864c5244
Rust: Implement suggestion from review.
2025-10-29 12:13:12 +00:00
Anders Schack-Mulligen
87d89fd00f
C#: Fix CFG for assertion.
2025-10-29 13:04:33 +01:00
Anders Schack-Mulligen
e61ddf59d7
C#: Remove assertion splitting.
2025-10-29 13:04:32 +01:00
Anders Schack-Mulligen
b48d4d4834
C#: Recognize assertions as Guards.
2025-10-29 13:04:32 +01:00
Anders Schack-Mulligen
500fdb8723
Guards: Add support for assertions that exit rather than throw.
2025-10-29 13:04:29 +01:00
Anders Schack-Mulligen
72f1fe5d58
C#: Exclude nullness sources that are deemed non-null.
2025-10-29 13:03:51 +01:00
Anders Schack-Mulligen
0df0816c95
Guards: Minor improvement to implications.
2025-10-29 13:03:51 +01:00
Anders Schack-Mulligen
cbfb8fd110
C#: Accept some test changes.
2025-10-29 13:03:50 +01:00
Anders Schack-Mulligen
7241bedf05
C#: Replace Guards with the new implementation.
2025-10-29 13:03:50 +01:00
Anders Schack-Mulligen
8b3e62652c
Guards: Only prune actually trivial guards.
2025-10-29 13:03:46 +01:00
Owen Mansel-Chan
7ad570b5f5
Pretty print models in test
...
Otherwise the test output changes when unrelated models are added.
2025-10-29 12:03:32 +00:00
Anders Schack-Mulligen
84b8b1c01f
C#: Minor test tweak.
2025-10-29 13:02:08 +01:00
Anders Schack-Mulligen
dc4abc952f
C#: Replace references to getANullCheck.
2025-10-29 13:02:08 +01:00
Anders Schack-Mulligen
46fc006c5f
C#: Update NullCheck test to reflect what nullness use.
2025-10-29 13:02:07 +01:00
Anders Schack-Mulligen
1aa0e7c2da
C#: Make private.
2025-10-29 13:02:07 +01:00
Anders Schack-Mulligen
e3fc3192ac
C#: Remove tests referencing impliesStep.
2025-10-29 13:02:06 +01:00
Anders Schack-Mulligen
9776e8f828
C#: Remove an irrelevant reference to impliesStep.
2025-10-29 13:02:06 +01:00
Anders Schack-Mulligen
4ea90e06a5
Dataflow: Minor drive-by qldoc addition.
2025-10-29 12:58:56 +01:00
Geoffrey White
558ca74e9c
Merge pull request #20702 from geoffw0/gen2
...
Rust: Generalize more models
2025-10-29 11:32:00 +00:00
Geoffrey White
5ca0bd071d
Rust: Exclude skipped files from CallTargetStats and ExprTypeStats as well.
2025-10-29 10:42:04 +00:00
Geoffrey White
25e4b790a3
Rust: Exclude skipped files from MacroCallTargetStats.
2025-10-29 10:42:03 +00:00
Simon Friis Vindum
ce8cffc331
Rust: Address comments
2025-10-29 11:18:02 +01:00
Tom Hvitved
b7293541cd
Merge pull request #20704 from hvitved/rust/fix-bad-joins
...
Rust: Fix two bad joins
2025-10-29 11:11:54 +01:00
Jeroen Ketema
6906c88781
Swift: Update change note
2025-10-29 11:08:16 +01:00
Jeroen Ketema
2505c8f3e3
Swift: Improve docs
2025-10-29 11:06:50 +01:00
Jeroen Ketema
9f498df9fa
Swift: Do not include the embedded resources
2025-10-29 11:00:04 +01:00
Simon Friis Vindum
9022f996e8
Rust: Improve handling of occurrences of the Self type parameter
2025-10-29 10:41:46 +01:00
Simon Friis Vindum
9ff3c61c6e
Rust: Add type inference tests involving Self
2025-10-29 10:41:44 +01:00
Owen Mansel-Chan
fe6b4330de
Fix test import
2025-10-28 23:14:23 +00:00
yoff
4461be180a
Merge pull request #19539 from yoff/java/conflicting-access
2025-10-28 20:37:44 +01:00
Geoffrey White
6f1eca8be1
Rust: Make the QLDoc for fromSource a bit more precise.
2025-10-28 16:22:25 +00:00
Owen Mansel-Chan
74dbafa553
Merge branch 'main' into java-mad-test
2025-10-28 13:28:35 +00:00
Tom Hvitved
f2380d3ef1
Merge pull request #20612 from hvitved/rust/type-inference-blanket-non-satisfaction
...
Rust: Compute incompatible blanket implementations
2025-10-28 14:00:55 +01:00
Tom Hvitved
b3bbe78974
Rust: Fix bad join
...
Before
```
Pipeline standard for TypeInference::MethodCallMatching::directTypeMatch/6#f0fb0b61@31ee5u2w was evaluated in 821 iterations totaling 1057ms (delta sizes total: 689971).
416937 ~1% {6} r1 = SCAN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev_delta` OUTPUT In.0, In.3, In.1, In.2, In.4, In.5
222757 ~2% {8} r2 = JOIN r1 WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.3, _, Lhs.4, Rhs.2
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
164360 ~3% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
315350783 ~1% {6} r3 = SCAN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev` OUTPUT In.0, In.3, In.1, In.2, In.4, In.5
593815 ~1% {8} r4 = JOIN r3 WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev_delta` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.3, _, Lhs.4, Rhs.2
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
342226 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
826517 ~0% {8} r5 = JOIN r1 WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.4, _, Lhs.4, Rhs.3
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
345294 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
73715 ~0% {8} r6 = JOIN r3 WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev_delta` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.4, _, Lhs.4, Rhs.3
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
47802 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
899682 ~5% {6} r7 = r2 UNION r4 UNION r5 UNION r6
711040 ~6% {6} | AND NOT `TypeInference::MethodCallMatching::directTypeMatch/6#f0fb0b61#prev`(FIRST 6)
return r7
```
After
```
Pipeline standard for TypeInference::MethodCallMatching::directTypeMatch/6#f0fb0b61@ad458u2w was evaluated in 821 iterations totaling 374ms (delta sizes total: 691168).
222757 ~2% {8} r1 = JOIN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev_delta` WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.3, _, Lhs.4, Rhs.2
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
164360 ~3% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
593815 ~1% {8} r2 = JOIN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev` WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev_delta` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.3, _, Lhs.4, Rhs.2
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
342226 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
826517 ~0% {8} r3 = JOIN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev_delta` WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.4, _, Lhs.4, Rhs.3
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
345294 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
73715 ~0% {8} r4 = JOIN `TypeInference::MethodCallMatching::directTypeMatch0/6#dfcc7717#prev` WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev_delta` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.5, Rhs.4, _, Lhs.4, Rhs.3
{6} | REWRITE WITH Tmp.5 := "", Out.5 := InverseAppend(In.6,Tmp.5,In.7) KEEPING 6
47802 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.5, In.4, In.3
899682 ~5% {6} r5 = r1 UNION r2 UNION r3 UNION r4
711095 ~6% {6} | AND NOT `TypeInference::MethodCallMatching::directTypeMatch/6#f0fb0b61#prev`(FIRST 6)
return r5
```
2025-10-28 13:09:39 +01:00
Tom Hvitved
104ba0e291
Rust: Fix bad join
...
Before
```
Pipeline standard for TypeInference::MethodCallMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#e8abf748@ada3a07w was evaluated in 801 iterations totaling 31ms (delta sizes total: 182871).
50151 ~1% {4} r1 = SCAN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev_delta OUTPUT In.0, In.2, In.3, In.4
39574 ~0% {5} | JOIN WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev` ON FIRST 2 OUTPUT Lhs.3, Rhs.3, _, Lhs.2, Rhs.2
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
36996 ~0% {3} | SCAN OUTPUT In.0, In.2, In.1
36102333 ~0% {4} r2 = SCAN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev OUTPUT In.0, In.2, In.3, In.4
90175 ~1% {5} | JOIN WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev_delta` ON FIRST 2 OUTPUT Lhs.3, Rhs.3, _, Lhs.2, Rhs.2
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
65014 ~1% {3} | SCAN OUTPUT In.0, In.2, In.1
50151 ~1% {5} r3 = SCAN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev_delta OUTPUT In.2, In.0, In.1, In.3, In.4
24208 ~1% {4} | JOIN WITH `FunctionType::FunctionPosition.isSelf/0#dispred#9e84d302` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4
95022 ~0% {9} | JOIN WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev` ON FIRST 1 OUTPUT Lhs.2, Lhs.3, Rhs.2, Rhs.3, Rhs.4, _, Rhs.1, Lhs.1, _
{6} | REWRITE WITH Tmp.5 := ";", Tmp.5 := (In.6 ++ Tmp.5), Tmp.8 := "", Out.5 := InverseAppend(Tmp.5,Tmp.8,In.7) KEEPING 6
93919 ~1% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _
{6} | REWRITE WITH NOT [NOT [Tmp.6 := "borrow", TEST InOut.5 = Tmp.6, Tmp.6 := true, TEST InOut.2 = Tmp.6], NOT [Tmp.6 := "", TEST InOut.5 = Tmp.6, Tmp.6 := true, TEST InOut.2 != Tmp.6]] KEEPING 6
81298 ~1% {5} | SCAN OUTPUT In.1, In.4, _, In.0, In.3
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
64110 ~1% {3} | SCAN OUTPUT In.0, In.2, In.1
36102333 ~0% {5} r4 = SCAN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev OUTPUT In.2, In.0, In.1, In.3, In.4
17473531 ~0% {4} | JOIN WITH `FunctionType::FunctionPosition.isSelf/0#dispred#9e84d302` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4
47409 ~1% {9} | JOIN WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev_delta` ON FIRST 1 OUTPUT Lhs.2, Lhs.3, Rhs.2, Rhs.3, Rhs.4, _, Rhs.1, Lhs.1, _
{6} | REWRITE WITH Tmp.5 := ";", Tmp.5 := (In.6 ++ Tmp.5), Tmp.8 := "", Out.5 := InverseAppend(Tmp.5,Tmp.8,In.7) KEEPING 6
29885 ~0% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _
{6} | REWRITE WITH NOT [NOT [Tmp.6 := "borrow", TEST InOut.5 = Tmp.6, Tmp.6 := true, TEST InOut.2 = Tmp.6], NOT [Tmp.6 := "", TEST InOut.5 = Tmp.6, Tmp.6 := true, TEST InOut.2 != Tmp.6]] KEEPING 6
16952 ~1% {5} | SCAN OUTPUT In.1, In.4, _, In.0, In.3
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
16829 ~0% {3} | SCAN OUTPUT In.0, In.2, In.1
182949 ~1% {3} r5 = r1 UNION r2 UNION r3 UNION r4
182949 ~1% {3} | AND NOT `TypeInference::MethodCallMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#e8abf748#prev`(FIRST 3)
return r5
```
After
```
Pipeline standard for TypeInference::MethodCallMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#e8abf748@31ee547w was evaluated in 801 iterations totaling 19ms (delta sizes total: 182946).
81298 ~0% {5} r1 = JOIN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev_delta WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev` ON FIRST 3 OUTPUT Lhs.4, Rhs.4, _, Lhs.3, Rhs.3
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
64110 ~1% {3} | SCAN OUTPUT In.0, In.2, In.1
39574 ~0% {5} r2 = JOIN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev_delta WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev` ON FIRST 2 OUTPUT Lhs.4, Rhs.3, _, Lhs.3, Rhs.2
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
36996 ~0% {3} | SCAN OUTPUT In.0, In.2, In.1
16952 ~0% {5} r3 = JOIN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev WITH `TypeInference::MethodCallMatchingInput::Access.getInferredSelfType/3#dispred#45b2f893#prev_delta` ON FIRST 3 OUTPUT Lhs.4, Rhs.4, _, Lhs.3, Rhs.3
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
16829 ~0% {3} | SCAN OUTPUT In.0, In.2, In.1
90175 ~0% {5} r4 = JOIN TypeInference::MethodCallMatching::AccessConstraint::MkRelevantAccess#7a01048b#prev WITH `TypeInference::MethodCallMatchingInput::Access.getInferredNonSelfType/2#dispred#b181cb0a#prev_delta` ON FIRST 2 OUTPUT Lhs.4, Rhs.3, _, Lhs.3, Rhs.2
{3} | REWRITE WITH Tmp.2 := "", Out.2 := InverseAppend(In.3,Tmp.2,In.4) KEEPING 3
65014 ~0% {3} | SCAN OUTPUT In.0, In.2, In.1
182949 ~1% {3} r5 = r1 UNION r2 UNION r3 UNION r4
182949 ~1% {3} | AND NOT `TypeInference::MethodCallMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#e8abf748#prev`(FIRST 3)
return r5
```
2025-10-28 13:09:32 +01:00
Nora Dimitrijević
727bddea19
Merge pull request #20607 from d10c/d10c/update-diff-informed-testing
...
Update diff-informed testing to always treat sources and sinks as alert locations
2025-10-28 11:52:31 +01:00
Tom Hvitved
409f7fb743
Address review comments
2025-10-28 11:48:45 +01:00
Geoffrey White
d6c4ab2724
Merge branch 'main' into gen2
2025-10-28 09:26:13 +00:00
Geoffrey White
abcc1712d5
Rust: Remove more redundant models.
2025-10-28 09:26:11 +00:00
Nora Dimitrijević
a0975e7e19
Constrain location overrides to actual sources/sinks
2025-10-28 09:42:20 +01:00
Nora Dimitrijević
96e1536769
C++/SqlTainted
2025-10-28 09:42:17 +01:00
Nora Dimitrijević
8e0c453c37
Rust/InsecureCookie
2025-10-28 09:42:14 +01:00
Nora Dimitrijević
4952cb27fb
Rust/AccessAfterLifetime
2025-10-28 09:42:11 +01:00
Nora Dimitrijević
0f0bd0f455
Go/SSRF
...
go/ql/src/experimental/CWE-918/SSRF.ql
2025-10-28 09:42:09 +01:00
Nora Dimitrijević
d41268fc84
Go/UnhandledCloseWritableHandle
2025-10-28 09:42:06 +01:00
Nora Dimitrijević
ec63547925
C++/UseOfHttp
2025-10-28 09:42:03 +01:00
Nora Dimitrijević
a65d4d5997
C++/TaintedAllocationSize
2025-10-28 09:42:01 +01:00
Nora Dimitrijević
f3d51e0151
C++/ArithmeticUncontrolled
2025-10-28 09:41:57 +01:00
Nora Dimitrijević
1321cbb021
C++/DecompressionBombs
2025-10-28 09:41:55 +01:00
Nora Dimitrijević
bbe2bf2b7f
C++/CleartextTransmission
2025-10-28 09:41:52 +01:00
Nora Dimitrijević
b0180409f4
C++/CleartextFileWrite
2025-10-28 09:41:49 +01:00
Nora Dimitrijević
d89aa0f19d
C++/CleartextBufferWrite
2025-10-28 09:41:46 +01:00
Nora Dimitrijević
17b261a506
C++/AuthenticationBypass
2025-10-28 09:41:43 +01:00
Nora Dimitrijević
0ed27f4e81
C++/CleartextSqliteDatabase
2025-10-28 09:41:40 +01:00
Nora Dimitrijević
f7a1a4cf75
C++/NonConstantFormat
2025-10-28 09:41:38 +01:00
Nora Dimitrijević
2756e8255f
C++/UnboundedWrite
2025-10-28 09:41:35 +01:00
Nora Dimitrijević
a4ac0392a6
C++/OverflowDestination
2025-10-28 09:41:32 +01:00
Nora Dimitrijević
65d79ff6fc
C++/ExecTainted
2025-10-28 09:41:29 +01:00
Nora Dimitrijević
464f6cb096
C++/ConstantSizeArrayOffByOne
2025-10-28 09:41:26 +01:00
Nora Dimitrijević
974d174757
Actions/CodeInjectionQuery
...
actions/ql/src/Security/CWE-094/CodeInjectionMedium.ql
actions/ql/src/Security/CWE-094/CodeInjectionCritical.ql
2025-10-28 09:41:24 +01:00
Nora Dimitrijević
62fde8f6e7
Actions/ArgumentInjectionQuery
...
actions/ql/src/experimental/Security/CWE-088/ArgumentInjectionCritical.ql
actions/ql/src/experimental/Security/CWE-088/ArgumentInjectionMedium.ql
2025-10-28 09:41:21 +01:00
Nora Dimitrijević
c40223319c
Actions/EnvVarInjectionQuery
...
actions/ql/src/Security/CWE-077/EnvVarInjectionMedium.ql
actions/ql/src/Security/CWE-077/EnvVarInjectionCritical.ql
2025-10-28 09:41:18 +01:00
Nora Dimitrijević
edc72d29d7
Actions/EnvPathInjectionQuery
...
actions/ql/src/Security/CWE-077/EnvPathInjectionMedium.ql
actions/ql/src/Security/CWE-077/EnvPathInjectionCritical.ql
2025-10-28 09:41:16 +01:00
Nora Dimitrijević
1f53ffbdd7
Actions/ArtifactPoisoningQuery
...
actions/ql/src/Security/CWE-829/ArtifactPoisoningCritical.ql
actions/ql/src/Security/CWE-829/ArtifactPoisoningMedium.ql
2025-10-28 09:41:13 +01:00
Nora Dimitrijević
8a750b3125
Swift/UnsafeUnpackQuery
...
swift/ql/src/experimental/Security/CWE-022/UnsafeUnpack.ql
2025-10-28 09:41:10 +01:00
Nora Dimitrijević
895bd93062
Swift/UnsafeJsEvalQuery
...
swift/ql/src/queries/Security/CWE-094/UnsafeJsEval.ql
2025-10-28 09:41:08 +01:00
Nora Dimitrijević
cd86e7d6f5
Swift/StringLengthConflationQuery
...
swift/ql/src/queries/Security/CWE-135/StringLengthConflation.ql
2025-10-28 09:41:05 +01:00
Nora Dimitrijević
5a6f731ab7
Swift/StaticInitializationVectorQuery
...
swift/ql/src/queries/Security/CWE-1204/StaticInitializationVector.ql
2025-10-28 09:41:02 +01:00
Nora Dimitrijević
7ba7c435f2
Swift/InsufficientHashIterationsQuery
...
swift/ql/src/queries/Security/CWE-916/InsufficientHashIterations.ql
2025-10-28 09:41:00 +01:00
Nora Dimitrijević
6c52d4ba91
Swift/ConstantPasswordQuery
...
swift/ql/src/queries/Security/CWE-259/ConstantPassword.ql
2025-10-28 09:40:57 +01:00
Nora Dimitrijević
c190fae737
Swift/CleartextStoragePreferencesQuery
...
swift/ql/src/queries/Security/CWE-312/CleartextStoragePreferences.ql
2025-10-28 09:40:54 +01:00
Nora Dimitrijević
2332cea330
Swift/CleartextStorageDatabaseQuery
...
swift/ql/src/queries/Security/CWE-311/CleartextStorageDatabase.ql
2025-10-28 09:40:51 +01:00
Nora Dimitrijević
462d8c5dc4
Shared: update qldoc
2025-10-28 09:40:48 +01:00
Nora Dimitrijević
6ede0a7950
Ruby/WeakFilePermissions
2025-10-28 09:40:46 +01:00
Nora Dimitrijević
495be51ae7
Ruby/WeakParams
2025-10-28 09:40:43 +01:00
Nora Dimitrijević
50f2540db1
Ruby/ManuallyCheckHttpVerb
2025-10-28 09:40:41 +01:00
Nora Dimitrijević
6519bd9909
Ruby/PolynomialReDoSQuery
...
ruby/ql/src/queries/security/cwe-1333/PolynomialReDoS.ql
2025-10-28 09:40:38 +01:00
Nora Dimitrijević
1ff24cbee8
Python/LdapInsecureAuth
...
python/ql/src/experimental/Security/CWE-522/LdapInsecureAuth.ql
2025-10-28 09:40:35 +01:00
Nora Dimitrijević
998de144ea
Python/CorsBypass
2025-10-28 09:40:32 +01:00
Nora Dimitrijević
4bc9ede2e8
Python/UnsafeUsageOfClientSideEncryptionVersion
2025-10-28 09:40:30 +01:00
Nora Dimitrijević
6d57316862
Python/UnsafeUnpackQuery
...
python/ql/src/experimental/Security/CWE-022bis/UnsafeUnpack.ql
2025-10-28 09:40:27 +01:00
Nora Dimitrijević
37fff48dcd
Python/ServerSideRequestForgeryQuery
...
python/ql/src/Security/CWE-918/PartialServerSideRequestForgery.ql
2025-10-28 09:40:24 +01:00
Nora Dimitrijević
baccdcc07f
Python/PolynomialReDoSQuery
...
python/ql/src/Security/CWE-730/PolynomialReDoS.ql
2025-10-28 09:40:21 +01:00
Nora Dimitrijević
bb80d83276
JS/SSRF
...
javascript/ql/src/experimental/Security/CWE-918/SSRF.ql
2025-10-28 09:40:19 +01:00
Nora Dimitrijević
bcdbe0b50a
JS/PolynomialReDoSQuery
...
javascript/ql/src/Performance/PolynomialReDoS.ql
2025-10-28 09:40:16 +01:00
Nora Dimitrijević
94343254e3
JS/ShellCommandInjectionFromEnvironmentQuery
...
javascript/ql/src/Security/CWE-078/ShellCommandInjectionFromEnvironment.ql
2025-10-28 09:40:14 +01:00
Nora Dimitrijević
71cf042607
JS/IndirectCommandInjectionQuery
...
javascript/ql/src/Security/CWE-078/IndirectCommandInjection.ql
2025-10-28 09:40:11 +01:00
Nora Dimitrijević
2a30ea923a
JS/CommandInjectionQuery
...
javascript/ql/src/experimental/heuristics/ql/src/Security/CWE-078/CommandInjection.ql
javascript/ql/src/Security/CWE-078/CommandInjection.ql
2025-10-28 09:40:09 +01:00
Nora Dimitrijević
f24a6f64ab
Java/WebviewDebugEnabledQuery
...
java/ql/src/Security/CWE/CWE-489/WebviewDebuggingEnabled.ql
2025-10-28 09:40:06 +01:00
Nora Dimitrijević
518c0818a4
Java/UnsafeDeserializationQuery
...
java/ql/src/Security/CWE/CWE-502/UnsafeDeserialization.ql
2025-10-28 09:40:03 +01:00
Nora Dimitrijević
4439322e88
Java/TempDirLocalInformationDisclosureQuery
...
java/ql/src/Security/CWE/CWE-200/TempDirLocalInformationDisclosure.ql
2025-10-28 09:40:01 +01:00
Nora Dimitrijević
2a889f4f98
Java/TaintedPermissionsCheckQuery
...
java/ql/src/Security/CWE/CWE-807/TaintedPermissionsCheck.ql
2025-10-28 09:39:58 +01:00
Nora Dimitrijević
697f428eae
Java/TaintedEnvironmentVariableQuery
...
java/ql/src/Security/CWE/CWE-078/ExecTaintedEnvironment.ql
2025-10-28 09:39:55 +01:00
Nora Dimitrijević
72a97773b1
Java/NumericCastTaintedQuery
...
java/ql/src/Security/CWE/CWE-681/NumericCastTainted.ql
2025-10-28 09:39:52 +01:00
Nora Dimitrijević
247ae1d23c
Java/MaybeBrokenCryptoAlgorithmQuery
...
java/ql/src/Security/CWE/CWE-327/MaybeBrokenCryptoAlgorithm.ql
2025-10-28 09:39:50 +01:00
Nora Dimitrijević
eebff9c282
Java/ImproperValidationOfArrayConstructionFlow
...
java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayConstruction.ql
2025-10-28 09:39:47 +01:00
Nora Dimitrijević
9eeeec336e
Java/ImproperValidationOfArrayConstructionCodeSpecifiedQuery
...
java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayConstructionCodeSpecified.ql
2025-10-28 09:39:45 +01:00
Nora Dimitrijević
dc1dff98b0
Java/ConditionalBypass
...
java/ql/src/Security/CWE/CWE-807/ConditionalBypass.ql
2025-10-28 09:39:42 +01:00
Nora Dimitrijević
4482e831d7
Java/CommandLineQuery
...
85a4dd0325/java/ql/src/Security/CWE/CWE-078/ExecTainted.ql
857b51be58/java/ql/src/Security/CWE/CWE-078/ExecUnescaped.ql
b6e56f26c7/java/ql/src/experimental/Security/CWE/CWE-078/ExecTainted.ql
2025-10-28 09:39:39 +01:00
Nora Dimitrijević
b023880a0a
Java/BrokenCryptoAlgorithmQuery
...
java/ql/src/Security/CWE/CWE-327/BrokenCryptoAlgorithm.ql
2025-10-28 09:39:37 +01:00
Nora Dimitrijević
1129230e10
Java/ArithmeticUncontrolledQuery
...
java/ql/src/Security/CWE/CWE-190/ArithmeticUncontrolled.ql
2025-10-28 09:39:34 +01:00
Nora Dimitrijević
a228936c63
Java/ArithmeticTainted
...
java/ql/src/Security/CWE/CWE-190/ArithmeticTainted.ql
2025-10-28 09:39:31 +01:00
Nora Dimitrijević
913550f408
Java/ArbitraryApkInstallationQuery
...
java/ql/src/Security/CWE/CWE-094/ArbitraryApkInstallation.ql
2025-10-28 09:39:29 +01:00
Nora Dimitrijević
59a8e9b78c
Go/InsufficientKeySize
2025-10-28 09:39:27 +01:00
Nora Dimitrijević
7722f31cb8
Go/DivideByZero
2025-10-28 09:39:24 +01:00
Nora Dimitrijević
ba22f0d7d2
C#/DontInstallRootCert
2025-10-28 09:39:21 +01:00
Nora Dimitrijević
ad31f1ab6d
C++/WordexpTainted
...
Same file usees source and sink as endpoints
2025-10-28 09:39:19 +01:00
Nora Dimitrijević
5a1a887fd2
Actions/ReusableWorkflowsSummaries
2025-10-28 09:39:16 +01:00
Nora Dimitrijević
1243c6362d
Actions/ReusableWorkflowsSources
2025-10-28 09:39:14 +01:00
Nora Dimitrijević
a972ef7e31
Actions/ReusableWorkflowsSinks
...
Same file uses source as endpoint
2025-10-28 09:39:11 +01:00
Nora Dimitrijević
9c24ce0650
Actions/CompositeActionsSummaries
...
Same file uses source as endpoint
2025-10-28 09:39:09 +01:00
Nora Dimitrijević
78f2cee51c
Actions/CompositeActionsSources
...
Same file uses source as endpoint
2025-10-28 09:39:06 +01:00
Nora Dimitrijević
d36b721513
Actions/CompositeActionsSinks
...
Same file uses source as endpoint
2025-10-28 09:38:55 +01:00
Nora Dimitrijević
bb10307303
Actions/SecretExfiltrationQuery
...
actions/ql/src/experimental/Security/CWE-200/SecretExfiltration.ql uses source as endpoint
2025-10-28 09:38:38 +01:00
Nora Dimitrijević
890ca8e7d1
Actions/RequestForgeryQuery
...
actions/ql/src/experimental/Security/CWE-918/RequestForgery.ql uses source as endpoint
2025-10-28 09:38:21 +01:00
Nora Dimitrijević
3fa8259042
Actions/OutputClobberingQuery
...
actions/ql/src/experimental/Security/CWE-074/OutputClobberingHigh.ql uses source as endpoint
2025-10-28 09:38:01 +01:00
Asger F
8d49f26f3d
Merge pull request #20397 from asgerf/js/build-artifact-leak-fp
...
JS: Fix FP in js/build-artifact-leak when keys come from an array of constants
2025-10-28 06:40:13 +01:00
Geoffrey White
b76f27d10b
Rust: Remove redundant model.
2025-10-27 18:47:17 +00:00
Geoffrey White
03204b7881
Rust: Accept tests repaired.
2025-10-27 17:53:40 +00:00
Alexander Eyers-Taylor
227e1fcbde
Merge pull request #20598 from github/alexet/overlay-query-libraries
...
Java: Make some query libraries local.
2025-10-27 17:52:27 +00:00
Geoffrey White
0c92b33b8f
Revert "Rust: Generalize more models."
...
This reverts commit 56811d02ac .
2025-10-27 17:47:00 +00:00
Geoffrey White
a468b1d647
Rust: Accept regressions spotted by CI.
2025-10-27 17:46:01 +00:00
Paolo Tranquilli
630ea7bd0a
Merge pull request #20641 from github/redsun82/fix-pytest-build-as-test-windows
...
Pytest: fix the `build-as-test` mode on Windows
2025-10-27 15:47:24 +01:00
Geoffrey White
56811d02ac
Rust: Generalize more models.
2025-10-27 14:11:09 +00:00
Idriss Riouak
11a7d53002
Merge pull request #20657 from github/idrissrio/java-maven-fix
...
Java: Add integration test to reproduce regression
2025-10-27 15:09:41 +01:00
yoff
406e48b3bb
java: fix aliasing FP
...
reorganise code, adding `LockField`
2025-10-27 14:30:25 +01:00
yoff
531b994819
java: add test for aliasing
...
found by triage
2025-10-27 14:27:32 +01:00
idrissrio
d473b36918
Java: Accept new test results after extractor changes
2025-10-27 14:26:48 +01:00
idrissrio
714b2ad565
Java: Add integration test for maven
2025-10-27 14:26:47 +01:00
Simon Friis Vindum
35b4a36f37
Merge pull request #20691 from paldepind/cpp/range-analysis-refactor
...
C++: A few small refactors to the simple range analysis library
2025-10-27 14:15:37 +01:00
Anders Schack-Mulligen
31428b2f66
Merge pull request #20700 from aschackmull/java/delete-old-ssa-consistency
...
Java: Remove old SSA consistency queries.
2025-10-27 14:12:09 +01:00
Paolo Tranquilli
105f810654
Merge pull request #20658 from github/redsun82/csharp-fix-xframe-options-in-location
...
Csharp: fix `cs/web/missing-x-frame-options` to also consider `location` elements
2025-10-27 13:49:09 +01:00
Geoffrey White
bd11873e0d
Rust: Generalize a model of futures_io...poll_read.
2025-10-27 12:22:13 +00:00
Chris Smowton
2e0e9e0834
Merge pull request #20550 from github/smowton/admin/document-rails-5-csrf
...
Ruby: Update CSRF protection notes in documentation
2025-10-27 12:19:16 +00:00
Anders Schack-Mulligen
96fc1e889a
Java: Accept .expected file.
2025-10-27 13:17:53 +01:00
Geoffrey White
c8b8046302
Rust: Generalize a model of alloc::boxed::Box.
2025-10-27 12:09:05 +00:00
Geoffrey White
d650ccb74b
Rust: Generalize some std::io::Read models.
2025-10-27 12:09:04 +00:00
Anders Schack-Mulligen
02a942554d
Java: Remove old SSA consistency queries.
2025-10-27 12:55:43 +01:00
Jeroen Ketema
47b26ddea4
Merge pull request #20446 from github/jketema/swift-6.2
...
Swift: Make extractor compile with Swift 6.2
2025-10-27 12:24:16 +01:00
Jeroen Ketema
be0d405f6d
Swift: Update artifacts
2025-10-27 11:28:53 +01:00
yoff
83508ba661
java: adjust qhelp and examples for SafePublication
2025-10-27 11:25:51 +01:00
Jeroen Ketema
aabc8bc38b
Swift: Fix typo in change note
2025-10-27 10:54:39 +01:00
Jeroen Ketema
2022dd833e
Swift: Address review comments
2025-10-27 10:48:02 +01:00
Paolo Tranquilli
3f98d32124
C#: Update change note for location handling in query
2025-10-27 09:51:10 +01:00
Nicolas Will
d4787520fd
Merge pull request #20690 from bdrodes/weak_symmetric_cipher_bug
...
Crypto: Fix bug in weak symmetric cipher query
2025-10-24 22:38:07 +02:00
Nicolas Will
e7bd435bee
Merge pull request #20696 from bdrodes/bad_mac_decrypt_then_mac
...
Crypto: Adding bad decrypt then mac order query.
2025-10-24 22:07:26 +02:00
REDMOND\brodes
65d0ca9e53
Crypto: Simplifying expression for ql-for-ql alert.
2025-10-24 14:08:25 -04:00
REDMOND\brodes
0394816756
Crypto: typo fix
2025-10-24 14:06:52 -04:00
REDMOND\brodes
b20689fa46
Crypto: removing comments
2025-10-24 14:06:08 -04:00
REDMOND\brodes
0e624f51d5
Crypto: Adding bad decrypt then mac order query. Fixes to BadMacOrderMacOnEncryptPlaintext as well.
2025-10-24 12:44:28 -04:00
Simon Friis Vindum
d1ea1af945
C++: Make small trivial tweaks
2025-10-24 16:16:57 +02:00
Simon Friis Vindum
5709964fbf
C++: Simplify boundFromGuard
...
The last disjunct in `boundFromGuard` is moved into `linearBoundFromGuard`. This avoids repeating the calculation for `boundValue`.
`getBounds` and `getExprTypeBounds` are turned into predicates with result. Their middle argument was the "output" which was confusing.
2025-10-24 16:12:05 +02:00
Simon Friis Vindum
383e6a44aa
C++: Use or instead of if
...
The proposition in the true branch implied the condition, so `or` is more appropriate. Also eliminated an existentially quantified variable.
2025-10-24 16:08:35 +02:00
Simon Friis Vindum
3af9885489
C++: Fix typos in tests
2025-10-24 16:04:34 +02:00
Simon Friis Vindum
17e0dec08a
C++: Add toString for RelationStrictness
...
This helps for debugging.
2025-10-24 16:01:38 +02:00
Simon Friis Vindum
a0a6f288b5
Merge pull request #20645 from paldepind/cpp/range-analysis-measure
...
C++: Range analysis measure bounds
2025-10-24 15:30:07 +02:00
Jeroen Ketema
74384bbeae
Swift: Add change notes
2025-10-24 14:38:01 +02:00
Jeroen Ketema
e415772688
Swift: Add upgrade and downgrade scripts
2025-10-24 14:38:00 +02:00
Jeroen Ketema
2843761471
Swift: Special case the xcode-fails-spm-works test results on macOS 26
...
macOS 26 comes with Xcode 26, which does not call the compiler on the file
with the `#error` diagnostic directive.
2025-10-24 14:37:58 +02:00
Jeroen Ketema
79fd35a482
Swift: Remove flags related to explict modules in the tracer config
...
We have not found a good way to support these.
2025-10-24 14:37:57 +02:00
Jeroen Ketema
06d0d48416
Swift: Work around assertion failures in mangler
2025-10-24 14:37:55 +02:00
Jeroen Ketema
4d9827ff77
Swift: Update expected integration test results
2025-10-24 14:37:54 +02:00
Jeroen Ketema
192c9c3820
Swift: Document that tests disabled with Swift 6.1 are still broken with 6.2
2025-10-24 14:37:53 +02:00
Jeroen Ketema
b50ffe2e0c
Swift: Update PoundDiagnosticDecl test
...
These elements are no longer present in the Swift 6.2 AST.
2025-10-24 14:37:52 +02:00
Jeroen Ketema
7890dc6030
Swift: Update expected test results after 6.2 update
2025-10-24 14:37:51 +02:00
Jeroen Ketema
bc835a310a
Swift: Update KeyPathComponent for new kind values
2025-10-24 14:37:49 +02:00
Jeroen Ketema
d890feedda
Swift: Compensate for backwards going locations
2025-10-24 14:37:48 +02:00
Jeroen Ketema
626bc55caf
Swift: Fix AvailabilitySpec trap generation
2025-10-24 14:37:47 +02:00
Jeroen Ketema
300b5b15e7
Swift: Mangle function type lifetimes
2025-10-24 14:37:46 +02:00
Jeroen Ketema
e79c0b0405
Swift: Update generated files
2025-10-24 14:37:45 +02:00
Jeroen Ketema
22dddb0216
Swift: Fix unavailability checks after 6.2 upgrade
2025-10-24 14:37:43 +02:00
Jeroen Ketema
2ef8bb0c53
Swift: Make extractor compile with Swift 6.2
2025-10-24 14:37:42 +02:00
Tom Hvitved
32f21d6d49
Merge pull request #20688 from hvitved/java/request-forgery-matches-sanitizer
...
Java: Treat `x.matches(regexp)` as a sanitizer for request forgery
2025-10-24 14:34:32 +02:00
REDMOND\brodes
ed492c7d5a
Crypto: Fixed bug in WeakSymmetricCipher.qll, forgot to not only filter if !=AES but the algorithm must still be a SymmetriCipher algorithm.
2025-10-24 08:16:22 -04:00
Tom Hvitved
a4eab484ce
Address review comments
2025-10-24 13:32:39 +02:00
Joe Farebrother
8c277bd1d9
Merge pull request #20494 from joefarebrother/python-insecure-cookie-split
...
Python: Split Insecure Cookie query into multiple queries
2025-10-24 11:10:20 +01:00
Tom Hvitved
0e885e9297
Rust: Compute incompatible blanket implementations
2025-10-24 11:37:24 +02:00
Tom Hvitved
2a43a95049
Rust: More type inference tests
2025-10-24 11:37:22 +02:00
Tom Hvitved
672977acfa
Merge pull request #20592 from hvitved/rust/type-inference-branch-propagation
...
Rust: Non-symmetric type propagation for lub coercions
2025-10-24 11:35:24 +02:00
Tom Hvitved
ce379161fc
Add change note
2025-10-24 09:34:11 +02:00
Tom Hvitved
74411ff979
Merge pull request #20687 from hvitved/js/remove-invalid-qhelp-links
...
JS: Remove two invalid QHelp links
2025-10-24 09:22:33 +02:00
Tom Hvitved
7a9cb64e2e
Java: Treat x.matches(regexp) as a sanitizer for request forgery
2025-10-24 09:06:57 +02:00
Anders Schack-Mulligen
3542cdab43
Merge pull request #20677 from aschackmull/csharp/disable-exc-split
...
C#: Delete exception splitting.
2025-10-24 08:46:33 +02:00
Tom Hvitved
eb9df008b0
JS: Remove two invalid QHelp links
2025-10-24 08:45:12 +02:00
Tom Hvitved
ff31f0e3df
Address review comments
2025-10-23 20:17:28 +02:00
Geoffrey White
7acd214d7b
Merge pull request #20673 from geoffw0/sourcestest
...
Rust: Split up the dataflow/sources test
2025-10-23 13:08:43 +01:00
Anders Schack-Mulligen
6f72234fec
Merge pull request #20680 from aschackmull/shared/align-ssa-interface
...
Shared: Align SSA interfaces in Guards and ControlFlowReachability with shared SSA
2025-10-23 13:12:31 +02:00
Anders Schack-Mulligen
ebb50cd402
C#: Accept qltest changes.
2025-10-23 12:48:44 +02:00
Paolo Tranquilli
d11b44599e
Merge pull request #20679 from github/redsun82/fix-rust-vendor-check
...
Bazel: upgrade `rules_rust`
2025-10-23 12:14:32 +02:00
Anders Schack-Mulligen
72d83cc966
ControlFlowReachability: Align the SSA signature with the one from shared SSA.
2025-10-23 10:57:21 +02:00
Paolo Tranquilli
8f5f65e5fa
Bazel: upgrade rules_rust
2025-10-23 10:49:51 +02:00
Anders Schack-Mulligen
f257c7a570
Guards: Align the SSA signature with the one from shared SSA.
2025-10-23 10:23:22 +02:00
Anders Schack-Mulligen
f6cddc9db7
Merge pull request #20678 from aschackmull/shared/rename-cfg-reach
...
Shared/Java: Rename ControlFlowReachability library.
2025-10-23 10:22:15 +02:00
Geoffrey White
47334fbab7
Rust: Accept changes to the web_frameworks results.
2025-10-23 09:06:11 +01:00
Anders Schack-Mulligen
20147cdd2b
Shared/Java: Rename ControlFlowReachability library.
2025-10-23 09:07:34 +02:00
Anders Schack-Mulligen
dff327ea16
C#: Delete exception splitting.
2025-10-23 08:56:56 +02:00
Anders Schack-Mulligen
8a3f62b9b6
Merge pull request #20558 from aschackmull/csharp/guards3
...
C#: Instantiate shared Guards and shared ControlFlowReachability and replace nullness
2025-10-23 08:43:14 +02:00
Nicolas Will
c7ef8a5ab3
Merge pull request #20605 from bdrodes/santander-java-crypto-check
...
Crypto: Add Java Cryptographic Analysis Queries
2025-10-23 01:30:50 +02:00
REDMOND\brodes
bdad95d810
Crypto: Fixed alphabetical ordering issue in not_included_in_qls.expected
2025-10-22 15:56:14 -04:00
REDMOND\brodes
08379393b3
Crypto: Fix off by one column issue in unit tests.
2025-10-22 15:50:33 -04:00
REDMOND\brodes
3561d01144
Crytpo: Trying to fix in pipeline test failure, experimentally altering a line to see if this forces the test to pass. The test is off by one column in the piepline
2025-10-22 14:16:12 -04:00
Tom Hvitved
65b706ab80
Rust: Non-symmetric type propagation for lub coercions
2025-10-22 19:57:38 +02:00
Tom Hvitved
00bf049c85
Rust: Add more type inference tests
2025-10-22 19:57:37 +02:00
Tom Hvitved
c84cec9d29
Merge pull request #20664 from hvitved/rust/callable-get-body
...
Rust: Add `Callable.getBody()`
2025-10-22 19:57:14 +02:00
Geoffrey White
e18bf1661a
Rust: Accept result de-regression.
2025-10-22 17:52:12 +01:00
Geoffrey White
6b08297c2a
Rust: Repair after merge.
2025-10-22 17:46:25 +01:00
Geoffrey White
bc4d8a8425
Merge branch 'main' into sourcestest
2025-10-22 17:31:25 +01:00
Ben Rodes
e16543ab6d
Merge branch 'main' into santander-java-crypto-check
2025-10-22 11:51:13 -04:00
Geoffrey White
5d2ddbfa8e
Merge pull request #20670 from geoffw0/missingmetric
...
Rust: Add expressions with known type metric
2025-10-22 15:42:48 +01:00
Tom Hvitved
4b6c39004f
Rust: Add DB downgrade script
2025-10-22 16:40:56 +02:00
Tom Hvitved
8b10f68e28
Rust: Add DB upgrade scripts
2025-10-22 16:40:54 +02:00
Tom Hvitved
944ebc5267
Rust: Add Callable.getBody()
2025-10-22 16:40:53 +02:00
Tom Hvitved
7d0509b6af
Merge pull request #20282 from hvitved/rust/type-inference-method-call-resolution-rework
...
Rust: Rework call resolution and type inference for calls
2025-10-22 16:37:26 +02:00
REDMOND\brodes
db6d3ad054
Crypto: Fix typo in not_included_in_qls.expected.
2025-10-22 10:31:19 -04:00
REDMOND\brodes
dd60cf9395
Crypto: Adjust output of bad mac order queries, update associated bad mac order expected results, fix erroneous change to ID for a slicing query, update model to specify elliptic curve type as a property, update associated graph test expected files, update the not_included_in_qls.expected to reflect all queries now under quantum.
2025-10-22 10:29:31 -04:00
Florin Coada
83f9fb14b9
Merge pull request #20660 from github/changedocs/2.23.3
...
Add changelog entry for CodeQL CLI version 2.23.3
2025-10-22 14:58:00 +01:00
Anders Schack-Mulligen
7d0e4f58f3
C#: Fix join-order issue in ConstantCondition.
2025-10-22 15:52:51 +02:00
Anders Schack-Mulligen
f172e36eee
C#: Address more review comments.
2025-10-22 15:50:10 +02:00
Paolo Tranquilli
35990586ae
Merge pull request #20672 from github/redsun82/copilot
...
Copilot: move instructions to path-specific files
2025-10-22 15:41:28 +02:00
Michael Nebel
83343e1031
Merge pull request #20663 from michaelnebel/csharp/dotnet10rc2traced
...
C#: Tracer support for invoking `csc` directly.
2025-10-22 15:36:34 +02:00
Tom Hvitved
cf05414a93
Address review comments (iv)
2025-10-22 15:29:57 +02:00
Geoffrey White
6878a43223
Rust: Add missing file.
2025-10-22 14:18:16 +01:00
Paolo Tranquilli
f0c56edfc7
Update .github/instructions/expected-files.instructions.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-22 15:14:51 +02:00
Paolo Tranquilli
31627b4eb9
Copilot: move instructions to path-specific files
...
This is now supported. See
https://docs.github.com/en/copilot/how-tos/configure-custom-instructions/add-repository-instructions
for details.
2025-10-22 14:54:37 +02:00
Geoffrey White
8336a956c0
Rust: Add consistency check failures.
2025-10-22 13:50:49 +01:00
Michael Nebel
47c751be32
C#: Only run integration test on windows and linux.
2025-10-22 14:12:17 +02:00
Napalys Klicius
9c70ae04fb
Add change note
2025-10-22 11:48:16 +00:00
Napalys Klicius
91b0aaa631
Java: Lower security-severity for Insecure Cookie query to 4.0
2025-10-22 11:45:04 +00:00
Napalys Klicius
fa47174013
CWE-020: Lower security-severity for OverlyLargeRange queries to 4.0
2025-10-22 11:32:33 +00:00
Napalys Klicius
7b6720ce2c
JS: Align DOM XSS query severity with other XSS queries
2025-10-22 11:30:34 +00:00
Michael Nebel
6a02649334
Merge pull request #20555 from michaelnebel/csharp/staridlocationsbuildless
...
C#: `*` on Source locations in BMN.
2025-10-22 13:28:11 +02:00
Michael Nebel
7a414089e4
C#: Use autobuilder instead of supplying build command.
2025-10-22 13:25:23 +02:00
Michael Nebel
e14879ba33
C#: Add integration test for DB creation using .NET 10 RC 2.
2025-10-22 12:59:40 +02:00
Michael Nebel
d5ff9bf5d0
C#: Collapse tracer cases for csc, csc.exe and mcs.exe and remote quoting.
2025-10-22 11:58:02 +02:00
Owen Mansel-Chan
50e0ca8cb4
Merge pull request #20622 from owen-mc/docs/fix-dataflow-examples
...
Docs: add path query example to data flow docs
2025-10-22 10:57:42 +01:00
Tom Hvitved
2cc8b7f6dd
Address review comments (iii)
2025-10-22 11:07:20 +02:00
Anders Schack-Mulligen
c44e6fc3f0
C#: Qldoc tweaks.
2025-10-22 10:22:26 +02:00
Geoffrey White
9b11ec53d4
Rust: Merge InlineFlow.ql test queries using .qlrefs.
2025-10-22 09:02:18 +01:00
Geoffrey White
4893f53607
Rust: Fix a comment.
2025-10-22 09:02:15 +01:00
Geoffrey White
42224fe642
Rust: Clean up the sources test directory.
2025-10-22 09:02:14 +01:00
Geoffrey White
7efd4d26a0
Rust: Accept result regression.
...
Presumably because of a change in context, e.g. the module wrapping
this test now, or the different inputs. Either way we *should* be
able to get the result, and what we *actually* get in our analysis
doesn't change here either. We've just slightly changed the test
and exposed a gap.
2025-10-22 09:02:12 +01:00
Geoffrey White
8a7e206401
Rust: Move the remaining test_futures_io test into net.
2025-10-22 09:02:11 +01:00
Geoffrey White
8c02cb2ed1
Rust: Split off sources/web_frameworks.
2025-10-22 09:02:10 +01:00
Geoffrey White
5ba331e986
Rust: Splits off sources/net.
2025-10-22 09:01:34 +01:00
Geoffrey White
7ddd441e5f
Rust: Split off sources/database test.
2025-10-22 09:00:42 +01:00
Geoffrey White
81132beec0
Rust: Split off sources/stdin test.
2025-10-22 09:00:18 +01:00
Geoffrey White
0cc9331abf
Rust: Split off sources/file test.
2025-10-22 08:59:50 +01:00
Geoffrey White
a631130030
Rust: Split off sources/env test.
2025-10-22 08:58:59 +01:00
Tom Hvitved
5550da4870
Address review comments (ii)
2025-10-21 20:53:39 +02:00
Tom Hvitved
41602d3efa
Address review comments
2025-10-21 18:44:42 +02:00
Tom Hvitved
c2ba4ba3fc
Rust: Add change note
2025-10-21 18:44:41 +02:00
Tom Hvitved
ee0467d74c
Rust: Update expected output
2025-10-21 18:44:37 +02:00
Tom Hvitved
2f2c6866c4
Rust: Use doublyBoundedFastTC in TraitIsVisible
2025-10-21 17:58:54 +02:00
Tom Hvitved
4b70d20cd6
Rust: Rework call resolution and type inference for calls
2025-10-21 17:58:52 +02:00
Tom Hvitved
e12e9045a3
Rust: Add more type inference tests
2025-10-21 17:58:51 +02:00
Owen Mansel-Chan
c8c1c6e592
Address review comments
2025-10-21 16:54:28 +01:00
REDMOND\brodes
b374ba3d0c
Crypto: Updating java 'location' information to be just a location's toString to be more verbose/precise.
2025-10-21 11:48:37 -04:00
Paolo Tranquilli
6d31c6abe0
Merge branch 'main' into redsun82/fix-pytest-build-as-test-windows
2025-10-21 17:04:57 +02:00
REDMOND\brodes
ddeb42cddb
Crypto: Adding false positive to BadMacUse.java, we have no way to avoid this FP currently but should note it exists in the test case.
2025-10-21 11:04:57 -04:00
Paolo Tranquilli
a0d2005e1f
Merge pull request #20655 from github/redsun82/rust-file-semantics-predicates
...
Rust: introduce `ExtractedFile::hasSemantics` and `::isSkippedByCompilation`
2025-10-21 17:02:28 +02:00
REDMOND\brodes
c50175bc9b
Crypto: ql-for-ql alert fixes.
2025-10-21 10:32:00 -04:00
Geoffrey White
edabfa73bf
Rust: Delete a no-longer-used test file.
2025-10-21 15:30:32 +01:00
Simon Friis Vindum
f207404b0d
C++: Accept test changes
2025-10-21 16:03:12 +02:00
Geoffrey White
7da00b3e9d
Rust: Change note.
2025-10-21 13:33:17 +01:00
Geoffrey White
751d62aefb
Rust: Add the metric to rust/diagnostic/database-quality (with a very low threshold for the time being).
2025-10-21 13:29:46 +01:00
Geoffrey White
a4aa397ea0
Merge pull request #20634 from geoffw0/mysql2
...
Rust: Model mysql and mysql_async sources
2025-10-21 13:23:03 +01:00
yoff
9e77e5b046
java: add test with deeper paths
...
also format test files
2025-10-21 14:02:36 +02:00
yoff
f183a7223f
java: add test for notFullyMonitored
2025-10-21 13:40:29 +02:00
yoff
f4878b3806
java: make as many predicates private as possible
2025-10-21 13:25:26 +02:00
yoff
de05bfbce3
java: address review comments
...
- do not use `getQualifiedName`
- use camelCase
- rework alert predicates
2025-10-21 13:25:26 +02:00
Michael Nebel
def522d122
C#: Make sure that the file exists before attempting to get version info.
2025-10-21 13:12:21 +02:00
Michael Nebel
af5622a60e
C#: Address review comments.
2025-10-21 13:03:53 +02:00
Geoffrey White
d691c3215f
Rust: Add expressions with unknown type metric (expected by DCA).
2025-10-21 12:00:25 +01:00
yoff
715acefacc
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-10-21 12:52:59 +02:00
Anders Schack-Mulligen
414e5ecbce
Merge pull request #20646 from aschackmull/ssa/ssa-sig
...
SSA: Add a shared signature for SSA and a module to implement it.
2025-10-21 12:14:08 +02:00
Paolo Tranquilli
316225bb88
Csharp: rename predicate
2025-10-21 11:47:54 +02:00
Paolo Tranquilli
6f8b1f6f4c
Csharp: address review
2025-10-21 11:43:58 +02:00
Michael Nebel
6bc15bcedc
C#: Add change-note.
2025-10-21 11:42:19 +02:00
Michael Nebel
e560ac197f
C#: Tracer support for invoking csc directly.
2025-10-21 11:16:55 +02:00
Paolo Tranquilli
c728503517
Merge branch 'main' into redsun82/csharp-fix-xframe-options-in-location
2025-10-21 11:15:46 +02:00
Anders Schack-Mulligen
242f12d4be
SSA: Remove variable capture reference from shared class.
2025-10-21 10:52:49 +02:00
Simon Friis Vindum
0badcfd663
C++: Address review comments
2025-10-21 09:47:58 +02:00
REDMOND\brodes
22c0f9fa91
Crypto: Adding a proof of concept bad mac ordering predicate that takes in an ArtifactNode to be used for graph generation to intercept nodes with known mac ordering issues, in order to format the node and output error messages in the graph.
2025-10-20 16:24:31 -04:00
REDMOND\brodes
eff94ef91f
Crypto: To allow for graph generation to have properties informed by assessments, altering a few queries weak/vuln/bad crypto to have qll files that can be accessed for other purposes, like graph generation. Also altering weak symmetric cipher to look for non-aes algorithms to be more comprehensive.
2025-10-20 15:51:07 -04:00
REDMOND\brodes
cc436e897d
Merge branch 'santander-java-crypto-check' of https://github.com/bdrodes/codeql into santander-java-crypto-check
2025-10-20 15:24:40 -04:00
REDMOND\brodes
354effe829
Crypto: Missing hash algorithms for HMAC operations in jca.
2025-10-20 15:24:18 -04:00
Taus
9efa20dfc7
Merge pull request #20654 from github/tausbn/add-query-history-patcher
...
Misc: Add script for patching the query history
2025-10-20 17:46:39 +02:00
Florin Coada
2c31090cf6
Update codeql-cli-2.23.3.rst
2025-10-20 14:20:17 +01:00
Florin Coada
aeee30b0c6
Add changelog entry for CodeQL CLI version 2.23.3
2025-10-20 14:17:40 +01:00
Geoffrey White
e4e7b1c528
Merge branch 'main' into mysql2
2025-10-20 14:06:48 +01:00
Anders Schack-Mulligen
be626bf0ce
SSA: Address some review comments.
2025-10-20 14:02:56 +02:00
Geoffrey White
1047c3e014
Merge pull request #20652 from geoffw0/gen1
...
Rust: Generalize some models
2025-10-20 12:37:53 +01:00
Asger F
d7cf5ef645
Merge pull request #20647 from asgerf/js/type-resolution-cache
...
JS: Avoid magic and improve a join in type resolution
2025-10-20 11:50:23 +02:00
Geoffrey White
7b32cd4868
Merge pull request #20649 from geoffw0/mv1
...
Rust: Move rust/weak-sensitive-data-hashing
2025-10-20 10:17:40 +01:00
Tom Hvitved
85abcddd0e
Merge pull request #20614 from hvitved/dataflow/debug-predicates
...
Data flow: Add various debug predicates
2025-10-20 11:01:41 +02:00
Michael B. Gale
4441303623
Merge pull request #20625 from github/mbg/csharp/proxy-log-messages
2025-10-20 10:00:58 +01:00
Tom Hvitved
f71cfac40a
Data flow: Add various debug predicates
2025-10-20 09:59:40 +02:00
Ben Rodes
2b683c210f
Merge branch 'main' into santander-java-crypto-check
2025-10-18 17:56:43 -04:00
REDMOND\brodes
c01c060476
Crypto: more ID renaming to include "examples", fix singleton issues with ql-for-ql, use formatted test for WeakAsymmetricKeyGenSize (add post processing in the qlref), misc expected files updated (test passed locally but on rerun vscode reports failures, known bug with vscode unit tests).
2025-10-17 14:13:53 -04:00
REDMOND\brodes
540daa6df2
Crypto: weak symmetric cipher tests.
2025-10-17 13:40:15 -04:00
REDMOND\brodes
b06e05362b
Crypto: altering all query IDs in examples to have "examples" in the ID, to make clear the query is not intended for production.
2025-10-17 13:39:50 -04:00
REDMOND\brodes
1b205d8673
Removing WeakRSA, this is redundant with weak asymmetric key size.
2025-10-17 13:39:05 -04:00
REDMOND\brodes
b4ecb91c83
Crypto: Add missing cipher algorithms to JCA. Update node tests to account for missing cipher algorithms.
2025-10-17 13:38:47 -04:00
REDMOND\brodes
f480d90a68
Crypto: Add missing block mode JCA Models, add block mode unit tests
2025-10-17 13:13:14 -04:00
REDMOND\brodes
e12734162f
Crypto: WeakKDFKeySize tests.
2025-10-17 12:32:24 -04:00
REDMOND\brodes
628bab92fc
Crypto: Modify BadMacOrderMacOnEncryptPlaintext to be a path query that traces through any intermediate encrypt or mac to the final encrypt or mac.
2025-10-17 12:06:34 -04:00
REDMOND\brodes
ff7840dc9f
Crypto: removing precision tags on experimental queries.
2025-10-17 10:52:32 -04:00
Paolo Tranquilli
4b04b49ca9
Merge branch 'main' into redsun82/rust-file-semantics-predicates
2025-10-17 15:10:55 +02:00
Paolo Tranquilli
6a6015e0eb
Rust: accept test changes
2025-10-17 15:10:49 +02:00
Owen Mansel-Chan
66f95bcbcd
Merge pull request #20603 from owen-mc/update-broken-algo-qhelp
...
Many languages: Update broken algo qhelp
2025-10-17 12:30:43 +01:00
Paolo Tranquilli
0c719af33c
Csharp: add change note
2025-10-17 12:05:52 +02:00
Paolo Tranquilli
c3fd06c8a4
Csharp: fix cs/web/missing-x-frame-options to also consider location elements
...
As explained in
https://learn.microsoft.com/en-us/previous-versions/aspnet/ms178692(v=vs.100) ,
it is possible to add `system.webServer` elements nested inside
`location` elements in `Web.config`.
2025-10-17 11:27:31 +02:00
Simon Friis Vindum
979b05cc1a
C++: Apply suggested fixes from review
2025-10-17 09:50:36 +02:00
yoff
3a0a8999d5
java: fix ql alerts
2025-10-17 01:52:23 +02:00
yoff
61a3e9630f
java: rewrite conflict detection
...
- favour unary predicates over binary ones
(the natural "conflicting access" is binary)
- switch to a dual solution to trade recursion through forall for simple existentials.
Co-authored-by: Anders Schack-Mulligen <aschackmull@github.com >
2025-10-17 01:43:04 +02:00
REDMOND\brodes
ef6f0222f2
Crypto: Addressing FPs in BadMacOrderMacOnEncryptPlaintext
2025-10-16 16:11:42 -04:00
REDMOND\brodes
5923e5cbb0
Crypto: Bad expected files in last push.
2025-10-16 15:45:27 -04:00
REDMOND\brodes
700f34e53a
Crypto: Bad Mac use tests, and fix for BadMacOrderMacOnEncryptPlaintext (barriers were blocking flow through an encrypt to a subsequent mac on the same plaintext)
2025-10-16 15:44:57 -04:00
REDMOND\brodes
b9b0037e07
Crypto: Comment todo for observed missing modeled case. Tests for weak and unknown KDF iteration count.
2025-10-16 14:07:45 -04:00
Paolo Tranquilli
4aef1ba9d1
Rust: clean up
2025-10-16 17:20:41 +02:00
REDMOND\brodes
3f36b09b3c
Crypto: Rename tests for weak asymmetric key gen size.
2025-10-16 11:18:36 -04:00
Paolo Tranquilli
a9ae583e14
Rust: introduce File::hasSemantics and File::isSkippedByCompilation
2025-10-16 17:08:12 +02:00
REDMOND\brodes
a64a24d25d
Crypto: Comment in Language.qll
2025-10-16 11:03:49 -04:00
REDMOND\brodes
79ccef3a58
Crypto: Initial sketch for unknown hash, the model needs to recognize unknowns but where the algorithm category (e.g., hashing) is known.
2025-10-16 11:03:16 -04:00
Taus
3c2635767e
Misc: Add script for patching the query history
...
Adds `patch_query_history.py` in the `misc/scripts` directory. Its
function is to extend the existing VSCode query history with a new entry
whose JSON evaluator log summary points at a log that was created
outside of VSCode.
This enables the use of e.g. the Performance Comparison View on runs
that were not initiated from within VSCode.
2025-10-16 15:00:43 +00:00
REDMOND\brodes
d2598d4f5d
Crypto: Updating weak hash tests
2025-10-16 10:56:08 -04:00
REDMOND\brodes
4860034d41
Crypto: Weak Hash test cases update and expected file.
2025-10-16 10:40:53 -04:00
Geoffrey White
5d95fad467
Rust: Changes suggested by Copilot (with effect on tests).
2025-10-16 14:59:06 +01:00
Simon Friis Vindum
68d4240c26
C++: Add change note
2025-10-16 15:56:11 +02:00
Simon Friis Vindum
9502d83f2c
C++: Add debug predicates
2025-10-16 15:05:48 +02:00
Simon Friis Vindum
c1f0f3da96
C++: Handle guard phi nodes differently
2025-10-16 15:05:46 +02:00
Simon Friis Vindum
99103a5741
C++: Add additional test for range analysis
2025-10-16 15:05:45 +02:00
Simon Friis Vindum
8896a7210b
C++: Add number of bounds test to simple range analysis
2025-10-16 15:05:44 +02:00
Simon Friis Vindum
7eacd87343
C++: Apply widening based on number of bounds measure
2025-10-16 15:05:42 +02:00
Geoffrey White
397563dd0e
Rust: Accept consistency check .expected changes.
2025-10-16 13:54:11 +01:00
Nora Dimitrijević
e120e5c3ba
Merge pull request #20337 from d10c/d10c/python-overlay-compilation-plus-extractor
...
Python: enable overlay compilation + extractor overlay support
2025-10-16 14:49:01 +02:00
Geoffrey White
d4a599c51d
Rust: Accept more minor test expectation changes.
2025-10-16 12:41:49 +01:00
Geoffrey White
b933f8df89
Merge branch 'main' into gen1
2025-10-16 12:38:59 +01:00
Geoffrey White
8f7d3798ad
Rust: Allow rows to be direct sources of taint as well.
2025-10-16 12:14:50 +01:00
Geoffrey White
f310d535ae
Rust: Add models.
2025-10-16 12:07:54 +01:00
Geoffrey White
08ca643cd3
Rust: Test sources for mysql and mysql_async.
2025-10-16 11:55:24 +01:00
Geoffrey White
75a34a4881
Merge pull request #20631 from geoffw0/mysql
...
Rust: Model mysql and mysql_async query sinks
2025-10-16 11:42:33 +01:00
Geoffrey White
ee86655742
Rust: Update another affected test.
2025-10-16 11:37:57 +01:00
Geoffrey White
c56de30248
Rust: Fix merge conflict in .expected file.
2025-10-16 11:16:54 +01:00
Geoffrey White
c30e9a96d4
Rust: Accept changes to other test expectations.
2025-10-16 11:00:29 +01:00
Geoffrey White
217508e2c2
Merge branch 'main' into gen1
2025-10-16 09:35:29 +01:00
Geoffrey White
1936abaaee
Merge pull request #20650 from geoffw0/mv2
...
Rust: Rename stdlib model files to be consistent with others.
2025-10-16 08:47:47 +01:00
Simon Friis Vindum
744b11e421
Merge pull request #20543 from paldepind/rust/model-actix-web
...
Rust: Add models for actix-web
2025-10-16 08:48:06 +02:00
REDMOND\brodes
25599e9b4b
crypto: Update JCA model macs to take into consideration update calls (use prior pattern for signatures). Misc. bug fixes.
2025-10-15 16:25:36 -04:00
Geoffrey White
510597666a
Rust: Change note.
2025-10-15 20:31:47 +01:00
Geoffrey White
612e95b7a4
Rust: More deduplication.
2025-10-15 20:31:46 +01:00
Geoffrey White
483ab5929a
Rust: Combine and expand some of the models.
2025-10-15 20:31:43 +01:00
REDMOND\brodes
15e266db94
Crypto: Tweaks to bad crypto ordering queries.
2025-10-15 14:20:40 -04:00
REDMOND\brodes
9a6aac1300
Crypto: To get unreferenced parameters as general sources for Java, I've included the caveat that if a function is called, all the calls appear to be in test files.
2025-10-15 14:20:16 -04:00
REDMOND\brodes
c6174fbb93
Crypto: remove precision tag
2025-10-15 14:10:16 -04:00
Geoffrey White
ea6c7cfba0
Rust: Generalize stdlib 'a as b' models.
2025-10-15 19:08:05 +01:00
Geoffrey White
072eca233d
Rust: Update consistency check .expected.
2025-10-15 16:50:47 +01:00
Geoffrey White
eb1555c45e
Rust: Update the suite list .expected files.
2025-10-15 16:08:08 +01:00
Geoffrey White
f4a6efa9e0
Rust: Rename stdlib model files to be consistent with others.
2025-10-15 16:02:42 +01:00
REDMOND\brodes
631e482fd6
Crytpo: when key encapsulation or cipher operations have multiple modes at a node, the node name must reflect that it may be any mode.
2025-10-15 11:01:49 -04:00
Geoffrey White
c68112fb60
Rust: Move the CWE-328 test.
2025-10-15 15:24:25 +01:00
Geoffrey White
c7f0e41660
Rust: Move the existing CWE-327 test.
2025-10-15 15:24:14 +01:00
Geoffrey White
9dcc0a0d81
Rust: Move rust/weak-sensitive-data-hashing to CWE-327.
2025-10-15 15:14:16 +01:00
Geoffrey White
48ca04bc40
Rust: Repair test annotations following format and accept .expected changes.
2025-10-15 15:00:28 +01:00
Geoffrey White
28c139abfb
Rust: Format the test.
2025-10-15 14:42:12 +01:00
Geoffrey White
5544dfff6d
Update rust/ql/test/query-tests/security/CWE-089/mysql.rs
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-10-15 14:31:10 +01:00
REDMOND\brodes
c7be23e1fe
Crypto: Remove all precision tags from all experimental queries. Precision is largely in flux while the models are being developed.
2025-10-15 09:22:04 -04:00
REDMOND\brodes
bf9a249624
Crypto: Experimental queries for mac ordering
2025-10-15 08:06:50 -04:00
REDMOND\brodes
ee08385e31
Crytpo: Update JCA keyagreement to type conversion, XDH is a type of ECDH.
2025-10-15 08:06:19 -04:00
Jeroen Ketema
129c8bf2e0
Merge pull request #20639 from jketema/swift-trace
...
Swift: Make tracer config handle resource-dirs passed to clang
2025-10-15 13:16:15 +02:00
Asger F
c6577c8590
JS: Avoid magic and improve a join in type resolution
2025-10-15 11:54:28 +02:00
Simon Friis Vindum
70a8c4f37f
C++: Add range analysis examples that explode
2025-10-15 11:42:17 +02:00
Joe Farebrother
f57526eedc
Merge pull request #20572 from joefarebrother/java-httponly-cookie-promote
...
Java: Promote Sensitive Cookie without HttpOnly query from experimental
2025-10-15 10:28:40 +01:00
Simon Friis Vindum
8aaf9f696a
C++: Factor out widening of bounds
2025-10-15 11:11:45 +02:00
Anders Schack-Mulligen
b196714794
SSA: Add a shared signature for SSA and a module to implement it.
2025-10-15 11:01:58 +02:00
Jeroen Ketema
9fc8faa048
Swift: Address review comments
2025-10-15 10:09:13 +02:00
Napalys Klicius
7bf677d056
Merge pull request #20644 from Napalys/napalys/remove_quality_syntax_err
...
JS: remove quality tag from SyntaxError query
2025-10-15 09:45:02 +02:00
Napalys Klicius
45e8164f14
JS: remove quality tag from SyntaxError query
2025-10-15 09:07:11 +02:00
Joe Farebrother
e95e1a0386
Update integration test
2025-10-14 16:27:28 +01:00
Joe Farebrother
d8b37d0cde
Review suggestions - update comments and description
2025-10-14 16:03:40 +01:00
Paolo Tranquilli
b6aee67b42
Pytest: fix the build-as-test mode on Windows
...
This mode (enabled with `--codeql=build-as-test` or setting
`PYTEST_CODEQL=build-as-test` in the environment) is an experimental
mode that makes the pytest dist installation run as a test. This
allows to avoid running the installation in case nothing changed in the
dist, leveraging bazel's test caching mechanism, and accelrating the
dev loop when working on integration test code. This mode might become
the default for devs in the future.
Up until now, this mode was only working on POSIX systems. This commit
fixes it on Windows. The issue was `native_test` being unable to wrap
a `py_binary` target because of an `.exe` suffix mismatch. Turning the
`native_test` into a full-fledged `py_test` solves the issue.
2025-10-14 15:44:07 +02:00
Owen Mansel-Chan
2e0915ebed
Add missing links to "Creating path queries"
2025-10-14 13:21:52 +01:00
Henry Mercer
c2309a9aca
Merge pull request #20638 from github/post-release-prep/codeql-cli-2.23.3
...
Post-release preparation for codeql-cli-2.23.3
2025-10-14 13:03:22 +01:00
Jeroen Ketema
b6b3767460
Swift: Make tracer config handle resource-dirs passed to clang
2025-10-14 13:50:36 +02:00
Anders Schack-Mulligen
da0b168b2e
Merge pull request #20627 from hvitved/csharp/property-descriptor-get-value-neutral
...
C#: Add neutral model for `System.ComponentModel.PropertyDescriptor.GetValue`
2025-10-14 13:31:40 +02:00
github-actions[bot]
6dd07790ac
Post-release preparation for codeql-cli-2.23.3
2025-10-14 11:16:33 +00:00
Henry Mercer
aa3000df13
Merge pull request #20637 from github/henrymercer/update-expected-output
...
Actions: Update `SecretExfiltration` output for typo fix
2025-10-14 11:47:18 +01:00
Henry Mercer
b737bccb07
Python: Fix "be be" typos in qhelp
2025-10-14 11:33:24 +01:00
Henry Mercer
5310469d69
Actions: Update SecretExfiltration output for typo fix
2025-10-14 11:33:01 +01:00
Henry Mercer
836e3958a9
Merge pull request #20635 from github/release-prep/2.23.3
...
Release preparation for version 2.23.3
2025-10-14 11:17:48 +01:00
Henry Mercer
17352a101d
Rephrase C++ BMN changelog note
2025-10-14 11:13:23 +01:00
Henry Mercer
9466279909
Prefer code quotes for BMN
2025-10-14 11:10:42 +01:00
Henry Mercer
9507ec0853
Fix "be be" typos
2025-10-14 11:09:43 +01:00
github-actions[bot]
33542f7d40
Release preparation for version 2.23.3
2025-10-14 09:30:24 +00:00
REDMOND\brodes
55bbcee301
Crypto: Make WeakAsymmetricKeyGenSize a path problem.
2025-10-13 17:04:29 -04:00
REDMOND\brodes
7e8acd76c3
Crypto: Update WeakAsymmetricKeyGenSize to a path problem.
2025-10-13 15:48:32 -04:00
REDMOND\brodes
8b5a42328e
Crypto: Convert ReusedNonce.ql into a path problem.
2025-10-13 15:34:41 -04:00
REDMOND\brodes
7847e92670
Crypto: Update KDF iteration and count to be path problems
2025-10-13 15:30:53 -04:00
REDMOND\brodes
76128ed8dc
Crypto: Update InsecureIVorNonce to be a path problem.
2025-10-13 15:29:57 -04:00
Geoffrey White
93eb7ce1af
Rust: Accept test changes following suggested edit.
2025-10-13 19:28:40 +01:00
Geoffrey White
35f3fbf357
Rust: Accept consistency regressions.
2025-10-13 19:19:18 +01:00
REDMOND\brodes
bd068c2a69
Crypto: Updating expected file for weak asymmetric key gen size.
2025-10-13 12:08:07 -04:00
REDMOND\brodes
4b241d7065
Crypto: adding initial weak hash query overhaul and tests, but no expected file yet.
2025-10-13 12:04:51 -04:00
REDMOND\brodes
08abdb8c85
Crypto: Adding a "javaConstant" concept to handle config files.
2025-10-13 12:03:41 -04:00
Geoffrey White
1d7ccb6f2b
Update rust/ql/lib/codeql/rust/frameworks/mysql.model.yml
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-13 16:42:36 +01:00
yoff
ab78f2b724
Merge pull request #20630 from github/tausbn/python-fix-importerror-in-imp
...
Python: Fix `ImportError` in `imp.py` under Python 3.14
2025-10-13 17:31:47 +02:00
Simon Friis Vindum
d9c76f258e
Rust: Add suggested model for into_inner for tuples
2025-10-13 16:22:03 +02:00
Simon Friis Vindum
9e2ee04879
Merge branch 'main' into rust/model-actix-web
2025-10-13 16:04:12 +02:00
Joe Farebrother
9cb593b020
Update tests
2025-10-13 14:51:37 +01:00
Joe Farebrother
093b04f79f
Update comments
2025-10-13 14:51:30 +01:00
Joe Farebrother
696ec29dae
Upgrade integration tests
2025-10-13 14:51:24 +01:00
Joe Farebrother
1c54296545
Add change note
2025-10-13 14:51:17 +01:00
Joe Farebrother
c4781146c0
Remove experimental query and tests
2025-10-13 14:51:10 +01:00
Joe Farebrother
c799f93811
Update tests and add inline expectations
2025-10-13 14:51:04 +01:00
Joe Farebrother
e1cf3d30d2
Update documentation, rename things and add more comments to explain how the implementation works, remove filter for test code (prefer to filter in code scanning ui than in query logic)
2025-10-13 14:50:57 +01:00
Joe Farebrother
54aefe0dce
Copy experimental query to main
2025-10-13 14:50:51 +01:00
Taus
c4b27d5f28
Python: Fix ImportError in imp.py under Python 3.14
...
It seems `_ERR_MSG` was silently removed in Python 3.14, leading to an
`ImportError` when running the extractor.
To fix this, we explicitly set `_ERR_MSG` when the existing import fails
(using `_ERR_MSG_PREFIX` which is available in Python 3.14+, along with
the bits that make up the difference between this and `_ERR_MSG`).
2025-10-13 13:50:43 +00:00
Mathias Vorreiter Pedersen
b57243e073
Merge pull request #20579 from aschackmull/shared/rangeanalysis-joinorder
...
Rangeanalysis: Fix a bad join-order in boundedPhiRankStep.
2025-10-13 14:46:48 +02:00
Michael B. Gale
e65f8eacbc
Merge pull request #20609 from github/dependabot/go_modules/go/extractor/extractor-dependencies-5148baeadc
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2025-10-13 10:33:14 +01:00
dependabot[bot]
500421d891
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.28.0 to 0.29.0
- [Commits](https://github.com/golang/mod/compare/v0.28.0...v0.29.0 )
Updates `golang.org/x/tools` from 0.37.0 to 0.38.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.37.0...v0.38.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.29.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.38.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-13 03:14:48 +00:00
Tom Hvitved
2577452849
C#: Add neutral model for System.ComponentModel.PropertyDescriptor.GetValue
2025-10-12 09:06:54 +02:00
REDMOND\brodes
e76ced1513
Crypto: Updating weak asymmetric key gen to include key exchange.
2025-10-10 15:32:39 -04:00
REDMOND\brodes
d68f3cff8b
Crypto: InsecureIVorNonceSource now ignored null to avoid being too noisy.
2025-10-10 14:51:16 -04:00
REDMOND\brodes
ffd191d0e1
Crypto: missing new endpoint to get the creating operation for a key if known.
2025-10-10 14:50:50 -04:00
REDMOND\brodes
36673659ad
Crypto: Weak asymmetric key gen size fixes and test.
2025-10-10 14:49:35 -04:00
REDMOND\brodes
758759a304
Crypto: Reused nonce query updates and test updates to address false positives.
2025-10-10 12:25:31 -04:00
Geoffrey White
106bad2764
Rust: Add test cases for bad use of prepared statements as well.
2025-10-10 17:17:08 +01:00
Geoffrey White
c102ce41b7
Rust: Claim support for the two libraries.
2025-10-10 17:12:48 +01:00
Geoffrey White
859c1ef55d
Rust: Change note.
2025-10-10 17:11:20 +01:00
Geoffrey White
f16742bf74
Rust: Add models.
2025-10-10 17:09:46 +01:00
Michael B. Gale
47632cdbd1
C#: Improve log messages in DotNetCliInvoker
2025-10-10 17:08:24 +01:00
Owen Mansel-Chan
944e116cc0
Add path query example to other lang data flow docs
2025-10-10 16:22:50 +01:00
Geoffrey White
f15a34f361
Rust: Add test cases for transactions as well.
2025-10-10 16:10:57 +01:00
Geoffrey White
883e00558a
Rust: Add test cases for the mysql_async library.
2025-10-10 16:10:56 +01:00
Geoffrey White
ef93b364da
Rust: Add test cases for the mysql library.
2025-10-10 15:05:21 +01:00
Owen Mansel-Chan
3c80690ba8
Fix link syntax
2025-10-10 13:58:19 +01:00
Michael Nebel
9ec0c9d5f2
C#: Add change note.
2025-10-10 14:06:45 +02:00
Michael Nebel
56ff0baba3
C#: Use * IDs for source locations.
2025-10-10 14:03:49 +02:00
Michael Nebel
ab9f78fee2
Merge pull request #20617 from michaelnebel/csharp/unboundlocations
...
C#: Reduce location TRAP creation for Fields, Parameters, Constructors, Destructors and Operators.
2025-10-10 13:47:57 +02:00
Tom Hvitved
d842107633
Merge pull request #20621 from hvitved/rust/static-target-addressable
...
Rust: Include tuple structs/variants in `CallExprBase.getStaticTarget()`
2025-10-10 13:00:28 +02:00
Michael Nebel
b8c3a28de3
C#: Add change note.
2025-10-10 11:47:19 +02:00
Owen Mansel-Chan
100463572b
Add path query example to python data flow docs
2025-10-10 10:37:09 +01:00
Owen Mansel-Chan
2930e793f1
Fix mistakes in Go data flow examples in docs
2025-10-10 10:36:23 +01:00
Owen Mansel-Chan
87f32dc49f
Merge pull request #20613 from owen-mc/go/sanitize-simpletypes-request-forgery
...
Go: sanitize simple types in `go/request-forgery`
2025-10-10 09:15:30 +01:00
Tom Hvitved
0fc2875527
Rust: Include tuple structs/variants in CallExprBase.getStaticTarget()
2025-10-10 09:48:08 +02:00
Owen Mansel-Chan
2c6af0cdb7
Merge pull request #20580 from owen-mc/codeowners-for-shared-libs-and-catchall
...
Add code owners for `/shared/` and a catch-all
2025-10-09 16:31:17 +01:00
Michael Nebel
e8fd843e52
C#: Update some tuple related tests.
2025-10-09 16:33:47 +02:00
Owen Mansel-Chan
11f20457e2
Fix team name
2025-10-09 14:15:07 +01:00
REDMOND\brodes
fba80870a6
Crypto: Example query reorg - moving queries of this PR into 'examples' subdirectories.
2025-10-09 09:03:00 -04:00
REDMOND\brodes
deb43735be
Crypto: Minor fixes to WeakSymmetricCipher, change to a singular name for consistency.
2025-10-09 08:39:39 -04:00
yoff
5109babd92
java: add qldoc
...
These interfaces were previously in a .ql file.
Also, use the XXAccess variants.
2025-10-09 14:20:28 +02:00
REDMOND\brodes
3dedda4233
Merge branch 'santander-java-crypto-check' of https://github.com/bdrodes/codeql into santander-java-crypto-check
2025-10-09 08:18:04 -04:00
REDMOND\brodes
c6cc4fff51
Crypto: Minor fixes to WeakBlockModes, WeakHash to consider SHA3 ok, Added unknown hash.
2025-10-09 08:16:28 -04:00
Michael Nebel
89681a49e6
C#: Only extract the unbound locations for constructors, destructors and user defined operators and use this in the QL code.
2025-10-09 14:13:27 +02:00
Michael Nebel
02428fc467
C#: Add some location examples for constructors, destructors and operators.
2025-10-09 14:13:24 +02:00
Michael Nebel
051b83f036
C#: Only extract the unbound location for fields and parameters and use this location in the QL code.
2025-10-09 14:04:13 +02:00
Michael Nebel
f200c3ce85
C#: Add field location example.
2025-10-09 14:04:10 +02:00
Michael Nebel
b9eae31172
C#: Add parameter locations test.
2025-10-09 14:04:08 +02:00
Nicolas Will
fdba3acc4b
Crypto: Fix QL-for-QL alert and auto-format
2025-10-09 13:59:51 +02:00
yoff
1ad239459f
java: move shared code into Concurrency.qll
2025-10-09 13:36:35 +02:00
Owen Mansel-Chan
37151791b4
Add change notes
2025-10-09 12:26:32 +01:00
Owen Mansel-Chan
3cbce80d0b
Add SimpleTypeSanitizer to go/request-forgery
2025-10-09 12:17:21 +01:00
Owen Mansel-Chan
7599fdd8fa
Add request forgery test for numeric type
2025-10-09 12:17:19 +01:00
Owen Mansel-Chan
0c9cd09140
Make NumericOrBooleanSanitizer easier to access and rename it
2025-10-09 12:17:17 +01:00
yoff
f90e9dbb5e
java: favour inline_late over inline
...
This gives much greater control over the join-order
2025-10-09 13:01:25 +02:00
yoff
26c1b2f143
java: adjust test expectations; new queries are enabled in extended
2025-10-09 12:29:42 +02:00
Idriss Riouak
f52e3dcb7f
Merge pull request #20601 from github/idrissrio/java-localhost
...
Java integration test: wait for test servers to come up before running test
2025-10-09 10:57:11 +02:00
Geoffrey White
a7c166d161
Merge pull request #20599 from geoffw0/rust-ga-change-note
...
Rust: Add change note for Rust GA.
2025-10-09 08:51:44 +01:00
yoff
830f02af1f
java: fixes from the CI bots
2025-10-09 09:37:31 +02:00
yoff
93fc287ef1
java: add auto-generated overlay annotations
2025-10-09 09:25:57 +02:00
yoff
a1671ea8af
java: small cleanups
...
- add missing qldoc
- remove use of `getErasure`
- remove use of `getTypeDescriptor`
- define `ExposedField`
2025-10-09 09:16:25 +02:00
yoff
821b1de5b3
java: inline char pred
2025-10-09 09:16:25 +02:00
yoff
01ddc11fa7
java: address some review comments
2025-10-09 09:16:25 +02:00
yoff
77734f83d5
java: better detection of thread safe fields.
...
Identified by triage of DCA results.
Previously, we did not use the erased type, so would not recgnize `CompletableFuture<R>`.
We now also recognize safe initializers.
2025-10-09 09:16:25 +02:00
yoff
bf138693a3
java: update expectations for java-code-quality suite
2025-10-09 09:16:07 +02:00
yoff
096d5f2a56
java: implement SCC contraction of the call graph
...
Our monitor analysis would be fooled by cycles in the call graph,
since it required all edges on a path to a conflicting access to be either
- targetting a method where the access is monitored (recursively) or
- monitored locally, that is the call is monitored in the calling method
For access to be monitored (first case) all outgoing edges (towards an access) need
to satisfy this property. For a loop, that is too strong, only edges out of the loop
actually need to be protected. This led to FPs.
2025-10-09 09:14:16 +02:00
yoff
5b30153113
java: add Escaping query (P1)
2025-10-09 09:14:16 +02:00
yoff
328b53576a
java: add SafePublication query (P2)
2025-10-09 09:14:16 +02:00
yoff
fe487e8bf0
java: add ThreadSafe query (P3)
...
Co-authored-by: Raúl Pardo <raul.pardo@protonmail.com >
Co-authored-by: SimonJorgensenMancofi <simon.jorgensen@mancofi.dk >
Co-authored-by: Bjørnar Haugstad Jåtten <bjornjaat@hotmail.com >
2025-10-09 09:14:16 +02:00
idrissrio
546d59ff9d
Java: Wait for test HTTP servers to be ready before running buildless test
2025-10-09 08:37:54 +02:00
REDMOND\brodes
f524de4afc
Crypto: Updating insecure iv/nonce to consider if an operation is known for it, and if so do not alert on non-secure random if it is tied to decryption
2025-10-08 16:27:18 -04:00
REDMOND\brodes
7a57496c54
Crypto: Missing test update.
2025-10-08 14:16:47 -04:00
REDMOND\brodes
11e81395b5
Crypto: Updated default flows to use taint tracking (this is needed to fix false positives in the unknown IV/Nonce query). Add the unknown IV/Nonce query and associated test cases. Fix unknown IV/Nonce query to focus on cases where the oepration isn't known or the operation subtype is not encrypt or wrap.
2025-10-08 14:14:17 -04:00
REDMOND\brodes
75b5a9fda8
Crypto: Update general regression test results to account for removal of JCA random source.
2025-10-08 12:55:11 -04:00
REDMOND\brodes
8e10e1937d
Crypto: Adding query for unknown IV initialization.
2025-10-08 12:49:54 -04:00
REDMOND\brodes
83ff70bcd8
Crypto: Adding tests for insecure iv or nonce. Updating generic literal sources to include array literals.
2025-10-08 12:47:58 -04:00
Jon Janego
83519a9fcc
Merge pull request #20606 from github/changedocs-2.23.2
...
changedocs for 2.23.2
2025-10-08 11:07:58 -05:00
Jon Janego
4534d67107
Merge branch 'main' into changedocs-2.23.2
2025-10-08 11:00:45 -05:00
Jon Janego
9c610e8bab
Update links in CodeQL CLI changelog
2025-10-08 10:57:17 -05:00
Owen Mansel-Chan
2f22acdd06
Remove hashing example when not covered by query
2025-10-08 16:48:57 +01:00
Jon Janego
f8626cd417
changedocs for 2.23.2
2025-10-08 10:42:10 -05:00
REDMOND\brodes
bd34b6ce02
Crypto: Removing JCA model of random, need to reassess this as this impacts the insecure IV/Nonce query. Updated name of the Insecure nonce query to be InsecureIVorNonce
2025-10-08 11:41:21 -04:00
REDMOND\brodes
143be8cc35
Crypto: Remove redundant queries.
2025-10-08 10:26:05 -04:00
REDMOND\brodes
1b1b333e8b
Crypto: Modify suggested queries per misc. side conversations on standards. Remove redundant query. Fix QL-for-QL issues.
2025-10-08 10:21:06 -04:00
REDMOND\brodes
cf88e3f52d
Crypto: Standardize naming where use of "family" and "type" have been used. Prefer 'type'.
2025-10-08 09:54:53 -04:00
REDMOND\brodes
bba541c016
Merge remote-tracking branch 'upstream/java-crypto-check' into santander-java-crypto-check
2025-10-08 09:30:26 -04:00
Owen Mansel-Chan
0bcdb91639
Improve qhelp for broken crypto algo queries
...
Previously it focussed too much on the risk of data being decrypted,
and didn't explain why using weak algorithms is a problem in other
contexts.
2025-10-08 14:10:54 +01:00
Owen Mansel-Chan
2a1c9d8ec1
Remove erroneous comma
2025-10-08 14:08:36 +01:00
Owen Mansel-Chan
90db349f4b
State that ruby broken crypto algo doesn't deal with hashing
2025-10-08 14:05:00 +01:00
Geoffrey White
d39c8d155c
Merge pull request #20574 from geoffw0/rustga3
...
Rust: Docs updates
2025-10-08 11:04:29 +01:00
Anders Schack-Mulligen
2d9b249367
Merge pull request #20600 from aschackmull/java/constant-exp-fix
...
Java: Fix bug in ConstantExpAppearsNonConstant.
2025-10-08 11:40:50 +02:00
Michael Nebel
4cc6a07620
Merge pull request #20593 from michaelnebel/csharp/reducetypeparameterandtuplelocations
...
C#: Reduce Type Parameter- and Tuple type location extraction.
2025-10-08 11:36:32 +02:00
Anders Schack-Mulligen
99f5dcaaa4
Java: Fix bug in ConstantExpAppearsNonConstant.
2025-10-08 10:32:51 +02:00
Michael Nebel
cdfa58645a
C#: Add change-note.
2025-10-08 10:14:51 +02:00
Idriss Riouak
28fe20e3e4
Merge pull request #20595 from github/idrissrio/java-lambda
...
Java: Add integration test for buildless lambda recovery
2025-10-08 09:53:29 +02:00
Paolo Tranquilli
75a7507017
Merge pull request #20590 from github/redsun82/rust-test-compatibility
...
Rust: test with the 1.90 toolchain
2025-10-08 09:00:30 +02:00
Asger F
10c9b747a5
Merge pull request #20586 from asgerf/js/api-graphs-block-this
...
JS: Restrict receiver-flow in API graphs
2025-10-08 08:41:56 +02:00
Geoffrey White
8a2be0910c
Rust: Add change note for Rust GA.
2025-10-07 23:10:31 +01:00
Ian Lynagh
2918d30697
Merge pull request #20597 from github/igfoo/bmn-ga
...
C++: Add a changenote for C/C++ BMN GA
2025-10-07 22:57:32 +01:00
Alexander Eyers-Taylor
825d3709d8
Merge pull request #20386 from github/alexet/overlay-informed-dataflow
...
Dataflow: Overlay informed dataflow.
2025-10-07 20:22:57 +01:00
Alex Eyers-Taylor
77d4af153d
Java: Make some query libraries local.
2025-10-07 18:24:37 +01:00
Alex Eyers-Taylor
193cd46a76
DataFlow: Adress comments on overlay informed dataflow
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
7a8d2392ee
Daatflow: Fix bug
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
542bdf0792
Java: Use Overlay dataflow in java.
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
3c110f2eb8
DataFlow: Add code for merging base with overlay.
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
c49e2ab2da
DataFlow: Add code to do overlay informed dataflow.
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
82e4fc9f0f
AlertFiltering: Expose filtering further.
2025-10-07 17:52:12 +01:00
Alex Eyers-Taylor
8c02130bcf
DataFlow: Rearrange files to group the parts that can be shared with overlay aware.
2025-10-07 17:52:12 +01:00
Ian Lynagh
791a92b146
C++: Add a changenote for C/C++ BMN GA
2025-10-07 17:32:36 +01:00
idrissrio
f69e5f5ffc
Java: Accept new test results after extractor changes
2025-10-07 16:55:53 +02:00
idrissrio
55b15a261a
Java: Add integration test for buildless lambda recovery
2025-10-07 16:55:52 +02:00
Michael Nebel
eb84b1441a
C#: Add some locations tests for type parameters and tuple types.
2025-10-07 15:26:33 +02:00
Michael Nebel
f0842e430d
C#: Respect the context when extracting locations for type parameters and tuple typles.
2025-10-07 15:26:31 +02:00
Anders Schack-Mulligen
18e33b193e
Merge pull request #20589 from aschackmull/java/array-entrypoint-read-taint
...
Java: Allow taint-read-steps for array sources.
2025-10-07 15:04:03 +02:00
Michael Nebel
ea4d4751f3
Merge pull request #20581 from michaelnebel/csharp/reducetyplocationtuples
...
C#: Reduce location tuple extraction for named types.
2025-10-07 14:50:36 +02:00
Paolo Tranquilli
122b7ebba8
Rust: accept test changes
2025-10-07 14:49:08 +02:00
Michael Nebel
584d8c5377
C#: Add change-note.
2025-10-07 14:24:21 +02:00
Anders Schack-Mulligen
7dadbc43fb
Java: Add change note.
2025-10-07 13:51:49 +02:00
Owen Mansel-Chan
b0c8fcda35
Merge pull request #20591 from owen-mc/shared/update-inline-expectations-qldoc
...
Shared: Correct comment about empty `.expected` file
2025-10-07 12:47:11 +01:00
Anders Schack-Mulligen
f0bfd7053e
Java: Add test case.
2025-10-07 13:40:44 +02:00
Owen Mansel-Chan
db9bb83898
Move rule for /ql/ for consistency
2025-10-07 12:33:32 +01:00
Owen Mansel-Chan
f83b80a584
Add codeql-alert-coverage-eng as catch-all
2025-10-07 12:32:38 +01:00
Owen Mansel-Chan
101d2ddd4f
Use new team for shared library reviewers
2025-10-07 12:12:49 +01:00
Kasper Svendsen
0396756cd9
Merge pull request #20184 from Marcono1234/patch-1
...
Doc: Fix link to `warnOnImplicitThis` GitHub docs
2025-10-07 13:08:32 +02:00
Kasper Svendsen
74fb46c849
Merge branch 'main' into patch-1
2025-10-07 12:59:56 +02:00
Owen Mansel-Chan
bf76cab7e0
Correct comment about empty .expected file
2025-10-07 11:48:25 +01:00
Idriss Riouak
c809cce170
Merge pull request #20588 from github/idrissrio/macos-26
...
Java: Fix buildless test HTTP server binding on macOS26
2025-10-07 12:17:51 +02:00
Paolo Tranquilli
ace2ff5775
Rust: test with the 1.90 toolchain
2025-10-07 11:32:20 +02:00
Nora Dimitrijević
c749607db8
Bump python extractor version to 7.1.5
2025-10-07 11:22:16 +02:00
Anders Schack-Mulligen
11665bea0a
Java: Allow taint-read-steps for array sources.
2025-10-07 10:10:02 +02:00
Michael Nebel
f9d62a0efc
C#: Narrow the use of unbound declaration locations to nested types.
2025-10-07 09:43:39 +02:00
idrissrio
5c6d187ef2
Java: Fix buildless test HTTP server binding on macOS26
2025-10-07 09:24:55 +02:00
Kevin Stubbings
88f9f90236
Fix merge problems
2025-10-06 22:41:16 -07:00
Kevin Stubbings
0d3b65a35b
Resolved merge conflicts and completed merge
2025-10-06 22:37:28 -07:00
Nicolas Will
e2a8d58e02
Merge pull request #20583 from bdrodes/jca_signature_extensions
...
Crypto: Add JCA signatures, RNG, and unit tests
2025-10-06 18:51:30 +02:00
REDMOND\brodes
cb812b47ed
Crypto: more non-ascii removal.
2025-10-06 11:53:39 -04:00
Nicolas Will
9e278b9fa4
Merge pull request #20258 from bdrodes/java_nonce_reuse_tests
...
Crypto: Add reuse nonce test for Java
2025-10-06 17:42:25 +02:00
REDMOND\brodes
017a956d5e
Crypto: more non-ascii removal.
2025-10-06 11:34:45 -04:00
REDMOND\brodes
abeb3141b1
Crypto: Formatting test cases, more removal of non-ascii
2025-10-06 10:46:09 -04:00
Michael Nebel
6149608c03
C#: Always use the unbound type declaration location for type location.
2025-10-06 16:41:12 +02:00
Michael Nebel
b362b4657f
C#: Add some examples with nested types.
2025-10-06 16:40:13 +02:00
Nicolas Will
15e9bb9cc1
Format Test and update .expected
2025-10-06 16:29:25 +02:00
REDMOND\brodes
96f6832a6f
Crypto: Updating expected files for unit tests.
2025-10-06 10:07:15 -04:00
REDMOND\brodes
606aef38cb
Crypto: Removing non-ascii characters from unit tests
2025-10-06 09:56:14 -04:00
Ben Rodes
b32a6407b9
Update java/ql/lib/experimental/quantum/JCA.qll
...
Co-authored-by: Nicolas Will <nicolaswill@github.com >
2025-10-06 09:04:19 -04:00
Idriss Riouak
4a1157bff9
Merge pull request #20491 from github/idrissrio/java-maven
...
Java: Integration tests for Maven 4
2025-10-06 14:57:22 +02:00
Nicolas Will
378eb18db5
Merge branch 'main' into jca_signature_extensions
2025-10-06 14:50:15 +02:00
Nicolas Will
579da1dbd6
Fix QL-for-QL alerts
2025-10-06 14:45:45 +02:00
Michael Nebel
7b61a5fffa
C#: Update some test expected output that uses the location of the implicit constructor.
2025-10-06 14:02:17 +02:00
Michael Nebel
0ba9b80d08
C#: Add some more partial class related tests.
2025-10-06 14:02:15 +02:00
Michael Nebel
12dc65d170
C#: For implicit constructors, pick a unique source location as reporting location (if any).
2025-10-06 14:02:13 +02:00
Michael Nebel
b5592ad42f
C#: Add partial class example.
2025-10-06 14:02:12 +02:00
Michael Nebel
0cd7c37209
C#: Avoid extracting duplicate type locations.
2025-10-06 14:02:10 +02:00
Michael Nebel
f2b45b8726
C#: Add type locations test.
2025-10-06 14:02:07 +02:00
Geoffrey White
1c8ee0af89
Rust: Fix backticks.
2025-10-06 11:40:41 +01:00
Geoffrey White
a31c10c4fa
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-10-06 11:37:40 +01:00
Nora Dimitrijević
ece121070b
Add change note.
2025-10-06 12:31:21 +02:00
Nora Dimitrijević
9d7c52423a
Basic python overlay tests
...
The base source is in basic-overlay-eval/orig_src,
the overlay source is in basic-full-eval.
We run two tests: a full evaluation test in basic-full-eval,
and an overlay evaluation test in basic-overlay-eval.
The test source and expected results are the SAME,
due to the .qlref, meaning we expect the same results
for full and overlay evaluation.
2025-10-06 12:30:08 +02:00
Nora Dimitrijević
20d4e429ca
Add consistency query (exactly one path for every entity)
2025-10-06 11:47:56 +02:00
Nora Dimitrijević
7174d4c8ba
Overlay.qll: discard predicates
...
for dbscheme elements with direct or indirect location links in dbscheme.
- Unify discardable entities under one Discardable superclass.
- Two discard predicates depending on TRAP ID type.
- Future-proof the XML and Yaml discard predicates for when their
extractors become incremental.
2025-10-06 11:47:51 +02:00
Nora Dimitrijević
1a9683f986
Add @top database type
2025-10-06 11:47:14 +02:00
Nora Dimitrijević
6f208e9dec
Write overlay metadata at end of extraction.
2025-10-06 11:47:12 +02:00
Nora Dimitrijević
49b18db044
Python extractor: in overlay mode, traverse only changed files
...
- fall back to full extraction on overlay changes json read error
- we filter both root modules and (transitive) imports against the overlay-changes json.
2025-10-06 11:47:09 +02:00
Asger F
587ad5c600
JS: Refine criteria so that explicit this-passing is not affected
2025-10-06 11:43:18 +02:00
Asger F
4d33190241
JS: Restrict this-argument passing in API graphs
2025-10-06 11:42:36 +02:00
Asger F
84c788a027
JS: Add API graph test for explicit 'this' passing
2025-10-06 11:40:40 +02:00
Nora Dimitrijević
e0cf719cb9
Path transformer: handle Windows-style paths
...
And don't add slash to start of path patterns on Windows.
2025-10-06 11:37:04 +02:00
Nora Dimitrijević
29b1a7403b
Support CODEQL_PATH_TRANSFORMER env var in python path renamer
...
The new name is required by overlay support.
2025-10-06 11:37:02 +02:00
Nora Dimitrijević
1574b5fd91
Add synthetic data to dbscheme.stats for databaseMetadata/overlayChangedFiles
2025-10-06 11:37:00 +02:00
Nora Dimitrijević
1c3a7f2b1e
Add database upgrade/downgrade scripts
2025-10-06 11:36:58 +02:00
Nora Dimitrijević
a88d3397cd
Add overlay builtins to python dbscheme
2025-10-06 11:36:56 +02:00
Nora Dimitrijević
4c9ca93cdf
Turn on overlay support in codeql-extractor.yml
2025-10-06 11:36:54 +02:00
Nora Dimitrijević
dac50fa0c1
Enable overlay compilation in lib/qlpack.yml
2025-10-06 11:36:51 +02:00
idrissrio
a22ec2d9c6
Java: Accept new test results after extractor changes
2025-10-06 11:18:16 +02:00
idrissrio
f6b6a007b1
Java: Add integration tests for Maven 4
2025-10-06 11:18:15 +02:00
Simon Friis Vindum
1f2cca7d00
Merge pull request #20547 from paldepind/rust/function-as-lambda
...
Rust: Handle functions as data flow lambdas
2025-10-06 10:15:55 +02:00
REDMOND\brodes
9fa30a3884
Crypto: Updating algorithm string literals and key generation algorithm literal sources to include signatures.
2025-10-03 18:09:27 -04:00
REDMOND\brodes
9c5765a48c
Crypto: Add missing string constants for signature algorithms.
2025-10-03 17:17:07 -04:00
REDMOND\brodes
66e9d7671d
Crypto: Add jca unit tests.
2025-10-03 13:32:02 -04:00
REDMOND\brodes
f4fea6d635
Crypto: Fix consistency update with "other" vs "unknown" naming convetions for openssl.
2025-10-03 12:10:48 -04:00
REDMOND\brodes
f1eb6511a7
Crypto: Add modeling for JCA signatures. Make consistent use of "unknown" or "other" for unrecognized types.
2025-10-03 12:07:37 -04:00
Anders Schack-Mulligen
84a65bef43
C#: Add change note.
2025-10-03 16:29:56 +02:00
Anders Schack-Mulligen
fad49ffbfb
C++: Accept qltest change (useless guard tautology removed).
2025-10-03 15:59:54 +02:00
Anders Schack-Mulligen
613c789378
C#: Remove some obsolete tests.
2025-10-03 15:29:36 +02:00
Anders Schack-Mulligen
b392767252
C#: Accept qltest changes.
2025-10-03 15:29:35 +02:00
Anders Schack-Mulligen
df6172b1f3
C#: Update nullness qltest
2025-10-03 15:29:35 +02:00
Anders Schack-Mulligen
64810f6fb5
C#: Improve ConstantCondition.ql
2025-10-03 15:29:34 +02:00
Anders Schack-Mulligen
587901bc8a
C#: Replace NullMaybe.ql implementation.
2025-10-03 15:29:34 +02:00
Anders Schack-Mulligen
6cfadbfe90
C#: Clean up.
2025-10-03 15:29:33 +02:00
Anders Schack-Mulligen
c2d21e95b9
C#: Instantiate ControlFlowReachability and implement new nullness.
2025-10-03 15:29:33 +02:00
Anders Schack-Mulligen
449059f1ac
C#: Disable FinallySplit, BooleanSplit, and LoopSplit
2025-10-03 15:29:32 +02:00
Anders Schack-Mulligen
b52a9a818c
C#: Instantiate shared Guards.
2025-10-03 15:29:32 +02:00
Anders Schack-Mulligen
c01ac307b0
Guards: Disregard more trivial guards.
2025-10-03 15:29:31 +02:00
Anders Schack-Mulligen
ca7d56023a
ControlFlow: Rename getAPhiInput to getAnInput.
2025-10-03 15:29:31 +02:00
Anders Schack-Mulligen
64caae554a
Guards: Refactor representation of false.
2025-10-03 15:29:30 +02:00
Simon Friis Vindum
402d58bc3a
Merge pull request #20553 from paldepind/rust-ruby/update-cargo-deps
...
Rust, ruby: Update cargo dependencies
2025-10-03 14:50:55 +02:00
Owen Mansel-Chan
ef1fe6cabc
Add code owners for /shared/
2025-10-03 10:40:45 +01:00
Anders Schack-Mulligen
2e9e357d7e
Rangeanalysis: Fix a join-order.
2025-10-03 10:52:52 +02:00
Jeroen Ketema
7807804f4d
Merge pull request #20573 from MathiasVP/fix-bad-magic-on-get-file
...
C++: Fix bad magic on `Element.getFile`
2025-10-03 01:21:32 +02:00
Owen Mansel-Chan
218c2a59eb
Merge pull request #14751 from owen-mc/go/feature/use-use-flow
...
Go: Switch from def-use flow to use-use flow
2025-10-02 23:53:54 +01:00
REDMOND\brodes
a46bd4c4ca
Crypto: JCA random number generation model.
2025-10-02 15:21:28 -04:00
REDMOND\brodes
507174e44f
Crypto: Fix bug in MacOperationNode constructor with detecting if the operation is also used for signatures.
2025-10-02 15:20:59 -04:00
Geoffrey White
479e735e77
Rust: Mirror information from supported-versions-compilers.rst in system-requirements.rst.
2025-10-02 19:00:30 +01:00
Geoffrey White
fb738f2d02
Rust: Update creating-path-queries.rst.
2025-10-02 18:36:39 +01:00
Ben Rodes
e823d80f0c
Merge branch 'main' into java_nonce_reuse_tests
2025-10-02 13:31:40 -04:00
Geoffrey White
3b1d6cd3d9
Rust: Add missing link (to existing doc).
2025-10-02 18:31:26 +01:00
Nicolas Will
cbe34f101b
Merge pull request #19944 from bdrodes/signature_model_refactor
...
Crypto: Refactor Model and signatures, fix models, add unit tests
2025-10-02 19:30:46 +02:00
Geoffrey White
4ec18c8a79
Rust: Remove the experimental note in supported-frameworks.rst.
2025-10-02 18:21:52 +01:00
Nicolas Will
4901cdf929
Crypto: Refactor and change casts to super
2025-10-02 18:43:38 +02:00
Mathias Vorreiter Pedersen
bc0b87632d
C++: Fix bad magic on Element.getFile when running on InconsistentCheckReturnNull.qll:
...
Evaluated non-recursive predicate Element::Element.getFile/0#dispred#536cb5f3#bb@f6f5329i in 182326ms (size: 50437).
Evaluated relational algebra for predicate Element::Element.getFile/0#dispred#536cb5f3#bb@f6f5329i with tuple counts:
2029351 ~0% {2} r1 = SCAN `Expr::Expr.getLocation/0#dispred#0a3d90c6` OUTPUT In.1, In.0
2029351 ~0% {2} | JOIN WITH `Location::Location.getStartLine/0#d54f9e6c` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1168789 ~0% {2} | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
5533128288 ~0% {3} | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
50413 ~0% {2} | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
3043 ~0% {2} r2 = JOIN `project#InconsistentCheckReturnNull::relevantFunctionCall/2#d18cd566` WITH `Expr::Expr.getLocation/0#dispred#0a3d90c6` ON FIRST 1 OUTPUT Rhs.1, Lhs.0
3043 ~0% {2} r3 = JOIN r2 WITH locations_default ON FIRST 1 OUTPUT Rhs.4, Lhs.1
1945 ~3% {2} | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
9106248 ~2% {3} | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
0 ~0% {2} | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
3043 ~0% {3} r4 = JOIN r2 WITH locations_default ON FIRST 1 OUTPUT _, Lhs.1, Rhs.4
3043 ~0% {2} | REWRITE WITH Tmp.0 := 1, Out.0 := (In.2 + Tmp.0) KEEPING 2
2013 ~0% {2} | JOIN WITH `InconsistentCheckReturnNull::assertInvocation/2#b2a4c9e3_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
9621327 ~0% {3} | JOIN WITH `Location::Location.getContainer/0#9edabfb6_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
24 ~3% {2} | JOIN WITH `Element::Element.getLocation/0#dispred#6c3f5b09#bf` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
50437 ~0% {2} r5 = r1 UNION r3 UNION r4
return r5
2025-10-02 17:36:21 +01:00
Owen Mansel-Chan
f35d28de45
Change note for bug fix in go/unvalidated-url-redirection
2025-10-02 17:03:55 +01:00
Owen Mansel-Chan
cce44b1f54
Update change notes for api changes
2025-10-02 16:52:16 +01:00
Owen Mansel-Chan
4d4862899e
Preserve old behaviour of Write.writesComponent
2025-10-02 16:50:18 +01:00
REDMOND\brodes
9673b81677
Crypto: Update JCA 'wihHmac" raw name to be the entire raw string, not just "Hmac"
2025-10-02 11:49:23 -04:00
REDMOND\brodes
704a06e1fa
Crypto: Update JCA PBKDF2 modeling: 1) add further inheritance structures to make the inheritance decomposition and caveats clearer, and 2) use getConsumer to establish the hash and hmac consumer. Update the Model to expect hash node types specifically for HMAC getHashALgorithmOrUnknown.
2025-10-02 11:45:13 -04:00
Owen Mansel-Chan
d8891e34d1
Small improvement to go/unhandled-writable-file-close
2025-10-02 15:15:51 +01:00
REDMOND\brodes
850c1ec12d
Crypto: Fix use of a member where a singleton set literal exists
2025-10-02 09:20:40 -04:00
REDMOND\brodes
b08533b322
Crypto: Fix missing output variable
2025-10-02 09:10:50 -04:00
REDMOND\brodes
c37b7c1389
Merge branch 'signature_model_refactor' of https://github.com/bdrodes/codeql into signature_model_refactor
2025-10-02 09:05:09 -04:00
REDMOND\brodes
38421cec94
Crypto: Missing casing fix for JCA classes
2025-10-02 09:04:23 -04:00
Ben Rodes
d251b3f9f7
Merge branch 'main' into signature_model_refactor
2025-10-02 09:02:34 -04:00
REDMOND\brodes
329a7dee1c
Crypto: Fixing JCA class naming casing for PBKDF2 classes.
2025-10-02 09:02:17 -04:00
Tom Hvitved
b4c979f586
Merge pull request #20548 from hvitved/rust/macro-call-resolution
...
Rust: Macro call resolution
2025-10-02 14:54:10 +02:00
Jeroen Ketema
a34d6d484a
Merge pull request #20485 from MathiasVP/use-shared-guards-library
...
C++: Switch to the shared Guards library
2025-10-02 14:19:49 +02:00
Owen Mansel-Chan
7fdda87b06
Fix go/impossible-interface-nil-check for separate post-update nodes
...
When tracing back from nil checks on interfaces, ignore post-update
nodes. There will always be a corresponding pre-update node that
contains the information we want.
2025-10-02 12:34:58 +01:00
Michael Nebel
b5aa972bd1
Merge pull request #20525 from michaelnebel/csharp/reducelocationtuples
...
C#: Reduce location tuples.
2025-10-02 12:32:35 +02:00
Michael Nebel
57efa05215
C#: Add change note.
2025-10-02 11:34:14 +02:00
Tom Hvitved
f8b104d174
Rust: Use doubleBoundedFastTC for resolving $crate paths
2025-10-02 11:22:56 +02:00
Philip Ginsbach
d889fa8d39
Merge pull request #20571 from github/ginsbach/MoreAnnotationDocs
...
document `extensible` and `additional` in QL reference and spec
2025-10-02 09:11:06 +01:00
Philip Ginsbach
a2d31be152
improve the wording based on PR review feedback
2025-10-02 09:02:20 +01:00
Michael Nebel
4f833ca7fe
Merge pull request #20513 from ewillonermsft/systemwebhttprequest-test-stubs
...
Add additional SystemWeb HttpRequset properties to C# test stubs
2025-10-02 09:22:55 +02:00
Michael Nebel
191dae47fd
C#: Add a stub for the System.Uri class for the CWE-611 test.
2025-10-01 14:44:54 -07:00
ewillonermsft
6f57e5a13e
Merge branch 'main' into systemwebhttprequest-test-stubs
2025-10-01 14:33:09 -07:00
REDMOND\brodes
d49efefefa
Crypto: Fix for non-monotonic recursion in JCA
2025-10-01 14:36:26 -04:00
Mark C
f38ab45e94
removed all @security.severity ratings to keep the main impartial
2025-10-01 17:49:45 +01:00
Mathias Vorreiter Pedersen
011739cbd9
Merge branch 'main' into use-shared-guards-library
2025-10-01 17:21:05 +01:00
Mathias Vorreiter Pedersen
6eb2aad7da
Merge pull request #20569 from aschackmull/guards/uniquevalue-perf
...
Guards: Improve performance for phi nodes with many incoming constant values.
2025-10-01 17:19:42 +01:00
Owen Mansel-Chan
2629369c93
Improve additional flow step for Host field
2025-10-01 16:18:05 +01:00
Philip Ginsbach
f0b39099e3
discuss 'extensible' whenever the spec mentions 'external'
2025-10-01 16:18:04 +01:00
Owen Mansel-Chan
c006777714
Simplify PathAssignmentBarrier
2025-10-01 16:18:03 +01:00
Philip Ginsbach
3159b299f7
member predicates cannot be 'external'
2025-10-01 16:18:02 +01:00
Owen Mansel-Chan
6d6852fb8d
Test PathAssignmentBarrier for OpenUrlRedirect
2025-10-01 16:18:02 +01:00
Philip Ginsbach
341a1191a3
language reference section on 'extensible' annotation
2025-10-01 16:18:00 +01:00
Owen Mansel-Chan
f0f5fc7eac
Improve SSRF additional flow step
2025-10-01 16:18:00 +01:00
Philip Ginsbach
bd3bcf981a
language reference section on 'additional' annotation
2025-10-01 16:17:58 +01:00
Owen Mansel-Chan
c9ce2c8043
Add test for assignment to Url.Host field
2025-10-01 16:17:58 +01:00
Owen Mansel-Chan
8b04d0a2b9
Convert SSRF tests to inline expectations tests
2025-10-01 16:17:57 +01:00
Philip Ginsbach
7893768cb2
update annotation docs to reference type unions
2025-10-01 16:17:55 +01:00
Philip Ginsbach
8160ef6e81
update annotation docs to reference signatures
2025-10-01 16:17:53 +01:00
Owen Mansel-Chan
6e4dbe8e22
Fix SafeUrlFlow so test passes
2025-10-01 16:17:52 +01:00
Owen Mansel-Chan
620ae33e0c
Make SafeUrlFlow test more comprehensive (failing)
2025-10-01 16:17:04 +01:00
REDMOND\brodes
92dac0341c
Crypto: Adding necessary model interfaces for MacOperationCall in JCA.
2025-10-01 11:13:37 -04:00
Owen Mansel-Chan
8a21a4ff92
Deprecate WriteNode.writesComponent
2025-10-01 16:13:33 +01:00
Owen Mansel-Chan
59e3c14a5e
Add and use WriteNode.writesElementPreUpdate
2025-10-01 16:13:31 +01:00
Owen Mansel-Chan
6fcd35885e
Fix pointer content store step for write to field of pointer dereference
2025-10-01 16:13:29 +01:00
Owen Mansel-Chan
2ffb638b7e
Delete WriteNode.writesFieldOnSsaWithFields
...
This can be easily expressed in terms of `WriteNode.writesFieldPreUpdate`.
2025-10-01 16:13:27 +01:00
Owen Mansel-Chan
489b8431ea
Add and use WriteNode.writesFieldPreUpdate
2025-10-01 16:13:25 +01:00
Owen Mansel-Chan
c9a2816bfe
Fix OpenUrlRedirect barrier for write to Url.Host
2025-10-01 16:13:24 +01:00
Owen Mansel-Chan
414bab1f30
Add OpenUrlRedirect tests for Url.Host field
2025-10-01 16:13:22 +01:00
Owen Mansel-Chan
1144bb99b4
Convert OpenUrlRedirect tests to InlineExpectations
2025-10-01 16:13:21 +01:00
Owen Mansel-Chan
7b426186aa
Rephrase change note to avoid technical terms
2025-10-01 16:13:19 +01:00
Owen Mansel-Chan
630a8446ad
Rename confusing predicate and add qldoc
2025-10-01 16:13:17 +01:00
Owen Mansel-Chan
b1bcbec37d
Use slightly less confusing syntax
2025-10-01 16:13:15 +01:00
Owen Mansel-Chan
1d9a93a731
Rename helper predicate
2025-10-01 16:13:14 +01:00
Owen Mansel-Chan
4ee236d73f
Delete commented out code
2025-10-01 16:13:12 +01:00
Owen Mansel-Chan
25f182302d
Fix email injection sink that needs local flow
2025-10-01 16:13:10 +01:00
Owen Mansel-Chan
f5f6d64d9d
Add change notes
2025-10-01 16:13:08 +01:00
Owen Mansel-Chan
52b6539697
Typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-01 16:13:06 +01:00
Owen Mansel-Chan
a9420d46c8
Fix bad join order
2025-10-01 16:13:04 +01:00
Owen Mansel-Chan
6cb69535a5
Add missing qldocs
2025-10-01 16:13:03 +01:00
Owen Mansel-Chan
5efc8ac1a4
Fix backwards flow through TaintTracking::FunctionModel
...
We only do this for taint models as there isn't any backwards flow
through data flow function models.
2025-10-01 16:13:01 +01:00
Owen Mansel-Chan
3906f2560d
Adjust Stack Exposure test so it passes
...
A minor bug in our CFG means that we evaluate the base of a
SliceExpr before the bounds. Since the bounds may have side
effects, as in this case, it would be better to evaluate them first.
But in the short term I am just adjusting the test to make it work.
2025-10-01 16:12:59 +01:00
Owen Mansel-Chan
62155876c5
Fix flow to variable capture
...
The jump step to a `SsaCaptureVariable` should start at the last use
before it, rather than from the previous definition.
2025-10-01 16:12:57 +01:00
Owen Mansel-Chan
748c53a791
Refactor: Create writesFieldOnSsaWithFields
2025-10-01 16:12:56 +01:00
Owen Mansel-Chan
cf6cfe2a1e
Non-initializing writes should target post-update nodes
2025-10-01 16:12:54 +01:00
Owen Mansel-Chan
8a3bd8408b
Fix test expectations for Cleartext Logging
...
One spurious alert was removed, one missing alert was added, and some
source locations changed.
2025-10-01 16:12:52 +01:00
Owen Mansel-Chan
3229630598
Make store step to send stmt's channel use post-update node
2025-10-01 16:12:51 +01:00
Owen Mansel-Chan
ac71f9cd8e
Expected change in test output
...
These sources are now modeled using models-as-data, which (probably
correctly) uses the post-update node as the source. But the deprecated
QL models still exist, so we get two test results for each of these
calls.
2025-10-01 16:12:49 +01:00
Owen Mansel-Chan
d2230c531d
Expected changes in test output
2025-10-01 16:12:47 +01:00
Owen Mansel-Chan
118def8d28
Make separate post-update nodes
2025-10-01 16:12:45 +01:00
Owen Mansel-Chan
a0c647ce83
Add Email Injection tests for reverse flow models
2025-10-01 16:12:43 +01:00
Owen Mansel-Chan
9892836f14
Switch order of PUN test output
2025-10-01 16:12:42 +01:00
Owen Mansel-Chan
89ae0e3bf3
Inline predicate only used once
2025-10-01 16:12:40 +01:00
Owen Mansel-Chan
05a16dc100
Convert post-update logic to IR (part 3)
2025-10-01 16:12:38 +01:00
Owen Mansel-Chan
ad1801827b
Implement writesComponent at IR level
2025-10-01 16:12:37 +01:00
Owen Mansel-Chan
203952fa47
Convert post-update logic to IR (part 2)
...
Note that we don't create post-update nodes for method receivers if the
call to the method is indirect, via a function variable. We could aim to
do this in future.
2025-10-01 16:12:35 +01:00
Owen Mansel-Chan
c8b8e25fbb
Convert post-update logic to IR (part 1)
2025-10-01 16:12:34 +01:00
Owen Mansel-Chan
7a515c101a
Pull out post-update node logic into predicate
2025-10-01 16:12:32 +01:00
Owen Mansel-Chan
d13d7173ed
Fix QLDoc typo
2025-10-01 16:12:30 +01:00
Owen Mansel-Chan
14301e0af4
Expected changes in dataflow edges
2025-10-01 16:12:28 +01:00
Owen Mansel-Chan
c20abf6d58
Line numbers change because 3 lines were added
2025-10-01 16:12:27 +01:00
Owen Mansel-Chan
521066578b
Test result that was missing is now found
2025-10-01 16:12:25 +01:00
Owen Mansel-Chan
3594dba83c
Make insecure randomness test more realistic
2025-10-01 16:12:24 +01:00
Owen Mansel-Chan
32de2113a6
Use _ instead of exists variable x2
2025-10-01 16:12:22 +01:00
Chris Smowton
a3eb0100a6
Optimise join order for varBlockReaches
2025-10-01 16:12:21 +01:00
Owen Mansel-Chan
9068315f03
Fix IncorrectIntegerConversion for use-use flow
...
We were assuming that `sink` only had one successor, the TypeCastNode, but it
can now have an adjacent use as well.
2025-10-01 16:12:19 +01:00
Owen Mansel-Chan
b2a9cecd69
Fix Allocation Size Overflow for use-use flow
...
We have an operator expression like `x * 5`. We want to follow where the
value of the operator expression goes. We used to follow local flow from
an operand, but now there is flow from that operand to the next use of
the variable. The fix is to explicitly start local flow from the
operator expression.
There are also some expected edge changes due to use-use flow.
2025-10-01 16:12:18 +01:00
Owen Mansel-Chan
4e04d27d32
Adjust SafeFormatArgumentSanitizer to use-use flow
...
Make it sanitize the result of the call rather than the input, so that
further uses of the input are still tainted. This means that it catches
things like `log.Print(fmt.Sprintf("user %q logged in.\n", username))`
where the argument to the LoggerCall contains a StringFormatCall, but
it misses things like `log.Printf("user %q logged in.\n", username)`. So
we extract the logic into a predicate and apply it as a condition in the
sink as well.
The downside of this approach is that if there are two tainted inputs
and only one has a safe format argument then we still sanitize the
result. Hopefully this is rare.
2025-10-01 16:12:16 +01:00
Owen Mansel-Chan
49b8b0bca3
Remove local flow step from SSA defn to SSA capture
2025-10-01 16:12:15 +01:00
Owen Mansel-Chan
b4743155f6
Include first step from SsaVariableCapture
...
Without this change the test
go/ql/test/query-tests/InconsistentCode/UnhandledCloseWritableHandle/UnhandledCloseWritableHandle.qlref
was failing.
2025-10-01 16:12:14 +01:00
Owen Mansel-Chan
5267671b15
Clean up code in basicLocalFlowStep
...
No changes in functionality.
2025-10-01 16:12:12 +01:00
Owen Mansel-Chan
4484d5bfa9
Add missing QLDoc
2025-10-01 16:12:09 +01:00
Owen Mansel-Chan
16a11b48ad
Switch to use-use dataflow. This will make post-update nodes easy to implement.
...
Queries / tests that required changes:
* The CleartextLogging and MissingErrorCheck queries are updated because they assumed def-use flow
* The CommandInjection query works around the shortcomings of use-use flow by essentially reintroducing def-use flow when it applies a sanitizer
* The OpenUrlRedirect query currently just accepts its fate; the tests are updated to avoid excess sanitization while the query comments on the problem. We should choose this approach or the CommandInjection one.
2025-10-01 16:12:07 +01:00
Simon Friis Vindum
1408c245e0
Merge pull request #20557 from paldepind/rust/type-inference-delete-predicates
...
Rust: Remove member predicates on `Type`
2025-10-01 16:48:41 +02:00
Owen Mansel-Chan
ff3d795a8f
Merge pull request #20556 from owen-mc/go/test/safeurlflow
...
Go: Add tests for SafeUrlFlow, and fix a latent bug
2025-10-01 15:05:55 +01:00
Geoffrey White
f96a42c075
Merge pull request #20561 from geoffw0/basicquery
...
Rust: Add Basic query for Rust code doc
2025-10-01 14:20:11 +01:00
Owen Mansel-Chan
8983ac9212
Phrase test in terms of safe URLs
2025-10-01 14:13:15 +01:00
Tom Hvitved
dd3debc2d5
Address review comments
2025-10-01 14:41:28 +02:00
Anders Schack-Mulligen
a1028d604c
Guards: Improve performance for uniqueValue.
2025-10-01 14:08:37 +02:00
Mathias Vorreiter Pedersen
b0e9238ddf
Merge branch 'main' into use-shared-guards-library
2025-10-01 11:59:17 +01:00
Geoffrey White
b02c19b5bf
Rust: Slightly cleaner screenshots.
2025-10-01 11:59:08 +01:00
Mark C
c5cf0ffa75
added java cryptographic check queries
2025-10-01 11:55:51 +01:00
Geoffrey White
936702a0e5
Rust: Update graphics.
2025-10-01 11:49:54 +01:00
Mathias Vorreiter Pedersen
353ee8baa0
C++: Port a test from the experimental directory to show that it works in the non-experimental "new" range analysis.
2025-10-01 11:33:47 +01:00
Chris Smowton
f5ae5bed47
Merge pull request #20560 from smowton/smowton/fix/start-in-constructor-fp
...
Java: note that classes with entirely private constructors can't be subclassed
2025-10-01 11:16:50 +01:00
Geoffrey White
2c7291d27e
Rust: Fix toctree bug.
2025-10-01 11:12:29 +01:00
Ben Ahmady
513dcf1cb4
Merge branch 'main' into basicquery
2025-10-01 11:02:19 +01:00
Owen Mansel-Chan
c93852d87a
Improve comments in test file
2025-10-01 11:01:58 +01:00
Simon Friis Vindum
daf0cf1c1b
Rust: Rename predicates
2025-10-01 11:43:51 +02:00
Owen Mansel-Chan
dd3f754cb3
Add change note.
2025-10-01 09:32:00 +01:00
Simon Friis Vindum
a359a24c9e
Merge pull request #20559 from paldepind/rust/string-add-ref
...
Rust: Add taint model for add on `String`
2025-10-01 09:38:54 +02:00
REDMOND\brodes
26b8a394b3
Adjusting acryonym for SSRF for casing standards.
2025-09-30 14:09:06 -04:00
REDMOND\brodes
a660eaba95
Adding docs.
2025-09-30 14:07:32 -04:00
REDMOND\brodes
acddb2c272
Moved change log to correct location.
2025-09-30 14:02:43 -04:00
Ben Rodes
d790c6df57
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:25 -04:00
Ben Rodes
fab96d9539
Update python/ql/test/query-tests/Security/CWE-918-ServerSideRequestForgery/test_azure_client.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:16 -04:00
Ben Rodes
5ca9ff2082
Update python/ql/lib/semmle/python/frameworks/SSRFSink.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-30 14:00:05 -04:00
REDMOND\brodes
341f553866
Added change logs.
2025-09-30 13:55:31 -04:00
REDMOND\brodes
704e2966cb
Adding azure sdk test cases and updated test expected file.
2025-09-30 13:32:56 -04:00
REDMOND\brodes
d27d4fdb27
Updating comments.
2025-09-30 13:31:48 -04:00
Geoffrey White
372b5870b1
Merge pull request #20554 from geoffw0/docs1
...
Rust: Consistency fix for reusables/extractors.rst.
2025-09-30 17:41:05 +01:00
REDMOND\brodes
47fac883b8
Azure SDK models for SSRF analysis.
...
(cherry picked from commit 0274962612c02af09729526a3c44a545c1e69be8)
2025-09-30 11:58:26 -04:00
Geoffrey White
92122fef58
Rust: statement -> expression.
2025-09-30 15:48:26 +01:00
Geoffrey White
d9955ce93c
Merge pull request #20503 from geoffw0/cookie
...
Rust: New query rust/insecure-cookie
2025-09-30 15:26:37 +01:00
Tom Hvitved
537e7a8ec3
Rust: Fix formatting
2025-09-30 16:24:38 +02:00
Tom Hvitved
701cff3ca4
Rust: Macro call resolution
2025-09-30 16:21:02 +02:00
Owen Mansel-Chan
a2a9575587
Add tests for safe URL flow
2025-09-30 15:05:42 +01:00
Simon Friis Vindum
19871a2653
Rust: Accept test changes
2025-09-30 15:26:30 +02:00
Geoffrey White
771d9345b5
Merge branch 'main' into basicquery
2025-09-30 14:19:00 +01:00
Mathias Vorreiter Pedersen
ca53a8e787
C++: Update QLDoc.
2025-09-30 14:15:55 +01:00
Mathias Vorreiter Pedersen
1b2bd30a29
Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-09-30 14:14:19 +01:00
Chris Smowton
f88daff45f
Java: note that classes with entirely private constructors can't be subclassed
2025-09-30 13:57:44 +01:00
Simon Friis Vindum
49efd574a0
Rust: Add taint model for add on String
2025-09-30 14:48:03 +02:00
Idriss Riouak
fa8cbeeb44
Merge pull request #20546 from github/idrissrio/ql-constant
...
Java: Fix false positives in evaluation-to-constant query for ErrorType
2025-09-30 14:24:28 +02:00
Chris Smowton
ff4b97bf2d
Reword
2025-09-30 13:08:03 +01:00
Simon Friis Vindum
c878af2b9d
Rust: Remove member predicates on Type
2025-09-30 13:28:33 +02:00
Owen Mansel-Chan
5b07e8c9c4
Fix bug in UnsafeFieldReadSanitizer
2025-09-30 12:05:06 +01:00
Owen Mansel-Chan
b5fda88bd3
Remove duplication of UnsafeFieldReadSanitizer
2025-09-30 12:04:39 +01:00
idrissrio
63771110a5
Java: Address review comment
2025-09-30 11:46:37 +02:00
Michael Nebel
018ccb3354
C#: Update locations test expected output.
2025-09-30 11:33:28 +02:00
Michael Nebel
d7a2c7da18
C#: Adjust the QL library to use the locations of the unbound declarations.
2025-09-30 11:33:26 +02:00
Michael Nebel
b2cbac3250
C#: Temporarily update the test expected file.
2025-09-30 11:33:23 +02:00
Michael Nebel
443c183e41
C#: Only extract locations for unbound declarations (if a declaration can be unfound) and don't extract empty locations.
2025-09-30 11:33:21 +02:00
Michael Nebel
e9901305b2
C#: Rename GeneratedLocation to EmptyLocation and make sure that we always create one such location.
2025-09-30 11:33:19 +02:00
Michael Nebel
5843fdbdd8
C#: Add a locations example.
2025-09-30 11:33:17 +02:00
Geoffrey White
90a7a58929
Merge pull request #20515 from geoffw0/libs
...
Rust: Update Supported languages and frameworks
2025-09-30 09:56:09 +01:00
Geoffrey White
a286631018
Merge pull request #20512 from geoffw0/stmtlist
...
Rust: Improve StmtList
2025-09-30 09:53:55 +01:00
Nick Rolfe
9688d84f3e
Merge pull request #20549 from github/post-release-prep/codeql-cli-2.23.2
...
Post-release preparation for codeql-cli-2.23.2
2025-09-30 09:45:22 +01:00
Simon Friis Vindum
ef80ff416f
Bazel: regenerate vendored cargo dependencies
2025-09-30 10:28:42 +02:00
Simon Friis Vindum
4846cf4791
Cargo: upgrade dependencies
2025-09-30 10:21:17 +02:00
Chris Smowton
f1239352ce
Note issue in related query
2025-09-29 18:43:59 +01:00
Chris Smowton
18c5cb10d9
Ruby: Update CSRF protection notes in documentation
...
Autofix is confused about how the `protect_from_forgery` method works in Rails >= 5: GPT-5 says:
> In modern Rails versions (>=5, including 6 and 7 which this gem permits), ActionController::Base already enables CSRF protection by default with the `:exception` strategy; an explicit call to `protect_from_forgery` without options does not weaken security.
This is false: manual testing confirms that it actually does downgrade from `:exception` to `:null-session` behaviour when a manual call is made.
I can't find any authoritative source showing this gotcha, so I can see how the AI is confused and how humans might also struggle to verify the truth.
2025-09-29 18:42:11 +01:00
github-actions[bot]
a7a4e43991
Post-release preparation for codeql-cli-2.23.2
2025-09-29 15:10:19 +00:00
Nick Rolfe
a05ffdbc81
Merge pull request #20545 from github/release-prep/2.23.2
...
Release preparation for version 2.23.2
2025-09-29 15:35:24 +01:00
Nick Rolfe
a76d736136
C#: tweak changelog wording
2025-09-29 15:32:52 +01:00
Simon Friis Vindum
98a20f9820
Rust: Add change note
2025-09-29 14:58:34 +02:00
Simon Friis Vindum
37ffe82ac9
Rust: Handle functions as lambdas
2025-09-29 14:49:04 +02:00
Simon Friis Vindum
0728692e93
Rust: Add tests for functions as lambdas
2025-09-29 14:46:53 +02:00
idrissrio
b82d8c2252
Java: Accept new test results after query change
2025-09-29 13:38:01 +02:00
idrissrio
659afb5f30
Java: Fix false positives in evaluation-to-constant query for ErrorType
2025-09-29 13:37:25 +02:00
idrissrio
e0444c531b
Java: Add integration test for constant expr detection
2025-09-29 13:37:20 +02:00
Simon Friis Vindum
84c6a3a376
Rust: Add change note for actix-web models
2025-09-29 13:03:10 +02:00
Kasper Svendsen
b52fff2f81
Merge pull request #20505 from kaspersv/kaspersv/future-proof-java-discarding2
...
Overlay: Discard Java config and XML base entities in overlay extracted files
2025-09-29 13:01:08 +02:00
github-actions[bot]
d2130a589b
Release preparation for version 2.23.2
2025-09-29 10:28:45 +00:00
Simon Friis Vindum
6b7d5d2902
Rust: Add models for actix-web
2025-09-29 09:14:03 +02:00
Jeroen Ketema
9dfd87c284
Merge pull request #20514 from jketema/permissive
...
C++: Update tests after extractor changes
2025-09-28 16:56:31 +02:00
Geoffrey White
c7f6f2c8e1
Rust: Consistency fix for reusables/extractors.rst.
2025-09-26 16:40:25 +01:00
Owen Mansel-Chan
18a1075e70
Merge pull request #20523 from smowton/smowton/fix/mistyped-exp-fp
...
Go: mistyped-exponentiation: notice constants with likely-bitmask values
2025-09-26 16:02:30 +01:00
Owen Mansel-Chan
f5f61193a0
Delete change note
2025-09-26 15:33:26 +01:00
Geoffrey White
1236e2b829
Rust: Add references to alternatives in the getStmtOrExpr methods.
2025-09-26 14:55:06 +01:00
Geoffrey White
a0b533bd40
Merge pull request #20529 from geoffw0/convert
...
Rust: Correct from model to taint
2025-09-26 14:48:58 +01:00
Geoffrey White
4570d7e46e
Rust: Replace getBlockChildNode with uses of getStmtOrExpr.
2025-09-26 14:32:36 +01:00
Geoffrey White
27b6f12b3c
Rust: Use the suggested cleaner implementation for getStmtOrExpr.
2025-09-26 14:30:31 +01:00
Florin Coada
ba07daa50a
Merge pull request #20532 from github/coadaflorin/changelog-fixes
...
Update changelog for CodeQL CLI 2.23.1
2025-09-26 14:21:21 +01:00
Geoffrey White
1635ef9ad9
Merge branch 'main' into convert
2025-09-26 14:11:04 +01:00
Florin Coada
5a0bae27ac
Update changelog for CodeQL CLI 2.23.1
2025-09-26 13:57:57 +01:00
Anders Schack-Mulligen
f4388c80d0
Merge pull request #20519 from aschackmull/controlflowreach/perf2
...
ControlFlow: Split only on relevant values.
2025-09-26 14:51:49 +02:00
Florin Coada
a4f5e9aaf5
Update changelog for CodeQL CLI 2.23.1
...
Added acknowledgment for the original contributor of the 'Permissive CORS configuration' query and clarified the detection of path injection in Go.
2025-09-26 13:46:12 +01:00
Florin Coada
f6fe469e02
Merge pull request #20531 from github/coadaflorin-formatingfix2
...
Fix formatting in codeql-cli-2.23.1.rst
2025-09-26 13:31:22 +01:00
Florin Coada
3e9332edfa
Fix formatting in codeql-cli-2.23.1.rst
2025-09-26 13:16:45 +01:00
Florin Coada
f8388c521e
Merge pull request #20530 from github/coadaflorin/attributer-query
...
Attribute `js/cors-permissive-configuration` to original author
2025-09-26 13:11:08 +01:00
Anders Schack-Mulligen
2c29f21004
Shared: Address review comments.
2025-09-26 13:59:53 +02:00
Tom Hvitved
615b0a0310
Merge pull request #20502 from hvitved/rust/path-resolution-check-arity
...
Rust: Check call arities in path resolution
2025-09-26 13:45:26 +02:00
Tom Hvitved
4c7b66c66a
Address review comments
2025-09-26 13:14:44 +02:00
Geoffrey White
77e7898f71
Rust: Use US spelling in comment.
2025-09-26 11:49:23 +01:00
Geoffrey White
f458149655
Rust: Remove a sentance from the qhelp.
2025-09-26 11:32:45 +01:00
Geoffrey White
57f84873b4
Rust: Split off cookieOptionalBarrier predicate (as suggested) and expand / clarify the QLDoc.
2025-09-26 11:29:17 +01:00
Geoffrey White
21fe142955
Update rust/ql/src/queries/security/CWE-614/InsecureCookie.qhelp
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-09-26 10:39:49 +01:00
Florin Coada
ba520c60d2
Update 2.1.0.md
2025-09-26 10:11:03 +01:00
Florin Coada
09833e2541
Update CHANGELOG for query promotion and acknowledgment
...
Promote 'Permissive CORS configuration' query to default suite and acknowledge contributor.
2025-09-26 10:09:30 +01:00
Florin Coada
2f96e32ec9
Update 2.1.0.md
2025-09-26 10:08:31 +01:00
Geoffrey White
3a03bb5a0b
Rust: Repair rust/hard-coded-cryptographic-value, which had an unintentional dependence on the taint flow.
2025-09-26 10:03:38 +01:00
Geoffrey White
74a350a432
Rust: Effect on tests.
2025-09-26 09:55:16 +01:00
Tom Hvitved
c52709a5f0
Merge pull request #20516 from hvitved/rust/type-inference-union-pointer-never
...
Rust: Model union, never, and pointer types
2025-09-26 10:26:05 +02:00
Tom Hvitved
7a74efcc82
Update rust/ql/lib/codeql/rust/elements/internal/UnionImpl.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-09-26 09:57:13 +02:00
Geoffrey White
ff554055a6
Rust: Correct 'from' model to taint.
2025-09-26 08:43:35 +01:00
Simon Friis Vindum
6678e79239
Merge pull request #20526 from geoffw0/lock
...
Rust: Add missing Cargo.lock files
2025-09-26 08:57:21 +02:00
ewillonermsft
c89ce067a3
Merge branch 'main' into systemwebhttprequest-test-stubs
2025-09-25 12:58:34 -07:00
ewillonermsft
b267bd11e0
Update properties to getters which is inline with the actual implementation.
2025-09-25 10:37:56 -07:00
ewillonermsft
b49b84e072
Remove this[] logic from the commit.
...
Stub should not include code logic.
2025-09-25 10:10:48 -07:00
Geoffrey White
39ceadaa26
Merge pull request #20520 from geoffw0/gitignore
...
Add .orig files to the .gitignore.
2025-09-25 18:10:24 +01:00
Geoffrey White
656a7bc378
Rust: Add missing Cargo.lock files to query tests.
2025-09-25 17:40:59 +01:00
Chris Smowton
9e7a5214f3
Change note
2025-09-25 15:40:26 +01:00
Chris Smowton
e9cccb46c0
Go: mistyped-exponentiation: notice constants with likely-bitmask values
2025-09-25 15:19:40 +01:00
Tom Hvitved
1a4cfba93a
Merge pull request #20427 from felickz/ruby-framework-grape
...
Ruby: Add support for Grape Framework
2025-09-25 16:12:34 +02:00
Taus
e592fd60ff
Merge pull request #20495 from github/tausbn/python-fix-unmatchable-dollar-in-lookahead
...
Python: Fix false positive for unmatchable dollar/caret
2025-09-25 15:27:32 +02:00
Geoffrey White
dba4b5e5a9
Rust: Add images.
2025-09-25 14:21:54 +01:00
Geoffrey White
db3d177300
Rust: Port the code examples to Rust / CodeQL for Rust.
2025-09-25 14:21:53 +01:00
Geoffrey White
1211dc8f3c
Rust: Replace 'swift' with 'rust'.
2025-09-25 14:21:52 +01:00
Geoffrey White
f4758fe3e5
Rust: Add a basic-query-for-rust-code.rst (copied from Swift).
2025-09-25 14:21:51 +01:00
Geoffrey White
b22227d0f4
Add .orig files to .gitignore.
2025-09-25 14:03:39 +01:00
Anders Schack-Mulligen
109b6a1d79
ControlFlow: Split only on relevant values.
2025-09-25 15:03:35 +02:00
Mathias Vorreiter Pedersen
c1c1f60241
C++: Delete incorrect comment and add a bunch of barrier guard tests.
2025-09-25 12:56:46 +01:00
Mathias Vorreiter Pedersen
04ce4057e1
C++: Add more comments to describe the constant expression hack.
2025-09-25 12:43:57 +01:00
Mathias Vorreiter Pedersen
5b5c1de05b
C++: Fix fan-out.
2025-09-25 12:33:44 +01:00
Tom Hvitved
2a814dd37c
Rust: Model union, never, and pointer types
2025-09-25 12:33:51 +02:00
Geoffrey White
a72eb87c93
Rust: Remove one that is essentially a duplicate.
2025-09-25 10:35:47 +01:00
Geoffrey White
a45a3e427c
Rust: Update supported frameworks.
2025-09-25 10:28:10 +01:00
Joe Farebrother
cb7b1efe81
Update alert message
2025-09-25 09:52:27 +01:00
Jeroen Ketema
e41b5f2bc0
C++: Update tests after extractor changes
2025-09-25 09:52:22 +02:00
Mathias Vorreiter Pedersen
b169ccf29a
C++: Fully delete TRange.
2025-09-25 08:30:42 +01:00
ewillonermsft
b2fc68ff81
Add additional SystemWeb HttpRequset properties to C# test stubs
2025-09-24 18:24:36 -07:00
Mathias Vorreiter Pedersen
a07d03f49b
C++: Use the 'StoreInstruction' instead of the 'ReturnValueInstruction' when detecting return expressions.
2025-09-24 20:09:35 +01:00
Mathias Vorreiter Pedersen
26a8a4b3d2
C++: Add failing test demonstrating broken wrapper barrier guards.
2025-09-24 19:54:05 +01:00
Mathias Vorreiter Pedersen
b2269fb5f5
C++: Add more tests.
2025-09-24 19:06:02 +01:00
Geoffrey White
7e8e855f28
Rust: Fix bug when there are no statements.
2025-09-24 17:16:26 +01:00
Geoffrey White
93a0198326
Rust: Add a test for StmtList.
2025-09-24 17:04:39 +01:00
Geoffrey White
9bdac9d1cf
Rust: Move 'operations' test into elements subdir.
2025-09-24 17:04:38 +01:00
Geoffrey White
b12b36f302
Rust: Codegen.
2025-09-24 17:04:28 +01:00
Geoffrey White
8debce0349
Rust: Add helper predicates for accessing statements and expressions together.
2025-09-24 17:04:08 +01:00
Florin Coada
2db5f0def5
Merge pull request #20510 from github/coadaflorin-patch-1
...
Fix escape character in changelog for Go query
2025-09-24 16:18:05 +01:00
Michael B. Gale
fd6f9cd2d5
Merge pull request #20368 from github/mbg/go/support-git-source
...
Go: Support `git_source`
2025-09-24 16:14:56 +01:00
Florin Coada
86fe68bb61
Fix formatting in changelog for Go path injection query
...
2 people + 2 models managed to tackle this insurmountable task.
2025-09-24 16:12:17 +01:00
Geoffrey White
85945dba29
Rust: Codegen.
2025-09-24 16:08:06 +01:00
Geoffrey White
7459eed435
Rust: Update doc comments for StmtList predicates.
2025-09-24 16:08:04 +01:00
Geoffrey White
ab30c786a5
Rust: Accept test changes.
2025-09-24 16:08:03 +01:00
Florin Coada
6c488e6e71
Fix formatting in codeql-cli-2.23.1.rst
2025-09-24 16:01:38 +01:00
Florin Coada
f3ef6ef3c9
Fix formatting issue in changelog for Go query
2025-09-24 16:00:40 +01:00
Florin Coada
8ad6952dda
Fix escape character in changelog for Go query
2025-09-24 15:58:09 +01:00
Mathias Vorreiter Pedersen
d15e388f5c
C++: Get rid of the case range constant value with and instead implement 'rangeGuard'.
2025-09-24 15:52:10 +01:00
Michael B. Gale
8c8499229d
Configure git to use the certificate, if needed
2025-09-24 15:52:04 +01:00
Michael B. Gale
bc38b79c9a
Convert URLs to expected format
2025-09-24 15:52:04 +01:00
Michael B. Gale
4ef8ff9a0f
Append * to git_source URL if not present
...
Since `GOPRIVATE` / `GONOPROXY` expect a glob pattern
2025-09-24 15:52:03 +01:00
Michael B. Gale
a8fa1a76c4
Use git_source configurations for GOPRIVATE
2025-09-24 15:52:02 +01:00
Michael B. Gale
895399ff05
Rename proxy_configs to goproxy_servers and only store URLs
2025-09-24 15:52:01 +01:00
Michael B. Gale
23a04613c0
Set lower-case variants of HTTP_PROXY and HTTPS_PROXY
2025-09-24 15:52:00 +01:00
Michael B. Gale
711d49770f
Improve logging to include proxy vars
2025-09-24 15:51:59 +01:00
Florin Coada
e78d0571f4
Merge pull request #20508 from github/changedocs/2.23.1
...
Add changelog entry for CodeQL 2.23.1 release
2025-09-24 15:35:18 +01:00
Mathias Vorreiter Pedersen
13cde4d700
C++: Add testcase demonstrating that a ConstantValue IPA branch representing a gcc case range is a bad idea.
2025-09-24 15:34:35 +01:00
Mathias Vorreiter Pedersen
d10d5fd05e
C++: Rename in the name of consistency.
2025-09-24 15:34:03 +01:00
Geoffrey White
ed3a6fd799
Rust: Codegen.
2025-09-24 15:32:10 +01:00
Geoffrey White
ed2a14a3ec
Rust: Update doc comments for StmtList.
2025-09-24 15:28:23 +01:00
Joe Farebrother
9f5bfeb7f4
Update test output
2025-09-24 15:03:40 +01:00
Florin Coada
6e0ce9a885
Add changelog entry for CodeQL 2.23.1 release
2025-09-24 13:30:11 +01:00
Joe Farebrother
654ed9ca12
Update integration tests
2025-09-24 10:58:53 +01:00
Mathias Vorreiter Pedersen
99e1a07b8e
C++: Add a comment to the 'ConditionalBranchInstruction' case in 'additionalImpliesStep.
2025-09-24 10:58:47 +01:00
Mathias Vorreiter Pedersen
2b47ac83e8
C++: Remove superfluous inference logic.
2025-09-24 10:51:45 +01:00
Mathias Vorreiter Pedersen
b3cbdb5c1a
C++: Add QLDoc to TRange.
2025-09-24 10:39:27 +01:00
Tom Hvitved
e6b1e8ec56
Rust: Check call arities in path resolution
2025-09-24 10:19:56 +02:00
Tom Hvitved
92cced201e
Merge pull request #20496 from hvitved/rust/path-resolution-use-visibility
...
Rust: Visibility check for qualified path resolution
2025-09-24 10:19:22 +02:00
Simon Friis Vindum
26aa938acc
Merge pull request #20452 from paldepind/rust/mad-source-parameter
...
Rust, shared: Support `Parameter` in source MaD models
2025-09-24 09:37:25 +02:00
Asger F
2e8091f0fb
Merge pull request #20419 from asgerf/js/express-json-send
...
JS: Model Express json and jsonp methods
2025-09-24 09:25:32 +02:00
Joe Farebrother
85f886932d
Update changenote
2025-09-23 15:51:31 +01:00
Joe Farebrother
55fd7c85c6
Update documentation
2025-09-23 15:50:27 +01:00
Joe Farebrother
1208195d8a
Align alert messages across languages.
2025-09-23 15:46:53 +01:00
Joe Farebrother
2cffb21604
Update and fix tests
2025-09-23 15:41:09 +01:00
Chad Bentz
46d330cb21
Merge branch 'ruby-framework-grape' of github.com:felickz/codeql into ruby-framework-grape
2025-09-23 10:40:46 -04:00
Chad Bentz
37e0c30842
Add expected output for VariablesConsistency test case
2025-09-23 10:40:30 -04:00
Kasper Svendsen
f02da68c55
Overlay: Discard base XML entities in overlay extracted files
2025-09-23 12:27:51 +02:00
Kasper Svendsen
718c0abdb6
Overlay: Discard base config entities in overlay extracted files
2025-09-23 12:27:51 +02:00
Joe Farebrother
d28e8004fd
Add sensitive data heuristic
2025-09-23 10:08:08 +01:00
Chad Bentz
7a9a259c03
Merge branch 'main' into ruby-framework-grape
2025-09-22 19:29:36 -04:00
Chad Bentz
89fd9694ce
codeql query format
2025-09-22 19:25:05 -04:00
Chad Bentz
6e56c549b2
Refactor Grape method call classes to simplify handling of API instance calls for headers, request, route_param, and cookies
2025-09-22 19:21:23 -04:00
Chad Bentz
0665c39a07
Refactor GrapeHelperMethod constructor to reuse getHelperSelf to traverse dataflow instead of AST
...
- add tests to check for nested helpers
2025-09-22 19:08:34 -04:00
Tom Hvitved
1183e50435
Update rust/ql/lib/change-notes/2025-09-19-parameter-mad.md
2025-09-22 19:45:34 +02:00
Geoffrey White
5ad332e37f
Merge pull request #20432 from github/copilot/fix-f50317f8-0a91-4bb4-a01b-353dcf0f6f3f
...
Rust: Implement new query for non-HTTPS URLs (CWE-319)
2025-09-22 18:03:52 +01:00
Chad Bentz
ecd0ce65fe
Refactor GrapeHeadersBlockCall and GrapeCookiesBlockCall to simplify method call checks
2025-09-22 12:52:30 -04:00
Geoffrey White
266624dd0f
Rust: The test needs to have Source tags now.
2025-09-22 17:12:52 +01:00
Geoffrey White
86c8c3c8c0
Rust: Fix warning by making the query a path-problem.
2025-09-22 17:01:12 +01:00
Geoffrey White
6362884d16
Rust: Autoformat.
2025-09-22 16:59:11 +01:00
Geoffrey White
43ac75ed62
Rust: Address another tiny suggestion from review.
2025-09-22 16:58:07 +01:00
Geoffrey White
5b4632b432
Apply suggestions from code review
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-22 16:55:43 +01:00
Geoffrey White
cc9c4149d7
Apply suggestions from code review
2025-09-22 16:54:08 +01:00
Geoffrey White
3de191177c
Rust: Change note.
2025-09-22 16:12:30 +01:00
Geoffrey White
ae9025334e
Rust: Add the new query to suite lists.
2025-09-22 16:12:29 +01:00
Geoffrey White
4662e42584
Rust: Add examples as tests (and fix them).
2025-09-22 16:12:27 +01:00
Geoffrey White
bd07350bc3
Rust: Add qhelp and examples.
2025-09-22 16:12:26 +01:00
Geoffrey White
94afc82304
Rust: Fix an issue with the local flow.
2025-09-22 16:12:25 +01:00
Geoffrey White
a3ed83bfff
Rust: Make state transition / barrier nodes more reliable.
2025-09-22 16:12:23 +01:00
Geoffrey White
2654affeee
Rust: Account for the 'secure' and 'partitioned' attributes.
2025-09-22 16:12:22 +01:00
Geoffrey White
257a1b0179
Rust: Refactor sources, sinks into an extensions source file.
2025-09-22 16:09:30 +01:00
Geoffrey White
eadf922280
Rust: Use models-as-data, add source/sink/flow models.
2025-09-22 16:04:56 +01:00
Geoffrey White
d52b668149
Rust: Add security-severity tag.
2025-09-22 16:04:54 +01:00
Geoffrey White
7e75c1d242
Rust: Add very basic query prototype.
2025-09-22 16:04:53 +01:00
Geoffrey White
513ae2ab54
Rust: Add tests for insecure cookies.
2025-09-22 16:04:52 +01:00
Chad Bentz
b837c56bec
Refactor RootApi and GrapeApiClass constructors for improved readability; add getHelperSelf method to retrieve self parameter in helpers block.
2025-09-22 10:13:33 -04:00
Simon Friis Vindum
45b84ffb31
Rust: Ensure singleton
2025-09-22 14:23:50 +02:00
Simon Friis Vindum
4244a6569c
Rust: Add change note
2025-09-22 14:19:01 +02:00
Simon Friis Vindum
a4c61f6945
Rust: Accept test changes
2025-09-22 14:18:59 +02:00
Simon Friis Vindum
7d6e2060e5
Adapt all languages to changes in shared library
2025-09-22 14:18:58 +02:00
Simon Friis Vindum
265e8b3623
Shared: Pass SummaryComponentStack to isSource and getSourceType
2025-09-22 14:18:54 +02:00
Simon Friis Vindum
014c27ee8a
Rust: Discard sources with spaces in inline flow tests
2025-09-22 14:13:39 +02:00
Simon Friis Vindum
05a58323c1
Rust: Add Warp test to request forgery query tests
2025-09-22 14:13:38 +02:00
Simon Friis Vindum
cd807533f2
Rust: Add tests for parameter in source model
2025-09-22 14:13:37 +02:00
Joe Farebrother
463f79bed2
Merge pull request #20263 from joefarebrother/python-qual-exceptions
...
Python: Modernize the Unreachable Except Block query
2025-09-22 09:42:09 +01:00
Tom Hvitved
be260befd4
Merge pull request #20497 from hvitved/rust/missing-model
...
Rust: Add missing model
2025-09-22 10:30:25 +02:00
Napalys Klicius
a0ea0c9e47
Merge pull request #20492 from Napalys/js/graph-ql-obj-type
...
JS: mark `GraphQLObjectType` resolvers args as remote sources
2025-09-22 09:59:20 +02:00
Tom Hvitved
78641b4dde
Rust: Reduce size of unqualifiedPathLookup
2025-09-22 09:46:28 +02:00
Tom Hvitved
b5b6f06005
Rust: Fix bad join
...
```
Evaluated relational algebra for predicate _PathResolution::CrateItemNode.getName/0#dispred#91b4dd6b_PathResolution::SourceFileItemNode#bd8f490__#antijoin_rhs@e84aee8k with tuple counts:
35406180 ~0% {3} r1 = JOIN PathResolution::SourceFileItemNode#bd8f4905 WITH `PathResolution::CrateItemNode.getName/0#dispred#91b4dd6b` CARTESIAN PRODUCT OUTPUT Lhs.0, Rhs.1, Rhs.0
8455 ~2% {4} | JOIN WITH `PathResolution::declaresDirectly/3#7d0350fb_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2, Lhs.1
3259 ~0% {3} | JOIN WITH num#PathResolution::TTypeNamespace#4897e416 ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3
return r1
```
2025-09-22 09:38:43 +02:00
Tom Hvitved
b2cc01c490
Rust: Visibility check for qualified path resolution
2025-09-22 09:38:30 +02:00
Kasper Svendsen
97d62950a8
Merge pull request #20484 from kaspersv/kaspersv/future-proof-java-discarding
...
Overlay: Future-proof Java config & XML discard predicates
2025-09-22 08:16:44 +02:00
Chad Bentz
1bf6101967
Remove redundant exclusion of base Grape::API module from GrapeApiClass
...
- should not impact extracted application code
2025-09-21 20:52:28 -04:00
Chad Bentz
50bf9ae756
Refactor RootApi class to use getAnImmediateDescendent for clarity
2025-09-21 20:44:46 -04:00
Tom Hvitved
8d5d219c0f
Rust: Update expected test output
2025-09-21 15:36:22 +02:00
Tom Hvitved
223ab5e60c
Rust: Add missing model
2025-09-21 15:28:50 +02:00
Tom Hvitved
bdeeb3217e
Rust: Add path resolution tests
2025-09-20 09:30:55 +02:00
Tom Hvitved
fdb0c6ebb5
Merge pull request #20454 from paldepind/rust/path-resolution-attribute-expansion
...
Rust: Account for attribute expansions in path resolution
2025-09-20 09:21:00 +02:00
Chad Bentz
f4bbbc346f
Refactor Grape framework to be encapsulated properly in Module
2025-09-19 19:06:50 -04:00
Chad Bentz
89e9ee43c0
Convert from GrapeHelperMethodTaintStep extends AdditionalTaintStep to a simplified GrapeHelperMethodTarget extends AdditionalCallTarget
2025-09-19 18:28:45 -04:00
Joe Farebrother
6eac6b7258
Rename qhelp file
2025-09-19 17:03:19 +01:00
Geoffrey White
c26a07bb10
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com >
2025-09-19 16:49:54 +01:00
Taus
b9f073e596
Python: Update test output
2025-09-19 15:39:12 +00:00
Geoffrey White
523ec9d633
Merge pull request #20439 from geoffw0/assignment
...
Rust: Add a couple of simple data flow test cases
2025-09-19 16:27:14 +01:00
Taus
95a84ad655
Python: Fix false positive for unmatchable dollar/caret
...
Our previous modelling did not account for the fact that a lookahead can
potentially extend all the way to the end of the input (and similarly,
that a lookbehind can extend all the way to the beginning).
To fix this, I extended `firstPart` and `lastPart` to handle lookbehinds
and lookaheads correctly, and added some test cases (all of which yield
no new results).
Fixes #20429 .
2025-09-19 15:06:46 +00:00
Joe Farebrother
a9a258e743
Add changenote
2025-09-19 15:11:02 +01:00
Joe Farebrother
2e95c2b3c2
Split test cases for insecure cookie queries
2025-09-19 14:41:02 +01:00
Alexander Eyers-Taylor
c1c0828082
Merge pull request #20378 from github/alexet/java-regex-local
...
Jave: Use force local to make parsing local after global regex finding.
2025-09-19 13:48:43 +01:00
Alexander Eyers-Taylor
27e2c4d580
Merge pull request #20459 from github/alexet/caller_tc
...
Java: Make a TC overlay caller.
2025-09-19 13:48:34 +01:00
Napalys Klicius
3a6a537986
JS: Add change note
2025-09-19 14:47:58 +02:00
Napalys Klicius
6cfc950159
JS: Model GraphQLObjectType resolve params as sources
2025-09-19 14:39:36 +02:00
Simon Friis Vindum
afb6d30762
Rust: Fix typo in superseded
2025-09-19 14:27:14 +02:00
Simon Friis Vindum
72103adacc
Rust: Fix spurious path resolution
...
The annotated impl block was filtered away, but it's children where not. This caused the associated type `Foo` to appear as if it was an item in the scope outside of the impl block.
2025-09-19 14:25:11 +02:00
Simon Friis Vindum
60ceb89f01
Rust: Add debug predicate for ItemNode
2025-09-19 14:23:44 +02:00
Napalys Klicius
d88bc8e408
JS: Add test case for GraphQLObjectType
2025-09-19 14:23:40 +02:00
Simon Friis Vindum
a9d7662bb7
Rust: Add path resolution test with attribute on impl block
2025-09-19 14:23:39 +02:00
Simon Friis Vindum
2c84b49ced
Rust: Update test expecations
2025-09-19 14:22:10 +02:00
Simon Friis Vindum
32365fd673
Rust: Account for attribute expansions in path resolution
2025-09-19 14:22:00 +02:00
Simon Friis Vindum
c7a9cc5a42
Rust: Use annotations also for items in macro expansions
2025-09-19 14:19:27 +02:00
Joe Farebrother
04316d306f
Update qhelp
2025-09-19 12:42:30 +01:00
Tom Hvitved
5d3b5424ba
Merge pull request #20453 from hvitved/rust/path-resolution-use-reexport
...
Rust: Path resolution improvements
2025-09-19 13:34:56 +02:00
Philip Ginsbach
b85ab3c0ab
Merge pull request #20490 from github/ginsbach/AdditionalAndExtensible
...
documentation: add some missing mentions of `additional` and `extensible`
2025-09-19 11:54:45 +01:00
Philip Ginsbach
b27d374578
mention 'additional' and 'extensible' annotations
2025-09-19 10:57:03 +01:00
Philip Ginsbach
a6c1ffc45d
sort the annotations alphabetically
2025-09-19 10:56:57 +01:00
Tom Hvitved
f6bdfba3b3
Rust: Path resolution improvements
2025-09-19 09:43:22 +02:00
Tom Hvitved
c831a8c2d9
Rust: Add more path resolution tests
2025-09-19 09:36:54 +02:00
Joe Farebrother
7eabed6594
Split insecure cookies queries into 3 queries
2025-09-18 13:34:10 +01:00
Mathias Vorreiter Pedersen
c481be8ea7
C++: Accept test changes for tests that select all types of an expression.
2025-09-18 12:16:28 +01:00
Mathias Vorreiter Pedersen
a4dbee3b13
C++: Add change note.
2025-09-18 12:16:26 +01:00
Mathias Vorreiter Pedersen
e22d6656fe
C++: Fix barrier guards.
2025-09-18 12:16:25 +01:00
Mathias Vorreiter Pedersen
d8f34dba17
C++: Do not use the deprecated predicate in queries.
2025-09-18 12:16:23 +01:00
Mathias Vorreiter Pedersen
5e82eb9b24
C++: Fixup queries which assumes that a guard is always an expression.
2025-09-18 12:16:21 +01:00
Mathias Vorreiter Pedersen
fbd877a118
C++: Delete a test. This is no longer useful when every expression is a guard condition.
2025-09-18 12:16:20 +01:00
Mathias Vorreiter Pedersen
2dc783d91f
C++: Accept test changes.
2025-09-18 12:16:16 +01:00
Mathias Vorreiter Pedersen
0b81fbbb2b
C++: Fixup tests.
2025-09-18 12:16:11 +01:00
Mathias Vorreiter Pedersen
9ed8b75c5d
C++: Add a few helper predicates on 'Definition' which the guards library needs.
2025-09-18 11:05:55 +01:00
Mathias Vorreiter Pedersen
ac5233d19c
C++: Lots of renamings.
2025-09-18 11:05:54 +01:00
Mathias Vorreiter Pedersen
840097f121
C++: Instantiate the shared guards library.
2025-09-18 11:05:52 +01:00
Mathias Vorreiter Pedersen
3a8f77d6f4
C++: Qualified import of cpp.
2025-09-18 11:05:50 +01:00
Mathias Vorreiter Pedersen
2b0b8402ce
C++: Delete a bunch of predicates. Also set up things so that they work after instantiating the shared guards library.
2025-09-18 11:05:49 +01:00
Mathias Vorreiter Pedersen
f0f4311b65
C++: Sync identical files.
2025-09-18 11:05:47 +01:00
Mathias Vorreiter Pedersen
70a8364a38
C++: Add another convenience predicate on 'BinaryInstruction'.
2025-09-18 11:05:45 +01:00
Mathias Vorreiter Pedersen
19b8e0db9c
C++: Add a few subclasses to 'EdgeKind'.
2025-09-18 11:05:43 +01:00
Mathias Vorreiter Pedersen
be8195ab7d
C++: Do not rely on dataflow nodes when implement 'getAUse' and 'getAnIndirectUse'. This will solve a non-monotonic recursion issue later.
2025-09-18 11:05:39 +01:00
Mathias Vorreiter Pedersen
f47dd2bbc6
C++: Add a 'hasInputFromBlock' predicate.
2025-09-18 11:05:38 +01:00
Kasper Svendsen
dbb9a26f78
Overlay: Future-proof Java XML discarding
2025-09-18 11:37:38 +02:00
Mathias Vorreiter Pedersen
f55ace8311
C++: Make the return type a bit more precise.
2025-09-18 10:10:07 +01:00
Kasper Svendsen
3cd737e40d
Overlay: Future-proof Java config discarding
2025-09-18 10:57:22 +02:00
Joe Farebrother
2cd1d2fd2f
Merge pull request #20392 from joefarebrother/python-qual-file-not-closed
...
Python: Improve File Not Closed query to reduce false positives and provide clearer alerts
2025-09-18 09:33:08 +01:00
Anders Schack-Mulligen
8f859647c4
Merge pull request #20457 from aschackmull/shared/cfg-fix-joinblock-pred
...
Shared/Cfg: Fix missing JoinBlockPredecessor.
2025-09-18 09:28:24 +02:00
Tom Hvitved
51a33c279d
Merge pull request #20460 from hvitved/rust/source-inline-flow-path-problem
2025-09-18 09:27:06 +02:00
Anders Schack-Mulligen
d93b2edc0d
Ruby: Accept test changes.
2025-09-18 08:13:43 +02:00
Tom Hvitved
aba2cb487e
Rust: Convert data flow test to @kind path-problem
2025-09-17 20:52:17 +02:00
Chad Bentz
141b470002
Merge branch 'main' into ruby-framework-grape
2025-09-17 12:12:13 -04:00
Alex Eyers-Taylor
34b40a14e8
Java: Make a TC overlay caller.
2025-09-17 16:22:22 +01:00
Anders Schack-Mulligen
d5a238768c
Shared/Cfg: Fix missing JoinBlockPredecessor.
2025-09-17 16:37:23 +02:00
Napalys Klicius
4f8166a661
Merge pull request #20450 from Napalys/js/graph-ql-ench
...
JS: Improve graphql flow
2025-09-17 16:32:01 +02:00
Simon Friis Vindum
203788d4f1
Merge pull request #20408 from paldepind/rust/update-rust-analyzer
...
Rust: Upgrade to rust-analyzer 0.0.301
2025-09-17 16:04:35 +02:00
Geoffrey White
1bccf42556
Rust: Update test results following fix on main.
2025-09-17 14:02:06 +01:00
Geoffrey White
3910a348fd
Merge branch 'main' into assignment
2025-09-17 13:56:57 +01:00
Michael Nebel
398f29a995
Merge pull request #20292 from michaelnebel/csharp/code-quality-extended
...
C#: Add most `medium` precision queries to the `code-quality-extended` suite.
2025-09-17 14:34:08 +02:00
Joe Farebrother
f3802ec60f
Merge pull request #20217 from joefarebrother/python-qual-signature-mismatch
...
Python: Modernize the Signature Mismatch query
2025-09-17 13:29:33 +01:00
Ian Lynagh
c653d939d9
Merge pull request #20451 from github/post-release-prep/codeql-cli-2.23.1
...
Post-release preparation for codeql-cli-2.23.1
2025-09-17 13:00:14 +01:00
Michael Nebel
34ebed1a24
Merge pull request #20402 from michaelnebel/python/code-quality-extended
...
Python: Add most `medium` precision queries to the `code-quality-extended` suite.
2025-09-17 13:48:35 +02:00
Michael Nebel
6d330891db
Merge pull request #20395 from michaelnebel/javascript/code-quality-extended
...
JS: Add most `medium` precision queries to the `code-quality-extended` suite.
2025-09-17 13:47:02 +02:00
Michael Nebel
7589d0a18a
Merge pull request #20394 from michaelnebel/java/code-quality-extended
...
Java: Add most `medium` precision queries to the `code-quality-extended` suite.
2025-09-17 13:46:24 +02:00
Taus
f5a06bef4a
Merge pull request #19929 from github/tausbn/python-update-tree-sitter-dependency
...
Python: Update `tree-sitter` dependency
2025-09-17 13:40:13 +02:00
Napalys Klicius
4226fd29f5
Merge pull request #20162 from Napalys/python/global_variable_tracking
...
Python: Add jump steps for global variable nested field access
2025-09-17 13:38:07 +02:00
Anders Schack-Mulligen
ab5f6717b6
Merge pull request #20449 from aschackmull/csharp/nullguard-pattern
...
C#: Bugfix for nullguards for complex patterns.
2025-09-17 13:10:16 +02:00
Anders Schack-Mulligen
afc98cacbe
C#: Add change note.
2025-09-17 12:49:25 +02:00
Napalys Klicius
7affcf40c2
JS: Add variableValues to the previous summaryModel to enchance the flow.
2025-09-17 12:24:14 +02:00
Napalys Klicius
6c18b4de40
JS: Add test case for graph ql variableValues injection
2025-09-17 12:21:21 +02:00
github-actions[bot]
4e8343664f
Post-release preparation for codeql-cli-2.23.1
2025-09-17 10:13:40 +00:00
Anders Schack-Mulligen
5e76d5ff3f
C#: Rename predicate as per review, and fixup qltest.
2025-09-17 11:58:39 +02:00
Napalys Klicius
6d461d6b50
JS: Add change note
2025-09-17 11:48:49 +02:00
Napalys Klicius
4282005e32
JS: Add summary model for graphql's rootValue
2025-09-17 11:48:44 +02:00
Simon Friis Vindum
05d5c1dda7
Merge pull request #20398 from paldepind/rust/warp-model
...
Rust: Add tests and models for Warp
2025-09-17 11:37:56 +02:00
Ian Lynagh
ce9c8e6e9f
Merge pull request #20447 from github/release-prep/2.23.1
...
Release preparation for version 2.23.1
2025-09-17 10:26:24 +01:00
Napalys Klicius
a6d728a66d
JS: Add test case with missing alert using graphql
2025-09-17 11:23:49 +02:00
Napalys Klicius
e1d27f340e
Merge pull request #20135 from Napalys/js/dynamodb
...
JS: Modeling of `aws-sdk` clients*
2025-09-17 10:47:39 +02:00
Simon Friis Vindum
c1ebe920a1
Rust: Update expected file
2025-09-17 10:38:00 +02:00
Napalys Klicius
ca667b5131
JS: fix test expectations from rebasing
2025-09-17 10:24:45 +02:00
Napalys Klicius
4df8db0d7e
Renamed AWS-V3-Common to @aws-sdk/client.Client
2025-09-17 10:21:29 +02:00
Napalys Klicius
10f3a83fcb
Fixed model type names
...
Co-authored-by: asgerf <asgerf@users.noreply.github.com >
2025-09-17 10:21:23 +02:00
Napalys Klicius
9ca4773227
Added modeling for CreatePreparedStatementCommand
2025-09-17 10:21:10 +02:00
Napalys Klicius
872b6d8bee
Added test case for CreatePreparedStatementCommand
2025-09-17 10:21:01 +02:00
Napalys Klicius
b89e70b5a0
Added test cases for aws sources
2025-09-17 10:20:52 +02:00
Napalys Klicius
801a34f6a1
Moved typeModel at the start of the file
2025-09-17 10:20:24 +02:00
Napalys Klicius
9beac51586
Unified aws-db modeling into singular file
2025-09-17 10:20:10 +02:00
Napalys Klicius
5b31350e83
Added tests and modeling of database-access-result
2025-09-17 10:20:01 +02:00
Napalys Klicius
93d9ae73b7
Updated change note
2025-09-17 10:19:52 +02:00
Napalys Klicius
e5f02852e1
Added modeling of rds v2 and v3 for sql injections
2025-09-17 10:19:22 +02:00
Napalys Klicius
5b5c17100c
Added test cases for client-rds-data for sql injections
2025-09-17 10:19:10 +02:00
Napalys Klicius
0e6bac73a7
Added modeling of athena v2 and v3 for sql injections
2025-09-17 10:18:58 +02:00
Napalys Klicius
af97b0edc2
Added test cases for athena v2 and v3 for sql injections
2025-09-17 10:16:38 +02:00
Napalys Klicius
ee1af432fe
Added modeling of client-s3 v2 and v3
2025-09-17 10:16:25 +02:00
Napalys Klicius
5e6118ef3f
Added test cases for client-s v2 and v3 sql injection
2025-09-17 10:15:43 +02:00
Napalys Klicius
1149617f7b
Added change note
2025-09-17 10:15:32 +02:00
Napalys Klicius
06ab918985
Added modeling for V2 of dynamoDB
2025-09-17 10:15:19 +02:00
Napalys Klicius
ae2e8b1292
Added modeling of dynamodb v3 for sql injections
2025-09-17 10:13:24 +02:00
Napalys Klicius
0a3343a07d
Added test cases for v2 and v3 sql injection of dynamodb
2025-09-17 10:11:31 +02:00
Simon Friis Vindum
e80c192cf2
Rust: Use async closure instead of async block
2025-09-17 10:01:51 +02:00
Anders Schack-Mulligen
62c8f28e74
C#: Bugfix for nullguards for complex patterns.
2025-09-17 09:28:54 +02:00
Tom Hvitved
a7173e0c05
Merge pull request #20443 from hvitved/rust/ssa-adjust-write-note
...
Rust: Adjust SSA write node for (compound) assignments
2025-09-17 09:25:50 +02:00
Simon Friis Vindum
46cd62bd51
Rust: Use .. notation in model
2025-09-17 09:18:41 +02:00
Simon Friis Vindum
f432498574
Rust: Use comma notation in Warp model
2025-09-17 09:18:40 +02:00
Simon Friis Vindum
1af6b37fc4
Rust: Add models for Warp
2025-09-17 09:18:39 +02:00
Simon Friis Vindum
bfe934118d
Rust: Add web framework tests for Warp
2025-09-17 09:18:37 +02:00
Chad Bentz
c5e3be2c4c
Grape - detect params calls inside helper methods
...
- added unit tests for flow using inline format
- removed grape from Arel tests (temporary)
2025-09-16 17:09:18 -04:00
Geoffrey White
6f1fcbf41b
Rust: Add IPv6 private address range (and explanatory comments).
2025-09-16 17:21:08 +01:00
Alex Eyers-Taylor
f5134e3125
Java: Eliminate pointless use of PathNodes over DataFlow::Node
...
The use of PathNode prevents these from being overlay informed.
2025-09-16 17:20:44 +01:00
Taus
8fd62252fd
Python: Fix bad join in globalVariableNestedFieldJumpStep
2025-09-16 18:12:29 +02:00
Napalys Klicius
431fc8880e
Python: Add change note
2025-09-16 18:08:53 +02:00
Napalys Klicius
e82fe9d919
Python: Updated doc string and removed redundant predicate.
2025-09-16 18:08:53 +02:00
Taus
e228aac61f
Python: Use AttrWrite.writes
...
Also applies @napalys' fix to the base case.
2025-09-16 18:08:53 +02:00
Taus
6f9e06c59e
Python: Add AttrWrite.writes and AttrRead.reads
...
The latter of these is identical to `AttrRef.accesses`, but makes the
API a bit more intuitive.
2025-09-16 18:08:53 +02:00
Napalys Klicius
8393ccf39d
Python: Update globalVariableAttrPathAtDepth base case
2025-09-16 18:08:53 +02:00
Taus
6133f01c81
Python: Rewrite access path computation
2025-09-16 18:08:53 +02:00
Taus
69b5853477
Python: Keep track of access path
2025-09-16 18:08:53 +02:00
Napalys Klicius
e60d0c88f1
Python: Add global variable nested field jump steps
2025-09-16 18:08:53 +02:00
Napalys Klicius
9d4b168977
Python: Added extra test for global variable nested attribute reads/writes.
2025-09-16 18:08:53 +02:00
Napalys Klicius
6c779c7fa5
Python: Added extra test cases for path injection with FastAPI
2025-09-16 18:08:53 +02:00
Napalys Klicius
f209e3a0fe
Python: Updated PathInjection tests to use inline test expectations
2025-09-16 18:08:53 +02:00
Alex Eyers-Taylor
2201974844
Jave: Use force local to make parsing local after global regex finding.
2025-09-16 15:55:04 +01:00
github-actions[bot]
02a1b1efcb
Release preparation for version 2.23.1
2025-09-16 14:14:42 +00:00
Geoffrey White
7c22fe269f
Merge branch 'main' into https
2025-09-16 14:28:23 +01:00
Chad Bentz
ffd32efba2
codeql query format
2025-09-16 09:08:07 -04:00
Geoffrey White
31bf86fd1b
Rust: Improve the flow around the qhelp example.
2025-09-16 14:04:55 +01:00
Geoffrey White
0eb602aad2
Rust: Update a redirected URL.
2025-09-16 14:00:43 +01:00
Asger F
7670a2bd77
Merge pull request #20375 from asgerf/js/promise-try
...
JS: Support Promise.try and Array.prototype.with
2025-09-16 14:44:07 +02:00
Geoffrey White
5d40075944
Merge branch 'main' into assignment
2025-09-16 13:30:20 +01:00
Jonas Jensen
eac8a79d49
Merge pull request #20420 from jbj/no-qll-deprecation
...
Docs: remove 1-year deprecation period for QL libraries
2025-09-16 14:18:36 +02:00
Napalys Klicius
97a11de1e3
Merge pull request #20435 from Napalys/js/promisification_modeling
...
JS: Promisification library modeling and enhance flow
2025-09-16 14:07:53 +02:00
Geoffrey White
4b281fdf12
Rust: Use case insensitive regexps.
2025-09-16 13:02:54 +01:00
Michael Nebel
d903448695
C#: Add change note.
2025-09-16 13:58:28 +02:00
Michael Nebel
f9cecfb666
C#: Update integration test expected output.
2025-09-16 13:56:14 +02:00
Michael Nebel
98a7cd24c0
C#: Remove all cs/xmldoc/* queries from the code-quality-extended suite.
2025-09-16 13:56:13 +02:00
Michael Nebel
0ce0e834ed
C#: Update integration tests expected output.
2025-09-16 13:56:11 +02:00
Michael Nebel
cdd379113e
C#: Remove cs/captured-foreach-variable from the code-quality-extended suite.
2025-09-16 13:56:09 +02:00
Michael Nebel
47873c20de
C#: Fix incorrect tagging.
2025-09-16 13:56:07 +02:00
Michael Nebel
c9a761f202
C#: Remove the cs/xmldoc/missing-xmldoc from the code-quality-extended.
2025-09-16 13:56:05 +02:00
Michael Nebel
906e9de5ee
C#: Update query-suite integration tests expected output.
2025-09-16 13:56:04 +02:00
Michael Nebel
17735a9a43
C#: Add queries medium precision queries to the code-quality-extended suite (and update tags).
2025-09-16 13:56:02 +02:00
Geoffrey White
80ce55ab10
Rust: Make the private address spaces URL more accurate.
2025-09-16 12:53:44 +01:00
Asger F
edf79a3730
JS: Change note
2025-09-16 13:53:31 +02:00
Asger F
0b900711bf
Update javascript/ql/lib/semmle/javascript/frameworks/Express.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-16 13:48:26 +02:00
Geoffrey White
0f5aa857b8
Rust: Remove unnecessary import.
2025-09-16 12:41:28 +01:00
Geoffrey White
9c7fc58337
Rust: Add tests for a few more edge cases.
2025-09-16 12:41:00 +01:00
Michael Nebel
6d9e489e7c
Merge pull request #20445 from michaelnebel/csharp/fixintegrationtest
...
C#: Fix failing integration test after new version of `NewtonSoft.JSon` has been released.
2025-09-16 13:38:55 +02:00
Geoffrey White
0924dec545
Rust: Make the tests of the example code closer to the actual example code.
2025-09-16 12:28:52 +01:00
Tom Hvitved
a2d83274bc
Merge pull request #20441 from geoffw0/fixrfquery
...
Rust: Fix a minor issue with the test for rust/request-forgery
2025-09-16 13:22:58 +02:00
Geoffrey White
7b04cf1a73
Rust: Fix up the test annotations.
2025-09-16 12:20:29 +01:00
Michael Nebel
8fbd720fe5
C#: Fix failing integration test after new version of NewtonSoft.JSon has been released.
2025-09-16 13:14:23 +02:00
Napalys Klicius
49ccb8ce2b
JS: Simplify exist clause to use Promisify::PromisifyAllCall instead of DataFlow::SourceNode
2025-09-16 13:13:15 +02:00
Asger F
429c4eac96
JS: Add support for Array.prototype.with
...
Note: This was authored by Copilot
2025-09-16 13:06:59 +02:00
Asger F
ee78b7dc96
JS: Add support for Promise.try
2025-09-16 13:06:57 +02:00
Tom Hvitved
7cac226ad9
Rust: Adjust SSA write node for (compound) assignments
2025-09-16 13:05:50 +02:00
Tom Hvitved
4e77b1b9b8
Rust: Add self-assignment variable test
2025-09-16 13:05:48 +02:00
Asger F
45eff3dac8
Merge pull request #20399 from asgerf/js/default-interop2
...
JS: Refactor handling of ambiguous default imports
2025-09-16 13:02:22 +02:00
Asger F
78bfdfd931
Merge pull request #20390 from asgerf/post-update-consistency
...
DataFlow: Permit local flow between post-update nodes
2025-09-16 13:00:29 +02:00
Geoffrey White
49de716f10
Rust: Accept consistency check changes.
2025-09-16 10:50:28 +01:00
Mathias Vorreiter Pedersen
fa36d9f84e
Merge pull request #20438 from MathiasVP/remove-antijoin-in-shared-guards
...
Shared: Remove antijoin from `Guards.qll`
2025-09-16 10:40:45 +01:00
Anders Schack-Mulligen
0ceb2f3f72
Merge pull request #20442 from aschackmull/csharp/default-tostring-enum
...
C#: Exclude enum types as they don't inherit the default toString.
2025-09-16 11:12:21 +02:00
Anders Schack-Mulligen
57e15b9a91
Merge pull request #20367 from aschackmull/shared/controlflow
...
Shared/Java: Introduce a shared control flow reachability library and replace the Java Nullness implementation.
2025-09-16 10:44:44 +02:00
Anders Schack-Mulligen
107d142b24
C#: Exclude enum types as they don't inherit the default toString.
2025-09-16 10:33:25 +02:00
Jeroen Ketema
6264f46970
Merge pull request #20440 from MathiasVP/converted-barrier-in-unbounded-write
...
C++: Fix barrier in `cpp/unbounded-write`
2025-09-16 10:19:21 +02:00
Geoffrey White
61faeef1d3
Rust: Pretty print models, so that the MaD IDs aren't reported raw / in continual flux.
2025-09-16 09:00:40 +01:00
Geoffrey White
5c33af32e3
Rust: Update .expected file.
2025-09-16 08:55:49 +01:00
Asger F
65102a073a
Merge pull request #19770 from trailofbits/VF/async-package-improvements
...
Improve data flow in the `async` package
2025-09-16 08:55:52 +02:00
Asger F
f587273828
Merge pull request #19768 from trailofbits/VF/lodash-group-by
...
Add lodash GroupBy as taint step
2025-09-16 08:55:13 +02:00
Chad Bentz
0d0ce32ef2
Merge branch 'ruby-framework-grape' of github.com:felickz/codeql into ruby-framework-grape
2025-09-15 22:11:38 -04:00
Chad Bentz
fc98cd8d08
Fix naming standards
2025-09-15 22:11:33 -04:00
Chad Bentz
19cb187436
Update ruby/ql/lib/codeql/ruby/frameworks/Grape.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-15 22:03:27 -04:00
Chad Bentz
6cea93919e
Merge branch 'main' into ruby-framework-grape
2025-09-15 22:02:24 -04:00
Chad Bentz
a8d4d6b563
Apply naming standards + changenote
2025-09-15 22:02:03 -04:00
Chris Smowton
c375f24598
Merge pull request #20423 from smowton/smowton/fix/length-comparison-off-by-one-fp
...
JS: Recognise that a less-than test is as good as a non-equal test for mitigating off-by-one array access
2025-09-15 18:24:45 +01:00
Geoffrey White
3ca287454a
Merge branch 'main' into assignment
2025-09-15 18:01:19 +01:00
Geoffrey White
8442146a0f
Rust: Add a couple of simple data flow test cases.
2025-09-15 17:37:30 +01:00
Napalys Klicius
278a1efb4b
JS: Add change note
2025-09-15 18:21:45 +02:00
Mathias Vorreiter Pedersen
18c96fd7d4
Shared: Remove antijoin.
2025-09-15 17:12:23 +01:00
Ian Lynagh
9231119b07
Merge pull request #20437 from github/igfoo/tweak-release-note
...
C++: Tweak a release note
2025-09-15 16:39:51 +01:00
Mathias Vorreiter Pedersen
a4c845c418
C++: Fix barrier in 'cpp/unbounded-write'.
2025-09-15 16:34:05 +01:00
Ian Lynagh
cc72314219
C++: Tweak a release note
2025-09-15 16:26:32 +01:00
Ian Lynagh
7860857b55
Merge pull request #20434 from github/igfoo/fix-typo
...
javascript: Fix spelling error in documentation
2025-09-15 16:21:57 +01:00
Ian Lynagh
b797df6ad5
Merge pull request #20436 from github/igfoo/fix-typo-substract
...
Csharp: Fix typo in LeapYear qhelp
2025-09-15 16:21:26 +01:00
Napalys Klicius
3a75500f54
JS: Add modeling for call-me-maybe
2025-09-15 17:15:31 +02:00
Napalys Klicius
0d23ab07db
JS: Add data flow modeling for promisified user-defined functions
2025-09-15 17:13:13 +02:00
Napalys Klicius
2c6db00cbc
JS: Add modeling for util promisify*
2025-09-15 17:09:28 +02:00
Napalys Klicius
e002f2088f
JS: Add modeling for es6-promisify
2025-09-15 17:04:34 +02:00
Napalys Klicius
35c75c00ba
JS: Add modeling for @gar/promisify
2025-09-15 16:58:11 +02:00
Napalys Klicius
312471e9db
JS: Add modeling for @google-cloud/promisify
2025-09-15 16:55:27 +02:00
Napalys Klicius
d37425ae3e
JS: Treat promisify(obj).member as obj.member
2025-09-15 16:51:19 +02:00
Ian Lynagh
5cf052dec1
Csharp: Fix typo in LeapYear qhelp
...
Corrects "add/substract" to "add/subtract" in the UnsafeYearConstruction.qhelp
file to improve clarity.
2025-09-15 15:44:11 +01:00
Napalys Klicius
22b61852a1
JS: Add modeling for thenify-all
2025-09-15 16:31:14 +02:00
Napalys Klicius
d6a14e63ba
JS: Add test cases for promisification libraries.
2025-09-15 16:21:12 +02:00
Ian Lynagh
d0091e1b3c
javascript: Fix spelling error in documentation
...
Corrects the spelling of "occurrences" in the Incomplete Multi-Character
Sanitization documentation to improve clarity.
2025-09-15 14:53:22 +01:00
copilot-swe-agent[bot]
e630bf86bd
Implement Rust non-HTTPS URL query (CWE-319)
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-09-15 11:44:05 +00:00
copilot-swe-agent[bot]
459f00ab41
Initial plan
2025-09-15 11:25:11 +00:00
Simon Friis Vindum
78389c8897
Merge pull request #20133 from paldepind/rust/type-inference-blanket-impl
...
Rust: Support blanket implementations
2025-09-15 12:46:41 +02:00
Simon Friis Vindum
af49301332
Merge pull request #20381 from paldepind/rust/request-forgery-query
...
Rust: Add basic request forgery query
2025-09-15 12:46:23 +02:00
Geoffrey White
00f644888c
Merge pull request #20426 from geoffw0/cookie2
...
Rust: cookie and biscotti crypto query sinks
2025-09-15 11:07:46 +01:00
Anders Schack-Mulligen
acb4d9f681
Shared: Copy some qldoc from Guards.qll
2025-09-15 11:41:23 +02:00
Simon Friis Vindum
35438294d1
Rust: Remove condition that always holds
2025-09-15 10:58:27 +02:00
Anders Schack-Mulligen
be39c4c0cd
Shared: Minor precision improvement.
2025-09-15 10:38:49 +02:00
Simon Friis Vindum
875c7da87c
Rust: Improve comments in type inference
2025-09-15 10:37:38 +02:00
Anders Schack-Mulligen
b308c5438f
Java: Add a change note, and a minor ql comment.
2025-09-15 10:14:26 +02:00
Simon Friis Vindum
50bdc658ba
Rust: Apply documentation tweaks
2025-09-15 09:32:33 +02:00
Chad Bentz
5cfa6e83b3
Add support for route parameters(+ blocks), headers, and cookies in Grape API
2025-09-12 22:51:47 -04:00
Chad Bentz
3252bd39d2
Enhance Grape framework with additional data flow modeling and helper method support
2025-09-12 22:13:21 -04:00
Chad Bentz
738ab6fba7
Refactor Grape framework code for improved readability and consistency
2025-09-12 19:23:15 -04:00
Chad Bentz
d295acc3c3
Add initial support for Ruby Grape
2025-09-12 19:22:05 -04:00
Geoffrey White
989081ba4a
Rust: Change note.
2025-09-12 18:12:59 +01:00
Geoffrey White
118ac07b71
Rust: Convert 'from' models into one generic one.
2025-09-12 18:05:30 +01:00
Geoffrey White
9f83b67a7c
Rust: Model vec::from_elem.
2025-09-12 17:30:44 +01:00
Geoffrey White
e2d94127d6
Rust: Model vec::from.
2025-09-12 16:44:47 +01:00
Geoffrey White
5d3ea2f4d3
Rust: Add models for the cookie and biscotti crates.
2025-09-12 16:13:14 +01:00
Geoffrey White
2bb9e2f7be
Rust: Add test cases for hardcoded cryptographic constants in cookies.
2025-09-12 15:42:56 +01:00
Simon Friis Vindum
e2e6fd0683
Rust: Address feedback from PR review
2025-09-12 16:10:58 +02:00
Simon Friis Vindum
19c529e87b
Bazel: regenerate vendored cargo dependencies
2025-09-12 15:48:23 +02:00
Simon Friis Vindum
3cf1a16a13
Cargo: upgrade dependencies
2025-09-12 15:45:37 +02:00
Anders Schack-Mulligen
e302616135
Java: Accept qltest change.
2025-09-12 15:41:18 +02:00
Anders Schack-Mulligen
f9ffee010f
Java: Minor nullness cleanup.
2025-09-12 15:41:17 +02:00
Anders Schack-Mulligen
2743fc0be1
Guards: Include ConditionalExpr in exprHasValue.
2025-09-12 15:41:17 +02:00
Anders Schack-Mulligen
e8f1ec68db
Java: Accept guards test results.
2025-09-12 15:41:17 +02:00
Anders Schack-Mulligen
60d07cf30d
Java: Clean up IntegerGuards.qll
2025-09-12 15:41:16 +02:00
Anders Schack-Mulligen
03321ff910
Java: Replace nullness implementation.
2025-09-12 15:41:16 +02:00
Anders Schack-Mulligen
4a8ffea0f6
Shared: Add control flow reachability lib.
2025-09-12 15:41:15 +02:00
Simon Friis Vindum
f48b643375
Bazel: regenerate vendored cargo dependencies
2025-09-12 15:38:18 +02:00
Simon Friis Vindum
12dcd751d3
Rust: Accept test changes
2025-09-12 15:34:09 +02:00
Simon Friis Vindum
29ba013580
Rust: Add support for resolving methods from blanket implementations
2025-09-12 15:34:04 +02:00
Chris Smowton
db5c58180e
Change note
2025-09-12 14:32:12 +01:00
Chris Smowton
f5780ae369
Amend docstring
2025-09-12 14:32:10 +01:00
Chris Smowton
4fb133a43d
Recognise that a less-than test is as good as a non-equal test for mitigating off-by-one array access
2025-09-12 14:32:07 +01:00
Simon Friis Vindum
d10cdfb7f1
Rust: Move existing blanket implementation test
2025-09-12 15:31:42 +02:00
Simon Friis Vindum
69a1c7e1e8
Rust: Add tests with blanket implementation
2025-09-12 15:26:19 +02:00
Anders Schack-Mulligen
452bbf7289
Java: Add some more nullness tests.
2025-09-12 13:38:21 +02:00
Anders Schack-Mulligen
924a8eac5c
Java: Improve precision of SuccessorType labels in CFG.
2025-09-12 13:38:21 +02:00
Anders Schack-Mulligen
1ebdcdfa8c
Guards: Support integer ranges.
2025-09-12 13:38:20 +02:00
Anders Schack-Mulligen
db1f399067
Java: Preparatory Nullness refactor.
2025-09-12 13:38:20 +02:00
Anders Schack-Mulligen
e8ddac08b7
Merge pull request #20377 from aschackmull/java/preconditions
...
Java: Consolidate Assertions.qll and Preconditions.qll.
2025-09-12 13:37:41 +02:00
Alexander Eyers-Taylor
e9fcd985f9
Merge pull request #20357 from github/alexet/java-global-virtual-dispatch
...
Java: Make Virtual Dispatch Global, but keep SSA local.
2025-09-12 12:20:46 +01:00
Geoffrey White
d638ee9741
Merge pull request #20404 from geoffw0/rustanalyzerdoc
...
Rust: add `rust-analyzer` update instructions
2025-09-12 11:17:10 +01:00
Jeroen Ketema
7c35835e25
Merge pull request #20422 from jketema/go-log
...
Go: Retrofit the change log to mention Go 1.25
2025-09-12 11:20:03 +02:00
Jeroen Ketema
a773042c5d
Merge pull request #20407 from jketema/dyn-too-many
...
C++: Add `cpp/uninitialized-local` test
2025-09-12 11:12:28 +02:00
Jeroen Ketema
0f5bd3799e
Merge branch 'main' into go-log
2025-09-12 11:12:01 +02:00
Jeroen Ketema
3de9356141
Go: Retrofit the change log to mention Go 1.25
...
This can only be a minor change (or something similar) to stay within the
semantic versioning contraints. This is because only the patch version of
the Go ql library pack was bumped during the release. Since there were no new
language features in Go 1.25, this might also be the most accurate choice here.
2025-09-12 11:08:42 +02:00
Jeroen Ketema
352610d651
C++: Add GOOD annotation
2025-09-12 10:29:27 +02:00
Simon Friis Vindum
fd5b5baa8f
Merge pull request #20403 from paldepind/rust/certain-struct-expr
...
Rust: Infer certain type information for struct expressions
2025-09-12 10:28:07 +02:00
Geoffrey White
92124a9033
Update rust/README.md
2025-09-12 09:01:13 +01:00
Jonas Jensen
5ac80353d2
Docs: remove outdated link to change notes.
...
The change notes are now maintained under each query pack, so there's no
single place where we can link to it.
2025-09-12 09:26:23 +02:00
Jonas Jensen
cb766de37e
Docs: remove 1-year deprecation period for QL libs
...
Internal reference: codeql-team ADR 0011.
2025-09-12 09:24:13 +02:00
Simon Friis Vindum
b456a8c4e5
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-09-12 09:09:00 +02:00
Asger F
132a8b8b53
JS: Model json and jsonp methods
2025-09-12 08:51:23 +02:00
Asger F
d729ab501b
JS: Add test that calls .json or .jsonp
2025-09-12 08:51:21 +02:00
Alex Eyers-Taylor
d5ee91b1e8
Java: Adress comments form code review.
2025-09-11 17:14:08 +01:00
Geoffrey White
aaa67a2da9
Update rust/README.md
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-09-11 17:12:22 +01:00
Ian Lynagh
ffeece1179
Merge pull request #20410 from igfoo/igfoo/bmn-med
...
C++: Remove the BMN filter from some queries, but reduce precision to medium
2025-09-11 17:01:35 +01:00
Ian Lynagh
050a9e155f
C++: Add changenote for changes to some queries
...
Queries affected:
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-09-11 15:56:41 +01:00
Idriss Riouak
8ce2d3954e
Merge pull request #20413 from github/idrissrio/java25-change-note
...
Java: Add change note and update supported versions
2025-09-11 16:39:28 +02:00
Ian Lynagh
cc131a09a1
C++: Accept changes to cpp/ql/integration-tests/query-suite
2025-09-11 15:01:04 +01:00
Michael Nebel
0b43203349
Merge pull request #20401 from michaelnebel/csharp/deprecatecapturedforeachvariable
...
C#: Deprecate `cs/captured-foreach-variable`.
2025-09-11 15:01:29 +02:00
Asger F
ae4cf302f2
Remove failures from dataflow-consistency expectations
2025-09-11 14:49:58 +02:00
Asger F
511308746c
DataFlow: Permit local flow between post-update nodes
2025-09-11 14:49:56 +02:00
idrissrio
a0e963f769
Java: Add change note and update supported versions
2025-09-11 14:37:36 +02:00
Ian Lynagh
b3f4c68a1d
C++: Remove the BMN filter from some queries, but reduce precision to medium
...
Remove the `not any(Compilation c).buildModeNone() and` clause from:
cpp/wrong-type-format-argument
cpp/comparison-with-wider-type
cpp/integer-multiplication-cast-to-long
cpp/implicit-function-declaration
cpp/suspicious-add-sizeof
but reduce their precision to `medium`.
2025-09-11 13:32:11 +01:00
Idriss Riouak
0b5745c24b
Merge pull request #20405 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-09-11 14:17:08 +02:00
Michael B. Gale
f4575d9d03
Merge pull request #20406 from github/dependabot/go_modules/go/extractor/extractor-dependencies-93606d20ee
...
Bump golang.org/x/tools from 0.36.0 to 0.37.0 in /go/extractor in the extractor-dependencies group
2025-09-11 13:11:28 +01:00
Simon Friis Vindum
4d0635dc8a
Update qhelp for request forgery query
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-09-11 13:55:51 +02:00
Jeroen Ketema
d87e9ec095
Merge pull request #20409 from jketema/jketema/swift-changenote
...
Swift: Mention in update playbook that we want a change note
2025-09-11 13:03:56 +02:00
Owen Mansel-Chan
f74913aa4d
Merge pull request #20411 from owen-mc/go/improve-pun-tests
...
Go: improve post-update node tests
2025-09-11 12:03:21 +01:00
Simon Friis Vindum
671bea58af
Rust: Add certain type information for struct patterns
2025-09-11 12:43:26 +02:00
Owen Mansel-Chan
d9e7c89af0
Add indirect method calls
2025-09-11 11:31:28 +01:00
Owen Mansel-Chan
84e70e166e
Add direct method calls
2025-09-11 11:27:56 +01:00
Owen Mansel-Chan
fa18fd2782
Add method defs
2025-09-11 11:24:53 +01:00
Owen Mansel-Chan
cbbf7c2578
Include pre-update node in output
2025-09-11 11:22:17 +01:00
Paolo Tranquilli
051da9d407
Merge branch 'main' into rustanalyzerdoc
2025-09-11 11:48:17 +02:00
Geoffrey White
32131cf9ae
Update rust/README.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-11 10:36:04 +01:00
Simon Friis Vindum
50b3571124
Cargo: Revert changes to the Ruby extractors Cargo file
2025-09-11 11:35:33 +02:00
Simon Friis Vindum
61eea66c51
Bazel: regenerate vendored cargo dependencies
2025-09-11 11:35:15 +02:00
Jeroen Ketema
2f9961888a
Swift: Mention in update playbook that we want a change note
2025-09-11 11:31:36 +02:00
Asger F
7a2391f848
JS: Deprecate Portals and delete tests
...
This is a super old attempt at model generation, from before MaD even existed. It's obsolete and just have to be removed.
2025-09-11 11:05:36 +02:00
Simon Friis Vindum
55d022f6eb
Cargo: upgrade dependencies
2025-09-11 10:47:26 +02:00
Geoffrey White
8af8c6d95a
Rust: Move upgrade script to the very end, add a few details.
2025-09-11 09:47:15 +01:00
Geoffrey White
9a96372f53
Rust: Add some more details.
2025-09-11 09:40:36 +01:00
Jeroen Ketema
2bc035cfcf
C++: Update test results after extractor changes
2025-09-11 10:31:01 +02:00
Jeroen Ketema
d224f85b24
C++: Add uninitialized variable FP test
2025-09-11 10:31:00 +02:00
Idriss Riouak
59fc7aa8e1
Merge pull request #20385 from github/idrissrio/java-regression-statsfile
...
Java: Revert wrongly generated stats file
2025-09-11 10:28:59 +02:00
Anders Schack-Mulligen
e7df1b220c
Java: Add change note.
2025-09-11 10:00:53 +02:00
Simon Friis Vindum
eea70069e7
Rust: Infer certain type information for struct expressions
2025-09-11 09:53:56 +02:00
Michael Nebel
c2628fe1df
Python: Update integration tests expected output.
2025-09-11 08:44:18 +02:00
Michael Nebel
a774c65162
Python: Remove py/missing-docstring from code-quality-extended.
2025-09-11 08:41:33 +02:00
dependabot[bot]
b996dc3b62
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.36.0 to 0.37.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.36.0...v0.37.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.37.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-11 03:08:27 +00:00
github-actions[bot]
a6714809c4
Add changed framework coverage reports
2025-09-11 00:22:32 +00:00
Paolo Tranquilli
a9a0cb928e
Rust: add rust-analyzer update instructions
2025-09-10 18:30:37 +01:00
Alex Eyers-Taylor
dcc5572767
Java: Hnalde global files as exceptions rather than annotating them
...
This allows us to merge them without redundent annoations for now.
2025-09-10 17:26:54 +01:00
Alex Eyers-Taylor
5c19aad012
Java: Make Virtual Dispatch Global, but keep SSA local.
...
Use forceLocal to achive this.
2025-09-10 17:26:54 +01:00
Mathias Vorreiter Pedersen
4227dd7d73
Merge pull request #20400 from MathiasVP/cleanup-incorrect-scanf-query
...
C++: Cleanup `ScanfChecks.qll`
2025-09-10 16:31:49 +01:00
Michael Nebel
07932590b5
Java: Update integration test expected output.
2025-09-10 16:15:48 +02:00
Michael Nebel
8e392cf8de
Java: Remove java/undocumented-* queries from the code-quality-extended suite.
2025-09-10 16:13:24 +02:00
Michael Nebel
6ff6d0f6bd
Java: Update integration test expected output.
2025-09-10 16:11:22 +02:00
Michael Nebel
56802035df
Java: Add some medium precision queries to the code-quality-extended suite.
2025-09-10 16:11:20 +02:00
Michael Nebel
7c58098f12
Python: Update integration tests expected output.
2025-09-10 16:08:14 +02:00
Michael Nebel
7c0aa78e39
Python: Add many medium precision queries to the code-quality-extended suite.
2025-09-10 16:06:38 +02:00
Anders Schack-Mulligen
b5c7bc1b33
Java: Accept test output.
2025-09-10 15:42:18 +02:00
Anders Schack-Mulligen
3815503314
Java: Consolidate Assertions.qll and Preconditions.qll.
2025-09-10 15:42:18 +02:00
Simon Friis Vindum
065388df91
Rust: Fix formatting
2025-09-10 14:50:35 +02:00
Simon Friis Vindum
d1a3294f06
Merge branch 'main' into rust/request-forgery-query
2025-09-10 14:48:22 +02:00
idrissrio
762d2ef793
Java: Manually add new relation to stats file
2025-09-10 14:44:52 +02:00
idrissrio
a20737308a
Java: Revert wrongly generated stats file
...
The stats file generated in commit
a6b68ec7de (diff-a4cfdde566085b7f1c1315487c13ef64e4869729ae7886b6c8f4267e3cd4eab6)
was created using the wrong process.
This commit reverts that change and manually adds the new relation
for isImplicitClass.
2025-09-10 14:44:50 +02:00
Simon Friis Vindum
c73d081a32
Rust: Fix based on review
2025-09-10 14:41:20 +02:00
Simon Friis Vindum
50cd200ec5
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-09-10 14:34:54 +02:00
Mathias Vorreiter Pedersen
edec76ae10
Merge pull request #20370 from MathiasVP/source-bounded-fast-tc-in-typetracking
...
Shared: Use `sourceBoundedFastTC` in TypeTracking
2025-09-10 13:04:49 +01:00
Michael Nebel
186e42b1fe
C#: Add change note.
2025-09-10 14:04:02 +02:00
Michael Nebel
e5da0b90ce
C#: Deprecate cs/captured-foreach-variable.
2025-09-10 14:04:01 +02:00
Asger F
d39263dcac
Merge pull request #20317 from asgerf/js/xunit
...
JS: Avoid overriding Expr predicates in xUnit.qll
2025-09-10 13:41:21 +02:00
Mathias Vorreiter Pedersen
72d7223fd0
C++: Small drive by cleanup. Delete unnecessary nested 'exists'.
2025-09-10 12:35:59 +01:00
Mathias Vorreiter Pedersen
d097946e1f
C++: No need for this additional case.
2025-09-10 12:35:24 +01:00
Mathias Vorreiter Pedersen
5a9b562f19
Merge branch 'main' into source-bounded-fast-tc-in-typetracking
2025-09-10 12:14:01 +01:00
Asger F
dacc9e26e9
JS: Refactor 'default' import interop
2025-09-10 13:03:36 +02:00
Mathias Vorreiter Pedersen
f8bdf924db
Shared: Make 'standardFlowsTo' private.
2025-09-10 11:26:36 +01:00
Mathias Vorreiter Pedersen
b7bc94b987
Update shared/typetracking/codeql/typetracking/internal/TypeTrackingImpl.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-09-10 11:21:25 +01:00
Michael Nebel
046d0d4938
Merge pull request #20396 from michaelnebel/csharp/improveintegrationteststability
...
C#: Increase attempts to reach nuget.org in integration tests to reduce flakiness.
2025-09-10 12:19:49 +02:00
Michael Nebel
e5ba1c7a84
Merge pull request #20352 from michaelnebel/csharp/dotnet908
...
C#: Update to .NET SDK 9.0.300 and .NET Runtime 9.0.5.
2025-09-10 12:09:35 +02:00
Idriss Riouak
b89b68dfdb
Merge pull request #20339 from github/idrissrio/scoped-values
...
Java: Add MaDs for `java.lang.ScopedValue`
2025-09-10 11:21:34 +02:00
Idriss Riouak
166c77d776
Merge pull request #20345 from github/idrissrio/java-kdf
...
Java: Add MaDs for `java.crypto.KDF`
2025-09-10 11:21:19 +02:00
Asger F
2a4d6830ec
JS: An array of constants should be considered "filtered"
2025-09-10 11:07:32 +02:00
Asger F
602dae0592
JS: Add test showing FP
2025-09-10 10:58:34 +02:00
Asger F
36e18c2a89
JS: Enable inline expectations in BuildArtifactLeak
...
The tests already have the annotations, it just seems to have been disable by accident
2025-09-10 10:56:34 +02:00
Asger F
09edc29979
Merge pull request #20322 from asgerf/js/react-no-override
...
JS: Do not override AST methods in React model
2025-09-10 10:42:59 +02:00
Michael Nebel
fbc4f0b84f
C#: Increase attempts to reach nuget.org in integration tests to reduce flakiness.
2025-09-10 09:03:11 +02:00
Asger F
d575d3c9e4
Merge pull request #20374 from asgerf/js/typescript-5.9
...
JS: Support TypeScript 5.9 and support 'import defer' syntax
2025-09-09 20:50:04 +02:00
Joe Farebrother
f9e094de61
Simplify choosaASignatureMismatchWitness for improved performance
2025-09-09 17:25:48 +01:00
Jeroen Ketema
174f89fbcb
Merge pull request #20384 from jketema/swift-6.1.3
...
Swift: Update to Swift 6.1.3
2025-09-09 17:06:12 +02:00
Joe Farebrother
ea562de3e6
Fix tests
2025-09-09 15:17:16 +01:00
Tom Hvitved
125cc91ba6
Merge pull request #20358 from hvitved/shared/type-inference-generalize
...
Shared: Make some generalizations in type inference library
2025-09-09 16:08:30 +02:00
Michael Nebel
1c801bd856
JavaScript: Update integration test expected output.
2025-09-09 15:48:31 +02:00
Michael Nebel
58862f4ace
JavaScript: Add some medium precision queries to the code-quality-extended suite.
2025-09-09 15:47:03 +02:00
Tom Hvitved
e3e1bcd63f
Rename Environment -> AccessEnvironment
2025-09-09 15:06:56 +02:00
Tom Hvitved
2e90499df4
Rename State -> Environment
2025-09-09 15:05:58 +02:00
Tom Hvitved
a1980ee23c
Shared: Make some generalizations in type inference library
2025-09-09 15:05:56 +02:00
Joe Farebrother
ec40ea800d
Update qldoc
2025-09-09 13:46:52 +01:00
Joe Farebrother
b01b40b51b
Update test output
2025-09-09 13:44:03 +01:00
Simon Friis Vindum
b34fa7abc0
Merge pull request #20393 from paldepind/rust/impl-to-string
...
Rust: Improve `toString` for `impl`
2025-09-09 14:16:01 +02:00
Simon Friis Vindum
f7c74664fa
Rust: Improve a few toString implementations
2025-09-09 13:46:51 +02:00
Mathias Vorreiter Pedersen
417e79c3c0
Merge pull request #20382 from MathiasVP/simplify-ssl-result-not-checked
...
C++: Simplify `cpp/certificate-not-checked`
2025-09-09 12:23:39 +01:00
Mathias Vorreiter Pedersen
3aee4a88aa
Shared: Cache the sourceBoundedFastTC structure instead of the resulting materialized relation.
2025-09-09 12:22:37 +01:00
Mathias Vorreiter Pedersen
fd7d216fe3
Shared: Replace explicit recursion with a HOP.
2025-09-09 12:22:36 +01:00
Joe Farebrother
e382f7cd43
Improve check for containment in with statement
2025-09-09 11:26:17 +01:00
Michael B. Gale
4b9d102f46
Merge pull request #20389 from github/dependabot/go_modules/go/extractor/extractor-dependencies-ee4a90dc36
...
Bump golang.org/x/mod from 0.27.0 to 0.28.0 in /go/extractor in the extractor-dependencies group
2025-09-09 11:12:31 +01:00
Michael Nebel
a0f8b5829a
C#: Update integration tests expected output.
2025-09-09 12:04:21 +02:00
Michael Nebel
30b93d18b7
C#: Update global.json files for most integration tests to se .NET SDK 9.0.304.
2025-09-09 12:04:19 +02:00
Paolo Tranquilli
51052c74bb
Bazel: patch rules_dotnet to avoid unit test failure
2025-09-09 12:04:18 +02:00
Paolo Tranquilli
6ea6f30cc5
Bazel: fix codeql_csharp_binary
...
A `publish` directory for a C# binary contains copies of some DLLs
inside localized subdirectories (e.g. `ru`). We want to ignore those, as
otherwise our packaging machinery now goes haywire, with the newer
version of `rules_csharp`. In any case we never shipped those.
2025-09-09 12:04:16 +02:00
Michael Nebel
91f9247c2b
C#: Update extractor to use .NET Runtime 9.0.5 and .NET SDK 9.0.300.
2025-09-09 12:04:15 +02:00
Simon Friis Vindum
4f9d8271a2
Rust: Add change node for request forgery query
2025-09-09 10:38:01 +02:00
Simon Friis Vindum
387d08a1b3
Rust: Update query suite expected files
2025-09-09 10:37:59 +02:00
Simon Friis Vindum
1c922f0f45
Rust: Add request forgery query qhelp
2025-09-09 10:37:58 +02:00
Simon Friis Vindum
e1047dc40b
Rust: Add request forgery query
2025-09-09 10:37:57 +02:00
Simon Friis Vindum
63a2c9da76
Rust: Add request forgery tests
2025-09-09 10:37:56 +02:00
Jeroen Ketema
c4633c7e23
Swift: Update LFS
2025-09-09 10:12:43 +02:00
Simon Friis Vindum
aa9d299230
Merge pull request #20348 from paldepind/rust/certain-shorthand-self
...
Rust: Infer certain type for shorthand `self`
2025-09-09 09:40:18 +02:00
Asger F
d8e943ea05
Update javascript/ql/lib/semmle/javascript/frameworks/React.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-09 08:36:25 +02:00
dependabot[bot]
f104205538
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.27.0 to 0.28.0
- [Commits](https://github.com/golang/mod/compare/v0.27.0...v0.28.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.28.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-09 03:08:18 +00:00
Asger F
0752dbea9b
Merge pull request #20360 from asgerf/js/remove-angularjs-string-special-case
...
JS: Remove special treatment of strings in AngularJS code
2025-09-08 22:48:23 +02:00
Asger F
b5045b3407
Merge pull request #20363 from asgerf/js/remove-fallback-type
...
JS: Remove unused getFallbackTypeAnnotation()
2025-09-08 22:48:07 +02:00
Jon Janego
d51361cd35
Merge pull request #20387 from github/changedocs-2.23.0
...
Changedocs 2.23.0
2025-09-08 13:24:26 -05:00
Jon Janego
2505272af7
Changedocs for 2.23.0 - updating 2.22.4 golang note
2025-09-08 13:07:20 -05:00
Jon Janego
2d84f8a739
Changedocs for 2.23.0
2025-09-08 13:01:03 -05:00
Mathias Vorreiter Pedersen
702d6d80c4
Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-08 16:19:33 +01:00
Idriss Riouak
dc247e03e0
Merge pull request #20383 from aschackmull/java/fix-more-broken-perf
...
Java: Fix more broken performance.
2025-09-08 14:49:43 +02:00
Michael Nebel
84df8f91a9
Merge pull request #20366 from michaelnebel/csharp/improvedatabasequalitydiagnostics
...
C#/Java/Rust: Improve database quality diagnostics query.
2025-09-08 14:43:57 +02:00
Jeroen Ketema
40c8c3a526
Swift: Update to Swift 6.1.3
2025-09-08 14:42:53 +02:00
Anders Schack-Mulligen
4c1fa58367
Java: Fix more broken performance.
2025-09-08 14:12:00 +02:00
Mathias Vorreiter Pedersen
a81989d2d8
C++: Simplify the 'SSLResultNotChecked' query.
2025-09-08 12:28:28 +01:00
Mathias Vorreiter Pedersen
9f47996448
C++: Lift a few more predicates to expression guards.
2025-09-08 12:28:18 +01:00
idrissrio
728a4aff22
Java: Add model for thenExpand and accept new results
2025-09-08 13:17:53 +02:00
idrissrio
3aba4d3e1e
Java: Add test showing missing model for thenExpand
2025-09-08 13:17:52 +02:00
idrissrio
55ff71b760
Java: Address review comment. Fix dataflow model
2025-09-08 13:17:51 +02:00
idrissrio
89e080cd99
Java: Add new change note
2025-09-08 13:17:50 +02:00
idrissrio
311690cffe
Java: accept new test results
2025-09-08 13:17:49 +02:00
idrissrio
f52a427295
Java: Add MaDs for java.crypto.KDF
2025-09-08 13:17:48 +02:00
idrissrio
16fbe8d96f
Java: add dataflow test for newly added KDF API
2025-09-08 13:17:46 +02:00
Simon Friis Vindum
eea11dbf5f
Rust: Relabel reqwest sinks as request-url
2025-09-08 13:05:58 +02:00
idrissrio
666678a582
Java: Address review comment. Inline dataflow annotation
2025-09-08 12:55:20 +02:00
idrissrio
117c41bd55
Java: Address review comment. Fix dataflow model
2025-09-08 12:55:19 +02:00
idrissrio
2f4c728bb9
Java: Add new change note
2025-09-08 12:55:17 +02:00
idrissrio
a8541b9f76
Java: accept new test results
2025-09-08 12:55:15 +02:00
idrissrio
9f1e60ca6d
Java: Add MaDs for java.lang.scoped
2025-09-08 12:55:14 +02:00
idrissrio
0159f5b422
Java: Add failing test for Scoped Values
2025-09-08 12:55:13 +02:00
Michael Nebel
29c22e6fcf
Rust: Add change note.
2025-09-08 12:05:57 +02:00
Michael Nebel
d9787efc10
Rust: Include metrics in the database quality diagnostics.
2025-09-08 12:05:44 +02:00
Michael Nebel
572da264d3
Java: Update integration test expected output.
2025-09-08 12:05:40 +02:00
Michael Nebel
3f4b2b7cc8
Java: Add change note.
2025-09-08 12:05:38 +02:00
Michael Nebel
b0ef0f06eb
Java: Include metrics in the database quality diagnostics and lower threshold.
2025-09-08 12:05:37 +02:00
Michael Nebel
ed11a32f42
C#: Update integration test expected output.
2025-09-08 12:05:34 +02:00
Michael Nebel
827ea4c769
C#: Address review comments.
2025-09-08 12:05:31 +02:00
Michael Nebel
7bf05297cf
C#: Update integration test expected output.
2025-09-08 12:05:29 +02:00
Michael Nebel
08298f48d0
C#: Add change note.
2025-09-08 12:05:27 +02:00
Michael Nebel
6c9a75eab3
C#: Include metrics in the database quality diagnostics.
2025-09-08 12:05:22 +02:00
Henry Mercer
b4e6d3009e
Merge pull request #20371 from github/henrymercer/actions-status
...
Actions: Add file coverage information for status page
2025-09-08 10:37:03 +01:00
Jeroen Ketema
ba5318f63f
Merge pull request #20369 from MathiasVP/value-numbering-unique-irfunc
...
C++: Protect the value numbering library from instructions with multiple enclosing functions
2025-09-08 10:47:55 +02:00
Joe Farebrother
eb246f6f71
Performance experiment - add getFunctionFIle for better join order
2025-09-08 09:43:22 +01:00
Joe Farebrother
869b7e09d7
Merge pull request #19932 from joefarebrother/python-qual-init-del-calls
...
Python: Modernize 4 queries for missing/multiple calls to init/del methods
2025-09-08 09:29:38 +01:00
Napalys Klicius
8c34b7eaea
Merge pull request #20146 from Napalys/js/move-cors-query-from-experimental
...
JS: Move cors-misconfiguration query from experimental to Security
2025-09-08 09:32:38 +02:00
Anders Schack-Mulligen
66379deadd
Merge pull request #20380 from aschackmull/java/fix-broken-perf
...
Java: Fix broken performance.
2025-09-08 08:59:31 +02:00
Anders Schack-Mulligen
c6adc51220
Java: Fix broken performance.
2025-09-08 08:30:07 +02:00
Idriss Riouak
c5cb86ac24
Merge pull request #20097 from github/idrissrio/module-import-declarations
...
Java: Add support to `ModuleImportDeclaration`
2025-09-06 13:11:48 +02:00
idrissrio
ed9ed43923
Java: Address review comment. Improve getAnImportedType definition
2025-09-06 12:38:44 +02:00
idrissrio
1caf18ede1
Java: Address review comment. Improve module-import documentation
2025-09-06 12:38:43 +02:00
idrissrio
7d479704e8
Java: Add change note
2025-09-06 12:38:42 +02:00
idrissrio
039b5af2e0
Java: Add module import declaration test
2025-09-06 12:38:40 +02:00
idrissrio
c5ee0f3c22
Java: Add ModuleImportDeclaration QL class
2025-09-06 12:38:39 +02:00
Joe Farebrother
ff4c11f503
Update test output. Accepting some FNs due to dataflow issue.
2025-09-06 00:45:15 +01:00
Joe Farebrother
0b293eaba5
Update test output
2025-09-05 22:43:21 +01:00
Alexander Eyers-Taylor
61485908b9
Merge pull request #20355 from github/alexet/update-java-tests-no-annotation=-proc
...
Java: Update tests results with disabled annotation processing when lombok is not used.
2025-09-05 18:18:56 +01:00
Alex Eyers-Taylor
fe7426740b
Javba: Update tests results with disabled annotation processing.
2025-09-05 17:30:54 +01:00
Joe Farebrother
bd3fa7fb21
Switch to dataflow check for guards exceptions
...
This reduces some confusing FPs, though appears to introduce another
2025-09-05 16:03:55 +01:00
Michael B. Gale
e18b049d10
Merge pull request #20376 from github/mbg/go/use-codeql-verbosity
2025-09-05 15:53:08 +01:00
Henry Mercer
1e77891271
Merge branch 'main' into henrymercer/actions-status
2025-09-05 14:55:58 +01:00
Henry Mercer
fea05331aa
Add date to changelog note filename
2025-09-05 14:51:28 +01:00
Henry Mercer
526990e015
Add comment about GitHub API languages
2025-09-05 14:49:48 +01:00
Henry Mercer
e7fbd28505
Add changelog note
2025-09-05 14:48:12 +01:00
Michael B. Gale
8c13faf3d8
Go: Set log level based on CODEQL_VERBOSITY
2025-09-05 14:18:31 +01:00
Henry Mercer
a6fb45b9cb
Update expected files
2025-09-05 13:13:43 +01:00
Arthur Baars
82476b9efd
Merge pull request #20373 from github/aibaars/drop-nbsp
...
Remove non-breaking spaces from code
2025-09-05 13:02:34 +02:00
Napalys Klicius
b2feaaceea
Merge branch 'main' into js/move-cors-query-from-experimental
2025-09-05 12:11:09 +02:00
Asger F
ef114c4a07
JS: Add change note
2025-09-05 12:04:53 +02:00
Asger F
a08878f419
JS: Add upgrade and downgrade scripts
2025-09-05 12:03:56 +02:00
Idriss Riouak
e719dd912d
Merge pull request #20116 from github/idrissrio/compact-soruce-file
...
Java: Add support to Compact Source Files
2025-09-05 12:01:48 +02:00
Asger F
bab2a79055
JS: Add parsing support in JS parser
2025-09-05 11:57:34 +02:00
Asger F
215602c963
JS: Preserve information about 'defer' keyword
2025-09-05 11:57:33 +02:00
Asger F
76ca1a576f
JS: Add basic test for 'import defer' syntax in TypeScript
2025-09-05 11:57:31 +02:00
Asger F
0d03c813d0
JS: Also update @types/node version
2025-09-05 11:57:30 +02:00
Asger F
b2b5199055
JS: Bump TypeScript dependency to 5.9
2025-09-05 11:57:29 +02:00
Napalys Klicius
d8c4d6deb4
Rename cors-misconfiguration to cors-origin.
2025-09-05 11:30:07 +02:00
Napalys Klicius
e6eacca50b
Update change note to reflect changes
2025-09-05 11:27:29 +02:00
idrissrio
f1186432c1
Java: Accept new test result after extractor changes
2025-09-05 10:43:35 +02:00
idrissrio
fc1b9277b3
Java: extend definition of isCompilerGenerated for classes
2025-09-05 10:19:04 +02:00
idrissrio
b2ef60c165
Java: add tests for compact source files
2025-09-05 10:19:03 +02:00
idrissrio
a6b68ec7de
Java: Update stats file
2025-09-05 10:19:02 +02:00
idrissrio
c26a56a332
Java: Add change note
2025-09-05 10:19:01 +02:00
idrissrio
3a9a559d25
Java: Add upgrade and downgrade script
2025-09-05 10:19:00 +02:00
idrissrio
9363bc318a
Java: Add compact source file tests
2025-09-05 10:18:58 +02:00
idrissrio
81b1e73e18
Java: Add isImplict predicate to CompilationUnit and Class
2025-09-05 10:18:57 +02:00
idrissrio
f51ee4c04f
Java: Add isImplicitClass table to keep track of compact source files
2025-09-05 10:18:56 +02:00
Arthur Baars
5d3ec35e29
Remove non-breaking spaces from code
2025-09-05 09:41:15 +02:00
Idriss Riouak
2100dc1288
Merge pull request #20136 from github/idrissrio/flexible-constructors
...
Java: Add test for flexible constructor support
2025-09-04 21:35:02 +02:00
Mathias Vorreiter Pedersen
4645bd766a
C++: Sync identical files.
2025-09-04 19:27:31 +01:00
Mathias Vorreiter Pedersen
a551a55ca0
C++: Get rid of a parenthesis pair.
2025-09-04 19:27:23 +01:00
Mathias Vorreiter Pedersen
3c35e1e6ee
C++: Require a unique IRFunction for each value number case and assign instructions with a non-unique IRFUnction a unique value number.
2025-09-04 19:26:42 +01:00
Mathias Vorreiter Pedersen
76f2c6a9f1
C++: Remove the IRFunction column from the TUniqueValueNumber branch. The next commits will protect the recursion from instructions which has multiple IRFunctions and assign such instructions a unique value number so it won't make sense for them to have an IRFunction column.
2025-09-04 19:10:22 +01:00
idrissrio
1605438333
Java: Accept new test result after extractor changes
2025-09-04 17:01:45 +02:00
idrissrio
6c773a7473
Java: Add test to verify that the AST does not capture instance initializers
2025-09-04 17:01:44 +02:00
idrissrio
fffb4c03b0
Java: add flexible constructor test including CFG predecessor query
2025-09-04 17:01:43 +02:00
idrissrio
6b022edf06
Java: Address review comment. Add prologue field initialization tests
2025-09-04 17:01:42 +02:00
idrissrio
de6d9f4d50
Java: Add test for flexible constructor support
2025-09-04 17:01:41 +02:00
Idriss Riouak
c5e5b8a585
Merge pull request #20247 from github/idrissrio/java-upgrade-fix
...
Java: accept new test results after extractor update
2025-09-04 16:46:01 +02:00
Jeroen Ketema
af82da5db3
Merge pull request #20350 from michaelnebel/cpp/ql4qlexperimental
...
C++: Fix some Ql4Ql violations (crypto).
2025-09-04 16:21:44 +02:00
Napalys Klicius
c4c8dbcf7d
Merge remote-tracking branch 'origin/main' into js/move-cors-query-from-experimental
2025-09-04 15:24:44 +02:00
Napalys Klicius
d3d608fa33
Updated query description and added a sanitizer
2025-09-04 13:16:37 +00:00
Napalys Klicius
6c751ce934
Merged config classes
2025-09-04 12:31:24 +00:00
Napalys Klicius
4dac80a998
Replace complex wrapper classes with MaD
2025-09-04 12:19:22 +00:00
Michael Nebel
64d68feab3
Merge pull request #20325 from michaelnebel/cpp/ql4ql
...
C++: Fix some Ql4Ql violations.
2025-09-04 14:17:11 +02:00
Asger F
4926d278a2
JS: Update test output
2025-09-04 13:59:19 +02:00
Asger F
d8346ef106
JS: Remove unused getFallbackTypeAnnotation()
...
This private predicate was unused, but due to its recursive self-reference it was not reported as an unused predicate.
2025-09-04 13:40:49 +02:00
Michael Nebel
8009ddebce
Merge pull request #20329 from michaelnebel/javascript/ql4ql
...
JS: Fix some Ql4Ql violations.
2025-09-04 13:01:37 +02:00
Michael Nebel
61e8ad264f
C++: Address review comments.
2025-09-04 12:52:46 +02:00
Simon Friis Vindum
26919a6c6e
Rust: Rename variable as suggested in review
2025-09-04 12:50:14 +02:00
Asger F
5b0ef40a3e
JS: Remove special treatment of strings in AngularJS code
...
String literals are already SourceNodes. But we need to add template literals as well
2025-09-04 11:06:22 +02:00
Kasper Svendsen
dd99a2d3bd
Merge pull request #20294 from github/kaspersv/discard-fields-and-classes
...
Overlay: Add discarding for Java classes, interfaces & fields
2025-09-04 10:05:15 +02:00
Owen Mansel-Chan
2a45b28e5f
Merge pull request #20064 from Kwstubbs/go-path-separator
...
Update Go Path Injection Sanitizer and Sink
2025-09-03 16:45:15 +01:00
Napalys Klicius
7cbaa114a3
Merge pull request #20296 from Napalys/js/remote-property-injection-update
...
JS: Detect property injection via object enumeration patterns
2025-09-03 14:38:24 +02:00
Napalys Klicius
8fc81f4263
Merge branch 'main' into js/remote-property-injection-update
2025-09-03 14:02:19 +02:00
Taus
f6732a927b
Python: Bump extractor version
2025-09-03 11:56:54 +00:00
Taus
13a93c7e32
Python: Add suggestions from Copilot
2025-09-03 11:55:49 +00:00
Simon Friis Vindum
e610465ee8
Rust: Suppress type inference inconsistency that can be explained by path resolution
2025-09-03 12:53:30 +02:00
Michael Nebel
a9baf34629
Merge pull request #20324 from michaelnebel/actions/ql4ql
...
Actions: Fix some Ql4Ql violations.
2025-09-03 12:29:06 +02:00
Tom Hvitved
f2b8ac127f
Merge pull request #20351 from hvitved/rust/summarized-callable-location
...
Rust: Assign locations to all `DataFlowCallable`s
2025-09-03 12:24:37 +02:00
Joe Farebrother
71dec0b23e
Fix typos
2025-09-03 11:22:46 +01:00
Joe Farebrother
9fa630faf5
Add comments documenting helper predicates, and add call resolve condition to callMatchesSignature to avoid cartesian product
2025-09-03 11:00:59 +01:00
Tom Hvitved
dff5ed7d29
Rust: Assign locations to all DataFlowCallables
2025-09-03 11:21:57 +02:00
Joe Farebrother
cd6a151d9b
Add missing predicate + update test output
2025-09-03 09:48:07 +01:00
Michael Nebel
fb1387340f
Merge pull request #20349 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-09-03 08:24:00 +02:00
Michael Nebel
83d53baf82
C++: Fix some Ql4Ql violations.
2025-09-03 08:19:18 +02:00
Michael Nebel
462d639627
C++: Fix some Ql4Ql violations.
2025-09-03 08:13:20 +02:00
github-actions[bot]
9f31f02c12
Add changed framework coverage reports
2025-09-03 00:21:42 +00:00
Joe Farebrother
2dcf3c7c45
Remove erronous private
2025-09-02 22:16:41 +01:00
Asger F
1ea843f23c
Merge pull request #20323 from asgerf/js/remove-totalorder
...
JS: Remove totalorder()
2025-09-02 22:08:33 +02:00
idrissrio
5d2268fa80
Java: accept new test results after extractor update
2025-09-02 20:19:38 +02:00
Jeroen Ketema
ab3ad20a1e
Merge pull request #20319 from jketema/ir-vla-sizeof
...
C++: Support `sizeof` VLAs in the IR
2025-09-02 17:29:18 +02:00
Jeroen Ketema
8de1ed0d85
C++: Address review comments
2025-09-02 17:03:48 +02:00
Simon Friis Vindum
de8e535c3a
Rust: Move predicates up to right before first usage
2025-09-02 16:34:03 +02:00
Simon Friis Vindum
1b683f6359
Rust: Infer certain type for self shorthand
2025-09-02 16:30:21 +02:00
Simon Friis Vindum
f7201023de
Rust: Add annotations to type inference tests
2025-09-02 16:24:40 +02:00
Simon Friis Vindum
17d23a9b78
Merge pull request #20343 from paldepind/rust/certain-type-inline-expectation
...
Rust: Change inline expectation annotation for inferred certain types
2025-09-02 15:07:41 +02:00
Taus
bda522052b
Python: Update bazel dependencies
2025-09-02 12:51:36 +00:00
Taus
9802ad77dc
Python: Update types_new.py and test output
2025-09-02 12:41:57 +00:00
Taus
235822d782
Python: Improve handling of syntax errors
...
Rather than relying on matching arbitrary nodes inside tree-sitter-graph
and then checking whether they are of type ERROR or MISSING (which seems
to have stopped working in later versions of tree-sitter), we now
explicitly go through the tree-sitter tree, locating all of the error
and missing nodes along the way. We then add these on to the graph
output in the same format as was previously produced by
tree-sitter-graph.
Note that it's very likely that some of the syntax errors will move
around a bit as a consequence of this change. In general, we don't
expect syntax errors to have stable locations, as small changes in the
grammar can cause an error to appear in a different position, even if
the underlying (erroneous) code has not changed.
2025-09-02 12:41:57 +00:00
Taus
b108d47b26
Python: Update parser test output
...
It seems that with a newer version of tree-sitter, we no longer parse
the (not actually valid!) syntax `Spam[**P2]` as if the `**` is an
exponentiation operation (with a missing left operand).
2025-09-02 12:41:55 +00:00
Taus
5fb28b9f6d
Python: Update bazel dependencies
2025-09-02 12:41:48 +00:00
Taus
76f15a890c
Python: Update tree-sitter dependency
...
Updates the Python extractor to depend on version 0.24.7 of tree-sitter
(and 0.12.0 of tree-sitter-graph).
A few changes were needed in order to make the code build and run after
updating the dependencies:
- In `main.rs`, the `Language` parameter is now passed as a reference.
- In `python.tsg`, many queries had captures that were not actually used
in the body of the stanza. This is no longer allowed (unless the
captures start with an underscore), as it may indicate an error. To fix
this, I added underscores in the appropriate places (and verified that
none of these unused captures were in fact bugs).
2025-09-02 12:40:20 +00:00
Michael Nebel
31852985e5
Merge pull request #20335 from michaelnebel/shared/ql4ql
...
Shared and Sync: Fix some Ql4Ql violations.
2025-09-02 14:37:34 +02:00
Arthur Baars
0bb7fdccf6
Merge pull request #20347 from github/post-release-prep/codeql-cli-2.23.0
...
Post-release preparation for codeql-cli-2.23.0
2025-09-02 14:14:03 +02:00
Anders Schack-Mulligen
f833fe0e6e
Merge pull request #20300 from aschackmull/cfg/successortype
...
Shared: Add a shared SuccessorType implementation
2025-09-02 14:09:35 +02:00
Michael Nebel
d3d737b383
Merge pull request #20330 from michaelnebel/python/ql4ql
...
Python: Fix some Ql4Ql violations.
2025-09-02 14:01:54 +02:00
Michael Nebel
9d521e9cb6
Merge pull request #20333 from michaelnebel/rust/ql4ql
...
Rust: Fix some Ql4Ql violations.
2025-09-02 14:00:47 +02:00
Michael Nebel
7490d8ddd2
Shared and Sync: Fix some Ql4Ql violations.
2025-09-02 13:54:22 +02:00
github-actions[bot]
e8a2600a0c
Post-release preparation for codeql-cli-2.23.0
2025-09-02 11:46:23 +00:00
Simon Friis Vindum
8a92b2d611
Rust: Change inline expectation annotation for certain inferred types
2025-09-02 13:44:06 +02:00
Michael Nebel
6f5da528a4
Update rust/ql/lib/codeql/rust/dataflow/internal/ModelsAsData.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-09-02 13:34:23 +02:00
Michael Nebel
464d8b13a8
Rust: Address review comments.
2025-09-02 13:33:51 +02:00
Jeroen Ketema
9431b0c754
C++: Add change note for new VlaDeclStmt predicates
2025-09-02 13:17:26 +02:00
Arthur Baars
28f02c07d7
Merge pull request #20346 from github/release-prep/2.23.0
...
Release preparation for version 2.23.0
2025-09-02 13:13:45 +02:00
github-actions[bot]
0bfa93828b
Release preparation for version 2.23.0
2025-09-02 11:09:32 +00:00
Michael Nebel
90caded4fe
Apply suggestion from @aschackmull
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-09-02 13:08:31 +02:00
Joe Farebrother
318d1cd392
Increase precision in detecting call matches signature
2025-09-02 12:02:08 +01:00
Jeroen Ketema
f4df3881f8
C++: Handle *& sequences in sizeof VLA expressions
2025-09-02 12:29:24 +02:00
Jeroen Ketema
438cc961da
C++: Document TranslatedSizeofExpr
2025-09-02 12:29:21 +02:00
Jeroen Ketema
8a7553232f
C++: Add more sizeof VLA tests
2025-09-02 12:29:19 +02:00
Jeroen Ketema
f68d3477d4
C++: Output necessary conversions in the sizeof VLA IR
2025-09-02 12:29:17 +02:00
Jeroen Ketema
f0f66c6d58
C++: Minor refactor
...
* Introduce new instruction tag for the base size
* Introduce some convenience predicates on `VlaDeclStmt`
2025-09-02 12:29:15 +02:00
Jeroen Ketema
6a9324fab0
C++: Fix obtaining the base type of a VLA
2025-09-02 12:29:13 +02:00
Jeroen Ketema
ffbc83deeb
C++: Update expected test results
2025-09-02 12:29:10 +02:00
Jeroen Ketema
6e8f44da42
C++: Handle sizeof VLAs with typedefs
2025-09-02 12:29:09 +02:00
Jeroen Ketema
74f5687660
C++: Update expected test results
2025-09-02 12:29:07 +02:00
Jeroen Ketema
fdab63fd5f
C++: Handle ArrayExprs in sizeof VLAs
2025-09-02 12:29:04 +02:00
Jeroen Ketema
5bd08e8174
C++: Add more sizeof VLA tests
2025-09-02 12:29:02 +02:00
Jeroen Ketema
dc78330529
C++: Update expected test results
2025-09-02 12:29:00 +02:00
Jeroen Ketema
d9320b3c16
C++: Support sizeof VLAs in the IR
2025-09-02 12:28:59 +02:00
Jeroen Ketema
60845001dd
C++: Add sizeof VLA IR test cases
2025-09-02 12:28:56 +02:00
Michael Nebel
7ae5d405fc
Merge pull request #20332 from michaelnebel/ruby/ql4ql
...
Ruby: Fix some Ql4Ql violations.
2025-09-02 12:04:03 +02:00
Michael Nebel
88ee20f189
Merge pull request #20331 from michaelnebel/ql/ql4ql
...
Ql: Fix some Ql4Ql violations.
2025-09-02 12:02:40 +02:00
Michael Nebel
2a932f0748
Merge pull request #20328 from michaelnebel/java/ql4ql
...
Java: Fix some Ql4Ql violations.
2025-09-02 12:01:16 +02:00
Joe Farebrother
ab641b3144
Merge pull request #20344 from joefarebrother/fix-changenote
...
Shared: Fix changenote
2025-09-02 10:58:16 +01:00
Michael Nebel
9a88e38d6f
Merge pull request #20327 from michaelnebel/go/ql4ql
...
Go: Fix some Ql4Ql violations.
2025-09-02 11:45:26 +02:00
Michael Nebel
39d3741a91
Merge pull request #20326 from michaelnebel/csharp/ql4ql
...
C#: Fix some Ql4Ql violations.
2025-09-02 11:44:22 +02:00
Michael Nebel
f73f9a0447
Merge pull request #20334 from michaelnebel/swift/ql4ql
...
Swift: Fix a Ql4Ql violation.
2025-09-02 11:40:33 +02:00
Joe Farebrother
11309e99ce
Fix changenote
2025-09-02 10:35:58 +01:00
Asger F
19fa29d527
Merge pull request #20307 from asgerf/js/overlay-extract-and-discard-only
...
JS: Add overlay support to extractor
2025-09-02 11:24:11 +02:00
Tom Hvitved
9bae0bfb35
Merge pull request #20295 from geoffw0/oldpaths1
...
Rust: Remove extractor path resolution.
2025-09-02 11:17:51 +02:00
Anders Schack-Mulligen
3d4d347150
SuccessorType: Address review comments.
2025-09-02 11:10:00 +02:00
Simon Friis Vindum
0ed6428a94
Merge pull request #20321 from paldepind/rust/trait-method-scope-2
...
Rust: Take trait visibility into account when resolving paths and methods
2025-09-02 10:58:00 +02:00
Michael Nebel
55e5281429
Go: Fix a couple more spelling errors.
2025-09-02 10:47:36 +02:00
Michael Nebel
a732b36fa8
Update java/ql/src/experimental/quantum/Analysis/ArtifactReuse.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-09-02 10:39:37 +02:00
Michael Nebel
367027e777
Ql: Fix some Ql4Ql violations.
2025-09-02 10:01:14 +02:00
Tom Hvitved
1130595c67
Merge pull request #20340 from hvitved/rust/taint-tracking-implicit-deref-at-sinks
...
Rust: Deref as taint step
2025-09-02 09:44:33 +02:00
Michael Nebel
d0323a6425
Fix one more violation.
2025-09-02 09:42:05 +02:00
Michael Nebel
ef4b41ab6d
C#: Replace exists with any.
2025-09-02 09:26:37 +02:00
Michael Nebel
0c5c798ca5
Merge pull request #20290 from michaelnebel/csharp/xmldictionaryreader
...
C#: Add manual models for more some XML related classes.
2025-09-02 09:12:54 +02:00
Simon Friis Vindum
322ef4d985
Rust: Account for trait visibility when resolving paths and methods
2025-09-02 09:01:17 +02:00
Tom Hvitved
5b51bb2ef0
Rust: Deref as taint step
2025-09-02 08:55:10 +02:00
Joe Farebrother
125c6534b7
Use new option name
2025-09-01 23:41:28 +01:00
Joe Farebrother
6587ad435e
Update python/ql/src/Functions/SignatureOverriddenMethod.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-01 16:31:24 +01:00
Joe Farebrother
0a83c11f42
Add changenote.+ fix typo
2025-09-01 16:31:18 +01:00
Joe Farebrother
900a5cd9d7
Update documentation
2025-09-01 16:31:11 +01:00
Joe Farebrother
502ea82c91
Updae other test output
2025-09-01 16:31:04 +01:00
Joe Farebrother
2bbf24b3ea
Add additional test cases
2025-09-01 16:30:53 +01:00
Joe Farebrother
f429b9038c
Update tests, update alert messages
2025-09-01 16:30:44 +01:00
Joe Farebrother
067c98d3ee
Include conditional alert messages for various cases
2025-09-01 16:30:35 +01:00
Joe Farebrother
4212d1b5b6
Update alert messages and choose one witness
2025-09-01 16:30:26 +01:00
Joe Farebrother
5ba5007076
Modernize signature mismatch
2025-09-01 16:30:17 +01:00
Joe Farebrother
f7097136f1
Rank multiple calls so only the first 2 calls are alerted
2025-09-01 16:23:42 +01:00
Henry Mercer
d71991fdc0
Merge pull request #20320 from github/henrymercer/default-queries
...
Specify default queries in `codeql-extractor.yml`
2025-09-01 15:52:47 +01:00
Joe Farebrother
8545c7d36f
Fix doc typo
2025-09-01 15:12:52 +01:00
Joe Farebrother
8c9c66c002
Fix typo in example
2025-09-01 15:12:52 +01:00
Joe Farebrother
ba68fe9a0f
Adress review suggestions - cleanups
2025-09-01 15:12:52 +01:00
Joe Farebrother
fb0380bfbc
Inline locationBefore
2025-09-01 15:12:52 +01:00
Joe Farebrother
cc486ddb08
Remove tostring
2025-09-01 15:12:51 +01:00
Joe Farebrother
72df584e9b
Update integration test outout and fix qhelp
2025-09-01 15:12:51 +01:00
Joe Farebrother
c9dc54abf8
Fix typos
2025-09-01 15:11:59 +01:00
Joe Farebrother
58f2bd4000
Fix changenote formatting
2025-09-01 15:11:59 +01:00
Joe Farebrother
5992dc3b0a
Add qldoc
2025-09-01 15:11:59 +01:00
Joe Farebrother
e01519f547
Add change note
2025-09-01 15:11:59 +01:00
Joe Farebrother
74a312735c
Update integration test output
2025-09-01 15:11:58 +01:00
Michael Nebel
55dd098307
C#: Address review comments.
2025-09-01 15:43:49 +02:00
Michael Nebel
aa8a72d639
C#: Add change-note.
2025-09-01 15:43:48 +02:00
Michael Nebel
525c095287
C#: Update expected test output.
2025-09-01 15:43:46 +02:00
Michael Nebel
5cd30f023c
C#: Add some XmlTextReader models.
2025-09-01 15:43:44 +02:00
Michael Nebel
8a480b6be1
C#: Update test expected output.
2025-09-01 15:43:42 +02:00
Michael Nebel
8b2ebaa047
C#: Promote some generated- and refine models for XmlReader.
2025-09-01 15:43:40 +02:00
Michael Nebel
1d35bd1a59
C#: Update expected test output.
2025-09-01 15:43:38 +02:00
Michael Nebel
beeb91dd2a
C#: Add some XmlDictionaryReader models.
2025-09-01 15:43:36 +02:00
Michael Nebel
011f8dd3b3
Swift: Fix a Ql4Ql violation.
2025-09-01 15:22:56 +02:00
Michael Nebel
37997c0561
Rust: Fix some Ql4Ql violations.
2025-09-01 15:21:41 +02:00
Michael Nebel
c5cf46bc2c
Ruby: Fix some Ql4Ql violations.
2025-09-01 15:19:25 +02:00
Michael Nebel
8b10ad49d7
JS: Fix some Ql4Ql violations.
2025-09-01 15:17:53 +02:00
Michael Nebel
dbd31259b3
Python: Fix some Ql4Ql violations.
2025-09-01 15:16:25 +02:00
Joe Farebrother
ba8658491a
Update qhelp + alert messages
2025-09-01 14:11:01 +01:00
Joe Farebrother
86bb0e8af2
qhelp: move examples to subfolder
2025-09-01 14:10:58 +01:00
Joe Farebrother
daa5525a10
Update tests and add an additional test
2025-09-01 14:10:55 +01:00
Joe Farebrother
b4b20d7d3f
Update multiple calls queries to include call targets in alert message
2025-09-01 14:10:53 +01:00
Joe Farebrother
18b949c0a9
Remove case excluding classes with a __new__ method; as it doesn't make much sense (__init__ is still called anyway)
2025-09-01 14:10:50 +01:00
Joe Farebrother
9619ae8a2d
Add additional test case + update missing del tests
2025-09-01 14:10:47 +01:00
Joe Farebrother
c9932e187a
Update tests for calls to init + fixes
2025-09-01 14:10:44 +01:00
Joe Farebrother
9ac95266c7
Fixes
2025-09-01 14:10:41 +01:00
Joe Farebrother
3c74e12b9c
Change implenetation of missing calls to use getASuperCallTarget, and change alerts to alert on the class and provide clearer information, using optional location links.
2025-09-01 14:10:39 +01:00
Joe Farebrother
99a05ed5a4
Update test outputs + fix semantics
2025-09-01 14:10:36 +01:00
Joe Farebrother
732c818916
Move tests and add inline expectation postprocessing
2025-09-01 14:10:33 +01:00
Joe Farebrother
45b5efad25
Fix FPs and typo
2025-09-01 14:10:30 +01:00
Joe Farebrother
4f63528844
Update alert messages
2025-09-01 14:10:25 +01:00
Joe Farebrother
d0daacd17e
Modernize multple calls to init/del
2025-09-01 14:10:22 +01:00
Joe Farebrother
a02016a95f
Add missing call to del
2025-09-01 14:10:17 +01:00
Joe Farebrother
38af3ac925
Update missing call to init
2025-09-01 14:10:14 +01:00
Joe Farebrother
bea8502cc5
Move missing/multiple calls to init/del queries to folder
2025-09-01 14:10:11 +01:00
Michael Nebel
77113b2e42
Java: Fix some Ql4Ql violations.
2025-09-01 15:04:08 +02:00
Michael Nebel
ea664e08d1
Go: Fix some Ql4Ql violations.
2025-09-01 15:00:34 +02:00
Michael Nebel
7491352278
C#: Fix some Ql4Ql violations.
2025-09-01 14:57:30 +02:00
Michael Nebel
64f9758c29
Actions: Fix some Ql4Ql violations.
2025-09-01 14:45:00 +02:00
Anders Schack-Mulligen
4e70627629
Guards: Use shared SuccessorType.
2025-09-01 13:55:29 +02:00
Anders Schack-Mulligen
0d9b8d0592
Cfg: Allow for multiple exception successors.
2025-09-01 13:48:27 +02:00
Anders Schack-Mulligen
bbf7995100
C#: Fix caching dependencies.
2025-09-01 13:48:25 +02:00
Anders Schack-Mulligen
144e34c669
Shared: Use shared SuccessorType in shared Cfg and BasicBlock libs.
2025-09-01 13:43:32 +02:00
Asger F
45b8158fe5
JS: Remove totalorder()
...
This was once as input to the shared data flow library, but has since been removed from the input signature.
2025-09-01 13:39:54 +02:00
Anders Schack-Mulligen
4685b4f8a9
Java: Use shared SuccessorType.
2025-09-01 13:00:20 +02:00
Asger F
ca393a9afe
JS: Do not override AST methods in React model
2025-09-01 12:57:06 +02:00
Anders Schack-Mulligen
92fcda3cc7
Actions: Use shared SuccessorType.
2025-09-01 12:56:08 +02:00
Anders Schack-Mulligen
1e25b4de4b
Swift: Use shared SuccessorType.
2025-09-01 12:56:07 +02:00
Anders Schack-Mulligen
c1662cf05c
C#/Ruby: Accept qltest changes.
...
Mostly toString changes, and a slight change to
splitting in C#.
2025-09-01 12:56:07 +02:00
Anders Schack-Mulligen
cf9196fb55
Rust: Use shared SuccessorType.
2025-09-01 12:56:07 +02:00
Anders Schack-Mulligen
d8c193df18
Ruby: Use shared SuccessorType.
2025-09-01 12:56:04 +02:00
Anders Schack-Mulligen
8b50ac291f
C#: Use shared SuccessorType.
2025-09-01 12:53:24 +02:00
Anders Schack-Mulligen
8434dc3890
Controlflow: Add a shared SuccessorType implementation.
2025-09-01 12:47:24 +02:00
Anders Schack-Mulligen
70a871c1e5
Merge pull request #20253 from aschackmull/shared/basicblock-signature2
...
Shared: Add and use a signature for basic blocks
2025-09-01 12:39:33 +02:00
Michael B. Gale
cbdc54adf7
Merge pull request #20313 from github/dependabot/github_actions/actions/checkout-5
...
Bump actions/checkout from 4 to 5
2025-09-01 11:34:41 +01:00
Jeroen Ketema
93f4721418
Merge pull request #20316 from jketema/stats
...
C++: Update dbscheme stats file
2025-09-01 11:54:43 +02:00
Joe Farebrother
42e8b32841
Merge pull request #20280 from joefarebrother/shared-loc-option
...
Shared: Add Option types with location
2025-09-01 10:54:04 +01:00
Anders Schack-Mulligen
09b2c5abf0
BasicBlock: Replace entryBlock predicate with subclass.
2025-09-01 11:48:44 +02:00
Anders Schack-Mulligen
e2eb6dbbf2
Ruby: Fix query compilation.
2025-09-01 11:26:37 +02:00
Anders Schack-Mulligen
6ffb9b129f
C++: Extend final IRBlock
2025-09-01 11:26:36 +02:00
Anders Schack-Mulligen
3821f172df
Guards/Java: Use BasicBlock signature in Guards library.
2025-09-01 11:26:36 +02:00
Anders Schack-Mulligen
a7b2a2fa9f
C++: Sync files.
2025-09-01 11:26:35 +02:00
Anders Schack-Mulligen
f459ddc40a
Languages: Adapt to api changes.
2025-09-01 11:26:33 +02:00
Anders Schack-Mulligen
e53b22dfa7
SSA/VariableCapture: Use shared BasicBlock signature.
2025-09-01 11:19:49 +02:00
Anders Schack-Mulligen
bb3abc815f
SSA: Update input to use member predicates.
2025-09-01 11:19:48 +02:00
Anders Schack-Mulligen
119837bb1d
BasicBlock: Add CFG signature.
2025-09-01 11:19:48 +02:00
Joe Farebrother
1b808fed34
Fix incorrect switch of None and Some cases
2025-09-01 09:51:00 +01:00
Joe Farebrother
80ab35c3a0
Apply review suggestions - rename things and clean up style.
2025-09-01 09:50:54 +01:00
Joe Farebrother
8e5efb5fba
Add change note
2025-09-01 09:50:47 +01:00
Joe Farebrother
fc5501b9c8
Add LocOption2 for types with getLocation.
2025-09-01 09:50:39 +01:00
Joe Farebrother
51f96deb2e
Add shared LocOption module for optional types with locations
2025-09-01 09:50:30 +01:00
Asger F
67a1c2ffef
Update javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-09-01 10:20:17 +02:00
Asger F
0d0eaa21a1
Merge pull request #20302 from asgerf/js/simpler-locations
...
JS: Remove synthetic locations
2025-09-01 09:46:13 +02:00
Tom Hvitved
aa604425a5
Merge pull request #20305 from hvitved/csharp/dataflow-base-non-exact-type
...
C#: Fix context-sensitive dispatch when using `base` qualifier
2025-09-01 09:20:15 +02:00
Simon Friis Vindum
c1c7127894
Rust: Add examples where trait visibility affects path and method resolution
2025-08-30 13:26:13 +02:00
Henry Mercer
71bac5eda8
Actions: Add file coverage baseline
2025-08-29 20:10:45 +01:00
Henry Mercer
67dc01b636
Actions: Add successfully extracted files query
2025-08-29 20:10:43 +01:00
Henry Mercer
55869f28c3
Specify default queries in codeql-extractor.yml
2025-08-29 17:34:45 +01:00
Jeroen Ketema
b361b0f3c3
Merge pull request #20310 from MathiasVP/add-comptr-model-now-with-more-models
...
C++: Add `ComPtr` conversion operators
2025-08-29 16:45:39 +02:00
Geoffrey White
45d6fc04ce
Merge pull request #20312 from geoffw0/dbquality
...
Rust: Tune rust/diagnostic/database-quality
2025-08-29 13:04:46 +01:00
Taus
f89fae39c5
Merge pull request #20276 from github/tausbn/python-model-psycopg2-connection-pools
...
Python: Add support for Psycopg2 database connection pools
2025-08-29 13:52:59 +02:00
Geoffrey White
d650d56485
Rust: Implement upgrade and downgrade scripts.
2025-08-29 12:37:52 +01:00
Asger F
57b4534d30
JS: Avoid overriding Expr predicates in xUnit.qll
2025-08-29 13:06:05 +02:00
Jeroen Ketema
7c5b04a0da
Merge pull request #20315 from jketema/uninit-test
...
C++: Add uninitialized local test
2025-08-29 12:52:28 +02:00
Asger F
cc8fe10801
JS: Update locations in expected files
2025-08-29 12:03:11 +02:00
Jeroen Ketema
277f5efa9c
C++: Update dbscheme stats file
2025-08-29 11:13:59 +02:00
Jeroen Ketema
6b580ac12d
C++: Update expected test results
2025-08-29 10:57:03 +02:00
Jeroen Ketema
a145e52faf
C++: Add uninitialized local test
2025-08-29 10:55:10 +02:00
Tom Hvitved
611eca41b9
Add change note
2025-08-29 10:22:11 +02:00
Geoffrey White
bdc1f1715d
Rust: Add upgrade and downgrade scripts (template).
2025-08-29 08:49:33 +01:00
Geoffrey White
a6bdab15f6
Merge branch 'main' into oldpaths1
2025-08-29 08:30:43 +01:00
Napalys Klicius
b4d6cb6e5f
Merge pull request #20178 from Napalys/java/visible-for-testing-abuse
...
Java: Added new query `java/visible-for-testing-abuse`
2025-08-29 08:38:04 +02:00
Napalys Klicius
bafe22c50c
Merge pull request #20048 from Napalys/js/xml_bomb_sinks
...
JS: Exclude patched libraries from `xml-bomb` sink
2025-08-29 08:10:55 +02:00
Napalys Klicius
6132900e12
Java: add full stops for ql docs
2025-08-29 08:09:03 +02:00
dependabot[bot]
6e1d9752d2
Bump actions/checkout from 4 to 5
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '5'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-29 03:04:30 +00:00
REDMOND\brodes
74ce7cd188
Crypto: Moving all data flow analyses to taint tracking.
2025-08-28 20:40:05 -04:00
Tom Hvitved
0cc9ff8320
Merge pull request #20225 from hvitved/rust/path-resolution-crate-fallback
...
Rust: Fallback crate resolution
2025-08-28 20:48:51 +02:00
Geoffrey White
5d14ef5fd3
Rust: Change note.
2025-08-28 17:14:53 +01:00
Geoffrey White
9e0a31cafc
Rust: Change note.
2025-08-28 17:08:03 +01:00
Geoffrey White
5c90b908cd
Rust: Lower the thresholds in rust/diagnostic/database-quality to more pragmatic numbers.
2025-08-28 17:08:02 +01:00
Jeroen Ketema
b8917c8c19
Merge branch 'main' into add-comptr-model-now-with-more-models
2025-08-28 17:15:06 +02:00
Mathias Vorreiter Pedersen
b9cd7a80f9
C++: Fix conflation in models.
2025-08-28 17:10:06 +02:00
Mathias Vorreiter Pedersen
759e339444
C++: Add change note.
2025-08-28 17:02:26 +02:00
Mathias Vorreiter Pedersen
ddf0f37dac
C++: Accept test changes.
2025-08-28 16:58:49 +02:00
Mathias Vorreiter Pedersen
e59de9a3d6
C++: Add models for the remaining member functions (and conversions) in ComPtr.
2025-08-28 16:56:39 +02:00
Mathias Vorreiter Pedersen
3e78572a3a
C++: Drive-by fix: Add missing '@'.
2025-08-28 16:54:49 +02:00
Mathias Vorreiter Pedersen
f135ed957d
C++: Add testcases with missing model.
2025-08-28 16:54:46 +02:00
Mathias Vorreiter Pedersen
2c2b1e4116
Merge pull request #20306 from MathiasVP/fix-new-initializer-bug
...
C++: Fix IR construction for implicit conversions in `new` initializers
2025-08-28 16:40:37 +02:00
Jeroen Ketema
1847a450cc
Merge pull request #20298 from jketema/pch-expose
...
C++: Add class representing PCH files
2025-08-28 15:33:20 +02:00
Geoffrey White
e8b7ce43a5
Merge pull request #20270 from geoffw0/pathi
...
Rust: Improve FS models
2025-08-28 14:30:18 +01:00
Napalys Klicius
c836104717
Update java/ql/src/Violations of Best Practice/Implementation Hiding/VisibleForTestingAbuse.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-08-28 15:01:53 +02:00
Napalys Klicius
d3be456c5c
Update java/ql/src/Violations of Best Practice/Implementation Hiding/VisibleForTestingAbuse.ql
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-08-28 15:01:43 +02:00
Napalys Klicius
73c8f3ded9
Merge pull request #20205 from Napalys/java/mocking-all-non-private-methods-means-unit-test-is-too-big
...
Java: port quality query `java/mocking-all-non-private-methods-means-unit-test-is-too-big`
2025-08-28 14:59:37 +02:00
Joe Farebrother
7ef2b01119
Merge pull request #20142 from joefarebrother/python-qual-subclass-shadow
...
Python: Modernise Superclass attribute shadows subclass method query
2025-08-28 13:40:26 +01:00
Napalys Klicius
1949d9f8f3
Merge branch 'main' into java/mocking-all-non-private-methods-means-unit-test-is-too-big
2025-08-28 14:22:06 +02:00
Napalys Klicius
970167bc62
Java: moved java/mocking-all-non-private-methods-means-unit-test-is-too-big to a more appropriate location, namely Violation of Best Practice/Testing
2025-08-28 14:20:19 +02:00
Geoffrey White
e860600712
Rust: Remove the canonical_path_disabled test entirely.
2025-08-28 12:55:01 +01:00
Michael Nebel
919ed3cff0
Merge pull request #20304 from michaelnebel/csharp/prettyprintmad
...
C#: Convert Blazor test to use pretty print models processing.
2025-08-28 13:54:23 +02:00
Tom Hvitved
aa3f4e1eca
C#: Fix context-sensitive dispatch when using base qualifier
2025-08-28 13:24:47 +02:00
Jeroen Ketema
31126649a9
Update cpp/ql/lib/semmle/code/cpp/PchFile.qll
...
Co-authored-by: Idriss Riouak <idrissrio@github.com >
2025-08-28 13:10:39 +02:00
Mathias Vorreiter Pedersen
4116292888
C++: Accept test changes.
2025-08-28 12:13:19 +02:00
Mathias Vorreiter Pedersen
2033552bb2
C++: Handle conversions in new initializers.
2025-08-28 12:13:02 +02:00
Mathias Vorreiter Pedersen
d0e766da3e
C++: Add a testcase with invalid IR.
2025-08-28 12:06:21 +02:00
Napalys Klicius
ad6ca51ef2
Update java/ql/src/Likely Bugs/Frameworks/JUnit/ExcessivePublicMethodMocking.ql
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-08-28 12:03:56 +02:00
Tom Hvitved
fa7295f0a1
Merge pull request #20303 from hvitved/python/jump-to-def-unpack-tests
...
Python: Add jump-to-def tests for unpacking assignments
2025-08-28 12:03:55 +02:00
Geoffrey White
1e46dd8412
Rust: Remove redundant code.
2025-08-28 10:59:37 +01:00
Tom Hvitved
c2bb3797b0
C#: Add data flow test
2025-08-28 11:57:03 +02:00
Michael Nebel
73ce2a2f57
C#: Convert Blazor test to use pretty print models processing.
2025-08-28 11:46:08 +02:00
Asger F
d117c52d2f
JS: Use the LHS as the location for SsaExplicitDefinition
2025-08-28 11:35:15 +02:00
Asger F
4437f47a7b
Merge pull request #20297 from asgerf/js/simpler-summary-pruning
...
JS: Change pruning to not rely on Import
2025-08-28 11:20:14 +02:00
Michael Nebel
bd31e7f230
Merge pull request #20278 from michaelnebel/csharp/streamlinebulkmodels2
...
C#: Update MaD models to taint entire byte- and char collection.
2025-08-28 10:49:44 +02:00
Tom Hvitved
bf47f66691
Python: Add jump-to-def tests for unpacking assignments
2025-08-28 10:38:21 +02:00
Joe Farebrother
bde143e4c1
Merge pull request #20038 from joefarebrother/python-qual-comparison
...
Python: Modernize 3 quality queries for comparison methods
2025-08-28 09:37:20 +01:00
Joe Farebrother
45910b9505
Merge remote-tracking branch 'origin/python-qual-subclass-shadow' into python-qual-subclass-shadow
2025-08-28 09:23:42 +01:00
Tom Hvitved
f87f52d8d2
Address review comments
2025-08-28 10:08:48 +02:00
Joe Farebrother
c6ababd262
Fix test output
2025-08-28 08:49:34 +01:00
Tom Hvitved
dcaf4a735b
Rust: Fallback crate resolution
2025-08-28 09:34:05 +02:00
Geoffrey White
194363c107
Rust: Codegen.
2025-08-27 20:01:16 +01:00
Geoffrey White
f838494bf0
Rust: Remove empty impls.
2025-08-27 19:58:03 +01:00
Geoffrey White
9efb6ea995
Rust: Cargo fmt.
2025-08-27 19:16:43 +01:00
Geoffrey White
83df1137b6
Rust: Codegen.
2025-08-27 17:47:34 +01:00
Geoffrey White
2e747bb05c
Merge branch 'main' into oldpaths1 (some generated files are left unmerged).
2025-08-27 16:56:06 +01:00
Simon Friis Vindum
028f1cb7b4
Merge pull request #20299 from paldepind/rust/certain-extensions
...
Rust: Minor tweaks to certain type inference
2025-08-27 17:49:20 +02:00
Geoffrey White
a075ed595c
Rust: Remove telemetry about extractor generated paths.
2025-08-27 15:56:59 +01:00
Mathias Vorreiter Pedersen
bb08611f55
Merge pull request #20301 from MathiasVP/add-comptr-model
...
C++: Add `ComPtr` MaD models
2025-08-27 16:52:02 +02:00
Joe Farebrother
ada0b372c6
Merge pull request #20120 from joefarebrother/python-qual-unexpected-raise-special
...
Python: Modernize Unexpected Raise In Special Method query
2025-08-27 15:01:46 +01:00
Mathias Vorreiter Pedersen
bebfe03166
C++: Add missing model and accept test changes.
2025-08-27 15:15:26 +02:00
Mathias Vorreiter Pedersen
8c07a3e552
C++: Add testcase with missing model.
2025-08-27 15:12:52 +02:00
Mathias Vorreiter Pedersen
7c05622a91
C++: Add missing type and accept test changes.
2025-08-27 14:41:00 +02:00
Mathias Vorreiter Pedersen
96b6986660
C++: Fix duplicated entries.
2025-08-27 14:35:45 +02:00
Joe Farebrother
2c6b2df7cc
Update python/ql/src/Classes/SubclassShadowing/SubclassShadowing.qhelp
...
Co-authored-by: Taus <tausbn@github.com >
2025-08-27 13:20:54 +01:00
Joe Farebrother
5b0beb91d1
Update python/ql/src/Functions/IncorrectRaiseInSpecialMethod.qhelp
...
Co-authored-by: Taus <tausbn@github.com >
2025-08-27 13:19:55 +01:00
Mathias Vorreiter Pedersen
9e9f6dd11a
C++: Accept test changes.
2025-08-27 14:18:21 +02:00
Mathias Vorreiter Pedersen
246ed9d30b
C++: Add a model for ComPtr.
2025-08-27 14:18:12 +02:00
Mathias Vorreiter Pedersen
6f64129b04
C++: Add ComPtr tests.
2025-08-27 14:05:13 +02:00
Simon Friis Vindum
08f025f164
Rust: Infer range expressions certainly and support full ranges
2025-08-27 13:59:20 +02:00
Simon Friis Vindum
4c10f07d5f
Rust: Add type inference test with range full expression
2025-08-27 13:59:19 +02:00
Simon Friis Vindum
2f4e2d6d79
Rust: Infer certain types for logical operators
2025-08-27 13:59:18 +02:00
Simon Friis Vindum
0ff4dbcea0
Rust: Fix type inference inconsistency
2025-08-27 13:59:16 +02:00
Simon Friis Vindum
1981668f3c
Rust: Add pattern match type inference test
2025-08-27 13:59:15 +02:00
Jeroen Ketema
fd752d36cb
C++: Add missing QLDoc
2025-08-27 13:48:10 +02:00
Jeroen Ketema
97d3982061
C++: Add change note
2025-08-27 13:42:46 +02:00
Napalys Klicius
a3aacfb688
Merge pull request #20190 from Napalys/java/jvm-exit-query-promotion
...
Java: Enhance `java/jvm-exit` query and add to quality
2025-08-27 13:23:02 +02:00
Jeroen Ketema
9b19ccf884
C++: Update dbscheme stats file
2025-08-27 12:52:26 +02:00
Napalys Klicius
e0916c8750
JS: add change note
2025-08-27 10:32:45 +00:00
Napalys Klicius
32606584ea
JS: add enumeration taint flow to Remote Property Injection query
2025-08-27 10:23:03 +00:00
Napalys Klicius
c39c04cb86
JS: added new test case for remote prop injection via Object.keys
2025-08-27 10:20:57 +00:00
Napalys Klicius
10c10c7d30
JS: fixed typo in folder name
2025-08-27 10:17:39 +00:00
Kasper Svendsen
9cc6e9c8a9
Overlay: Add discarding for Java classes, interfaces & fields
2025-08-27 12:07:59 +02:00
Geoffrey White
1d815b16d6
Rust: Update test expectations.
2025-08-27 10:42:45 +01:00
Geoffrey White
5d060d621b
Rust: Remove leftover QL use of Resolvable.
2025-08-27 10:42:44 +01:00
Geoffrey White
152ae1d29b
Rust: Codegen.
2025-08-27 10:42:42 +01:00
Geoffrey White
c7947a0afa
Rust: Remove built-in methods from Addressable in the schema.
2025-08-27 10:42:11 +01:00
Tom Hvitved
f232335618
Merge pull request #20291 from hvitved/rust/type-inference-more-certain-types
...
Rust: Add more cases to `inferCertainType`
2025-08-27 11:25:24 +02:00
Asger F
4a687a1222
JS: Add deprecated alias
...
The old DbLocation class was public, hence the alias
2025-08-27 11:21:18 +02:00
Asger F
dcf63fc434
JS: Remove synthetic locations
2025-08-27 11:20:24 +02:00
Asger F
be32579cab
JS: Change pruning to not rely on Import
2025-08-27 10:44:23 +02:00
Jami
b7c1e1e8ce
Merge pull request #20006 from jcogs33/jcogs33/java/insecure-spring-actuator-config-promotion
...
Java: Promote Insecure Spring Boot Actuator Configuration query from experimental
2025-08-26 19:29:03 -04:00
REDMOND\brodes
7c8177de97
Crypto: Added missing ArtifactPassthrough.qll (forgot to add to merged in branch). Acronym casing fix.
2025-08-26 17:12:21 -04:00
Jeroen Ketema
896a802194
C++: Add upgrade and downgrade scripts
2025-08-26 23:12:15 +02:00
Ben Rodes
73b3398b46
Merge pull request #2 from bdrodes/signature_model_refactor_experimental
...
Signature model refactor experimental
2025-08-26 17:05:01 -04:00
Jeroen Ketema
e20ce57023
C++: Expose PCH file creation as usage in QL
2025-08-26 22:12:27 +02:00
Jeroen Ketema
e9b00f1e0d
C++: Add tables that represent the creation and use of PCH files
...
This allows a use to be linked to a creation.
2025-08-26 22:12:12 +02:00
REDMOND\brodes
938b47c2ad
Crypto: Debug missing hashes associated with HMAC. EVP_PKEY_get1_RSA is now just a passthrough, it is not a known implicit operation call. Some final operations generating null outputs are now removed from possible final operartions (typically used to determine buffer lenghth and not actually performing the operation). Misc. false positive/error fixes and code clean up, and added missing models.
2025-08-26 16:07:04 -04:00
Florin Coada
499e432065
Merge pull request #20268 from github/changedocs/2.22.4
...
Add changelog entry for CodeQL CLI version 2.22.4
2025-08-26 20:29:35 +01:00
Geoffrey White
3cd057fe39
Rust: Remove Resolvable from the schema.
2025-08-26 17:32:02 +01:00
REDMOND\brodes
422352c632
Crypto: Continued refactoring of operation steps and bug fixes.
2025-08-26 11:49:26 -04:00
Florin Coada
feca56582a
Update codeql-cli-2.22.4.rst
2025-08-26 16:48:23 +01:00
Paolo Tranquilli
dd68d68064
Merge pull request #20288 from github/redsun82/rust-less-warnings
...
Rust: downgrade uncompiled source files from warning to info
2025-08-26 17:45:17 +02:00
Paolo Tranquilli
531955e922
Merge branch 'main' into redsun82/rust-less-warnings
2025-08-26 17:29:20 +02:00
Napalys Klicius
b3f90bbdfc
Update java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToSystemExit.ql
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-08-26 13:23:24 +00:00
Napalys Klicius
6c51ba80c7
Update java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToSystemExit.ql
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-08-26 15:19:02 +02:00
Geoffrey White
a8f7f74812
Rust: Remove unused use decls.
2025-08-26 13:57:33 +01:00
Geoffrey White
70600fe6d9
Rust: Remove unused traits and things.
2025-08-26 13:55:29 +01:00
Geoffrey White
bd5f863efc
Rust: Remove uncalled methods.
2025-08-26 13:55:28 +01:00
REDMOND\brodes
48dc280e6c
Crypto: Fix issue with OAEP padding edges regressing.
2025-08-26 08:51:52 -04:00
Tom Hvitved
6453b71017
Rust: Add more cases to inferCertainType
2025-08-26 14:44:55 +02:00
Tom Hvitved
3527fca617
Merge pull request #20274 from hvitved/rust/type-synth-type-param
...
Rust: Include synthetic type parameters in `Type.getATypeParameter`
2025-08-26 14:42:29 +02:00
Simon Friis Vindum
87d1a14ff2
Merge pull request #20286 from github/rust/fix-examples
...
Rust: Fix examples in qldoc
2025-08-26 14:13:08 +02:00
Simon Friis Vindum
4ed0fb71f3
Merge pull request #20289 from github/rust/typo-in-bound
...
Rust: Fix minor typo in bound in comment
2025-08-26 14:12:33 +02:00
Jami
3675e4bb4f
Merge branch 'main' into jcogs33/java/insecure-spring-actuator-config-promotion
2025-08-26 08:02:17 -04:00
Paolo Tranquilli
42a40c14ac
Rust: reword macro expansion error
2025-08-26 13:58:47 +02:00
Geoffrey White
dd00df74dd
Rust: Remove unused wiring.
2025-08-26 12:54:31 +01:00
Simon Friis Vindum
600417a767
Rust: Fix minor typo in bound in comment
2025-08-26 13:43:30 +02:00
Jeroen Ketema
d5f4a3961e
Merge pull request #20287 from jketema/not-included
...
Java: Update integration test after query removal
2025-08-26 12:54:52 +02:00
Paolo Tranquilli
999920c968
Rust: accept test changes
2025-08-26 12:30:27 +02:00
Paolo Tranquilli
02b4c1fa85
Rust: downgrade uncompiled source files from warning to info
2025-08-26 11:56:53 +02:00
Jeroen Ketema
680aeea1ba
Merge pull request #14331 from asgerf/cpp/use-flow-state-inout-barriers
...
C++: use in/out barriers with flow state
2025-08-26 11:47:35 +02:00
Napalys Klicius
8017fae297
Java: Simplify mock call location check using getEnclosingCallable
2025-08-26 09:44:00 +00:00
Jeroen Ketema
54f264851a
Merge branch 'main' into cpp/use-flow-state-inout-barriers
2025-08-26 11:24:32 +02:00
Jeroen Ketema
704ae1a3b1
Java: Update integration test after query removal
2025-08-26 11:19:42 +02:00
Asger F
629a96c167
Merge pull request #5 from jketema/cpp/use-flow-state-inout-barriers
...
C++: Revert changes to `cpp/constant-array-overflow`
2025-08-26 11:08:56 +02:00
Tom Hvitved
80031e5c00
Merge pull request #20273 from hvitved/rust/attribute-in-macro-expansion
...
Rust: Include `getAttributeMacroExpansion` in `isInMacroExpansion`
2025-08-26 11:08:02 +02:00
Simon Friis Vindum
17f7b7f710
Rust: Fix examples in qldoc
2025-08-26 10:56:52 +02:00
Geoffrey White
078fbc6427
Rust: Remove resolve_paths from the translator.
2025-08-26 09:51:00 +01:00
Geoffrey White
456f56096f
Rust: Remove ResolvePaths enum and resolve_paths arguments up to Translator::new (hardcode to false).
2025-08-26 09:46:20 +01:00
Jeroen Ketema
75786e9a71
C++: Revert changes to cpp/constant-array-overflow
...
It is not clear that this does what we want here, and the query is severly
broken in any case.
2025-08-26 10:43:54 +02:00
Napalys Klicius
1abb8ad54a
Java: Use strictcount instead of count for method counting
...
Co-authored-by: michaelnebel <michaelnebel@github.com >
2025-08-26 08:41:33 +00:00
Napalys Klicius
b271f1fcd0
Java: Renamed query java/mocking-all-non-private-methods-means-unit-test-is-too-big to java/excessive-public-method-mocking and changed wording from non-private to public
2025-08-26 08:37:57 +00:00
Geoffrey White
d6d0645d7b
Rust: Remove skip_path_resolution config variable (hardhoded to true).
2025-08-26 09:33:52 +01:00
Tom Hvitved
fb7c3f32d3
Merge pull request #20283 from hvitved/rust/update-test-output
...
Rust: Update expected test output
2025-08-26 10:06:54 +02:00
Jeroen Ketema
7a3973b941
Merge pull request #20279 from jketema/loc-cleanup
...
C++: Update expected test results after extractor changes
2025-08-26 09:55:02 +02:00
REDMOND\brodes
5d29240f27
Crypto: OperationStep overhaul to account for errors and missing interproc flow.
2025-08-25 16:59:09 -04:00
Tom Hvitved
83ca08cad6
Rust: Update expected test output
2025-08-25 21:54:15 +02:00
Tom Hvitved
9b4d37df24
Add change note
2025-08-25 20:49:10 +02:00
Jeroen Ketema
a104600d4d
Merge branch 'main' into cpp/use-flow-state-inout-barriers
2025-08-25 17:04:30 +02:00
Paolo Tranquilli
7de34e4be0
Merge pull request #20055 from github/redsun82/cargo-upgrade-2
...
Rust: upgrade to rust-analyzer 0.0.300
2025-08-25 16:26:13 +02:00
Taus
1008ca9744
Python: Add psycopg2.pool tests
2025-08-25 14:14:16 +00:00
Jeroen Ketema
0752c07bc1
C++: Update expected test results after extractor changes
2025-08-25 15:56:00 +02:00
Michael Nebel
7394a80bf3
C#: Add change-note.
2025-08-25 14:53:23 +02:00
Michael Nebel
be123cf2bc
C#: Update test expected output.
2025-08-25 14:52:41 +02:00
Michael Nebel
311e3ac8b5
C#: Taint entire return for Byte- and Char array summaries.
2025-08-25 14:39:29 +02:00
Taus
d5e0298999
Python: Add support for Psycopg2 database connection pools
...
Our current modelling only treated `psycopg2` insofar as it implemented
PEP 249 (which does not define any notion of connection pool), which
meant we were missing database connections that arose from such pools.
With these changes, we add support for the three classes relating to
database pools that are defined in `psycopg2`. (Note that
`getAnInstance` automatically looks at subclasses, which means this
should also handle cases where the user has defined a new subclass that
inherits from one of these three classes.)
2025-08-25 12:35:57 +00:00
Joe Farebrother
eb4841230a
Add tests (WIP)
2025-08-25 13:30:45 +01:00
Tom Hvitved
88059d97c8
Merge pull request #20275 from hvitved/python/fix-print-ast-yaml
...
Python: Only include relevant YAML in `printAst.ql`
2025-08-25 14:22:14 +02:00
Tom Hvitved
bf7e3dabd6
Python: Only include relevant YAML in printAst.ql
2025-08-25 13:54:19 +02:00
Tom Hvitved
9ef839dc8a
Rust: Include synthetic type parameters in Type.getATypeParameter
2025-08-25 13:13:05 +02:00
Tom Hvitved
1d8f29136b
Rust: Include getAttributeMacroExpansion in isInMacroExpansion
2025-08-25 11:00:49 +02:00
Anders Schack-Mulligen
4be995dc19
Merge pull request #20267 from aschackmull/java/nullness-fix
...
Java: Add more nullness tests and fix a bug causing false negatives.
2025-08-25 09:13:25 +02:00
Anders Schack-Mulligen
891ce62948
Merge pull request #17660 from knewbury01/knewbury01/improve-quality-java-set
...
Remove unnecessary query
2025-08-25 08:37:02 +02:00
Paolo Tranquilli
e20c8e139c
Merge pull request #20250 from github/redsun82/redsun82/no-lld
...
Bazel: do not force `lld` and fix `platforms` warning
2025-08-25 08:32:25 +02:00
Napalys Klicius
38f517ecfa
Java: Add lambda-aware test detection to VisibleForTesting query
2025-08-24 10:02:43 +00:00
Napalys Klicius
4149968f33
Java: Remove the hardcoded path filter that excluded CodeQL's own unit tests from the java/visible-for-testing-abuse query.
2025-08-24 09:58:35 +00:00
Jami Cogswell
f0542dd828
Java: add summary to change note
2025-08-22 17:17:51 -04:00
REDMOND\brodes
b7ceeb399f
Crypto: nodes.expected update and removed dead code from Language.qll
2025-08-22 14:50:31 -04:00
Geoffrey White
4a4f782d86
Rust: Accept another consistency test change.
2025-08-22 16:57:51 +01:00
Geoffrey White
0e2bc7c95d
Merge remote-tracking branch 'upstream/main' into pathi
2025-08-22 16:57:41 +01:00
Geoffrey White
08cb038086
Rust: Accept changes to other tests.
2025-08-22 16:17:50 +01:00
Napalys Klicius
4a693d9b60
Update java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToSystemExit.ql
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-08-22 16:09:46 +02:00
Henning Makholm
3134c0aa38
Merge pull request #20269 from github/hmakholm/pr/test-run-output
...
rust integration test: use all output from codeql test run
2025-08-22 15:47:33 +02:00
Geoffrey White
701aec1c8e
Rust: Fix the canonicalize models.
2025-08-22 14:35:51 +01:00
Henning Makholm
2e69417d67
rust integration test: use all output from codeql test run
...
The integration test expectes to find a certain phrase from the
extractor repeated in the _stderr_ of `codeql test run`. However, that
subcommand is about to start reproducing the extractor output as-is,
which means the phrase will instead appear in _stdout_.
Change the integration test to capture all of the output, so it
will keep passing across the change.
2025-08-22 15:27:37 +02:00
Geoffrey White
49c4c34882
Merge pull request #20221 from github/copilot/fix-20220
...
Rust: Implement a new query for Log Injection
2025-08-22 14:01:49 +01:00
Anders Schack-Mulligen
e343fd32d3
Java: Add change note.
2025-08-22 14:29:27 +02:00
Paolo Tranquilli
e05eca6680
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-22 13:52:28 +02:00
Geoffrey White
7279b0318b
Rust: Model a few more Path and PathBuf methods.
2025-08-22 11:31:43 +01:00
Jeroen Ketema
374c547fa2
Merge pull request #18722 from superboy-zjc/main
...
Fix the broken reference
2025-08-22 12:26:59 +02:00
Jeroen Ketema
6ce3aac7b7
Merge pull request #12660 from moshekaplan/patch-1
...
Correct menu title name of "Open Workspace"
2025-08-22 12:08:06 +02:00
Jeroen Ketema
6d7f6ff77d
Merge branch 'main' into patch-1
2025-08-22 11:51:33 +02:00
Florin Coada
ea0e31fc30
Add changelog entry for CodeQL CLI version 2.22.4
2025-08-22 10:19:12 +01:00
Geoffrey White
40b9754071
Rust: Change note.
2025-08-22 09:58:11 +01:00
Geoffrey White
2f2a975350
Rust: Model path::new.
2025-08-22 09:58:09 +01:00
Geoffrey White
d1a5c9b297
Rust: Add a test case resembling code seen in the wild.
2025-08-22 09:58:08 +01:00
Geoffrey White
8b04bc0ceb
Rust: Model std::fs::OpenOptions and similar.
2025-08-22 09:58:07 +01:00
Geoffrey White
9fbbe02da0
Rust: Compact these models a little.
2025-08-22 09:58:05 +01:00
Geoffrey White
fcce862cea
Rust: Add an explicit test case for sinks with two relevant args.
2025-08-22 09:58:04 +01:00
Geoffrey White
16e0de0cfb
Rust: Fill gaps in the tokio models.
2025-08-22 09:58:03 +01:00
Geoffrey White
29e7b6ad2c
Rust: Fill a gap in the std::fs model.
2025-08-22 09:58:01 +01:00
Geoffrey White
1d2ac33bb6
Rust: Model async-std::fs.
2025-08-22 09:58:00 +01:00
Geoffrey White
49b4adcc99
Rust: Add more tests for DirEntry, PathBuf, OsString.
2025-08-22 09:57:59 +01:00
Anders Schack-Mulligen
f2352f76c0
Java: Teach guards that exceptions in catch-clauses are non-null.
2025-08-22 10:16:42 +02:00
Anders Schack-Mulligen
02452704b2
Java: Fix bug in nullness
2025-08-22 10:15:22 +02:00
Anders Schack-Mulligen
9fc0793d6a
Java: More nullness qltests, including highlight of FN bug.
2025-08-22 10:12:48 +02:00
Anders Schack-Mulligen
1c724372f2
Java: More nullness qltests.
2025-08-22 10:08:17 +02:00
Anders Schack-Mulligen
ba252cb5cf
Java: Add a couple of difficult condition correlation tests.
2025-08-22 10:08:00 +02:00
Napalys Klicius
4705ad2e32
Java: Added extra test cases for fields
2025-08-22 09:23:49 +02:00
Napalys Klicius
38b3df07ee
Java: Address comments
2025-08-22 09:23:49 +02:00
Napalys Klicius
66f2911497
Update java/ql/src/Violations of Best Practice/Implementation Hiding/VisibleForTestingAbuse.ql
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-08-22 09:23:49 +02:00
Napalys Klicius
0b172080aa
Update java/ql/src/Violations of Best Practice/Implementation Hiding/VisibleForTestingAbuse.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-08-22 09:23:49 +02:00
Napalys Klicius
d20fd5beba
Java: updated visible-for-testing-abuse meta data and docs.
2025-08-22 09:23:49 +02:00
Napalys Klicius
ea831a8352
Java: Fix VisibleForTestingAbuse false positives in annotations
2025-08-22 09:23:49 +02:00
Napalys Klicius
eb46e54c43
Java: Refactor VisibleForTestingAbuse query to reduce complexity
2025-08-22 09:23:49 +02:00
Napalys Klicius
225723bfeb
Java: Exclude @VisibleForTesting-to-@VisibleForTesting access from VisibleForTestingAbuse alerts
2025-08-22 09:23:49 +02:00
Napalys Klicius
e4042402bc
Java: Resolve spurious VisibleForTestingAbuse alerts for inner class access patterns
2025-08-22 09:23:49 +02:00
Napalys Klicius
1e2e6eccd7
Java: Test @VisibleForTesting method accessing @VisibleForTesting members
2025-08-22 09:23:49 +02:00
Napalys Klicius
7e2a1944f6
Java: Fix Predicate QLDoc style.
2025-08-22 09:23:49 +02:00
Napalys Klicius
9dfb4d4301
Java: Enchanced isWithinType to also include lambdas, inner classes etc.
2025-08-22 09:23:49 +02:00
Napalys Klicius
fbf18af076
Java: enchanced check if it is within same package
2025-08-22 09:23:49 +02:00
Napalys Klicius
2a16f4829e
Java: Expanded test suite of java/visible-for-testing-abuse
2025-08-22 09:23:49 +02:00
Napalys Klicius
ff6ddd2893
Java: Promoted java/visible-for-testing-abuse to quality
2025-08-22 09:23:49 +02:00
Napalys Klicius
652e9cba3d
Java: Added inline test expectations for java/visible-for-testing-abuse
2025-08-22 09:23:49 +02:00
Napalys Klicius
0c14d93bc6
Java: Added new query java/visible-for-testing-abuse
2025-08-22 09:23:49 +02:00
REDMOND\brodes
ec7e41cb30
Crypto: Fixed issues in CBOM representations (gaps in the underlying model) and simplified unit tests in terms of the graph complexity to aid visual assessments of model correctness.
2025-08-21 15:05:45 -04:00
Chris Smowton
2d9470ded8
Merge pull request #20264 from github/smowton/admin/merge-rc319-into-main
...
Merge rc/3.19 into main
2025-08-21 17:06:17 +01:00
Geoffrey White
8da44828a6
Rust: Add tests for std::fs::canonicalize and similar.
2025-08-21 16:47:12 +01:00
Geoffrey White
801be8fbbd
Rust: Add more tests for std::fs::DirBuilder and similar.
2025-08-21 16:47:11 +01:00
Geoffrey White
bc226e2117
Rust: Add more general test cases for async_std::fs and tokio::fs.
2025-08-21 16:47:10 +01:00
Geoffrey White
5da296d77f
Rust: Add tests for std::fs::OpenOptions and similar.
2025-08-21 16:47:08 +01:00
Chris Smowton
1829060fab
Merge remote-tracking branch 'origin/main' into smowton/admin/merge-rc319-into-main
2025-08-21 16:33:37 +01:00
Napalys Klicius
eb6e9b8fe6
Java: Fix java/jvm-exit false positives for local nested classes in test methods
2025-08-21 14:20:49 +00:00
Napalys Klicius
41a78a0c3d
Java: Added nested local class test case
2025-08-21 14:10:12 +00:00
Tom Hvitved
7a4bc80582
Merge pull request #20248 from hvitved/rust/jump-to-def-generic-args
...
Rust: Adjust jump-to-def for paths with generic arguments
2025-08-21 16:00:51 +02:00
Tom Hvitved
0144c77dd1
Merge pull request #20234 from hvitved/type-inference/rename-vars
...
Type inference: Rename some variables
2025-08-21 16:00:31 +02:00
Michael Nebel
c89f2e309d
Merge pull request #20089 from michaelnebel/csharp/allowsinkimplicitread
...
C#: Allow implicit collection reads in sink nodes.
2025-08-21 15:29:52 +02:00
Joe Farebrother
9edfd7a6fb
Use generator script directly
2025-08-21 14:12:26 +01:00
Joe Farebrother
f24f7d5146
Add builtin subclass models, incorporate into query
2025-08-21 13:50:26 +01:00
Jami
771d7cb171
Merge pull request #20095 from jcogs33/jcogs33/java/finalizers-on-exit-and-garbage-collection
...
Java: Add `previous-id` and adjust tags for `java/garbage-collection` and `java/run-finalizers-on-exit`
2025-08-21 08:10:36 -04:00
Owen Mansel-Chan
f1c6064f4e
Merge pull request #20188 from github/dependabot/go_modules/go/extractor/extractor-dependencies-c0b353d580
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2025-08-21 12:44:15 +01:00
Napalys Klicius
46a2de69cd
Update java/ql/src/Violations of Best Practice/Undesirable Calls/CallsToSystemExit.ql
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-08-21 13:21:17 +02:00
Mathias Vorreiter Pedersen
dfda5a0793
Merge pull request #20249 from MathiasVP/type-tracking-for-cpp-3
...
C++: Use the shared type-tracking library for virtual dispatch resolution
2025-08-21 11:14:12 +02:00
Napalys Klicius
3369e16b1b
Merge pull request #20254 from Napalys/cs/ldap-injection-qhelp
...
CS: Update `cs/ldap-injection` qhelp
2025-08-21 08:57:03 +02:00
Michael Nebel
ebfbc71104
C#: Address more review comments.
2025-08-21 08:07:17 +02:00
dependabot[bot]
e99b423e28
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.26.0 to 0.27.0
- [Commits](https://github.com/golang/mod/compare/v0.26.0...v0.27.0 )
Updates `golang.org/x/tools` from 0.35.0 to 0.36.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.35.0...v0.36.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.27.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.36.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-08-21 03:46:43 +00:00
Jeroen Ketema
b79f0a2cf2
Merge pull request #20252 from knewbury01/knewbury01/add-uniform-Customizations
...
Add extra Customizations files
2025-08-20 20:14:02 +02:00
REDMOND\brodes
30a07763e8
Crypto: Copilot suggested code changes.
2025-08-20 13:28:28 -04:00
REDMOND\brodes
33aa6c94df
Crypto: Adding tests for reuse nonce query for JAVA/JCA.
2025-08-20 13:21:18 -04:00
Kristen Newbury
cf0342410d
Merge branch 'knewbury01/add-uniform-Customizations' of https://github.com/knewbury01/codeql into knewbury01/add-uniform-Customizations
2025-08-20 13:19:16 -04:00
Kristen Newbury
854a5b5871
Add changenotes customizations addition
2025-08-20 13:18:17 -04:00
Ben Rodes
65ff72719e
Merge branch 'main' into signature_model_refactor
2025-08-20 12:34:06 -04:00
Napalys Klicius
71a8e10f3d
CS: added extra guidance in recommendation section for LDAPInjection
2025-08-20 13:37:02 +02:00
Napalys Klicius
c475bedf73
CS: removed dead links from LDAPInjection qhelp
2025-08-20 12:58:54 +02:00
Mathias Vorreiter Pedersen
70d3e69ce5
C++: Rename 'lambda' to 'virtual'.
2025-08-20 10:38:22 +02:00
Paolo Tranquilli
fd7668d94a
Merge pull request #20251 from github/redsun82/rust-remove-warning
...
Rust: update README to remove experimental warning
2025-08-20 10:12:19 +02:00
Michael Nebel
3e03728ffe
Merge pull request #20244 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-08-20 08:55:48 +02:00
Michael Nebel
b42c366250
C#: Address review comments.
2025-08-20 08:50:23 +02:00
Jeroen Ketema
c9f0e3a377
Apply suggestions from code review
2025-08-20 08:07:10 +02:00
github-actions[bot]
e74116b347
Add changed framework coverage reports
2025-08-20 00:23:14 +00:00
Kristen Newbury
d630e32ce9
Format Customizations.qll
2025-08-19 15:27:29 -04:00
Kristen Newbury
49ef6939d4
Add extra Customizations files
2025-08-19 14:49:31 -04:00
Joe Farebrother
e42002e1d7
Promote IncorrectExceptOrder.
...
However, we lose some results due to not considering builtin/stdlib types.
2025-08-19 15:30:47 +01:00
Paolo Tranquilli
65e5ded80d
Rust: update README to remove experimental warning
2025-08-19 16:02:45 +02:00
Paolo Tranquilli
d6f845ee17
Bazel: do not force lld and fix platforms warning
...
This was meant to avoid using `gold`, but `lld` might not be installed.
Having `gold` installed results in the following warning:
```
warning: the gold linker is deprecated and has known bugs with Rust
|
= help: consider using LLD or ld from GNU binutils instead
```
* if a user sees this warning, they can provide the `lld` or whatever
linker they prefer themselves, or make sure to uninstall `gold`
* in any case, this is not what we use for releasing (where we are sure
we don't use `gold`).
2025-08-19 15:56:16 +02:00
Paolo Tranquilli
fbeebd7d3c
Rust: fix old.dbscheme in downgrade script
2025-08-19 14:38:39 +02:00
Paolo Tranquilli
5e0f0c0408
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-19 14:37:52 +02:00
Paolo Tranquilli
680b4abae2
Rust: accept test changes
2025-08-19 14:37:45 +02:00
Geoffrey White
963e028645
Merge pull request #20238 from geoffw0/scinit
...
Rust: Update StreamCipherInit to use getCanonicalPath.
2025-08-19 13:18:10 +01:00
Paolo Tranquilli
8ed277d6ee
Rust: adapt upgrade/downgrade scripts to new hash
2025-08-19 14:03:18 +02:00
Paolo Tranquilli
49bf48eda1
Rust: fix duplicate asm! expressions
2025-08-19 14:01:25 +02:00
Mathias Vorreiter Pedersen
02bf923f7e
C++: Add change note.
2025-08-19 13:57:15 +02:00
Mathias Vorreiter Pedersen
0631bd7466
C++: Add object/flow conflation for unions when resolving function pointers.
2025-08-19 13:57:13 +02:00
Mathias Vorreiter Pedersen
16508b1800
C++: Fix off-by-one error in getType on 'FinalGlobalValue' nodes and accept test changes.
2025-08-19 13:57:11 +02:00
Mathias Vorreiter Pedersen
302d35bedc
C++: Accept test changes.
2025-08-19 13:57:10 +02:00
Mathias Vorreiter Pedersen
cca5bd9ada
C++: Update 'mayBenefitFromCallContext' to not use the old virtual dispatch local flow predicate.
2025-08-19 13:57:07 +02:00
Mathias Vorreiter Pedersen
383799ce67
C++: Perform 6 rounds of virtual dispatch resolution like Java.
2025-08-19 13:57:05 +02:00
Mathias Vorreiter Pedersen
d4188d59a8
C++: Instantiate the type tracking module inside a reusable module like it's done in Java.
2025-08-19 13:57:03 +02:00
Mathias Vorreiter Pedersen
ea8d766ae8
Merge pull request #20242 from MathiasVP/fprintf-partial-flow
...
C++: Mark the write to `fprintf`'s 0'th argument as partial
2025-08-19 13:43:22 +02:00
Paolo Tranquilli
d38459a50a
Fix ForTypeRepr docs and test with proper instance
2025-08-19 12:46:16 +02:00
Mathias Vorreiter Pedersen
caf7464f3b
C++: Prefix with 'DataflowPrivate'.
2025-08-19 12:46:12 +02:00
Mathias Vorreiter Pedersen
fdb9f7ba2a
C++: Move these predicates to make the diff smaller.
2025-08-19 12:42:15 +02:00
Mathias Vorreiter Pedersen
42fcfca849
C++: Remove the old virtual dispatch case from 'defaultViableCallable' and slightly reorganize the code in preparation for the next commit.
2025-08-19 12:39:26 +02:00
Mathias Vorreiter Pedersen
c1b91db37a
C++: Add more virtual dispatch tests.
2025-08-19 12:32:09 +02:00
Paolo Tranquilli
ce48202b6a
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-19 12:25:49 +02:00
Geoffrey White
401315c4f5
Update rust/ql/lib/codeql/rust/frameworks/rustcrypto/RustCrypto.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-08-19 09:22:53 +01:00
Tom Hvitved
714423d6b9
Rust: Adjust jump-to-def for paths with generic arguments
2025-08-19 10:22:32 +02:00
Tom Hvitved
0cd8c9009f
Rust: Add more jump-to-def tests
2025-08-19 10:20:59 +02:00
Tom Hvitved
4684ac1ed9
Merge pull request #20191 from hvitved/rust/path-resolution-successor-kind
...
Rust: Distinguish internal/external items in path resolution
2025-08-19 10:20:05 +02:00
Anders Schack-Mulligen
a8f394fedb
Merge pull request #20237 from aschackmull/guards/nullguard-caching
...
Guards: Cache nullGuard predicate.
2025-08-19 09:51:31 +02:00
Geoffrey White
9f04de859f
Rust: Update test results following merge.
2025-08-19 08:50:23 +01:00
Geoffrey White
ab49c33915
Merge branch 'main' into scinit
2025-08-19 08:50:12 +01:00
Tom Hvitved
e6150e2079
Merge pull request #20243 from hvitved/rust/canonical-path-transitive-deps
...
Rust: Take transitive dependencies into account when computing canonical paths
2025-08-19 09:46:53 +02:00
Asger F
6783456213
JS: Add discard predicates
2025-08-19 09:20:00 +02:00
Asger F
ba585b8af5
JS: Add upgrade/downgrade scripts
2025-08-19 09:19:58 +02:00
Asger F
30baf0acec
JS: Add overlayChangedFiles
2025-08-19 09:19:57 +02:00
Asger F
c1df8a95cb
JS: Overlay extraction support
2025-08-19 09:19:55 +02:00
Asger F
6872f51725
JS: Add metadata to dbscheme and stats
2025-08-19 09:19:54 +02:00
Tom Hvitved
60b2cf6638
Rust: Take transitive dependencies into account when computing canonical paths
2025-08-18 22:02:44 +02:00
Tom Hvitved
5a69845485
Rust: Elaborate QL doc
2025-08-18 21:31:37 +02:00
Geoffrey White
bf33d1b870
Rust: Make a couple of new imports private.
2025-08-18 18:51:33 +01:00
Geoffrey White
fdec780921
Rust: Accept consistency .expected changes.
2025-08-18 18:42:06 +01:00
Geoffrey White
402e901811
Merge branch 'main' into scinit
2025-08-18 18:35:03 +01:00
Chris Smowton
238cb9ca68
Merge pull request #20241 from github/post-release-prep/codeql-cli-2.22.4
...
Post-release preparation for codeql-cli-2.22.4
2025-08-18 17:34:58 +01:00
Mathias Vorreiter Pedersen
af00e46fc8
C++: Mark fprintf and friends as a partial write of the stream argument.
2025-08-18 18:15:14 +02:00
Mathias Vorreiter Pedersen
6a57da79de
C++: Add a test with missing flow.
2025-08-18 18:12:52 +02:00
Mathias Vorreiter Pedersen
4551875e2e
C++: Drive-by improvement: Use 'partialFlowFunc' since it is in scope anyway.
2025-08-18 18:10:35 +02:00
Paolo Tranquilli
a658fa168d
Rust: refine upgrade script
2025-08-18 17:19:47 +02:00
Paolo Tranquilli
6266d6e7b0
Rust: add downgrade script
2025-08-18 17:12:05 +02:00
github-actions[bot]
42e3d31c49
Post-release preparation for codeql-cli-2.22.4
2025-08-18 14:42:42 +00:00
Chris Smowton
57378ec4e4
Merge pull request #20240 from github/release-prep/2.22.4
...
Release preparation for version 2.22.4
2025-08-18 15:09:03 +01:00
github-actions[bot]
90d29994c8
Release preparation for version 2.22.4
2025-08-18 14:06:09 +00:00
Paolo Tranquilli
3d2bd8fedb
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-18 15:55:15 +02:00
Paolo Tranquilli
4df479471f
Rust: accept test changes
2025-08-18 15:55:06 +02:00
Tom Hvitved
f1ca0ecc3c
Merge pull request #20233 from hvitved/rust/remove-tc
...
Rust: Remove TC from `ImplTraitTypeRepr.isInReturnPos`
2025-08-18 14:46:26 +02:00
Paolo Tranquilli
a8671452fc
Rust: add upgrade script
2025-08-18 13:06:30 +02:00
Michael Nebel
4b0c725367
C#: Add change note.
2025-08-18 12:56:15 +02:00
Michael Nebel
7431ee8df9
C#: Update the barrier in HashWithoutSalt to avoid an FP. It worked by accident before as we didn't allow implicit element reads at sinks.
2025-08-18 12:56:13 +02:00
Michael Nebel
1d25a20c9c
C#: Update the external flow test and expected test output.
2025-08-18 12:56:12 +02:00
Michael Nebel
abd0b2e2f9
C#: Update test expected output.
2025-08-18 12:56:10 +02:00
Michael Nebel
81751ea591
C#: Allow implicit reads from collections in argument nodes (sinks and additional flow steps) for default taint tracking configurations.
2025-08-18 12:56:09 +02:00
Michael Nebel
d8215a35c0
C#: Add example of failing taint flow for collections in sinks.
2025-08-18 12:56:07 +02:00
Ian Lynagh
fd020b52e4
Merge pull request #20232 from igfoo/igfoo/SloppyGlobal
...
C++: SloppyGlobal: Don't alert on template instantiations, only the template
2025-08-18 11:39:30 +01:00
Tom Hvitved
299ccb68f5
Merge pull request #20230 from hvitved/cfg/standard-tree-skip-non-tree-children
...
Shared: Skip non-CFG children in `StandardTree`
2025-08-18 12:13:31 +02:00
Geoffrey White
4eea4431b5
Merge pull request #20222 from geoffw0/pathbuf
...
Rust: Add a type inference test case resembling PathBuf.canonicalize.
2025-08-18 11:06:41 +01:00
Geoffrey White
e84135a6de
Update rust/ql/src/queries/security/CWE-117/LogInjection.qhelp
...
Co-authored-by: Sophie <29382425+sophietheking@users.noreply.github.com >
2025-08-18 10:34:43 +01:00
Geoffrey White
265c2e3603
Rust: Change note.
2025-08-18 10:29:14 +01:00
Anders Schack-Mulligen
877d397eb9
Merge pull request #20228 from 5idg5/java/data-extensions-change
...
Add data extensions for remote tainted sources
2025-08-18 11:26:38 +02:00
Geoffrey White
a9650e02ca
Rust: Add a slightly simpler / more explicit test case.
2025-08-18 10:20:30 +01:00
Anders Schack-Mulligen
e17382d179
Guards: Cache nullGuard predicate.
2025-08-18 11:09:11 +02:00
Nora Dimitrijević
f1b55641e1
Merge pull request #20073 from d10c/d10c/diff-informed-phase-3-cpp
...
C++: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-18 09:41:38 +02:00
Nora Dimitrijević
4199859eaa
Merge pull request #20079 from d10c/d10c/diff-informed-phase-3-python
...
Python: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-18 09:33:57 +02:00
Napalys Klicius
b19d1e0f57
Merge pull request #20151 from Napalys/js/command-line-libs
...
JS: Enhance command injection detection for CLI argument parsing libraries
2025-08-18 09:32:29 +02:00
Napalys Klicius
b2346183d6
Merge pull request #20148 from Napalys/js/reg-exp-env-variable-threat-model
...
JS: Exclude environment variables from `js/regex-injection` query by default
2025-08-18 09:32:15 +02:00
Paolo Tranquilli
7a95d5aaa6
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-18 09:21:37 +02:00
Sid Gawri
d84e5319c3
changenote
2025-08-15 15:59:05 -04:00
Sid Gawri
e697e89171
Merge branch 'main' of https://github.com/5idg5/codeql into java/data-extensions-change
2025-08-15 15:50:12 -04:00
Nora Dimitrijević
bb9daa00c3
Merge pull request #20072 from d10c/d10c/diff-informed-phase-3-actions
...
Actions: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-15 14:05:44 +02:00
Jeroen Ketema
84119baa50
Merge pull request #20223 from jketema/go-1.25-doc
...
Go: Mention Go 1.25 as supported
2025-08-15 13:47:40 +02:00
Tom Hvitved
b104535b32
Type inference: Rename some variables
2025-08-15 13:46:30 +02:00
Ian Lynagh
0870cc370b
C++: Add a changenote for the change to cpp/short-global-name
2025-08-15 12:09:37 +01:00
Ian Lynagh
3157fcdf79
C++: Add some BAD annotations to SloppyGlobal test
2025-08-15 12:07:09 +01:00
Tom Hvitved
1af6ddd8e3
Rust: Remove TC from ImplTraitTypeRepr.isInReturnPos
2025-08-15 12:45:13 +02:00
Ian Lynagh
bfd4c41ed9
C++: SloppyGlobal: Accept test changes
...
We no longer alert on template instantiations, just the template.
2025-08-15 11:24:19 +01:00
Nora Dimitrijević
0512940c0c
Merge pull request #20075 from d10c/d10c/diff-informed-phase-3-go
...
Go: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-15 12:23:53 +02:00
Ian Lynagh
4b786061d6
C++: SloppyGlobal: Don't alert on template instantiations, only the template
2025-08-15 11:23:48 +01:00
Ian Lynagh
0b68c1c974
C++: Add some more tests for SloppyGlobal
2025-08-15 11:20:31 +01:00
Nora Dimitrijević
8000e7c442
Merge pull request #20074 from d10c/d10c/diff-informed-phase-3-csharp
...
C#: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-15 12:07:47 +02:00
Nora Dimitrijević
89788206d1
[DIFF-INFORMED] C++: TypeConfusion
2025-08-15 12:01:30 +02:00
Nora Dimitrijević
5b9e37cd8f
[DIFF-INFORMED] C++: TaintedCondition
2025-08-15 12:01:28 +02:00
Nora Dimitrijević
0c636dd400
[DIFF-INFORMED] C++: UnsafeDaclSecurityDescriptor
2025-08-15 12:01:25 +02:00
Nora Dimitrijević
194d9a9f44
[DIFF-INFORMED] C++: UnsafeCreateProcessCall
2025-08-15 12:01:23 +02:00
Nora Dimitrijević
39b430aa7e
[DIFF-INFORMED] C++: IteratorToExpiredContainer
2025-08-15 12:01:21 +02:00
Nora Dimitrijević
ec85e55069
[DIFF-INFORMED] C++: InsufficientKeySize
2025-08-15 12:01:19 +02:00
Nora Dimitrijević
c0c96eaf5b
[DIFF-INFORMED] C++: UseOfHttp
2025-08-15 12:01:17 +02:00
Nora Dimitrijević
8560868e95
[DIFF-INFORMED] C++: CleartextSqliteDatabase
2025-08-15 12:01:15 +02:00
Nora Dimitrijević
05df2f2216
[DIFF-INFORMED] C++: CWE-311/Cleartext…
2025-08-15 12:01:13 +02:00
Nora Dimitrijević
21914030e8
[DIFF-INFORMED] C++: SSLResultConflation (has secondary config but passes test)
2025-08-15 12:01:11 +02:00
Nora Dimitrijević
87016f399c
[DIFF-INFORMED] C++: AuthenticationBypass
2025-08-15 12:01:09 +02:00
Nora Dimitrijević
861a768b2c
[DIFF-INFORMED] C++: CWE-190/ArithmeticTainted,etc.
2025-08-15 12:01:07 +02:00
Nora Dimitrijević
62fa7301c3
[DIFF-INFORMED] C++: ImproperNullTerminationTainted
2025-08-15 12:01:05 +02:00
Nora Dimitrijević
f3098e7695
[DIFF-INFORMED] C++: UnboundedWrite
2025-08-15 12:01:03 +02:00
Nora Dimitrijević
7df09f369f
[DIFF-INFORMED] C++: SqlTainted
2025-08-15 12:01:01 +02:00
Nora Dimitrijević
36d43a4830
[DIFF-INFORMED] C++: CgiXss
2025-08-15 12:00:59 +02:00
Nora Dimitrijević
80da00b599
[DIFF-INFORMED] C++: ExecTainted
2025-08-15 12:00:57 +02:00
Nora Dimitrijević
a77cab6981
[DIFF-INFORMED] C++: TaintedPath
2025-08-15 12:00:54 +02:00
Nora Dimitrijević
91b9c3e647
[DIFF-INFORMED] C++: LeapYear
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/cpp/ql/src/Likely%20Bugs/Leap%20Year/UncheckedLeapYearAfterYearModification.ql#L57
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/cpp/ql/src/Likely%20Bugs/Leap%20Year/Adding365DaysPerYear.ql#L21
2025-08-15 12:00:52 +02:00
Nora Dimitrijević
2f56baace2
[DIFF-INFORMED] C++: NonConstantFormat
2025-08-15 12:00:50 +02:00
Nora Dimitrijević
e382cb5696
[DIFF-INFORMED] C++: DecompressionBombs
2025-08-15 12:00:48 +02:00
Nora Dimitrijević
fabdf9923c
[DIFF-INFORMED] C++: ConstantSizeArrayOffByOne
2025-08-15 12:00:46 +02:00
Nora Dimitrijević
448a1ea87a
[DIFF-INFORMED] C++: OverflowDestination
2025-08-15 12:00:39 +02:00
Nora Dimitrijević
43e99d0872
[TEST] C++: CleartextSqliteDatabase: add new test
2025-08-15 12:00:26 +02:00
Nora Dimitrijević
126d24a522
[DIFF-INFORMED] Actions: EnvVarInjection
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-077/EnvVarInjectionMedium.ql#L35
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-077/EnvVarInjectionCritical.ql#L46
2025-08-15 11:11:12 +02:00
Nora Dimitrijević
f1445eb52f
[DIFF-INFORMED] Actions: EnvPathInjection
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-077/EnvPathInjectionMedium.ql#L30
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-077/EnvPathInjectionCritical.ql#L37
2025-08-15 11:11:07 +02:00
Nora Dimitrijević
f1b995a736
[DIFF-INFORMED] Actions: CommandInjection
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/experimental/Security/CWE-078/CommandInjectionMedium.ql#L24
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/experimental/Security/CWE-078/CommandInjectionCritical.ql#L28
2025-08-15 11:11:03 +02:00
Nora Dimitrijević
418e4b4a3a
[DIFF-INFORMED] Actions: CodeInjection
...
Query: https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-349/CachePoisoningViaCodeInjection.ql#L46
2025-08-15 11:10:58 +02:00
Nora Dimitrijević
bbda2902be
[DIFF-INFORMED] Actions: ArtifactPoisoning
...
Queries:
- https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-829/ArtifactPoisoningMedium.ql#L23
- https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/Security/CWE-829/ArtifactPoisoningCritical.ql#L26
2025-08-15 11:10:42 +02:00
Nora Dimitrijević
896819fdf3
[DIFF-INFORMED] Actions: ArgumentInjection
...
Query:
- https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/experimental/Security/CWE-088/ArgumentInjectionMedium.ql#L23
- https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/actions/ql/src/experimental/Security/CWE-088/ArgumentInjectionCritical.ql#L27
2025-08-15 11:10:14 +02:00
Tom Hvitved
7501e621d1
Shared: Skip non-CFG children in StandardTree
2025-08-15 10:30:47 +02:00
Michael B. Gale
ec605b2c95
Merge pull request #20229 from github/mbg/ci/fix/csharp-create-extractor-pack
...
C#: Replace input interpolation with environment variable
2025-08-15 09:19:41 +01:00
Paolo Tranquilli
71edc48c0e
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-15 10:15:26 +02:00
Paolo Tranquilli
0924d795b4
Rust: accept test changes
2025-08-15 10:12:12 +02:00
Michael B. Gale
e1ffb323a0
C#: Replace input interpolation with environment variable
2025-08-15 09:00:28 +01:00
Sid Gawri
a8889ff056
add extensions for remote sources
2025-08-14 16:10:49 -04:00
Tom Hvitved
a07e357e67
Rust: Distinguish internal/external items in path resolution
2025-08-14 20:42:47 +02:00
Tom Hvitved
f1bff93bc5
Merge pull request #20203 from hvitved/rust/if-let-chain-test
...
Rust: Handle chained `let` expressions
2025-08-14 19:51:43 +02:00
Geoffrey White
f05d815af9
Rust: Update the security-severity tag.
2025-08-14 17:59:54 +01:00
Geoffrey White
bc0d327278
Rust: Add log injection sinks to stats.
2025-08-14 17:42:04 +01:00
Geoffrey White
9e4f59ce30
Rust: Accept consistency check failures.
2025-08-14 17:39:06 +01:00
Geoffrey White
4328ed8fcb
Rust: Update suite lists.
2025-08-14 17:39:04 +01:00
Geoffrey White
9836592278
Rust: Fix compilation errors in example code.
2025-08-14 17:39:02 +01:00
Paolo Tranquilli
6ca1c587f6
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-14 17:55:17 +02:00
Anders Schack-Mulligen
b67394a450
Merge pull request #20183 from aschackmull/java/barrierguard-wrappers
...
Java: Enable BarrierGuard wrappers
2025-08-14 16:06:21 +02:00
copilot-swe-agent[bot]
7b1aa2307f
Address PR feedback: trim examples, remove duplicate CWE ref, autoformat
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-08-14 13:15:03 +00:00
Geoffrey White
49265b6e7e
Rust: Update inline test annotations accordingly.
2025-08-14 13:49:41 +01:00
Tom Hvitved
5c0300cbdf
Merge pull request #20224 from hvitved/rust/remove-extractor-resolution-references
...
Rust: Remove references to `getResolvedPath` and `getExtendedCanonicalPath`
2025-08-14 14:45:33 +02:00
Tom Hvitved
d09645bc96
Add change note
2025-08-14 14:38:44 +02:00
Geoffrey White
2a19a1789d
Rust: Run test, accept .expected and Cargo.lock.
2025-08-14 13:17:50 +01:00
Geoffrey White
6951f585c8
Merge pull request #20226 from geoffw0/stdlib
...
Rust: Update StartswithCall to use getCanonicalPath
2025-08-14 13:04:30 +01:00
Geoffrey White
02b9229be7
Rust: Update StartswithCall.
2025-08-14 12:09:49 +01:00
Geoffrey White
6941e7fef1
Rust: Add tags to intermediate steps in the test.
2025-08-14 11:37:22 +01:00
Geoffrey White
ecf0e08f55
Rust: Add some more path injection test case variants.
2025-08-14 11:05:48 +01:00
Tom Hvitved
51fb2157ef
Rust: Remove references to getResolvedPath and getExtendedCanonicalPath
2025-08-14 11:31:42 +02:00
Jeroen Ketema
28f2157a8c
Go: Mention Go 1.25 as supported
2025-08-14 10:49:19 +02:00
Geoffrey White
1c186e2a59
Merge remote-tracking branch 'upstream/main' into pathbuf
2025-08-14 09:38:38 +01:00
Tom Hvitved
f63e55c1fd
Rust: Handle chained let expressions
2025-08-14 10:36:43 +02:00
Tom Hvitved
fd1d9401c0
Rust: Add tests for chained let expressions
2025-08-14 10:36:41 +02:00
Jeroen Ketema
72c89ec076
Merge pull request #20218 from MathiasVP/fix-guard-conditions-for-likely
...
C++: Improvements to `IRGuard`s
2025-08-14 10:24:48 +02:00
copilot-swe-agent[bot]
d72efc52f7
Final validation and cleanup of Rust log injection query
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-08-13 18:12:36 +00:00
copilot-swe-agent[bot]
39ea50746f
Implement Rust log injection query and test infrastructure
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-08-13 18:09:03 +00:00
copilot-swe-agent[bot]
d954b504b4
Initial plan
2025-08-13 17:56:12 +00:00
Jon Janego
603f0f2d55
Merge pull request #20219 from github/changedocs-2.22.3
...
Sitedocs for 2.22.3
2025-08-13 11:54:05 -05:00
Jon Janego
cc302c0d1d
Sitedocs for 2.22.3
2025-08-13 11:32:31 -05:00
Mathias Vorreiter Pedersen
39f5e33dea
C++: Accept more test changes.
2025-08-13 17:46:06 +02:00
Mathias Vorreiter Pedersen
9c3bb87b89
C++: Add change note.
2025-08-13 16:42:39 +02:00
Mathias Vorreiter Pedersen
9ee313ff0a
C++: Remove code that is now subsumed.
2025-08-13 16:29:49 +02:00
Mathias Vorreiter Pedersen
bf4a84ba8f
C++: Drive-by: Add forgotten disjuncts involving '__builtin_expect'.
2025-08-13 16:29:42 +02:00
Mathias Vorreiter Pedersen
e6cd27a992
C++: Skip non-Boolean instructions in the new inference step.
2025-08-13 16:20:21 +02:00
Mathias Vorreiter Pedersen
e67b6d6c9a
C++: Add another inference step.
2025-08-13 16:20:19 +02:00
Jeroen Ketema
ff288d799e
Merge pull request #20210 from github/jketema/go-1.25
...
Go: Update Go version to 1.25.0
2025-08-13 16:07:36 +02:00
Chuan-kai Lin
4c263c0535
Merge pull request #20047 from github/cklin/alert-filtering-qldoc
...
Shared: Overhaul the AlertFiltering QLDoc
2025-08-13 06:58:38 -07:00
Jeroen Ketema
4b215d50e2
Go: Update maxGoVersion in the autobuilder
2025-08-13 14:09:53 +02:00
Jeroen Ketema
5e2a5600a7
Update go_rules to the latest version
...
This version includes https://github.com/bazel-contrib/rules_go/pull/4397 which
addresses the build fialure we were seeing.
2025-08-13 13:40:14 +02:00
Jeroen Ketema
976ef99d60
Go: Request go1.25.0 toolchain
2025-08-13 13:39:35 +02:00
Jeroen Ketema
4baf115c3a
Go: Use Go 1.25.0 to build the Go extractor
2025-08-13 13:39:34 +02:00
Jeroen Ketema
d5f8289bcd
Go: Update Go version in tests to 1.25.0
2025-08-13 13:39:32 +02:00
Jeroen Ketema
653a99779e
Merge pull request #20216 from github/redsun82/rust-fix-bazel
...
Bazel: regenerate cargo vendored files
2025-08-13 13:36:20 +02:00
Tom Hvitved
dc6e76a0d7
Merge pull request #20182 from hvitved/rust/type-inference-tuple-types-follow-up
...
Rust: Unify type inference for tuple indexing expressions
2025-08-13 13:32:53 +02:00
Paolo Tranquilli
ea320c2a7b
Bazel: regenerate cargo vendored files
2025-08-13 13:30:01 +02:00
Geoffrey White
91eb4dad4e
Rust: Add a type inference test case resembling PathBuf.canonicalize.
2025-08-13 12:25:12 +01:00
Mathias Vorreiter Pedersen
a27135495c
C++: Add tests.
2025-08-13 12:54:23 +02:00
Jeroen Ketema
fcbd333144
Merge pull request #20215 from github/redsun82/rust-fix-bazel
...
Rust: regenerate bazel files
2025-08-13 12:40:03 +02:00
Paolo Tranquilli
c997b29c1e
Rust: regenerate bazel files
2025-08-13 11:51:11 +02:00
Geoffrey White
17b468239b
Merge pull request #20208 from geoffw0/sqlmodels
...
Rust: Fill some gaps in our database models.
2025-08-13 08:54:23 +01:00
Mathias Vorreiter Pedersen
caa935d011
C++: Update the tests for guard conditions so that the tests print more detailed location information.
2025-08-13 09:41:28 +02:00
Chuan-kai Lin
34d546ce82
Merge branch 'main' into cklin/alert-filtering-qldoc
2025-08-12 11:11:27 -07:00
Paolo Tranquilli
92e94695e7
Rust: add ForBinder case in ClosureExpr and accept test changes
2025-08-12 17:29:11 +02:00
Paolo Tranquilli
fbc81cbb18
Rust: fix compilation errors
2025-08-12 17:10:02 +02:00
Paolo Tranquilli
338572f256
Rust: run codegen again
2025-08-12 17:04:26 +02:00
Paolo Tranquilli
0a42b7aba3
Bazel: regenerate vendored cargo dependencies
2025-08-12 16:51:13 +02:00
Paolo Tranquilli
6ad8af0ea9
Cargo: upgrade dependencies
2025-08-12 16:46:29 +02:00
Chuan-kai Lin
b20521b648
Shared: Overhaul the AlertFiltering QLDoc
...
This commit strengthens the contract for the restrictAlertsTo and the
restrictAlertsToExactLocation extensible predicates.
- restrictAlertsTo is now documented to match any alert location that
intersects with a specified line range. (Previously an alert location
matches only when its first line is in a specified line range.)
- restrictAlertsToExactLocation is now documented to match any alert
location that wholly contains a specific character range. (Previously
an alert location matchis only when it is exactly the same as a
specified character range.)
It also contains misc wording changes for clarity.
2025-08-12 07:43:46 -07:00
Paolo Tranquilli
a007230f21
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-12 16:42:23 +02:00
Tom Hvitved
0a67902f5d
Merge pull request #20101 from mschwager/main
...
Fix #19294 , Ruby NetHttpRequest improvements
2025-08-12 14:42:32 +02:00
Paolo Tranquilli
2b92b83868
Merge pull request #20207 from github/redsun82/rust-toolchain
...
Cargo: align rust toolchain version with internal repository
2025-08-12 11:52:37 +02:00
Tom Hvitved
454ab4db8c
Rust: Unify type inference for tuple indexing expressions
2025-08-12 10:32:23 +02:00
Tom Hvitved
b2343f94c1
Rust: Add another type inference test
2025-08-12 10:32:21 +02:00
Tom Hvitved
8436f00b23
Merge pull request #20179 from hvitved/rust/type-inference-certain-follow-up
...
Rust: Generalize certain type inference logic
2025-08-12 10:30:02 +02:00
Paolo Tranquilli
0dfacf4be8
Rust: add test rust-toolchain.toml after fixing .gitignore
2025-08-12 10:06:32 +02:00
Paolo Tranquilli
565d607580
Merge branch 'main' into redsun82/rust-toolchain
2025-08-12 09:28:46 +02:00
Andrew Eisenberg
f5fbef9b83
Merge pull request #20196 from github/aeisenberg/indentation-fix
...
Fix indentation in the "Supported languages and frameworks" page
2025-08-11 13:58:46 -07:00
Andrew Eisenberg
cb541b52ed
Fix indentation in the "Supported languages and frameworks" page
...
I'm not sure why this works, but I see it is correct in my
dev tools page.
2025-08-11 13:44:30 -07:00
Geoffrey White
af20d335c8
Rust: Accept consistency test changes.
2025-08-11 20:25:41 +01:00
Geoffrey White
993f00b658
Rust: Change note.
2025-08-11 19:32:13 +01:00
Geoffrey White
398d2ac930
Rust: Fix a couple more gaps.
2025-08-11 19:24:54 +01:00
Geoffrey White
0544ea8728
Rust: Add postgres sources.
2025-08-11 18:43:11 +01:00
Geoffrey White
4bbffc56a8
Rust: Expand tokio-postgres sources.
2025-08-11 18:42:44 +01:00
Geoffrey White
35681d0617
Rust: Add SQLx sources.
2025-08-11 18:05:58 +01:00
Geoffrey White
5056ebf186
Rust: Fix typo in one of the models.
2025-08-11 18:05:42 +01:00
Geoffrey White
17741af88e
Rust: Fill out a few gaps in the models.
2025-08-11 17:45:51 +01:00
Geoffrey White
b31186451f
Rust: Test more variants of rusqlite usage.
2025-08-11 17:41:28 +01:00
Geoffrey White
31353e7efc
Rust: Test more variants of postgres usage.
2025-08-11 17:41:24 +01:00
Paolo Tranquilli
911d6f07b6
Shared tree-sitter extractor: run clippy
2025-08-11 17:04:22 +02:00
Paolo Tranquilli
45c0c46c9d
Cargo: align rust toolchain version with internal repository
...
Also:
* remove new warnings raised by the rust toolchain
* run new formatting and linting
* update the rust toolchain used by `cargo`
While we keep `bazel` builds using the same toolchain as internally
(now a nightly one), I opted for using a stable toolchain for `cargo`.
The nightly toolchain is only required internally for build reasons, we
should keep not using any unstable rust features in our sources.
2025-08-11 16:45:47 +02:00
Napalys Klicius
6e38087d20
Merge pull request #20204 from p-/p--actions-untrusted-checkout-doc
...
Actions: clarify doc for untrusted checkout
2025-08-11 14:42:12 +02:00
Matt Schwager
357964e789
Remove duplicate lines and format query
2025-08-11 08:11:36 -04:00
Napalys Klicius
ff648fcb27
Java: Removed redundant cast to Stmt
2025-08-11 13:43:36 +02:00
Napalys Klicius
f41cb67a69
Java: Promote java/mocking-all-non-private-methods-means-unit-test-is-too-big to quality status
2025-08-11 13:43:36 +02:00
Napalys Klicius
b56f8cca2d
Java: Fix QLDoc style compliance and qhelp for mocking query
2025-08-11 13:43:36 +02:00
Napalys Klicius
53ccc56959
Java: exclude single-method classes from mocking
2025-08-11 13:43:36 +02:00
Napalys Klicius
a9e9a62439
Java: add single-method class test case for mocking rule
...
Classes with only one public method should be compliant when mocked.
2025-08-11 13:43:36 +02:00
Napalys Klicius
22caa584ad
Java: Add inline test expectations for MockingAllNonPrivateMethodsMeansUnitTestIsTooBig.qlref
2025-08-11 13:43:36 +02:00
Napalys Klicius
50c7160819
Java: port java/mocking-all-non-private-methods-means-unit-test-is-too-big query
2025-08-11 13:43:36 +02:00
Tom Hvitved
9905cd6436
Merge pull request #20192 from hvitved/rust/path-resolution-remove-source-lib-dedup
...
Rust: Remove source/library deduplication in path resolution
2025-08-11 13:40:34 +02:00
Geoffrey White
5fc8db8244
Merge pull request #20137 from geoffw0/cleartextstorage
...
Rust: New Query rust/cleartext-storage-database
2025-08-11 12:33:24 +01:00
Geoffrey White
3382d06ede
Rust: Remove newline.
2025-08-11 11:51:21 +01:00
Peter Stöckli
98d312fda1
Actions: clarify doc for untrusted checkout
2025-08-11 09:56:53 +00:00
Jeroen Ketema
f9f99a043c
Merge pull request #20126 from MathiasVP/fix-missing-global-flow
...
C++: Fix missing global variable flow
2025-08-11 11:54:35 +02:00
Mathias Vorreiter Pedersen
c8eb1cf826
C++: Add change note.
2025-08-11 11:28:53 +02:00
Mathias Vorreiter Pedersen
851cb04d36
Merge pull request #20193 from MathiasVP/fix-fp-in-overflow-buffer
...
C++: Fix FP in `cpp/overflow-buffer`
2025-08-11 10:45:06 +02:00
Geoffrey White
a1bc865691
Merge pull request #20185 from geoffw0/typeconsistencycounts
...
Rust: Add rust/diagnostics/type-inference-consistency-counts.
2025-08-11 09:42:19 +01:00
Geoffrey White
04014d9bf0
Merge pull request #20150 from geoffw0/ctorinit
...
Rust: Update BadCtorInitialization.ql to use getCanonicalPath.
2025-08-11 09:41:16 +01:00
Mathias Vorreiter Pedersen
ccfcd90f08
Merge pull request #20156 from MathiasVP/value-numbering-for-noop-casts
...
C++: Value numbering for casts that only modify specifiers
2025-08-11 10:33:58 +02:00
Mathias Vorreiter Pedersen
56aacb1e55
Merge pull request #20145 from MathiasVP/fix-type-error-in-ir
...
C++: Fix missing `bool` -> `int` conversions in C code
2025-08-11 10:26:54 +02:00
Tom Hvitved
874f951727
Merge pull request #20172 from hvitved/shared/concepts-final-aliases
...
Shared: Use `final` aliases in `ConcentsShared.qll`
2025-08-11 10:14:55 +02:00
Napalys Klicius
f6aad96504
Java: Update docs and promote to quality java/jvm-exit
2025-08-11 09:24:01 +02:00
Napalys Klicius
4df613ce37
Java: Improved java/jvm-exit query to remove FP's.
2025-08-11 09:24:01 +02:00
Napalys Klicius
d41a5e3a25
Java: Added basic test cases for java/jvm-exit
2025-08-11 09:24:01 +02:00
Paolo Tranquilli
e02a2d8eae
Merge pull request #20189 from github/redsun82/java-17-in-gradle-no-wrapper-tests
...
Java: use java 17 in `no-wrapper` tests
2025-08-08 17:47:31 +02:00
Mathias Vorreiter Pedersen
b00107f927
C++: Add change note.
2025-08-08 15:23:40 +01:00
Mathias Vorreiter Pedersen
0c9d14f417
C++: Accept test changes.
2025-08-08 15:14:09 +01:00
Mathias Vorreiter Pedersen
d76ce4fb69
C++: Also handle reference types when computing 'trueSize'.
2025-08-08 15:12:45 +01:00
Mathias Vorreiter Pedersen
26be9839df
C++: Add FP.
2025-08-08 15:10:40 +01:00
Tom Hvitved
c043e30d46
Rust: Remove source/library deduplication in path resolution
2025-08-08 13:28:18 +02:00
Anders Schack-Mulligen
492a5ca087
Java: Add some more exception edges to the CFG to facilitate guard wrappers.
2025-08-08 10:40:07 +02:00
Anders Schack-Mulligen
e94f018e14
Kotlin: Support kotlin Throws annotations.
2025-08-08 10:28:58 +02:00
Paolo Tranquilli
72843b56e8
Java: use java 17 in no-wrapper tests
...
Gradle 9 requires Java 17.
2025-08-08 08:58:56 +02:00
Geoffrey White
1965fdb158
Rust: Update consistency .expected.
2025-08-07 18:41:47 +01:00
Chuan-kai Lin
72563ec5a4
Merge pull request #20080 from d10c/d10c/diff-informed-phase-3-ruby
...
Ruby: Diff-informed queries: phase 3 (non-trivial locations)
2025-08-07 07:37:40 -07:00
Geoffrey White
38f4f8d1d2
Rust: Update suite lists.
2025-08-07 15:28:01 +01:00
Marcono1234
adf01e76cd
Doc: Fix link to warnOnImplicitThis GitHub docs
2025-08-07 16:02:36 +02:00
Geoffrey White
c5f83c4423
Rust: Add rust/diagnostics/type-inference-consistency-counts.
2025-08-07 14:43:48 +01:00
Anders Schack-Mulligen
3b3f4bc782
Java/Guards: Remove unused.
2025-08-07 15:43:00 +02:00
Anders Schack-Mulligen
b19f15b3aa
Java: Simplify ArithmeticCommon using BarrierGuards.
2025-08-07 15:43:00 +02:00
Anders Schack-Mulligen
9957cbe656
Java/Guards: Improve BarrierGuards to include validate(x = ...) checks.
2025-08-07 15:42:59 +02:00
Anders Schack-Mulligen
a04ff18ba4
Java: Enable validation wrappers in BarrierGuards.
2025-08-07 15:42:59 +02:00
Anders Schack-Mulligen
3674966946
Merge pull request #20121 from aschackmull/guards/wrapperguard
...
Guards: Improve support for wrapped guards
2025-08-07 15:41:04 +02:00
Anders Schack-Mulligen
2909def9b6
Guards: Rename predicate.
2025-08-07 14:51:50 +02:00
Anders Schack-Mulligen
b51c0e7cb6
Java: Add change note.
2025-08-07 14:51:50 +02:00
Anders Schack-Mulligen
d9cfe14729
Java: Accept qltest change.
2025-08-07 14:51:49 +02:00
Anders Schack-Mulligen
a40ae3a11a
Guards: Slight join-order improvement.
2025-08-07 14:51:49 +02:00
Anders Schack-Mulligen
ec513ead0d
Guards: Add support for extending BarrierGuards with wrapped invocations.
2025-08-07 14:51:48 +02:00
Anders Schack-Mulligen
f90b6ab005
Guards: Add support for wrappers that may throw exceptions.
2025-08-07 14:51:48 +02:00
Anders Schack-Mulligen
b156bd5ce2
Guards: Rename predicate.
2025-08-07 14:51:48 +02:00
Anders Schack-Mulligen
0c31a80f3c
Guards: Generalise wrapper guards.
2025-08-07 14:51:47 +02:00
Anders Schack-Mulligen
6e52df1639
Guards: Rename module.
2025-08-07 14:51:47 +02:00
Anders Schack-Mulligen
1bdaa2420d
Java: Simplify Guards instantiation a bit.
2025-08-07 14:51:46 +02:00
Anders Schack-Mulligen
3aaf48de11
Guards: Remove CustomGuard nesting in Guards instantiation.
2025-08-07 14:51:46 +02:00
Tom Hvitved
e172e74357
Rust: Remove comment from type inference test
2025-08-07 10:37:19 +02:00
Tom Hvitved
1be542ec56
Rust: Generalize certain type inference logic
2025-08-07 10:37:17 +02:00
Geoffrey White
aafdf1a279
Rust: Update StreamCipherInit to use getCanonicalPath.
2025-08-07 09:27:51 +01:00
Tom Hvitved
dfe4401f13
Merge pull request #20169 from hvitved/javascript/legacy-summary-steps
...
JS: Generate legacy flow steps for all flow summaries
2025-08-06 18:52:39 +02:00
Geoffrey White
e991aa3253
Merge branch 'main' into cleartextstorage
2025-08-06 15:49:44 +01:00
Tom Hvitved
ed3a33fdc6
Merge pull request #20177 from hvitved/rust/type-inference-where
...
Rust: Improve handling of where clauses in type inference and path resolution
2025-08-06 15:52:56 +02:00
Geoffrey White
d215ea16da
Merge pull request #19802 from geoffw0/sqlx
...
Rust: Update SqlxQuery, SqlxExecute to use getCanonicalPath
2025-08-06 14:52:03 +01:00
Simon Friis Vindum
b50a76693a
Rust: Handle multiple type bounds for the same type parameter in getTypeBound
2025-08-06 11:15:28 +02:00
Simon Friis Vindum
0cfb22ff3f
Rust: Add example with multiple where clause items for the same type parameter
2025-08-06 11:15:24 +02:00
Simon Friis Vindum
b302f3f98f
Rust: Improve handling of where clauses in type inference and path resolution
2025-08-06 11:08:18 +02:00
Simon Friis Vindum
766083290c
Rust: Add tests with where clause
2025-08-06 11:08:13 +02:00
Tom Hvitved
d201ce1705
Merge pull request #20155 from paldepind/rust/type-inference-certain
...
Rust: Add predicate for certain type information
2025-08-06 10:55:34 +02:00
Tom Hvitved
1f15fc8a35
Merge pull request #20173 from hvitved/rust/type-mention-remove-restriction
...
Rust: Remove restriction in `PathTypeMention`
2025-08-06 10:13:23 +02:00
Tom Hvitved
eb3c054b0f
JS: Generate legacy flow steps for all flow summaries
2025-08-06 09:38:49 +02:00
Geoffrey White
83ec1d0254
Rust: Add the new query sinks to the Stats.qll import, so that they're reported correctly.
2025-08-05 20:20:40 +01:00
Geoffrey White
0d4f8765a6
Merge pull request #20167 from geoffw0/mdlcleanup
...
Rust: Clean up some odds and ends
2025-08-05 19:25:46 +01:00
Tom Hvitved
a396f9345e
Rust: Remove restriction in PathTypeMention
2025-08-05 15:05:43 +02:00
Tom Hvitved
11dcd90435
Shared: Use final aliases in ConcentsShared.qll
2025-08-05 14:53:52 +02:00
Anders Schack-Mulligen
1823355fae
Merge pull request #20171 from aschackmull/java/nullness-fn
...
Java: document nullness false negative as qltest
2025-08-05 14:17:09 +02:00
Anders Schack-Mulligen
94274288d3
Merge pull request #20127 from aschackmull/java/joinorder3
...
Java: Improve a couple of join-orders
2025-08-05 14:15:42 +02:00
Anders Schack-Mulligen
c59d20a668
Merge pull request #20163 from aschackmull/java/postdom-normal
...
Java: Assume normal termination in post-dominance.
2025-08-05 14:01:04 +02:00
Anders Schack-Mulligen
23aac0ac51
Java: document nullness false negative as qltest
2025-08-05 13:49:51 +02:00
Geoffrey White
c8e9ed3eda
Merge branch 'main' into cleartextstorage
2025-08-05 12:44:55 +01:00
Tom Hvitved
6e90823bd9
Merge pull request #20158 from hvitved/csharp/has-callable-constructor
...
C#: Include constructors in `ValueOrRefType.hasCallable`
2025-08-05 12:59:29 +02:00
Paolo Tranquilli
27650267a1
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-08-05 11:18:56 +02:00
Anders Schack-Mulligen
273429d14a
Java: Accept qltest output
2025-08-05 10:32:53 +02:00
Tom Hvitved
b426d84e1c
Merge pull request #20164 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-08-05 09:55:51 +02:00
Geoffrey White
dcda6db88b
Rust: Lets not try to maintain this list.
2025-08-04 19:51:34 +01:00
Geoffrey White
0a49b65887
Rust: Make the rust/cleartext-transmission alert message more consistent with similar queries.
2025-08-04 19:47:33 +01:00
Chuan-kai Lin
e2b8d7b1ea
Merge pull request #20166 from github/post-release-prep/codeql-cli-2.22.3
...
Post-release preparation for codeql-cli-2.22.3
2025-08-04 11:38:38 -07:00
Geoffrey White
6c024a5f9e
Rust: Remove unnecessary pattern matching in cleartext logging query sinks (probably inherited from another query or language where it is used).
2025-08-04 19:28:40 +01:00
Geoffrey White
eab7481b97
Rust: Accept CWE-312 consistency check failures.
2025-08-04 18:26:09 +01:00
github-actions[bot]
fb4b0aac53
Post-release preparation for codeql-cli-2.22.3
2025-08-04 17:18:08 +00:00
Chuan-kai Lin
da3e5479df
Merge pull request #20165 from github/release-prep/2.22.3
...
Release preparation for version 2.22.3
2025-08-04 09:19:35 -07:00
Geoffrey White
def655f994
Rust: Accept changes to the CWE-089 test (there are some duplicate results that an existing unmerged PR will address).
2025-08-04 17:15:48 +01:00
Chuan-kai Lin
4df1c12876
Minor CHANGELOG updates
2025-08-04 09:09:25 -07:00
Geoffrey White
b60faadf70
Rust: Change note.
2025-08-04 17:07:58 +01:00
github-actions[bot]
fd82aeb1f8
Release preparation for version 2.22.3
2025-08-04 15:47:57 +00:00
Geoffrey White
836f797def
Rust: Accept suite changes.
2025-08-04 16:43:21 +01:00
Tom Hvitved
651e1624a6
Rust: Fix bad join
...
```
Evaluated relational algebra for predicate _Crate::Crate.getSourceFile/0#dispred#e7adf9d7_Crate::Generated::Crate.getName/0#dispred#f4d3b3bf_Pa__#join_rhs@5a04a7t0 with tuple counts:
34471980 ~0% {3} r1 = JOIN `PathResolution::isSourceFile/1#803de032` WITH `Crate::Crate.getSourceFile/0#dispred#e7adf9d7` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Rhs.1
34471980 ~37% {4} | JOIN WITH `Crate::Generated::Crate.getName/0#dispred#f4d3b3bf` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1, _
{3} | REWRITE WITH NOT [Tmp.3 := "std", TEST InOut.2 != Tmp.3, Tmp.3 := "core", TEST InOut.2 != Tmp.3] KEEPING 3
93420 ~91% {3} | SCAN OUTPUT In.1, _, In.0
93420 ~87% {3} | REWRITE WITH Out.1 := "prelude"
return r1
```
2025-08-04 17:33:26 +02:00
Tom Hvitved
65bf76e3ed
Merge pull request #20161 from hvitved/rust/fix-bad-joins
...
Rust: Fix two bad joins introduced by magic
2025-08-04 17:32:54 +02:00
Geoffrey White
a86479eba9
Rust: Accept consistency check failures.
2025-08-04 16:26:41 +01:00
Geoffrey White
8b5603cf71
Merge pull request #20160 from geoffw0/exec
...
Rust: Add type inference test cases resembling missing call targets in SQLx.
2025-08-04 16:03:12 +01:00
Geoffrey White
e368ee4b1b
Rust: Accept that sql-injection sinks are sinks for this query, and that the existing sinks created for this query are also new sql-injection sinks.
2025-08-04 15:23:04 +01:00
Geoffrey White
989b48d576
Rust: Add tests for rusqlite.
2025-08-04 15:00:06 +01:00
Anders Schack-Mulligen
0a27a8c255
Java: Assume normal termination in post-dominance.
2025-08-04 15:08:26 +02:00
Geoffrey White
f1cb1a3f5a
Rust: Add computed security-severity tag.
2025-08-04 13:41:16 +01:00
Geoffrey White
6925d4e564
Merge pull request #20129 from codeqlhelper/main
...
C++: Static variables are initialized to zero or null by compiler
2025-08-04 13:23:45 +01:00
Tom Hvitved
125a4b9b10
Rust: Fix two bad joins introduced by magic
...
```
Evaluated relational algebra for predicate TypeInference::closureParameterPath/2#9d0bf423#bbf@ba08cc1s with tuple counts:
565067 ~172652% {2} r1 = JOIN `Callable::Callable.getParam/1#dispred#ce0254b3_01#count_range` WITH `Callable::Generated::Callable.getNumberOfParams/0#dispred#abb45996` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
24684 ~11784% {3} | JOIN WITH Type::TTupleTypeParameter#5ca17706 ON FIRST 2 OUTPUT Rhs.2, Lhs.1, Lhs.0
2970 ~1391% {3} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
664 ~242% {4} | JOIN WITH `Stdlib::FnOnceTrait.getTypeParam/0#dispred#93f20bbc` CARTESIAN PRODUCT OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2
303 ~49% {4} | JOIN WITH Type::TDynTraitTypeParameter#e16268df ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
198 ~0% {8} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, _, _, Rhs.1, Lhs.3, _, _
{4} | REWRITE WITH Out.2 := (In.4 ++ In.5), Tmp.3 := (In.4 ++ In.5), Tmp.6 := "[0-9]+", Tmp.7 := "", Out.3 := regexpReplaceAll(Tmp.3,Tmp.6,Tmp.7) KEEPING 4
198 ~0% {6} | SCAN OUTPUT In.0, In.1, In.2, _, In.3, _
{4} | REWRITE WITH Out.3 := length(In.4), Tmp.5 := 10, TEST Out.3 <= Tmp.5 KEEPING 4
198 ~0% {3} | SCAN OUTPUT In.1, In.0, In.2
877984 ~1444714% {1} r2 = SCAN `CallExprBase::CallExprBase.getArg/1#dispred#d775f13d` OUTPUT In.1
299888 ~83707% {3} | JOIN WITH Type::TTupleTypeParameter#5ca17706_102#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Rhs.2
515462762 ~59140% {4} | JOIN WITH `CallExprBase::Generated::CallExprBase.getNumberOfArgs/0#dispred#0975fe12_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Lhs.2
9429188 ~25728933% {3} | JOIN WITH TypeInference::InvokedClosureExpr#24e5dacb_1#join_rhs ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2
53669 ~142315% {3} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Rhs.1
4003 ~10522% {4} | JOIN WITH `Stdlib::FnOnceTrait.getTypeParam/0#dispred#93f20bbc` CARTESIAN PRODUCT OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2
370 ~910% {4} | JOIN WITH Type::TDynTraitTypeParameter#e16268df ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
148 ~293% {8} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, _, _, Rhs.1, Lhs.3, _, _
{4} | REWRITE WITH Out.2 := (In.4 ++ In.5), Tmp.3 := (In.4 ++ In.5), Tmp.6 := "[0-9]+", Tmp.7 := "", Out.3 := regexpReplaceAll(Tmp.3,Tmp.6,Tmp.7) KEEPING 4
148 ~316% {6} | SCAN OUTPUT In.0, In.1, In.2, _, In.3, _
{4} | REWRITE WITH Out.3 := length(In.4), Tmp.5 := 10, TEST Out.3 <= Tmp.5 KEEPING 4
148 ~293% {3} | SCAN OUTPUT In.1, In.0, In.2
346 ~75% {3} r3 = r1 UNION r2
return r3
```
and
```
Evaluated relational algebra for predicate TypeInference::fnParameterPath/2#4dea2880#bbf@d56000vi with tuple counts:
1 ~0% {1} r1 = SCAN `Stdlib::FnOnceTrait.getTypeParam/0#dispred#93f20bbc` OUTPUT In.1
1 ~0% {1} | JOIN WITH Type::TTypeParamTypeParameter#868c69a5 ON FIRST 1 OUTPUT Rhs.1
1 ~0% {1} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Rhs.1
877984 ~1350201% {2} | JOIN WITH `ArgList::Generated::ArgList.getArg/1#dispred#b07adc80` CARTESIAN PRODUCT OUTPUT Rhs.1, Lhs.0
321252 ~90755% {4} | JOIN WITH Type::TTupleTypeParameter#5ca17706_102#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Rhs.2
553043191 ~65412% {5} | JOIN WITH `CallExprBase::Generated::CallExprBase.getNumberOfArgs/0#dispred#0975fe12_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0, Lhs.3
10089088 ~26772053% {4} | JOIN WITH TypeInference::InvokedClosureExpr#24e5dacb_1#join_rhs ON FIRST 1 OUTPUT Lhs.4, Lhs.1, Lhs.2, Lhs.3
57729 ~157423% {8} | JOIN WITH `TypeInference::TypePath::singleton/1#ee45de3b` ON FIRST 1 OUTPUT Lhs.2, Lhs.3, _, _, Lhs.1, Rhs.1, _, _
{4} | REWRITE WITH Out.2 := (In.4 ++ In.5), Tmp.3 := (In.4 ++ In.5), Tmp.6 := "[0-9]+", Tmp.7 := "", Out.3 := regexpReplaceAll(Tmp.3,Tmp.6,Tmp.7) KEEPING 4
57729 ~157423% {6} | SCAN OUTPUT In.0, In.1, In.2, _, In.3, _
{4} | REWRITE WITH Out.3 := length(In.4), Tmp.5 := 10, TEST Out.3 <= Tmp.5 KEEPING 4
57729 ~157423% {3} | SCAN OUTPUT In.1, In.0, In.2
return r1
```
2025-08-04 14:22:50 +02:00
Simon Friis Vindum
3ba285c298
Rust: Implement certain type information for annotation and simple calls
2025-08-04 14:06:38 +02:00
Simon Friis Vindum
c3349bbb04
Rust: Add type inference example with cycle blowup
2025-08-04 14:06:37 +02:00
Tom Hvitved
361ef0f50d
C#: Include constructors in ValueOrRefType.hasCallable
2025-08-04 13:51:17 +02:00
Geoffrey White
2ec6dafd18
Rust: Add a type inference test case resembling missing call targets in SQLx.
2025-08-04 10:21:59 +01:00
Simon Friis Vindum
9aebc58214
Merge pull request #20147 from paldepind/rust/type-limit-metric
...
Rust: Add metric for DCA and debug predicates for type that reach the length limit
2025-08-04 07:53:14 +02:00
Mathias Vorreiter Pedersen
65b1b7f63e
C++: Add change note.
2025-08-03 12:17:37 +01:00
Mathias Vorreiter Pedersen
851c498b37
C++: Accept test changes. This is a FP that's been present since we put the IR into production in #2851 .
2025-08-03 12:17:36 +01:00
Mathias Vorreiter Pedersen
b807ee4718
C++: Accept test changes.
2025-08-03 12:17:34 +01:00
Mathias Vorreiter Pedersen
c726285cac
C++: Sync identical files.
2025-08-03 12:17:31 +01:00
Mathias Vorreiter Pedersen
0d9e298250
C++: Specifier-only converting instructions preserve GVNs.
2025-08-03 12:17:19 +01:00
Mathias Vorreiter Pedersen
fca49dde92
C++: Accept test changes.
2025-08-02 16:43:19 +01:00
Mathias Vorreiter Pedersen
73e4bfdd3e
C++: Fix missing flow by also generating final global uses for functions that have a post-update node for the global variable.
2025-08-02 16:41:23 +01:00
Mathias Vorreiter Pedersen
34c1ec73c2
C++: Add tests with missing flow through globals.
2025-08-02 16:38:32 +01:00
Mathias Vorreiter Pedersen
1aa8adb472
C++: Add test.
2025-08-02 13:00:26 +01:00
Mathias Vorreiter Pedersen
14345a8288
C++: Accept test changes.
2025-08-01 16:09:44 +01:00
Mathias Vorreiter Pedersen
7561190bd1
C++: Fix type errors in C code.
2025-08-01 16:09:42 +01:00
Napalys Klicius
881ea7631e
Added change note
2025-08-01 14:34:25 +02:00
Joe Farebrother
5e09c1d3d3
Merge remote-tracking branch 'origin/python-qual-subclass-shadow' into python-qual-subclass-shadow
2025-08-01 12:39:30 +01:00
Joe Farebrother
bc60914ed7
Update test output
2025-08-01 12:37:51 +01:00
Joe Farebrother
d8083add3e
Doc updates
2025-08-01 12:35:01 +01:00
Napalys Klicius
ae4077db72
add taint flow for arg/command-line-args with custom argv option
2025-08-01 13:34:08 +02:00
Napalys Klicius
d6508f34b6
Add taint flow for Commander.js direct property access and action callbacks
2025-08-01 13:24:19 +02:00
Napalys Klicius
39170f327c
Added couple more test cases for commander js
2025-08-01 13:14:39 +02:00
Napalys Klicius
6b4e34dd39
Added a step from parse to opts for commander js
2025-08-01 13:12:43 +02:00
Mathias Vorreiter Pedersen
1fab97b765
Merge pull request #20149 from MathiasVP/expose-definition-from-dataflow-ssa
...
C++: Expose SSA definitions from dataflow
2025-08-01 12:04:04 +01:00
Mathias Vorreiter Pedersen
0e9286dd34
C++: Fix QLDoc.
2025-08-01 11:37:12 +01:00
Mathias Vorreiter Pedersen
b70836e241
C++: Modify the API to not expose dataflow nodes.
2025-08-01 11:34:49 +01:00
Mathias Vorreiter Pedersen
33d05984c8
C++: Stick the exposed SSA classes into a public SSA module.
2025-08-01 11:34:47 +01:00
Mathias Vorreiter Pedersen
32e6d0934e
C++: Drive-by fix: These files imported both the public dataflow files and the internal ones. Let's only import the internal ones.
2025-08-01 11:34:45 +01:00
Napalys Klicius
e980798ede
Added step through yargs/yargs constructor and chained methods.
2025-08-01 12:01:30 +02:00
Mathias Vorreiter Pedersen
7ede3aa516
C++: Fix imports.
2025-08-01 10:35:34 +01:00
Mathias Vorreiter Pedersen
0d91622d18
C++: Rename SsaInternals to SsaImpl and SsaInternalsCommon to SsaImplCommon.
2025-08-01 10:34:14 +01:00
Napalys Klicius
e8eb9be3f6
Add command injection tests for CLI argument parsing libraries
2025-08-01 11:02:59 +02:00
Geoffrey White
01d24c4f83
Merge branch 'main' into sqlx
2025-07-31 16:02:36 +01:00
Mathias Vorreiter Pedersen
18289702ca
C++: Add an example of double negation to the IR tests.
2025-07-31 15:49:05 +01:00
codeqlhelper
4323e6853f
Update cpp/ql/src/change-notes/2025-07-27-avoid-reporting-static-global-variable.md
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-07-31 21:17:29 +08:00
Mathias Vorreiter Pedersen
c8f4b287d1
C++: Add a comment on the old SSA library.
2025-07-31 14:07:38 +01:00
Mathias Vorreiter Pedersen
7e93b99ff9
C++: Add change note.
2025-07-31 13:57:19 +01:00
Mathias Vorreiter Pedersen
8691075aae
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternals.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-31 13:52:21 +01:00
Mathias Vorreiter Pedersen
5a91aa2105
C++: Expose SSA definitions from dataflow.
2025-07-31 13:45:03 +01:00
Geoffrey White
58680c94bc
Rust: Repair BadCtorInitialization.ql's StdCall using getCanonicalPath.
2025-07-31 13:28:56 +01:00
Simon Friis Vindum
abc58ac8b3
Rust: Add metric and debug predicates for type that reach the length limit
2025-07-31 14:20:32 +02:00
Mathias Vorreiter Pedersen
1dae787605
C++: Drive-by fix suggested by Schack. This now matches the predicate in C#.
2025-07-31 12:58:05 +01:00
Napalys Klicius
3f9061abdb
Added change note
2025-07-31 13:20:38 +02:00
Napalys Klicius
d28a6e6352
Added new test cases for regexp injection with enviromental variable threat model enabled
2025-07-31 13:20:37 +02:00
Napalys Klicius
8583257574
Created new folder for test with threat models disabled
2025-07-31 13:20:30 +02:00
Ian Lynagh
492e27b8e8
Merge pull request #20141 from igfoo/igfoo/kotlin-2.2.20-beta2
...
Kotlin: Support 2.2.20-beta2
2025-07-31 12:00:17 +01:00
Napalys Klicius
021aa13ee2
Added change note
2025-07-31 12:45:34 +02:00
Napalys Klicius
5f538209c9
Exlucde environmental variables from default detection in regexp injection
2025-07-31 12:09:30 +02:00
Napalys Klicius
791a7e242e
Updated qhelp for cors permissive configuration
2025-07-31 11:31:10 +02:00
Napalys Klicius
2baca58b27
Removed deprecations from cors as it was moved out experimental
2025-07-31 11:08:22 +02:00
Napalys Klicius
fd4233e30e
Moved apollo modeling to MaD
2025-07-31 10:58:38 +02:00
Joe Farebrother
79d1deb28d
Update python/ql/src/Classes/SubclassShadowing/SubclassShadowing.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-31 06:05:48 +01:00
Joe Farebrother
71a6b22815
Update python/ql/src/Classes/SubclassShadowing/examples/SubclassShadowingBad.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-31 06:05:25 +01:00
Geoffrey White
42ced8aa3d
Rust: Add examples to tests.
2025-07-30 17:51:32 +01:00
Geoffrey White
b6e60e4087
Rust: Address small bugs in the test.
2025-07-30 17:51:31 +01:00
Geoffrey White
215fe7d0b3
Rust: Clean up the alert message.
2025-07-30 17:51:30 +01:00
Geoffrey White
e585e677c8
Rust: Add qhelp and examples.
2025-07-30 17:51:28 +01:00
Joe Farebrother
1efc09bbba
Update integration tests
2025-07-30 15:54:39 +01:00
Joe Farebrother
63577f0cca
Add extra example
2025-07-30 15:52:26 +01:00
Joe Farebrother
2516f9452e
Move to subfolder
2025-07-30 15:17:19 +01:00
Ian Lynagh
e589019e04
Kotlin: Use 2.2.20-Beta2 rather than 2.2.20-Beta1
2025-07-30 14:14:14 +01:00
Ian Lynagh
4ea6133042
Kotlin: Add 2.2.20-Beta2 jars
2025-07-30 14:13:02 +01:00
Ian Lynagh
c78818d7dd
Kotlin: Remove *2.2.20-Beta1* jars
2025-07-30 14:12:43 +01:00
Joe Farebrother
34317d2d4a
Update documentation
2025-07-30 13:56:28 +01:00
Joe Farebrother
796a6060b2
Exclude setters and update tests
2025-07-30 13:56:05 +01:00
Joe Farebrother
af94ebe1fc
Modernize attribute shadows subclass, Add cases for properties
2025-07-30 13:55:11 +01:00
Simon Friis Vindum
3bc1d47738
Merge pull request #20130 from paldepind/rust/type-inference-fn
...
Rust: Implement type inference for closures and calls to closures
2025-07-30 13:13:57 +02:00
Napalys Klicius
84ffbbec33
Added missing doc strings
2025-07-30 10:51:38 +00:00
Napalys Klicius
95743d7109
Added inline test expectations for cors permissive config
2025-07-30 10:42:55 +00:00
codeqlhelper
ee3e7e34ba
Merge pull request #1 from geoffw0/initnotrun .expected
...
CPP: Add .expected file for the InitialisationNotRun test
2025-07-30 18:36:29 +08:00
Napalys Klicius
92daa7d42c
Updated suite expectations
2025-07-30 10:32:11 +00:00
Geoffrey White
c0638a5fcb
CPP: Update .expected for the changes here.
2025-07-30 11:24:57 +01:00
Anders Schack-Mulligen
5ca9c090a8
Merge pull request #20132 from aschackmull/ssa/guardvalue
...
SSA: Update data flow integration and BarrierGuard interface to use GuardValue.
2025-07-30 12:23:17 +02:00
Napalys Klicius
358617f533
Move CORS misconfiguration query from experimental to Security
2025-07-30 10:22:59 +00:00
Geoffrey White
d6fddde6e0
CPP: Add .expected (results before query changes here).
2025-07-30 11:22:56 +01:00
Geoffrey White
43bca84310
CPP: Convert test to use a stub rather than a library include.
2025-07-30 11:22:53 +01:00
Geoffrey White
a3110a9091
Rust: Implement query.
2025-07-29 18:19:52 +01:00
Simon Friis Vindum
5b152cfdec
Rust: Fix typo in change note
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-07-29 18:38:14 +02:00
Simon Friis Vindum
5540b9df71
Merge branch 'main' into rust/type-inference-fn
2025-07-29 16:43:17 +02:00
Idriss Riouak
6c00ceaec9
Merge pull request #20134 from github/idrissrio/java-dca-fix
...
Java: Move `extractorInformationSkipKey` predicate to library pack
2025-07-29 15:32:02 +01:00
idrissrio
ac52a1b123
Java: Move extractorInformationSkipKey predicate to library pack
2025-07-29 09:45:18 +02:00
Geoffrey White
5c64d4e9b7
Rust: Query framework.
2025-07-28 16:59:01 +01:00
Geoffrey White
897822dff5
Rust: The Cargo.lock file has changed as well.
2025-07-28 16:55:43 +01:00
Geoffrey White
9972aaf6a1
Rust: Add tests cases for cleartext storage.
2025-07-28 16:12:34 +01:00
Simon Friis Vindum
9d72fab287
Merge pull request #20119 from paldepind/rust/type-inference-assoc-type-tp
...
Rust: Type inference for impl trait types with type parameters
2025-07-28 11:38:17 +02:00
Anders Schack-Mulligen
3b8234ecec
SSA: Update data flow integration and BarrierGuard interface to use GuardValue.
2025-07-28 11:29:12 +02:00
Simon Friis Vindum
92bce4e432
Rust: Split getFunctionReturnPos into two predicates
2025-07-28 10:45:59 +02:00
Simon Friis Vindum
9761580b7e
Merge branch 'main' into rust/type-inference-assoc-type-tp
2025-07-28 10:39:00 +02:00
Simon Friis Vindum
8e474c946e
Rust: Add change note for type inference for closures
2025-07-28 10:27:33 +02:00
Anders Schack-Mulligen
37b508bf43
Merge pull request #20128 from aschackmull/ccr/del-formatting-instruction
...
Copilot: Remove the formatting instructions, as they're confusing CCR.
2025-07-28 10:24:30 +02:00
Simon Friis Vindum
2c758a9842
Rust: Add type inference for closures and calls to first-class functions
2025-07-27 21:28:10 +02:00
Simon Friis Vindum
8c6c28d61f
Rust: Add type inference tests for closures
2025-07-27 21:16:30 +02:00
codeqlhelper
75e545a67f
Create 2025-07-27-avoid-reporting-static-global-variable.md
2025-07-28 00:00:41 +08:00
codeqlhelper
cf21997c0f
Reduce false alarms raised by static variables
...
Static variables are initialized to zero or null by compiler, no need to get an initializer of them.
See https://stackoverflow.com/questions/13251083/the-initialization-of-static-variables-in-c
See 6.7.8/10 in the C99 Standard.
A relevant PR: https://github.com/github/codeql/pull/16527
2025-07-27 23:46:53 +08:00
codeqlhelper
89dcad48f4
Create InitialisationNotRun.qlref
2025-07-27 23:42:50 +08:00
codeqlhelper
c2d0a12e1e
Create test for InitialisationNotRun
2025-07-27 23:40:00 +08:00
Simon Friis Vindum
13d9d8ad3f
Merge pull request #20122 from paldepind/rust/type-inference-dyn-assoc
...
Rust: Fix type inference for trait objects for traits with associated types
2025-07-26 12:40:09 +02:00
Geoffrey White
4b947db0f8
Merge pull request #19804 from geoffw0/dotdot
...
Rust: Update DotDotCheck to use getCanonicalPath
2025-07-25 15:50:29 +01:00
Geoffrey White
2951ae9c7c
Merge pull request #20124 from geoffw0/clone
...
Rust: Replace QL model for Clone with MaD
2025-07-25 15:46:44 +01:00
Simon Friis Vindum
b2ee625268
Rust: Expand doc and make predicate private
2025-07-25 15:22:10 +02:00
Geoffrey White
478f39a967
Rust: Accept (trivial) test changes.
2025-07-25 14:18:34 +01:00
Anders Schack-Mulligen
6511e21f81
Remove the formatting instructions, as they're confusing CCR.
2025-07-25 14:59:16 +02:00
Anders Schack-Mulligen
6c8275298b
Java: Improve ObjFlow performance.
2025-07-25 14:41:06 +02:00
Joe Farebrother
c0da9c407e
Fix typo in test dir name + update examples
2025-07-25 13:15:46 +01:00
Anders Schack-Mulligen
5ca35afb8c
Java: Improve joinorder in getErasedRepr.
2025-07-25 13:34:11 +02:00
Anders Schack-Mulligen
e3021f4a65
Java: Untangle code a bit to improve join order.
2025-07-25 13:33:14 +02:00
Joe Farebrother
958fddb638
cleanup order and remove duplicates for arithmetic methods
2025-07-25 10:57:19 +01:00
Joe Farebrother
d7b855c4e3
qhelp fix
2025-07-25 10:24:58 +01:00
Joe Farebrother
9af2ab83dc
Cleanups
2025-07-25 10:22:51 +01:00
Joe Farebrother
8bdf6801b3
Add qldoc
2025-07-25 10:05:09 +01:00
Joe Farebrother
3525e83ad2
Add changenote + some doc updates
2025-07-25 09:52:54 +01:00
Geoffrey White
2192ed04be
Rust: Add clone MaD trait model.
2025-07-25 09:43:34 +01:00
Geoffrey White
4140579dd6
Rust: Remove QL model for clone.
2025-07-25 08:17:52 +01:00
Geoffrey White
7f659804e4
Rust: Fix the canonical path.
2025-07-24 17:24:29 +01:00
Geoffrey White
cfe25593ee
Merge branch 'main' into dotdot
2025-07-24 16:32:36 +01:00
Joe Farebrother
871688f026
Update docs
2025-07-24 16:01:57 +01:00
Geoffrey White
67c170ffc1
Merge branch 'main' into sqlx
2025-07-24 15:25:35 +01:00
Simon Friis Vindum
466bf85a67
Rust: Fix type inference for trait objects for traits with associated types
2025-07-24 16:07:39 +02:00
Simon Friis Vindum
1b2f160b55
Rust: Add type inference tests for associated types
2025-07-24 16:07:37 +02:00
Joe Farebrother
362bfba049
Update unit tests
2025-07-24 14:50:36 +01:00
Joe Farebrother
b9f6657ade
Remove use of toString. This does also reduce reaults from cases where the exception is not a simple identifier.
2025-07-24 13:50:27 +01:00
Joe Farebrother
b1ee795225
Merge pull request #20086 from joefarebrother/python-qual-raise-not-implemented
...
Python: Modernise raise-not-implemented query
2025-07-24 13:18:21 +01:00
Ian Lynagh
621b4833f3
Merge pull request #20114 from igfoo/igfoo/kotlin-2.2.20
...
Kotlin: Add Kotlin 2.2.20 support
2025-07-24 11:58:51 +01:00
Joe Farebrother
b9738066de
try excluding set methods, add methods, update alert messages
2025-07-24 11:18:28 +01:00
Simon Friis Vindum
39f602c032
Rust: Create injective ids for impl trait type parameters
2025-07-24 12:07:11 +02:00
Simon Friis Vindum
bb56b0d45b
Rust: Add type inference test with consistency issue
2025-07-24 11:55:23 +02:00
Simon Friis Vindum
9a0c5877ea
Rust: Support impl trait types in return position with function type parameters
2025-07-24 11:00:01 +02:00
Joe Farebrother
97cf15affc
Merge pull request #20052 from joefarebrother/python-qual-minor-doc-updates
...
Python: Minor documantation updates to several quality queries
2025-07-24 09:38:07 +01:00
Simon Friis Vindum
a20fed8ae5
Rust: Add type inference tests for impl trait types
2025-07-24 10:36:51 +02:00
Joe Farebrother
a8cc14493f
Fix typo - add .
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-07-24 09:35:05 +01:00
Simon Friis Vindum
82387461ee
Merge pull request #20084 from paldepind/rust/type-inference-trait-object
...
Rust: Implement type inference for trait objects/`dyn` types
2025-07-24 10:17:23 +02:00
Simon Friis Vindum
b3dc6cba78
Rust: Use getATypeParam for consistency
2025-07-23 20:56:45 +02:00
Mathias Vorreiter Pedersen
5da7ae877b
Merge pull request #20115 from MathiasVP/add-more-windows-memcpy-functions
...
C++: Add some more Windows specific memory copy models
2025-07-23 16:10:56 +01:00
Geoffrey White
199f2473e5
Merge pull request #20024 from geoffw0/moresensitive2
...
Shared: Improve sensitive data heuristics
2025-07-23 15:38:24 +01:00
Nora Dimitrijević
5f8c457295
Merge pull request #20081 from d10c/d10c/diff-informed-phase-3-rust
...
Rust: Diff-informed queries: phase 3 (non-trivial locations)
2025-07-23 16:31:23 +02:00
Geoffrey White
91ced7ea0c
Merge pull request #20109 from github/copilot/fix-20108
...
Rust: Remove sourceModelDeprecated, summaryModelDeprecated and sinkModelDeprecated
2025-07-23 14:33:22 +01:00
Joe Farebrother
73d257e538
Port unexpected raise away from pointsto
2025-07-23 14:13:58 +01:00
Mathias Vorreiter Pedersen
cbe5561eb6
C++: Accept test changes.
2025-07-23 14:05:42 +01:00
Nora Dimitrijević
83fe9e0d51
[DIFF-INFORMED] Rust: AccessInvalidPointer
2025-07-23 14:52:44 +02:00
Nora Dimitrijević
31a73d466b
[DIFF-INFORMED] Rust: AccessAfterLifetime
2025-07-23 14:52:32 +02:00
Nora Dimitrijević
56ae8684e1
[DIFF-INFORMED] Rust: UncontrolledAllocationSize
2025-07-23 14:52:14 +02:00
Nora Dimitrijević
fcc3800756
[DIFF-INFORMED] Rust: CleartextLogging
2025-07-23 14:52:07 +02:00
Nora Dimitrijević
091163bf8e
[DIFF-INFORMED] Rust: CleartextTransmission
2025-07-23 14:52:00 +02:00
Nora Dimitrijević
78c40e209b
[DIFF-INFORMED] Rust: SqlInjection
2025-07-23 14:51:52 +02:00
Nora Dimitrijević
574bb871e0
[DIFF-INFORMED] Rust: TaintedPath
2025-07-23 14:51:45 +02:00
Nora Dimitrijević
329fd803e2
[DIFF-INFORMED] Rust: RegexInjection
2025-07-23 14:51:33 +02:00
Mathias Vorreiter Pedersen
9d736723fb
C++: Add more Windows specific models for memcpy-like tings.
2025-07-23 13:45:20 +01:00
Mathias Vorreiter Pedersen
50785f7f21
C++: Add tests with missing flow.
2025-07-23 13:37:32 +01:00
Mathias Vorreiter Pedersen
63e5c52d7e
Merge pull request #20107 from MathiasVP/add-overrun-write-barriers
...
C++: Add more barriers to `cpp/overrun-write`
2025-07-23 13:30:07 +01:00
Simon Friis Vindum
f5605c94c5
Rust: Add change note for type inference of trait objects
2025-07-23 14:08:22 +02:00
Simon Friis Vindum
12942667bf
Rust: Add type inference for dyn types
2025-07-23 14:08:15 +02:00
Simon Friis Vindum
605c8e201e
Rust: Add type inference tests for dyn types
2025-07-23 14:03:53 +02:00
Ian Lynagh
604af65b02
Kotlin: Opt in to DeprecatedForRemovalCompilerApi
...
We'll need a proper fix for this, but this will keep things working in
the meantime.
2025-07-23 12:51:12 +01:00
Ian Lynagh
709c111522
Kotlin: Add getJvmModuleNameForDeserializedDescriptor wrapper
...
It has been removed in 2.2.20.
2025-07-23 12:51:12 +01:00
Mathias Vorreiter Pedersen
3a977b86d4
Update cpp/ql/lib/semmle/code/cpp/security/ProductFlowUtils/ProductFlowUtils.qll
...
Co-authored-by: Idriss Riouak <idrissrio@github.com >
2025-07-23 12:27:38 +01:00
Matt Schwager
d8b9d4d17a
Add change-note
2025-07-23 07:03:26 -04:00
Mathias Vorreiter Pedersen
5d6c4a63bb
Update cpp/ql/lib/semmle/code/cpp/security/ProductFlowUtils/ProductFlowUtils.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-23 11:53:55 +01:00
Simon Friis Vindum
49ecc60c0f
Merge pull request #20076 from paldepind/rust/type-inference-cleanup-join
...
Rust: Type inference refactor and improve join orders
2025-07-23 12:53:43 +02:00
Ian Lynagh
d1da041fcf
Kotlin: Regenerate
...
Ran "../tools/bazel mod tidy"
2025-07-23 11:53:06 +01:00
Ian Lynagh
8432f6e42e
Kotlin: Add 2.2.20-Beta1 version
2025-07-23 11:52:48 +01:00
Ian Lynagh
965f1fc547
Kotlin: Add 2.2.20 deps
2025-07-23 11:51:45 +01:00
Ian Lynagh
f148f434e1
Kotlin: Add a changenote for the addition of 2.2.2x support
2025-07-23 11:49:38 +01:00
Mathias Vorreiter Pedersen
019447b681
C++: Add change note.
2025-07-23 11:49:07 +01:00
Ian Lynagh
ad391df03f
Kotlin: Support 2.2.20
2025-07-23 11:47:52 +01:00
copilot-swe-agent[bot]
defd4a1d08
Add change note for removal of deprecated dataflow predicates
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-07-23 10:41:31 +00:00
copilot-swe-agent[bot]
f1df63657b
Add CodeQL autoformatter instructions to copilot-instructions.md
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-07-23 10:08:51 +00:00
Nick Rolfe
28d3a6b404
Merge pull request #20113 from github/post-release-prep/codeql-cli-2.22.2
...
Post-release preparation for codeql-cli-2.22.2
2025-07-23 06:05:34 -04:00
Nora Dimitrijević
766b0bf773
Merge pull request #20082 from d10c/d10c/diff-informed-phase-3-swift
...
Swift: Diff-informed queries: phase 3 (non-trivial locations)
2025-07-23 11:56:04 +02:00
github-actions[bot]
68a96a44d8
Post-release preparation for codeql-cli-2.22.2
2025-07-23 09:53:25 +00:00
Nick Rolfe
ff54dfe8aa
Merge pull request #20112 from github/release-prep/2.22.2
...
Release preparation for version 2.22.2
2025-07-23 05:40:18 -04:00
Nick Rolfe
2c03d1f14a
Tweak changenotes
2025-07-23 10:38:57 +01:00
copilot-swe-agent[bot]
2cc732e235
Apply QL autoformatter to ModelsAsData.qll
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-07-23 09:38:10 +00:00
github-actions[bot]
26296c44d3
Release preparation for version 2.22.2
2025-07-23 09:32:53 +00:00
Nick Rolfe
a883db0935
Merge pull request #20110 from github/revert-20105-release-prep/2.22.2
...
Revert "Release preparation for version 2.22.2"
2025-07-23 05:30:33 -04:00
Nick Rolfe
12ebf717eb
Revert "Release preparation for version 2.22.2"
2025-07-23 10:09:23 +01:00
copilot-swe-agent[bot]
0245cd872c
Remove deprecated Rust dataflow predicates and associated classes
...
Co-authored-by: geoffw0 <40627776+geoffw0@users.noreply.github.com >
2025-07-23 08:49:24 +00:00
copilot-swe-agent[bot]
69d50e103f
Initial plan
2025-07-23 08:41:24 +00:00
Geoffrey White
68f0dfe046
Shared: Fix after merge.
2025-07-23 08:55:44 +01:00
Geoffrey White
4f6b698ca3
Merge branch 'main' into moresensitive2
2025-07-23 08:50:25 +01:00
Simon Friis Vindum
f432cf9c4d
Merge pull request #20041 from paldepind/rust/type-inference-tuples
...
Rust: Type inference for tuples
2025-07-23 08:21:27 +02:00
Ian Lynagh
09dd708086
Merge pull request #20031 from igfoo/igfoo/kotlin-tests-2.2.0
...
Kotlin: Run the tests with 2.2.0
2025-07-22 22:20:40 +01:00
Mathias Vorreiter Pedersen
1189665970
C++: Add barriers to 'cpp/overrun-write'.
2025-07-22 18:35:56 +01:00
Mathias Vorreiter Pedersen
a502bb1ac2
C++: Add a copy of 'isSinkPairImpl' (named 'isSinkPairImpl0') with a few more columns that we'll need.
2025-07-22 18:35:50 +01:00
Mathias Vorreiter Pedersen
e0eadc75dd
C++: Remove the ad-hoc code for keeping track of increments/decrements on pointers in the 'cpp/overrun-write' query.
2025-07-22 18:35:31 +01:00
Mathias Vorreiter Pedersen
a1f4246c5f
C++: Extract the barriers from 'cpp/invalid-pointer-deref' into a library.
2025-07-22 18:35:29 +01:00
Mathias Vorreiter Pedersen
92a730c9ac
C++: Add a false positive.
2025-07-22 18:35:21 +01:00
Ian Lynagh
cd3143f106
Kotlin: Disable the custom plugin test for now
2025-07-22 17:38:14 +01:00
Ian Lynagh
9a03f2eb26
Kotlin: Accept test changes in 2.2.0
2025-07-22 17:38:14 +01:00
Ian Lynagh
65bd1aff83
Kotlin: Update default version to 2.2.0
...
Changes the default version from 2.1.20 to 2.2.0 in the wrapper.py file.
2025-07-22 17:38:14 +01:00
Nick Rolfe
dd8d04bb94
Merge branch 'main' into post-release-prep/codeql-cli-2.22.2
2025-07-22 10:30:14 -04:00
github-actions[bot]
37cc78255a
Post-release preparation for codeql-cli-2.22.2
2025-07-22 14:22:20 +00:00
Nick Rolfe
320f75fa51
Merge pull request #20105 from github/release-prep/2.22.2
...
Release preparation for version 2.22.2
2025-07-22 10:11:13 -04:00
Nick Rolfe
43d14c28c2
Tweak changenotes
2025-07-22 15:06:09 +01:00
github-actions[bot]
997547b8ef
Release preparation for version 2.22.2
2025-07-22 14:04:14 +00:00
Nick Rolfe
5fb7541a94
Merge pull request #20104 from github/revert-20100-release-prep/2.22.2
...
Revert "Release preparation for version 2.22.2"
2025-07-22 10:01:12 -04:00
Nick Rolfe
825c813095
Revert "Release preparation for version 2.22.2"
2025-07-22 14:33:45 +01:00
Geoffrey White
6efc19daac
Merge pull request #18943 from geoffw0/constcrypto
...
Rust: new query rust/hardcoded-crytographic-value
2025-07-22 13:36:14 +01:00
Geoffrey White
f7d822b19c
Rust: Remove empty file.
2025-07-22 12:43:22 +01:00
Nick Rolfe
96a32c0179
Merge pull request #20103 from github/post-release-prep/codeql-cli-2.22.2
...
Post-release preparation for codeql-cli-2.22.2
2025-07-22 06:01:34 -04:00
github-actions[bot]
deb035cf4e
Post-release preparation for codeql-cli-2.22.2
2025-07-22 09:36:07 +00:00
Nick Rolfe
0b7111b867
Merge pull request #20100 from github/release-prep/2.22.2
...
Release preparation for version 2.22.2
2025-07-22 04:55:58 -04:00
Nick Rolfe
74cd982aca
Tweak changenotes
2025-07-22 09:51:52 +01:00
Simon Friis Vindum
6b366d8384
Merge branch 'main' into rust/type-inference-tuples
2025-07-22 10:45:41 +02:00
Simon Friis Vindum
79cc7318ba
Merge pull request #20096 from paldepind/rust/path-resolution-associated-type-fix
...
Rust: Path resolution associated type fix
2025-07-22 10:12:07 +02:00
Owen Mansel-Chan
e2f3c9d1b6
Reword change note
2025-07-22 00:09:37 +01:00
Kevin Stubbings
b4b848a25c
Fix tests and simplify sanitizer
2025-07-21 21:53:35 +00:00
Geoffrey White
1945fb8258
Rust: Accept changes to query suites.
2025-07-21 21:09:42 +01:00
Geoffrey White
43ac82f6a3
Rust: Update consistency check .expected files.
2025-07-21 21:01:01 +01:00
Geoffrey White
d53dada67f
Rust: Update barrier logic to use getCanonicalPath.
2025-07-21 20:56:48 +01:00
Geoffrey White
ec3ad85504
Rust: Add another test case for barriers (that still functions).
2025-07-21 20:53:37 +01:00
Matt Schwager
5192f3128a
Update expected test output
2025-07-21 15:26:39 -04:00
Matt Schwager
9da94fb880
Fix #19294 , Ruby NetHttpRequest improvements
2025-07-21 15:17:54 -04:00
github-actions[bot]
c8632b70b7
Release preparation for version 2.22.2
2025-07-21 16:45:45 +00:00
Geoffrey White
796cb193fc
Rust: Accept test regressions with new format MaD.
2025-07-21 17:24:19 +01:00
Geoffrey White
fc8a662f0d
Rust: Update the models.
2025-07-21 17:24:07 +01:00
Nick Rolfe
05572b49de
Merge pull request #20099 from github/nickrolfe/revert-2.22.2-prep
...
Revert post-release preparation for codeql-cli-2.22.2
2025-07-21 10:58:49 -04:00
Nick Rolfe
ad9b637bec
Revert "Merge pull request #19994 from github/post-release-prep/codeql-cli-2.22.2"
...
This reverts commit e5b4a15e35 , reversing
changes made to 33e63109bb .
2025-07-21 15:18:59 +01:00
Simon Friis Vindum
ad5c5acae5
Merge pull request #20094 from paldepind/rust/type-inference-path-mention
...
Rust: Refactor `PathTypeMention`
2025-07-21 14:00:20 +02:00
Owen Mansel-Chan
472a6b5fe1
Merge pull request #20018 from owen-mc/java/snakeyaml-safe-unsafe-deserialization
...
Java: Update qhelp: SnakeYaml is safe from version 2.0
2025-07-21 12:22:36 +01:00
Geoffrey White
0ec10e5c30
Rust: Corrections after the merge.
2025-07-21 12:12:23 +01:00
Simon Friis Vindum
28850460b2
Rust: Accept test changes
2025-07-21 12:07:08 +02:00
Nora Dimitrijević
218fcbbec5
[DIFF-INFORMED] C#: HardcodedConnectionString
2025-07-21 11:28:55 +02:00
Nora Dimitrijević
b2fd58eea4
[DIFF-INFORMED] C#: ThreadUnsafeCryptoTransformLambda
2025-07-21 11:28:53 +02:00
Nora Dimitrijević
7f085e6bd9
[DIFF-INFORMED] C#: UnsafeDeserializationQuery
...
57c8b6e229/csharp/ql/src/Security%20Features/CWE-502/UnsafeDeserializationUntrustedInput.ql (L59)
2025-07-21 11:28:50 +02:00
Nora Dimitrijević
793f921291
[DIFF-INFORMED] C#: ConditionalBypass
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/csharp/ql/src/Security%20Features/CWE-807/ConditionalBypass.ql#L22
2025-07-21 11:28:48 +02:00
Anders Schack-Mulligen
d5cdfc673e
Merge pull request #20092 from aschackmull/java/joinorder2
...
Java: Improve more join-orders
2025-07-21 11:27:14 +02:00
Nora Dimitrijević
fbee6bbe21
Merge pull request #20077 from d10c/d10c/diff-informed-phase-3-java
...
Java: Diff-informed queries: phase 3 (non-trivial locations)
2025-07-21 11:23:12 +02:00
Simon Friis Vindum
8ebebf03c2
Rust: Add type inference test with associated type that collides with type parameter
2025-07-21 10:11:41 +02:00
Simon Friis Vindum
ac6715fb3a
Rust: Avoid mixing up type parameters and associated types in path resolution
2025-07-21 10:07:41 +02:00
Simon Friis Vindum
71a5e410d7
Rust: Add path resolution test
2025-07-21 09:59:12 +02:00
Anders Schack-Mulligen
937e3dc469
Merge pull request #20091 from aschackmull/java/fix-cfg-cp-assert
...
Java: Fix accidental CP in CFG for asserts.
2025-07-21 09:07:19 +02:00
Simon Friis Vindum
441cefd0bd
Rust: Accept test changes
2025-07-21 08:34:16 +02:00
Jami Cogswell
bca2c2da54
Java: Add 'previous-id' and adjust tags for 'java/garbage-collection' and 'java/do-not-use-finalizers'
2025-07-19 19:29:00 -04:00
Jami Cogswell
c9692a6d10
Java: fix test failures cause by alert msg change
2025-07-19 13:27:09 -04:00
Jami Cogswell
0dd33b2734
Java: remove version debugging from alert message
2025-07-19 13:01:00 -04:00
Simon Friis Vindum
27e5251285
Rust: Add resolveRootType predicate instead of using resolveType recursively
2025-07-19 13:57:31 +02:00
Simon Friis Vindum
804ffdb682
Rust: Split PathTypeMention into an alias and a non-alias subclass
2025-07-19 13:43:56 +02:00
Simon Friis Vindum
0e8c137a98
Rust: Only include paths as type mentions when they're used as such
...
On databend this changes the number of `PathTypeMention`s from 3,777,464 to 3,330,024. Not a huge difference, but there's also downstream predicates that are reduced as well.
2025-07-19 11:57:13 +02:00
Simon Friis Vindum
620d228ffa
Rust: Factor out getTypeMentionForTypeParameter
2025-07-19 08:41:38 +02:00
Jami Cogswell
7250265c1f
Java: consider all endpoints except for health and info as sensitive to align with Spring docs
2025-07-18 17:50:18 -04:00
Jami Cogswell
685f68d9d3
Java: support 'management.endpoints.web.expose' property
2025-07-18 17:50:17 -04:00
Jami Cogswell
8decc136c4
Java: add change note
2025-07-18 17:50:14 -04:00
Jami Cogswell
70d51504a7
Java: rename to align with 'java/spring-boot-exposed-actuators' query
2025-07-18 17:50:12 -04:00
Jami Cogswell
ea529b047b
Java: adjust metadata and alert msg
2025-07-18 17:50:10 -04:00
Jami Cogswell
7d5e939a86
Java: minor refactoring
2025-07-18 17:50:09 -04:00
Jami Cogswell
ea35fbbe3b
Java: support version 3.x
2025-07-18 17:50:07 -04:00
Jami Cogswell
afa6610cb9
Java: update qhelp
2025-07-18 17:49:54 -04:00
Anders Schack-Mulligen
46ebf503c7
Java: Improve join-order by controlling magic and breaking up TCs.
2025-07-18 16:13:11 +02:00
Anders Schack-Mulligen
ca8fe033d7
Java: Improve join by preventing ssa use-pair join.
2025-07-18 16:12:00 +02:00
Simon Friis Vindum
43b2977cb4
Shared, Rust: Reuse hasTypeConstraint in potentialInstantiationOf and factor out multipleConstraintImplementations
2025-07-18 15:33:17 +02:00
Simon Friis Vindum
bdcecdfc2c
Shared, Rust: Ensure that the constraints in satisfiesConstraintType are in relevantConstraint
2025-07-18 15:33:16 +02:00
Simon Friis Vindum
475d872ffb
Shared, Rust: Adjust type inference predicates to better match use sites
2025-07-18 15:32:42 +02:00
Anders Schack-Mulligen
d64a9368d2
Merge pull request #20088 from aschackmull/java/joinorders1
...
Java: Improve several join-orders
2025-07-18 14:54:26 +02:00
Anders Schack-Mulligen
bc2e7d4e0d
Java: Fix accidental CP in CFG for asserts.
2025-07-18 13:53:15 +02:00
Anders Schack-Mulligen
f6975117fe
Merge pull request #20083 from aschackmull/java/prune-csrf-unprotected-request-type
...
Java: Prune PathGraph for CsrfUnprotectedRequestType.ql
2025-07-18 13:25:00 +02:00
Anders Schack-Mulligen
d9f47bdec9
Java: Improve join-order by properly annotating haveIntersection.
2025-07-18 11:48:50 +02:00
Anders Schack-Mulligen
7883124abd
Java: getSourceDeclaration() and getASourceSupertype*() commute and this yields much better join-order.
2025-07-18 11:47:14 +02:00
Anders Schack-Mulligen
12732525b5
Java: Allow 2-column join on delta to improve join-order.
2025-07-18 11:45:45 +02:00
Joe Farebrother
8ccb2ed059
Merge remote-tracking branch 'origin/python-qual-raise-not-implemented' into python-qual-raise-not-implemented
2025-07-18 10:05:40 +01:00
Michael Nebel
ededa3c006
Merge pull request #20087 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-07-18 08:34:04 +02:00
github-actions[bot]
2f84a4a5b5
Add changed framework coverage reports
2025-07-18 00:25:03 +00:00
Jami Cogswell
0d2a4222fd
Java: add related location to alert message
2025-07-17 19:22:18 -04:00
Jami Cogswell
ae163a9f36
Java: add overlay annotations
2025-07-17 19:22:17 -04:00
Jami Cogswell
2bfc4b4ee2
Java: fix test case for version 1.4
...
Need the existence of an ApplicationProperties File, not an ApplicationProperties ConfigPair
2025-07-17 19:22:15 -04:00
Jami Cogswell
3823186dc6
Java: split tests by versions
...
splitting is required to properly test each scenario
2025-07-17 19:22:13 -04:00
Jami Cogswell
1b90a30d45
Java: move code to .qll file
2025-07-17 19:22:11 -04:00
Jami Cogswell
b479f5c8dc
Java: fix integration tests
2025-07-17 19:22:10 -04:00
Jami Cogswell
ed8da5e151
Java: convert tests to inline expectations
2025-07-17 19:22:08 -04:00
Jami Cogswell
fc930d9184
Java: update tests for non-experimental directory
2025-07-17 19:22:06 -04:00
Jami Cogswell
38260e76bf
Java: remove deprecation
2025-07-17 19:22:05 -04:00
Jami Cogswell
0dbddbdf0f
Java: remove experimental files
2025-07-17 19:22:03 -04:00
Jami Cogswell
a39cb40177
Java: copy out of experimental
2025-07-17 19:22:01 -04:00
Joe Farebrother
6d33a7ec70
Update test output
2025-07-17 22:25:18 +01:00
Joe Farebrother
f2dd96ecf4
Update python/ql/src/Exceptions/NotImplementedIsNotAnException.qhelp
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-17 22:08:01 +01:00
Joe Farebrother
57f1d07b2b
Undo module deprecation (used by another quality query)
2025-07-17 21:54:55 +01:00
Nora Dimitrijević
05df1d3cb9
[DIFF-INFORMED] Java: AndroidWebViewSettingsAllowsContentAccess
2025-07-17 19:02:15 +02:00
Nora Dimitrijević
24c28ed873
[DIFF-INFORMED] Java: UnsafeCertTrust
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-273/UnsafeCertTrust.ql#L21
2025-07-17 19:02:13 +02:00
Nora Dimitrijević
ea4af8323c
[DIFF-INFORMED] Java: TrustBoundaryViolation
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-501/TrustBoundaryViolation.ql#L18
2025-07-17 19:02:09 +02:00
Nora Dimitrijević
7888dcbce2
[DIFF-INFORMED] Java: TempDirLocalInformationDisclosure
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-200/TempDirLocalInformationDisclosure.ql#L56
2025-07-17 19:02:07 +02:00
Nora Dimitrijević
3785dbec9e
[DIFF-INFORMED] Java: TaintedEnvironmentVariable
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-078/ExecTaintedEnvironment.ql#L22
2025-07-17 19:02:05 +02:00
Nora Dimitrijević
b3b139bb02
[DIFF-INFORMED] Java: SqlConcatenated
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-089/SqlConcatenated.ql#L27
2025-07-17 19:02:04 +02:00
Nora Dimitrijević
45b627df1d
[DIFF-INFORMED] Java: SensitiveLogging
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-532/SensitiveInfoLog.ql#L20
2025-07-17 19:02:02 +02:00
Nora Dimitrijević
bc0b383595
[DIFF-INFORMED] Java: MaybeBrokenCryptoAlgorithm
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-327/MaybeBrokenCryptoAlgorithm.ql#L25
2025-07-17 19:02:00 +02:00
Nora Dimitrijević
b688df9dec
[DIFF-INFORMED] Java: LogInjection
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-117/LogInjection.ql#L20
2025-07-17 19:01:58 +02:00
Nora Dimitrijević
2d734056b1
[DIFF-INFORMED] Java: InsecureLdapAuth
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-522/InsecureLdapAuth.ql#L21
2025-07-17 19:01:56 +02:00
Nora Dimitrijević
74b37e71a0
[DIFF-INFORMED] Java: InsecureCookie
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-614/InsecureCookie.ql#L21
2025-07-17 19:01:52 +02:00
Nora Dimitrijević
19e5c3d805
[DIFF-INFORMED] Java: ImproperValidationOfArray…
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayIndexCodeSpecified.ql#L48
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayConstructionCodeSpecified.ql#L28
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayConstruction.ql#L26
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-129/ImproperValidationOfArrayIndex.ql#L24
2025-07-17 19:01:50 +02:00
Nora Dimitrijević
919fea53f0
[DIFF-INFORMED] Java: ExternallyControlledFormatString
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-134/ExternallyControlledFormatString.ql#L24
2025-07-17 19:01:34 +02:00
Nora Dimitrijević
1c6ecf1216
[DIFF-INFORMED] Java: UntrustedDataToExternalAPI
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-020/UntrustedDataToExternalAPI.ql#L20
2025-07-17 18:59:15 +02:00
Nora Dimitrijević
0cf1195678
[DIFF-INFORMED] Java: ConditionalBypass
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-807/ConditionalBypass.ql#L26
2025-07-17 18:59:14 +02:00
Nora Dimitrijević
0bcdb421ed
[DIFF-INFORMED] Java: ArithmeticUncontrolled
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-190/ArithmeticUncontrolled.ql#L36
2025-07-17 18:59:11 +02:00
Nora Dimitrijević
54546f6e99
[DIFF-INFORMED] Java: ArithmeticTainted
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-190/ArithmeticTainted.ql#L35
2025-07-17 18:59:09 +02:00
Nora Dimitrijević
8353fdd041
[DIFF-INFORMED] Java: (Android)SensitiveCommunication
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/java/ql/src/Security/CWE/CWE-927/SensitiveCommunication.ql#L20
2025-07-17 18:59:06 +02:00
Nora Dimitrijević
b33058c967
[TEST] Java: SensitiveCommunication: convert to qlref
2025-07-17 18:59:05 +02:00
Nora Dimitrijević
44bb5e7220
[TEST] Java: ConditionalBypass: convert to qlref
2025-07-17 18:59:03 +02:00
Nora Dimitrijević
6134518d60
[TEST] Java: SensitiveLogInfo: convert to qlref
2025-07-17 18:59:01 +02:00
Nora Dimitrijević
94386f0550
[TEST] Java: TrustBoundaryViolations: convert test to qlref
2025-07-17 18:58:59 +02:00
Nora Dimitrijević
49e03b4dfd
[TEST] Java: UnsafeCertTrust: convert test to qlref
2025-07-17 18:58:56 +02:00
Nora Dimitrijević
7aced48443
[TEST] Java: LogInjection: convert test to qlref
2025-07-17 18:58:54 +02:00
Nora Dimitrijević
5c2cf79785
[TEST] Java: CWE-020/ExternalAPI: new test based on qhelp
2025-07-17 18:58:52 +02:00
Geoffrey White
c2ddf25f11
Merge branch 'main' into constcrypto
2025-07-17 16:13:58 +01:00
Anders Schack-Mulligen
996de78a66
Java: Prune PathGraph for CsrfUnprotectedRequestType.ql
2025-07-17 15:06:38 +02:00
Anders Schack-Mulligen
1485d7072d
Merge pull request #19885 from aschackmull/java/annotated-exit-cfg
...
Java: Add AnnotatedExitNodes to the CFG.
2025-07-17 15:02:24 +02:00
Nora Dimitrijević
4342b2b799
[DIFF-INFORMED] Swift: UnsafeWebViewFetch
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/swift/ql/src/queries/Security/CWE-079/UnsafeWebViewFetch.ql#L24
2025-07-17 14:59:09 +02:00
Nora Dimitrijević
b1e723991e
[DIFF-INFORMED] Swift: InsecureTLS
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/swift/ql/src/queries/Security/CWE-757/InsecureTLS.ql#L18
2025-07-17 14:59:07 +02:00
Nora Dimitrijević
6dea73b081
[DIFF-INFORMED] Swift: CleartextStoragePreferences
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/swift/ql/src/queries/Security/CWE-312/CleartextStoragePreferences.ql#L32
2025-07-17 14:59:05 +02:00
Nora Dimitrijević
cd3fa64ee3
[DIFF-INFORMED] Swift: CleartextStorageDatabase
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/swift/ql/src/queries/Security/CWE-311/CleartextStorageDatabase.ql#L33
2025-07-17 14:59:03 +02:00
Michael Nebel
2f29459cda
Merge pull request #19931 from michaelnebel/ql4ql/qualitytagcheck
...
Ql4ql: Quality query tagging.
2025-07-17 14:53:14 +02:00
Idriss Riouak
36ebe99f2f
Merge pull request #19707 from microsoft/lwsimpkins/fix-qhelp-upstream
...
fix qhelp files
2025-07-17 14:51:01 +02:00
Nora Dimitrijević
4b6135c0f7
[DIFF-INFORMED] Ruby: MissingFullAnchor
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/ruby/ql/src/queries/security/cwe-020/MissingFullAnchor.ql#L18
2025-07-17 14:44:02 +02:00
Owen Mansel-Chan
af977e9ac7
Merge pull request #20067 from owen-mc/java/unsafe-deserialization-mad-sinks
...
Java: allow the definition of `java/unsafe-deserialization` sinks using data extensions
2025-07-17 13:42:31 +01:00
Nora Dimitrijević
20030d56a5
[DIFF-INFORMED] Python: (Possible)TimingAttackAgainstHash
2025-07-17 14:40:31 +02:00
Nora Dimitrijević
9408a96ba5
[TEST] Python: TimingAttackAgainstHash: add qlref test to existing source (TODO: add source with true positive)
2025-07-17 14:40:29 +02:00
Kasper Svendsen
a807db52ad
Merge pull request #19872 from github/kaspersv/overlay-java-enable
...
Overlay: Enable overlay compilation for Java
2025-07-17 14:38:17 +02:00
Geoffrey White
27bea33508
Rust: Accept consistency check change.
2025-07-17 12:44:31 +01:00
Jeroen Ketema
acc66c7b58
Merge pull request #19984 from jketema/jketema/sec-shared
...
Make a proper shared library out of the concept related libraries
2025-07-17 13:25:33 +02:00
Geoffrey White
69064b7f7f
Rust: Update the model.
2025-07-17 12:20:34 +01:00
Owen Mansel-Chan
6629bd8279
No need to deprecate classes when module is deprecated
2025-07-17 11:52:31 +01:00
Owen Mansel-Chan
b361f76643
Delete unused private class
2025-07-17 11:36:06 +01:00
Nora Dimitrijević
8824677e87
[DIFF-INFORMED] Go: BadRedirectCheck
2025-07-17 11:46:54 +02:00
Nora Dimitrijević
b4010ac2b4
[DIFF-INFORMED] Go: InsecureHostKeyCallback
2025-07-17 11:46:53 +02:00
Nora Dimitrijević
188fc0d933
[DIFF-INFORMED] Go: UnhandledCloseWritableHandle
2025-07-17 11:46:51 +02:00
Nora Dimitrijević
7b759f44f8
[DIFF-INFORMED] Go: AuthCookie
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/experimental/CWE-1004/CookieWithoutHttpOnly.ql#L97
2025-07-17 11:46:49 +02:00
Nora Dimitrijević
a1fe72c423
[DIFF-INFORMED] Go: SSRF
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/experimental/CWE-918/SSRF.ql#L23
2025-07-17 11:46:47 +02:00
Nora Dimitrijević
7bd6703f19
[DIFF-INFORMED] Go: ConditionalBypass
2025-07-17 11:46:46 +02:00
Nora Dimitrijević
19b373aa90
[DIFF-INFORMED] Go: SensitiveConditionBypass
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/experimental/CWE-807/SensitiveConditionBypass.ql#L33
2025-07-17 11:46:44 +02:00
Nora Dimitrijević
d6ef585110
[DIFF-INFORMED] Go: RequestForgery, SafeUrlFlow
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-918/RequestForgery.ql#L21
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-601/OpenUrlRedirect.ql#L24
2025-07-17 11:46:42 +02:00
Nora Dimitrijević
8c8625d912
[DIFF-INFORMED] Go: ReflectedXss
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-079/ReflectedXss.ql#L23
2025-07-17 11:46:40 +02:00
Nora Dimitrijević
4b473622bc
[DIFF-INFORMED] Go: InsecureRandomness
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-338/InsecureRandomness.ql#L19
2025-07-17 11:46:39 +02:00
Nora Dimitrijević
ce7eb9b16a
[DIFF-INFORMED] Go: IncorrectIntegerConversion
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-681/IncorrectIntegerConversionQuery.ql#L23
2025-07-17 11:46:37 +02:00
Nora Dimitrijević
f228818b1f
[DIFF-INFORMED] Go: HardcodedCredentials
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-798/HardcodedCredentials.ql#L62
2025-07-17 11:46:35 +02:00
Nora Dimitrijević
109f6ddc2d
[DIFF-INFORMED] Go: ExternalAPIs
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-020/UntrustedDataToExternalAPI.ql#L18
2025-07-17 11:46:33 +02:00
Nora Dimitrijević
89f760460b
[DIFF-INFORMED] Go: CommandInjection
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-078/CommandInjection.ql#L28
2025-07-17 11:46:30 +02:00
Nora Dimitrijević
e0d16a863b
[DIFF-INFORMED] Go: AllocationSizeOverflow
...
https://github.com/d10c/codeql/blob/d10c/diff-informed-phase-3/go/ql/src/Security/CWE-190/AllocationSizeOverflow.ql#L24
2025-07-17 11:46:29 +02:00
Geoffrey White
944fd2aa11
Rust: Add explicit types in some (not all) of the test cases.
2025-07-17 10:45:40 +01:00
Anders Schack-Mulligen
448cc82ef9
Kotlin: Accept more test changes.
2025-07-17 11:21:27 +02:00
Anders Schack-Mulligen
54775e0958
Java: Adjust Paths.qll
2025-07-17 11:21:26 +02:00
Anders Schack-Mulligen
e7a6259bd7
Java: Accept test changes.
2025-07-17 11:21:26 +02:00
Anders Schack-Mulligen
fbe79e8a52
Java: Add AnnotatedExitNodes to the CFG.
2025-07-17 11:21:26 +02:00
Joe Farebrother
680e31dc48
Modernize raise-not-implemented
2025-07-17 10:02:00 +01:00
Owen Mansel-Chan
53e1939b60
Merge pull request #20053 from owen-mc/go/fix-dataflowconsistency
...
Go: Fix compilation of DataFlowImplConsistency.qll
2025-07-17 09:22:12 +01:00
Michael Nebel
01738c2e42
Merge pull request #19940 from michaelnebel/csharp/fixmodels
...
C#: Improve some existing manual models.
2025-07-17 07:58:14 +02:00
Kevin Stubbings
f86152d3bd
Add sanitizer changes and fix test
2025-07-16 21:27:33 +00:00
Jeroen Ketema
eabe651edf
Merge pull request #20069 from jketema/spaceship-ir
...
C++: Support the spaceship operator in the IR
2025-07-16 21:45:39 +02:00
Jeroen Ketema
29a6af4efd
C++: Fix instruction class name
2025-07-16 18:11:17 +02:00
Jeroen Ketema
f319381f27
C++: Support the spaceship operator in the IR
2025-07-16 17:53:55 +02:00
Geoffrey White
62b7d84638
Rust: Add Sqlx as MaD sinks instead.
2025-07-16 16:36:42 +01:00
Geoffrey White
87deab861f
Rust: Remove Sqlx.qll.
2025-07-16 16:23:50 +01:00
Geoffrey White
6f5e4ef5b9
Merge branch 'main' into sqlx
2025-07-16 15:59:42 +01:00
Jeroen Ketema
9b8302f983
Merge pull request #20068 from jketema/spaceship-test
...
C++: Add test that shows that IR generation for `<=>` is broken
2025-07-16 16:50:25 +02:00
Owen Mansel-Chan
805e31fdb9
Update test expectations
2025-07-16 15:25:45 +01:00
Jeroen Ketema
807ab986f4
C++: Update more exoected test results
2025-07-16 16:19:40 +02:00
Mathias Vorreiter Pedersen
a9fb49a2c3
Merge pull request #20066 from MathiasVP/dont-summarize-function-pointer-calls
...
C++: Don't wrap calls through function pointers in `FunctionWithWrappers`
2025-07-16 14:57:14 +01:00
Jeroen Ketema
2709bf0615
C++: Add test that shows that IR generation for <=> is broken
2025-07-16 15:54:18 +02:00
Owen Mansel-Chan
7d4a70cc1d
Add change notes
2025-07-16 14:44:24 +01:00
Owen Mansel-Chan
ad60aff860
Update which sink kinds are shared between languages
2025-07-16 14:42:12 +01:00
Owen Mansel-Chan
fdd1e3fefe
Use MaD models for unsafe deserialization sinks when possible
...
Many of the unsafe deserialization sinks have to stay defined in QL
because they have custom logic that cannot be expressed in MaD models.
2025-07-16 14:42:07 +01:00
Mathias Vorreiter Pedersen
8b953e4f22
C++: No need for 'resolveCall' anymore.
2025-07-16 14:28:04 +01:00
Mathias Vorreiter Pedersen
df4b338c5d
C++: Add change notes.
2025-07-16 14:11:09 +01:00
Jeroen Ketema
1990438376
JS: Fix import
...
The import should not have been private, because we want users to still be
able to import this file and have access to the crypto algorithms.
2025-07-16 14:41:50 +02:00
Jeroen Ketema
24bea738c9
Shared: Add missing QLDoc and change note
2025-07-16 14:37:43 +02:00
Simon Friis Vindum
7f8829ad8e
Rust: Add additional inline expectation
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2025-07-16 14:00:27 +02:00
Mathias Vorreiter Pedersen
ca913b452c
C++: Don't summarize calls through function pointers in FunctionWithWrappers.
2025-07-16 11:51:46 +01:00
Jeroen Ketema
200d46f5c7
Merge pull request #20060 from jketema/typeid-fix
...
C++: Fix typeid IR translation
2025-07-16 12:40:03 +02:00
Simon Friis Vindum
bbd7ed57ce
Rust: Add inline expectation
2025-07-16 12:32:35 +02:00
Michael Nebel
e9fdca7d39
C#: Address review comments.
2025-07-16 11:12:25 +02:00
Chris Smowton
d6a3b2e91f
Merge pull request #20065 from smowton/smowton/fix/web.config
...
C#: Make web.config match case insensitive (with change note)
2025-07-16 09:52:34 +01:00
Michael Nebel
c5357ff556
Merge pull request #20008 from Hug0Vincent/csharp
...
feat: add getASupertype() predicate in ValueOrRefType.
2025-07-16 10:39:57 +02:00
Chris Smowton
a537c0091e
change note
2025-07-16 09:06:38 +01:00
Simon Friis Vindum
a508089df8
Rust: Improvements to tuple type inference based on PR feedback
2025-07-16 09:38:29 +02:00
Geoffrey White
d264fb5865
Merge pull request #20042 from geoffw0/sinknoise
...
Rust: Make rust/summary/query-sinks less noisy
2025-07-16 08:36:16 +01:00
Michael Nebel
70bf61dc57
C#: Convert Deserialization tests to use inline expectations.
2025-07-16 08:41:58 +02:00
Michael Nebel
8f8b0428ab
C#: Add change-note.
2025-07-16 08:41:56 +02:00
Michael Nebel
eba901f610
C#: Update flow summaries expected output.
2025-07-16 08:41:55 +02:00
Michael Nebel
95763dd225
C#: Add some models for SerializationInto and SerializationInfoEnumerator.
2025-07-16 08:41:53 +02:00
Michael Nebel
5c05ff843a
C#: Improve the models for System.Text.Encoding.[GetBytes|GetChars].
2025-07-16 08:41:52 +02:00
Michael Nebel
064c4fca12
C#: Add models for the remaining overloads of System.Xml.XmlDictionaryReader.CreateBinaryReader.
2025-07-16 08:41:50 +02:00
Michael Nebel
3ae69d5f3d
C#: Promote the generated System.Xml.XmlDictionaryReader.CreateBinaryReader models to manual models.
2025-07-16 08:41:49 +02:00
Michael Nebel
8ee16f68a7
C#: Update test expected output.
2025-07-16 08:41:48 +02:00
Michael Nebel
13b40bbab4
C#: Fix erroneous model the MemoryStream constructor (and align with the other models).
2025-07-16 08:41:46 +02:00
Michael Nebel
4036140f4b
C#: Add Deserialize testcase.
2025-07-16 08:41:45 +02:00
Kevin Stubbings
504ae0f35a
Update go path sanitizers and sinks
2025-07-16 06:12:45 +00:00
Hugo
8c82405b5b
Update 2025-06-10-getasupertype.md
2025-07-16 00:35:30 +02:00
Hugo
6384cf2e4f
Update predicate name
2025-07-16 00:35:14 +02:00
Jeroen Ketema
529712122c
C++: Address review comments
2025-07-15 22:15:11 +02:00
James Frank
b9acaa0cbd
Make web.config match case insensitive
2025-07-15 15:34:42 -04:00
Jeroen Ketema
a08d594371
C++: Introduce TypeidInstruction base class
2025-07-15 21:31:24 +02:00
Jeroen Ketema
58aa7588e5
Merge pull request #20059 from MathiasVP/no-more-as-expr-inUncontrolledProcessOperation
...
C++: Reduce duplication in `cpp/uncontrolled-process-operation`
2025-07-15 21:17:08 +02:00
Jeroen Ketema
54f11ca611
C++: Fix typo in comment
2025-07-15 20:40:57 +02:00
Jeroen Ketema
70bff4e726
C++: Fix typeid IR translation
2025-07-15 20:24:17 +02:00
Chris Smowton
16f3fc6c33
Merge pull request #20056 from github/smowton/fix/tainted-path-is-local
...
Golang: Mark filepath.IsLocal as a tainted-path sanitizer guard
2025-07-15 17:40:07 +01:00
Mathias Vorreiter Pedersen
327c4b345d
Merge pull request #20058 from jketema/typeid-test
...
C++: Add test showing that the IR translation for `typeid` is broken
2025-07-15 16:55:16 +01:00
Chris Smowton
b71f9ae240
Fix function qname
2025-07-15 16:37:30 +01:00
Jeroen Ketema
477edd215c
C++: Add test showing that the IR translation for typeid is broken
2025-07-15 17:29:00 +02:00
Paolo Tranquilli
fd8ab05724
Merge branch 'main' into redsun82/cargo-upgrade-2
2025-07-15 17:25:40 +02:00
Owen Mansel-Chan
9ef22fff8e
Update SnakeYaml reference to note that it is outdated
2025-07-15 15:27:01 +01:00
Kasper Svendsen
10a678dcbd
Java lib qlpack: Enable overlay compilation
2025-07-15 16:23:40 +02:00
Kasper Svendsen
9c3e275e66
Merge pull request #20011 from kaspersv/kaspersv/discard-xml
...
Overlay: Add XML and Java property discarding
2025-07-15 16:13:38 +02:00
Chris Smowton
ac72f8523a
Change note
2025-07-15 14:51:19 +01:00
Chris Smowton
c8eefb7c5c
Golang: Mark filepath.IsLocal as a tainted-path sanitizer guard
2025-07-15 14:47:17 +01:00
Kasper Svendsen
f84a3084f0
Address review comment about ignored QL variable
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2025-07-15 15:34:08 +02:00
Anders Schack-Mulligen
b13f11883c
Merge pull request #20054 from aschackmull/java/fixup-control-char-query
...
Java: Restrict results to source literals.
2025-07-15 15:28:46 +02:00
Paolo Tranquilli
e79938b597
Bazel: bump rust toolchain version to 1.88
2025-07-15 14:54:52 +02:00
Anders Schack-Mulligen
9e87095bed
Java: Restrict results to source literals.
2025-07-15 14:54:02 +02:00
Owen Mansel-Chan
9661ee407f
Fix compilation of DataFlowImplConsistency.qll
2025-07-15 13:51:45 +01:00
Joe Farebrother
3a27758d85
Remove old py2-specific tests
2025-07-15 13:38:48 +01:00
Joe Farebrother
0f5be2d096
Update python/ql/src/Expressions/DuplicateKeyInDictionaryLiteral.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-15 13:33:57 +01:00
Paolo Tranquilli
c5afc65491
Rust: run codegen again
2025-07-15 14:32:13 +02:00
Joe Farebrother
909f57261c
Minor doc updates; updating python 2 references to python 3 and updating grammar
2025-07-15 13:26:46 +01:00
Paolo Tranquilli
7b48cb2ce8
Bazel: regenerate cargo vendored files
2025-07-15 14:22:43 +02:00
Paolo Tranquilli
f0466ae9ca
Cargo: upgrade dependencies
2025-07-15 14:14:39 +02:00
Napalys Klicius
ea93b392f7
Added change note for python
2025-07-15 13:43:08 +02:00
Napalys Klicius
638f6498f0
Removed lxml.etree.XMLParser from xml bomb sinks
2025-07-15 13:43:00 +02:00
Nick Rolfe
16e9e8e836
Merge pull request #20049 from github/nickrolfe/java-deleted-files
...
Java: use `overlayChangedFiles` in discard prediactes
2025-07-15 07:42:54 -04:00
Joe Farebrother
7a7db0efe8
Update unsupported format character documentaion, fix outdated reference link
2025-07-15 10:42:25 +01:00
Joe Farebrother
df5f76872f
Update docs for duplicate-key-in-dict-literal to relate. to python 3
2025-07-15 10:18:29 +01:00
Nick Rolfe
c199d0cbbe
Java: use overlayChangedFiles in discard prediactes
2025-07-15 10:10:32 +01:00
Joe Farebrother
15115f50c1
Remove old tests
2025-07-15 09:50:21 +01:00
Simon Friis Vindum
8858f213ff
Rust: Add a change note
2025-07-15 10:23:30 +02:00
Simon Friis Vindum
97e77944eb
Rust: Accept test changes
2025-07-15 10:21:53 +02:00
Simon Friis Vindum
7c04c9f969
Rust: Store arity in tuple type parameters
...
Type parameters are required to belong to a single type only. Since we store the arity for tuple types, we need to store the arity in tuple type parameters as well such that we can associate them to the tuple type of the same arity.
2025-07-15 09:50:15 +02:00
Napalys Klicius
887d80f49f
Added change note
2025-07-15 09:37:34 +02:00
Napalys Klicius
1851deb929
Removed libxmljs from being marked as sink for xml-bomb.
2025-07-15 09:33:11 +02:00
Mathias Vorreiter Pedersen
29cceeba1a
C++: Don't use asExpr to mark the sink in 'cpp/uncontrolled-process-operation'.
2025-07-14 18:08:58 +01:00
Jeroen Ketema
2ed54d52ad
Merge pull request #20040 from MathiasVP/fix-global-variable-recursion-fp
...
C++: Fix global variable dataflow FP
2025-07-14 18:59:34 +02:00
Geoffrey White
26dae8144c
Rust: Make rust/summary/query-sinks less noisy and thus more useful. This is the one in the DCA meta queries output, not the grand total used in metrics.
2025-07-14 17:26:43 +01:00
Jeroen Ketema
d33cd71685
Merge pull request #20030 from github/tausbn/javascript-ignore-tsconfig-outdirs-that-exclude-everything
...
JavaScript: Ignore `outDir`s that would exclude everything
2025-07-14 17:36:30 +02:00
Paolo Tranquilli
85d1e06335
Merge pull request #20039 from github/redsun82/kotlin-plugin-test
...
Kotlin: tweak plugin test
2025-07-14 17:20:27 +02:00
Mathias Vorreiter Pedersen
c83895fdd2
Merge branch 'main' into fix-global-variable-recursion-fp
2025-07-14 16:08:46 +01:00
Mathias Vorreiter Pedersen
1d36405084
C++: Accept path changes.
2025-07-14 15:47:06 +01:00
Simon Friis Vindum
03a9a1688e
Rust: Add type inference for tuples
2025-07-14 16:37:05 +02:00
Jeroen Ketema
199587095a
Add overlay annotations
2025-07-14 16:31:04 +02:00
Jeroen Ketema
cbde11ddc9
Properly share ConceptsShared.qll
2025-07-14 16:30:45 +02:00
Simon Friis Vindum
21c030fa46
Rust: Expand on type inference test for tuples
2025-07-14 16:24:11 +02:00
Mathias Vorreiter Pedersen
a825213c05
C++: Fix FP by not generating a global def entry node for variable 'v' in the 'IRfunction' for 'v' itself.
2025-07-14 15:22:52 +01:00
Mathias Vorreiter Pedersen
46627c677d
C++: Add FP in dataflow through global variables.
2025-07-14 15:20:08 +01:00
Simon Friis Vindum
87a8dccf7a
Merge pull request #20037 from paldepind/rust/type-inference-rename-expectations
...
Rust: Rename type inference test inline expectation tag
2025-07-14 15:54:18 +02:00
Joe Farebrother
0f04a8b2c0
Update integration test output
2025-07-14 14:35:12 +01:00
Paolo Tranquilli
31d0897f74
Kotlin: disable bazel cache in plugin test
2025-07-14 15:30:11 +02:00
Joe Farebrother
f784bb0a35
Fix qldoc errors + typos
2025-07-14 14:26:49 +01:00
Nick Rolfe
c941e917e7
Merge pull request #19731 from github/nickrolfe/ruby-compile-for-overlay-eval
...
Ruby: enable overlay compilation
2025-07-14 08:20:28 -04:00
Simon Friis Vindum
72854537f4
Merge branch 'main' into rust/type-inference-rename-expectations
2025-07-14 14:15:59 +02:00
Paolo Tranquilli
77cab9d068
Kotlin: tweak plugin test
...
Put less emphasis on plugin build isolation, to get a better DevEx out
of it. The crux of the test is the database extraction part, not the
plugin build.
2025-07-14 13:52:22 +02:00
Geoffrey White
918700ff6f
Merge branch 'main' into moresensitive2
2025-07-14 11:58:08 +01:00
Geoffrey White
da0742f3ec
Rust: Update path resolution consistency .expected.
2025-07-14 11:45:45 +01:00
Geoffrey White
30c6082b5d
Sync identical files.
2025-07-14 11:45:34 +01:00
Geoffrey White
b43a0e758b
Merge pull request #19946 from geoffw0/models3b
...
Rust: Update legacy MaD models 3
2025-07-14 11:19:47 +01:00
Geoffrey White
e121579a85
Rust: Adjust the test labels slightly.
2025-07-14 11:19:31 +01:00
Geoffrey White
9f59a3501c
Rust: Revert ipaddr and fingerprint terms (too many FPs).
2025-07-14 11:17:09 +01:00
Joe Farebrother
61af4e4514
Add changenote and update integraion test output
2025-07-14 11:00:05 +01:00
Geoffrey White
be7db8079a
Rust: Accept consistency check change (from CI).
2025-07-14 10:59:03 +01:00
Joe Farebrother
ea48fcca8f
Update doc for equalsNotEquals
2025-07-14 10:49:28 +01:00
Ian Lynagh
86ebf3d9f6
Merge pull request #20034 from github/igfoo/fix_regex_in_dbscheme_parser
...
Kotlin: Update regex patterns to use raw string notation
2025-07-14 10:43:45 +01:00
Jeroen Ketema
f07d8ee493
Remove duplicate copies of CryptoAlgorithms and CryptoAlgorithmNames
2025-07-14 11:39:06 +02:00
Jeroen Ketema
f4ba2e1fd0
Properly share CryptoAlgorithms and CryptoAlgorithmNames
2025-07-14 11:39:00 +02:00
Jeroen Ketema
c582a9ccd6
Remove duplicate copies of SensitiveDataHeuristics
2025-07-14 11:38:52 +02:00
Jeroen Ketema
8b828cecf1
Use shared SensitiveDataHeuristics
2025-07-14 11:38:47 +02:00
Jeroen Ketema
01ee3f7011
Shared: Add shared concepts library
2025-07-14 11:38:39 +02:00
Michael B. Gale
27f2000eff
Merge pull request #20035 from github/dependabot/go_modules/go/extractor/extractor-dependencies-5538d87460
...
Bump golang.org/x/tools from 0.34.0 to 0.35.0 in /go/extractor in the extractor-dependencies group
2025-07-14 10:12:38 +01:00
Simon Friis Vindum
1f2e0683e7
Rust: Rename type inference test inline expectation tag
2025-07-14 11:02:22 +02:00
Napalys Klicius
cb6978063e
Merge pull request #19388 from AdnaneKhan/patch-1
...
Actions: Fix Critical Artifact poisoning False Positive
2025-07-14 09:58:18 +02:00
dependabot[bot]
c267a88f88
Bump golang.org/x/tools
...
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.35.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-14 03:37:24 +00:00
Ian Lynagh
a6701ced8d
Kotlin: Update regex patterns to use raw string notation
...
Fixes warnings like
SyntaxWarning: invalid escape sequence '\S'
2025-07-13 23:42:50 +01:00
Jeroen Ketema
d82d5c23bf
Merge pull request #20026 from jketema/concept-fix
...
C++: Fix C++20 concept related class extensions
2025-07-13 10:20:10 +02:00
Owen Mansel-Chan
391e9f7471
Merge pull request #20000 from owen-mc/go/request-forgery
...
Go: Add `Head` and `Client.Head` from `net/http` as request forgery sinks
2025-07-12 00:30:23 +01:00
Owen Mansel-Chan
03e8865933
Merge pull request #20025 from owen-mc/java/unsafe-deserialization
...
Java: add extra sink for `java/unsafe-deserialization`
2025-07-11 23:59:22 +01:00
Joe Farebrother
58f503de38
Update docs for incomplete ordering + inconsistent hashing
2025-07-11 23:08:50 +01:00
Geoffrey White
05e1cd437d
Rust: Fix garbled merge.
2025-07-11 17:50:24 +01:00
Geoffrey White
e20ae48699
Merge branch 'main' into models3b
2025-07-11 17:37:52 +01:00
Adnan Khan
c95b5ce598
Merge branch 'main' into patch-1
2025-07-11 09:12:39 -07:00
AdnaneKhan
6ac0f0e031
Fix change note filename.
2025-07-11 12:11:58 -04:00
Geoffrey White
68a37f99e3
Rust: Add something similar as a type inference test case.
2025-07-11 17:08:05 +01:00
Arthur Baars
14a362d1bc
Merge pull request #20029 from github/aibaars/more-pattern-tests
...
Rust: add more type inference tests for patterns and a simple one for a closure call
2025-07-11 17:35:37 +02:00
Geoffrey White
33ea822f40
Rust: Workaround for type inference issue in the test.
2025-07-11 16:09:43 +01:00
Taus
30f705822d
JavaScript: Add test where outDir resolves to an unwanted path
2025-07-11 14:58:03 +00:00
Taus
344535b559
Merge pull request #19672 from github/tausbn/python-support-type-annotations-in-call-graph
...
Python: Support type annotations in call graph
2025-07-11 16:44:10 +02:00
Geoffrey White
4778ef616a
Rust: Add a test case for password_confirmation.
2025-07-11 15:43:31 +01:00
Tom Hvitved
88b4f971b5
Merge pull request #20027 from hvitved/rust/remove-resolves-as-item
...
Rust: Remove `Resolvable.resolvesAsItem`
2025-07-11 16:39:12 +02:00
Mathias Vorreiter Pedersen
1da42cb590
Merge pull request #20023 from MathiasVP/dataflow-for-functors
...
C++: Better dataflow for function objects
2025-07-11 15:14:27 +01:00
Joe Farebrother
843a6c8012
Remove total order check from equals not equals (doesn't make sense there; total order doesn't define eq or ne methods at all)
2025-07-11 15:12:59 +01:00
Joe Farebrother
083d258585
Add/update unit tests
2025-07-11 15:10:45 +01:00
Arthur Baars
519905ee9e
Rust: type inference: add test for closure argument
2025-07-11 15:59:43 +02:00
Arthur Baars
32e7a9d445
Rust: type inference: more pattern matching tests
...
Thanks to co-pilot for generating the examples
2025-07-11 15:55:45 +02:00
Taus
2f822cb0cd
JavaScript: Add change note
2025-07-11 13:32:35 +00:00
Taus
43accc50cd
JavaScript: Ignore outDirs that would exclude everything
...
In #19680 we added support for automatically ignoring files in the
`outDir` directory as specified in the TSconfig compiler options (as
these files were likely duplicates of `.ts` file we were already
scanning).
However, in some cases people put `outDir: "."` or even `outDir: ".."`
in their configuration, which had the side effect of excluding _all_
files, leading to a failed extraction.
With the changes in this PR, we now ignore any `outDir`s that are not
properly contained within the source root of the code being scanned.
This should prevent the files from being extracted, while still allowing
us to not double-scan files in, say, a `.github` directory, as seen in
some Actions workflows.
2025-07-11 13:28:59 +00:00
Mathias Vorreiter Pedersen
053a749e14
C++: Add change note.
2025-07-11 13:43:01 +01:00
Tom Hvitved
655b3de6bb
Rust: Remove Resolvable.resolvesAsItem
...
Removes one more use of extractor-based resolution.
2025-07-11 14:41:41 +02:00
Mathias Vorreiter Pedersen
649c8831ec
Merge pull request #20014 from jketema/wchar
...
C++: Do not alert on unreachable code in `cpp/incorrect-string-type-conversion`
2025-07-11 13:39:37 +01:00
Tom Hvitved
0a18db8960
Merge pull request #20020 from hvitved/rust/type-inference-pattern-matching
...
Rust: Type inference for pattern matching
2025-07-11 14:05:10 +02:00
Taus
c6c6a857df
Python: Add tests
...
Also fixes an issue with the return type annotations that caused these
to not work properly.
Currently, annotated assignments don't work properly, due to the fact
that our flow relation doesn't consider flow going to the "type" part of
an annotated assignment. This means that in `x : Foo`, we do correctly
note that `x` is annotated with `Foo`, but we have no idea what `Foo`
is, since it has no incoming flow.
To fix this we should probably just extend the flow relation, but this
may need to be done with some care, so I have left it as future work.
2025-07-11 12:03:14 +00:00
Taus
2c45550a9f
Python: Add change note
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-07-11 12:03:14 +00:00
Taus
d1cf7f0624
Python: Support type annotations in call graph
...
Adds support for tracking instances via type annotations. Also adds a
convenience method to the newly added `Annotation` class,
`getAnnotatedExpression`, that returns the expression that is annotated
with the given type. For return annotations this is any value returned
from the annotated function in question.
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-07-11 12:03:14 +00:00
Jeroen Ketema
232377a583
C++: Fix C++20 concept related class extensions
2025-07-11 13:38:06 +02:00
Geoffrey White
8f6f9f4359
Add change notes.
2025-07-11 11:54:59 +01:00
Tom Hvitved
edf6c7fbd6
Rust: Handle (Enum::)Variant::<TypeArg> type mentions
2025-07-11 12:44:47 +02:00
Tom Hvitved
a96d3d7be8
Rust: Add more type inference tests
2025-07-11 12:42:54 +02:00
Owen Mansel-Chan
7764fbb664
Change note
2025-07-11 11:05:48 +01:00
Owen Mansel-Chan
8e4bd1a102
Add sink for ObjectInput.readObject to make test pass
2025-07-11 11:05:38 +01:00
Owen Mansel-Chan
34fae324a0
Add test for ObjectInput.readObject
2025-07-11 11:03:47 +01:00
Mathias Vorreiter Pedersen
4f538a2b1f
C++: Accept taint test changes.
2025-07-11 09:46:22 +01:00
Mathias Vorreiter Pedersen
6d0c8c6d77
C++: Work around an extractor bug.
2025-07-11 09:46:20 +01:00
Mathias Vorreiter Pedersen
df241ad4f6
C++: Fix lambda creation for objects with no constructor.
2025-07-11 09:46:09 +01:00
Tom Hvitved
ac13f408e4
Add change note
2025-07-11 10:42:50 +02:00
Tom Hvitved
4ab2977358
Rust: Type inference for pattern matching
2025-07-11 10:37:40 +02:00
Mathias Vorreiter Pedersen
b53c3547d0
C++: Add lambda dispatch for functors.
2025-07-11 09:36:45 +01:00
Mathias Vorreiter Pedersen
663c3e7b6d
C++: Sync identical files.
2025-07-11 09:36:44 +01:00
Mathias Vorreiter Pedersen
11cba94032
C++: Add a missing predicate on 'UninitializedInstruction' that we will use later.
2025-07-11 09:36:42 +01:00
Mathias Vorreiter Pedersen
6736dd4e8f
C++: Add some tests with missing flow through function objects.
2025-07-11 09:36:38 +01:00
Tom Hvitved
53ee565fdb
Rust: Add more type inference tests
2025-07-11 10:22:24 +02:00
Jonas Jensen
76544f2966
Merge pull request #19943 from asgerf/approximate-related-location
...
Support approximate related locations
2025-07-11 10:16:24 +02:00
Tom Hvitved
742139927c
Merge pull request #19658 from hvitved/rust/type-inference-library-param-fix
...
Rust: Fix type inference for library parameters
2025-07-11 08:34:19 +02:00
Adnan Khan
07598e8b62
Add test results.
2025-07-11 05:59:13 +00:00
Owen Mansel-Chan
006d77ffdd
Refactor QL to make type check more concise
2025-07-11 06:13:01 +01:00
Tom Hvitved
1d7d45e16b
Rust: Update expected test output
2025-07-10 19:40:39 +02:00
Tom Hvitved
8cd357a8a0
Rust: Fix type inference for library parameters
2025-07-10 19:40:37 +02:00
Tom Hvitved
1e9520c737
Merge pull request #19995 from hvitved/rust/disambiguate-assoc-function-calls
...
Rust: Disambiguate associated function calls
2025-07-10 19:38:06 +02:00
Geoffrey White
123458fd21
Sync identical files.
2025-07-10 18:10:24 +01:00
Geoffrey White
6de5a618f3
Rust: Accept consistency changes as well.
2025-07-10 18:03:12 +01:00
Jeroen Ketema
6d8e2f8231
Merge pull request #20017 from jketema/final
...
C++: Add dataflow predicate for checking if a node is the final value of a parameter
2025-07-10 18:47:09 +02:00
Geoffrey White
01c75e38f7
Rust: The rusqlite row.get() calls are missing a canonical path.
2025-07-10 17:31:37 +01:00
AdnaneKhan
1b794e056a
Add extra test suggested by @Napalys
2025-07-10 12:24:36 -04:00
Adnan Khan
7be938c6c3
Handle multiple whitespaces in runner temp regex.
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-07-10 12:22:14 -04:00
Geoffrey White
75078346c0
Rust: Accept .expected changes (mostly renumberings).
2025-07-10 17:05:12 +01:00
Owen Mansel-Chan
c39e5a7d97
Update qhelp: SnakeYaml is safe from version 2.0
2025-07-10 16:54:00 +01:00
Nick Rolfe
3a0def7848
Merge pull request #19989 from github/nickrolfe/ruby-annotations
...
Ruby: add overlay annotations to AST/CFG/SSA layers
2025-07-10 11:53:21 -04:00
Mathias Vorreiter Pedersen
fefb35bede
Merge pull request #20016 from MathiasVP/add-more-thread-create-models
...
C++: Add more thread creation models
2025-07-10 16:44:04 +01:00
Jeroen Ketema
96c379a076
C++: Fix formatting and typo
2025-07-10 15:56:11 +02:00
Geoffrey White
7ba18fa5d0
Merge branch 'main' into models3b
2025-07-10 14:53:09 +01:00
Jeroen Ketema
214969feaf
C++: Add change note
2025-07-10 15:52:27 +02:00
Geoffrey White
439cf7a659
Merge pull request #19942 from geoffw0/models1
...
Rust: Update legacy MaD models 2
2025-07-10 14:50:48 +01:00
Jeroen Ketema
b32a8c2489
C++: Add dataflow predicate for checking if a node is the final value of a parameter
2025-07-10 15:47:23 +02:00
Jeroen Ketema
990b7f0b70
C++: Add change note
2025-07-10 15:13:15 +02:00
Geoffrey White
0c075abe3f
Rust: Fix merge (I picked the wrong version).
2025-07-10 13:59:10 +01:00
Geoffrey White
a6b4a18d51
Rust: Add negative patterns.
2025-07-10 13:56:14 +01:00
Geoffrey White
8f95e26ed6
Rust: Combine regexs where possible (likely better performance).
2025-07-10 13:56:12 +01:00
Geoffrey White
99e62d66e5
Rust: Add sensitive data patterns.
2025-07-10 13:56:11 +01:00
Geoffrey White
2cd4d984cc
Merge pull request #20002 from geoffw0/moresensitive1
...
Rust: Add more test cases for sensitive data
2025-07-10 13:54:20 +01:00
Geoffrey White
117e330d53
Merge branch 'main' into models1
2025-07-10 13:52:48 +01:00
Geoffrey White
3debd1ada9
Merge pull request #19948 from geoffw0/models5
...
Rust: Update legacy MaD models 4
2025-07-10 13:50:54 +01:00
Tom Hvitved
70476c0e14
Add change note
2025-07-10 14:50:00 +02:00
Mathias Vorreiter Pedersen
7ddc909d4e
C++: Accept test changes after review.
2025-07-10 13:29:19 +01:00
Tamás Vajk
1351f57d2b
Merge pull request #19998 from tamasvajk/quality/label-in-switch
...
Java: Add query to detect non-case labels in switch statements
2025-07-10 14:13:38 +02:00
Mathias Vorreiter Pedersen
dda4a97080
Update cpp/ql/test/library-tests/dataflow/external-models/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-07-10 13:00:43 +01:00
Tom Hvitved
054bbc2ff7
Merge pull request #20015 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-07-10 13:59:07 +02:00
Mathias Vorreiter Pedersen
b547dc4621
C++: Add change note.
2025-07-10 12:52:55 +01:00
Tom Hvitved
c7d20eb98a
Rust: Update expected test output
2025-07-10 13:52:19 +02:00
Tom Hvitved
ebde0bdc47
Rust: Disambiguate calls to associated functions
2025-07-10 13:52:17 +02:00
Tom Hvitved
95c2b9f8f7
Rust: Add more type inference tests
2025-07-10 13:52:09 +02:00
Mathias Vorreiter Pedersen
89cf215ebb
C++: Add models for 'std::thread' and accept test changes.
2025-07-10 12:45:20 +01:00
Mathias Vorreiter Pedersen
2062a774fc
C++: Add 'std::thread' test with missing flow.
2025-07-10 12:44:02 +01:00
Mathias Vorreiter Pedersen
d198a964e0
C++: Add a model for 'pthread_create' and accept test changes.
2025-07-10 12:20:24 +01:00
Mathias Vorreiter Pedersen
675a072639
C++: Add 'pthread_create' test with missing flow.
2025-07-10 12:16:23 +01:00
Owen Mansel-Chan
e362e536c0
Merge pull request #20009 from github/dependabot/go_modules/go/extractor/extractor-dependencies-0e1361fb85
...
Bump golang.org/x/mod from 0.25.0 to 0.26.0 in /go/extractor in the extractor-dependencies group
2025-07-10 11:51:03 +01:00
Tom Hvitved
d4de56c157
Rust: Fix bad join
...
Before
```
Evaluated relational algebra for predicate TypeInference::getRangeType/1#b4219ae9@c15c3f0b with tuple counts:
1 ~0% {1} r1 = CONSTANT(unique string)[".."]
692 ~0% {1} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
453 ~0% {1} r2 = JOIN r1 WITH `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207` ON FIRST 1 OUTPUT Lhs.0
266 ~1% {1} r3 = JOIN r2 WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0
10684422 ~0% {3} | JOIN WITH cached_Synth::Synth::TStruct#c298e97c CARTESIAN PRODUCT OUTPUT Rhs.1, _, Lhs.0
10684422 ~0% {3} | REWRITE WITH Out.1 := "core::ops::range::Range"
266 ~0% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
363 ~3% {1} r4 = JOIN r1 WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0
97 ~2% {1} | AND NOT `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207_0#antijoin_rhs`(FIRST 1)
3896199 ~0% {3} | JOIN WITH cached_Synth::Synth::TStruct#c298e97c CARTESIAN PRODUCT OUTPUT Rhs.1, _, Lhs.0
3896199 ~0% {3} | REWRITE WITH Out.1 := "core::ops::range::RangeTo"
97 ~1% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
187 ~0% {1} r5 = r2 AND NOT `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa_0#antijoin_rhs`(FIRST 1)
7511229 ~2% {3} | JOIN WITH cached_Synth::Synth::TStruct#c298e97c CARTESIAN PRODUCT OUTPUT Rhs.1, _, Lhs.0
7511229 ~0% {3} | REWRITE WITH Out.1 := "core::ops::range::RangeFrom"
187 ~1% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
1 ~0% {1} r6 = CONSTANT(unique string)["..="]
138 ~0% {1} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
131 ~0% {1} r7 = JOIN r6 WITH `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207` ON FIRST 1 OUTPUT Lhs.0
131 ~0% {1} | JOIN WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0
5261877 ~0% {3} | JOIN WITH cached_Synth::Synth::TStruct#c298e97c CARTESIAN PRODUCT OUTPUT Rhs.1, _, Lhs.0
5261877 ~0% {3} | REWRITE WITH Out.1 := "core::ops::range::RangeInclusive"
131 ~3% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
138 ~0% {1} r8 = JOIN r6 WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0
7 ~0% {1} | AND NOT `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207_0#antijoin_rhs`(FIRST 1)
281169 ~0% {3} | JOIN WITH cached_Synth::Synth::TStruct#c298e97c CARTESIAN PRODUCT OUTPUT Rhs.1, _, Lhs.0
281169 ~2% {3} | REWRITE WITH Out.1 := "core::ops::range::RangeToInclusive"
7 ~0% {2} | JOIN WITH `Addressable::Addressable.getCanonicalPath/0#dispred#6044348f#bb` ON FIRST 2 OUTPUT Lhs.2, Lhs.0
688 ~0% {2} r9 = r3 UNION r4 UNION r5 UNION r7 UNION r8
return r9
```
After
```
Evaluated relational algebra for predicate TypeInference::getRangeType/1#b4219ae9@7d06d41t with tuple counts:
1 ~0% {2} r1 = SCAN Stdlib::RangeToStruct#236b6b84 OUTPUT _, In.0
1 ~0% {2} | REWRITE WITH Out.0 := ".."
692 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
363 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
97 ~0% {2} | AND NOT `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207_0#antijoin_rhs`(FIRST 1)
1 ~0% {2} r2 = SCAN Stdlib::RangeFromStruct#8edcefe7 OUTPUT _, In.0
1 ~0% {2} | REWRITE WITH Out.0 := ".."
692 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
453 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
187 ~0% {2} | AND NOT `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa_0#antijoin_rhs`(FIRST 1)
1 ~0% {2} r3 = SCAN Stdlib::RangeToInclusiveStruct#fe43a433 OUTPUT _, In.0
1 ~0% {2} | REWRITE WITH Out.0 := "..="
138 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
138 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
7 ~0% {2} | AND NOT `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207_0#antijoin_rhs`(FIRST 1)
1 ~0% {2} r4 = SCAN Stdlib::RangeStruct#0fabc810 OUTPUT _, In.0
1 ~0% {2} | REWRITE WITH Out.0 := ".."
692 ~3% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
453 ~4% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
266 ~2% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
1 ~0% {2} r5 = SCAN Stdlib::RangeInclusiveStruct#a869750a OUTPUT _, In.0
1 ~0% {2} | REWRITE WITH Out.0 := "..="
138 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getOperatorName/0#dispred#7c90645c_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
131 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getStart/0#dispred#914c8207` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
131 ~0% {2} | JOIN WITH `RangeExpr::Generated::RangeExpr.getEnd/0#dispred#6c692cfa` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
688 ~7% {2} r6 = r1 UNION r2 UNION r3 UNION r4 UNION r5
return r6
```
2025-07-10 12:34:08 +02:00
Kasper Svendsen
0739c03d03
Overlay: Add discarding of base XML locatables for Java
2025-07-10 12:31:16 +02:00
Kasper Svendsen
d7094a96b5
Overlay: Add discarding of all Java base properties
2025-07-10 12:31:15 +02:00
Arthur Baars
b573246639
Merge pull request #20003 from github/aibaars/query-result
...
Rust: add test cases for basic unwrapping and pattern matching
2025-07-10 12:30:59 +02:00
Kasper Svendsen
767d55bb18
Merge pull request #20013 from kaspersv/kaspersv/ql4ql-discard-entity-preds-alive
...
QL4QL: Discard predicates are always alive
2025-07-10 12:30:44 +02:00
Kasper Svendsen
c7a3b6543e
Address copilot comment
2025-07-10 12:01:29 +02:00
Jeroen Ketema
399967b507
C++: Do not alert on unreachable code in cpp/incorrect-string-type-conversion
2025-07-10 11:49:12 +02:00
Jeroen Ketema
2907861075
C++: Add cpp/incorrect-string-type-conversion test with unreachable code
2025-07-10 11:48:53 +02:00
Jeroen Ketema
acc06fab20
C++: Convert cpp/incorrect-string-type-conversion test to inline expectations
2025-07-10 11:48:18 +02:00
Geoffrey White
4dea5eef70
Rust: Fix futures_io models.
2025-07-10 10:41:09 +01:00
Nick Rolfe
ab9ba02ea1
Ruby: enable overlay compilation
2025-07-10 10:38:06 +01:00
Arthur Baars
cc5e6b2195
Rust: add test cases for basic unwrapping and pattern matching
2025-07-10 11:15:07 +02:00
Jeroen Ketema
18760b4025
Merge pull request #10923 from dscho/patch-1
...
Download GitHub database: fix `gh` invocation
2025-07-10 11:11:59 +02:00
Kasper Svendsen
1723c6ed09
QL4QL: Add discard predicate to dead code test
2025-07-10 11:09:43 +02:00
Kasper Svendsen
9f260cf72f
QL4QL: Discard predicates are always alive
2025-07-10 11:09:42 +02:00
Kasper Svendsen
9de3617032
QL4QL: Add overlay[discard_entity] annotation
2025-07-10 11:09:42 +02:00
Arthur Baars
7c5cdd9a9b
Merge pull request #20001 from github/aibaars/trait-impl-int
...
Rust: fix missing canonical paths for trait impls on builtin numeric types
2025-07-10 10:53:01 +02:00
Jeroen Ketema
51f639111b
Merge pull request #20010 from jketema/change-typo
...
C++: Fix some typos in recent change notes
2025-07-10 10:48:40 +02:00
Geoffrey White
8177b0938d
Merge branch 'main' into models5
2025-07-10 09:41:48 +01:00
Jeroen Ketema
928b7475b2
C++: Fix some typos in recent change notes
2025-07-10 10:22:41 +02:00
Geoffrey White
ae3253b9c3
Merge pull request #20004 from geoffw0/tt
...
Rust: Add type inference test cases for tuples.
2025-07-10 09:12:47 +01:00
Johannes Schindelin
3bff6c4a4a
Download GitHub database: fix gh invocation on Windows
...
When running `gh api /repos/...` in the Git Bash on Windows, it leads to
a 404. The reason is the automatic path conversion from "Unix-y" paths
on the command-line to proper Windows paths, as described in detail
https://www.msys2.org/docs/filesystem-paths/ . Git Bash simply has no
chance to understnad that `/repos/...` is not referring to an absolute
path on the local filesystem.
Let's just skip the leading slash. This is as valid an invocation, and
sidesteps that path conversion on Windows.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de >
2025-07-10 10:01:18 +02:00
Tamas Vajk
5edb60ea04
Improve query documentation
2025-07-10 09:43:15 +02:00
Hugo
c3c8d5db13
Create 2025-06-10-getasupertype.md
...
Create 2025-06-10-getasupertype.md
2025-07-10 05:48:52 +02:00
dependabot[bot]
e57b272cfa
Bump golang.org/x/mod
...
Bumps the extractor-dependencies group in /go/extractor with 1 update: [golang.org/x/mod](https://github.com/golang/mod ).
Updates `golang.org/x/mod` from 0.25.0 to 0.26.0
- [Commits](https://github.com/golang/mod/compare/v0.25.0...v0.26.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.26.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-10 03:41:42 +00:00
Adnan Khan
e40e4c3856
Remove unneeded test file.
2025-07-09 23:06:18 -04:00
Hugo
fb693837e4
feat: add getASupertype() predicate in ValueOrRefType.
...
Add the getASupertype() predicate in ValueOrRefType.
2025-07-10 02:19:17 +02:00
Geoffrey White
36720ca4dd
Rust: Update .expected file after autoformat.
2025-07-09 21:52:23 +01:00
Arthur Baars
d20bc98363
Rust: fix missing canonical paths
2025-07-09 21:42:53 +02:00
Geoffrey White
6c9c8904d7
Rust: Autoformat.
2025-07-09 18:43:33 +01:00
Geoffrey White
dfbdd2bd02
Rust: Add type inference test cases for tuples.
2025-07-09 16:54:24 +01:00
Geoffrey White
47a4ba33a4
Rust: Fix typo in models (also fixed in another open PR).
2025-07-09 16:00:35 +01:00
Geoffrey White
a034e29040
Rust: Simplify the test a little.
2025-07-09 15:52:54 +01:00
Geoffrey White
097ac69207
Rust: Current sources test regressions.
2025-07-09 15:52:19 +01:00
Joe Farebrother
8fb9bdd0af
move equals attr test to equals attr folder
2025-07-09 15:25:21 +01:00
Geoffrey White
8d0c14ca4e
Merge branch 'main' into models3b
2025-07-09 15:25:16 +01:00
Geoffrey White
4281fe74bd
Rust: We don't really need the split into two test cases any more.
2025-07-09 15:22:04 +01:00
Geoffrey White
4397863586
Rust: Update after merge with main.
2025-07-09 15:17:31 +01:00
Geoffrey White
597f678978
Merge branch 'main' into models1
2025-07-09 14:48:32 +01:00
Joe Farebrother
a687b60af9
Modernise equals-hash-mismatch
2025-07-09 14:14:38 +01:00
Joe Farebrother
eb1b5a35d7
Modernize inconsistent equality
2025-07-09 14:14:30 +01:00
Joe Farebrother
4c5c4e06c3
Move inconsistentEquality and equals-hash-mismatch to subfolder
2025-07-09 14:14:26 +01:00
Joe Farebrother
e71af8fd6d
Move to subfolder
2025-07-09 14:14:22 +01:00
Joe Farebrother
fccdc30ac5
Modernize incomplete ordering query
2025-07-09 14:14:17 +01:00
Nick Rolfe
c415795595
Ruby: add changenote for overlay[local] annotations
2025-07-09 13:32:49 +01:00
Jonas Jensen
3ffda2f341
Shared: Overhaul the AlertFiltering QLDoc
...
The documentation is now up-to-date with the new and more relaxed rules
that allow overapproximating the results. I have also attempted to make
a clearer distinction between the requirements of the specification and
the behaviour of the implementation.
2025-07-09 14:32:18 +02:00
Geoffrey White
3bb3fccfdb
Rust: Accept consistency check changes.
2025-07-09 12:02:30 +01:00
Nick Rolfe
e1f2433dbf
Ruby: make resolveConstant overlay[global]
2025-07-09 11:59:25 +01:00
Geoffrey White
22aa7f378a
Rust: Expand the test cases around IDs as sensitive data.
2025-07-09 11:33:47 +01:00
Geoffrey White
1124355cdb
Rust: Add a test case for 'from_trusted_iterator' as sensitive data FP.
2025-07-09 11:26:59 +01:00
Jonas Jensen
5a1246a586
Merge remote-tracking branch 'upstream/main' into approximate-related-location
2025-07-09 10:10:20 +02:00
Jonas Jensen
0d7a842e2f
Shared: improve documentation in AlertFiltering
2025-07-09 09:43:49 +02:00
Jonas Jensen
f1e9f0e323
Shared: improve join order in filterByLocation
...
It's better to join with the range expression first since that will only
multiply tuple counts by the number of lines in an average source/sink.
Joining with `restrictAlertsToStartLine` first would multiply tuple
counts by the number of sources/sinks in a given file.
2025-07-09 09:24:26 +02:00
Paolo Tranquilli
5722084dd5
Merge pull request #19999 from github/redsun82/rust-sha256s
...
Rust: set SHA256s in `MODULE.bazel`
2025-07-09 09:20:54 +02:00
Adnan Khan
db954d6d9f
Merge branch 'main' into patch-1
2025-07-08 23:31:35 -07:00
Arthur Baars
5b7485d11d
Rust: add testcase for impl trait on i32
2025-07-08 21:36:37 +02:00
Tom Hvitved
156f867c96
Merge pull request #19996 from hvitved/rust/type-inference-str-literal
...
Rust: Adjust the inferred type of string literals
2025-07-08 20:29:43 +02:00
Jaroslav Lobačevski
9393181c4e
Add tests and path normalization fix to handle $ expansion
2025-07-08 16:18:12 +00:00
Owen Mansel-Chan
a5333ae1a1
Add change note
2025-07-08 16:51:22 +01:00
Paolo Tranquilli
98195db500
Rust: set SHA256s in MODULE.bazel
2025-07-08 17:49:30 +02:00
AdnaneKhan
5d6a5d5cbb
Add change notes and test workflow file.
2025-07-08 10:35:39 -04:00
Adnan Khan
f4f919635a
Correctly specify regex.
...
Co-authored-by: Jaroslav Lobačevski <jarlob@github.com >
2025-07-08 10:17:29 -04:00
Geoffrey White
b1d5b8175c
Rust: Add the original test back as well.
2025-07-08 15:10:55 +01:00
Geoffrey White
d19259e6bb
Update rust/ql/test/library-tests/frameworks/postgres/main.rs
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2025-07-08 15:03:44 +01:00
Geoffrey White
7211f4ace3
Update rust/ql/lib/codeql/rust/frameworks/rustcrypto/rustcrypto.model.yml
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2025-07-08 15:01:43 +01:00
Tom Hvitved
22b833fbda
Rust: Fix bad join
2025-07-08 16:00:36 +02:00
Owen Mansel-Chan
990043ce86
Add net/http.Head and net/http.Client.Head as client requests
...
They were previously deliberately excluded.
2025-07-08 14:31:48 +01:00
Owen Mansel-Chan
71703aa497
Improve formatting of some QL
2025-07-08 14:29:11 +01:00
Geoffrey White
f3b5cc79ff
Merge branch 'main' into sqlx
2025-07-08 13:58:19 +01:00
Tamás Vajk
4f1ca21ef9
Merge pull request #19875 from tamasvajk/quality/spec_chars
...
Java: Add query to detect special characters in string literals
2025-07-08 14:56:35 +02:00
Tamas Vajk
5f7d746266
Java: Add query to detect non-case labels in switch statements
2025-07-08 14:53:39 +02:00
Owen Mansel-Chan
d437a096f1
Test more client request URL sinks
2025-07-08 13:20:04 +01:00
Nick Rolfe
b51940d1e2
Ruby: add overlay[local] annotations to AST/CFG/SSA layers
2025-07-08 13:09:27 +01:00
Tamas Vajk
ccbf7055f1
Adjust query precision
2025-07-08 13:31:08 +02:00
Tamas Vajk
d16570b05e
Revert "Adjust query tags"
...
This reverts commit 92685e6c2de69898d556706b04e6c562e54b26b8.
2025-07-08 13:28:26 +02:00
Tamas Vajk
c4def103f7
Improve query documentation
2025-07-08 13:28:26 +02:00
Tamas Vajk
15de398806
Adjust query tags
2025-07-08 13:28:25 +02:00
Tamas Vajk
a0c9c98373
Adjust references in query doc
2025-07-08 13:28:25 +02:00
Tamas Vajk
fd8b37cc28
Exclude Kotlin files
2025-07-08 13:28:24 +02:00
Tamas Vajk
09a2aeead6
Java: Add query to detect special characters in string literals
2025-07-08 13:28:18 +02:00
Tamás Vajk
f940cb2bdd
Merge pull request #19950 from tamasvajk/quality/useless-record-member
...
Java: Add 'Useless serialization member in record class' query
2025-07-08 13:26:11 +02:00
Tom Hvitved
2a207f9f6f
Rust: Update inline expectations
2025-07-08 13:03:16 +02:00
Tom Hvitved
73f854f073
Rust: Adjust the inferred type of string literals
2025-07-08 13:03:12 +02:00
Tom Hvitved
411aa6d2e5
Merge pull request #19971 from hvitved/rust/type-inference-for-range
...
Rust: Improve type inference for `for` loops and range expressions
2025-07-08 12:57:21 +02:00
Geoffrey White
3dabd51cf7
Rust: Fix a summaryModelDeprecated that was causing problems.
2025-07-08 11:24:57 +01:00
Tom Hvitved
1518cade7b
Address review comments
2025-07-08 11:29:24 +02:00
Tamas Vajk
813ce7d3f8
Rename query
2025-07-08 11:28:12 +02:00
Tamas Vajk
f2805ba80c
Improve query help
2025-07-08 11:28:11 +02:00
Tamas Vajk
82fe647a40
Improve alert message
2025-07-08 11:28:11 +02:00
Tamas Vajk
528389af38
Adjust expected file for query suite integration test
2025-07-08 11:28:10 +02:00
Tamas Vajk
a2d4f58af7
Use inline test expectations
2025-07-08 11:28:10 +02:00
Tamas Vajk
2cd0c64e41
Improve query quality
2025-07-08 11:28:09 +02:00
Tamas Vajk
e0cb1792bd
Java: Add 'Useless serialization member in record class' query
2025-07-08 11:28:09 +02:00
Tom Hvitved
6876838dd1
Rust: Add change note
2025-07-08 11:20:45 +02:00
Tom Hvitved
7701a31f4a
Rust: Improve type inference for for loops and range expressions
2025-07-08 11:20:42 +02:00
Tom Hvitved
52abf3ba02
Merge pull request #19997 from hvitved/java/use-mad-in-log-injection-test
...
Java: Use MaD in log injection test
2025-07-08 11:02:51 +02:00
Geoffrey White
f57d691424
Rust: Fix typo in model.
2025-07-08 09:51:20 +01:00
Tom Hvitved
6fdec47e83
Java: Use MaD in log injection test
2025-07-08 10:25:58 +02:00
Geoffrey White
c7de873a22
Rust: Update the libc models.
2025-07-08 08:44:44 +01:00
Geoffrey White
a1e9a4eddf
Rust: Accept test .expected changes.
2025-07-08 08:44:24 +01:00
Geoffrey White
2195f0bb78
Merge branch 'main' into models5
2025-07-08 08:41:43 +01:00
Ian Lynagh
e5b4a15e35
Merge pull request #19994 from github/post-release-prep/codeql-cli-2.22.2
...
Post-release preparation for codeql-cli-2.22.2
2025-07-07 19:44:16 +01:00
Tom Hvitved
33e63109bb
Merge pull request #19993 from hvitved/rust/type-inference-function-call-expectations
...
Rust: Add type inference inline expectations for all function calls
2025-07-07 20:40:57 +02:00
github-actions[bot]
24a0ac1223
Post-release preparation for codeql-cli-2.22.2
2025-07-07 18:15:04 +00:00
Arthur Baars
aef357c757
Merge pull request #19988 from github/aibaars/extern-blocks
...
Rust: path resolution: handle items in `extern` blocks
2025-07-07 19:53:36 +02:00
Arthur Baars
8114071804
Merge branch 'main' into models1
2025-07-07 19:47:53 +02:00
Ian Lynagh
bb0173c9af
Merge pull request #19992 from github/release-prep/2.22.2
...
Release preparation for version 2.22.2
2025-07-07 17:54:28 +01:00
Arthur Baars
7721d14314
Rust: use getADescendant instead of getAnItem
...
This should handle all cases where items contained in intermediate nodes, such as MacroCall,
ExternBlock and MacroItem nodes.
2025-07-07 18:04:00 +02:00
Arthur Baars
da2f0f6069
Rust: remove MacroCallItemNode
...
Macro calls are not really items, so they can just be skipped
2025-07-07 18:03:02 +02:00
Arthur Baars
7556d7b57b
Rust: add test with extern block
2025-07-07 18:02:58 +02:00
Tom Hvitved
fad5e0daa8
Rust: Add type inference inline expectations for all function calls
2025-07-07 17:20:15 +02:00
Geoffrey White
a25330e6ed
Rust: Update rustcrypto models.
2025-07-07 15:10:59 +01:00
github-actions[bot]
f12daefabe
Release preparation for version 2.22.2
2025-07-07 14:00:26 +00:00
Tamás Vajk
8d16d0225c
Merge pull request #19991 from tamasvajk/quality/improve-query-docs
...
Improve query docs for `java/java-util-concurrent-scheduledthreadpoolexecutor`
2025-07-07 15:02:56 +02:00
Geoffrey White
a486549956
Update rust/ql/lib/codeql/rust/frameworks/tokio/io.model.yml
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2025-07-07 14:01:00 +01:00
Tamas Vajk
6013c347df
Improve query docs for java/java-util-concurrent-scheduledthreadpoolexecutor
2025-07-07 14:22:40 +02:00
Mathias Vorreiter Pedersen
7bb3758093
Merge pull request #19976 from jketema/incr-2
...
C++: Output `CopyValue` in the IR when there is a non-transparent conversion
2025-07-07 13:08:50 +01:00
Jeroen Ketema
a004d9b2a2
Merge pull request #19990 from igfoo/igfoo/rename
...
C++: Rename a changenote file
2025-07-07 13:59:15 +02:00
Ian Lynagh
fd733676cb
C++: Rename a changenote file
2025-07-07 12:53:42 +01:00
Nick Rolfe
eb30233d44
Merge pull request #19963 from github/nickrolfe/rb-discard-locations
...
Ruby/QL: add discard predicates for locations
2025-07-07 06:41:28 -04:00
Tom Hvitved
8c90250dfc
Merge pull request #19577 from hvitved/rust/remove-library-source-dedup-logic
...
Rust: Remove source vs library deduplication logic
2025-07-07 11:25:33 +02:00
Tom Hvitved
6a9ed88d6e
Merge pull request #19975 from hvitved/rust/ssa-phi-in-capture
...
Rust: Fix SSA inconsistencies
2025-07-07 09:21:57 +02:00
Jeroen Ketema
d6d7c6d55f
Revert "C++: Factor out transparent conversions in their own predicate"
...
This reverts commit b185cc8b95 .
2025-07-04 23:22:46 +02:00
Jeroen Ketema
463ae4b1eb
C++: Address review comments
2025-07-04 23:13:37 +02:00
Owen Mansel-Chan
0788a90d88
Convert RequestForgery test to inline expectations
2025-07-04 16:56:05 +01:00
Owen Mansel-Chan
d10b9e665c
Fix linter warnings in Request Forgery tests
2025-07-04 16:55:09 +01:00
Nick Rolfe
7c5b186c71
Ruby/QL: add discard predicates for locations
2025-07-04 16:15:38 +01:00
Nick Rolfe
f714e5c5ba
Merge pull request #19896 from github/nickrolfe/overlay-deleted-files
...
Java/Ruby/Rust/QL: add `overlayChangedFiles` relation to dbscheme
2025-07-04 11:10:20 -04:00
Arthur Baars
84e5f2846b
Merge branch 'main' into nickrolfe/overlay-deleted-files
2025-07-04 16:19:59 +02:00
Jeroen Ketema
5c9a401806
Merge pull request #19977 from jketema/ruby-typo
...
Ruby: Fix typo in query message
2025-07-04 16:09:22 +02:00
Jeroen Ketema
52bbfa30d2
Ruby: update expected test results
2025-07-04 15:32:07 +02:00
Jeroen Ketema
b3225cf7e3
Rubt: Fix typo in query message
2025-07-04 15:22:03 +02:00
Tom Hvitved
379c913ce3
Rust: Remove source vs library deduplication logic
2025-07-04 14:58:20 +02:00
Tom Hvitved
e33ddce79f
Merge pull request #19847 from hvitved/rust/type-inference-explicit-args
...
Rust: Handle more explicit type arguments in type inference
2025-07-04 14:46:02 +02:00
Tom Hvitved
d1dd05e7bb
Rust: Fix SSA inconsistencies
2025-07-04 14:43:10 +02:00
Jeroen Ketema
d010b6eb01
C++: Update expected test results
2025-07-04 14:28:17 +02:00
Arthur Baars
3d435ddca0
Merge branch 'main' into rust/type-inference-explicit-args
2025-07-04 14:17:52 +02:00
Jeroen Ketema
2908570ce9
C++: Do not consider expression results discardable when there is a conversion
2025-07-04 14:10:34 +02:00
Jeroen Ketema
b185cc8b95
C++: Factor out transparent conversions in their own predicate
2025-07-04 14:09:34 +02:00
Jeroen Ketema
e68d10119b
C++: Fix typo in comment
2025-07-04 14:09:09 +02:00
Jeroen Ketema
799f33eb3a
C++: Add more postfix-crement tests
2025-07-04 14:08:29 +02:00
Mathias Vorreiter Pedersen
9dd3b33410
Merge pull request #19973 from MathiasVP/add-glibc-models
...
C++: Add `glibc` flow summaries
2025-07-04 10:21:14 +01:00
Tom Hvitved
2b2bd17d10
Rust: Add more SSA tests
2025-07-04 10:47:56 +02:00
Kasper Svendsen
785e0273f2
Merge pull request #19968 from kaspersv/kaspersv/overlay-java-getastrictancestor-caller
...
Overlay: Mark `RefType.getAStrictAncestor`` overlay[caller?]`
2025-07-04 09:38:02 +02:00
Mathias Vorreiter Pedersen
cda671711f
C++: Add change note.
2025-07-04 00:05:41 +01:00
Mathias Vorreiter Pedersen
24728a3417
C++: Accept test changes.
2025-07-04 00:03:42 +01:00
Mathias Vorreiter Pedersen
e89662beb7
C++: Add glibc flow summaries.
2025-07-03 18:53:18 +01:00
Aditya Sharad
6124940f55
Merge pull request #19893 from github/changedocs/2.22.1
...
Add changelog entry for CodeQL CLI version 2.22.1
2025-07-03 10:21:12 -07:00
Jeroen Ketema
da924efedb
Merge pull request #19970 from jketema/incr
...
C++: Add test showing we miss the operands of postfix crement in dataflow
2025-07-03 17:16:00 +02:00
Jeroen Ketema
5b26a426dc
C++: Add test showing we miss the operands of postfix crement in dataflow
2025-07-03 16:49:37 +02:00
Mathias Vorreiter Pedersen
56490732bd
Merge pull request #19969 from MathiasVP/add-glibc-to-bulk-generation-targets
...
C++: Add glibc to the list of bulk generation targets
2025-07-03 15:12:11 +01:00
Geoffrey White
831509539b
Merge pull request #19934 from geoffw0/models0
...
Rust: Update legacy MaD models 1
2025-07-03 14:24:21 +01:00
Kasper Svendsen
de71758236
Merge pull request #19962 from kaspersv/kaspersv/overlay-java-local-TC-fixes
...
Overlay: Fix Java overlay compilation regressions
2025-07-03 15:03:02 +02:00
Paolo Tranquilli
8fda879461
Merge pull request #19967 from github/redsun82/format
...
Rust: format
2025-07-03 14:55:56 +02:00
Paolo Tranquilli
dee1ec31ee
Rust: format
2025-07-03 14:42:38 +02:00
Nick Rolfe
d8574a6919
Ruby: use overlayChangedFiles extensional in discard predicates
2025-07-03 12:44:15 +01:00
Nick Rolfe
ba01a70e0a
Rust: add upgrade scripts for overlayChangedFiles dbscheme addition
2025-07-03 12:44:14 +01:00
Nick Rolfe
ab74946e26
Ruby: add upgrade scripts for overlayChangedFiles dbscheme addition
2025-07-03 12:44:13 +01:00
Nick Rolfe
a02aabe797
Java: add upgrade scripts for overlayChangedFiles dbscheme addition
2025-07-03 12:44:12 +01:00
Nick Rolfe
838290d670
Ruby: bump overlay_support_version
2025-07-03 12:44:11 +01:00
Nick Rolfe
72b4e67477
Java/Ruby/Rust/QL: add overlayChangedFiles relation to dbscheme
2025-07-03 12:44:09 +01:00
Jeroen Ketema
a4de3110ae
Merge pull request #15233 from jketema/uncomment-function-kind
...
C++: Uncomment cases in the dbscheme
2025-07-03 13:37:55 +02:00
Kasper Svendsen
dd8af3baf7
Overlay: Mark RefType.getAStrictAncestor overlay[caller?]
2025-07-03 12:23:20 +02:00
Michael Nebel
11c4a638bc
Quality tags: Clarify the quality sub-category tagging policy.
2025-07-03 12:19:41 +02:00
Michael Nebel
aefd941135
Java/Javascript: Fix violations.
2025-07-03 11:56:33 +02:00
Michael Nebel
f810e17d9e
Ql4Ql: Address review comments and update expected test output.
2025-07-03 11:56:32 +02:00
Michael Nebel
b79e2dd0ba
Ql4Ql: Add some more quality tag testcases.
2025-07-03 11:56:30 +02:00
Michael Nebel
f58064e119
Ql4Ql: Address review comments.
2025-07-03 11:56:29 +02:00
Michael Nebel
af1c4e0896
Ql4Ql: Share the definition of TestFile between multiple tests.
2025-07-03 11:56:27 +02:00
Michael Nebel
60a1d02357
Ql4Ql: Add MissingQualityMetadata test.
2025-07-03 11:56:26 +02:00
Michael Nebel
e00b5351a4
Ql4Ql: Add a check for quality tag consistency.
2025-07-03 11:56:25 +02:00
Michael Nebel
c46b528c05
Ql4Ql: Add some quality tag testcases.
2025-07-03 11:56:23 +02:00
Michael Nebel
cce17743bb
Ql4Ql: Re-factor the ql/mising-security-metadata query.
2025-07-03 11:56:22 +02:00
Tom Hvitved
2924faf7f8
Rust: Tweak illFormedTypeMention consistency check
2025-07-03 11:56:16 +02:00
Asger F
552e156468
Merge pull request #19640 from asgerf/js/no-type-extraction
...
JS: Disable type extraction
2025-07-03 11:18:42 +02:00
Geoffrey White
1289f1483f
Merge pull request #19961 from geoffw0/locspeed
...
Rust: Speed up use of Location.contains
2025-07-03 10:16:39 +01:00
Asger F
bb45d0632b
Merge branch 'main' into approximate-related-location
2025-07-03 10:53:07 +02:00
Kasper Svendsen
649091c0ed
Fix java/local-temp-file-or-directory-information-disclosure overlay compilation regression
2025-07-03 10:47:33 +02:00
Kasper Svendsen
425448a10a
Fix java/netty-http-request-or-response-splitting overlay compilation regression
2025-07-03 10:47:33 +02:00
Paolo Tranquilli
064708620f
Merge pull request #19861 from github/redsun82/rust-reorg-ast-generator
...
Rust: refactor `ast-generator` to have all customization at the start
2025-07-03 10:09:17 +02:00
Asger F
98319ce2ad
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2025-07-03 08:44:33 +02:00
Geoffrey White
9728dbb247
Rust: Speed up use of Location.contains / isFromMacroExpansion.
2025-07-02 21:16:21 +01:00
Jeroen Ketema
3c73f141c4
C++: Update stats file
2025-07-02 21:46:14 +02:00
Jeroen Ketema
2697798f05
C++: Add upgrade and downgrade scripts
2025-07-02 21:46:12 +02:00
Jeroen Ketema
eede720aa8
C++: Uncomment cases in the dbscheme
2025-07-02 21:46:09 +02:00
Mathias Vorreiter Pedersen
d4bc38462f
C++: Add glibc to the list of bulk generation targets.
2025-07-02 18:59:15 +01:00
Mathias Vorreiter Pedersen
5e8b12a08b
Merge pull request #19955 from MathiasVP/flow-through-create-thread
...
C++: Add flow summaries for `CreateThread` and friends
2025-07-02 18:27:36 +01:00
Paolo Tranquilli
c10d89927d
Merge pull request #19945 from github/redsun82/fix-expansion-in-lib
...
Rust: fix macro expansion in library code
2025-07-02 18:11:36 +02:00
Paolo Tranquilli
2fffa9db3c
Merge pull request #19781 from github/redsun82/go-internal-tests
...
Go: remove language tests from workflows
2025-07-02 18:10:44 +02:00
Paolo Tranquilli
33a2801bb7
Merge pull request #19956 from github/redsun82/java-fix-tests
...
Java: disable failing maven fetches expectations for now
2025-07-02 17:32:05 +02:00
Paolo Tranquilli
4d3546f7c9
Java: disable failing maven fetches expectations for now
2025-07-02 17:16:41 +02:00
Paolo Tranquilli
72bfbacaaf
Merge branch 'main' into redsun82/go-internal-tests
2025-07-02 16:21:26 +02:00
Mathias Vorreiter Pedersen
e6104981ff
C++: Add change note.
2025-07-02 14:32:17 +01:00
Mathias Vorreiter Pedersen
76678ef3d2
C++: Accept test changes.
2025-07-02 14:24:16 +01:00
Mathias Vorreiter Pedersen
f825904ee0
C++: Add flow models for 'CreateProcess' and friends.
2025-07-02 14:18:36 +01:00
Mathias Vorreiter Pedersen
5684ca5d51
C++: Add tests with 'CreateProcess' and fiends demonstrating missing flow.
2025-07-02 14:18:34 +01:00
Asger F
4a2d795076
Shared: Make approximate location filtering the default behaviour
2025-07-02 14:41:02 +02:00
Asger F
82d190f4bf
Java: use approximate related sink locations in polynomial redos
2025-07-02 14:40:56 +02:00
Asger F
a46b5f9529
Python: enable diff-informedness for poly redos using approximate related locations
2025-07-02 14:39:42 +02:00
Asger F
d65da1f8a1
Ruby: enable for PolyReDos but document why it still doesnt work
2025-07-02 14:39:41 +02:00
Asger F
8b345518f4
Shared: Add approximate version of getASelected{Source,Sink}Location
2025-07-02 14:39:39 +02:00
Asger F
d1b4172486
Shared: Factor out some helper predicates in alert filtering
2025-07-02 14:39:37 +02:00
Asger F
d85838477e
JS: Update Nest model
...
An external contribution added more uses of the now-deprecated getType()
predicate while this PR was open.
2025-07-02 14:11:31 +02:00
Jeroen Ketema
d17c931939
Merge pull request #19952 from jketema/comment-cleanup
...
C++: Remove QLtest related comment from integration test
2025-07-02 13:59:15 +02:00
Asger F
47a90c8b32
Merge branch 'main' into js/no-type-extraction
2025-07-02 13:18:05 +02:00
Jeroen Ketema
e47f16b100
Merge pull request #19947 from jketema/function-confusion
...
C++: Move builtin function identification to its own table
2025-07-02 12:56:18 +02:00
Paolo Tranquilli
c4ec0765ea
Merge pull request #19951 from github/aibaars/rust-workflows
...
Rust: add trailing newline to rust-cwe.md
2025-07-02 12:26:48 +02:00
Paolo Tranquilli
c70198e4e4
Rust: change dummy macro call expansion
2025-07-02 12:25:10 +02:00
Jeroen Ketema
def0ee90c3
C++: Remove QLtest related comment from integration test
...
I forgot to remove this in https://github.com/github/codeql/pull/19410
2025-07-02 12:14:38 +02:00
Arthur Baars
9e54bc6918
Rust: add trailing newline to rust-cwe.md
2025-07-02 11:39:00 +02:00
Tom Hvitved
f7195f04f8
Rust: Handle more explicit type arguments in type inference
2025-07-02 11:37:05 +02:00
Tom Hvitved
b6d5225bf5
Rust: Add more type inference tests
2025-07-02 11:37:03 +02:00
Tom Hvitved
d10002c735
Merge pull request #19927 from hvitved/rust/type-inference-overlap3
...
Rust: Disambiguate more method calls based on argument types
2025-07-02 11:36:37 +02:00
Paolo Tranquilli
bf09c92528
Rust: add location to dummy MacroCalls in library mode
2025-07-02 10:33:53 +02:00
Paolo Tranquilli
63ccbec933
Rust: accept language test changes
2025-07-02 10:19:52 +02:00
Geoffrey White
3e11dbded0
Rust: Accept test changes.
2025-07-02 09:08:15 +01:00
Asger F
4b2025d2c4
JS: Remove obsolete unit tests
2025-07-02 09:54:18 +02:00
Asger F
2aad14771c
JS: Remove TypeScriptMode
2025-07-02 08:39:17 +02:00
Jeroen Ketema
1103644737
C++: Add upgrade and downgrade scripts
2025-07-01 23:38:24 +02:00
Jeroen Ketema
3418451bee
C++: Update stats file
2025-07-01 23:16:26 +02:00
Jeroen Ketema
19d6f665b4
Merge pull request #19676 from mrigankpawagi/patch-1
...
Fixes in cpp/global-use-before-init
2025-07-01 19:17:29 +02:00
REDMOND\brodes
a98f4c29d3
Crypto: Code scanning warning fix.
2025-07-01 12:26:50 -04:00
REDMOND\brodes
ff93045938
Crypto: remove JCA bad import.
2025-07-01 12:21:51 -04:00
REDMOND\brodes
88d36aa574
Crypto: Intermediate JCA updates to support new MAC model. Work in progress.
2025-07-01 12:19:15 -04:00
Geoffrey White
7ef5586cc7
Rust: Translate more legacy models -> new models (mostly guesswork for these last few cases).
2025-07-01 17:15:26 +01:00
Jeroen Ketema
65b21286a1
C++: Move builtin function identification to its own table
2025-07-01 18:00:44 +02:00
Geoffrey White
e56b9debf8
Rust: Fix mistake.
2025-07-01 16:55:06 +01:00
REDMOND\brodes
0270fac4e7
Crypto: Update model to have a mac operation instance that extends the signature or mac operation instance.
2025-07-01 11:51:40 -04:00
Geoffrey White
3027f75617
Rust: Translate more legacy models -> new models (from data).
2025-07-01 16:37:14 +01:00
Paolo Tranquilli
223f0c8684
Rust: fix macro expansion in library code
...
There was a mismatch between a `self.macro_context_level += 1` and the
corresponding `self.macro_context_level -= 1`, which resulted in an
`usize` underflow (panic in debug mode, wrong behaviour in release
mode).
This fixes it and adds a relevant assertion and test. In order to
properly test library mode extraction, a special option enforcing that
on source code as well is added.
2025-07-01 17:31:26 +02:00
Jeroen Ketema
7c2fd28585
Merge pull request #19938 from jketema/external
...
C++: Remove unused `external_package` tables from the dbscheme
2025-07-01 16:50:31 +02:00
REDMOND\brodes
d32e09ac37
Crypto: Misc. cleanup and completed model refactor for Mac. Passing tests for openssl, refactor still required for JCA.
2025-07-01 10:37:09 -04:00
Mrigank Pawagi
fe24cc876a
Merge branch 'main' into patch-1
2025-07-01 20:04:13 +05:30
Arthur Baars
4c6c395b1b
Merge pull request #19939 from github/aibaars/rust-workflows
...
Rust: add to `generate-code-scanning-query-list.py` and `shared-code-metrics.py` scripts
2025-07-01 16:12:11 +02:00
Jeroen Ketema
02e5541953
Merge branch 'main' into patch-1
2025-07-01 15:58:48 +02:00
Mrigank Pawagi
b821b21500
Create 2025-07-01-global-vars-ubi-query-fixes.md.md
2025-07-01 13:12:38 +00:00
Tom Hvitved
add2e0fd9d
Rust: Extend methodResolutionDependsOnArgument to parameterized implementations
2025-07-01 14:22:06 +02:00
Tom Hvitved
961e6201ea
Rust: Add more type inference tests
2025-07-01 14:22:04 +02:00
Geoffrey White
cb6640474e
Rust: Translate more legacy models -> new models (from data + manual extrapolation).
2025-07-01 13:21:52 +01:00
Tom Hvitved
b813010b75
Merge pull request #19903 from hvitved/rust/type-inference-overlap2
...
Rust: Apply inherent method prioritization inside type inference loop
2025-07-01 14:21:15 +02:00
Tom Hvitved
d6b051ed30
Merge pull request #19936 from hvitved/rust/path-resolution-prelude-always
...
Rust: Assume prelude is always available in path resolution
2025-07-01 13:13:35 +02:00
Owen Mansel-Chan
811ed3ccde
Merge pull request #19892 from owen-mc/fix-markdown-query-help-formatting
...
Fix markdown query help formatting
2025-07-01 12:05:35 +01:00
Tom Hvitved
219a622299
Merge pull request #19926 from hvitved/ruby/restrict-string-component-length
...
Ruby: Do not compute `StringlikeLiteralImpl.getStringValue` for large strings
2025-07-01 12:45:51 +02:00
Arthur Baars
c08d98d159
Rust: add to querylist and shared code metrics scripts
2025-07-01 12:16:42 +02:00
Tom Hvitved
072339137a
Rust: Update expected test output
2025-07-01 10:34:16 +02:00
Jeroen Ketema
f3c5870d44
C++: Update stats file
2025-07-01 10:21:51 +02:00
Tom Hvitved
bd1f46b75c
Rust: Assume prelude is always available in path resolution
2025-07-01 10:18:02 +02:00
Jeroen Ketema
8ac69b9116
C++: Add upgrade and downgrade scripts
2025-07-01 10:17:43 +02:00
Tom Hvitved
e88d7baa7d
Rust: Apply inherent method prioritization inside type inference loop
2025-07-01 10:17:26 +02:00
Tom Hvitved
e5f0ef6ae8
Rust: Add more type inference tests
2025-07-01 10:17:25 +02:00
Jeroen Ketema
7779f14654
C++: Remove unused external_package tables from the dbscheme
2025-07-01 10:13:04 +02:00
Jeroen Ketema
a791640b52
Merge pull request #19935 from jketema/sync-dbscheme-cpp
...
C++: synchronize dbscheme
2025-07-01 09:51:29 +02:00
Michael Nebel
233b54c7fa
Merge pull request #19891 from michaelnebel/michaelnebel/freezemoresuites
...
Go/Ruby/Python: Freeze quality queries in `security-and-quality`.
2025-07-01 09:04:19 +02:00
Tom Hvitved
2ee3401cfb
Merge pull request #19873 from github/redsun82/rust-item-reorg
...
Rust: make `AssocItem` and `ExternItem` subclasses of `Item`
2025-07-01 08:58:48 +02:00
Jeroen Ketema
d5c7905009
Merge pull request #19907 from github/idrissrio/no-string-representation
...
C++: fix `(no string representation)` for `ConstructorInit`
2025-07-01 08:13:31 +02:00
Geoffrey White
59b74871c2
Rust: Accept regressions.
2025-06-30 21:13:44 +01:00
REDMOND\brodes
8b64a72fe1
Crypto: Initial sketch for refactoring MAC and signatures to account for APIs having one function to do both. Incomplete. Work in progress.
2025-06-30 15:36:55 -04:00
Geoffrey White
91072477b7
Rust: Trivial test changes.
2025-06-30 20:15:18 +01:00
Jeroen Ketema
98798b6f73
C++: Update stats file
2025-06-30 20:12:49 +02:00
Jeroen Ketema
1772193982
Merge pull request #19933 from jketema/arm-change
...
C++: Add Arm64 change note
2025-06-30 19:19:32 +02:00
Geoffrey White
8f56f8d5a0
Rust: Translate some legacy models -> new models.
2025-06-30 17:47:59 +01:00
Mrigank Pawagi
cf60b62981
fix formatting
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2025-06-30 16:40:03 +00:00
Jeroen Ketema
44523aeec4
C++: Add Arm64 change note
2025-06-30 18:01:03 +02:00
Paolo Tranquilli
fa14f9540b
Merge branch 'main' into redsun82/go-internal-tests
2025-06-30 17:38:59 +02:00
idrissrio
62e55edbad
C++: accept new test results after changes
2025-06-30 17:11:59 +02:00
idrissrio
6a291cc474
C++: fix (no string representation) for ConstructorInit
2025-06-30 17:11:58 +02:00
REDMOND\brodes
e6b363b81b
Crypto: fix Ql-for-QL alerts.
2025-06-30 11:08:30 -04:00
Taus
184dd5bf10
Merge pull request #19895 from github/tausbn/python-fix-match-as-identifier
...
Python: Allow use of `match` as an identifier
2025-06-30 16:24:23 +02:00
Paolo Tranquilli
e7959dfde6
Rust: recreate wrongfully deleted upgrade script directory
2025-06-30 15:38:42 +02:00
Jami
de09122de3
Merge pull request #19175 from jcogs33/jcogs33/java/call-to-thread-run
...
Java: update `java/call-to-thread-run`
2025-06-30 09:31:08 -04:00
Jeroen Ketema
3a3c222e46
C++: Add upgrade and downgrade scripts
2025-06-30 15:28:55 +02:00
Jeroen Ketema
617edf0b70
C++: synchronize dbscheme
2025-06-30 15:28:45 +02:00
Paolo Tranquilli
9e4cdbc53f
Merge branch 'main' into redsun82/rust-item-reorg
2025-06-30 14:56:23 +02:00
Paolo Tranquilli
15aa0bbb34
Merge pull request #19866 from github/redsun82/codegen-new-parent-child
...
Codegen: improve implementation of generated parent/child relationship
2025-06-30 14:52:24 +02:00
Tom Hvitved
97412f4077
Merge pull request #19916 from hvitved/rust/fix-capture-inconsistencies
...
Rust: Fix variable capture inconsistencies
2025-06-30 14:18:00 +02:00
Tom Hvitved
41a403c904
Ruby: Do not compute StringlikeLiteralImpl.getStringValue for large strings
2025-06-30 13:01:57 +02:00
Jeroen Ketema
23b9db8f6f
Merge pull request #19904 from jketema/ffbl
...
C++: Sync the product-flow field flow branch limits with the default one
2025-06-30 11:17:55 +02:00
Kasper Svendsen
3d7343273e
Merge pull request #19813 from github/kaspersv/overlay-java-discarding
...
Overlay: Add manual Java overlay annotations & discard predicates
2025-06-30 11:17:31 +02:00
Asger F
7c38c48fd7
Merge pull request #19769 from trailofbits/VF/Nest-improvements
...
Improve NestJS sources and dependency injection
2025-06-30 10:42:18 +02:00
Asger F
3247babfa5
Merge pull request #19762 from trailofbits/VF/type-orm-model-improvements
...
Improve TypeORM model
2025-06-30 10:40:38 +02:00
Jeroen Ketema
6ae1656ec4
Merge pull request #17581 from jketema/loc-table-merge
...
C++: Merge the location tables
2025-06-30 10:33:46 +02:00
Tom Hvitved
57661df306
Rust: Fix variable capture inconsistencies
2025-06-30 10:19:42 +02:00
Paolo Tranquilli
9cf037fdb9
Merge branch 'main' into redsun82/codegen-new-parent-child
2025-06-30 10:17:56 +02:00
Tom Hvitved
632cde689b
Merge pull request #19702 from geoffw0/lifetime
...
Rust: New query rust/access-after-lifetime-ended
2025-06-30 10:00:11 +02:00
Paolo Tranquilli
e3a61f5f18
Merge pull request #19899 from github/redsun82/copilot-instructions
...
Create copilot-instructions.md
2025-06-30 09:11:29 +02:00
Kasper Svendsen
c7194a4012
Overlay: Add missing QLDoc
2025-06-30 08:40:46 +02:00
Michael Nebel
a74f60bb84
Merge pull request #19910 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-06-30 08:34:32 +02:00
Kasper Svendsen
5b09ecd769
Merge pull request #19780 from github/kaspersv/overlay-annotations-script-ci
...
Overlay: Add CI workflow to check overlay annotations
2025-06-30 08:11:14 +02:00
Jami Cogswell
42904113b4
Java: add qhelp references
2025-06-29 22:50:10 -04:00
Jami Cogswell
87ab4d0160
Java: remove java/run-method-called-on-java-lang-thread-directly
...
using existing query java/call-to-thread-run instead
2025-06-29 22:42:31 -04:00
Jami Cogswell
12e7bbbae8
Java: update existing tests to services tests
2025-06-29 22:41:47 -04:00
Jami Cogswell
1172f82a4b
Java: update existing tests to inline expectations
2025-06-29 22:21:41 -04:00
Jami Cogswell
e266918871
Java: add previous-id
2025-06-29 22:21:06 -04:00
Jami Cogswell
7a2023b863
Java: move original files
2025-06-29 22:13:49 -04:00
github-actions[bot]
81ec3b6566
Add changed framework coverage reports
2025-06-30 00:26:21 +00:00
Mrigank Pawagi
809d1d55a8
remove cases involving sizeof
2025-06-28 17:16:04 +00:00
REDMOND\brodes
eba120444e
Merge branch 'main' into openssl_padding_refactor
2025-06-27 13:54:27 -04:00
Nicolas Will
38fdf7eea0
Merge pull request #19880 from bdrodes/operation_step_refactor
...
Crypto: Refactor OpenSSL operation step data-flow logic
2025-06-27 17:19:11 +02:00
REDMOND\brodes
97cd083f65
Merge branch 'operation_step_refactor' into openssl_padding_refactor
...
# Conflicts:
# cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/AlgToAVCFlow.qll
# cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/PaddingAlgorithmInstance.qll
2025-06-27 09:42:06 -04:00
Kasper Svendsen
e02affd327
Merge pull request #19901 from github/kaspersv/overlay-guards-inline
...
Overlay: Add missing `overlay[caller?]` annotation
2025-06-27 15:13:09 +02:00
Jeroen Ketema
89c91cc1a2
C++: Add change note
2025-06-27 15:06:03 +02:00
Jeroen Ketema
99a24f9650
C++: Fix macro handling after extractor changes
2025-06-27 14:42:33 +02:00
Jeroen Ketema
bf131dc84b
C++: Update stats file
2025-06-27 14:42:32 +02:00
Jeroen Ketema
7f47e31fb5
C++: Add upgrade and downgrade scripts
2025-06-27 14:42:20 +02:00
Jeroen Ketema
b4caba7c0e
C++: Merge the location tables
2025-06-27 14:42:08 +02:00
REDMOND\brodes
9f0c62b572
Crypto: Address PR comments.
2025-06-27 08:33:01 -04:00
Ben Rodes
122a004851
Update cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/MACAlgorithmInstance.qll
...
Co-authored-by: Nicolas Will <nicolaswill@github.com >
2025-06-27 08:28:05 -04:00
Jeroen Ketema
3e31cd3ce5
C++: Sync the product-flow field flow branch limits with the default one
2025-06-27 12:59:54 +02:00
Nicolas Will
976364fcaa
Merge branch 'main' into operation_step_refactor
2025-06-27 12:05:14 +02:00
Kasper Svendsen
5cddd384c7
Merge branch 'main' into kaspersv/overlay-annotations-script-ci
2025-06-27 11:19:52 +02:00
Kasper Svendsen
6038396115
Merge pull request #19898 from kaspersv/kaspersv/shared-overlay-annotation
...
Overlay: Add overlay annotation to shared lib
2025-06-27 11:18:55 +02:00
Michael Nebel
143a91efc4
Re-use the security-extended selector in the security-and-frozen-quality selector.
2025-06-27 11:08:08 +02:00
Jeroen Ketema
ad5ee1c498
Merge pull request #19894 from jketema/pretty
...
C++: Pretty print MaD ids in test output
2025-06-27 11:00:52 +02:00
Kasper Svendsen
5096ce405f
Overlay: Add missing overlay[caller?] annotation
2025-06-27 10:50:28 +02:00
Tom Hvitved
3fb8758ae1
Merge pull request #19886 from hvitved/rust/dataflow-caching
...
Rust: Cache `DataFlow::Node.{toString,getLocation}`
2025-06-27 10:33:50 +02:00
Michael Nebel
2f208bddb6
Merge pull request #19877 from michaelnebel/csharp/microsoftdatasqlclient
...
C#: Models for Microsoft.Data.SqlClient.
2025-06-27 10:24:38 +02:00
Nora Dimitrijević
f568d41264
Merge pull request #19888 from d10c/d10c/missing-diff-informed-tests
...
Java, Ruby: add missing .qlref tests
2025-06-27 09:28:41 +02:00
Paolo Tranquilli
c88049a9f4
Create copilot-instructions.md
2025-06-27 09:06:08 +02:00
Tom Hvitved
db0fc7be5d
Merge pull request #19881 from hvitved/rust/dataflow-traits
...
Rust: Data flow through trait methods
2025-06-27 08:55:48 +02:00
Kasper Svendsen
2863c7094a
Overlay: Add overlay annotation to shared lib
2025-06-27 08:54:05 +02:00
Jonas Jensen
b446fe74c2
Merge pull request #19846 from jbj/diff-informed-CleartextStorageCookie
...
Java: Diff-informed CleartextStorageCookie.ql
2025-06-27 08:45:11 +02:00
Kasper Svendsen
f0125e574c
Merge branch 'main' into kaspersv/overlay-annotations-script-ci
2025-06-27 08:31:34 +02:00
Kasper Svendsen
e6ef6a3326
Merge branch 'main' into kaspersv/overlay-java-discarding
2025-06-27 08:28:34 +02:00
Kasper Svendsen
da1b99b921
Merge pull request #19779 from github/kaspersv/overlay-java-annotations
...
Overlay: Add overlay annotations to Java & shared libraries
2025-06-27 08:26:33 +02:00
Joe Farebrother
4cbaeb10e9
Merge pull request #19641 from joefarebrother/python-qual-file-not-closed
...
Python: Improve performance of FileNotClosed query by using basic block reachability
2025-06-26 23:35:38 +01:00
Jeroen Ketema
0996e6083e
C++: Pretty print MaD ids in test output
2025-06-26 23:38:32 +02:00
REDMOND\brodes
0aee4f76f9
Crypto: Minor change to force CI/CD checks to restart, prior ql check failures do not make sense.
2025-06-26 16:35:01 -04:00
REDMOND\brodes
dc8d22a468
Crypto: Fix JCA to account for new key gen instance API in model.qll.
2025-06-26 15:48:10 -04:00
REDMOND\brodes
505d8806c7
Crypto: Add key input support for the graph for key generation operations.
2025-06-26 11:51:49 -04:00
Taus
cd0e46314c
Python: Add change note
2025-06-26 15:36:02 +00:00
Taus
ad53518644
Python: Regenerate parser files
2025-06-26 15:34:44 +00:00
Taus
e04821e9e3
Python: Allow use of match as an identifier
...
This previously only worked in certain circumstances. In particular,
assignments such as `match[1] = ...` or even just `match[1]` would fail
to parse correctly.
Fixing this turned out to be less trivial than anticipated. Consider the
fact that
```
match [1]: case (...)
```
can either look the start of a `match` statement, or it could be a type
ascription, ascribing the value of `case(...)` (a call) to the item at
index 1 of `match`.
To fix this, then, we give `match` the identifier and `match` the
statement the same precendence in the grammar, and additionally also
mark a conflict between `match_statement` and `primary_expression`. This
causes the conflict to be resolved dynamically, and seems to do the
right thing in all cases.
2025-06-26 15:33:00 +00:00
Florin Coada
0103ee2872
Add changelog entry for CodeQL CLI version 2.22.1
2025-06-26 15:50:23 +01:00
Nicolas Will
c54e68c855
Merge branch 'main' into pr/19880
2025-06-26 16:47:38 +02:00
Jeroen Ketema
ec09d36667
Merge pull request #19832 from ebickle/feature/oracle-model
...
C++: Support SQL Injection sinks for Oracle Call Interface (OCI)
2025-06-26 16:33:55 +02:00
Nicolas Will
0a97357216
Merge pull request #19814 from bdrodes/codescanning_fixes_cpp
...
Crypto: Fix QL-for-QL alerts and refactor type standardization
2025-06-26 16:33:19 +02:00
Paolo Tranquilli
4799861225
Merge branch 'redsun82/codegen-new-parent-child' into redsun82/rust-item-reorg
2025-06-26 16:29:42 +02:00
Owen Mansel-Chan
2ed451c9e3
Reformat references
2025-06-26 15:20:07 +01:00
Owen Mansel-Chan
10bb88825e
Add full stop at the end of each reference
2025-06-26 15:20:06 +01:00
Owen Mansel-Chan
297cdb53aa
Update guide to specify a full stop at the end of each reference
2025-06-26 15:20:04 +01:00
Eric Bickle
1142efbc03
Merge branch 'main' into feature/oracle-model
2025-06-26 06:48:40 -07:00
Eric Bickle
3083bdb0b4
C++: Update MaD line numbers in flow.expected
2025-06-26 06:47:24 -07:00
Owen Mansel-Chan
9f0f40d6ce
Add "Correct Usage" and "Incorrect Usage" headings
2025-06-26 14:40:49 +01:00
Owen Mansel-Chan
9521994adc
Fix format of markdown query help files
2025-06-26 14:40:07 +01:00
REDMOND\brodes
6e5734adca
Crypto: Fix openssl padding to propery link async padding to hashing configs.
2025-06-26 09:18:30 -04:00
Tom Hvitved
9a48459951
Add change note
2025-06-26 15:14:08 +02:00
Nicolas Will
652e7ba15b
Merge branch 'main' into codescanning_fixes_cpp
2025-06-26 14:54:36 +02:00
Michael Nebel
37b3ca036a
Python: Freeze the quality queries in the security-and-quality suite.
2025-06-26 14:45:05 +02:00
Michael Nebel
d926a6a47d
Go: Freeze the quality queries in the security-and-quality suite.
2025-06-26 14:35:21 +02:00
Michael Nebel
7fecf7466f
Ruby: Freeze the quality queries in the security-and-quality suite.
2025-06-26 14:26:28 +02:00
Michael Nebel
145ada53f2
C#/Java/JavaScript: Re-factor query suites to use the new selector.
2025-06-26 14:19:27 +02:00
Nick Rolfe
5a176d6fbd
Merge pull request #19878 from github/nickrolfe/ql-overlay
...
Ruby/Rust/QL: simplify generation of overlay-related tables/predicates
2025-06-26 08:10:10 -04:00
Michael Nebel
3efbed56b0
Shared: Modify the frozen selector to only include security queries.
2025-06-26 14:09:43 +02:00
Michael Nebel
1fbf3a39fb
Shared: Add a copy of the security-and-quality selector.
2025-06-26 14:05:46 +02:00
Tom Hvitved
b70aa804e5
Rust: Cache DataFlow::Node.{toString,getLocation}
2025-06-26 13:49:37 +02:00
Nora Dimitrijević
89f1ee0301
Ruby: add meta/TaintedNodes.ql test
2025-06-26 13:22:07 +02:00
Nora Dimitrijević
e0b3a2c5f9
Java: convert ArbitraryApkInstallation test to .qlref
2025-06-26 13:22:05 +02:00
Kasper Svendsen
712e64e4a8
Overlay: Add overlay annotations to shared Guards library
2025-06-26 13:19:49 +02:00
Kasper Svendsen
9d2dd782d9
Merge remote-tracking branch 'github/main' into kaspersv/overlay-java-annotations
2025-06-26 13:18:25 +02:00
Jeroen Ketema
a5737dded3
Merge branch 'main' into feature/oracle-model
2025-06-26 12:48:55 +02:00
Tamás Vajk
ae36f94d5e
Merge pull request #19844 from tamasvajk/tamasvajk/threadpoolexecutor
...
Java: Add `java/javautilconcurrentscheduledthreadpoolexecutor` query for zero thread pool size
2025-06-26 12:36:09 +02:00
Paolo Tranquilli
de72e68d2c
Merge branch 'main' into redsun82/codegen-new-parent-child
2025-06-26 12:14:53 +02:00
Paolo Tranquilli
afc78ced50
Merge pull request #19874 from github/redsun82/codegen-use-one-test-file
...
Codegen: use one generated test file per directory
2025-06-26 11:59:40 +02:00
Anders Schack-Mulligen
321a4afd5c
Merge pull request #19883 from aschackmull/java/fix-assert-cfg
...
Java: Fix assert CFG by properly tagging the false successor.
2025-06-26 11:43:27 +02:00
Tamas Vajk
1bd543a8a2
Improve readability of the ID
2025-06-26 11:36:32 +02:00
Kasper Svendsen
64f27e2adf
Java: Add abstraction for discardable locatables
2025-06-26 11:35:37 +02:00
Tamás Vajk
1e0dd2a935
Apply suggestion from @michaelnebel
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-06-26 11:34:43 +02:00
Anders Schack-Mulligen
7750f1244c
Merge pull request #19884 from aschackmull/guards/eqtest-refactor
...
Guards: Refactor EqualityTest interface.
2025-06-26 11:04:55 +02:00
Anders Schack-Mulligen
c091fc585b
Java: Account for AssertionError possibly not being extracted.
2025-06-26 11:03:59 +02:00
Anders Schack-Mulligen
326f2b0498
Java: Accept qltest change showing FP removal.
2025-06-26 11:03:39 +02:00
Anders Schack-Mulligen
f07d9dda39
Guards: Refactor EqualityTest interface.
2025-06-26 10:26:40 +02:00
Jeroen Ketema
b16e710d3b
Merge pull request #19870 from jketema/jketema/stats
...
C++: Update stats file after DCA and extractor changes
2025-06-26 10:21:35 +02:00
Anders Schack-Mulligen
1d4c8197ec
Java: Fix assert CFG by properly tagging the false successor.
2025-06-26 10:18:14 +02:00
Vasco-jofra
575da5c31c
Merge SummarizedCallable into single class
2025-06-26 10:10:52 +02:00
Jonas Jensen
fc2b18ae8a
Java: Diff-informed CleartextStorageCookie.ql
...
This query shares implementation with several other queries about
cleartext storage, but it's the only one of them that's in the
code-scanning suite. The sharing mechanism remains the same as before,
but now each query has to override `getASelectedLocation` to become
diff-informed.
Two other data-flow configurations are used in this query, but they
can't easily be made diff-informed.
2025-06-26 09:31:11 +02:00
Paolo Tranquilli
9a8ef3acf7
Merge branch 'main' into redsun82/codegen-new-parent-child
2025-06-26 09:30:41 +02:00
Vasco-jofra
8a7516528d
Update formatting
2025-06-26 09:29:07 +02:00
Anders Schack-Mulligen
4d2c67857f
Merge pull request #19573 from aschackmull/guardslib
...
Shared/Java: Add shared Guards library and switch Java to use it.
2025-06-26 09:28:32 +02:00
Michael Nebel
cfadd30f98
C#: Add change-note.
2025-06-26 08:52:18 +02:00
Michael Nebel
becd46a47e
C#: Add MaD models for Microsoft.Data.SqlClient.
2025-06-26 08:51:10 +02:00
Michael Nebel
f3eafd33ff
C#: Exclude Microsoft.Data.SqlClient.SqlCommand from the best effort SqlSink creation.
2025-06-26 08:46:49 +02:00
Michael Nebel
ed7f68279f
C#: Add cs/sql-injection tests for APIs in Microsoft.Data.SqlClient.
2025-06-26 08:44:50 +02:00
Anders Schack-Mulligen
6f4adb8892
Shared: address review comments.
2025-06-26 07:17:37 +02:00
Anders Schack-Mulligen
5ddddaecdc
Java: Add change note.
2025-06-26 07:17:36 +02:00
Anders Schack-Mulligen
4645856f09
Java: document FP
2025-06-26 07:17:36 +02:00
Anders Schack-Mulligen
73810a6d85
Java: Fix perf issue.
2025-06-26 07:17:35 +02:00
Anders Schack-Mulligen
5a34a1a51b
Shared: Try caching.
2025-06-26 07:17:35 +02:00
Anders Schack-Mulligen
d4c897f8e2
Java: Fix perf issue.
2025-06-26 07:17:35 +02:00
Anders Schack-Mulligen
42b1b12aa1
Java: Fix qltests
2025-06-26 07:17:34 +02:00
Anders Schack-Mulligen
5c0dcd980d
Java: Switch to the shared Guards library.
2025-06-26 07:17:34 +02:00
Anders Schack-Mulligen
cc13193cb6
Java: Replace some references to basicNullGuard.
2025-06-26 07:17:33 +02:00
Anders Schack-Mulligen
0607fefc57
Java: Refactor integerGuard.
2025-06-26 07:17:33 +02:00
Anders Schack-Mulligen
a2778eee75
Java: Refactor clearlyNotNullExpr into a base case that does not rely on SSA.
2025-06-26 07:17:32 +02:00
Anders Schack-Mulligen
22d5dc999a
Shared: Bugfix for unique value implication.
2025-06-26 07:17:32 +02:00
Anders Schack-Mulligen
378209a6ad
Shared: Simplify and improve joins.
2025-06-26 07:17:31 +02:00
Anders Schack-Mulligen
b19bff9a4e
Shared: Switch case guards to be the case statements.
2025-06-26 07:17:31 +02:00
Anders Schack-Mulligen
f772493f4c
Shared: Elaborate qldoc.
2025-06-26 07:17:31 +02:00
Anders Schack-Mulligen
73ae613b7a
Shared: Many tweaks to Guards.
2025-06-26 07:17:30 +02:00
Anders Schack-Mulligen
c212d0ac8f
Shared: Improve shared guards lib.
2025-06-26 07:17:30 +02:00
Anders Schack-Mulligen
16c5b57953
Shared: Extend the shared Guards library with support for exception branch points.
2025-06-26 07:17:29 +02:00
Anders Schack-Mulligen
14b87f97b9
Shared: Extend the shared Guards library with support for custom wrappers.
2025-06-26 07:17:29 +02:00
Anders Schack-Mulligen
1d75008eba
Shared: Add a shared Guards library inspired by the Java and C# versions.
2025-06-26 07:17:28 +02:00
Anders Schack-Mulligen
994c1f6427
Java: Add hasInputFromBlock predicate in BaseSSA.
2025-06-26 07:17:28 +02:00
Anders Schack-Mulligen
a0c849139c
Java: Add guards-logic qltest with inline expectation.
2025-06-26 07:17:28 +02:00
Jami
aa65f54b1d
Merge pull request #19882 from owen-mc/go/avoid-deprecated-class
...
Go: Avoid using deprecated class
2025-06-25 21:16:08 -04:00
Owen Mansel-Chan
9663ecad21
Avoid using deprecated class
2025-06-26 01:46:14 +01:00
Owen Mansel-Chan
0f07ab58cf
Merge pull request #19654 from owen-mc/go/fix-definedtype-getbasetype
...
Go: fix `DefinedType.getBaseType`
2025-06-26 00:19:19 +01:00
Owen Mansel-Chan
d7b1d7bef4
Merge pull request #19677 from owen-mc/go/better-class-names-and-helpers
...
Go: Improve two class names and add some helper predicates
2025-06-26 00:17:32 +01:00
Chris Smowton
2291e10ce6
Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-25 21:38:22 +02:00
Tom Hvitved
8c240399c1
Rust: Apply MaD trait models to implementations
2025-06-25 21:32:24 +02:00
Tom Hvitved
3e54c61f52
Rust: Add MaD trait tests
2025-06-25 21:32:22 +02:00
Tom Hvitved
5e265b10c7
Rust: Trait call dispatch in dataflow
2025-06-25 21:32:21 +02:00
Tom Hvitved
a4ed5da50b
Rust: Add data flow tests involving traits
2025-06-25 21:32:19 +02:00
REDMOND\brodes
7559c06fdb
Merge branch 'operation_step_refactor' of https://github.com/bdrodes/codeql into operation_step_refactor
2025-06-25 15:26:21 -04:00
REDMOND\brodes
7477471bc5
Crypto: Bug fix in output model
2025-06-25 15:25:51 -04:00
Nicolas Will
6571c11eb7
Merge branch 'main' into operation_step_refactor
2025-06-25 20:38:11 +02:00
Nicolas Will
98479ff6c3
Crypto: Update queries to use new type names
2025-06-25 20:34:33 +02:00
Nicolas Will
ad7358ac4f
Crypto: Deduplicate "GCM" mapping from OpenSSL modeling
2025-06-25 20:26:38 +02:00
Nicolas Will
8e6031df14
Crypto: Fix further acronym casing and remove unused field
2025-06-25 20:25:33 +02:00
Nicolas Will
b8097501b6
Update cpp/ql/lib/experimental/quantum/OpenSSL/AlgorithmInstances/KnownAlgorithmConstants.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-25 20:12:51 +02:00
Nicolas Will
14472bf744
Crypto: Refactor type name mapping and fix QL-for-QL alerts
2025-06-25 20:08:14 +02:00
REDMOND\brodes
8280cbcaa1
Crypto: Update JCA model to include new model.qll updates.
2025-06-25 13:55:47 -04:00
Paolo Tranquilli
6803bf3861
Merge pull request #19851 from github/redsun82/rust-emission-trait
...
Rust: refactor `pre_emit!` and `post_emit!` to a trait
2025-06-25 19:22:29 +02:00
REDMOND\brodes
f9147cfb2b
Crypto: Remove experimental qll file
2025-06-25 12:26:41 -04:00
REDMOND\brodes
9cd2241bf6
Crypto: Remove accidentally uploaded temporary file.
2025-06-25 11:36:40 -04:00
REDMOND\brodes
072765abca
Crypto: Code scanning warning corrections.
2025-06-25 11:16:49 -04:00
REDMOND\brodes
93bad3c799
Crypto: Misc bug fixes and updated expected files.
2025-06-25 11:02:30 -04:00
Nick Rolfe
867826466e
Ruby/QL: unconditionally generate discard predicates
2025-06-25 15:35:58 +01:00
Nick Rolfe
57b866bbe1
Ruby/Rust/QL: move databaseMetadata to prefix.dbscheme
...
This has no effect on ruby.dbscheme, and adds the relation to
ql.dbscheme and rust.dbscheme. (The relation will be required for
overlay support).
2025-06-25 15:35:08 +01:00
Nick Rolfe
9021168725
QL: fix stats-collection workflow
2025-06-25 15:35:06 +01:00
Nora Dimitrijević
942cfc3bd6
Merge pull request #19842 from d10c/d10c/convert-java-tests-to-qlref
...
Java: convert remaining `java-code-scanning.qls` query tests to `.qlref`
2025-06-25 16:02:28 +02:00
Nicolas Will
710e08088f
Crypto: Refactor casing and documentation
2025-06-25 15:29:03 +02:00
Geoffrey White
006f0e8fcf
Merge branch 'main' into lifetime
2025-06-25 14:17:00 +01:00
Michael Nebel
bb85e24121
C#: Convert SQL injection test to use inline expectations.
2025-06-25 14:53:09 +02:00
Michael Nebel
af2ebed395
C#: Add stubs for Microsoft.Data.SqlClient.
2025-06-25 14:53:07 +02:00
Paolo Tranquilli
6a0140d3c9
Rust: fix Const test
2025-06-25 14:42:03 +02:00
Paolo Tranquilli
e4056c0a11
Rust: add change note
2025-06-25 14:39:22 +02:00
Paolo Tranquilli
78ecf1814e
Rust: add upgrade/downgrade scripts
2025-06-25 14:36:29 +02:00
Paolo Tranquilli
5d3bdb955c
Merge branch 'main' into redsun82/rust-item-reorg
2025-06-25 14:34:48 +02:00
Asger F
5289e4f424
JS: Fix a bug in a unit test
...
The 'extractTypeScriptFiles' override did not incorporate the file type and one of our unit tests was expecting this. The test was previously passing for the wrong reasons.
2025-06-25 14:31:31 +02:00
Asger F
02cdde1447
JS: Fix imprecise condition
2025-06-25 14:31:28 +02:00
Asger F
aef362152e
JS: Change notes
2025-06-25 14:31:25 +02:00
Asger F
c8b2674206
JS: Add support for index expressions
2025-06-25 14:31:22 +02:00
Asger F
b1d4776b17
JS: Handle name resolution through dynamic imports
2025-06-25 14:31:20 +02:00
Paolo Tranquilli
ab2e7082f3
Merge branch 'main' into redsun82/codegen-use-one-test-file
2025-06-25 14:31:17 +02:00
Asger F
7cc248703a
JS: Add test for dynamic imports
2025-06-25 14:31:17 +02:00
Asger F
92dd5bd1f4
JS: Add deprecation comment to qldoc
2025-06-25 14:31:14 +02:00
Asger F
488da145e8
JS: Don't try to augment invalid files
...
This check existed on the code path for full type extraction, but not for plain single-file extraction.
2025-06-25 14:31:11 +02:00
Asger F
74b817b642
JS: Remove code path for TypeScript full extraction
2025-06-25 14:31:05 +02:00
Paolo Tranquilli
b8b57365c3
Merge pull request #19876 from github/redsun82/rust-qltest-setup-nightly-toolchain
...
Rust: fix parallel execution of tests using the nightly toolchain
2025-06-25 14:30:22 +02:00
Paolo Tranquilli
fa006e3ea5
Rust: fix test
2025-06-25 14:17:14 +02:00
Paolo Tranquilli
1f66f902e5
Rust: fix parallel execution of tests using the nightly toolchain
...
Since we dropped checked in toolchain files for tests requiring nightly,
the `setup.sh` script was not doing its job of setting up the toolchains
and the `rust-src` component, occasionally leading to test failures.
2025-06-25 14:13:43 +02:00
Nick Rolfe
1e68a7e2de
Merge pull request #19719 from github/nickrolfe/ruby-discard-predicates
...
Ruby: generate overlay discard predicates
2025-06-25 07:18:29 -04:00
Michael Nebel
92a1b8971c
C#: Add Microsoft.Data.SqlClient to the list of stubs.
2025-06-25 12:52:58 +02:00
Nick Rolfe
a9ddf0026b
Ruby: generate overlay discard predicates
2025-06-25 11:47:27 +01:00
Nick Rolfe
1bbba2f664
Merge pull request #19684 from github/nickrolfe/ruby-overlay-extraction
...
Ruby: add support for extracting overlay databases
2025-06-25 06:39:30 -04:00
Paolo Tranquilli
355fd85c23
Codegen: remove unneeded has|getNumberOf in instance tests
2025-06-25 12:02:13 +02:00
Paolo Tranquilli
99eaaaa830
Rust: fix QL compilation error
2025-06-25 11:50:49 +02:00
Nick Rolfe
c6ff07ad5a
Merge branch 'main' into nickrolfe/ruby-overlay-extraction
2025-06-25 05:46:26 -04:00
Paolo Tranquilli
6bbf1e3bc1
Codegen: use one generated test file per directory
...
This collapses all generated test QL sources into a single one per
directory, using query predicates to run the different tests.
This should improve the time required to run generated tests.
2025-06-25 11:44:54 +02:00
Napalys Klicius
3d9e2f5438
Merge pull request #19858 from Napalys/js/execa
...
JS: moved `execa` out of experimental
2025-06-25 10:34:52 +02:00
Paolo Tranquilli
bcca47c873
Rust: make AssocItem and ExternItem subclasses of Item
2025-06-25 10:25:24 +02:00
Kasper Svendsen
46ac2fd9f0
Add CI workflow to check overlay annotations
2025-06-25 10:19:25 +02:00
Paolo Tranquilli
792ea10577
Merge branch 'redsun82/codegen-new-parent-child' into redsun82/rust-emission-trait
2025-06-25 10:19:10 +02:00
Kasper Svendsen
7186ea5975
Merge pull request #19871 from github/kaspersv/overlay-script-re
...
Use regex to match overlay annotations
2025-06-25 09:39:50 +02:00
Kasper Svendsen
869ba0d246
Use regex to match overlay annotations
2025-06-25 09:30:49 +02:00
Napalys Klicius
73126fef9e
JS: update change note.
2025-06-25 09:26:26 +02:00
Jeroen Ketema
2f1cd388d1
C++: Update stats file after DCA and extractor changes
2025-06-25 09:21:56 +02:00
Asger F
d39b68cd41
Merge pull request #19849 from asgerf/js/remove-legacy-actions-queries
...
JS: Remove legacy actions queries
2025-06-25 09:18:33 +02:00
Asger F
853fc1a7cf
Merge pull request #19852 from asgerf/js/react-use-server
...
JS: Model React 'use' and 'use server'
2025-06-25 09:13:56 +02:00
Jeroen Ketema
ddae47118b
Merge pull request #16075 from jketema/explicit
...
C++: Handle explicitly instantiated templates
2025-06-25 08:53:50 +02:00
Jeroen Ketema
fff23040b3
C++: Update test results
2025-06-25 08:14:22 +02:00
REDMOND\brodes
bd0efbe48c
Crypto: Overhaul of EVP final/init/update to now use a more general 'OperationStep' mechanic.
2025-06-24 16:03:25 -04:00
Chuan-kai Lin
9a064de86e
Merge pull request #19865 from github/cklin/pick-kotlin-version
...
pick-kotlin-version.py: tolerate warnings
2025-06-24 10:21:13 -07:00
Eric Bickle
b8f8501cf5
Merge pull request #1 from geoffw0/sql
...
C++: Fix for the SQL query.
2025-06-24 10:13:52 -07:00
Aditya Sharad
1c567b9b71
Merge pull request #19867 from adityasharad/qldoc/opcode-script-regex
...
QLDoc scripts: Fix overly permissive regex ranges
2025-06-24 10:11:08 -07:00
Aditya Sharad
a79e3cf604
QLDoc scripts: Fix overly permissive regex ranges
...
The range `A-aa-z` was too permissive and
includes special characters between `Z` and `a`.
Low impact, but fix to address an internally
reported code scanning alert.
2025-06-24 10:00:29 -07:00
Nora Dimitrijević
690446149a
Java: add CleartextStorageCookie test
...
Given that it's a non-path-problem dataflow query, the InlineExpectationsTest is not as useful.
2025-06-24 18:12:19 +02:00
Paolo Tranquilli
1dcd60527c
Codegen: improve implementation of generated parent/child relationship
...
This improves the implementation of the generated parent/child
relationship by adding a new `all_children` field to `ql.Class` which
lists all children (both direct and inherited) of a class, carefully
avoiding duplicating children in case of diamond inheritance. This:
* simplifies the generated code,
* avoid children ambiguities in case of diamond inheritance.
This only comes with some changes in the order of children in the
generated tests (we were previously sorting bases alphabetically there).
For the rest this should be a non-functional change.
2025-06-24 17:26:24 +02:00
Jeroen Ketema
9a83005730
Merge pull request #19862 from jketema/complex
...
C++: Support more complex 16-bit float types
2025-06-24 17:26:07 +02:00
Chuan-kai Lin
565627847f
pick-kotlin-version.py: tolerate warnings
...
This commit changes pick-kotlin-version.py to use re.search() instead of
re.match(), so that it can better cope with warning messages.
2025-06-24 08:13:43 -07:00
Jeroen Ketema
8f249c77bc
C++: Support more complex 16-bit float types
2025-06-24 16:56:34 +02:00
Nora Dimitrijević
a49999dd5d
PolynomialReDoS: disable diff-informed support
...
This is because it was failing the diff-informed consistency check, and like other ReDoS queries (Python?) the query tries to be helpful by showing a substring of a regex, which has a `hasLocation(...)` (intensional) but no corresponding `getLocation()` (extensional). Until the location overrides get updated to support `hasLocation`-based locations, it's probably best to turn off diff-informed support.
2025-06-24 16:42:41 +02:00
Nora Dimitrijević
b2cb585bf2
UnsafeDeserialization: add missing getASelectedSinkLocation override
...
This fixes the failing diff-informed consistency check.
2025-06-24 16:42:39 +02:00
Nora Dimitrijević
e213e3fc37
Java: convert ImplicitPendingIntents test to .qlref
2025-06-24 16:42:37 +02:00
Nora Dimitrijević
e0311e26c6
Java: convert ImproperIntentVerification test to .qlref
...
It's a non-path query, so the InlineExpectationsTest postprocessor doesn't do anything.
2025-06-24 16:42:35 +02:00
Nora Dimitrijević
aac4f63e9a
Java: convert RequestForgery test to .qlref
2025-06-24 16:42:32 +02:00
Nora Dimitrijević
7f05b72e10
Java: convert OgnlInjection test to .qlref
2025-06-24 16:42:30 +02:00
Nora Dimitrijević
cadfd0dcaa
Java: convert RsaWithoutOaep test to .qlref
2025-06-24 16:42:28 +02:00
Nora Dimitrijević
b7e47e2cf3
Java: convert PolynomialReDoS and RegexInjection tests to .qlref
...
Leaves ReDoS.ql unmodified since it's not a dataflow query; just moves it to its own directory.
2025-06-24 16:42:26 +02:00
Nora Dimitrijević
f5c7ef6ab4
Java: convert XPathInjection test to .qlref
2025-06-24 16:42:23 +02:00
Nora Dimitrijević
162b1c51a9
Java: convert XXE test to .qlref
2025-06-24 16:42:21 +02:00
Nora Dimitrijević
7f33f57c9b
Java: convert UrlForward test to .qlref
2025-06-24 16:42:19 +02:00
Nora Dimitrijević
bf1a699982
Java: convert CWE-522 tests to .qlref
2025-06-24 16:42:17 +02:00
Nora Dimitrijević
4412335223
Java: convert UnsafeDeserialization test to .qlref
2025-06-24 16:42:14 +02:00
Nora Dimitrijević
c4b0955045
Java: convert WebviewDebuggingEnabled test to .qlref
2025-06-24 16:42:12 +02:00
Nora Dimitrijević
192f45ed2b
Java: convert FragmentInjection test to .qlref
2025-06-24 16:42:10 +02:00
Nora Dimitrijević
2b19cbcd7e
Java: convert UnsafeContentUriResolution test to .qlref
2025-06-24 16:42:08 +02:00
Nora Dimitrijević
28694276e2
Java: convert MissingJWTSignatureCheck test to .qlref
2025-06-24 16:42:06 +02:00
Nora Dimitrijević
85c2f72892
Java: convert InsecureRandomness test to .qlref
2025-06-24 16:42:04 +02:00
Nora Dimitrijević
288a938814
Java: convert InsufficientKeySize test to .qlref
2025-06-24 16:42:02 +02:00
Nora Dimitrijević
993b261b63
Java: convert InsecureTrustManager test to .qlref
2025-06-24 16:42:00 +02:00
Nora Dimitrijević
b736e3733c
Java: convert IntentUriPermissionManipulation test to .qlref
2025-06-24 16:41:58 +02:00
Nora Dimitrijević
c77875d834
Java: convert TemplateInjection test to .qlref
2025-06-24 16:41:56 +02:00
Nora Dimitrijević
b8c7bd29c3
Java: convert SpelInjection test to .qlref
2025-06-24 16:41:54 +02:00
Nora Dimitrijević
2a837b208b
Java: convert MvelInjection test to .qlref
2025-06-24 16:41:52 +02:00
Nora Dimitrijević
1b61cb660a
Java: convert JexlInjection test to .qlref
2025-06-24 16:41:50 +02:00
Nora Dimitrijević
1cc91e964d
Java: convert GroovyInjection test to .qlref
2025-06-24 16:41:48 +02:00
Nora Dimitrijević
8e53da285f
Java: convert XSS test to .qlref
2025-06-24 16:41:46 +02:00
Nora Dimitrijević
199eabdd20
Java: convert XsltInjection test to .qlref
...
Also, split off into separate directory from JndiInjectionTest because their $Alerts were interfering with each other.
2025-06-24 16:41:43 +02:00
Nora Dimitrijević
3f9e0fee81
Java: convert JndiInjection test to .qlref
2025-06-24 16:41:41 +02:00
Nora Dimitrijević
e1ddce8456
Java: convert PartialPathTraversalFromRemote test to .qlref
2025-06-24 16:41:39 +02:00
Nora Dimitrijević
588efe4b2b
Java: Convert TaintedPath test to .qlref
2025-06-24 16:41:35 +02:00
Nora Dimitrijević
c4a385fa6a
Merge pull request #19817 from d10c/d10c/convert-tests-to-qlref
...
Convert remaining `{go,swift,ruby}-code-scanning.qls` query tests to `.qlref`
2025-06-24 16:31:13 +02:00
Arthur Baars
afcd8c3047
Merge pull request #19864 from github/post-release-prep/codeql-cli-2.22.1
...
Post-release preparation for codeql-cli-2.22.1
2025-06-24 15:45:21 +02:00
Nora Dimitrijević
35a48e7f41
Swift: convert XXE test to .qlref
2025-06-24 14:58:16 +02:00
Nora Dimitrijević
aa3e0116c1
Swift: convert PathInjection test to .qlref
2025-06-24 14:58:12 +02:00
Nora Dimitrijević
895a8fcb0f
Swift: convert CleartextLogging test to .qlref
2025-06-24 14:58:08 +02:00
Nora Dimitrijević
7615ec7a24
Swift: convert PredicateInjection test to .qlref
2025-06-24 14:58:03 +02:00
Nora Dimitrijević
92a48cdc2b
Ruby: convert InsecureDownload test to .qlref
2025-06-24 14:57:59 +02:00
Nora Dimitrijević
e32982057c
Ruby: convert CommandInjection test to .qlref
2025-06-24 14:57:54 +02:00
Nora Dimitrijević
807c7691c6
Ruby: add PrettyPrintModels test postprocessor
2025-06-24 14:57:49 +02:00
Nora Dimitrijević
cf92b0e91b
Go: convert IncorrectIntegerConversion test to .qlref
2025-06-24 14:57:48 +02:00
Nora Dimitrijević
76a3306c63
Go: convert UncontrolledAllocationSize test to .qlref
2025-06-24 14:57:44 +02:00
github-actions[bot]
6972c7a872
Post-release preparation for codeql-cli-2.22.1
2025-06-24 12:55:14 +00:00
Geoffrey White
e37979546c
Merge pull request #19754 from geoffw0/typeinfer
...
Rust: Type inference for `for` loops and array expressions
2025-06-24 13:19:37 +01:00
Kasper Svendsen
c380c5f150
Merge pull request #19863 from github/kaspersv/ql4ql-overlay-caller-q
...
QL4QL: Extend ql/inline-overlay-caller
2025-06-24 13:15:34 +02:00
Napalys Klicius
79a9d7def8
JS: removed execa parts from SystemCommandExecutors and moved it to Execa.qll
2025-06-24 12:41:22 +02:00
Geoffrey White
898c569f1b
Rust: Change note.
2025-06-24 11:37:54 +01:00
Arthur Baars
4ece8abc30
Merge pull request #19860 from github/release-prep/2.22.1
...
Release preparation for version 2.22.1
2025-06-24 12:37:02 +02:00
Geoffrey White
869c974745
Rust: Change note.
2025-06-24 11:34:54 +01:00
Geoffrey White
96dcdf94af
Rust: Change note.
2025-06-24 11:31:38 +01:00
Geoffrey White
21bea7e403
Merge branch 'main' into typeinfer
2025-06-24 11:23:34 +01:00
Paolo Tranquilli
d7f14600b3
Merge pull request #19853 from github/redsun82/rust-enable-change-note-check
...
Rust: enable change-note check
2025-06-24 12:15:08 +02:00
Kasper Svendsen
e1fc138670
QL4QL: Extend ql/inline-overlay-caller
2025-06-24 11:58:31 +02:00
Napalys Klicius
0902ca0605
JS: address copilot suggestions
2025-06-24 11:37:07 +02:00
Asger F
54bfde9b7a
Update javascript/ql/src/change-notes/2025-06-23-remove-legacy-actions-queries.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-24 11:22:37 +02:00
Asger F
bae3e255e4
Merge pull request #19859 from asgerf/js/remote-element-from-docs
...
JS: Remote mention of Element MaD token
2025-06-24 11:22:24 +02:00
Geoffrey White
6677a81e1c
Merge branch 'main' into lifetime
2025-06-24 10:11:21 +01:00
github-actions[bot]
3e074b2425
Release preparation for version 2.22.1
2025-06-24 08:55:31 +00:00
Simon Friis Vindum
601e317bfe
Merge pull request #19833 from paldepind/rust/overloaded-index
...
Rust: Add type inference for overloaded index expressions
2025-06-24 10:51:31 +02:00
Paolo Tranquilli
a72ae9c960
Rust: refactor ast-generator to have all customization at the start
2025-06-24 10:42:16 +02:00
Paolo Tranquilli
d0c7550119
Rust: refactor pre_emit! and post_emit! to a trait
2025-06-24 10:40:33 +02:00
Kasper Svendsen
0ee6a78a4a
Java: Allow methods with empty bodies for overlay
2025-06-24 10:38:07 +02:00
Kasper Svendsen
6e92d7e247
Java: Add entity discard predicates
2025-06-24 10:38:06 +02:00
Kasper Svendsen
b6e56f26c7
Java: Add manual overlay annotations
2025-06-24 10:38:05 +02:00
Asger F
d428eaeef8
Merge pull request #19655 from GeekMasher/js-clientrests-axios
...
JS: ClientRequests Axios Instance support
2025-06-24 10:35:51 +02:00
Geoffrey White
c2b317783f
C++: Fix for SQL query.
2025-06-24 09:29:46 +01:00
Jeroen Ketema
676289e653
Merge pull request #19845 from jketema/ir-sve
...
C++: Handle Arm SVE in the IR
2025-06-24 10:29:06 +02:00
Kasper Svendsen
81b677a2d9
rename overlay[caller] to overlay[caller?]
2025-06-24 10:25:07 +02:00
Kasper Svendsen
2da8d61984
Run config/sync-files.py
2025-06-24 10:25:06 +02:00
Kasper Svendsen
c207cfdeb7
Overlay: Add overlay annotations to Java & shared libraries
2025-06-24 10:25:06 +02:00
Napalys Klicius
2218a981f6
Merge pull request #19854 from Napalys/js/sinon
...
JS: Explicitly Mark `Sinon` Package as Non RegExp
2025-06-24 10:24:13 +02:00
Kasper Svendsen
e8a08a6b96
Merge pull request #19778 from github/kaspersv/overlay-annotations-script
...
Overlay: Add script to help maintain overlay annotations
2025-06-24 10:22:37 +02:00
Asger F
cb983102e5
JS: Remote mention of Element MaD token
2025-06-24 09:46:20 +02:00
Simon Friis Vindum
153e91bebb
Rust: Re-enable special casing in indexing for Vec
2025-06-24 09:30:23 +02:00
Napalys Klicius
8c345461f0
JS: add change note
2025-06-24 09:08:15 +02:00
Napalys Klicius
d05de1ba4e
JS: moved execa test cases outside experimental
2025-06-24 09:08:13 +02:00
Napalys Klicius
d8b5cb5862
JS: moved execa out of experimental
2025-06-24 09:07:43 +02:00
Paolo Tranquilli
e5cb639e28
Merge pull request #19848 from github/redsun82/rust-regenerate-models
...
Rust: regenerate models after rust-analyzer update
2025-06-24 08:22:38 +02:00
Napalys Klicius
33f42444d5
JS: add change note
2025-06-23 20:25:18 +02:00
Napalys Klicius
ef51ab172f
JS: exclude sinon module from regexp match calls
2025-06-23 20:25:17 +02:00
Napalys Klicius
584b4f51aa
JS: add false positive test cases for hostname regex detection
2025-06-23 20:25:10 +02:00
Geoffrey White
11ffb1f86f
Merge branch 'main' into lifetime
2025-06-23 17:06:06 +01:00
Paolo Tranquilli
8d4e36f869
Rust: enable change-note check
2025-06-23 17:53:53 +02:00
Paolo Tranquilli
bcb3863937
Merge branch 'main' into redsun82/rust-regenerate-models
2025-06-23 17:44:15 +02:00
Paolo Tranquilli
29b37a42ef
Merge pull request #19524 from github/redsun82/cargo-upgrade-3
...
Rust: upgrade `rust-analyzer` to 0.0.288
2025-06-23 17:43:39 +02:00
Geoffrey White
b82a7ab745
Rust: Update variable name in examples.
2025-06-23 16:42:02 +01:00
Tom Hvitved
1ccea7f6b2
Merge pull request #19829 from paldepind/rust/type-tree-constraint
...
Rust: Add `SatisfiesConstraintInput` module in shared type inference
2025-06-23 17:17:23 +02:00
Tom Hvitved
1f559b283d
Merge pull request #19850 from hvitved/rust/in-derive-macro
...
Rust: Take derive macros into account in `is{In,From}MacroExpansion`
2025-06-23 17:16:02 +02:00
Asger F
ea0a80a06a
JS: Un-deprecate Actions.qll for now as we have some internal queries that use it.
2025-06-23 16:38:04 +02:00
Asger F
4fc5738ded
JS: Change note
2025-06-23 16:08:21 +02:00
Asger F
61887beae0
JS: Add test case for false positive
2025-06-23 16:03:41 +02:00
Asger F
cc1a28ac7e
JS: Add parameters of server functions as remote flow sources
2025-06-23 16:03:39 +02:00
Asger F
d9f4e4a90d
JS: Add tests for functions with "use server" directive
2025-06-23 16:03:38 +02:00
Asger F
7dd7246cd4
JS: Update tests.expected
...
Mostly noise due to renamed predicates and reordered result sets
2025-06-23 16:03:35 +02:00
Asger F
180b023c7c
JS: Add inline expectations to React test
2025-06-23 16:03:33 +02:00
Asger F
1787d4dce8
JS: Enable inline expectations in test
...
Will update files in next commit
2025-06-23 16:03:32 +02:00
Asger F
1a18e68364
JS: Remove reactLibraryRef
...
This is not testing anything interesting, and is noisy when adding inline expectations
2025-06-23 16:03:30 +02:00
Asger F
99fb6b62ad
JS: Remove test_ prefix from query predicates
2025-06-23 16:03:29 +02:00
Paolo Tranquilli
823ac5c7ea
Merge branch 'main' into redsun82/cargo-upgrade-3
2025-06-23 16:01:21 +02:00
Simon Friis Vindum
326c7de521
Rust: Ensure index expressions are not handled as calls yet in data flow
2025-06-23 16:00:10 +02:00
Simon Friis Vindum
846ef9ad5a
Rust: Document spurious type
2025-06-23 16:00:08 +02:00
Simon Friis Vindum
84accd1c81
Rust: Implement overloaded index expression in type inference
2025-06-23 16:00:07 +02:00
Asger F
8ff7182f3a
JS: Move React test predicates into one file
2025-06-23 15:37:15 +02:00
Asger F
980d0f46fa
JS: Add model for react 'use'
2025-06-23 15:27:21 +02:00
Asger F
768ccc6a54
JS: Add test for react 'use' function
2025-06-23 15:26:08 +02:00
Tom Hvitved
7350196044
Rust: Take derive macros into account in is{In,From}MacroExpansion
2025-06-23 15:23:06 +02:00
Tom Hvitved
13bc0d2334
Merge pull request #19825 from hvitved/rust/path-resolution-consistency-remove-overlap
...
Rust: Avoid overlapping path resolution consistency checks
2025-06-23 15:20:49 +02:00
Geoffrey White
530ded18e4
Merge branch 'main' into typeinfer
2025-06-23 14:02:58 +01:00
Asger F
7da2d71a70
JS: Update query suite expectations
2025-06-23 14:57:23 +02:00
Nick Rolfe
45f089fda0
Ruby: skip non-existent files in overlay changes JSON
...
The previous implementation returned None if any of the paths in the
changes JSON couldn't be canonicalized. This could happen for files that
were deleted in the diff. Now, it just ignores paths for which
canonicalize() fails.
2025-06-23 13:53:18 +01:00
Asger F
b1da23968c
JS: Change note
2025-06-23 14:50:09 +02:00
Asger F
76b7228160
JS: Remove js/actions/command-injection
...
Superseded by actions/command-injection/{medium,critical}
2025-06-23 14:41:26 +02:00
Michael Nebel
725ba286b6
Merge pull request #19843 from michaelnebel/java/removequery
...
Java: Remove java/deprecated-call from the Code Quality suite.
2025-06-23 14:40:03 +02:00
Paolo Tranquilli
16b9bec015
Rust: regenerate models after rust-analyzer update
2025-06-23 14:39:56 +02:00
Asger F
9dcb61e771
JS: Remove js/actions/actions-artifact-leak
...
Superseded by actions/secrets-in-artifacts
2025-06-23 14:39:28 +02:00
Paolo Tranquilli
5162d2cf52
Rust: fix DB upgrade/downgrade scripts
2025-06-23 14:38:38 +02:00
Asger F
3a00e8d1c5
JS: Remove js/actions/pull-request-target
...
Superseded by actions/untrusted-checkout/{medium,high,critical}
2025-06-23 14:37:21 +02:00
Asger F
0d3bb89195
JS: Deprecate Actions.qll
2025-06-23 14:36:15 +02:00
Arthur Baars
13b28e2b60
Rust: add upgrade/downgrade scripts for new tables
2025-06-23 14:35:52 +02:00
Geoffrey White
4530e85c93
Rust: Repair the test annotations.
2025-06-23 13:12:53 +01:00
Geoffrey White
8c848ac019
Rust: Effects of rustfmt on .expected.
2025-06-23 13:08:42 +01:00
Geoffrey White
d02a7288ff
Update rust/ql/lib/codeql/rust/internal/TypeInference.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-06-23 13:04:56 +01:00
Geoffrey White
34cd9766d5
Rust: Run rustfmt --edition 2024 on the test.
2025-06-23 12:59:42 +01:00
Geoffrey White
bfaabab929
Rust: Update more expectations.
2025-06-23 12:58:35 +01:00
Tom Hvitved
28d3f9b572
Merge pull request #19801 from geoffw0/poem
...
Rust: Update PoemHandlerParam to use getCanonicalPath
2025-06-23 13:53:39 +02:00
Paolo Tranquilli
cbd62a8b75
Rust: address review and test failure
2025-06-23 13:15:09 +02:00
Simon Friis Vindum
60c27f8c30
Rust: Address PR feedback
2025-06-23 13:11:15 +02:00
Asger F
8efa38be79
JS: Change default TypeScript extraction mode to basic
2025-06-23 12:55:20 +02:00
Asger F
e323833bc3
JS: Fix qldoc coverage
2025-06-23 12:55:19 +02:00
Asger F
07f84a5add
JS: Remove an unnecessary import
2025-06-23 12:55:18 +02:00
Asger F
1cab99290e
JS: Remove unneeded integration test
2025-06-23 12:55:16 +02:00
Asger F
f5f12c2f81
JS: Delete or simplify TypeScript type-specific tests
2025-06-23 12:55:15 +02:00
Asger F
ee9c4fa763
JS: Deprecate everything that depends on type extraction
2025-06-23 12:55:14 +02:00
Asger F
f5ac3fd611
JS: Remove old metric-meta query TypedExprs.ql
...
This was used in the very old dist-compare tool, but has no use anymore
2025-06-23 12:55:12 +02:00
Asger F
6d389c31c7
JS: Update an outdated QLDoc comment
2025-06-23 12:55:11 +02:00
Asger F
fcb6882f16
JS: Update API usage in MissingAwait
2025-06-23 12:55:09 +02:00
Asger F
e459884b69
JS: Update API usage in ViewComponentInput
2025-06-23 12:55:08 +02:00
Asger F
fb92d9b034
JS: Update type usage in UnreachableMethodOverloads
...
This query depended on the cons-hashing performed by type extraction to determine if two types are the same.
This is not trivial to restore, but not important enough to reimplement right now, so for now just simplifying the query's ability to recognise that two types are the same.
2025-06-23 12:55:06 +02:00
Asger F
8b2a424fb0
JS: Update type usage use in Express model
2025-06-23 12:55:05 +02:00
Asger F
b71d09630a
JS: Update type usage in Electron model
2025-06-23 12:55:03 +02:00
Asger F
ace8b09a36
JS: Update type usage in ClassValidator.qll
2025-06-23 12:55:01 +02:00
Asger F
9d4c38b5f1
JS: Update type usage in definitions.qll
2025-06-23 12:54:59 +02:00
Asger F
17a687b38f
JS: Update type usage in Nest library model
2025-06-23 12:54:57 +02:00
Asger F
b82e84930c
JS: Add public API
2025-06-23 12:54:56 +02:00
Asger F
2a0c7c8801
JS: Add classHasGlobalName into NameResolution
2025-06-23 12:54:55 +02:00
Asger F
de9dab9ba3
JS: Move some predicates into NameResolution
2025-06-23 12:54:53 +02:00
Tamas Vajk
60e726bdf2
Java: Add java/javautilconcurrentscheduledthreadpoolexecutor query for zero thread pool size
2025-06-23 12:52:45 +02:00
Paolo Tranquilli
84de91b7d8
Rust: accept test changes
2025-06-23 12:51:46 +02:00
Simon Friis Vindum
6e9fd496a6
Rust: Implement await expression using SatisfiesConstraint module
2025-06-23 12:51:03 +02:00
Simon Friis Vindum
a367388326
Shared: Refactor type inference and expose SatisfiesConstraint module
2025-06-23 12:50:45 +02:00
Asger F
93c891a987
Merge pull request #19822 from Fdawgs/patch-1
...
JS: Update Fastify tld
2025-06-23 12:49:42 +02:00
Jeroen Ketema
ca961386b2
C++: Handle Arm SVE in the IR
2025-06-23 12:33:42 +02:00
Paolo Tranquilli
8f9c03165f
Rust: remove unneeded rustc_apfloat patch
2025-06-23 12:28:03 +02:00
Paolo Tranquilli
377fb00dea
Merge branch 'main' into redsun82/cargo-upgrade-3
2025-06-23 12:26:15 +02:00
Tom Hvitved
1f09f713b9
Rust: Avoid overlapping path resolution consistency checks
2025-06-23 11:26:30 +02:00
Michael Nebel
a17078b6be
Java: Remove java/deprecated-call from the Code Quality suite.
2025-06-23 11:14:02 +02:00
Paolo Tranquilli
4eb98fc46e
Merge pull request #19280 from github/redsun82/rust-doc
...
Rust: update docs for public preview
2025-06-23 10:56:39 +02:00
Paolo Tranquilli
eb3b717b2f
Rust: accept test changes for now
2025-06-23 10:50:10 +02:00
Paolo Tranquilli
3ffaf5722a
Rust: fix Meta missing post_emit! implementation
2025-06-23 10:43:39 +02:00
Paolo Tranquilli
915b0b3861
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-rust.rst
...
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com >
2025-06-23 10:16:55 +02:00
Paolo Tranquilli
bd0d996664
Merge branch 'main' into redsun82/rust-doc
2025-06-23 10:16:38 +02:00
Tom Hvitved
12cda86141
Merge pull request #19826 from hvitved/csharp/function-auth-test
...
C#: Add another test for `MissingAccessControl.ql`
2025-06-23 10:02:33 +02:00
Paolo Tranquilli
23c449f21f
Merge pull request #19824 from github/redsun82/rust-derive-macro-expansion
...
Rust: expand derive macros
2025-06-23 09:42:49 +02:00
Paolo Tranquilli
25b337b5c5
Merge pull request #19819 from github/redsun82/rust-regenerate-models
...
Rust: adapt model generation to new format
2025-06-23 09:16:52 +02:00
Jeroen Ketema
a9169dc126
Merge pull request #19837 from jketema/typeref-dataset-check
...
C++: Update expected test results after extractor changes
2025-06-22 10:47:40 +02:00
Arthur Baars
f4bdd4d35a
Merge branch 'main' into redsun82/rust-derive-macro-expansion
2025-06-20 19:32:08 +02:00
Arthur Baars
d303a2cf85
Merge branch 'main' into redsun82/cargo-upgrade-3
2025-06-20 19:16:59 +02:00
Arthur Baars
666144ef11
Merge pull request #19823 from github/aibaars/rust-expand-assoc-items
...
Rust: expand attribute macros on `AssocItem` and `ExternItem`
2025-06-20 19:13:44 +02:00
Arthur Baars
089f35330f
Merge branch 'main' into redsun82/cargo-upgrade-3
2025-06-20 19:07:39 +02:00
Arthur Baars
9605eb09b4
Merge pull request #19774 from github/aibaars/limit-diagnostics
...
Rust: limit number of diagnostics to 100 per trap file
2025-06-20 18:29:57 +02:00
Paolo Tranquilli
5b4c566f06
Cargo: fix Cargo.lock file
2025-06-20 18:27:49 +02:00
Paolo Tranquilli
9c06a826cf
Rust: apply suggestions from code review
...
Co-authored-by: Sunbrye Ly <56200261+sunbrye@users.noreply.github.com >
2025-06-20 18:16:32 +02:00
Paolo Tranquilli
7edae1eb17
Rust: suppress some expected macro expansion warnings
2025-06-20 17:56:09 +02:00
Paolo Tranquilli
02a9d4c86d
Rust: fix compilation errors
2025-06-20 17:52:36 +02:00
Paolo Tranquilli
efd318dc01
Rust: rerun codegen
2025-06-20 17:45:08 +02:00
Paolo Tranquilli
12aa93b578
Rust: suppress TypeAnchor in the generator
2025-06-20 17:43:59 +02:00
Paolo Tranquilli
492b0cd2e8
Bazel: regenerate cargo vendored files
2025-06-20 17:37:58 +02:00
Paolo Tranquilli
ce29d8a59a
Cargo: run upgrade
2025-06-20 17:34:23 +02:00
Paolo Tranquilli
2c14f273ed
Bazel/Rust: Change rust version
2025-06-20 17:34:16 +02:00
Arthur Baars
e3e88800d6
Merge branch 'main' into aibaars/rust-expand-assoc-items
2025-06-20 17:30:11 +02:00
Paolo Tranquilli
e8c3a2bfb9
Merge branch 'main' into redsun82/rust-regenerate-models
2025-06-20 17:22:49 +02:00
Paolo Tranquilli
3ddecd4d9f
Merge pull request #19836 from github/redsun82/rust-fix-test-flakiness
...
Rust: yet another tentative fix to test flakiness
2025-06-20 17:20:52 +02:00
Paolo Tranquilli
01b84a8b1e
Rust: yet another tentative fix to test flakiness
2025-06-20 16:58:38 +02:00
Paolo Tranquilli
c22526e9d0
Rust: add upgrade/downgrade scripts
2025-06-20 16:17:22 +02:00
Paolo Tranquilli
6064622961
Rust: accept test changes
2025-06-20 16:08:06 +02:00
Paolo Tranquilli
02b6e856a3
Rust: remove VariantDef
2025-06-20 15:59:18 +02:00
Taus
ac8b41a5da
Merge pull request #19680 from github/tausbn/javascript-exclude-obviously-generated-files
...
JavaScript: Don't extract obviously generated files
2025-06-20 15:52:39 +02:00
Paolo Tranquilli
0d292b785c
Rust: remove reduntant Item superclass from Adt subclasses
2025-06-20 15:45:18 +02:00
Arthur Baars
7bc3fd6ae9
Merge branch 'main' into aibaars/rust-expand-assoc-items
2025-06-20 15:38:34 +02:00
Napalys Klicius
3fbe348f99
Merge pull request #19784 from Napalys/js/express_middleware
...
JS: Improve Express middleware taint tracking
2025-06-20 15:36:26 +02:00
Paolo Tranquilli
bc8b1f251e
Rust: rename asFunction to getFunction
2025-06-20 15:27:56 +02:00
Paolo Tranquilli
6253b5c5d0
Merge branch 'main' into redsun82/rust-regenerate-models
2025-06-20 15:27:40 +02:00
Paolo Tranquilli
7a3f4a622e
Merge branch 'main' into aibaars/rust-expand-assoc-items
2025-06-20 15:22:20 +02:00
Paolo Tranquilli
670b835410
Merge branch 'main' into redsun82/rust-derive-macro-expansion
2025-06-20 15:21:03 +02:00
Eric Bickle
32464a8995
C++: Support SQL Injection sinks for Oracle Call Interface (OCI)
2025-06-20 06:05:24 -07:00
Tom Hvitved
b234d775ac
Merge pull request #19816 from hvitved/rust/path-resolution-crate-self
...
Rust: Path resolution for `crate::{self as foo}`
2025-06-20 14:50:28 +02:00
Paolo Tranquilli
f1f36db068
Merge pull request #19828 from github/redsun82/rust-fix-nightly-toolchain
...
Rust: fix nightly toolchain version for tests using it
2025-06-20 14:40:05 +02:00
Paolo Tranquilli
52c0028f85
Rust: make Adt be generated
2025-06-20 14:35:08 +02:00
Paolo Tranquilli
3590ccaa69
Rust: fix tests
2025-06-20 14:32:24 +02:00
Napalys Klicius
c1b2fd86b2
Update javascript/ql/lib/semmle/javascript/frameworks/Express.qll
...
Co-authored-by: Taus <tausbn@github.com >
2025-06-20 14:29:51 +02:00
Simon Friis Vindum
6773903786
Merge pull request #19820 from paldepind/rust/explicit-dereference
...
Rust: Fix type inference for explicit dereference with `*` to the `Deref` trait
2025-06-20 14:23:14 +02:00
Paolo Tranquilli
691281a481
Rust: mark one value flow as spurious (should be taint)
2025-06-20 14:13:37 +02:00
Paolo Tranquilli
7f1769e8d1
Rust: fix nightly toolchain version for tests using it
...
Rather than fixing the version separately for each test, we can just
request to use a nightly in the `options.yml` file, with the specific
version hard-coded in `qltest.rs`. We can update it if we need to.
It's better to have a single nightly version for all tests that require
it, in order to avoid downloading more versions than necessary.
2025-06-20 14:03:42 +02:00
Kasper Svendsen
ed8b787f28
rename overlay[caller] to overlay[caller?]
2025-06-20 13:58:01 +02:00
Kasper Svendsen
b1346e2ddb
Address copilot review comments
2025-06-20 13:58:00 +02:00
Kasper Svendsen
cd2fe64b39
Add script to add overlay annotations
2025-06-20 13:58:00 +02:00
Jeroen Ketema
17ce5f42e6
C++: Update expected test results after extractor changes
2025-06-20 13:51:36 +02:00
Arthur Baars
2acce96bb5
Apply suggestions from code review
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2025-06-20 13:25:54 +02:00
Arthur Baars
b7f66f8653
Rust: Rust: expand attribute macros on AssocItem and ExternItem
2025-06-20 13:21:26 +02:00
Simon Friis Vindum
bd2812c821
Rust: Only resolve deref methods on references to avoid blowup
2025-06-20 12:49:22 +02:00
Napalys Klicius
8b3137626c
Merge pull request #19743 from Napalys/js/quality/loop_shift
...
JS: Promote `js/loop-iteration-skipped-due-to-shifting` to the Code Quality suite
2025-06-20 12:36:29 +02:00
Tom Hvitved
84e93e2dc5
C#: Add another test for MissingAccessControl.ql
2025-06-20 11:49:30 +02:00
Napalys Klicius
bca536c5b6
Merge remote-tracking branch 'origin/main' into js/quality/loop_shift
2025-06-20 11:30:20 +02:00
Paolo Tranquilli
e935bd6faf
Rust: expand derive macros
2025-06-20 11:19:06 +02:00
Napalys Klicius
8c2bda32df
Merge pull request #19776 from Napalys/js/mass_quality_promotion
...
JS: Mass promotion of queries to `quality` status
2025-06-20 10:53:32 +02:00
Owen Mansel-Chan
529b6a5365
Merge pull request #19730 from owen-mc/update-qhelp-style-guide-for-markdown-format
...
Update qhelp style guide for markdown format
2025-06-20 09:53:12 +01:00
Napalys Klicius
7c25bcdad1
Changed js/duplicate-condition to reliability and correctness
2025-06-20 08:06:03 +02:00
Simon Friis Vindum
6b2c125bb0
Rust: Updated expected files
2025-06-19 21:01:53 +02:00
Simon Friis Vindum
09bf05f0df
Rust: Fix types for * to deref overload
2025-06-19 21:01:26 +02:00
Napalys Klicius
aa3e9c6579
Changed js/unreachable-statement to reliability and correctness
2025-06-19 19:52:03 +02:00
Napalys Klicius
32dd665472
Changed js/unused-loop-variable to reliability and correctness
2025-06-19 19:45:20 +02:00
Napalys Klicius
4fd3ef8f1c
Changed js/useless-assignment-in-return to reliability and correctness
2025-06-19 19:37:13 +02:00
Napalys Klicius
4bc97326d1
Changed js/label-in-switch to reliability and correctness
2025-06-19 19:30:53 +02:00
Napalys Klicius
125add1e19
Changed js/node/missing-exports-qualifier to reliability and correctness
2025-06-19 19:24:00 +02:00
Napalys Klicius
2ab35d6a45
Changed js/node/assignment-to-exports-variable to reliability and correctness
2025-06-19 19:21:06 +02:00
Paolo Tranquilli
f812b6461c
Rust: address review
2025-06-19 18:28:13 +02:00
Napalys Klicius
c1d29cc48a
Changed js/whitespace-contradicts-precedence to reliability and correctness
2025-06-19 18:26:12 +02:00
Napalys Klicius
bb9a2289a3
Changed js/conditional-comment to reliability and correctness
2025-06-19 18:25:31 +02:00
Paolo Tranquilli
11af770cea
Merge branch 'main' into redsun82/rust-doc
2025-06-19 18:21:47 +02:00
Paolo Tranquilli
7a9f23c759
Rust: fix sphinx error
2025-06-19 18:19:26 +02:00
Owen Mansel-Chan
cdd6245b98
Merge pull request #19799 from owen-mc/java/quality-tags
...
Java: Tag quality queries with `quality` and sub-category
2025-06-19 16:43:02 +01:00
Nick Rolfe
665df4baef
Ruby: add minimal path transformer support
...
Supports only a minimal subset of the project layout specification;
enough to work with the transformers produced by the CLI when building
an overlay database.
2025-06-19 16:34:16 +01:00
Nick Rolfe
1bd7c4f11c
Ruby: add databaseMetadata relation to dbscheme
...
This is required for overlay support.
2025-06-19 16:34:15 +01:00
Nick Rolfe
c4ccc5502d
Ruby: add support for extracting overlays
2025-06-19 16:34:14 +01:00
Frazer Smith
094b67f88c
JS: Update Fastify tld
2025-06-19 16:22:46 +01:00
Napalys Klicius
ad6c6b2d26
Changed js/angular/dependency-injection-mismatch to reliability and correctness
2025-06-19 17:16:32 +02:00
Paolo Tranquilli
2bf5a70884
Rust: update model generator tests
2025-06-19 17:08:33 +02:00
Taus
036489c6bd
Merge pull request #19812 from joefarebrother/python-qual-tagging
...
Python: Tag quality queries with `quality` and sub category.
2025-06-19 16:30:51 +02:00
Napalys Klicius
c18fe303d0
JS: Changed MissingThisQualifier to reliability and correctness
2025-06-19 16:27:00 +02:00
Napalys Klicius
244bf428a1
JS: Fixed typo.
2025-06-19 16:26:07 +02:00
Paolo Tranquilli
b5a7f87bbc
Rust: fix debug/CaptureSummaryModelsPartialPath.ql
2025-06-19 16:17:18 +02:00
Paolo Tranquilli
0e9d4aacd9
Rust: accept test changes
2025-06-19 16:13:26 +02:00
Jon Janego
a1e95069f3
Merge pull request #19815 from github/quality-top-level-tags
...
Update query-metadata-style-guide.md
2025-06-19 09:01:22 -05:00
Geoffrey White
b40bd75e64
Rust: Revert consistency check failures (cross fingers...)
2025-06-19 14:33:30 +01:00
Geoffrey White
7a25596749
Merge branch 'main' into typeinfer
2025-06-19 14:27:35 +01:00
Joe Farebrother
f457453647
Update redundant assignment to be a correctness issue for cross language consistency
2025-06-19 14:22:12 +01:00
Geoffrey White
26e7b2d5f8
Rust: Accept path resolution consistency changes.
2025-06-19 14:19:13 +01:00
Joe Farebrother
e67f057b85
Update integration test output
2025-06-19 14:09:55 +01:00
Joe Farebrother
63d7eac127
Ensure exactly one subcategory is used
2025-06-19 14:09:07 +01:00
Joe Farebrother
c8c92a7139
Update tags for mixed-tuple-returns to include exactly 1 subcategory
2025-06-19 14:09:00 +01:00
Joe Farebrother
c3f7b18055
Review suggestions - update some tags
2025-06-19 14:08:51 +01:00
Joe Farebrother
09516a47d3
Fix integration test output
2025-06-19 14:08:42 +01:00
Joe Farebrother
d28a19c961
Update integration test output & add changenote
2025-06-19 14:08:30 +01:00
Joe Farebrother
fa5b2ef794
Tag remaining high precision quality queries
...
Excluded queries that are python 2 specific; as well as the cyclic import queries
2025-06-19 14:08:07 +01:00
Joe Farebrother
02f8ec33f2
Tag 'type-checking'-like quality queries
2025-06-19 14:07:55 +01:00
Joe Farebrother
4b1d31c976
Tag 'linter-like' quality queries that don't use pointsto
2025-06-19 14:07:42 +01:00
Joe Farebrother
869e33e38c
Tag 'linter-like' quality queries that use pointto
...
Excluded for now: unnecassary-delete; since the pattern is often intentional to break reference cycles, which the query doesn't account for; so uncertain about its claim of high precision
2025-06-19 14:07:15 +01:00
Joe Farebrother
5c4548df45
Tag more quality queries.
...
Excluded for now for uncertainty: incomplete ordering, import deprecated module
2025-06-19 14:06:57 +01:00
Joe Farebrother
049c0705a9
Tag quality queries that are high precision and dont use pointsto
2025-06-19 14:06:46 +01:00
Paolo Tranquilli
170dd6c9cc
Rust: regenerate models
2025-06-19 14:58:47 +02:00
Paolo Tranquilli
79fd10d31f
Rust: move model generator to new format
2025-06-19 14:58:46 +02:00
Simon Friis Vindum
7d536a3c80
Rust: When resolving methods on reference also consider the reference itself
2025-06-19 14:57:52 +02:00
Geoffrey White
d55e8b7010
Rust: Add another test case for ranges.
2025-06-19 13:45:54 +01:00
Nora Dimitrijević
b62a6db314
Merge pull request #19760 from d10c/d10c/go/diff-informed-2
...
Go: mass-enable diff-informed queries phase 2 - `getASelected{Source,Sink}Location() { none() }`
2025-06-19 14:44:56 +02:00
Nora Dimitrijević
9974f9e93b
Merge pull request #19759 from d10c/d10c/cpp/diff-informed-2
...
C++: mass-enable diff-informed queries phase 2 - `getASelected{Source,Sink}Location() { none() }`
2025-06-19 14:44:04 +02:00
Simon Friis Vindum
845179665c
Rust: Add type inference test with borrow of unknown argument
2025-06-19 14:29:27 +02:00
Simon Friis Vindum
7c9d15b605
Rust: Add test with method on borrow
2025-06-19 14:29:26 +02:00
Simon Friis Vindum
9bdb541065
Rust: Add type inference tests for dereferencing
2025-06-19 14:29:15 +02:00
Napalys Klicius
8679151ace
Update javascript/ql/src/change-notes/2025-06-12-loop-iteration.md
...
Co-authored-by: Taus <tausbn@github.com >
2025-06-19 14:21:08 +02:00
Napalys Klicius
5448071e09
Update javascript/ql/src/change-notes/2025-06-12-loop-iteration-fix.md
...
Co-authored-by: Taus <tausbn@github.com >
2025-06-19 14:20:37 +02:00
Nora Dimitrijević
699c82a540
Merge pull request #19757 from d10c/d10c/actions/diff-informed-2
...
Actions: mass-enable diff-informed queries phase 2 - `getASelected{Source,Sink}Location() { none() }`
2025-06-19 14:19:55 +02:00
Nora Dimitrijević
11bccdd753
Merge pull request #19798 from d10c/d10c/ruby/diff-informed-2
...
Ruby: mass enable diff-informed data flow `none()` location overrides
2025-06-19 14:14:39 +02:00
Napalys Klicius
f80651e78a
Merge pull request #19750 from Napalys/js/remove_encodeURI
...
JS: remove `encodeURI` from sanitizer list of request forgery
2025-06-19 14:12:52 +02:00
Geoffrey White
7170e97e22
Rust: Update test expectations format (type=...).
2025-06-19 13:09:28 +01:00
Jeroen Ketema
3f3a920a54
Merge pull request #19818 from jketema/int-fix
...
Python: Fix integration test
2025-06-19 13:52:02 +02:00
Nora Dimitrijević
f577c08f4d
Merge pull request #19795 from d10c/d10c/java/diff-informed-2
...
Java: mass enable diff-informed data flow + `none()` overrides
2025-06-19 13:48:53 +02:00
Jeroen Ketema
dd1c09769f
Python: Fix integration test
2025-06-19 13:36:57 +02:00
Paolo Tranquilli
261c129555
MaD generator: add single file mode
2025-06-19 12:57:05 +02:00
Owen Mansel-Chan
2225a2d8de
Merge pull request #19763 from owen-mc/go/quality-tags
...
Go: Update tags for high precision quality queries
2025-06-19 11:32:31 +01:00
Geoffrey White
f670fcb301
Rust: Add a Vec test case that we actually get (explicit type).
2025-06-19 11:28:17 +01:00
Geoffrey White
1622d08624
Rust: Add inferArrayExprType.
2025-06-19 11:21:37 +01:00
Geoffrey White
639f85a556
Merge branch 'main' into typeinfer
2025-06-19 11:15:52 +01:00
Paolo Tranquilli
2818e6ee17
MaD generator: switch to snake_case fields
2025-06-19 11:59:28 +02:00
Owen Mansel-Chan
ebd917600d
Update quality suite integration test
2025-06-19 10:37:49 +01:00
Owen Mansel-Chan
a26610a05c
Add change note
2025-06-19 10:34:01 +01:00
Owen Mansel-Chan
a2ff045a7a
Update tags for high precision quality queries
2025-06-19 10:33:58 +01:00
Simon Friis Vindum
bea855abd7
Merge pull request #19789 from paldepind/rust/operator-borrowing
...
Rust: Account for borrows in operators in type inference
2025-06-19 11:33:56 +02:00
Kasper Svendsen
76786798df
Merge pull request #19810 from kaspersv/kaspersv/inline-overlay-caller-test
...
QL4QL: Add test for `ql/inline-overlay-caller` query
2025-06-19 11:30:32 +02:00
Geoffrey White
4b7c7c1c21
Rust: Accept consistency check changes (again).
2025-06-19 10:30:06 +01:00
Geoffrey White
64d0e174c4
Merge branch 'main' into poem
2025-06-19 10:19:05 +01:00
Nora Dimitrijević
438b92b995
Merge pull request #19797 from d10c/d10c/python/diff-informed-2
...
Python: mass enable diff-informed data flow `none()` location overrides
2025-06-19 10:55:07 +02:00
Nora Dimitrijević
687e8d21a1
Merge pull request #19761 from d10c/d10c/swift/diff-informed-2
...
Swift: mass-enable diff-informed queries phase 2 - `getASelected{Source,Sink}Location() { none() }`
2025-06-19 10:54:49 +02:00
Nora Dimitrijević
8e223263db
Merge pull request #19758 from d10c/d10c/csharp/diff-informed-2
...
C#: mass-enable diff-informed queries phase 2 - `getASelected{Source,Sink}Location() { none() }`
2025-06-19 10:54:38 +02:00
Napalys Klicius
8b2bb07140
Updated quality extended expected file after merge
2025-06-19 10:27:57 +02:00
Napalys Klicius
119c1e61ec
Merge remote-tracking branch 'origin/main' into js/mass_quality_promotion
2025-06-19 10:27:15 +02:00
Napalys Klicius
88f668781d
Updated extended expected file after merge
2025-06-19 10:24:39 +02:00
Napalys Klicius
53cae4fa97
Merge remote-tracking branch 'origin/main' into js/quality/loop_shift
2025-06-19 10:21:52 +02:00
Owen Mansel-Chan
5bc974afe4
Address review comments
2025-06-18 23:59:04 +01:00
Tom Hvitved
519e56f752
Rust: Path resolution for crate::{self as foo}
2025-06-18 19:57:57 +02:00
Tom Hvitved
77a92c062b
Rust: Add path resolution test
2025-06-18 19:55:33 +02:00
Geoffrey White
36cf4b613e
Rust: Accept consistency changes.
2025-06-18 17:32:20 +01:00
Geoffrey White
117a80e8d7
Rust: Accept consistency check changes.
2025-06-18 17:24:45 +01:00
Jon Janego
8450c5b111
Update query-metadata-style-guide.md
...
clarifying usage of top level tags
2025-06-18 11:24:30 -05:00
Owen Mansel-Chan
7a50298492
Update query suite test expectation
2025-06-18 16:47:42 +01:00
Owen Mansel-Chan
b8a694c9fe
Address review comments
2025-06-18 16:43:40 +01:00
Owen Mansel-Chan
d3eb4f8eb6
Remove query with hard-coded threshold
2025-06-18 16:43:33 +01:00
Owen Mansel-Chan
9cfa6fe59c
Update expected quality queries
2025-06-18 16:43:32 +01:00
Owen Mansel-Chan
72a6280482
Add change note
2025-06-18 16:43:30 +01:00
Owen Mansel-Chan
97dceb3a1c
Tag with quality and sub-category
2025-06-18 16:43:29 +01:00
Owen Mansel-Chan
5c71e3a922
State differences between XML and Markdown formats
2025-06-18 16:27:40 +01:00
REDMOND\brodes
8ee03e48ca
Crypto: Fix cpp-specific code scanning alert failure
2025-06-18 11:04:27 -04:00
Jeroen Ketema
2e5d52e7e8
Merge pull request #19792 from jketema/sve
...
C++: Add Arm scalable vector type QL classes
2025-06-18 17:01:29 +02:00
Paolo Tranquilli
24cfc840a6
Merge branch 'main' into redsun82/mad-generator
2025-06-18 16:53:43 +02:00
Geoffrey White
5edd6e85e7
Rust: Restrict results to 'unsafe' blocks.
2025-06-18 15:45:31 +01:00
Geoffrey White
dbde8418bb
Rust: Another test case (unsafe function).
2025-06-18 15:29:37 +01:00
Arthur Baars
a253b319d5
Rust: limit number of diagnostics to 100 per trap file
2025-06-18 16:05:11 +02:00
Nicolas Will
16c6411cf2
Merge pull request #19705 from bdrodes/pawel_signatures_conversion
...
Quantum: Add OpenSSL signature models
2025-06-18 15:32:15 +02:00
Paolo Tranquilli
e0114753fe
Rust: fix formatting in doc snippet
2025-06-18 15:24:20 +02:00
Joe Farebrother
4ae72dbad6
Merge pull request #19709 from joefarebrother/python-qual-init-call-subclass
...
Python: Modernize the init-calls-subclass query
2025-06-18 14:21:25 +01:00
Chris Smowton
4a14d3581b
Merge pull request #19496 from smowton/smowton/admin/cleanup-kotlin-versions
...
Kotlin: clean up alternate-version code now that v1.5.x support is dropped
2025-06-18 13:51:16 +01:00
Geoffrey White
01c6966cef
Rust: Remove redundant code and imports.
2025-06-18 13:25:30 +01:00
Tamás Vajk
f5f0918563
Merge pull request #19808 from tamasvajk/quality/extended-suite
...
Add code-quality-extended query suites
2025-06-18 14:23:22 +02:00
Paolo Tranquilli
494d192b32
Merge branch 'main' into redsun82/rust-doc
2025-06-18 14:02:31 +02:00
Tom Hvitved
ee9ceb5066
Merge pull request #19790 from hvitved/rust/new-mad-format
...
Rust: Add new MaD format based on QL-computed canonical paths
2025-06-18 13:55:23 +02:00
Jeroen Ketema
fe80d9a7d8
C++: Update stats file
2025-06-18 13:41:35 +02:00
Jeroen Ketema
c19085e56e
C++: Add upgrade and downgrade scripts
2025-06-18 13:41:34 +02:00
Jeroen Ketema
25149e7ec2
C++: Update expected test results
2025-06-18 13:41:33 +02:00
Jeroen Ketema
7ac26e879b
C++: Add Arm scalable vector type QL classes
2025-06-18 13:41:24 +02:00
Tom Hvitved
e5ef09a127
Merge pull request #19809 from hvitved/rust/jump-to-method-call
...
Rust: Extend jump-to-def query with method calls
2025-06-18 13:17:02 +02:00
Tom Hvitved
c88a5049e0
Rust: Fix column orders in interpretModelForTest
2025-06-18 13:15:36 +02:00
Tamas Vajk
94052f1782
Adjust C# expected file after rebase
2025-06-18 13:10:34 +02:00
Tamas Vajk
e6a9ff08a3
Adjust query-suite integration test expected files
2025-06-18 13:10:34 +02:00
Tamas Vajk
40274dcd69
Add code-quality-extended query suites
2025-06-18 13:10:34 +02:00
Geoffrey White
79cedc2586
Rust: Rename predicate again.
2025-06-18 11:56:04 +01:00
Geoffrey White
5bf799e717
Apply suggestions from code review
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-06-18 11:52:02 +01:00
Paolo Tranquilli
ddc065b161
Merge pull request #19800 from github/redsun82/rust-qltest-proc-macro
...
Rust: add `proc-macro` capabilities to QL tests
2025-06-18 12:23:14 +02:00
Tom Hvitved
63379df004
Rust: Add new MaD format based on QL-computed canonical paths
2025-06-18 12:14:36 +02:00
Tom Hvitved
c35598a2ea
Rust: Add Deprecated suffix to existing MaD extensible predicates
2025-06-18 12:14:30 +02:00
Paolo Tranquilli
75616de613
Rust: make proc_macro test version also 0.0.1
2025-06-18 11:12:13 +02:00
Paolo Tranquilli
27eeaf25fd
Rust: fix lock files
2025-06-18 10:47:44 +02:00
Kasper Svendsen
01e7a33e1b
QL4QL: Add test for ql/inline-overlay-caller query
2025-06-18 10:36:17 +02:00
Paolo Tranquilli
80ef303890
Merge branch 'main' into redsun82/rust-qltest-proc-macro
2025-06-18 10:32:42 +02:00
Geoffrey White
9c3e362594
Rust: Add TupleStructPat.getStruct.
2025-06-18 09:29:14 +01:00
Paolo Tranquilli
b29ad5b12a
Rust: add attribute macro expansion to path resolution test
2025-06-18 10:22:19 +02:00
Idriss Riouak
eff1fbab0f
Merge pull request #19805 from github/idrissrio/namespace-attributes
...
C++: fix typedef resolution in `ArrayType`
2025-06-18 10:21:21 +02:00
idrissrio
72559d5198
C++: move resolveTypedefs tests to dedicated directory
2025-06-18 10:11:55 +02:00
Michael Nebel
7311d5267a
Merge pull request #19783 from michaelnebel/csharp/qualitytags
...
C#: Mass add quality queries to the Code Quality suite.
2025-06-18 10:05:16 +02:00
idrissrio
4ec64021e1
C++: update change note after review comments
2025-06-18 09:49:12 +02:00
Tom Hvitved
5cd729545d
Rust: Extend jump-to-def query with method calls
2025-06-18 09:27:25 +02:00
Paolo Tranquilli
8bf171fd85
Rust: add missing use because of semantic conflict
2025-06-18 09:21:40 +02:00
Michael Nebel
5c575ac187
C#: Address review comments.
2025-06-18 09:18:36 +02:00
Paolo Tranquilli
03599b43cb
Merge branch 'main' into redsun82/rust-qltest-proc-macro
2025-06-18 09:01:28 +02:00
Paolo Tranquilli
214bbf46e8
Rust: fix test version to 0.0.1 as previously
2025-06-18 09:01:06 +02:00
Tom Hvitved
bef07a7f67
Merge pull request #19268 from hvitved/rust/summarized-callable-base
...
Rust: Make `SummarizedCallable` extend `Function` instead of `string`
2025-06-18 08:31:31 +02:00
Geoffrey White
df221ea8f8
Rust: Remove excess 'cached' annotation.
2025-06-17 23:17:58 +01:00
Geoffrey White
dec0deb4d1
Rust: Add some more test cases for type inference on Vecs.
2025-06-17 23:07:32 +01:00
Ben Rodes
b2765a2ff7
Merge branch 'main' into pawel_signatures_conversion
2025-06-17 14:52:41 -04:00
REDMOND\brodes
a81fffcbda
Crypto: Fix redundant override issue.
2025-06-17 13:27:54 -04:00
REDMOND\brodes
f2f97c993b
Crypto: QL docs fix.
2025-06-17 13:18:03 -04:00
idrissrio
b145523a71
C++: add change note
2025-06-17 19:03:43 +02:00
REDMOND\brodes
ac35634217
Merge branch 'openssl_acronym_normalization' into pawel_signatures_conversion
2025-06-17 13:03:12 -04:00
idrissrio
6ffba11f13
C++: accept new test results after changes
2025-06-17 18:51:43 +02:00
idrissrio
a6d7fb6aad
C++: fix typedef resolution in ArrayType
2025-06-17 18:49:39 +02:00
idrissrio
3f595fdd03
C++: add tests for ArrayType typedef resolution
2025-06-17 18:47:42 +02:00
Geoffrey White
cd6975f7b7
Rust: Update DotDotCheck from getResolvedPath -> getCanonicalPath.
2025-06-17 17:07:39 +01:00
Paolo Tranquilli
b2f7b89c80
Merge pull request #19803 from github/redsun82/rust-fix-qltest-lock-file
...
Rust: do not remove `Cargo.lock` file when running QL tests
2025-06-17 17:46:07 +02:00
Paolo Tranquilli
d2a05886c8
Rust: do not do html escaping in cargo template
2025-06-17 17:16:47 +02:00
Paolo Tranquilli
71b9263470
Rust: do not remove Cargo.lock file when running QL tests
2025-06-17 17:11:05 +02:00
Nora Dimitrijević
2316b8cf89
C++: mass-add none() location overrides
2025-06-17 17:10:07 +02:00
Nora Dimitrijević
67bccc3d05
Swift: mass-add none() location overrides
2025-06-17 17:03:25 +02:00
Nora Dimitrijević
51826c72d0
Go: mass-add none() location overrides
2025-06-17 17:02:08 +02:00
Nora Dimitrijević
634bfa914f
C#: mass-add none() location overrides
2025-06-17 17:00:48 +02:00
Nora Dimitrijević
fc61910df1
Actions: mass-add none() location overrides
2025-06-17 17:00:19 +02:00
Paolo Tranquilli
299fe2eb3f
Rust: add proc-macro capabilities to QL tests
...
This adds the possibility to add a special `proc_macro.rs` source file
to QL tests, which will be generated into a `proc_macro` crate the
usual `lib` crate depends on.
This allow to define procedural macros in QL tests, and is here used to
move the `macro-expansion` integration test to be a language test
instead.
As the generated manifests involved were starting to get a bit complex,
they are now generated from a `mustache` template.
2025-06-17 16:58:33 +02:00
Geoffrey White
dc08274aa2
Rust: Update SqlxQuery, SqlxExecute from getResolvedPath -> getCanonicalPath.
2025-06-17 15:56:18 +01:00
Geoffrey White
942a980dac
Rust: Update PoemHandlerParam from getResolvedPath -> getCanonicalPath.
2025-06-17 15:55:40 +01:00
Nora Dimitrijević
6f7e0d6bc8
Ruby: mass enable diff-informed data flow none() location overrides
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Adds `getASelected{Source,Sink}Location() { none() }` override to queries that select a dataflow source or sink as a location, but not both.
2025-06-17 15:48:11 +02:00
Nora Dimitrijević
b79ce6d30b
Python: mass enable diff-informed data flow none() location overrides
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on github#18346 and github/codeql-patch#88
2025-06-17 15:36:52 +02:00
Joe Farebrother
d1bd7228c3
Fix typos
2025-06-17 13:58:30 +01:00
Joe Farebrother
547c03cee6
Update tests
2025-06-17 13:58:27 +01:00
Joe Farebrother
2c8896848f
Update integration test output
2025-06-17 13:58:22 +01:00
Michael Nebel
17cd58bd3c
Merge pull request #19793 from michaelnebel/ruby/qualitytags
...
Ruby: Update quality tags.
2025-06-17 14:57:41 +02:00
Joe Farebrother
22a6fa3ebf
Remove case for being last in initialisation. This pattern can still be a problem if the subclass overrides initialisation.
2025-06-17 13:57:36 +01:00
Joe Farebrother
95153c172c
Add some more details to the documentation
2025-06-17 13:57:30 +01:00
Joe Farebrother
90bf45a3ba
Fix docs
2025-06-17 13:57:23 +01:00
Joe Farebrother
75bb743ce3
Update documentation
2025-06-17 13:57:18 +01:00
Joe Farebrother
a04fbc59f5
Update tests
2025-06-17 13:57:10 +01:00
Joe Farebrother
f3ce57840d
Filter out some results; for if the overridden method doesn't use self, or the call is last in the initialisation.
2025-06-17 13:57:04 +01:00
Joe Farebrother
ed3cf84efd
Update init calls subclass to not use pointto
2025-06-17 13:56:55 +01:00
Nora Dimitrijević
781f78813f
Merge pull request #19662 from d10c/d10c/swift/diff-informed
...
Swift: mass enable diff-informed data flow
2025-06-17 14:53:15 +02:00
Nora Dimitrijević
a8dc3008ef
Merge pull request #19660 from d10c/d10c/go/diff-informed
...
Go: mass enable diff-informed data flow
2025-06-17 14:52:46 +02:00
Nora Dimitrijević
47623aa138
Merge pull request #19663 from d10c/d10c/cpp/diff-informed
...
C++: mass enable diff-informed data flow
2025-06-17 14:52:35 +02:00
Nora Dimitrijević
79e982af38
Merge pull request #19661 from d10c/d10c/csharp/diff-informed
...
C#: mass enable diff-informed data flow
2025-06-17 14:52:24 +02:00
Nora Dimitrijević
84a7975a63
Merge pull request #19659 from d10c/d10c/actions/diff-informed
...
Actions: mass enable diff-informed data flow
2025-06-17 14:52:11 +02:00
Tom Hvitved
433756debb
Rust: Make SummarizedCallable extend Function instead of string
2025-06-17 14:12:38 +02:00
Nora Dimitrijević
aa5dd7bb4e
Java: mass enable diff-informed data flow + none() overrides
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on github#18346 and github/codeql-patch#88
2025-06-17 14:05:36 +02:00
Michael Nebel
08d28a5b85
Ruby: Add change-note.
2025-06-17 13:20:56 +02:00
Michael Nebel
ddc429cfeb
Ruby: Update quality related tags.
2025-06-17 13:16:20 +02:00
Idriss Riouak
a702f7a45e
Merge pull request #19773 from github/idrissrio/namespace-attributes
...
C++: Retrieve namespace attributes
2025-06-17 12:03:55 +02:00
Geoffrey White
4292b03b5c
Rust: Add logic for Vecs and slices.
2025-06-17 10:58:26 +01:00
Geoffrey White
66d6770c3f
Rust: If we're inferring both ways, it should really be to any element.
2025-06-17 10:47:35 +01:00
Geoffrey White
69da4e7462
Rust: Move inferArrayExprType logic into typeEquality predicate.
2025-06-17 10:45:57 +01:00
Paolo Tranquilli
e9a071032c
Rust: address review on docs
2025-06-17 11:19:59 +02:00
Mathias Vorreiter Pedersen
e1b9d9fe75
Merge pull request #19787 from MathiasVP/add-cpp-exception-edges-out-of-calls
...
C++: Add exception edges out of calls inside `try` statements
2025-06-17 10:05:46 +01:00
idrissrio
9fb47cc125
C++: add tests for attribute extraction on namespace
2025-06-17 10:52:27 +02:00
Simon Friis Vindum
f18acdf11f
Rust: Generalize type of debug predicate
2025-06-17 10:34:42 +02:00
Simon Friis Vindum
a0bc455d53
Rust: Account for borrows in operators in type inference
2025-06-17 10:34:41 +02:00
Simon Friis Vindum
cc234f2d19
Rust: Add a type inference test
2025-06-17 10:34:39 +02:00
Simon Friis Vindum
ebdffcc4ef
Rust: Refactor and generalize Call
2025-06-17 10:34:38 +02:00
Napalys Klicius
ac533ea809
Merge pull request #19771 from Napalys/js/sanitizer_serialize
...
JS: Improve XSS detection for `serialize-javascript` with tainted objects
2025-06-17 10:02:39 +02:00
Michael Nebel
d296ee7d50
C#: Update integration test expected output.
2025-06-17 10:00:12 +02:00
Michael Nebel
819ee33239
C#: Do not add complexity queries that should be configurable to the Code Quality suite.
2025-06-17 10:00:11 +02:00
Michael Nebel
758a6b5487
C#: Add change note.
2025-06-17 10:00:09 +02:00
Michael Nebel
3301924777
C#: Update integration test expected output.
2025-06-17 10:00:02 +02:00
Tom Hvitved
909e95f373
Merge pull request #19782 from hvitved/csharp/type-arg-unique
...
C#: Handle non-unique type arguments when computing generics strings
2025-06-17 09:59:48 +02:00
Michael Nebel
96b7250b61
C#: Mass enable quality queries and update tags.
2025-06-17 09:56:43 +02:00
Tom Hvitved
a188adc09b
C#: Handle non-unique type arguments when computing generics strings
2025-06-17 09:30:49 +02:00
Michael Nebel
87b52cc347
Merge pull request #19716 from michaelnebel/csharp/gethashcodeisnotdefined
...
C#: Add `cs/gethashcode-is-not-defined` to the Code Quality suite.
2025-06-17 08:43:26 +02:00
Napalys Klicius
72528749f2
JS: add change note
2025-06-17 08:34:34 +02:00
Napalys Klicius
060b98d36c
JS: enchance middleware taint tracking via local source
2025-06-17 08:30:19 +02:00
Napalys Klicius
fc0c8a8f5a
JS: update change note
2025-06-17 08:20:35 +02:00
Kasper Svendsen
7f38a7ff2f
Merge pull request #19590 from kaspersv/kaspersv/overlay-inline-warning
...
Overlay: Add QL for QL query to warn about possible non-inlining across overlay frontier
2025-06-17 08:03:34 +02:00
Tom Hvitved
4576880622
Merge pull request #19777 from hvitved/shared/summary-stack-mad-repr-unique
...
Shared: Make sure `getMadRepresentation` is unique
2025-06-16 20:00:18 +02:00
REDMOND\brodes
2b6a8321fd
Crypto: Update JCA model to account for Model.qll changes.
2025-06-16 12:53:48 -04:00
Mathias Vorreiter Pedersen
9f3569b980
C++: Accept test changes.
2025-06-16 17:53:35 +01:00
REDMOND\brodes
6c9c969573
Crypto: Remove dead comments
2025-06-16 12:43:29 -04:00
Mathias Vorreiter Pedersen
7355f555a5
C++: Add an exception edge out of calls inside try statements.
2025-06-16 17:27:11 +01:00
REDMOND\brodes
7c18686462
Crypto: Further ql-for-ql alert alert fixes.
2025-06-16 12:14:09 -04:00
Jeroen Ketema
4bed44d4d2
Merge pull request #19775 from jketema/seh-2
...
C++: Generate SEH edges for pointer dereference loads/stores in `__try` blocks
2025-06-16 18:00:39 +02:00
REDMOND\brodes
790a60784e
Crypto: Acronym change from OpenSSL to OpenSsl, AVC to Avc and EVP to Evp.
2025-06-16 10:56:31 -04:00
Napalys Klicius
da21a064ac
JS: add _parsedUrl as remote input source
2025-06-16 16:28:30 +02:00
Napalys Klicius
67aac7abfa
JS: add test cases for middleware property assignment tracking
2025-06-16 16:26:08 +02:00
REDMOND\brodes
90e480bbe8
Merge branch 'pawel_signatures_conversion' of https://github.com/bdrodes/codeql into pawel_signatures_conversion
2025-06-16 09:23:05 -04:00
REDMOND\brodes
45fa2c94da
Crypto: Code review cleanup.
2025-06-16 09:22:11 -04:00
Jeroen Ketema
4228828b66
C++: Address review comments
2025-06-16 15:02:08 +02:00
Nicolas Will
f975428243
Merge branch 'main' into pawel_signatures_conversion
2025-06-16 14:57:53 +02:00
idrissrio
09bc57a003
C++: update stats file
2025-06-16 14:34:08 +02:00
idrissrio
fc9e5bdbf7
C++: add upgrade and downgrade scripts
2025-06-16 14:34:07 +02:00
idrissrio
927c220ddc
C++: add change note for Namespace
2025-06-16 14:34:06 +02:00
idrissrio
e6f118374f
C++: add predicate to Namespace class to retrieve associated attributes
2025-06-16 14:34:05 +02:00
idrissrio
b112b93d75
C++: add namespaceattributes table to store namespace attributes
2025-06-16 14:34:04 +02:00
Tom Hvitved
631b14a0df
Rust: Fix three models
2025-06-16 14:28:06 +02:00
Tom Hvitved
41f7138627
Shared: Make sure getMadRepresentation is unique
2025-06-16 14:28:05 +02:00
Napalys Klicius
b14b661cd1
JS: add change note
2025-06-16 14:12:39 +02:00
Napalys Klicius
0c31838aa5
JS: mass add missing quality related tags to relevant queries
2025-06-16 14:05:57 +02:00
Paolo Tranquilli
0d803698ac
Go: remove language tests from workflows
...
Now that they are run internally using QLucie.
2025-06-16 14:01:40 +02:00
Napalys Klicius
0d5f5104d1
Updated UriEncodingSanitizer comment
2025-06-16 13:08:16 +02:00
Napalys Klicius
798721bd71
JS: add change note
2025-06-16 13:08:14 +02:00
Napalys Klicius
bdbc49c63f
JS: Removed encodeURI from request forgery sanitizer list
2025-06-16 13:08:11 +02:00
Napalys Klicius
eca69e1654
JS: remove serialize-javascript from JsonParsers.qll as it is not a parser
2025-06-16 12:59:36 +02:00
Jeroen Ketema
9d6a1a9885
C++: Generate SEH edges for pointer dereference loads in __try blocks
2025-06-16 12:39:53 +02:00
Jeroen Ketema
3eb768c1e9
C++: Generate SEH edges for pointer dereference stores in __try blocks
2025-06-16 12:39:50 +02:00
Jeroen Ketema
67d623fb06
C++: Add __try with load test case
...
Fix some formatting while here.
2025-06-16 12:39:47 +02:00
Paolo Tranquilli
30ab9b7b84
Merge pull request #19772 from github/redsun82/rust-test-cargo-lock
...
Rust: add `Cargo.lock` files to all tests with `cargo check`
2025-06-16 12:21:30 +02:00
Paolo Tranquilli
8b98e2a559
Rust: accept test changes
2025-06-16 11:54:07 +02:00
Mathias Vorreiter Pedersen
3d9d9fe9c0
Merge pull request #19746 from jketema/seh
...
C++: Use SEH exception edges in IR and generate SEH exception edges for calls in `__try` blocks
2025-06-16 10:53:54 +01:00
Simon Friis Vindum
fb0f12bfe0
Merge pull request #19756 from paldepind/rust/type-parameters-default
...
Rust: Type inference uses defaults for type parameters
2025-06-16 10:53:14 +02:00
Paolo Tranquilli
55096a31f2
Rust: add Cargo.lock files to all tests with cargo check
2025-06-16 10:52:53 +02:00
Napalys Klicius
deb715a517
JS: Add test case with encodeURI for request forgery
2025-06-16 10:49:29 +02:00
Napalys Klicius
fffbc0c0bc
JS: add change note
2025-06-16 10:38:27 +02:00
Napalys Klicius
5a107ec33b
JS: track taint through serialize-javascript calls with object arguments
2025-06-16 10:38:20 +02:00
Simon Friis Vindum
8fe737ca52
Rust: Use defaults for type parameters
2025-06-16 09:54:01 +02:00
Simon Friis Vindum
38aacb04c2
Rust: Add debug predicate for type mentions
2025-06-16 09:52:42 +02:00
Simon Friis Vindum
1425bb8b08
Rust: Add type inference tests with default for type parameters
2025-06-16 09:52:38 +02:00
Napalys Klicius
a96ea182c7
JS: add test cases for serialize-javascript with tainted object properties
2025-06-16 09:30:52 +02:00
Paolo Tranquilli
2a51749a31
Merge pull request #19748 from github/redsun82/rust-models
...
Rust: regenerate models
2025-06-16 08:37:00 +02:00
Paolo Tranquilli
ae6b0fd6e5
Merge pull request #19765 from github/redsun82/black
...
CI: fix python version
2025-06-16 08:27:04 +02:00
Vasco-jofra
8c4dbca23c
Improve data flow in the async library
2025-06-15 17:59:49 +02:00
Nicolas Will
db0bc47495
Merge branch 'main' into pawel_signatures_conversion
2025-06-15 15:35:31 +02:00
Vasco-jofra
e2eca5bbff
Update test.expected
2025-06-15 12:12:12 +02:00
Vasco-jofra
6920430073
Improve dependency injection through import function calls
2025-06-15 00:47:34 +02:00
Vasco-jofra
9019879d99
Improve useFactory inter file function detection
2025-06-15 00:32:26 +02:00
Vasco-jofra
477f32c7ff
NestJS dependency injection support useValue provider
2025-06-15 00:21:38 +02:00
Vasco-jofra
2b143c86ac
NestJS dependency Injection support useFactory provider
2025-06-15 00:09:07 +02:00
Vasco-jofra
baf0d3ef22
Model NestJS middlewares as sources
2025-06-14 23:27:49 +02:00
Jeroen Ketema
1b2813dcf6
C++: Also generate an SEH edge for calls in initializers
2025-06-14 00:16:47 +02:00
Vasco-jofra
26f3b40d35
Add lodash GroupBy as taint step
2025-06-14 00:13:03 +02:00
Jeroen Ketema
815ae37a7e
C++: Add test case with call in initialization
...
Fix formatting while here.
2025-06-14 00:05:00 +02:00
Jeroen Ketema
4a42ca8c69
C++: Limit SEH exception edges to calls in __try blocks
2025-06-13 20:34:35 +02:00
Mathias Vorreiter Pedersen
d83cbde1cb
Merge pull request #19753 from MathiasVP/add-more-mad-summaries
...
C++: Add more MaD summaries
2025-06-13 18:23:11 +01:00
Paolo Tranquilli
fe1e562f8d
CI: fix python version
...
Turns out this is important for the black formatting tool to work
correctly. The formatting won't generally change between python versions
(it only depends on `black`'s version), but the formatted code needs to
be parseable by the system python version. One script uses
```python
def foo[T](x: T) -> T:
```
syntax, which is only supported in Python 3.12 and later.
Running `pre-commit` will now require a python 3.12 installation (which
is already what we mandate for internal developer environment setup).
The error in case of absence of such a version is pretty clear though.
2025-06-13 18:19:30 +02:00
REDMOND\brodes
1882db7d86
Crypto: EVP Signature Operation cleanup.
2025-06-13 12:07:03 -04:00
REDMOND\brodes
fb495bf665
Crypto: Update expected files. There are failures, but accepting them for now and noting the issue for a future PR.
2025-06-13 12:02:57 -04:00
REDMOND\brodes
cf2f0f16b8
Crypto: Initial model of signatures. Still incomplete for verification and correct handling of MACs.
2025-06-13 11:52:37 -04:00
Jeroen Ketema
c7a7447768
C++: Generate an SEH exception edge for each call inside a SEH block
2025-06-13 16:30:25 +02:00
Jeroen Ketema
400424f13c
C++: Add change note
2025-06-13 16:30:24 +02:00
Jeroen Ketema
6f41d3c4e3
C++: Use SEH exception edges for functions that unconditionally throw those
2025-06-13 16:30:23 +02:00
Jeroen Ketema
0038d0f17c
C++: Deprecate ThrowingFunction and no longer use in IR
2025-06-13 16:30:20 +02:00
Idriss Riouak
70647ce290
Merge pull request #19734 from github/idrissrio/goto
...
C++: Add support to `__leave`
2025-06-13 16:20:26 +02:00
Simon Friis Vindum
0a6d88487a
Merge pull request #19749 from paldepind/rust/impl-parameter-resolution
...
Rust: Disambiguate some method calls based on argument types
2025-06-13 16:14:13 +02:00
Simon Friis Vindum
ef15df35c6
Rust: Apply review suggestions
2025-06-13 15:43:44 +02:00
Simon Friis Vindum
eacf034dde
Rust: Disambiguate some method calls based on argument types
2025-06-13 15:43:39 +02:00
Simon Friis Vindum
d1aee7f704
Rust: Add type inference test
2025-06-13 15:42:08 +02:00
Vasco-jofra
ddf77a0b72
Remove unnecessary spaces
2025-06-13 15:37:27 +02:00
Vasco-jofra
4ea53773b9
Model the TypeORM Repository API
2025-06-13 15:35:46 +02:00
Tom Hvitved
6cca01662d
Merge pull request #19755 from hvitved/rust/type-inference-operand-workaround
...
Rust: Temporarily disable type information to flow into operands
2025-06-13 15:25:34 +02:00
Tom Hvitved
7051ad50ea
Merge pull request #19751 from hvitved/rust/type-inference-macro-expr
...
Rust: Type inference for macro expressions
2025-06-13 15:24:56 +02:00
Geoffrey White
14b75a968b
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-06-13 14:09:49 +01:00
Anders Schack-Mulligen
8838104d6a
Merge pull request #19733 from aschackmull/java/assert-cfg
...
Java: Update the CFG for assert statements to make them proper guards.
2025-06-13 14:52:57 +02:00
Geoffrey White
6194676b7d
Rust: Accept consistency failures (for now).
2025-06-13 13:51:01 +01:00
Geoffrey White
62e3cc57c6
Merge branch 'main' into typeinfer
2025-06-13 13:45:19 +01:00
Tom Hvitved
5f4d588cd9
Rust: Temporarily disable type information to flow into operands
2025-06-13 14:21:02 +02:00
Joe Farebrother
e04dea10c8
Merge pull request #19554 from joefarebrother/python-qual-iter-not-return-self
...
Python: Modernize iter not returning self query
2025-06-13 13:13:31 +01:00
Anders Schack-Mulligen
6131c680f6
Update java/ql/lib/semmle/code/java/ControlFlowGraph.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-06-13 14:07:46 +02:00
Geoffrey White
b89d6d3402
Rust: Implement type inference for ArrayRepeatExprs.
2025-06-13 12:58:51 +01:00
Geoffrey White
51343a5c03
Rust: Implement type inference for ArrayListExprs.
2025-06-13 12:58:49 +01:00
Geoffrey White
f76b56291b
Rust: Implement type inference for 'for' loops on arrays.
2025-06-13 12:58:47 +01:00
Geoffrey White
840ef5ce92
Rust: Add test cases for type inference in loops.
2025-06-13 12:37:32 +01:00
Napalys Klicius
0906d85b39
Merge pull request #19726 from Napalys/js/quality/string_interpolation
...
JS: Promote `js/template-syntax-in-string-literal` to the Code Quality suite.
2025-06-13 13:36:53 +02:00
Tom Hvitved
2f698d1590
Rust: Type inference for macro expressions
2025-06-13 13:11:11 +02:00
Tom Hvitved
fd59a27bd2
Rust: Add macro expr type inference test
2025-06-13 13:11:07 +02:00
Tom Hvitved
ad64e04475
Merge pull request #19737 from hvitved/rust/type-inference-string-str-deref
...
Rust: Model `String` -> `str` implicit conversion in type inference
2025-06-13 13:09:24 +02:00
Paolo Tranquilli
ad3a5d777d
Rust: add public preview change notes
2025-06-13 13:03:39 +02:00
Mathias Vorreiter Pedersen
c14a4a66d5
C++: Accept test changes. Nothing exciting here.
2025-06-13 11:41:01 +01:00
Paolo Tranquilli
cae4a0459b
Rust: update supported-frameworks.rst
2025-06-13 12:38:33 +02:00
Mathias Vorreiter Pedersen
458a9b0359
C++: Add change note.
2025-06-13 11:06:45 +01:00
Mathias Vorreiter Pedersen
e72fe9b88b
C++: Generate lots of new models.
2025-06-13 10:57:44 +01:00
Mathias Vorreiter Pedersen
b02d859216
C++: Add lots of MaD model generation targets.
2025-06-13 10:56:19 +01:00
Paolo Tranquilli
ff9ac3bb6f
Rust: accept test changes
2025-06-13 11:56:12 +02:00
Tom Hvitved
66c0ff61bb
Rust: Model String -> str implicit conversion in type inference
2025-06-13 11:32:23 +02:00
Tom Hvitved
1acd636553
Merge pull request #19745 from hvitved/rust/path-resolution-has-implementation
...
Rust: Use `hasImplementation` in path resolution
2025-06-13 11:17:03 +02:00
idrissrio
7af828720a
C++: address review comments
2025-06-13 09:44:27 +02:00
idrissrio
ac1824aba7
C++: update stats file
2025-06-13 09:44:26 +02:00
idrissrio
7152e68a4d
C++: add upgrade and downgrade scripts
2025-06-13 09:44:25 +02:00
idrissrio
e6faebf850
C++: add change note for LeaveStmt
2025-06-13 09:44:14 +02:00
idrissrio
a6b3310f77
C++: test new class LeaveStmt
2025-06-13 09:44:03 +02:00
idrissrio
f6fa707770
C++: Add LeaveStmt class
2025-06-13 09:44:01 +02:00
idrissrio
7a4de55ac2
C++: Add leave statement to dbscheme
2025-06-13 09:44:00 +02:00
Paolo Tranquilli
118456d127
Rust: regenerate models
...
Models are regenerated with the fix from https://github.com/github/codeql/pull/19744
which corrects the order of generation.
2025-06-13 09:06:15 +02:00
Paolo Tranquilli
5df292c286
MaD generator: apply black formatting to all sources
2025-06-13 08:47:07 +02:00
Paolo Tranquilli
1a36374718
MaD generator: really fix ordering problem
2025-06-13 08:45:55 +02:00
Tom Hvitved
3d18e3ea8f
Rust: Use hasImplementation in path resolution
2025-06-13 08:44:44 +02:00
Paolo Tranquilli
f7266c973b
Merge branch 'main' into redsun82/mad-generator
2025-06-13 08:42:06 +02:00
Tom Hvitved
5b5074e922
Rust: Add another type inference test
2025-06-12 21:48:40 +02:00
REDMOND\brodes
eb20955a54
Crypto: Further simplify test caes to only use edges/nodes/properties. Update model to account for MAC algorithms.
2025-06-12 15:36:59 -04:00
Paolo Tranquilli
55eb9fb838
Merge pull request #19712 from github/redsun82/python-black
...
Add `black` pre-commit hook
2025-06-12 20:49:56 +02:00
Paolo Tranquilli
22c490ce4e
Merge pull request #19667 from github/redsun82/rust-mad
...
Rust: Use QL computed canonical paths in MaD `Field` tokens
2025-06-12 20:48:41 +02:00
Paolo Tranquilli
c56a32580d
Rust: remove now unneeded get(Arg|Param)List in the dataflow guide
2025-06-12 17:35:00 +02:00
Paolo Tranquilli
e1e34df948
Merge branch 'main' into redsun82/rust-doc
2025-06-12 17:33:51 +02:00
Paolo Tranquilli
a5dba9b54f
Merge pull request #19649 from github/redsun82/rust-has-implementation
...
Rust: extract `hasImplementation` on functions and consts
2025-06-12 15:19:23 +00:00
Simon Friis Vindum
e30a9e9906
Merge pull request #19685 from paldepind/rust/df-operator-overloading
...
Rust: Data flow through overloaded operators
2025-06-12 17:08:16 +02:00
Paolo Tranquilli
ae3bbb0a9b
MaD generator: run black formatter`
2025-06-12 16:52:29 +02:00
Paolo Tranquilli
39a3623b18
MaD generator: change default thread and ram
...
The standalone MaD generator now uses `0` for threads and throttles the
RAM to use 2GB per thread by default.
Also, replaced the hand-written argument parsing with `argparse`.
2025-06-12 16:52:14 +02:00
Tom Hvitved
70c3ae4609
Merge pull request #19727 from hvitved/shared/type-inference-doc
...
Shared: Add elaborate QL doc to `TypeInference.qll`
2025-06-12 16:31:50 +02:00
Paolo Tranquilli
7db31b06d1
MaD generator: tweak the scripts
...
* fix a bug where the order of model generation was determined by the
order in the `download.json` file of the experiment rather than the
order in the config file
* allow configuring `--ram` and `--threads` in the MaD generator scripts
* use no `--ram` and `--threads=0` by default in the bulk generator
(single generator defaults are left unchanged)
* allow to pass `--dca` multiple times, taking DBs from experiments
listed last. This allows to run a subset of the sources in a "fixup"
experiment and use it to "patch" a previous run without rerunning
everything.
2025-06-12 16:23:07 +02:00
Paolo Tranquilli
b102d5c39d
Rust: accept test changes
2025-06-12 16:19:17 +02:00
Paolo Tranquilli
836b81de40
Rust: fix mdoel
2025-06-12 15:50:21 +02:00
Paolo Tranquilli
506ea11d07
Rust: simplify upgrade script
2025-06-12 15:31:11 +02:00
Napalys Klicius
28ae39694f
Merge pull request #19741 from Napalys/js/quality/suspicious_method_names
...
JS: Promote `js/suspicious-method-name-declaration` to the Code Quality suite.
2025-06-12 15:30:13 +02:00
Paolo Tranquilli
ad7fb9c061
Merge branch 'main' into redsun82/rust-has-implementation
2025-06-12 15:25:59 +02:00
Napalys Klicius
10d10286f7
JS: add change notes
2025-06-12 15:23:31 +02:00
Napalys Klicius
885e8369aa
JS: add quality and reliability tags to loop-iteration-skipped-due-to-shifting
2025-06-12 15:18:26 +02:00
Napalys Klicius
66d66fe87d
JS: fix false positives for splice with conditional index decrement
2025-06-12 14:51:10 +02:00
Napalys Klicius
7292a76ee4
JS: add test cases for false positives in loop-iteration-skipped-due-to-shifting
2025-06-12 14:39:47 +02:00
Napalys Klicius
d7ad625de3
JS: restrict type tracking to strings of interest.
2025-06-12 14:28:00 +02:00
Arthur Baars
e1b4dea52f
Merge pull request #19742 from github/nickrolfe/rust-readme
...
Rust: fix typo in README.md
2025-06-12 14:26:19 +02:00
Napalys Klicius
da5cd251be
Update javascript/ql/src/LanguageFeatures/TemplateSyntaxInStringLiteral.ql
...
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-06-12 14:25:00 +02:00
Simon Friis Vindum
2dd2f2e72b
Rust: Address review comments
2025-06-12 14:12:27 +02:00
Nick Rolfe
02b75e884e
Rust: fix typo in README.md
2025-06-12 13:00:23 +01:00
Napalys Klicius
e6d26912e0
Update javascript/ql/src/Declarations/SuspiciousMethodNameDeclaration.qhelp
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-12 13:10:27 +02:00
Tom Hvitved
93fd6ec826
Merge pull request #19729 from hvitved/rust/type-inference-adjust-type-relevant-access
...
Rust: Also apply `adjustedAccessType` in `RelevantAccess`
2025-06-12 13:04:13 +02:00
Napalys Klicius
7b91a57eb1
JS: add change note.
2025-06-12 12:19:39 +02:00
Paolo Tranquilli
455490436c
Rust: fix dataflow models test expectation
2025-06-12 12:16:37 +02:00
Tom Hvitved
9e6ce98491
Merge pull request #19728 from hvitved/rust/type-inference-debug-predicates
...
Rust: Add another type inference debug predicate
2025-06-12 12:15:19 +02:00
Tom Hvitved
1ec376073b
Update shared/typeinference/codeql/typeinference/internal/TypeInference.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-06-12 12:14:52 +02:00
Napalys Klicius
75ee649362
JS: add change note
2025-06-12 12:14:14 +02:00
Napalys Klicius
923aff2439
JS: Fixed false positive on manual string interpolation.
2025-06-12 11:35:33 +02:00
Owen Mansel-Chan
538a5af1d1
Merge pull request #19738 from owen-mc/pr/felickz/19530
...
Set CWE-134 from 9.3 to 7.3 CVSS score for memory safe languages (#2 )
2025-06-12 10:27:28 +01:00
Napalys Klicius
bafe7e66ad
JS: Fix template literal detection in string concatination
2025-06-12 11:18:20 +02:00
Simon Friis Vindum
8cde1eefb2
Rust: Remove Access from adjustAccessType
2025-06-12 11:16:32 +02:00
Simon Friis Vindum
f138f77cc1
Rust: Only adjust access type for method call expressions
2025-06-12 11:16:30 +02:00
Simon Friis Vindum
03c9a78bfb
Rust: Simplify accessDeclarationPositionMatch
2025-06-12 11:16:29 +02:00
Simon Friis Vindum
3463ebd8ce
Rust: Adapt data flow consistency queries to ! being a call
...
The exact same problem occurs in Ruby, hence the `multipleArgumentCallExclude` implementation is adapted from Ruby's.
2025-06-12 11:16:28 +02:00
Simon Friis Vindum
fecd445e78
Rust: Use Call in data flow
2025-06-12 11:16:26 +02:00
Simon Friis Vindum
5642445e1d
Rust: Fix canonical path for Deref trait
2025-06-12 11:16:25 +02:00
Simon Friis Vindum
7684e01c3a
Rust: Use Call in type inference
2025-06-12 11:16:19 +02:00
Napalys Klicius
861e4ee11e
JS: Added test cases including manual interpolation and string concatination.
2025-06-12 11:15:36 +02:00
Simon Friis Vindum
47864781c1
Rust: Add abstraction over all kinds of calls
2025-06-12 11:12:06 +02:00
Simon Friis Vindum
ce1c9fbec1
Rust: Account for arity in operator overloading
...
For instance the binary `&` is overloadable but the prefix `&` is not. Similarly, `*` has a different target depending on if it's prefix or infix.
2025-06-12 11:12:04 +02:00
Simon Friis Vindum
18583550ae
Rust: Add data flow tests for operator overloading
2025-06-12 11:12:03 +02:00
Paolo Tranquilli
3c834de5be
Rust: fix dataflow models test
2025-06-12 11:04:30 +02:00
Anders Schack-Mulligen
d0d47808e9
Java: Add change note.
2025-06-12 11:03:49 +02:00
Tom Hvitved
d667f7d411
Merge pull request #19732 from hvitved/rust/builtin-canonical-paths
...
Rust: Generate canonical paths for builtins
2025-06-12 10:47:00 +02:00
Paolo Tranquilli
85e9f5a3b0
Merge pull request #19559 from github/redsun82/rust-extract-libs
...
Rust: move body skipping logic to code generation
2025-06-12 10:45:30 +02:00
Tom Hvitved
649481e279
Merge pull request #19657 from hvitved/rust/type-inference-index-expr-simple
...
Rust: Simple type inference for index expressions
2025-06-12 10:27:09 +02:00
Owen Mansel-Chan
23cbc6abc4
Merge pull request #19723 from apsscolari/update-precision-java-concatenated-command-line
...
Update precision java concatenated command line
2025-06-12 09:23:00 +01:00
Geoffrey White
fdf1dca28f
Merge pull request #19735 from geoffw0/canonical
...
Rust: Update RegexInjectionExtensions to use getCanonicalPath.
2025-06-12 09:14:52 +01:00
Napalys Klicius
c5a1421405
JS: promote suspicious-method-name-declaration to quality query.
2025-06-12 09:54:01 +02:00
Napalys Klicius
60e3b0c8e7
JS: Update qhelp and added more examples.
2025-06-12 09:53:56 +02:00
Napalys Klicius
41f4236b86
JS: expanded suspicious-method-name-declaration test suite
2025-06-12 09:29:30 +02:00
Paolo Tranquilli
326ddd6625
Merge branch 'main' into redsun82/rust-mad
2025-06-12 09:24:44 +02:00
Paolo Tranquilli
a6cc94698a
Rust: fix inline flow test
2025-06-12 09:24:33 +02:00
Tom Hvitved
383cc5c2a7
Rust: Rename Bultins.qll -> Builtins.qll
2025-06-12 09:12:32 +02:00
REDMOND\brodes
20e2c7cefd
Crypto: Overhaul/refactor of EVPInitialzers. Update cipher operation to disallow null key and IV on initializers (typically do not represent an actual key or IV).
2025-06-12 00:41:15 -04:00
Ana Scolari
a07ce30d30
Update java-code-scanning.qls.expected
...
removing line once this query precision is changed to Medium
2025-06-11 15:27:20 -07:00
Ana Scolari
374d7da4a2
Merge branch 'main' into update-precision-java-concatenated-command-line
2025-06-11 15:24:41 -07:00
Jon Janego
7f76f5b056
Merge pull request #19740 from github/changedocs-2.22.0
...
Changedocs 2.22.0
2025-06-11 17:18:16 -05:00
Jon Janego
94a2d0876c
escaping
2025-06-11 17:02:26 -05:00
Jon Janego
62e17c108c
RST sitedocs for 2.22.0
2025-06-11 16:55:14 -05:00
Jeroen Ketema
7d8d596a35
Merge pull request #19686 from github/idrissrio/lambdaparams
...
C++: Add boolean for explicit lambda parameter lists
2025-06-11 23:53:00 +02:00
Jon Janego
6ec48117b5
Merge pull request #19739 from github/changedocs-2.22.0
...
fixing some improperly escaped URLs
2025-06-11 16:24:29 -05:00
Jon Janego
6336e3d44b
fixing another bracket
2025-06-11 16:02:28 -05:00
Chad Bentz
0135cf661f
Attempt to edit swift change notes for CI failure
2025-06-11 21:49:26 +01:00
Jon Janego
8f55dcdd67
removing brackets around a url
2025-06-11 15:36:30 -05:00
REDMOND\brodes
8f25380655
Crypto: Consolidate tests to use node, edges, and properties.
2025-06-11 15:15:22 -04:00
Tom Hvitved
69e549f400
Rust: Generate canonical paths for builtins
2025-06-11 21:14:56 +02:00
REDMOND\brodes
d3cff2dff1
Crypto: Add support to trace keys, add support to find prior key gen properties that configure downstream operations. Add key size tests
2025-06-11 13:58:56 -04:00
Geoffrey White
087e666658
Rust: Exclude sources in macro expansions.
2025-06-11 18:48:23 +01:00
Geoffrey White
168246005c
Rust: Extend tests based on cases found in DCA.
2025-06-11 18:33:59 +01:00
Nora Dimitrijević
f2bd454e99
Actions: mass enable diff-informed data flow
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on https://github.com/github/codeql/pull/18346 and https://github.com/github/codeql-patch/pull/88
2025-06-11 19:10:11 +02:00
Geoffrey White
b29deed919
Rust: Accept changes in an unrelated test reported by CI.
2025-06-11 18:09:22 +01:00
Nora Dimitrijević
f2085c2293
C#: mass enable diff-informed data flow
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on https://github.com/github/codeql/pull/18344 and https://github.com/github/codeql-patch/pull/88
2025-06-11 18:56:25 +02:00
Geoffrey White
bd21a03fc3
Merge pull request #19718 from geoffw0/taintreach
...
Rust: Adjust the taint reach metric for better stability.
2025-06-11 17:51:50 +01:00
Nora Dimitrijević
4dd07f475b
C++: mass enable diff-informed data flow
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on https://github.com/github/codeql/pull/18342 and https://github.com/github/codeql-patch/pull/88
2025-06-11 18:51:01 +02:00
Nora Dimitrijević
e233501144
Go: mass enable diff-informed data flow
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on https://github.com/github/codeql/pull/18345 and https://github.com/github/codeql-patch/pull/88
2025-06-11 18:44:24 +02:00
Nora Dimitrijević
2078a34763
Disable diff-informed on InsecureTLSQuery due to DIFF-INFORMED test failures
2025-06-11 18:36:32 +02:00
Nora Dimitrijević
afec8b3153
Swift: mass enable diff-informed data flow
...
An auto-generated patch that enables diff-informed data flow in the obvious cases.
Builds on https://github.com/github/codeql/pull/18343 and https://github.com/github/codeql-patch/pull/88
2025-06-11 18:34:33 +02:00
Ana Scolari
b84f9d6c3c
Update java/ql/src/change-notes/2025-06-10-reduce-precision-for-building-cmdline-with-string-concatenation.md
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-06-11 08:55:45 -07:00
Ana Scolari
f915984b01
Update java/ql/src/change-notes/2025-06-10-reduce-precision-for-building-cmdline-with-string-concatenation.md
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-11 08:55:34 -07:00
Paolo Tranquilli
97c2dfe23f
Rust: fix tests
2025-06-11 17:32:43 +02:00
Paolo Tranquilli
bea5381420
Rust: replace last hand-written instances of Field[crate::
2025-06-11 16:48:39 +02:00
Paolo Tranquilli
c6c52edbee
MaD generator: tweak the scripts
...
* fix a bug where the order of model generation was determined by the
order in the `download.json` file of the experiment rather than the
order in the config file
* allow configuring `--ram` and `--threads` in the MaD generator scripts
* use no `--ram` and `--threads=0` by default in the bulk generator
(single generator defaults are left unchanged)
* allow to pass `--dca` multiple times, taking DBs from experiments
listed last. This allows to run a subset of the sources in a "fixup"
experiment and use it to "patch" a previous run without rerunning
everything.
2025-06-11 16:42:00 +02:00
Paolo Tranquilli
051704e59d
Merge branch 'main' into redsun82/rust-mad
2025-06-11 16:39:10 +02:00
Geoffrey White
0c05fa48eb
Rust: Update RegexInjectionExtensions to use getCanonicalPath.
2025-06-11 15:32:23 +01:00
Owen Mansel-Chan
25adcc8f4a
Add Markdown format to guide
2025-06-11 15:03:42 +01:00
Anders Schack-Mulligen
f27e310ba3
Java: Adjust references.
2025-06-11 15:53:02 +02:00
Anders Schack-Mulligen
b3bb71f2e2
Java: Update the CFG for assert statements to make them proper guards.
2025-06-11 15:38:29 +02:00
Tom Hvitved
18392a07ce
Rust: Also apply adjustedAccessType in RelevantAccess
2025-06-11 15:00:35 +02:00
Tom Hvitved
31770edc26
Merge pull request #19725 from hvitved/rust/fix-bad-joins
...
Rust: Fix various bad joins
2025-06-11 14:51:20 +02:00
Asger F
423ffc78db
Merge pull request #19078 from asgerf/js/name-resolution
...
JS: QL-side type/name resolution for TypeScript and JSDoc
2025-06-11 14:17:11 +02:00
Michael Nebel
f038e2f809
Merge pull request #19589 from michaelnebel/csharp/dereference
...
C#: Improve `cs/dereference-*` queries and add to the Code Quality suite.
2025-06-11 13:40:58 +02:00
Tom Hvitved
133aca0773
Rust: Simple type inference for index expressions
2025-06-11 13:15:21 +02:00
Tom Hvitved
301bd44a4c
Rust: Add type inference tests for index expressions
2025-06-11 13:08:59 +02:00
Owen Mansel-Chan
c8a5418969
Remove trailing spaces and extra blank lines
2025-06-11 12:03:17 +01:00
Tom Hvitved
eeaccc5a9a
Update shared/typeinference/codeql/typeinference/internal/TypeInference.qll
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-11 12:48:06 +02:00
Tom Hvitved
9f8a3abcff
Rust: Add another type inference debug predicate
2025-06-11 12:44:17 +02:00
Tom Hvitved
b90e8679a9
Shared: Add elaborate QL doc to TypeInference.qll
2025-06-11 12:38:04 +02:00
Simon Friis Vindum
75caa182f5
Merge pull request #19724 from github/rust/type-inference-borrow
...
Rust: Implement type inference for ref expression as type equality
2025-06-11 12:36:43 +02:00
Paolo Tranquilli
58266e6ca8
Merge branch 'main' into redsun82/rust-extract-libs
2025-06-11 12:13:10 +02:00
Napalys Klicius
92084dd74f
JS: add js/template-syntax-in-string-literal to the Code Quality suite.
2025-06-11 11:48:05 +02:00
idrissrio
645ce5bbda
C++: update change note after review comments
2025-06-11 11:41:51 +02:00
idrissrio
2bae21cbcd
C++: address review comments
2025-06-11 11:41:50 +02:00
idrissrio
f759550e5a
C++: update stats file
2025-06-11 11:41:49 +02:00
idrissrio
e4a9a5aee8
C++: add upgrade and downgrade scripts
2025-06-11 11:41:48 +02:00
idrissrio
b0c0fb9699
C++: Add change node
2025-06-11 11:41:47 +02:00
idrissrio
cb17a35cbd
C++: Add test to check lambda parameters emptyness
2025-06-11 11:41:46 +02:00
idrissrio
6c9959d8bc
C++: Add predicates for lambda parameter list
2025-06-11 11:41:45 +02:00
idrissrio
3ecc4c9ad7
C++: Adapt existing code to use the new layout of the underlying lambda table
2025-06-11 11:41:44 +02:00
idrissrio
9ac9607cb7
C++: Add boolean for explicit lambda parameter list
2025-06-11 11:41:43 +02:00
Paolo Tranquilli
fbcd9eaf09
Merge pull request #19674 from github/redsun82/mad
...
Rust: regenerate MaD files using DCA
2025-06-11 11:10:08 +02:00
Napalys Klicius
6811cad687
Merge pull request #19711 from Napalys/js/quality/promote_duplicate_char_class
...
JS: Promote `js/regex/duplicate-in-character-class` to quality
2025-06-11 11:05:07 +02:00
Asger F
e848aa747b
JS: Clarifying comment on commonStep
2025-06-11 10:24:21 +02:00
Tom Hvitved
3c9cbf186e
Rust: Fix bad join in typeParametersEqualFromIndex
...
Before
```
Pipeline standard for TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48@9c099swn was evaluated in 375 iterations totaling 154ms (delta sizes total: 0).
16307861 ~1% {5} r1 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypes/3#3b2e26a8#prev` ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Lhs.0, Lhs.2, Rhs.1
37736 ~1% {7} r2 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789_0312#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.0, Rhs.2, Rhs.3, _
{6} | REWRITE WITH Tmp.6 := 0, TEST InOut.5 != Tmp.6 KEEPING 6
0 ~0% {7} | SCAN OUTPUT In.0, In.2, In.3, In.4, In.1, _, In.5
0 ~0% {7} | REWRITE WITH Tmp.5 := 1, Out.5 := (InOut.6 - Tmp.5)
0 ~0% {6} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev` ON FIRST 6 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.6
0 ~0% {8} r3 = JOIN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev_delta` WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypes/3#3b2e26a8#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, _, Lhs.5, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (Tmp.5 + In.6), Tmp.7 := 0, TEST Out.5 != Tmp.7 KEEPING 6
0 ~0% {6} | SCAN OUTPUT In.2, In.3, In.5, In.0, In.1, In.4
0 ~0% {7} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.5, Lhs.4, Lhs.0, Lhs.1, Lhs.2
0 ~0% {6} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.3, Lhs.4, Lhs.5, Lhs.2, Lhs.6
12808446 ~1% {5} r4 = JOIN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypes/3#3b2e26a8#prev_delta` WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.0, Lhs.1, Rhs.2
22081 ~1% {7} r5 = JOIN r4 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789_0312#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.0, Lhs.4, Rhs.2, Rhs.3, _
{6} | REWRITE WITH Tmp.6 := 0, TEST InOut.5 != Tmp.6 KEEPING 6
0 ~0% {6} | SCAN OUTPUT In.0, In.1, In.2, In.4, In.3, In.5
0 ~0% {8} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev` ON FIRST 5 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.4, Lhs.3, Lhs.5, Rhs.5, _
{8} | REWRITE WITH Tmp.7 := 1, Out.7 := (InOut.5 - Tmp.7), TEST Out.7 = InOut.6
0 ~0% {6} | SCAN OUTPUT In.0, In.1, In.2, In.4, In.3, In.5
22081 ~1% {8} r6 = JOIN r4 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789_0312#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.0, Lhs.1, Lhs.4, Rhs.2, Rhs.3, _
{7} | REWRITE WITH Tmp.7 := 0, TEST InOut.6 = Tmp.7 KEEPING 7
22081 ~0% {7} | SCAN OUTPUT In.2, In.5, _, In.3, In.0, In.1, In.4
22081 ~0% {7} | REWRITE WITH Out.2 := 0
22081 ~0% {5} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.4, Lhs.5, Lhs.6
0 ~0% {6} | JOIN WITH `project#TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789#3` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.0, Lhs.1, Lhs.4, _
0 ~0% {6} | REWRITE WITH Out.5 := 0
37736 ~1% {8} r7 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789_0312#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.1, Lhs.3, Lhs.4, Lhs.0, Rhs.2, Rhs.3, _
{7} | REWRITE WITH Tmp.7 := 0, TEST InOut.6 = Tmp.7 KEEPING 7
37736 ~0% {7} | SCAN OUTPUT In.4, In.5, _, In.1, In.0, In.2, In.3
37736 ~0% {7} | REWRITE WITH Out.2 := 0
37736 ~1% {5} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.4, Lhs.5, Lhs.6
0 ~0% {6} | JOIN WITH `project#TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789#3` ON FIRST 2 OUTPUT Lhs.2, Lhs.4, Lhs.0, Lhs.1, Lhs.3, _
0 ~0% {6} | REWRITE WITH Out.5 := 0
0 ~0% {6} r8 = r2 UNION r3 UNION r5 UNION r6 UNION r7
0 ~0% {6} | AND NOT `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev`(FIRST 6)
return r8
```
After
```
Pipeline standard for TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48@81728ywe was evaluated in 375 iterations totaling 2ms (delta sizes total: 0).
0 ~0% {6} r1 = JOIN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndexBase/5#56e8595e#reorder_0_4_1_2_3#prev_delta` WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.4, Rhs.2, _
0 ~0% {6} | REWRITE WITH Out.5 := 0
0 ~0% {6} r2 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndexBase/5#56e8595e#reorder_0_4_1_2_3#prev` ON FIRST 2 OUTPUT Lhs.0, Rhs.2, Rhs.3, Rhs.4, Lhs.2, _
0 ~0% {6} | REWRITE WITH Out.5 := 0
66609 ~1% {3} r3 = SCAN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` OUTPUT In.0, In.2, In.1
0 ~0% {9} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#reorder_0_4_1_2_3_5#prev` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.1, Rhs.2, Rhs.3, Rhs.4, _, Rhs.5, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (Tmp.6 + In.7), Tmp.8 := 0, TEST Out.6 != Tmp.8 KEEPING 7
0 ~0% {7} | SCAN OUTPUT In.4, In.5, In.6, In.1, In.0, In.2, In.3
0 ~0% {6} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789` ON FIRST 4 OUTPUT Lhs.4, Lhs.6, Lhs.0, Lhs.1, Lhs.5, Lhs.2
0 ~0% {8} r4 = SCAN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, _, In.5, _
{6} | REWRITE WITH Tmp.5 := 1, Out.5 := (Tmp.5 + In.6), Tmp.7 := 0, TEST Out.5 != Tmp.7 KEEPING 6
0 ~0% {6} | SCAN OUTPUT In.2, In.3, In.5, In.0, In.1, In.4
0 ~0% {7} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthTypeParameterPath/3#c3ea2789` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.5, Lhs.4, Lhs.0, Lhs.1, Lhs.2
0 ~0% {6} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.3, Lhs.4, Lhs.5, Lhs.2, Lhs.6
0 ~0% {6} r5 = r1 UNION r2 UNION r3 UNION r4
0 ~0% {6} | AND NOT `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::typeParametersEqualFromIndex/6#6471ea48#prev`(FIRST 6)
return r5
```
2025-06-11 10:23:57 +02:00
Asger F
2aa5fa17f7
JS: Add comment and examples in FlowImpl doc
2025-06-11 10:21:24 +02:00
Tom Hvitved
79e1af04df
Rust: Fix bad join in satisfiesConstraintTypeMention
...
Before
```
Pipeline standard for TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention/6#69a92324@e8671rw7 was evaluated in 378 iterations totaling 313ms (delta sizes total: 168323).
462477 ~1% {7} r1 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::hasConstraintMention/5#8730ee97#prev_delta` WITH TypeInference::CallExprBaseMatching::AccessConstraint::MkRelevantAccess#8a6252ad#reorder_3_0_1_2#prev ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.4, Lhs.3, Rhs.1, Rhs.2, Rhs.3
993561 ~2% {9} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3, Rhs.4, Lhs.3, Lhs.4, Lhs.5, Lhs.6
993561 ~38% {7} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 5 OUTPUT Lhs.0, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.3
{7} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
772102 ~427% {6} | SCAN OUTPUT In.3, In.4, In.5, In.2, In.6, In.1
56885 ~1% {4} r2 = SCAN TypeInference::CallExprBaseMatching::AccessConstraint::MkRelevantAccess#8a6252ad#prev_delta OUTPUT In.3, In.0, In.1, In.2
0 ~0% {7} r3 = JOIN r2 WITH `TypeInference::CallExprBaseMatching::AccessConstraint::hasConstraintMention/5#8730ee97#prev` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Rhs.4, Lhs.1, Lhs.2, Lhs.3, Rhs.3
0 ~0% {9} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3, Rhs.4, Lhs.3, Lhs.4, Lhs.5, Lhs.6
0 ~0% {7} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 5 OUTPUT Lhs.0, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.3
{7} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
0 ~0% {6} | SCAN OUTPUT In.2, In.3, In.4, In.5, In.6, In.1
462477 ~1% {8} r4 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::hasConstraintMention/5#8730ee97#prev_delta` WITH TypeInference::CallExprBaseMatching::AccessConstraint::MkRelevantAccess#8a6252ad#reorder_3_0_1_2#prev ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.4, Lhs.0, Lhs.3, Rhs.1, Rhs.2, Rhs.3
993561 ~39% {9} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 3 OUTPUT Lhs.0, Rhs.4, Lhs.3, Lhs.1, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Rhs.3
23413 ~1% {8} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 2 OUTPUT Lhs.3, Lhs.1, Lhs.2, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8
2817 ~7% {7} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Rhs.2
11550 ~0% {9} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.2, _, Lhs.6, Rhs.1
{7} | REWRITE WITH Tmp.6 := "", Out.6 := InverseAppend(In.7,Tmp.6,In.8) KEEPING 7
2397 ~1% {11} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.5, _, _, In.4, In.6, _, _
{7} | REWRITE WITH Out.5 := (In.7 ++ In.8), Tmp.6 := (In.7 ++ In.8), Tmp.9 := "[0-9]+", Tmp.10 := "", Out.6 := regexpReplaceAll(Tmp.6,Tmp.9,Tmp.10) KEEPING 7
2397 ~1% {9} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _, In.6, _
{7} | REWRITE WITH Out.6 := length(In.7), Tmp.8 := 10, TEST Out.6 <= Tmp.8 KEEPING 7
2397 ~1% {6} | SCAN OUTPUT In.1, In.2, In.3, In.0, In.5, In.4
66727 ~0% {6} r5 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` WITH TypeInference::CallExprBaseMatching::AccessConstraint::MkRelevantAccess#8a6252ad#reorder_3_0_1_2#prev ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.1, Rhs.2, Rhs.3
19305359 ~0% {9} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::hasConstraintMention/5#8730ee97#prev` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.2, Rhs.3, Rhs.4
3454881 ~1% {10} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 1 OUTPUT Lhs.0, Lhs.6, Lhs.8, Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.7
753104 ~1% {9} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a_01243#join_rhs` ON FIRST 4 OUTPUT Lhs.1, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.9, Rhs.4
32040 ~18% {9} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 2 OUTPUT Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, _, Rhs.2, Lhs.2
{7} | REWRITE WITH Tmp.6 := "", Out.6 := InverseAppend(In.7,Tmp.6,In.8) KEEPING 7
13192 ~54% {11} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, _, _, In.5, In.6, _, _
{7} | REWRITE WITH Out.5 := (In.7 ++ In.8), Tmp.6 := (In.7 ++ In.8), Tmp.9 := "[0-9]+", Tmp.10 := "", Out.6 := regexpReplaceAll(Tmp.6,Tmp.9,Tmp.10) KEEPING 7
13192 ~54% {9} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _, In.6, _
{7} | REWRITE WITH Out.6 := length(In.7), Tmp.8 := 10, TEST Out.6 <= Tmp.8 KEEPING 7
13192 ~55% {6} | SCAN OUTPUT In.1, In.2, In.3, In.4, In.5, In.0
0 ~0% {8} r6 = JOIN r2 WITH `TypeInference::CallExprBaseMatching::AccessConstraint::hasConstraintMention/5#8730ee97#prev` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Rhs.4, Lhs.1, Lhs.2, Lhs.3, Lhs.0, Rhs.3
0 ~0% {9} | JOIN WITH `TypeInference::M2::BaseTypes::conditionSatisfiesConstraintTypeAt/5#e92dcc7a` ON FIRST 3 OUTPUT Lhs.0, Rhs.4, Lhs.3, Lhs.4, Lhs.5, Lhs.6, Lhs.1, Lhs.7, Rhs.3
0 ~0% {8} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 2 OUTPUT Lhs.6, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.7, Lhs.8
0 ~0% {7} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 2 OUTPUT Lhs.5, Lhs.2, Lhs.3, Lhs.4, Lhs.6, Lhs.7, Rhs.2
0 ~0% {9} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.2, _, Lhs.6, Rhs.1
{7} | REWRITE WITH Tmp.6 := "", Out.6 := InverseAppend(In.7,Tmp.6,In.8) KEEPING 7
0 ~0% {11} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.5, _, _, In.4, In.6, _, _
{7} | REWRITE WITH Out.5 := (In.7 ++ In.8), Tmp.6 := (In.7 ++ In.8), Tmp.9 := "[0-9]+", Tmp.10 := "", Out.6 := regexpReplaceAll(Tmp.6,Tmp.9,Tmp.10) KEEPING 7
0 ~0% {9} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _, In.6, _
{7} | REWRITE WITH Out.6 := length(In.7), Tmp.8 := 10, TEST Out.6 <= Tmp.8 KEEPING 7
0 ~0% {6} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.5, In.4
787691 ~403% {6} r7 = r1 UNION r3 UNION r4 UNION r5 UNION r6
212766 ~54% {6} | AND NOT `TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention/6#69a92324#prev`(FIRST 6)
return r7
```
After
```
Pipeline standard for TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention/6#69a92324@9c099xwn was evaluated in 380 iterations totaling 11ms (delta sizes total: 153004).
768937 ~1% {7} r1 = SCAN `TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention0/9#c82a4f76#prev_delta` OUTPUT In.5, In.8, In.1, In.2, In.3, In.4, In.7
{7} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
745524 ~423% {6} | SCAN OUTPUT In.2, In.3, In.4, In.5, In.6, In.1
26916 ~0% {9} r2 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` WITH `TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention1/7#b265d17e#prev` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Rhs.2, Rhs.3, Rhs.4, Rhs.5, _, Rhs.6, Lhs.1
{7} | REWRITE WITH Tmp.6 := "", Out.6 := InverseAppend(In.7,Tmp.6,In.8) KEEPING 7
8530 ~1% {11} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, _, _, In.5, In.6, _, _
{7} | REWRITE WITH Out.5 := (In.7 ++ In.8), Tmp.6 := (In.7 ++ In.8), Tmp.9 := "[0-9]+", Tmp.10 := "", Out.6 := regexpReplaceAll(Tmp.6,Tmp.9,Tmp.10) KEEPING 7
8530 ~1% {9} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _, In.6, _
{7} | REWRITE WITH Out.6 := length(In.7), Tmp.8 := 10, TEST Out.6 <= Tmp.8 KEEPING 7
8530 ~1% {6} | SCAN OUTPUT In.1, In.2, In.3, In.4, In.5, In.0
11763 ~1% {9} r3 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention1/7#b265d17e#prev_delta` WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.2, _, Lhs.6, Rhs.1
{7} | REWRITE WITH Tmp.6 := "", Out.6 := InverseAppend(In.7,Tmp.6,In.8) KEEPING 7
2461 ~1% {11} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.5, _, _, In.4, In.6, _, _
{7} | REWRITE WITH Out.5 := (In.7 ++ In.8), Tmp.6 := (In.7 ++ In.8), Tmp.9 := "[0-9]+", Tmp.10 := "", Out.6 := regexpReplaceAll(Tmp.6,Tmp.9,Tmp.10) KEEPING 7
2461 ~1% {9} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _, In.6, _
{7} | REWRITE WITH Out.6 := length(In.7), Tmp.8 := 10, TEST Out.6 <= Tmp.8 KEEPING 7
2461 ~1% {6} | SCAN OUTPUT In.0, In.1, In.2, In.3, In.5, In.4
756515 ~396% {6} r4 = r1 UNION r2 UNION r3
155599 ~6% {6} | AND NOT `TypeInference::CallExprBaseMatching::AccessConstraint::satisfiesConstraintTypeMention/6#69a92324#prev`(FIRST 6)
return r4
```
2025-06-11 10:04:15 +02:00
Geoffrey White
ecac0dbe69
Rust: Accept consistency check failures.
2025-06-11 08:52:52 +01:00
Tom Hvitved
f9915e66a7
Rust: Fix bad join in satisfiesConcreteTypesFromIndex
...
Before
```
Pipeline standard for TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9@061312x0 was evaluated in 367 iterations totaling 3484ms (delta sizes total: 563408).
66609 ~0% {3} r1 = SCAN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` OUTPUT In.1, In.2, In.0
867138261 ~1% {4} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1_210#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Rhs.2, Lhs.0, Lhs.1
29320 ~0% {5} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput::potentialInstantiationOf/3#1239e45f#reorder_0_2_1#prev` ON FIRST 2 OUTPUT Rhs.2, Lhs.3, Lhs.0, Lhs.2, Lhs.1
{5} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
29320 ~1% {4} | SCAN OUTPUT In.4, In.3, In.2, In.0
29320 ~0% {5} r2 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.3, Rhs.2, _
{4} | REWRITE WITH Tmp.4 := 0, TEST InOut.3 != Tmp.4 KEEPING 4
29320 ~0% {5} | SCAN OUTPUT In.0, In.2, In.1, _, In.3
29320 ~0% {5} | REWRITE WITH Tmp.3 := 1, Out.3 := (InOut.4 - Tmp.3)
29296 ~1% {4} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev` ON FIRST 4 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.4
29320 ~0% {6} r3 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.1, Lhs.0, Lhs.3, Rhs.2, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
0 ~0% {5} | SCAN OUTPUT In.2, _, In.1, In.0, In.3
0 ~0% {5} | REWRITE WITH Out.1 := 0
0 ~0% {4} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80` ON FIRST 3 OUTPUT Lhs.3, Lhs.4, Lhs.0, _
0 ~0% {4} | REWRITE WITH Out.3 := 0
563353 ~1% {4} r4 = SCAN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev_delta` OUTPUT In.0, In.2, In.1, In.3
563353 ~1% {6} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput::potentialInstantiationOf/3#1239e45f#reorder_0_2_1#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Lhs.1, _, Lhs.3, _
{4} | REWRITE WITH Tmp.3 := 1, Out.3 := (Tmp.3 + In.4), Tmp.5 := 0, TEST Out.3 != Tmp.5 KEEPING 4
563353 ~0% {4} | SCAN OUTPUT In.2, In.3, In.0, In.1
258647 ~1% {5} r5 = JOIN r4 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80` ON FIRST 2 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.1, Rhs.2
102998 ~1% {6} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.4, Lhs.1, Lhs.0, Lhs.3
52485 ~1% {6} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
258647 ~0% {5} r6 = JOIN r4 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80` ON FIRST 2 OUTPUT Lhs.0, Rhs.2, Lhs.2, Lhs.3, Lhs.1
259340 ~1% {6} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.1, Rhs.2, Lhs.3, Lhs.0, Lhs.4
16033 ~0% {6} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.4, Lhs.5, Lhs.1
{6} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
15992 ~1% {6} | SCAN OUTPUT In.3, In.1, In.5, In.2, In.0, In.4
68477 ~1% {6} r7 = r5 UNION r6
68477 ~0% {4} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 3 OUTPUT Lhs.3, Lhs.4, Lhs.0, Lhs.5
465635 ~0% {3} r8 = SCAN `TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput::potentialInstantiationOf/3#1239e45f#reorder_0_2_1#prev_delta` OUTPUT In.1, In.0, In.2
465635 ~0% {5} r9 = JOIN r8 WITH `_TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAc__#join_rhs` ON FIRST 1 OUTPUT Lhs.0, _, Rhs.2, Lhs.1, Lhs.2
465635 ~1% {5} | REWRITE WITH Out.1 := 0
465635 ~1% {5} r10 = JOIN r9 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80` ON FIRST 3 OUTPUT Lhs.4, Lhs.0, _, Lhs.2, Lhs.3
465635 ~1% {5} | REWRITE WITH Out.2 := 0
275069 ~0% {5} r11 = JOIN r8 WITH `_TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAc__#join_rhs#1` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0, Rhs.1, Rhs.2
0 ~0% {7} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev` ON FIRST 3 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.0, Lhs.1, Rhs.3, _
0 ~0% {7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.1 - Tmp.6), TEST Out.6 = InOut.5
0 ~0% {5} r12 = SCAN r11 OUTPUT In.4, In.0, In.1, In.2, In.3
465635 ~1% {5} r13 = r10 UNION r12
94444 ~1% {6} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.3, Lhs.2, Lhs.4, Lhs.0
6 ~20% {6} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
465635 ~0% {5} r14 = JOIN r9 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::AwaitExprMatching::AccessConstraint::RelevantAccess,TypeInference::AwaitExprMatching::AccessConstraint::IsInstantiationOfInput>::getNthPath/2#8b978a80` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, _, Lhs.3, Lhs.4
465635 ~1% {5} | REWRITE WITH Out.2 := 0
0 ~0% {5} r15 = SCAN r11 OUTPUT In.0, In.2, In.1, In.3, In.4
465635 ~1% {5} r16 = r14 UNION r15
465635 ~0% {6} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1_021#join_rhs` ON FIRST 2 OUTPUT Lhs.3, Lhs.1, Rhs.2, Lhs.0, Lhs.2, Lhs.4
465635 ~0% {6} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.5, Lhs.2, Lhs.3, Lhs.4, Lhs.1, Lhs.0
{6} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
465629 ~1% {6} | SCAN OUTPUT In.2, In.1, In.4, In.3, In.5, In.0
465635 ~1% {6} r17 = r13 UNION r16
465635 ~1% {4} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1` ON FIRST 3 OUTPUT Lhs.4, Lhs.5, Lhs.0, Lhs.3
563408 ~1% {4} r18 = r2 UNION r3 UNION r7 UNION r17
563408 ~1% {4} | AND NOT `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev`(FIRST 4)
return r18
```
After
```
Pipeline standard for TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9@e8671bx7 was evaluated in 376 iterations totaling 245ms (delta sizes total: 563353).
563353 ~1% {6} r1 = SCAN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev_delta` OUTPUT In.0, In.1, In.2, _, In.3, _
563353 ~1% {4} | REWRITE WITH Tmp.3 := 1, Out.3 := (Tmp.3 + In.4), Tmp.5 := 0, TEST Out.3 != Tmp.5 KEEPING 4
259340 ~1% {5} r2 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::resolveTypeAt/5#77e2181d#prev` ON FIRST 4 OUTPUT Lhs.1, Rhs.5, Lhs.0, Lhs.2, Lhs.3
52485 ~0% {4} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.3, Lhs.4
259340 ~1% {6} r3 = JOIN r1 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::resolveTypeAt/5#77e2181d#prev` ON FIRST 4 OUTPUT Lhs.0, Rhs.4, Rhs.5, Lhs.1, Lhs.2, Lhs.3
16033 ~0% {5} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.4, Lhs.5
{5} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
15992 ~0% {4} | SCAN OUTPUT In.2, In.0, In.3, In.4
741397 ~1% {7} r4 = SCAN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::resolveTypeAt/5#77e2181d#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _
465635 ~1% {6} | REWRITE WITH Tmp.6 := 0, TEST InOut.3 = Tmp.6 KEEPING 6
465635 ~1% {5} r5 = SCAN r4 OUTPUT In.1, In.5, In.0, In.2, _
465635 ~0% {5} | REWRITE WITH Out.4 := 0
741397 ~1% {7} r6 = SCAN `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::resolveTypeAt/5#77e2181d#prev_delta` OUTPUT In.0, In.1, In.2, In.3, In.4, In.5, _
275762 ~1% {6} | REWRITE WITH Tmp.6 := 0, TEST InOut.3 != Tmp.6 KEEPING 6
0 ~0% {7} r7 = JOIN r6 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.5, Rhs.3, _
{7} | REWRITE WITH Tmp.6 := 1, Out.6 := (InOut.3 - Tmp.6), TEST Out.6 = InOut.5
0 ~0% {5} | SCAN OUTPUT In.1, In.4, In.0, In.2, In.3
465635 ~0% {5} r8 = r5 UNION r7
6 ~0% {4} | JOIN WITH `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Lhs.3, Lhs.4
29310 ~0% {5} r9 = JOIN `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev_delta` WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::resolveTypeAt/5#77e2181d#reorder_0_4_5_1_2_3#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.2, Rhs.3, Rhs.4, Rhs.5
29310 ~0% {6} r10 = SCAN r9 OUTPUT In.0, In.1, In.2, In.3, In.4, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 = Tmp.5 KEEPING 5
0 ~0% {5} | SCAN OUTPUT In.2, In.1, In.0, In.3, _
0 ~0% {5} | REWRITE WITH Out.4 := 0
29310 ~0% {6} r11 = SCAN r9 OUTPUT In.0, In.1, In.2, In.3, In.4, _
{5} | REWRITE WITH Tmp.5 := 0, TEST InOut.4 != Tmp.5 KEEPING 5
29310 ~1% {6} | SCAN OUTPUT In.0, In.2, In.3, _, In.1, In.4
29310 ~1% {6} | REWRITE WITH Tmp.3 := 1, Out.3 := (InOut.5 - Tmp.3)
29241 ~0% {5} | JOIN WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev` ON FIRST 4 OUTPUT Lhs.1, Lhs.4, Lhs.0, Lhs.2, Lhs.5
29241 ~0% {5} r12 = r10 UNION r11
{5} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
29241 ~1% {4} | SCAN OUTPUT In.2, In.0, In.3, In.4
465635 ~0% {6} r13 = SCAN r4 OUTPUT In.0, In.4, In.5, In.1, In.2, _
465635 ~1% {6} | REWRITE WITH Out.5 := 0
0 ~0% {8} r14 = JOIN r6 WITH `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev` ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.3, _
{8} | REWRITE WITH Tmp.7 := 1, Out.7 := (InOut.3 - Tmp.7), TEST Out.7 = InOut.6
0 ~0% {6} | SCAN OUTPUT In.0, In.4, In.5, In.1, In.2, In.3
465635 ~1% {6} r15 = r13 UNION r14
465635 ~0% {5} | JOIN WITH `TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess.getTypeAt/1#dispred#3a89868c#prev` ON FIRST 3 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.4, Lhs.5
{5} | AND NOT `Type::TypeAbstraction.getATypeParameter/0#dispred#030257a0`(FIRST 2)
465629 ~1% {4} | SCAN OUTPUT In.2, In.0, In.3, In.4
563353 ~1% {4} r16 = r2 UNION r3 UNION r8 UNION r12 UNION r15
563353 ~1% {4} | AND NOT `TypeInference::M2::IsInstantiationOf<TypeInference::CallExprBaseMatching::AccessConstraint::RelevantAccess,TypeInference::CallExprBaseMatching::AccessConstraint::IsInstantiationOfInput>::satisfiesConcreteTypesFromIndex/4#716280b9#prev`(FIRST 4)
return r16
```
2025-06-11 09:15:17 +02:00
Tom Hvitved
bc60d033e5
Rust: Fix bad join in inferAccessType
...
Before
```
Pipeline standard for TypeInference::CallExprBaseMatching::inferAccessType/3#be4695a4@202c46xq was evaluated in 600 iterations totaling 2282ms (delta sizes total: 5827084).
120407742 ~1% {4} r1 = JOIN `TypeInference::CallExprBaseMatchingInput::Access.getTarget/0#dispred#29d66fd1#prev_delta` WITH `TypeInference::CallExprBaseMatchingInput::accessDeclarationPositionMatch/2#6c58c89d` CARTESIAN PRODUCT OUTPUT Lhs.1, Rhs.1, Rhs.0, Lhs.0
6495868 ~109% {4} | JOIN WITH `TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f` ON FIRST 2 OUTPUT Rhs.3, Lhs.2, Lhs.3, Rhs.2
{4} | AND NOT Type::TypeParameter#f85657da(FIRST 1)
3049994 ~10% {4} | SCAN OUTPUT In.2, In.1, In.3, In.0
7891 ~0% {5} r2 = SCAN `TypeInference::CallExprBaseMatching::explicitTypeMatch/5#98ce2c39#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
4445 ~3% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
4445 ~3% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
4445 ~5% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
3553075 ~1% {5} r3 = SCAN `TypeInference::CallExprBaseMatching::directTypeMatch/5#319f8680#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
6860451 ~16% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
6860451 ~19% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
6211129 ~20% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
115218 ~1% {5} r4 = SCAN `TypeInference::CallExprBaseMatching::typeConstraintBaseTypeMatch/5#ebeb4216#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
181668 ~2% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
181668 ~0% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
181668 ~0% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
9447236 ~16% {4} r5 = r1 UNION r2 UNION r3 UNION r4
5902300 ~4% {4} | AND NOT `TypeInference::CallExprBaseMatching::inferAccessType/3#be4695a4#prev`(FIRST 4)
return r5
```
Afer
```
Pipeline standard for TypeInference::CallExprBaseMatching::inferAccessType/3#be4695a4@061316x0 was evaluated in 600 iterations totaling 1727ms (delta sizes total: 5918371 ).
1323162 ~0% {2} r1 = SCAN `TypeInference::CallExprBaseMatchingInput::Access.getTarget/0#dispred#29d66fd1#prev_delta` OUTPUT In.1, In.0
5316637 ~152% {4} | JOIN WITH `_Type::TypeParameter#f85657da_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/__#join_rhs#1` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Rhs.2, Rhs.3
7891 ~0% {5} r2 = SCAN `TypeInference::CallExprBaseMatching::explicitTypeMatch/5#98ce2c39#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
4445 ~3% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
4445 ~3% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
4445 ~5% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
3553075 ~1% {5} r3 = SCAN `TypeInference::CallExprBaseMatching::directTypeMatch/5#319f8680#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
6860451 ~16% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
6860451 ~19% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
6211129 ~20% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
115218 ~1% {5} r4 = SCAN `TypeInference::CallExprBaseMatching::typeConstraintBaseTypeMatch/5#ebeb4216#prev_delta` OUTPUT In.1, In.4, In.0, In.2, In.3
181668 ~2% {9} | JOIN WITH `_TypeInference::CallExprBaseMatchingInput::Declaration.getDeclaredType/2#dispred#325b693f_1023#join___#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2, Lhs.4, _, _, Rhs.3, Lhs.3, _, _
{5} | REWRITE WITH Out.3 := (In.5 ++ In.6), Tmp.4 := (In.5 ++ In.6), Tmp.7 := "[0-9]+", Tmp.8 := "", Out.4 := regexpReplaceAll(Tmp.4,Tmp.7,Tmp.8) KEEPING 5
181668 ~0% {7} | SCAN OUTPUT In.0, In.1, In.2, In.3, _, In.4, _
{5} | REWRITE WITH Out.4 := length(In.5), Tmp.6 := 10, TEST Out.4 <= Tmp.6 KEEPING 5
181668 ~0% {4} | SCAN OUTPUT In.1, In.0, In.3, In.2
11713879 ~62% {4} r5 = r1 UNION r2 UNION r3 UNION r4
6210333 ~10% {4} | AND NOT `TypeInference::CallExprBaseMatching::inferAccessType/3#be4695a4#prev`(FIRST 4)
return r5
```
2025-06-11 09:15:16 +02:00
Tom Hvitved
8c956647de
Rust: Fix bad join in fileImport
...
Before
```
Evaluated relational algebra for predicate PathResolution::fileImport/2#d9e57816@c790f609 with tuple counts:
241 ~0% {3} r1 = JOIN `_Locatable::Locatable.getFile/0#dispred#f7e24934_PathResolution::isSourceFile/1#803de032#shared` WITH `FileSystem::Folder::Append<PathResolution::shouldAppend>::append/2#beb8f79a_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1
291 ~0% {2} | JOIN WITH `PathResolution::pathAttrImport/3#88463ffa_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2
14978 ~8% {2} r2 = SCAN `PathResolution::modImport0/3#03cccf2a` OUTPUT In.0, In.1
14978 ~8% {2} | STREAM DEDUP
14392 ~9% {2} r3 = r2 AND NOT `PathResolution::modImportNested/3#991244df_0#antijoin_rhs`(FIRST 1)
14392 ~0% {3} | JOIN WITH `PathResolution::modImport0/3#03cccf2a` ON FIRST 2 OUTPUT Lhs.1, Rhs.2, Lhs.0
14355 ~0% {4} | JOIN WITH `PathResolution::fileModule/3#d6c6ceef#fbf_120#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.1, Lhs.2
14978 ~0% {2} r4 = JOIN r2 WITH `PathResolution::modImport0/3#03cccf2a` ON FIRST 2 OUTPUT Lhs.1, Lhs.0
329862 ~0% {5} | JOIN WITH `PathResolution::fileModule/3#d6c6ceef#fbf_102#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Lhs.1, Rhs.2, Lhs.0, Rhs.1
577 ~3% {4} | JOIN WITH `PathResolution::modImportNestedLookup/3#6cc4b913#ffb` ON FIRST 3 OUTPUT Lhs.4, Lhs.3, Lhs.2, Lhs.0
14932 ~0% {4} r5 = r3 UNION r4
14932 ~0% {2} | JOIN WITH `PathResolution::fileModule/3#d6c6ceef#fbf` ON FIRST 3 OUTPUT Lhs.0, Lhs.3
14932 ~0% {2} | JOIN WITH `PathResolution::isSourceFile/1#803de032` ON FIRST 1 OUTPUT Lhs.1, Lhs.0
15223 ~0% {2} r6 = r1 UNION r5
return r6
```
Afer
```
Evaluated relational algebra for predicate PathResolution::fileImport/2#d9e57816@007bd81i with tuple counts:
241 ~0% {3} r1 = JOIN `_Locatable::Locatable.getFile/0#dispred#f7e24934_PathResolution::isSourceFile/1#803de032#shared` WITH `FileSystem::Folder::Append<PathResolution::shouldAppend>::append/2#beb8f79a_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1
291 ~0% {2} | JOIN WITH `PathResolution::pathAttrImport/3#88463ffa_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2
14978 ~8% {2} r2 = SCAN `PathResolution::modImport0/3#03cccf2a` OUTPUT In.0, In.1
14978 ~8% {2} | STREAM DEDUP
14392 ~9% {2} r3 = r2 AND NOT `PathResolution::modImportNested/3#991244df_0#antijoin_rhs`(FIRST 1)
14392 ~0% {3} | JOIN WITH `PathResolution::modImport0/3#03cccf2a` ON FIRST 2 OUTPUT Lhs.1, Rhs.2, Lhs.0
14978 ~9% {3} r4 = JOIN r2 WITH `PathResolution::modImport0/3#03cccf2a` ON FIRST 2 OUTPUT Lhs.0, Lhs.0, Lhs.1
577 ~0% {3} | JOIN WITH `PathResolution::modImportNestedLookup/3#6cc4b913#ffb` ON FIRST 2 OUTPUT Lhs.2, Rhs.2, Lhs.0
14969 ~1% {3} r5 = r3 UNION r4
14932 ~0% {2} | JOIN WITH `PathResolution::fileModule/3#d6c6ceef_120#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.2
14932 ~0% {2} | JOIN WITH `PathResolution::isSourceFile/1#803de032` ON FIRST 1 OUTPUT Lhs.1, Lhs.0
15223 ~0% {2} r6 = r1 UNION r5
return r6
```
2025-06-11 09:15:14 +02:00
Tom Hvitved
63aac1babb
Rust: Fix bad join in getCanonicalPath
...
Before
```
Pipeline standard for PathResolution::ItemNode.getCanonicalPath/1#dispred#f52ac1c6@5132b1w8 was evaluated in 107 iterations totaling 1217ms (delta sizes total: 870557).
568160 ~1% {2} r1 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::AssocItemNode.hasCanonicalPath/1#dispred#120fa1ad_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
564597 ~1% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
68670 ~1% {2} r2 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::VariantItemNode.hasCanonicalPath/1#dispred#12012145_project#PathResolution::ItemNod__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
68670 ~0% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#5` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
49047 ~1% {2} r3 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::StructItemNode.hasCanonicalPath/1#dispred#f482e99c_project#PathResolution::ItemNode__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
49047 ~2% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#2` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
229 ~0% {2} r4 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::UnionItemNode.hasCanonicalPath/1#dispred#f67c4b73_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
229 ~0% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#4` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
12207 ~0% {2} r5 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::EnumItemNode.hasCanonicalPath/1#dispred#03ce35b1_project#PathResolution::ItemNode.g__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
12207 ~0% {3} | JOIN WITH `__PathResolution::EnumItemNode.getName/0#dispred#f21ce0ed_PathResolution::ItemNode.getCanonicalPathP__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
26698 ~2% {2} r6 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::ModuleItemNode.hasCanonicalPath/1#dispred#2fee2540_project#PathResolution::ItemNode__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
26698 ~0% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#1` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
6315 ~1% {2} r7 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::TraitItemNode.hasCanonicalPath/1#dispred#824f98e3_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
6315 ~1% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#3` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
112374 ~0% {3} r8 = JOIN `PathResolution::ImplItemNode.getCanonicalPathTraitPart/1#dispred#009a7fd0#prev_delta` WITH `_PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplItemNode.hasCanoni__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, _
112374 ~3% {3} | REWRITE WITH Out.2 := 3
872046 ~1% {2} r9 = SCAN `PathResolution::ItemNode.getCanonicalPath/1#dispred#f52ac1c6#prev_delta` OUTPUT In.1, In.0
777662505 ~2% {3} | JOIN WITH `PathResolution::ImplItemNode.hasCanonicalPath/1#dispred#4e7c51c6_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
150127 ~1% {3} | JOIN WITH `PathResolution::ImplItemNode.resolveSelfTy/0#dispred#cf157d04` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, _
150127 ~0% {3} | REWRITE WITH Out.2 := 1
262501 ~1% {3} r10 = r8 UNION r9
230996 ~1% {5} r11 = JOIN r10 WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, _
230996 ~0% {5} | REWRITE WITH Out.3 := 4, Out.4 := 0
{3} r12 = r10 AND NOT `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_0#antijoin_rhs`(FIRST 1)
31487 ~0% {5} | SCAN OUTPUT In.0, In.1, In.2, _, _
31487 ~1% {5} | REWRITE WITH Out.3 := 2, Out.4 := 0
262483 ~0% {5} r13 = r11 UNION r12
262483 ~0% {5} | JOIN WITH PRIMITIVE range#bbb ON Lhs.4,Lhs.3,Lhs.2
262483 ~0% {3} | SCAN OUTPUT In.3, In.0, In.1
142807 ~1% {3} | JOIN WITH `__PathResolution::ImplItemNode.getCanonicalPathTraitPart/1#dispred#009a7fd0#prev_PathResolution::Imp__#join_rhs` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, Rhs.3
870570 ~1% {3} r14 = r1 UNION r2 UNION r3 UNION r4 UNION r5 UNION r6 UNION r7 UNION r13
870566 ~1% {3} | AND NOT `PathResolution::ItemNode.getCanonicalPath/1#dispred#f52ac1c6#prev`(FIRST 3)
return r14
```
After
```
Pipeline standard for PathResolution::ItemNode.getCanonicalPath/1#dispred#f52ac1c6@90aba2wd was evaluated in 100 iterations totaling 28ms (delta sizes total: 870531).
568160 ~0% {2} r1 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::AssocItemNode.hasCanonicalPath/1#dispred#120fa1ad_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
564597 ~1% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
68670 ~0% {2} r2 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::VariantItemNode.hasCanonicalPath/1#dispred#12012145_project#PathResolution::ItemNod__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
68670 ~1% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#5` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
49047 ~0% {2} r3 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::StructItemNode.hasCanonicalPath/1#dispred#f482e99c_project#PathResolution::ItemNode__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
49047 ~1% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#2` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
229 ~0% {2} r4 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::UnionItemNode.hasCanonicalPath/1#dispred#f67c4b73_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
229 ~0% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#4` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
12207 ~1% {2} r5 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::EnumItemNode.hasCanonicalPath/1#dispred#03ce35b1_project#PathResolution::ItemNode.g__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
12207 ~0% {3} | JOIN WITH `__PathResolution::EnumItemNode.getName/0#dispred#f21ce0ed_PathResolution::ItemNode.getCanonicalPathP__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
26698 ~0% {2} r6 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::ModuleItemNode.hasCanonicalPath/1#dispred#2fee2540_project#PathResolution::ItemNode__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
26698 ~4% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#1` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
6315 ~1% {2} r7 = JOIN `PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_delta` WITH `_PathResolution::TraitItemNode.hasCanonicalPath/1#dispred#824f98e3_project#PathResolution::ItemNode.__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1
6315 ~2% {3} | JOIN WITH `__PathResolution::ItemNode.getCanonicalPathPrefix/1#dispred#a1d9332d#prev_PathResolution::ItemNode.g__#join_rhs#3` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2
150127 ~0% {3} r8 = JOIN `PathResolution::ImplItemNode.getSelfCanonicalPath/1#dispred#8ed81fbe#prev_delta` WITH `PathResolution::ImplItemNode.hasCanonicalPath/1#dispred#4e7c51c6` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, _
150127 ~0% {3} | REWRITE WITH Out.2 := 1
112374 ~1% {3} r9 = JOIN `PathResolution::ImplItemNode.getCanonicalPathTraitPart/1#dispred#009a7fd0#prev_delta` WITH `_PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_PathResolution::ImplItemNode.hasCanoni__#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.1, _
112374 ~0% {3} | REWRITE WITH Out.2 := 3
262501 ~0% {3} r10 = r8 UNION r9
230996 ~1% {5} r11 = JOIN r10 WITH `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, _
230996 ~1% {5} | REWRITE WITH Out.3 := 4, Out.4 := 0
{3} r12 = r10 AND NOT `PathResolution::ImplItemNode.getTraitPath/0#dispred#3b7d1cb6_0#antijoin_rhs`(FIRST 1)
31487 ~0% {5} | SCAN OUTPUT In.0, In.1, In.2, _, _
31487 ~0% {5} | REWRITE WITH Out.3 := 2, Out.4 := 0
262483 ~1% {5} r13 = r11 UNION r12
262483 ~1% {5} | JOIN WITH PRIMITIVE range#bbb ON Lhs.4,Lhs.3,Lhs.2
262483 ~0% {3} | SCAN OUTPUT In.3, In.0, In.1
142772 ~0% {3} | JOIN WITH `__PathResolution::ImplItemNode.getCanonicalPathTraitPart/1#dispred#009a7fd0#prev_PathResolution::Imp__#join_rhs` ON FIRST 3 OUTPUT Lhs.1, Lhs.2, Rhs.3
870535 ~1% {3} r14 = r1 UNION r2 UNION r3 UNION r4 UNION r5 UNION r6 UNION r7 UNION r13
870531 ~1% {3} | AND NOT `PathResolution::ItemNode.getCanonicalPath/1#dispred#f52ac1c6#prev`(FIRST 3)
return r14
```
2025-06-11 09:15:13 +02:00
Simon Friis Vindum
01701de4a7
Rust: Implement type inference for ref expression as type equality
2025-06-11 09:09:22 +02:00
Tom Hvitved
3fed7f5397
Merge pull request #19714 from hvitved/rust/fix-bad-join
...
Rust: Fix bad join
2025-06-11 09:08:52 +02:00
Simon Friis Vindum
8f5d9d7702
Rust: Add type inference tests for borrowing
2025-06-11 08:40:15 +02:00
Ana Scolari
510bbac0e4
Create 2025-06-10-reduce-precision-for-building-cmdline-with-string-concatenation.md
2025-06-10 16:17:32 -07:00
Ana Scolari
857b51be58
Update ExecUnescaped.ql - causing FPs with hard coded strings
...
This query is generating False positives with hard coded strings declared within the function - issue reported by customer. We had a discussion on code_scanning channel on 6/5/25 and the team agreed upon reducing its precision to Medium.
2025-06-10 16:06:22 -07:00
Aditya Sharad
d659d40d58
Merge pull request #19701 from adityasharad/actions/bash-parsing-ranking-performance
...
Actions: Improve Bash parsing performance on command and string interpolations
2025-06-11 00:59:19 +05:30
REDMOND\brodes
7d479940e5
Crypto: Nop out signature operations for now until complete. Minor model update. Remove setting RSA bits as an RSA algorithm. Fix bug in hash algorithm. Add missing PKey encryption to cipher ops. Consolidate ctx initializers. Add unit tests, and alter unit test directory structure to allow for application to other APIs. Update expected files for unit tests (not all updated yet, a work in progress).
2025-06-10 13:37:17 -04:00
Tom Hvitved
64ab7c78c8
Merge pull request #19717 from hvitved/rust/use-get-arg-param
...
Rust: Use `get(An){Arg,Param}` helper predicates
2025-06-10 18:48:51 +02:00
Geoffrey White
e64d083fc1
Rust: Lets also output the total number of nodes to make understanding this easier.
2025-06-10 17:37:42 +01:00
Geoffrey White
50bf246add
Rust: Adjust the taint reach metric for better stability.
2025-06-10 17:08:15 +01:00
Asger F
72cc439125
JS: Normalize a few more extensions
2025-06-10 17:36:56 +02:00
Jeroen Ketema
1bd6446f7e
Merge pull request #19715 from jketema/neon-ir-test
...
C++: Add basic Aarch64 Neon IR test
2025-06-10 16:57:46 +02:00
Geoffrey White
652d32d4ff
Merge pull request #19626 from geoffw0/futures
...
Rust: Model futures-io, rustls, futures-rustls
2025-06-10 15:23:43 +01:00
Michael Nebel
dc81f5a6b2
Merge pull request #19713 from michaelnebel/csharp/freezequalityinsecurityandquality
...
C#: Freeze quality queries in the security-and-quality suite.
2025-06-10 16:19:45 +02:00
Asger F
18f9133715
JS: Rename and clarify comment for trackFunctionType
2025-06-10 16:14:46 +02:00
Asger F
a6488cbad9
Update javascript/ql/lib/semmle/javascript/internal/NameResolution.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2025-06-10 16:06:42 +02:00
Jeroen Ketema
a4be27659b
C++: Minor test case reformatting
2025-06-10 15:55:18 +02:00
Michael Nebel
99dc923f1f
C#: Add cs/gethashcode-is-not-defined to the Code Quality suite.
2025-06-10 15:45:41 +02:00
Tom Hvitved
e41b4f4022
Rust: Use get(An){Arg,Param} helper predicates
2025-06-10 15:45:34 +02:00
Jeroen Ketema
7d1b5ce584
C++: Add basic Aarch64 Neon test
2025-06-10 15:34:06 +02:00
Paolo Tranquilli
8f0f2006a8
Merge pull request #19708 from github/redsun82/rust-getArg-getParam
...
Rust: add `Callable::getParam` and `CallExprBase::getArg` shortcuts
2025-06-10 15:31:05 +02:00
Tom Hvitved
209cfb78a3
Rust: Fix bad join
...
```
[2025-06-10 15:21:37] (83s) Tuple counts for TypeMention::PathTypeReprMention.aliasResolveTypeAt/1#dispred#ae16f47b#fbf#cpe#13/2@i5#5a5451wi after 57.7s:
205999 ~1028% {3} r1 = JOIN `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_1_0_2#prev_delta` WITH `_TypeAlias::Generated::TypeAlias.getTypeRepr/0#dispred#5fd7e521_TypeMention::PathTypeReprMention#a35__#join_rhs#1` ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'result', Rhs.3 'this'
{3} | AND NOT `project#TypeMention::pathGetTypeParameter/2#fd301eed#2`(FIRST 2)
204000 ~982% {2} | SCAN OUTPUT In.2 'this', In.1 'result'
5499 ~448% {7} r2 = JOIN `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1#prev_delta` WITH `_GenericArgList::GenericArgList.getTypeArg/1#dispred#1c780027_PathSegment::Generated::PathSegment.ge__#join_rhs#1` ON FIRST 1 OUTPUT Rhs.1, Rhs.2 'this', Rhs.3, Lhs.1 'result', _, Lhs.2, _
{5} | REWRITE WITH Tmp.4 := "", Tmp.6 := "", Out.4 := InverseAppend(Tmp.4,In.5,Tmp.6) KEEPING 5
2500 ~398% {5} | SCAN OUTPUT In.0, In.2, In.4, In.1 'this', In.3 'result'
0 ~0% {2} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1#prev` ON FIRST 3 OUTPUT Lhs.3 'this', Lhs.4 'result'
9000 ~489% {7} r3 = JOIN `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_0_2_1#prev_delta` WITH `_PathSegment::Generated::PathSegment.getGenericArgList/0#dispred#e072653b__Path::Generated::Path.get__#join_rhs#1` ON FIRST 1 OUTPUT Rhs.1, Rhs.2 'this', Rhs.3, Lhs.1, _, Lhs.2, _
{5} | REWRITE WITH Tmp.4 := "", Tmp.6 := "", Out.4 := InverseAppend(In.5,Tmp.4,Tmp.6) KEEPING 5
5000 ~411% {5} | SCAN OUTPUT In.4, In.0, In.1 'this', In.2, In.3
10461919500 ~610% {6} | JOIN WITH `TypeMention::TypeMention.resolveTypeAt/1#dispred#a125c821#bff#reorder_1_0_2#prev` ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2 'this', Lhs.4, Rhs.2 'result'
500 ~0% {5} | JOIN WITH `GenericArgList::GenericArgList.getTypeArg/1#dispred#1c780027_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Rhs.2, Lhs.4, Lhs.3 'this', Lhs.5 'result'
0 ~0% {2} | JOIN WITH `TypeMention::pathGetTypeParameter/2#fd301eed` ON FIRST 3 OUTPUT Lhs.3 'this', Lhs.4 'result'
204000 ~982% {2} r4 = r1 UNION r2 UNION r3
203964 ~982% {2} | AND NOT `TypeMention::PathTypeReprMention.aliasResolveTypeAt/1#dispred#ae16f47b#fbf#cpe#13#prev`(FIRST 2)
return r4
```
2025-06-10 15:25:05 +02:00
Napalys Klicius
51b83dbce5
Merge pull request #19579 from Napalys/js/dom_property_access
...
JS: Improve `useless-expression` query to avoid duplicate alerts on compound expressions
2025-06-10 15:17:13 +02:00
Geoffrey White
fd2154d389
Merge branch 'main' into futures
2025-06-10 14:16:06 +01:00
Taus
e3d9d92f25
JavaScript: Fix duplicate comment
2025-06-10 12:59:03 +00:00
Taus
f08c2fa387
JavaScript: Move tsconfig files into extractor.tsconfig package
...
Also make the indentation in `CompilerOptions.java` more consistent.
2025-06-10 12:58:48 +00:00
Tom Hvitved
791369dd0e
Merge pull request #19584 from hvitved/rust/type-inference-await
...
Rust: Type inference for `.await` expressions
2025-06-10 14:56:28 +02:00
Paolo Tranquilli
4ac4e44b50
Rust: accept test changes
2025-06-10 14:45:57 +02:00
Geoffrey White
918fa3684f
Merge branch 'main' into futures
2025-06-10 13:24:09 +01:00
Kasper Svendsen
23e789b421
QL: Improve toString for overlay annotations
2025-06-10 14:18:05 +02:00
Paolo Tranquilli
0d036992e0
Merge branch 'main' into redsun82/mad
2025-06-10 13:39:10 +02:00
Tom Hvitved
3d395dde47
Address review comments
2025-06-10 13:38:31 +02:00
Napalys Klicius
d968dd0fa1
Removed <strong> usage and updated r?e[m|x] example
2025-06-10 13:34:24 +02:00
Michael Nebel
a15b9a8eae
C#: Freeze quality queries in the security-and-quality suite.
2025-06-10 13:34:03 +02:00
Napalys Klicius
65b1275a19
Update javascript/ql/src/RegExp/DuplicateCharacterInCharacterClass.qhelp
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-10 13:26:08 +02:00
Napalys Klicius
e46581163a
Update javascript/ql/lib/Expressions/ExprHasNoEffect.qll
...
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-06-10 13:23:31 +02:00
Napalys Klicius
496d8d44eb
Update javascript/ql/lib/Expressions/ExprHasNoEffect.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-10 13:19:48 +02:00
Napalys Klicius
e6f071ce46
Update javascript/ql/lib/Expressions/ExprHasNoEffect.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-10 13:18:48 +02:00
Paolo Tranquilli
3562c48068
Merge branch 'main' into redsun82/rust-getArg-getParam
2025-06-10 13:15:37 +02:00
Paolo Tranquilli
3af10d2c6c
Merge pull request #19710 from github/redsun82/rust-fix-crate-graph-test
...
Rust: fix crate graph test
2025-06-10 13:15:22 +02:00
Napalys Klicius
a0db250dc3
Update javascript/ql/test/query-tests/RegExp/DuplicateCharacterInCharacterClass/tst.js
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-10 12:50:07 +02:00
Tom Hvitved
c6efc05de1
Rust: Reimplement type inference for impl Traits and await expressions
2025-06-10 12:39:20 +02:00
Tom Hvitved
f2832712bc
Rust: Add more type inference tests
2025-06-10 12:38:40 +02:00
Tom Hvitved
821f2fd681
Rust: Type inference for .await expressions
2025-06-10 12:38:39 +02:00
Tom Hvitved
e6109cfcf1
Rust: Add type inference tests for impl Trait
2025-06-10 12:38:38 +02:00
Tom Hvitved
c32e05cc8a
Rust: Add async type inference tests
2025-06-10 12:38:37 +02:00
Tom Hvitved
79a8942b0f
Merge pull request #19614 from hvitved/rust/path-resolution-extern-crate
...
Rust: Path resolution for `extern crate`s
2025-06-10 12:37:46 +02:00
Idriss Riouak
f8b192ce3d
Merge pull request #19688 from jketema/mfp8
...
C++: Support the `__mfp8` floating point type
2025-06-10 12:37:05 +02:00
Paolo Tranquilli
2a160e0687
CI: rename codegen workflow to be more generic
...
Also remove the python setup stage as it shouldn't be necessary any more
seen that bazel uses a specific bundled one.
2025-06-10 12:33:30 +02:00
Paolo Tranquilli
52760b1e28
CI: use black instead of autopep8
2025-06-10 12:30:33 +02:00
Paolo Tranquilli
14d48e9d58
Add black pre-commit hook
...
This switched `codegen` from the `autopep8` formatting to the `black`
one, and applies it to `bulk_mad_generator.py` as well. We can enroll
more python scripts to it in the future.
2025-06-10 12:25:39 +02:00
Paolo Tranquilli
ca99add7d6
MaD generator: address review
2025-06-10 12:14:39 +02:00
Paolo Tranquilli
ecc35e5a07
MaD generator: run formatter
2025-06-10 12:11:00 +02:00
Napalys Klicius
d68f5ebddb
Added quality tag to js/regex/duplicate-in-character-class
2025-06-10 12:10:33 +02:00
Napalys Klicius
417ca1aceb
Enchanced js/regex/duplicate-in-character-class's qhelp
2025-06-10 12:10:25 +02:00
Paolo Tranquilli
6f25d7e35e
Rust: fix crate graph test
2025-06-10 11:57:20 +02:00
Tamás Vajk
7a632e8a47
Merge pull request #19650 from tamasvajk/quality/string-concat-loop
...
Add `cs/string-concatenation-in-loop` to the quality suite
2025-06-10 11:49:24 +02:00
Napalys Klicius
42a880bf58
Improved test coverage for js/regex/duplicate-in-character-class
2025-06-10 11:07:22 +02:00
Napalys Klicius
c97da2eda5
Exclude expressions that are part of a conditional expression
2025-06-10 10:56:11 +02:00
Paolo Tranquilli
bcfc009228
Merge branch 'main' into redsun82/mad
2025-06-10 10:53:52 +02:00
Paolo Tranquilli
e6056f9dfc
Update rust/ql/test/query-tests/security/CWE-770/main.rs
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-06-10 10:52:18 +02:00
Paolo Tranquilli
a405a12e93
Rust: add Callable::getParam and CallExprBase::getArg shortcuts
2025-06-10 09:51:26 +02:00
Paolo Tranquilli
902a421c23
Rust: fix docs with getArgList and getParamList
2025-06-10 09:47:15 +02:00
Paolo Tranquilli
02c11b10af
Revert "Rust: rerun codegen"
...
This reverts commit f647b33166 .
2025-06-10 09:43:35 +02:00
Paolo Tranquilli
b6aa6921b3
Revert "Rust: accept test changes"
...
This reverts commit 9c2fea914e .
2025-06-10 09:43:02 +02:00
Paolo Tranquilli
3fe6ba692a
Revert "Rust: add Callable::getParam and CallExprBase::getArg shortcuts"
...
This reverts commit c70decbe86 .
2025-06-10 09:42:28 +02:00
Napalys Klicius
b7f7092ab3
Added test cases for better test coverage
2025-06-10 09:37:40 +02:00
Paolo Tranquilli
48721dcde0
Merge branch 'main' into redsun82/rust-doc
2025-06-10 09:31:18 +02:00
Paolo Tranquilli
f647b33166
Rust: rerun codegen
2025-06-10 09:31:12 +02:00
Paolo Tranquilli
9c2fea914e
Rust: accept test changes
2025-06-10 09:30:43 +02:00
Lindsay Simpkins
f96a250ffc
fix qhelp files
2025-06-09 18:37:16 -04:00
Jeroen Ketema
d70282c322
C++: Update stats file
2025-06-09 23:42:52 +02:00
Jeroen Ketema
bff4213c62
C++: Add upgrade and downgrade scripts
2025-06-09 23:42:11 +02:00
Jeroen Ketema
f910906965
C++: Update expected test results
2025-06-09 23:42:09 +02:00
Jeroen Ketema
691e462501
C++: Support the __mfp8 floating point type
2025-06-09 23:42:07 +02:00
REDMOND\brodes
729467ccd6
Crypto: Separate out CTX parameter initialization, and add additional initializer subclasses.
2025-06-09 16:49:54 -04:00
Chuan-kai Lin
c1c0a705b9
Merge pull request #19704 from github/post-release-prep/codeql-cli-2.22.0
...
Post-release preparation for codeql-cli-2.22.0
2025-06-09 12:54:57 -07:00
REDMOND\brodes
4f2045bbdd
Crypto: CtxFlow now uses an interface for additional steps. Add CTX step to handle paramgen. Remove redundant test. Overhaul of EVP update/initializer/final mechanics. Misc. updates for new API and refactoring EVPKeyGenOperation. Clean up of keygen_operaitons.ql.
2025-06-09 15:07:00 -04:00
github-actions[bot]
21463a9653
Post-release preparation for codeql-cli-2.22.0
2025-06-09 18:50:20 +00:00
Chuan-kai Lin
4d681f05bd
Merge pull request #19703 from github/release-prep/2.22.0
...
Release preparation for version 2.22.0
2025-06-09 11:19:39 -07:00
github-actions[bot]
88ba02edf8
Release preparation for version 2.22.0
2025-06-09 18:14:51 +00:00
Geoffrey White
a9d5d8b2b3
Rust: Accept the new alert message in tests.
2025-06-09 19:14:14 +01:00
Geoffrey White
74ce4e8105
Update rust/ql/src/queries/security/CWE-825/AccessAfterLifetime.ql
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-09 19:10:39 +01:00
Geoffrey White
e7945e16cb
Rust: Accept the query in suite listings.
2025-06-09 19:06:34 +01:00
Geoffrey White
9b0ee8fb9f
Rust: Add security-severity tag and reduce precision to medium for now.
...
precis
2025-06-09 17:58:44 +01:00
Geoffrey White
b3330b5636
Rust: Allow parameter accesses as sources.
2025-06-09 17:58:42 +01:00
Geoffrey White
d3d0a533b5
Rust: Add test showing yet another spurious result.
2025-06-09 17:58:41 +01:00
Geoffrey White
858eec390d
Rust: Exclude results where the source is a reference.
2025-06-09 17:58:40 +01:00
Geoffrey White
7bae451af3
Rust: Exclude results in macro invocations.
2025-06-09 17:58:38 +01:00
Geoffrey White
26f85585fd
Rust: Add qhelp, examples, and examples as tests.
2025-06-09 17:58:37 +01:00
Aditya Sharad
e48a7da827
Actions: Add change note for Bash parsing fixes
2025-06-09 09:56:41 -07:00
Aditya Sharad
98186e3f0e
Merge pull request #19700 from adityasharad/actions/validate-change-notes
...
CI: Expand list of packs/languages for change note validation
2025-06-09 22:13:30 +05:30
Aditya Sharad
2ecbecbd4b
Actions: Add stress test for complex command and string interpolation
...
Anonymised version of a customer report that led to
performance bottlenecks in Bash parsing.
No results are expected from both query and library tests.
2025-06-09 09:29:15 -07:00
Aditya Sharad
848064e95a
Actions: Order quoted strings by their ID, not text
...
In the Bash parser, we compute a mostly-unique ID for each
quoted string within a shell script block.
Quoted strings are then ranked and referred to individually.
Avoid a performance bottleneck by ranking quoted strings by their
ID, not by their source text.
I think this was the original intent of the code.
Ranking by their original text ends up evaluating multiple
possible orderings, which is slow on workflows that contain
multiple complex quoted strings, such as JSON payloads.
2025-06-09 09:15:45 -07:00
Aditya Sharad
fbe11cfca6
Actions: Refactor logic for identifying quoted strings
...
Add some doc comments and meaningful variable names.
2025-06-09 09:15:45 -07:00
Aditya Sharad
9f60335b66
CI: Expand list of packs/languages for change note validation
2025-06-09 08:48:16 -07:00
Geoffrey White
fe20fb403d
Rust: More robust fix for closures.
2025-06-09 16:41:31 +01:00
Aditya Sharad
321513c89b
Actions: Order command substitutions by their ID, not text
...
In the Bash parser, we compute a mostly-unique ID for each
command substitution within a shell script block.
Commands are then ranked and referred to individually.
Avoid a performance bottleneck by ranking commands by their
ID, not by their source text.
I think this was the original intent of the code.
Ranking by their original text ends up evaluating multiple
possible orderings, which is slow on workflows that contain
multiple complex command substitutions.
2025-06-09 08:39:58 -07:00
Aditya Sharad
39e710e805
Actions: Refactor logic for identifying command substitution
...
Extract helper predicates for `$(...)` command interpolation
and backtick-quoted commands.
Add some doc comments and meaningful variable names.
2025-06-09 08:37:40 -07:00
Chad Bentz
371a50e6c4
Merge branch 'main' into cwe-134
2025-06-09 11:22:40 -04:00
Jeroen Ketema
ef210b8f5e
Merge pull request #19678 from jketema/swift-6.1.2
...
Swift: Update to Swift 6.1.2
2025-06-09 17:19:42 +02:00
Chuan-kai Lin
68d2c132b2
Merge pull request #19699 from github/cklin/rc-3.18-mergeback
...
Merge rc/3.18 back to main
2025-06-09 08:15:58 -07:00
Asger F
42f762a140
JS: Update test output now that 'satisfies' is a SourceNode
2025-06-09 16:22:30 +02:00
Chuan-kai Lin
631502e129
Merge branch 'main' into cklin/rc-3.18-mergeback
2025-06-09 07:19:40 -07:00
Mathew Payne
9d23677024
Merge branch 'main' into js-clientrests-axios
2025-06-09 14:18:54 +01:00
Jeroen Ketema
428b48dfe7
Merge pull request #19679 from jketema/stats
...
C++: Update stats file after changes to DCA source suite
2025-06-09 12:39:33 +02:00
Geoffrey White
21b4baeb42
Rust: Have the alert message cite the variable, so it's easier to understand whether the alert is correct.
2025-06-09 10:28:25 +01:00
Geoffrey White
79f8584efb
Rust: Fix spurious results involving closures.
2025-06-09 10:25:48 +01:00
Geoffrey White
bf4ea02dd2
Rust: Implement the query.
2025-06-09 10:25:40 +01:00
Chad Bentz
53a6133e6f
Add change-notes for csharp/java/swift
2025-06-06 12:23:59 -04:00
Paolo Tranquilli
d6d13b9164
MaD generator: use decompress terminology instead of extract
2025-06-06 17:36:05 +02:00
Chad Bentz
77e49f1f90
Merge branch 'main' into cwe-134
2025-06-06 11:16:10 -04:00
Paolo Tranquilli
f3e4f94e81
Rust: add documentation
2025-06-06 16:19:32 +02:00
Paolo Tranquilli
c70decbe86
Rust: add Callable::getParam and CallExprBase::getArg shortcuts
2025-06-06 16:18:16 +02:00
Paolo Tranquilli
779d06f47c
Merge branch 'main' into redsun82/rust-doc
2025-06-06 14:25:37 +02:00
Owen Mansel-Chan
ef5e605cc4
Merge pull request #19386 from owen-mc/go/promote/html-template-escaping-bypass-xss
...
Go: promote `html-template-escaping-bypass-xss`
2025-06-06 12:36:27 +01:00
Jeroen Ketema
1f7a6ba538
Swift: Update LFS
2025-06-06 11:18:21 +02:00
Owen Mansel-Chan
5bfed770ef
Merge pull request #19683 from github/dependabot/go_modules/go/extractor/extractor-dependencies-e08f8ad452
...
Bump the extractor-dependencies group in /go/extractor with 2 updates
2025-06-06 09:56:09 +01:00
Jeroen Ketema
86f425d2fc
C++: Fix join-order problem after stats file update
...
Before the fix:
```
Pipeline standard for AVRule79::exprReleases/3#e849cdd3@f2995ebb was evaluated in 5 iterations totaling 168745ms (delta sizes total: 12583).
85855 ~0% {2} r1 = SCAN `AVRule79::exprReleases/3#e849cdd3#prev_delta` OUTPUT In.1, In.2
85855 ~0% {2} r2 = JOIN r1 WITH `AVRule79::exprOrDereference/1#c20425a1_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
115767 ~6% {2} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
333369 ~18% {2} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
266264 ~204% {2} | JOIN WITH `Access::Access.getTarget/0#dispred#cf25c8aa` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
16379 ~21% {3} | JOIN WITH `Function::Function.getParameter/1#dispred#200dcf26_201#join_rhs` ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Rhs.1
13117819221 ~0% {4} r3 = JOIN r2 WITH `Call::Call.getArgument/1#dispred#ada436ba_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1, Rhs.2
10477 ~3% {3} | JOIN WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5` ON FIRST 2 OUTPUT Lhs.0, Lhs.3, Lhs.2
13117819221 ~1% {4} r4 = JOIN r2 WITH `Call::Call.getArgument/1#dispred#ada436ba_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Rhs.2
13022632157 ~1% {5} | JOIN WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1, Lhs.0, Lhs.3
3720 ~70% {3} | JOIN WITH `#MemberFunction::MemberFunction.getAnOverridingFunction/0#dispred#a6e65b9ePlus` ON FIRST 2 OUTPUT Lhs.3, Lhs.4, Lhs.2
115767 ~6% {2} r5 = JOIN r1 WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
333367 ~20% {3} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1
333367 ~12% {3} | REWRITE WITH Out.1 := 85
4 ~0% {2} | JOIN WITH exprs ON FIRST 2 OUTPUT Lhs.0, Lhs.2
4 ~100% {2} | JOIN WITH `Expr::Expr.getEnclosingFunction/0#dispred#3960f06c` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r6 = JOIN r5 WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r7 = JOIN r5 WITH `#MemberFunction::MemberFunction.getAnOverridingFunction/0#dispred#a6e65b9ePlus#swapped` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} | JOIN WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r8 = r6 UNION r7
0 ~0% {3} | JOIN WITH `Call::Call.getQualifier/0#dispred#7d175544` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
0 ~0% {3} | JOIN WITH `AVRule79::exprOrDereference/1#c20425a1_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1
14197 ~18% {3} r9 = r3 UNION r4 UNION r8
12615 ~3% {3} | AND NOT `AVRule79::exprReleases/3#e849cdd3#prev`(FIRST 3)
return r9
```
After:
```
Pipeline standard for AVRule79::exprReleases/3#e849cdd3@13dead04 was evaluated in 5 iterations totaling 68ms (delta sizes total: 12551).
85855 ~0% {2} r1 = SCAN `AVRule79::exprReleases/3#e849cdd3#prev_delta` OUTPUT In.1, In.2
85855 ~0% {2} r2 = JOIN r1 WITH `AVRule79::exprOrDereference/1#c20425a1_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
115767 ~6% {2} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
333443 ~18% {2} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
265872 ~204% {2} | JOIN WITH `Access::Access.getTarget/0#dispred#cf25c8aa` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
16399 ~27% {3} | JOIN WITH `Function::Function.getParameter/1#dispred#200dcf26_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2
10489 ~1% {3} r3 = JOIN r2 WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
1558 ~80% {3} r4 = JOIN r2 WITH `#MemberFunction::MemberFunction.getAnOverridingFunction/0#dispred#a6e65b9ePlus#swapped` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
2196 ~7% {3} | JOIN WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
12685 ~3% {3} r5 = r3 UNION r4
12581 ~3% {3} | JOIN WITH `Call::Call.getArgument/1#dispred#ada436ba` ON FIRST 2 OUTPUT Lhs.0, Rhs.2, Lhs.2
115767 ~6% {2} r6 = JOIN r1 WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
333443 ~20% {3} | JOIN WITH `ASTValueNumbering::GVN.getAnExpr/0#dispred#a14f45bf` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1
333443 ~12% {3} | REWRITE WITH Out.1 := 85
4 ~0% {2} | JOIN WITH exprs ON FIRST 2 OUTPUT Lhs.0, Lhs.2
4 ~100% {2} | JOIN WITH `Expr::Expr.getEnclosingFunction/0#dispred#3960f06c` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r7 = JOIN r6 WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r8 = JOIN r6 WITH `#MemberFunction::MemberFunction.getAnOverridingFunction/0#dispred#a6e65b9ePlus#swapped` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} | JOIN WITH `Call::FunctionCall.getTarget/0#dispred#935da4c5_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r9 = r7 UNION r8
0 ~0% {3} | JOIN WITH `Call::Call.getQualifier/0#dispred#7d175544` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
0 ~0% {3} | JOIN WITH `AVRule79::exprOrDereference/1#c20425a1_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1
12581 ~3% {3} r10 = r5 UNION r9
12576 ~3% {3} | AND NOT `AVRule79::exprReleases/3#e849cdd3#prev`(FIRST 3)
return r10
```
2025-06-06 07:13:26 +02:00
dependabot[bot]
bbabf2c410
Bump the extractor-dependencies group in /go/extractor with 2 updates
...
Bumps the extractor-dependencies group in /go/extractor with 2 updates: [golang.org/x/mod](https://github.com/golang/mod ) and [golang.org/x/tools](https://github.com/golang/tools ).
Updates `golang.org/x/mod` from 0.24.0 to 0.25.0
- [Commits](https://github.com/golang/mod/compare/v0.24.0...v0.25.0 )
Updates `golang.org/x/tools` from 0.33.0 to 0.34.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.33.0...v0.34.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/mod
dependency-version: 0.25.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
dependency-version: 0.34.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: extractor-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-06 03:29:36 +00:00
REDMOND\brodes
98aae6a7bf
Crypto: Add EVP key gen and signature operation (work in progress). Add initial signature tests (no expected files yet). Add new openssl .h stubs. Clean up of OperationBase and associated uses. Update test case stubs to be closer to the actual stubs. Fix unncessary instanceof check in signatures.
2025-06-05 16:43:58 -04:00
Owen Mansel-Chan
238a3021d0
Merge pull request #19673 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-06-05 19:44:44 +01:00
Mrigank Pawagi
114b46824a
update test
2025-06-05 15:56:35 +00:00
Chris Smowton
fbae3062d3
Merge pull request #19675 from github/smowton/fix/abstract-env
...
Actions: Make `Env` non-abstract
2025-06-05 16:50:11 +01:00
Geoffrey White
526620ca41
Rust: Add some helper predicates for finding enclosing blocks.
2025-06-05 16:30:28 +01:00
Geoffrey White
96dc34e36d
Rust: Even more test cases (inspired by real world results).
2025-06-05 16:29:58 +01:00
Taus
b8772bc736
JavaScript: Add change note
2025-06-05 15:06:40 +00:00
Taus
281ccf7c11
JavaScript: Extract tsconfig.json also in basic mode
...
This is needed for the logic that skips files inside the directory
specified in the `tsconfig.json` `outDir` compiler option.
2025-06-05 15:01:05 +00:00
Taus
619256e037
JavaScript: Fix existing tests and test runner
...
Fixes two things:
- The basic test should no longer extract `tst.js` (as `tst.ts` is
present)
- The `AutoBuild` mock did not populate `extractedFiles` correctly,
which broke the logic that looks for TypeScript files with the same
basename.
2025-06-05 14:59:40 +00:00
Taus
8829f7820a
JavaScript: Don't extract files with TypeScript progenitors
2025-06-05 14:57:00 +00:00
Taus
14f50880e9
JavaScript: Don't extract files in tsconfig.json outDir
2025-06-05 14:56:59 +00:00
Jeroen Ketema
99ef4c7b38
Merge pull request #19533 from github/idrissrio/constexpr
...
C++: accept new test results after changes
2025-06-05 16:53:34 +02:00
Paolo Tranquilli
e1eb1f6345
Rust: address review
...
Also fix some minor things in `bulk_generate_mad.py`.
2025-06-05 16:03:40 +02:00
Jeroen Ketema
057d3ebfdf
C++: Update stats file after changes to DCA source suite
2025-06-05 15:57:55 +02:00
Mrigank Pawagi
93c485fb13
apply proper formatting in comment
2025-06-05 13:26:38 +00:00
Jeroen Ketema
5b5d855808
Swift: Remove empty line from change note
2025-06-05 14:47:10 +02:00
Jeroen Ketema
3f89dd3c4e
Swift: Update to Swift 6.1.2
2025-06-05 14:16:18 +02:00
Owen Mansel-Chan
ecd0291b6a
Add change note for deprecation
2025-06-05 11:00:00 +01:00
Owen Mansel-Chan
75d9b298b2
Test helper predicates for TypeSpec
2025-06-05 10:52:01 +01:00
Owen Mansel-Chan
c4a8ac4980
Add helper predicates for TypeSpec
2025-06-05 10:51:39 +01:00
Mrigank Pawagi
434973f8e6
Update GlobalUseBeforeInit.ql
2025-06-05 09:48:37 +00:00
Geoffrey White
66c1e2cace
Rust: Add test cases for implicit dereferences and more pointer/enum mixes (inspired by early real world results).
2025-06-05 10:37:30 +01:00
Geoffrey White
e2fb1d3892
Rust: Add test cases involving lifetimes + lifetime annotations.
2025-06-05 10:37:29 +01:00
Geoffrey White
ae19ecc674
Rust: Add test cases involving lifetimes + closures and async blocks.
2025-06-05 10:37:28 +01:00
Geoffrey White
43cb98ad15
Rust: Fix some warnings in the existing test.
2025-06-05 10:37:27 +01:00
Geoffrey White
8e8374b9bc
Rust: Label source annotations in the test properly.
2025-06-05 10:37:26 +01:00
Geoffrey White
da4fbfb449
Rust: Placeholder new query.
2025-06-05 10:37:25 +01:00
Owen Mansel-Chan
8b9cc99158
Test helper predicates for FieldDecl
2025-06-05 10:35:34 +01:00
Owen Mansel-Chan
d9bc165c72
Add helper predicates for FieldDecl
2025-06-05 10:35:25 +01:00
Owen Mansel-Chan
82e8d3af8d
Improve two class names
2025-06-05 10:34:53 +01:00
Chris Smowton
338d3834c4
Actions: Make Env non-abstract
...
`class Env` was previously abstract with no concrete descendants, so user queries like `any(Env e | ...)` would never produce results.
In the JS library the corresponding class derived from `YamlNode` and has concrete descendants representing workflow-, job- and step-level `env` nodes. However these are dubiously useful since you can always just use `any(Step s).getEnv()` to achieve the same result. Since `EnvImpl` already fully characterises an `env` node, I simply make the class concrete.
2025-06-05 10:21:24 +01:00
Paolo Tranquilli
6162cf5dbb
Rust: accept test changes
2025-06-05 10:52:59 +02:00
GeekMasher
302097ec85
docs(js): Add AxiosInstanceRequest docs
2025-06-05 09:52:25 +01:00
Paolo Tranquilli
ec77eb3ec8
Rust: regenerate MaD models
2025-06-05 10:08:47 +02:00
Paolo Tranquilli
f4bbef9769
Rust: switch to DCA strategy for MaD bulk generation
2025-06-05 10:08:30 +02:00
Paolo Tranquilli
530b990dd5
MaD generator: some final minor tweaks
2025-06-05 10:08:01 +02:00
Paolo Tranquilli
ee7eb86a1d
MaD: make bulk generator cleanup downloaded DBs
2025-06-05 09:31:24 +02:00
Paolo Tranquilli
4f47ee2e72
MaD: make bulk generator DCA strategy download DBs in parallel
2025-06-05 09:30:02 +02:00
Paolo Tranquilli
fbd50583fe
MaD generator: move bulk generation config files one directory up
2025-06-05 08:50:48 +02:00
Paolo Tranquilli
31954fa794
MaD generator: make bulk generator executable
2025-06-05 08:49:15 +02:00
Paolo Tranquilli
d5c16d6092
MaD generator: reformat
2025-06-05 08:48:01 +02:00
Paolo Tranquilli
900a3b0992
MaD generator: only pick up last database on comparison DCAs
2025-06-05 08:47:45 +02:00
Paolo Tranquilli
31d1604337
Bulk model generator: switch from json to yml configuration files
2025-06-05 08:37:43 +02:00
github-actions[bot]
401911e185
Add changed framework coverage reports
2025-06-05 00:24:03 +00:00
Asger F
691fdb106e
JS: Nicer jump-to-def for function declarations
2025-06-04 22:17:42 +02:00
Asger F
57fad7e6c9
JS: Add SatisfiesExpr
2025-06-04 22:17:40 +02:00
Asger F
79101fd121
JS: Add test with type casts
2025-06-04 22:17:39 +02:00
REDMOND\brodes
f952f901e4
Crypto: Update CtxFlow to flow from any "source ctx" which is any ctx that is an argument or a return.
2025-06-04 15:44:45 -04:00
REDMOND\brodes
33e239d667
Crypto: Collapse initializer qll's into operations.
2025-06-04 15:44:06 -04:00
REDMOND\brodes
952bc266b1
Crypto: Added Signature algorithm instance and consumer
2025-06-04 15:42:55 -04:00
REDMOND\brodes
39583abade
Crypto: Update KnownAlgoirthmConstants to make a distinction between calls that return a known algorithm and calls that operate on a known algorithm. update KnownAlgorithmConstants to correct algType for signature algorithms. Update all instances and prior uses of the old mechanic to KnownAlgorithmConstants.
2025-06-04 15:41:24 -04:00
Tom Hvitved
721ffb11cf
Rust: Path resolution for extern crates
2025-06-04 21:14:22 +02:00
Tom Hvitved
4fb4bfd6cf
Rust: Add path resolution test for extern crate
2025-06-04 21:13:29 +02:00
Tom Hvitved
76c6d7104d
Merge pull request #19669 from hvitved/rust/external-location-post-processing
...
Rust: Remove external locations in tests using post-processing
2025-06-04 16:52:40 +02:00
idrissrio
149c53bef6
C++: accept new test results after changes
2025-06-04 16:51:29 +02:00
Arthur Baars
189c16b7bc
Merge pull request #19630 from github/aibaars/qldoc-ast
...
Rust: add documentation for AST nodes
2025-06-04 16:04:56 +02:00
Arthur Baars
39851bcab4
Rust: update expected output
2025-06-04 15:44:36 +02:00
Arthur Baars
e87878298e
Rust: run codegen
2025-06-04 15:41:52 +02:00
Arthur Baars
7a13c981b8
Rust: address comments
2025-06-04 15:38:23 +02:00
Napalys Klicius
5419285091
Merge pull request #19544 from Napalys/js/quality/stream_pipe
...
JS: new `Quality` query - Unhandled errors in `.pipe()` chain
2025-06-04 15:34:41 +02:00
Jeroen Ketema
2e6794e16c
Merge pull request #18931 from jketema/frontend-upgrade
...
C++: Update expected test results and compiler version documentation after frontend update
2025-06-04 14:34:53 +02:00
Jeroen Ketema
129f259f1a
C++: Update supported compiler versions after frontend update
2025-06-04 14:03:44 +02:00
Jeroen Ketema
0e34ee18df
C++: Update expected test results after frontend update
2025-06-04 14:03:43 +02:00
Tom Hvitved
aa0fc05df8
Rust: Remove external locations in tests using post-processing
2025-06-04 13:07:43 +02:00
Owen Mansel-Chan
e7e4286233
Merge pull request #19561 from owen-mc/go/mad/bigquery-sql-injection-sink
...
Go: Add BigQuery as a sink for SQLi queries #2
2025-06-04 11:36:18 +01:00
Asger F
853ba49212
Update javascript/ql/lib/semmle/javascript/internal/TypeResolution.qll
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-06-04 10:17:25 +02:00
Paolo Tranquilli
5f474a7185
Rust: Use QL computed canonical paths in MaD Field tokens
...
Also regenerate all auto-generated models with latest extractor.
2025-06-04 09:43:45 +02:00
Nicolas Will
0ef17ba231
Merge pull request #19607 from trailofbits/openssl-base-classes
...
Quantum: Add base classes for OpenSSL EVP methods
2025-06-03 19:23:21 +02:00
Mathew Payne
8f2f7a934d
Merge branch 'main' into js-clientrests-axios
2025-06-03 16:38:14 +01:00
GeekMasher
79a72fc15b
fix(js): Update tests
2025-06-03 16:37:36 +01:00
GeekMasher
3b64bd48ab
style(js): Update Formatting
2025-06-03 15:59:32 +01:00
GeekMasher
2eb5f10850
feat(js): Add Axios instance support change notes
2025-06-03 15:58:49 +01:00
GeekMasher
6a1cfb6aef
feat(js): Add Axios Instance support and add tests
2025-06-03 15:55:23 +01:00
Owen Mansel-Chan
b2f310cda7
Add change note
2025-06-03 15:36:03 +01:00
GrosQuildu
60d9b6e338
update docs
2025-06-03 16:27:50 +02:00
GrosQuildu
eff6eb3cc2
remove redundant if/none
2025-06-03 16:27:50 +02:00
GrosQuildu
f04fa58c8b
rm one-shot class
2025-06-03 16:27:50 +02:00
Paweł Płatek
328cf798bf
Apply docs suggestions
...
Co-authored-by: Ben Rodes <benjaminrodes@gmail.com >
2025-06-03 16:27:50 +02:00
Paweł Płatek
f103e8be96
Update cpp/ql/lib/experimental/quantum/OpenSSL/Operations/OpenSSLOperationBase.qll
...
Co-authored-by: Ben Rodes <benjaminrodes@gmail.com >
2025-06-03 16:27:50 +02:00
GrosQuildu
af8702d6a8
fix openssl outputs
2025-06-03 16:27:50 +02:00
GrosQuildu
6d1b1d1a6e
refactor EVP common classes
...
add initial work for openssl signatures
add basic C test files for ciphers and signatures
more signature classes, comments for evp base classes
more signature tests
fix super calls for input consumers
fix getOutputArtifact for tests
formatting
delete redundant test files
move algorithm methods to OpenSSLOperation
refactor ECKeyGenOperation for new EVP classes
formatting
fix getOutputArtifact
fix cipher and digest operation test results
mv openssl signature to another PR
2025-06-03 16:27:50 +02:00
Idriss Riouak
8fe2699a36
Merge pull request #19603 from github/idrissrio/comments-using
...
C++: Add support for getting literals in using declarations
2025-06-03 16:14:21 +02:00
idrissrio
10fb806601
C++: add change note for using declarations
2025-06-03 16:04:36 +02:00
idrissrio
4fd44e96ba
C++: add test for getReferencedMember
2025-06-03 16:04:35 +02:00
idrissrio
e31f722d76
C++: Add support for getting referenced literals in using declarations
2025-06-03 16:04:30 +02:00
Owen Mansel-Chan
4711feb344
Add test for DefinedType.getBaseType
2025-06-03 14:50:05 +01:00
Owen Mansel-Chan
40000840c1
Fix definition of DefinedType.getBaseType
2025-06-03 14:50:03 +01:00
Owen Mansel-Chan
681f9af710
Fix MethodTypes test
2025-06-03 14:50:00 +01:00
Napalys Klicius
aac56e089a
JavaScript: Fix false positive on Flow type annotations in ExprHasNoEffect
2025-06-03 15:26:22 +02:00
Napalys Klicius
46b5ded862
JS: Enhance void context propagation
2025-06-03 15:20:55 +02:00
Florin Coada
35691db373
Merge pull request #19643 from github/changedocs/2.21.4
...
Docs: Add changelog entry for CodeQL 2.21.4 release
2025-06-03 14:19:19 +01:00
Napalys Klicius
bf48b59874
JS: Removed exclusion of FunctionExpr from compound statements.
2025-06-03 15:12:26 +02:00
Michael Nebel
d2b8bd5760
C#: Remove explicit (trivial) type requirements on Debug.Assert methods.
2025-06-03 15:10:34 +02:00
Napalys Klicius
8521c53a40
Renamed test directory to match the query name
...
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-06-03 14:12:12 +02:00
Napalys Klicius
d1869941c2
Renamed UnhandledStreamPipe.ql to a better fitting name and ID
...
As a side effect of merge `security-and-quality` does not contain anymore related new query.
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-06-03 13:57:10 +02:00
Paolo Tranquilli
f48012a37c
Merge pull request #19644 from github/redsun82/update-ripunzip
...
Ripunzip: update to 2.0.2
2025-06-03 13:51:34 +02:00
Napalys Klicius
f6e7059589
Merge branch 'main' into js/quality/stream_pipe
2025-06-03 13:48:41 +02:00
Napalys Klicius
8ba1f3f265
Update javascript/ql/src/Quality/UnhandledStreamPipe.qhelp
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-03 13:43:45 +02:00
Asger F
9ea4410592
Merge pull request #19587 from asgerf/js/angular2-client-side
...
JS: Mark AngularJS $location as client-side remote flow source
2025-06-03 13:40:01 +02:00
Michael Nebel
bc4ff598c3
C#: Add change-note.
2025-06-03 13:25:02 +02:00
Michael Nebel
77fa45050e
C#: Add cs/dereferenced-value-is-always-null and cs/dereferenced-value-may-be-null to the Code Quality suites.
2025-06-03 13:25:01 +02:00
Michael Nebel
7a63c7d2a5
C#: Update test expected output.
2025-06-03 13:24:59 +02:00
Michael Nebel
36eab47ab4
C#: Do not assume that extension methods on nullable types do unsafe dereference.
2025-06-03 13:24:57 +02:00
Michael Nebel
0355ea8733
C#: Add some synthetic library extensions methods and tests for cs/dereferenced-value-is-always-null.
2025-06-03 13:24:56 +02:00
Michael Nebel
76c12a5c69
C#: Convert tests for cs/dereferenced-value-may-be-null to use inline expectations.
2025-06-03 13:24:54 +02:00
Michael Nebel
46c02e7fa8
C#: Convert tests for cs/dereferenced-value-is-always-null to use inline expectations.
2025-06-03 13:24:52 +02:00
Jeroen Ketema
5e84c71b69
Merge pull request #19652 from jketema/down-typo
...
C++: Fix typo in downgrade script
2025-06-03 12:55:28 +02:00
Jeroen Ketema
41bdaa3d3c
C++: Fix typo in downgrade script
2025-06-03 12:25:46 +02:00
Arthur Baars
4de3817b16
Merge pull request #19616 from github/aibaars/rust-fix-stats
...
Rust: restrict line and file counts to include only extracted source files
2025-06-03 11:31:54 +02:00
Arthur Baars
348dc9969b
Rust: remove stray space
2025-06-03 10:55:34 +02:00
Tamas Vajk
92541ffdd8
Add cs/string-concatenation-in-loop to the quality suite
2025-06-03 10:51:38 +02:00
Paolo Tranquilli
1110fea2a2
Rust: add upgrade/downgrade scripts for new tables
2025-06-03 10:41:32 +02:00
Paolo Tranquilli
04c9feed36
Rust: accept test changes
2025-06-03 10:41:31 +02:00
Paolo Tranquilli
667eed9b9b
Rust: store in the DB if a library function or const had a body
...
When skipping bodies in library code, we lose the information whether a
body was originally present. This can be important, for example when
determining whether a trait method has a default implementation.
With this change that information can be recovered via the
`hasImplementation` predicate.
2025-06-03 10:41:31 +02:00
Paolo Tranquilli
77c40da51a
Rust/Codegen: fix detached predicates
2025-06-03 10:41:31 +02:00
Paolo Tranquilli
78bb41e47b
Merge branch 'main' into redsun82/rust-extract-libs
2025-06-03 10:34:11 +02:00
Tom Hvitved
ae4a425608
Merge pull request #19605 from hvitved/rust/jump-to-def-extensions
...
Rust: Extend jump-to-def to include paths and `mod file;` imports
2025-06-03 10:19:28 +02:00
Tom Hvitved
3781de7b92
Rust: Reorder columns in Definitions.ql test
2025-06-03 09:53:45 +02:00
Nicolas Will
7d7ea72516
Merge pull request #19632 from bdrodes/openssl_keyagreement_instances_and_consumers
...
Quantum: Add OpenSSL key agreement instances and consumers
2025-06-02 20:55:05 +02:00
Nicolas Will
7e7dfeb40b
Merge branch 'main' into openssl_keyagreement_instances_and_consumers
2025-06-02 20:02:53 +02:00
REDMOND\brodes
8b770bfb4d
Crypto: Remove old crypto stubs, now part of experimental/stubs.
2025-06-02 14:00:30 -04:00
Napalys Klicius
7993f7d8c8
Update qhelp example to more accurately demonstrate flagged cases
2025-06-02 19:08:33 +02:00
REDMOND\brodes
23b6c78a23
Crypto: Revert CODEOWNERS change and remove redundant cast.
2025-06-02 13:07:31 -04:00
Tom Hvitved
52aa7e3c7d
Merge pull request #19624 from paldepind/type-inference-experiment
...
Rust: Refactor type equality
2025-06-02 19:06:18 +02:00
Napalys Klicius
bf2f19da56
Update UnhandledStreamPipe.ql
...
Address comments
Co-Authored-By: Asger F <316427+asgerf@users.noreply.github.com >
2025-06-02 19:02:48 +02:00
Paolo Tranquilli
bd2573a2b0
Ripunzip: fix macos archive
2025-06-02 18:20:29 +02:00
Nicolas Will
8b9e5b477c
Merge pull request #19623 from trailofbits/fegge/quantum-signatures
...
Quantum: Added signature input nodes to signature verify operation nodes
2025-06-02 18:07:48 +02:00
Florin Coada
2e5ce06a27
Docs: Add changelog entry for CodeQL 2.21.4 release
2025-06-02 17:06:40 +01:00
Paolo Tranquilli
51ef76a3c4
Merge pull request #19642 from github/redsun82/rm-windows-2019
...
CI: remove deprecated `windows-2019` usage
2025-06-02 18:05:19 +02:00
Paolo Tranquilli
ddbe29a8e2
Ripunzip: update to 2.0.2
2025-06-02 18:04:57 +02:00
Napalys Klicius
ae74edb033
Update javascript/ql/src/Quality/UnhandledStreamPipe.ql
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:53:54 +02:00
Napalys Klicius
d43695c929
Update javascript/ql/src/Quality/UnhandledStreamPipe.qhelp
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:52:42 +02:00
Napalys Klicius
7198372ae5
Update javascript/ql/src/Quality/UnhandledStreamPipe.qhelp
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:52:41 +02:00
Napalys Klicius
abd446ae77
Update javascript/ql/src/Quality/UnhandledStreamPipe.ql
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:52:40 +02:00
Napalys Klicius
64f00fd0f2
Update javascript/ql/src/Quality/UnhandledStreamPipe.ql
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:52:34 +02:00
Joe Farebrother
38072c7863
Fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-06-02 16:42:27 +01:00
Napalys Klicius
3cbc4142f0
Update javascript/ql/src/Quality/UnhandledStreamPipe.ql
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 17:40:06 +02:00
Napalys Klicius
aed9e9c883
Merge pull request #19634 from Napalys/js/url_obj_propagation
...
JS: Add URL constructor taint tracking for request forgery
2025-06-02 17:32:44 +02:00
Paolo Tranquilli
baac2eecb0
Ripunzip: update default workflow versions
2025-06-02 17:30:34 +02:00
Paolo Tranquilli
b1afa6681c
CI: remove deprecated windows-2019 usage
2025-06-02 17:26:42 +02:00
Nicolas Will
5a822462ad
Merge branch 'main' into openssl_keyagreement_instances_and_consumers
2025-06-02 16:54:22 +02:00
Nicolas Will
806fc6ae6a
Merge pull request #19564 from bdrodes/initial_openssl_tests
...
Quantum: Add initial qltests for OpenSSL modeling
2025-06-02 16:52:27 +02:00
Arthur Baars
ae0c547e89
Rust: fix CFG for MacroPat
2025-06-02 16:37:55 +02:00
REDMOND\brodes
f5d24c5a7b
Crypto: Fix UnknownKeyAgreementType to OthernKeyAgreementType for JCA.
2025-06-02 10:11:53 -04:00
REDMOND\brodes
a473c96a9c
Crypto: Move crypto test stubs under experimental/stubs and remove special CODEOWNERS assignments for crypto stubs.
2025-06-02 16:10:35 +02:00
REDMOND\brodes
6b267479be
Crypto: Update crypto stubs location under 'crypto' and associate codeowners on any test/stubs/crypto. Minor fix to HashAlgorithmValueConsumer (remove library detector logic).
2025-06-02 16:10:35 +02:00
REDMOND\brodes
a9bdcc72eb
Crypto: Move openssl stubs to a shared stubs location. Include openssl apache license and a readme for future stub creation. Modify existing test case to reference stubs location.
2025-06-02 16:10:35 +02:00
REDMOND\brodes
0de6647927
Crypto: Adding initial openssl tests, fixing a bug in hash modeling found through tests, and updating CODEOWNERS for quantum tests
2025-06-02 16:10:35 +02:00
Arthur Baars
5c21c01ad0
Update rust/ql/src/queries/summary/Stats.qll
2025-06-02 15:42:43 +02:00
Fredrik Dahlgren
d0739b21e5
Restricted signature input nodes to verify nodes
2025-06-02 15:37:33 +02:00
Paolo Tranquilli
dfc03cbad1
Merge branch 'main' into redsun82/rust-extract-libs
2025-06-02 15:33:53 +02:00
Joe Farebrother
57a0c7a1ab
Performance fix - Use basic blocks instead of full cfg reachability.
2025-06-02 14:33:52 +01:00
Napalys Klicius
1f256ab71e
Added change note
2025-06-02 14:59:43 +02:00
Napalys Klicius
bca1bc7153
JS: Enhance isDomProperty to check for getAPropertyRead on DOM nodes
2025-06-02 14:56:45 +02:00
Napalys Klicius
9b2ef8be10
JS: add test for DOM access where expression appears to have no side effects
2025-06-02 14:54:46 +02:00
Michael Nebel
21cb8b2172
Merge pull request #19638 from martincostello/dotnet-branding
...
Fix user-facing casing of NuGet
2025-06-02 14:06:35 +02:00
Taus
9fe031d8eb
Merge pull request #19594 from sylwia-budzynska/pandas-sqli
...
Python: Add Pandas SQLi sinks
2025-06-02 13:40:14 +02:00
Napalys Klicius
c981c4fe30
Update javascript/ql/lib/change-notes/2025-05-30-url-package-taint-step.md
...
Co-authored-by: Asger F <asgerf@github.com >
2025-06-02 13:34:47 +02:00
Tom Hvitved
bf39058573
Merge pull request #19611 from hvitved/rust/path-resolution-std-prelude
...
Rust: Also take the `std` prelude into account when resolving paths
2025-06-02 13:04:57 +02:00
Paolo Tranquilli
2561f3c081
Merge pull request #19585 from github/redsun82/rust-skip-unexpanded-in-libraries
...
Rust: skip unexpanded stuff in library emission
2025-06-02 12:10:37 +02:00
Napalys Klicius
298ef9ab12
Now able to track error handler registration via instance properties
2025-06-02 11:01:41 +02:00
Martin Costello
77a6a2d442
Fix user-facing casing of NuGet
...
Fix user-facing strings to use "NuGet" instead of "Nuget" and "dotnet" instead of "Dotnet".
2025-06-02 09:30:16 +01:00
Paolo Tranquilli
fa3fcf0f95
Rust: skip all token trees in library mode
2025-06-02 09:32:39 +02:00
Paolo Tranquilli
7be44d2fe8
Merge branch 'main' into redsun82/rust-skip-unexpanded-in-libraries
2025-06-02 09:27:56 +02:00
Arthur Baars
943dd8e70c
update output
2025-05-30 22:56:06 +02:00
Arthur Baars
c44a7c3036
Rust: codegen
2025-05-30 22:56:04 +02:00
Arthur Baars
0c8e886821
Rust: fix QLdoc examples
2025-05-30 22:55:50 +02:00
Napalys Klicius
0b6a747737
Added change note
2025-05-30 18:33:59 +02:00
Napalys Klicius
b9b62fa1c1
JS: Add URL from url package constructor taint step for request forgery detection
2025-05-30 18:32:02 +02:00
Napalys Klicius
19cc3e335f
JS: Add test case for RequestForgery with url wrapped via package URL
2025-05-30 18:26:47 +02:00
Napalys Klicius
f843cc02f6
Fix false positives in stream pipe analysis by improving error handler tracking via property access.
2025-05-30 18:08:04 +02:00
REDMOND\brodes
cf015d18f1
Crypto: Add openssl key agreement instances and consumers (KEM and KEY_EXCH). Fix for raw algorithm names in all current instances. Update constants to include key agreement algorithms, previously missing. Note added in model for the possibility of ESDH.
2025-05-30 11:29:34 -04:00
Mathias Vorreiter Pedersen
f6231a37e1
Merge pull request #19627 from MathiasVP/generalize-bulk-generation
...
Bulk MAD generator: Support databases from DCA runs
2025-05-30 14:46:36 +01:00
REDMOND\brodes
69e3a20e24
Crypto: Update crypto stubs location under 'crypto' and associate codeowners on any test/stubs/crypto. Minor fix to HashAlgorithmValueConsumer (remove library detector logic).
2025-05-30 09:35:33 -04:00
Mathias Vorreiter Pedersen
7cb9024cc6
Bulk generator: Flip default values for summaries, sources, and sinks.
2025-05-30 13:33:24 +01:00
Mathias Vorreiter Pedersen
0f30644afd
Bulk generator: Snake case things.
2025-05-30 13:26:53 +01:00
Mathias Vorreiter Pedersen
3444c986ec
Bulk generator: Fix field name.
2025-05-30 13:25:12 +01:00
Mathias Vorreiter Pedersen
bdf411afbc
Bulk generator: Make 'database_results' a map to simplify away the explicit sorting.
2025-05-30 13:09:55 +01:00
Mathias Vorreiter Pedersen
cdd869a970
Bulk generator: Autoformat.
2025-05-30 12:49:12 +01:00
Mathias Vorreiter Pedersen
3ddca32705
Update misc/scripts/models-as-data/bulk_generate_mad.py
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-30 12:48:50 +01:00
Mathias Vorreiter Pedersen
7c2612a6a1
Bulk generator: Specify a path to the PAT instead of the PAT itself.
2025-05-30 12:47:07 +01:00
Mathias Vorreiter Pedersen
1228080914
Bulk generator: Specify 'language' in the config file.
2025-05-30 12:40:21 +01:00
Mathias Vorreiter Pedersen
fc165db8ac
Bulk generator: Specify 'with-summaries', 'with-sources', and 'with-sinks' in the config file.
2025-05-30 12:40:20 +01:00
Mathias Vorreiter Pedersen
7121f5c57e
Bulk generator: Use the 'Project' type throughout the file.
2025-05-30 12:08:42 +01:00
Arthur Baars
0157c16008
Rust: delete empty expected file
2025-05-30 12:57:45 +02:00
Mathias Vorreiter Pedersen
7c89d6d6dd
Bulk generator: Rename 'get_destination_for_project' to 'get_mad_destination_for_project'.
2025-05-30 11:49:48 +01:00
Mathias Vorreiter Pedersen
5d79a8de89
Update misc/scripts/models-as-data/bulk_generate_mad.py
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-05-30 11:48:30 +01:00
Mathias Vorreiter Pedersen
b640474a61
Bulk generator: Remove 'Phase' part of log message.
2025-05-30 11:43:30 +01:00
Mathias Vorreiter Pedersen
566bf431d7
Bulk generator: Rename 'github' to 'get_json_from_github'.
2025-05-30 11:42:15 +01:00
Mathias Vorreiter Pedersen
7ecf8c8ea2
Bulk generator: Format file and add a note at the top of the file specifying the formatting requirements.
2025-05-30 11:40:55 +01:00
Joe Farebrother
73f2770acb
Fix handling for some wrappers + add test case
2025-05-30 11:24:06 +01:00
Arthur Baars
f0db47b571
Rust: run codegen
2025-05-30 11:51:35 +02:00
Arthur Baars
0dd0f9a22a
Rust: add missing AST nodes to annotations.py
2025-05-30 11:46:27 +02:00
Arthur Baars
460984bee5
Rust: add documentation for AST nodes
2025-05-30 11:46:17 +02:00
Mathias Vorreiter Pedersen
cb938701a1
Bulk generator: Rename file since it is no longer Rust specific.
2025-05-29 18:14:24 +01:00
Mathias Vorreiter Pedersen
5051790e24
Bulk generator: Add DCA support.
2025-05-29 18:14:22 +01:00
Mathias Vorreiter Pedersen
e721fc07aa
Bulk generator: Prepare for adding DCA support. This commits just generalizes the existing functionality to be independent of Rust and instead depend on the configuration file and the command-line arguments.
2025-05-29 18:14:21 +01:00
Mathias Vorreiter Pedersen
6ff2bebbc2
Bulk generator: Add command-line arguments.
2025-05-29 18:14:19 +01:00
Mathias Vorreiter Pedersen
b87ba31c43
Bulk generator: Get rid of the hardcoded project list and move it into a configuration file.
2025-05-29 18:14:18 +01:00
Mathias Vorreiter Pedersen
40d937a2eb
Bulk generator: Some imports we will need.
2025-05-29 18:14:16 +01:00
Mathias Vorreiter Pedersen
cb0b566588
C++: Put autogenerated models in the same folder structure as Rust.
2025-05-29 18:14:15 +01:00
Geoffrey White
49dabdb8a5
Rust: Accept consistency test failures.
2025-05-29 17:51:44 +01:00
Geoffrey White
10f894b9a1
Rust: Model more methods.
2025-05-29 16:45:25 +01:00
Geoffrey White
4d51a15cc4
Rust: Add model variants for when the qualifier is expressed as an arg (reference). We shouldn't need these.
2025-05-29 16:45:23 +01:00
Geoffrey White
84c72f68af
Rust: Add models for read methods.
2025-05-29 16:45:22 +01:00
Geoffrey White
13f6de9924
Rust: Add source / basic basic models.
2025-05-29 16:45:21 +01:00
Geoffrey White
b78d51e079
Rust: Fix a bug in InlineFlow.ql that was excluding some sinks.
2025-05-29 16:45:19 +01:00
Geoffrey White
a5e1702d4b
Rust: Add tests for sources involving regular rustls as well.
2025-05-29 16:45:18 +01:00
Geoffrey White
544af7f7ca
Rust: Add tests for sources involving futures-rustls and futures-io.
2025-05-29 16:45:17 +01:00
Arthur Baars
f5ea929d76
Merge pull request #19551 from github/redsun82/rust-all-features-by-default
...
Rust: use all features by default
2025-05-29 16:29:25 +02:00
Simon Friis Vindum
08277e4ecc
Rust: Refactor type equality
2025-05-29 16:07:37 +02:00
Fredrik Dahlgren
5fe17abe31
Added signature input nodes to signature verify operation nodes
2025-05-29 13:27:11 +02:00
Simon Friis Vindum
437246f3c9
Merge pull request #19593 from paldepind/rust/operator-overloading
...
Rust: Type inference for operator overloading
2025-05-29 12:28:25 +02:00
Paolo Tranquilli
55791a6c75
Rust: fix typo
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-05-29 11:19:08 +02:00
Paolo Tranquilli
ca661c7877
Rust: use all features by default
2025-05-29 11:19:08 +02:00
Arthur Baars
55be5fbf9e
Merge pull request #19588 from github/aibaars/rust-enable-attribute-macros
...
Rust: re-enable attribute macro expansion in library mode
2025-05-29 10:59:07 +02:00
Chuan-kai Lin
b4e614ac74
Merge pull request #19428 from github/cklin/check-diff-informed
...
QL tests: run with --check-diff-informed
2025-05-28 11:51:16 -07:00
Arthur Baars
62d0cf7e0d
Rust: restrict line and file counts to include only extracted source files
2025-05-28 19:55:13 +02:00
Chuan-kai Lin
89ad2b4256
Merge branch 'main' into cklin/check-diff-informed
2025-05-28 10:47:47 -07:00
Arthur Baars
bfe3413445
Merge pull request #19612 from github/aibaars-patch-2
...
Rust: delete leftover log statement
2025-05-28 18:11:27 +02:00
REDMOND\brodes
b1ce44e434
Crypto: Move openssl stubs to a shared stubs location. Include openssl apache license and a readme for future stub creation. Modify existing test case to reference stubs location.
2025-05-28 12:05:18 -04:00
Napalys Klicius
d3b2a57fbf
Fixed ql warning Expression can be replaced with a cast
2025-05-28 17:34:16 +02:00
Napalys Klicius
2e2b9a9d63
Make predicates private and clarify stream reference naming.
2025-05-28 17:23:55 +02:00
Paolo Tranquilli
06eeb10db8
Merge branch 'main' into redsun82/rust-extract-libs
2025-05-28 17:23:28 +02:00
Paolo Tranquilli
80a5dde240
Merge pull request #19613 from github/redsun82/rust-compression
...
Ruby, Rust: add zstd compression option (and fix compression in Rust)
2025-05-28 17:20:57 +02:00
Paolo Tranquilli
7d1a38f42a
Merge pull request #19600 from github/redsun82/rust-new-macro-expansion-integration-test
...
Rust: add more macro expansion tests
2025-05-28 17:19:06 +02:00
Napalys Klicius
f8f5d8f561
Exclude .pipe detection which are in a test file.
2025-05-28 17:18:39 +02:00
Napalys Klicius
5bb29b6e33
Now flags only .pipe calls which have an error somewhere down the stream, but not on the source stream.
2025-05-28 17:17:43 +02:00
Tom Hvitved
3fa308e723
Rust: Also take the std prelude into account when resolving paths
2025-05-28 16:57:19 +02:00
Paolo Tranquilli
c8f5e26200
Rust: fix compression option description
2025-05-28 16:48:02 +02:00
Paolo Tranquilli
fd00ed502d
Ruby: add compression integration test
2025-05-28 16:41:56 +02:00
Paolo Tranquilli
8248c50bdf
Rust: add none compression integration test
2025-05-28 16:41:55 +02:00
Paolo Tranquilli
923a2854cb
Ruby, Rust: add zstd compression option
2025-05-28 16:41:55 +02:00
Paolo Tranquilli
4a9e31ebd8
Shared: add zstd crate to tree-sitter-extractor dependencies
2025-05-28 16:41:55 +02:00
Paolo Tranquilli
a86dfe173e
Rust: fix gzip compression
2025-05-28 16:41:54 +02:00
Simon Friis Vindum
6500ebf631
Rust: Fixes based on PR review
2025-05-28 16:01:28 +02:00
Arthur Baars
19283102da
Rust: delete leftover log statement
2025-05-28 15:51:42 +02:00
Jeroen Ketema
7ccae93a12
Merge pull request #19606 from jketema/gnu-version
...
C++: Specify GNU version on min/max test
2025-05-28 15:05:27 +02:00
Kasper Svendsen
b291b0637e
Warn about possible non-inlining across overlay frontier
2025-05-28 14:41:40 +02:00
Kasper Svendsen
5f65ea60d1
QL AST: Add overlay annotations
2025-05-28 14:41:40 +02:00
Jeroen Ketema
0796184573
C++: Specify GNU version on min/max test
...
The `<?` and `>?` operators where removed in g++ in version 4.3, and the
latest version of our our frontend enforces this through a version check.
Hence, to keep the test working, we not to explicitly specify a version.
2025-05-28 14:16:47 +02:00
Simon Friis Vindum
5160bc2b9a
Rust: Define getNumberOfOperands in Operation class
2025-05-28 13:32:49 +02:00
Tom Hvitved
d74e95f5fe
Rust: Extend jump-to-def to include paths and mod file; imports
2025-05-28 13:29:00 +02:00
Owen Mansel-Chan
164cfaf3e7
Merge pull request #19532 from owen-mc/go/make-test-version-independent
...
Go: Make type param test independent of standard library version
2025-05-28 11:30:13 +01:00
Owen Mansel-Chan
6f71e3b30e
Merge pull request #19491 from owen-mc/go/add-test-flags
...
Go: Check more things while running tests
2025-05-28 10:12:05 +01:00
Tom Hvitved
78b9d8ff1d
Merge pull request #19580 from hvitved/rust/path-resolution-prelude-in-core
...
Rust: Also include prelude path resolution in Core
2025-05-28 10:52:56 +02:00
REDMOND\brodes
41f008d4f3
Crypto: Adding initial openssl tests, fixing a bug in hash modeling found through tests, and updating CODEOWNERS for quantum tests
2025-05-27 15:23:53 -04: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
Paolo Tranquilli
ece075c214
Rust: add more macro expansion tests
2025-05-27 16:57:23 +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
Joe Farebrother
f3a5608b06
Apply review suggestions - remove methodOfClass, fix qhelp typo; additionally add some more doc comments
2025-05-27 13:35:13 +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
Simon Friis Vindum
d92d454941
Rust: Implement type inference for overloaded operators
2025-05-27 14:02:57 +02:00
Sylwia Budzynska
e66659276b
Fix formatting
2025-05-27 13:51:03 +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
Sylwia Budzynska
8a1c323a98
Change naming to PascalCase
2025-05-27 13:45:40 +02:00
Sylwia Budzynska
55c70a4cae
Fix nitpicks
2025-05-27 13:44:21 +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
Simon Friis Vindum
6e9a4be2bc
Rust: Add type inference test for overloaded operators
2025-05-27 13:38:57 +02: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
Sylwia Budzynska
84228e0ec8
Add Pandas SQLi sinks
2025-05-27 13:10:39 +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
Arthur Baars
dc7958071a
Rust: re-enable attribute macro expansion in library mode
2025-05-27 10:54:48 +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
Asger F
076e4a49d5
JS: Mark AngularJS $location as client-side remote flow source
2025-05-27 09:47:43 +02:00
Napalys Klicius
5214cc0407
Excluded ngrx, datorama, angular, react and langchain from stream pipe query.
2025-05-27 09:45:37 +02: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
c3af98b5cd
Rust: skip unexpanded stuff in library emission
...
This will skip all unexpanded entities in library extraction, where we
only really care about expanded things. This means skipping:
* the token tree of macro calls
* the unexpanded AST of attribute macros
In the latter case, in order to replace the single `Item` with its
expansion (which is a `MacroItems` entity), we wrap the `MacroItems` in
a dummy `MacroCall` with null path.
2025-05-27 09:09:07 +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
Napalys Klicius
e964b175e6
Added maintainability and error-handling tags
2025-05-26 14:23:20 +02:00
Paolo Tranquilli
a749cf934a
Rust: accept test changes
2025-05-26 14:15:56 +02:00
Tom Hvitved
ba7726462f
Rust: Also include prelude path resolution in Core
2025-05-26 12:17:25 +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
Paolo Tranquilli
1005994f34
Merge branch 'main' into redsun82/rust-extract-libs
2025-05-26 10:58:22 +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
Paolo Tranquilli
292cd34efe
Rust: fix format
2025-05-26 10:11:55 +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
Paolo Tranquilli
e37a24a0d0
Rust: minor refactoring
2025-05-26 09:54:01 +02:00
Paolo Tranquilli
a946de48fd
Merge branch 'main' into redsun82/rust-extract-libs
2025-05-26 09:00:31 +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
Joe Farebrother
c070d04231
Fix qhelp
2025-05-23 14:31:13 +01:00
Joe Farebrother
e933a27cd9
Add changenote
2025-05-23 14:25:38 +01:00
Joe Farebrother
b15fec0fb9
Fix qhelp and tests
2025-05-23 14:17:21 +01: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
Joe Farebrother
44a678a3f4
remove redundant import
2025-05-23 13:16:13 +01:00
Joe Farebrother
06504f2cb6
Update tests
2025-05-23 13:04:56 +01:00
Tom Hvitved
c8ff69af9a
Rust: Fix bad join
2025-05-23 13:57:19 +02:00
Napalys Klicius
000e69fd48
Replaced fuzzy NonNodeStream MaD to a ql predicate to deal easier with submodules
2025-05-23 13:55:40 +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
Napalys Klicius
248f83c4db
Added qhelp for UnhandledStreamPipe query
2025-05-23 13:35:36 +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
Napalys Klicius
c6db32ed73
Add exceptions for arktype, execa, and highland to prevent them from being flagged by unhandled pipe error query
2025-05-23 12:34:11 +02:00
Napalys Klicius
15ff7cb41a
Added more test cases which common js libraries uses .pipe()
2025-05-23 12:30:49 +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
Joe Farebrother
f27057a747
Update qhelp
2025-05-23 10:56:43 +01: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
Owen Mansel-Chan
fb92999f8a
Add bigquery to frameworks.csv
...
Also fix up github.com/kanikanema/gorqlite
2025-05-22 22:02:20 +01: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
Napalys Klicius
b10a9481f3
Fixed false positives from strapi and rxjs/testing as well as when one passes function as second arg to pipe
2025-05-22 18:50:02 +02:00
Napalys Klicius
e6ae8bbde4
Added test cases where second parameter passed to pipe is a function and some popular library ones
2025-05-22 18:50:01 +02:00
Napalys Klicius
ac24fdd348
Add predicate to detect non-stream-like usage in sources of pipe calls
2025-05-22 18:49:59 +02:00
Napalys Klicius
5b1af0c0bd
Added detection of custom gulp-plumber sanitizer, thus one would not flag such instances.
2025-05-22 18:49:53 +02: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
46a6b8ad07
Add change note
2025-05-22 15:21:51 +01:00
Owen Mansel-Chan
66bbaf2dc8
Add tests for cloud.google.com/go/bigquery.Client.Query
2025-05-22 15:16:12 +01:00
Owen Mansel-Chan
c0187aff73
Add model for cloud.google.com/go/bigquery.Client.Query
2025-05-22 15:15:54 +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
Paolo Tranquilli
7e917c9c35
Rust: move body skipping logic to code generation
2025-05-22 14:44:42 +02: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
Napalys Klicius
b1048719aa
Added UnhandledStreamPipe to javascript-security-and-quality.qls and javascript-code-quality.qls
2025-05-22 12:42:56 +02:00
Napalys Klicius
09220fce84
Fixed issue where pipe calls from rxjs package would been identified as pipe calls on streams
2025-05-22 12:33:36 +02:00
Napalys Klicius
d7f86db76c
Enhance PipeCall to exclude non-function and non-object arguments in pipe method detection
2025-05-22 12:31:27 +02:00
Napalys Klicius
4332de464a
Eliminate false positives by detecting non-stream objects returned from pipe() calls based on accessed properties
2025-05-22 12:31:26 +02:00
Napalys Klicius
5710f0cf51
Add test cases for non-stream field accesses and methods before and after pipe operations
2025-05-22 12:31:19 +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
Joe Farebrother
7b452a1611
Add case for wrappers
2025-05-22 09:01:15 +01: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
Owen Mansel-Chan
463a711552
Use reflection for interface nil check instead
2025-05-21 22:22:10 +01: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
Joe Farebrother
bedd44a287
Update query and add case for iter(self.__next__, None)
2025-05-21 11:02:24 +01:00
Napalys Klicius
03d1f9a7d3
Restrict pipe detection to calls with 1-2 arguments
2025-05-21 11:41:22 +02:00
Napalys Klicius
30f2815503
Fixed issue where a custom pipe method which returns non stream would be flagged by the query
2025-05-21 11:41:19 +02:00
Napalys Klicius
ef1bde554a
Fixed issue where streams would not be tracked via chainable methods
2025-05-21 11:40:35 +02:00
Napalys Klicius
f39bf62fc6
test: Add edge cases for stream pipe error handling
...
Add tests for chained stream methods and non-stream pipe objects
2025-05-21 11:39:03 +02:00
Napalys Klicius
c27157f021
Add UnhandledStreamPipee Quality query and tests to detect missing error handlers in Node.js streams
2025-05-21 11:38:57 +02: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
Asger F
d644f80921
JS: Remove obsolete meta query
2025-05-20 16:20:49 +02: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
Owen Mansel-Chan
83cd349531
Change variable name and add comment
2025-05-20 13:13:26 +01:00
Owen Mansel-Chan
47dac64301
fix previous commit
2025-05-20 13:13:25 +01:00
Owen Mansel-Chan
d5044fd072
Deal better with Windows paths
2025-05-20 13:13:24 +01:00
Owen Mansel-Chan
401c60654e
Fix nil checks to stop creating unused labels
...
In go, an interface with value nil does not compare equal to nil. This
is known as "typed nils". So our existing nil checks weren't working,
which shows why we needed more nil checks inside the type switches. The
solution is to explicitly check for each type we care about.
2025-05-20 13:13:22 +01:00
Owen Mansel-Chan
d39e7c2066
Added named import to definitions test
...
This makes the test slightly more thorough.
2025-05-20 13:13:21 +01:00
Owen Mansel-Chan
14af9218b2
Check more things while running tests
2025-05-20 13:13:20 +01:00
Tamas Vajk
72730368f6
Update SDK version in integration test
2025-05-20 13:47:12 +02:00
Asger F
b698b4e5e2
JS: Add test for missing type flow through generics
2025-05-20 13:20:38 +02:00
Asger F
11607e5f62
JS: Update TRAP after extractor change
2025-05-20 13:20:36 +02:00
Asger F
9bcc62002d
JS: Fix regression from global declare vars
2025-05-20 13:20:35 +02:00
Asger F
27979c6a2f
JS: Add regression tests for declared globals
2025-05-20 13:20:34 +02:00
Asger F
b610e10122
JS: Accept change in handling of variable resolution in face of ambient declarations
...
This test enforced the opinion that ambient declarations should have no impact on data flow, which is no longer the case. For now I'm just updating the test output.
2025-05-20 13:20:33 +02:00
Asger F
22a41142de
JS: Accept regression in overload resolution
...
Overload resolution has little impact on data flow analysis, because there we care about the concrete implementation of the function, which is the same for all overloads. It can affect the return type, which in turn can affect the call graph we generate, but we'll just have to accept this as overload resolution is too hard without negative recursion.
2025-05-20 13:20:31 +02:00
Asger F
de7d851195
JS: Update output of old HasUnderlyingType test
2025-05-20 13:20:30 +02:00
Asger F
bba872a3a4
JS: Make jump-to-def behave nicer
2025-05-20 13:20:28 +02:00
Asger F
b8dc1b3125
JS: Remove redundant casts
2025-05-20 13:20:27 +02:00
Asger F
fbafd6fff1
JS: Update to avoid deprecations after import resolution change
2025-05-20 13:20:26 +02:00
Asger F
e07a03619d
JS: Mark type-annotated nodes as SourceNode
2025-05-20 13:20:24 +02:00
Asger F
6e82b6eb1f
JS: Add failing test for assigning a non-SourceNode to a type annotated-value
2025-05-20 13:20:23 +02:00
Asger F
167f752301
JS: Also propagate through promise types
2025-05-20 13:20:21 +02:00
Asger F
500291dd54
JS: Hide shadowed inherited members
2025-05-20 13:20:20 +02:00
Asger F
f06b9a9b2b
JS: Add call graph test with types
2025-05-20 13:20:19 +02:00
Asger F
307715a5cd
JS: Use type resolution for CG augmentation
2025-05-20 13:20:17 +02:00
Asger F
57811edc44
JS: Some test updates
2025-05-20 13:20:16 +02:00
Asger F
989402d7b7
JS: Remove some dependencies on type extraction
2025-05-20 13:20:14 +02:00
Asger F
6ac35f1c66
JS: Use in MissingAwait
2025-05-20 13:20:13 +02:00
Asger F
4e44fdaa7b
JS: Use hasUnderlyingStringOrAnyType in Nest model
2025-05-20 13:20:12 +02:00
Asger F
6fdd7feed4
JS: Use sanitizing primitive type in Nest model
2025-05-20 13:20:10 +02:00
Asger F
2d21074598
JS: Use sanitizing primitive types in ViewComponentInput
2025-05-20 13:20:09 +02:00
Asger F
9fd85c9688
JS: Update jQuery model
2025-05-20 13:20:07 +02:00
Asger F
cca48c09b9
JS: Use in TypeAnnotation.getClass and hasUnderlyingType predicates
2025-05-20 13:20:06 +02:00
Asger F
b923eac9be
JS: Use underlying types in DataFlow::Node
2025-05-20 13:20:04 +02:00
Asger F
fc580a5f78
JS: Add TypeResolution.qll
2025-05-20 13:20:03 +02:00
Asger F
d61f576324
JS: Add UnderlyingTypes.qll
2025-05-20 13:20:01 +02:00
Asger F
1533e134a5
JS: Add NameResolution.qll
2025-05-20 13:20:00 +02:00
Asger F
1051136c07
JS: Add test
2025-05-20 13:19:58 +02:00
Asger F
4bfb0483a8
JS: Resolve JSDocLocalTypeAccess to a variable in scope
2025-05-20 13:19:57 +02:00
Asger F
9566265356
JS: Add helper for getting local type names
2025-05-20 13:19:56 +02:00
Asger F
4cd6f45572
JS: Avoid accidental recursion with API graphs
2025-05-20 13:19:54 +02:00
Asger F
b5a4fc0041
JS: Make Closure concepts based on AST instead
2025-05-20 13:19:52 +02:00
Asger F
50e4ac8298
JS: Do not ignore variables from ambient declarations
2025-05-20 13:19:51 +02:00
Asger F
9fc0b8c9cc
JS: Add ImportSpecifier.getImportDeclaration()
2025-05-20 13:19:50 +02:00
Asger F
5064cd5d94
JS: Exclude externs from CallGraph meta-query
2025-05-20 13:19:48 +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
Owen Mansel-Chan
f6f6a5ccc6
Only list type params in test files
...
This will make the test results not depend on the version of the
standard library being used, which means we don't have to update it with
each new release.
2025-05-20 02:25:24 +01: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
Chad Bentz
8a81aa1762
Set CWE-134 from 9.3 to 7.3 CVSS score for memory safe languages
...
- Sync up to score given to javascript/ruby
2025-05-19 14:43:08 -04: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
Adnan Khan
aca3d897a2
Merge branch 'main' into patch-1
2025-05-19 08:52:56 -04: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
Chris Smowton
084222ec58
Inline version-specific override code where there is now only one version
2025-05-15 12:13:14 +01:00
Chris Smowton
79171a9232
Fold v_1_5_0 and v_1_5_20 files forwards into v_1_6_0, dropping any that are overridden
2025-05-15 11:39:26 +01: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
Owen Mansel-Chan
c933ab4ae2
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2025-05-12 16:24:56 -04: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
Paolo Tranquilli
00f4bfdd24
Rust: add some more supported libraries
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-05-02 13:20:02 +02:00
Paolo Tranquilli
e2a86aaf93
Rust: update supported libraries
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2025-05-02 13:18:56 +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
Owen Mansel-Chan
9ba47eb655
Update query suite inclusion integration tests
2025-05-01 21:51:12 +01: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
Owen Mansel-Chan
bef38a4dce
Add change note
2025-05-01 16:06:32 +01:00
Owen Mansel-Chan
8283d30d94
Avoid deprecated function in qhelp examples in same folder
2025-05-01 16:06:31 +01:00
Owen Mansel-Chan
00cc430ac3
Make examples in qhelp shorter and more realistic
2025-05-01 16:06:29 +01:00
Owen Mansel-Chan
6e3b959f61
Reword qhelp slightly
2025-05-01 16:06:28 +01:00
Owen Mansel-Chan
f8791861c7
Add missing metadata
2025-05-01 16:06:19 +01: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
Owen Mansel-Chan
38dcc1cb84
Fix QLDoc
2025-05-01 15:40:17 +01:00
Owen Mansel-Chan
3b934b8898
Add comment on importance of Function.getACall()
2025-05-01 15:40:15 +01:00
Owen Mansel-Chan
e6c19b0cbd
Modernize tests
2025-05-01 15:40:14 +01:00
Owen Mansel-Chan
cba0bec3c6
Rename files
2025-05-01 15:40:12 +01:00
Owen Mansel-Chan
3cce4ba437
Improve QLDocs
2025-05-01 15:40:10 +01:00
Owen Mansel-Chan
7f007e10c4
Minor refactor - removed unused argument
2025-05-01 15:40:09 +01:00
Owen Mansel-Chan
b90aba291e
Refactor class for unescaped types
2025-05-01 15:40:07 +01:00
Owen Mansel-Chan
cbdbb0310b
Tidy up test (remove duplicated main)
2025-05-01 15:40:06 +01:00
Owen Mansel-Chan
4e5a865337
Manually fix copilot's mistakes and get query working
2025-05-01 15:40:04 +01:00
Owen Mansel-Chan
ce4be6d04c
Refactor to use flow state instead of 3 flow configs (copilot)
2025-05-01 15:40:03 +01:00
Owen Mansel-Chan
ca85f0bf7f
Update query metadata
2025-05-01 15:39:57 +01:00
Owen Mansel-Chan
c2ebdf5266
Change query id to go/html-template-escaping-bypass-xss
2025-05-01 15:39:20 +01:00
Owen Mansel-Chan
1926ffd450
Convert XSS tests to use inline expectations
2025-05-01 15:39:19 +01:00
Owen Mansel-Chan
1530ac123c
Update path in qlref and update test results
2025-05-01 15:39:17 +01:00
Owen Mansel-Chan
5bce70f78c
Move files out of experimental (no changes)
2025-05-01 15:39:15 +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
Chuan-kai Lin
5bc962c429
QL tests: run with --check-diff-informed
2025-04-30 10:55:58 -07: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
Adnan Khan
a9c4d6f383
Fix escaping.
2025-04-25 15:00:14 -04:00
Adnan Khan
38f00775bd
Exclude artifacts downloaded to runner temp.
2025-04-25 14:49:01 -04: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
Paolo Tranquilli
33c857ce9f
Rust: update supported languages footnote
2025-04-11 12:01:24 +02:00
Paolo Tranquilli
df427f7de8
Rust: add supported frameworks file
2025-04-11 11:53:27 +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
Paolo Tranquilli
00f6d9b305
Rust: start preparing documentation changes
2025-04-10 17:35:27 +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
Geoffrey White
07011f7460
Rust: Fix more after merge.
2025-03-17 12:22:09 +00:00
Geoffrey White
f5daec9da0
Rust: Fix after merge.
2025-03-17 12:10:59 +00:00
Geoffrey White
81edb4780d
Merge branch 'main' into constcrypto
2025-03-17 12:05:51 +00:00
Geoffrey White
704b3850f4
Rust: Fix a mistake in the test.
2025-03-17 11:24:58 +00: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
Geoffrey White
a0f4fa28b2
Rust: hardcoded -> hard-coded.
2025-03-11 09:40:47 +00: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
Geoffrey White
e3beacbda2
Rust: Print models (temporary, to see how this differs on CI).
2025-03-10 19:38:36 +00: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
Geoffrey White
1ca5c593f9
Rust: Replace imports of internal.DataFlowImpl where possible.
2025-03-10 11:47:23 +00:00
Geoffrey White
9e54d53537
Rust: Add barrier.
2025-03-10 11:41:48 +00:00
Geoffrey White
a34f9bef2b
Rust: Add a test case for getrandom.
2025-03-10 11:33:29 +00:00
Geoffrey White
e84a98bd97
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-03-10 11:15:23 +00:00
Geoffrey White
b4e710f459
Rust: Add missing models (for some platforms???).
2025-03-07 22:28:38 +00: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
Geoffrey White
fdb4362b6f
Merge remote-tracking branch 'upstream/main' into constcrypto
2025-03-07 17:51:48 +00: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
Geoffrey White
3dc35f1fab
Rust: Accept more test changes.
2025-03-07 17:02:26 +00:00
Geoffrey White
c63c1be11c
Rust: Accept integration test .expected changes.
2025-03-07 16:12:31 +00:00
Geoffrey White
19416a9ee3
Rust: Correct test results.
2025-03-07 15:43:34 +00: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
Geoffrey White
b6c9be23c1
Merge branch 'main' into constcrypto
2025-03-07 09:11:10 +00:00
Geoffrey White
42e7d1e983
Rust: Fix typo.
2025-03-06 19:09:01 +00:00
Geoffrey White
9af2d0218b
Rust: Add the new sinks to stats.
2025-03-06 18:50:11 +00:00
Geoffrey White
952e417d13
Rust: Tweak some wording.
2025-03-06 18:46:37 +00:00
REDMOND\brodes
b9bd199432
Regression fixes for JCA
2025-03-06 13:39:23 -05:00
Geoffrey White
e564c41043
Rust: Compute security-severity tag.
2025-03-06 18:36:55 +00:00
Geoffrey White
95be12ed80
Rust: Add qhelp and examples.
2025-03-06 17:48:47 +00:00
Geoffrey White
b4a6063e20
Rust: Add std::mem::zeroed as a source.
2025-03-06 17:48:45 +00:00
Geoffrey White
ac94ac6584
Rust: Model even more sinks + flows.
2025-03-06 17:48:44 +00:00
Geoffrey White
055baf2769
Rust: Improve results on arrays (less duplication).
2025-03-06 17:48:43 +00:00
Geoffrey White
aacbfc0fd8
Rust: Improve alert messages.
2025-03-06 17:48:41 +00:00
Geoffrey White
a6e106e025
Rust: Model more sinks + flows.
2025-03-06 17:48:40 +00:00
Geoffrey White
9fb00daeec
Rust: Implement the query (with one source, one sink model).
2025-03-06 17:48:39 +00:00
Geoffrey White
bd75f0187b
Rust: More test cases.
2025-03-06 17:48:37 +00:00
Geoffrey White
9a35febe80
Rust: Query framework and basic tests.
2025-03-06 13:24:05 +00: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
2h0ng
150debdd8d
Fix the broken reference
2025-02-09 15:29:37 -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
Kevin Stubbings
9c63033d45
Fix tests
2024-11-20 16:53:39 +00:00
Kevin Stubbings
981f67598c
Formatting
2024-11-20 07:51:11 +00:00
Kevin Stubbings
ddcf852d3f
Add taint steps
2024-11-20 01:07:03 +00:00
Kevin Stubbings
58e4a40323
Merge branch 'github:main' into java-mad-test
2024-11-19 13:54:26 -08:00
Kevin Stubbings
999fcca8f3
Add summary steps
2024-10-15 23:24:41 +00:00
Kristen Newbury
df18891a2f
Fix changenote for query removal change
2024-10-03 17:36:42 -04:00
Kristen Newbury
e98db7fd20
Add changenote for query removal change
2024-10-03 17:28:59 -04:00
Kristen Newbury
d10a6b4ca0
Remove unnecessary query
2024-10-03 13:33:30 -04:00
Kevin Stubbings
f0560458af
Finished up
2024-09-27 19:24:40 +00:00
Kevin Stubbings
1b5299de5a
Forgot something
2024-09-25 22:00:42 +00:00
Kevin Stubbings
6445074fea
Fixed but errors still
2024-09-25 21:46:52 +00:00
Kevin Stubbings
a8efb92b9b
Simple Test
2024-09-25 17:27:41 +00:00
Kevin Stubbings
d99f552cb3
Test Issues
2024-09-25 08:08:02 +00:00
Kevin Stubbings
0a697e49c1
Add MaD
2024-09-24 17:29:25 -07:00
Asger F
53dbfcb3aa
C++: use in/out barriers with flow state
2023-09-28 11:08:30 +02:00
Moshe Kaplan
f0ca76102c
Correct menu title name of "Open Workspace"
...
Correct menu title name of "Open Workspace" to "Open Workspace from File", as that is the current menu title on VS Code (at least as of 1.76.2)
2023-03-24 15:26:46 -04:00