Mathias Vorreiter Pedersen
214ca2a535
Merge pull request #272 from microsoft/jb1/2.22.3
...
Merge upstream `codeql-cli-2.22.3`
2025-08-12 16:33:08 +02:00
Mathias Vorreiter Pedersen
627ee8536c
PS: Port changes from #20132 to PowerShell.
2025-08-12 14:52:12 +01:00
Josh Brown
c6ab9412b6
Merge tag 'codeql-cli/v2.22.3' into jb1/2.22.3
...
Compatible with CodeQL CLI 2.22.3
2025-08-11 12:56:34 -07:00
Josh Brown
09365313ef
merge upstream v2.22.2
2025-08-11 12:45:33 -07:00
Josh Brown
f39c1141d8
Revert "Merge pull request #257 from microsoft/jb1/reapply-22.1-tmp"
...
This reverts commit 6d496ee073 , reversing
changes made to 866977b6c5 .
2025-08-11 12:45:01 -07:00
Chanel
337132b5e0
Merge pull request #270 from microsoft/better-api-graphs
...
PS: Better usability when working with nested classes
2025-08-11 08:03:50 -07:00
Mathias Vorreiter Pedersen
e96e464855
PS: Accept test changes.
2025-08-11 14:22:19 +01:00
Mathias Vorreiter Pedersen
9b5897ca3a
PS: Improve api graphs.
2025-08-11 14:22:17 +01:00
Mathias Vorreiter Pedersen
1bd93b9849
PS: Add missing dataflow predicates related to models.
2025-08-08 17:08:15 +01:00
Mathias Vorreiter Pedersen
3829528467
PS: Delete stuff we don't actually need.
2025-08-08 17:07:43 +01: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
Chuan-kai Lin
4df1c12876
Minor CHANGELOG updates
2025-08-04 09:09:25 -07:00
github-actions[bot]
fd82aeb1f8
Release preparation for version 2.22.3
2025-08-04 15:47:57 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Mathias Vorreiter Pedersen
f8bdfa4666
Merge pull request #264 from microsoft/simple-type-sanitizers
...
PS: Add simple type-based sanitizer to SQL injection query
2025-07-25 11:41:01 +01:00
Mathias Vorreiter Pedersen
b0d61928bf
Merge pull request #265 from microsoft/dilan/iac-setup
...
CodeQL for IaC (infrastructure as code) Setup
2025-07-25 11:40:21 +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
dilanbhalla
cb63c6aed0
Add 'iac' language support to CodeQL workflow
...
Added 'iac' to the list of supported languages for CodeQL.
2025-07-24 12:55:38 -07:00
Dilan Bhalla
eb15e3bcc9
Add codeql-extractor-iac as submodule in iac/
2025-07-24 12:43:16 -07:00
Mathias Vorreiter Pedersen
ffc53d7764
PS: Accept test changes.
2025-07-24 20:03:59 +01:00
Mathias Vorreiter Pedersen
7b4d2a9edf
PS: Lower casing in command-line injection query.
2025-07-24 20:03:48 +01:00
Mathias Vorreiter Pedersen
b66c99ba76
PS: Lower casing in frameworks.
2025-07-24 20:03:27 +01:00
Mathias Vorreiter Pedersen
e3b3f0b343
PS: Consistent lower casing in api graphs, control-flow graph, and dataflow nodes.
2025-07-24 20:03:10 +01:00
Mathias Vorreiter Pedersen
3880d9fa8d
PS: More consistent lower casing in the AST classes.
2025-07-24 20:02:03 +01:00
Mathias Vorreiter Pedersen
71fec26542
PS: Lower case all parameter types.
2025-07-24 18:07:59 +01:00
Mathias Vorreiter Pedersen
f9c3bde6d5
PS: Fix false positive by adding a type-based sanitizer.
2025-07-24 18:06:06 +01:00
Mathias Vorreiter Pedersen
e7956301a4
PS: Add false positive.
2025-07-24 18:00:49 +01:00
Geoffrey White
7f659804e4
Rust: Fix the canonical path.
2025-07-24 17:24:29 +01:00
Mathias Vorreiter Pedersen
ae4b3e8542
Merge pull request #263 from microsoft/remove-env-reads-from-sql-injection
...
PS: Remove environment variables from `powershell/microsoft/public/sql-injection`
2025-07-24 16:33:05 +01:00
Geoffrey White
cfe25593ee
Merge branch 'main' into dotdot
2025-07-24 16:32:36 +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
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
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
Mathias Vorreiter Pedersen
7991eb4919
PS: Accept test changes.
2025-07-24 00:16:20 +01:00
Mathias Vorreiter Pedersen
3ba87996e3
PS: Unhide some dataflow nodes to make paths more explicit.
2025-07-24 00:11:45 +01:00
Mathias Vorreiter Pedersen
95926cbc70
PS: Remove environment variables as flow sources from 'powershell/microsoft/public/sql-injection'.
2025-07-24 00:11:31 +01:00
Mathias Vorreiter Pedersen
7c83d9d54b
Merge pull request #262 from microsoft/powershell-smb-settings
...
Powershell SMB settings
2025-07-23 19:58:04 +01:00
Simon Friis Vindum
b3dc6cba78
Rust: Use getATypeParam for consistency
2025-07-23 20:56:45 +02:00
Chanel
a0dbf930a2
Update powershell/ql/src/queries/security/cwe-319/UnsafeSMBSettings.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-07-23 11:30:30 -07:00
Chanel Young
482fda7541
formatting
2025-07-23 11:22:12 -07:00
Chanel Young
4e0ea04d3b
add query, tests
2025-07-23 11:16:11 -07: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
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
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
Chanel
c961340f54
Merge pull request #260 from microsoft/powershell-unsafe-deserialization
...
Powershell Unsafe Deserialize query
2025-07-22 10:49:10 -07: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
Chanel
d78280ea0f
Merge branch 'main' into powershell-unsafe-deserialization
2025-07-22 10:07:10 -07:00
Chanel
3b90949d4d
Update powershell/ql/src/queries/security/cwe-502/BinaryFormatterDeserialization.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-07-22 10:06:59 -07:00
Chanel
2e93ec5490
Update powershell/ql/src/queries/security/cwe-502/UnsafeDeserialization.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-07-22 10:06:52 -07:00
Chanel
6d62e8717a
Update powershell/ql/src/queries/security/cwe-502/BinaryFormatterDeserialization.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-07-22 10:06:46 -07:00
Chanel
9266713d19
Update powershell/ql/src/queries/security/cwe-502/BinaryFormatterDeserialization.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-07-22 10:06:39 -07: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
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
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
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
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
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
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
Chanel Young
1149d33691
updated .expected test file
2025-07-17 13:19:07 -07:00
Chanel
03a7d3d243
Merge pull request #261 from microsoft/global-flow-through-env-variables-2
...
PS: Global flow through environment variables
2025-07-17 12:30:14 -07:00
Mathias Vorreiter Pedersen
b72af27e81
PS: Add tests showing that there is no flow starting at environment variables, but we still have flow through them.
2025-07-17 20:05:21 +01:00
Mathias Vorreiter Pedersen
a95f3b3f47
PS: Accept test changes.
2025-07-17 19:01:09 +01:00
Mathias Vorreiter Pedersen
6ab627955f
PS: Implement global dataflow for environment variable write/reads.
2025-07-17 18:59:25 +01:00
Mathias Vorreiter Pedersen
2541bcdf5e
PS: Add test cases.
2025-07-17 18:59:19 +01:00
Mathias Vorreiter Pedersen
3f4a16978e
PS: Change the AST so that an 'EnvVariable' is actually a 'Variable', and make it possible for a 'VarAccess' to target a read/write of an environment variable.
2025-07-17 18:48:11 +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
Chanel Young
6ac935469f
move logic to qlls
2025-07-17 08:27:36 -07: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
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
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
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
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
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
Chanel Young
cb8496bbfe
added queries, tests, docs
2025-07-16 14:27:23 -07: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
Mathias Vorreiter Pedersen
ef3654f9cf
PS: Small cleanup.
2025-07-16 20:21:08 +01:00
Chanel
5fde17736b
Merge pull request #258 from microsoft/fix-call-operator-bug
...
PS: Fix bug in `CallOperator::getCommand`
2025-07-16 09:50:46 -07: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
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
72af800101
PS: Accept test changes.
2025-07-16 14:33:02 +01:00
Mathias Vorreiter Pedersen
205d2e58ff
PS: Add dot sourcing as a sink.
2025-07-16 14:33:01 +01:00
Mathias Vorreiter Pedersen
670ad745ca
PS: Add false negative.
2025-07-16 14:32:42 +01:00
Mathias Vorreiter Pedersen
5f07641bd3
PS: Fix false positive by fixing the 'getCommand' predicates in 'CallOperatorCfgNode' and 'CallOperator'. Also fix 'DotSourcingOperator::getPath' while here.
2025-07-16 14:31:51 +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
Mathias Vorreiter Pedersen
75d37dcead
PS: Add false positive.
2025-07-16 13:46:44 +01:00
Mathias Vorreiter Pedersen
f39d08ecfa
PS: Fix spelling.
2025-07-16 13:45: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
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
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
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
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
Joe Farebrother
909f57261c
Minor doc updates; updating python 2 references to python 3 and updating grammar
2025-07-15 13:26:46 +01: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
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
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
Paolo Tranquilli
31d0897f74
Kotlin: disable bazel cache in plugin test
2025-07-14 15:30:11 +02: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
Geoffrey White
be7db8079a
Rust: Accept consistency check change (from CI).
2025-07-14 10:59:03 +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
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
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
Josh Brown
6d496ee073
Merge pull request #257 from microsoft/jb1/reapply-22.1-tmp
...
Revert #251 , Reapply `codeql-cli/v2.22.1`
2025-07-10 16:08:14 -07:00
Josh Brown
b1b0892ae6
Merge branch 'main' into jb1/reapply-22.1-tmp
2025-07-10 15:15:45 -07:00
Josh Brown
4c5945f4aa
Manual merge
2025-07-10 15:08:14 -07:00
Josh Brown
5fb45c89e9
Revert "Merge pull request #251 from microsoft/jb1/upstream-zipslip"
...
This reverts commit 4dfa5d2858 , reversing
changes made to 8cd58aa6e8 .
2025-07-10 14:57:38 -07:00
Chanel
866977b6c5
Merge pull request #256 from microsoft/jb1/qhelpfix
...
QHelp: Terminate p tag
2025-07-10 10:51:18 -07: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
Josh Brown
3606679eee
Terminate p tag
2025-07-10 10:35:09 -07: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
Josh Brown
4dfa5d2858
Merge pull request #251 from microsoft/jb1/upstream-zipslip
...
Manual merge upstream
2025-07-10 09:48:55 -07: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
Josh Brown
87e0b08531
Merge branch 'main' into jb1/upstream-zipslip
2025-07-10 09:35:03 -07: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
Josh Brown
81f9e88040
run add-overlay-annotations.py
2025-07-09 22:37:51 -07: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
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
Mathias Vorreiter Pedersen
8cd58aa6e8
Merge pull request #255 from microsoft/add-iwr-as-flow-source
...
PS: Add more flow sources
2025-07-09 14:56:43 +01:00
Geoffrey White
597f678978
Merge branch 'main' into models1
2025-07-09 14:48:32 +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
Mathias Vorreiter Pedersen
d1988774a3
PS: Add more flow sources and accept test changes.
2025-07-09 12:22:33 +01:00
Mathias Vorreiter Pedersen
1816356515
PS: Add test with missing remote flow.
2025-07-09 12:20:41 +01: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
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
Mathias Vorreiter Pedersen
3101cc81e6
Merge pull request #253 from microsoft/add-set-execution-policy-bypass-query
...
PS: Add query for insecure uses of `Set-ExecutionPolicy`
2025-07-07 19:33:06 +01:00
Mathias Vorreiter Pedersen
398d27b779
PS: Fix missing AST child.
2025-07-07 19:15:18 +01:00
github-actions[bot]
24a0ac1223
Post-release preparation for codeql-cli-2.22.2
2025-07-07 18:15:04 +00:00
Mathias Vorreiter Pedersen
28de6ede04
PS: Also require '-Force' with a truthy value. Note the 'NOT DETECTED' test. We will fix that in the next commit.
2025-07-07 19:14:01 +01: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
Mathias Vorreiter Pedersen
1d64a7949b
Merge pull request #252 from microsoft/add-more-remote-flow-sources
...
PS: Add flow sources from `System.Net.WebClient`
2025-07-07 14:50:03 +01: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
Lindsay Simpkins
d4571f5b95
Merge pull request #254 from microsoft/implement-localExprTaint
...
PS: Actually implement `localExprTaint`
2025-07-07 08:23:11 -04: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
Mathias Vorreiter Pedersen
b6b4df5ce0
PS: Implement 'localExprTaint' instead of leaving it as 'none()'.
2025-07-04 20:24:22 +01:00
Mathias Vorreiter Pedersen
4e524a189d
PS: Add tests.
2025-07-04 19:44:49 +01:00
Mathias Vorreiter Pedersen
f7c9899450
PS: Add documentation.
2025-07-04 19:44:39 +01:00
Mathias Vorreiter Pedersen
2731983fbe
PS: Add query for insecure uses of 'Set-ExecutionPolicy'.
2025-07-04 19:44:15 +01:00
Mathias Vorreiter Pedersen
52ff5d3fbc
Merge pull request #246 from microsoft/powershell-commandinjection-invokesinkfix
...
InvokeSink fix
2025-07-04 18:17:09 +01:00
Chanel Young
654bf2f42f
random newline to reset git latest pusher
2025-07-04 10:07:57 -07:00
Mathias Vorreiter Pedersen
766cf826bb
PS: Add more models and accept test changes.
2025-07-04 18:01:45 +01:00
Mathias Vorreiter Pedersen
bd9043576d
PS: Add test with missing remote flow source.
2025-07-04 18:00:19 +01:00
Chanel
8aa8dde439
Merge branch 'main' into powershell-commandinjection-invokesinkfix
2025-07-04 09:59:15 -07:00
Mathias Vorreiter Pedersen
2a26c43c19
PS: Cleanup a few manually generated models.
2025-07-04 17:01:25 +01: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
eec092c4c4
PS: Mark the BAD results in the test appropriately.
2025-07-04 11:13:15 +01:00
Mathias Vorreiter Pedersen
7d07773a33
PS: Accept test changes.
2025-07-04 11:12:55 +01:00
Mathias Vorreiter Pedersen
0585c2f9e5
PS: Gets back the previously-lost false negative by making the variable property name expression the sink when there is a call to 'Invoke'.
2025-07-04 11:12:31 +01: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
Josh Brown
4122283ec8
Manual merge
2025-07-01 16:10:55 -07: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
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
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
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
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
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
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
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
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
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
Lindsay Simpkins
849e0b4e1f
Merge pull request #248 from microsoft/fix-ps-performance
...
PS: Fix lots of performance problems
2025-06-20 23:14:39 -04:00
Lindsay Simpkins
52f5ac528c
Merge branch 'main' into fix-ps-performance
2025-06-20 23:01:38 -04:00
Lindsay Simpkins
6ab05cd387
Merge pull request #249 from microsoft/fix-fps-on-sql-injection
...
PS: Fix FPs on `powershell/microsoft/public/sql-injection`
2025-06-20 16:36:54 -04:00
Mathias Vorreiter Pedersen
cb89695c1d
PS: Improve alert message.
2025-06-20 20:40:53 +01: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
Mathias Vorreiter Pedersen
9032d863bd
PS: Accept test changes.
2025-06-20 16:40:44 +01: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
Mathias Vorreiter Pedersen
1486200146
PS: Allow for implicit reads at sinks in 'ps/sql-injection'.
2025-06-20 16:34:16 +01:00
Paolo Tranquilli
2c14f273ed
Bazel/Rust: Change rust version
2025-06-20 17:34:16 +02:00
Mathias Vorreiter Pedersen
1ff04d9f94
PS: Add new false negative.
2025-06-20 16:30:49 +01: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
Mathias Vorreiter Pedersen
72178f0a36
PS: Accept test changes.
2025-06-20 14:54:39 +01:00
Mathias Vorreiter Pedersen
05a7cfd264
PS: Don't implicitly read any element. Instead, only read positional contents.
2025-06-20 14:54:15 +01: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
Mathias Vorreiter Pedersen
25d94fabcc
PS: Add false positive to 'ps/sql-injection'.
2025-06-20 14:51:17 +01: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
Mathias Vorreiter Pedersen
0912cc337f
PS: Accept test changes.
2025-06-20 14:25:58 +01:00
Mathias Vorreiter Pedersen
c18db919c9
PS: Model 'inputfile' as a sink for SQL injections.
2025-06-20 14:25:45 +01:00
Mathias Vorreiter Pedersen
b82bd2cd2f
PS: Add false positive to 'ps/sql-injection'.
2025-06-20 14:23:55 +01: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
Mathias Vorreiter Pedersen
86cc09b622
PS: Start with a SCAN of 'getProcessBlock' as this ensures we start with a small pipeline.
2025-06-19 22:11:26 +01:00
Mathias Vorreiter Pedersen
31fbb6fd55
PS: Prevent bad magic by calling a HOP to compute the transitive closure.
2025-06-19 22:11:25 +01:00
Mathias Vorreiter Pedersen
2d045ea345
PS: Prevent join on integer.
2025-06-19 22:11:24 +01:00
Mathias Vorreiter Pedersen
c50b0c6323
PS: Prevent join on boolean.
2025-06-19 22:11:22 +01:00
Mathias Vorreiter Pedersen
a38d57f080
PS: Fix cartesian product.
2025-06-19 22:11:20 +01:00
Mathias Vorreiter Pedersen
f513259f24
PS: Format, add a helper predicate and add an explicit 'this' to silence a warning.
2025-06-19 22:11:19 +01:00
Mathias Vorreiter Pedersen
9be1f2d1d1
PS: Replace another 'forex' with explicit recursion.
2025-06-19 22:11:17 +01:00
Mathias Vorreiter Pedersen
8664842f91
PS: Remove two more 'forex's.
2025-06-19 22:11:16 +01:00
Mathias Vorreiter Pedersen
b79f3666a9
PS: Replace a 'forex' with explicit recursion.
2025-06-19 22:11:14 +01:00
Mathias Vorreiter Pedersen
ebc167c529
PS: Fix join in 'count'.
2025-06-19 22:11:13 +01:00
Mathias Vorreiter Pedersen
ae83d56df1
PS: Rename predicate.
2025-06-19 22:11:00 +01:00
Mathias Vorreiter Pedersen
f69cfdcd5a
PS: Autoformat.
2025-06-19 22:03:40 +01:00
Mathias Vorreiter Pedersen
9ed32b14a2
PS: Add some QLDoc.
2025-06-19 22:02:45 +01:00
Mathias Vorreiter Pedersen
3ba3b11207
PS: Prevent magic on 'getParent'.
2025-06-19 22:02:22 +01: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
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
Mathias Vorreiter Pedersen
56977c76f8
Merge pull request #247 from microsoft/add-get-callee-on-call-nodes
...
PS: Add `Node.getCallee` predicate on `DataFlow::CallNode`
2025-06-16 15:48:41 +01: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
Mathias Vorreiter Pedersen
229914f7f3
PS: Add 'Node.getCallee' predicate on DataFlow::CallNode.
2025-06-16 15:24:26 +01: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
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
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
Chanel Young
f882af95d8
update to invokesink
2025-06-12 14:30:46 -07: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
dilanbhalla
8e09d96df5
Merge pull request #240 from microsoft/auto/sync-main-pr
...
Sync Main (autogenerated)
2025-06-12 11:07:49 -07:00
dilanbhalla
dae058250b
Merge branch 'main' into auto/sync-main-pr
2025-06-12 10:55:48 -07:00
dilanbhalla
ed8cc6afff
Merge pull request #245 from microsoft/fix-extensional-warnings-powershell
...
PS: Remove unnecessary data extension pattern to fix warning
2025-06-12 10:55:36 -07: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
Mathias Vorreiter Pedersen
b88ed68499
PS: Remove unnecessary data extension pattern. All the models are matched by the other two patterns.
2025-06-12 11:41:25 +01: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
dilanbhalla
7bfefefbf7
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-06-11 17:00:14 +00: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
dilanbhalla
b8a78f79eb
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-06-10 18:59:32 +00:00
dilanbhalla
64bc3ed473
Merge pull request #244 from microsoft/lwsimpkins/fix-qhelp
...
fix failing qhelp files
2025-06-10 11:02:12 -07:00
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
Lindsay Simpkins
7668175804
Merge branch 'main' into lwsimpkins/fix-qhelp
2025-06-09 17:56:59 -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
dilanbhalla
9521d06424
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-06-09 19:59:12 +00: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
Lindsay Simpkins
077549da16
fix failing qhelp files
2025-06-09 15:31:19 -04: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
dilanbhalla
3d84e5ac3b
Merge pull request #243 from microsoft/lwsimpkins/fix-qhelp
...
fix powershell qhelp files
2025-06-09 12:06:45 -07: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
Lindsay Simpkins
25fb1aabd2
fix powershell qhelp files
2025-06-09 14:01:54 -04: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
dilanbhalla
58acb60b47
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-06-03 19:32:15 +00:00
dilanbhalla
06448780ed
Merge pull request #242 from microsoft/powershell-guardpredicate-fix
...
added hasbranchedge
2025-06-03 12:31:26 -07:00
Chanel Young
0d11efc5cb
added hasbranchedge
2025-06-03 11:53:29 -07: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
dilanbhalla
464558688d
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-06-02 22:04:24 +00:00
Chanel
8ef818cd8d
Merge pull request #239 from microsoft/dilan/sync-main-auth-2
...
Sync Main: Auth Bug (fix attempt 2)
2025-06-02 15:03:25 -07:00
dilanbhalla
8aa10995ba
Update sync-main.yml
2025-06-02 14:40:39 -07: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
dilanbhalla
126ddf9271
Merge pull request #238 from microsoft/dilan/sync-repo-auth
...
Auth Bug: Sync Main
2025-06-02 10:31:30 -07:00
dilanbhalla
8ef8210327
Update sync-main.yml
2025-06-02 10:26:22 -07: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
10a886325d
Merge pull request #237 from microsoft/fix-fps-in-tainted-path
...
C#: Fix FPs (and a small FN) in `cs/path-injection`
2025-05-30 14:51:01 +01: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
Mathias Vorreiter Pedersen
2186fef8bf
C#: Accept test changes.
2025-05-27 18:44:59 +01:00
Mathias Vorreiter Pedersen
4dfa88626a
C#: Recognize more path-normalization steps.
2025-05-27 18:44:57 +01:00
Mathias Vorreiter Pedersen
db7119c29f
C#: Add a false positive.
2025-05-27 18:44:56 +01:00
Mathias Vorreiter Pedersen
a2d4c20068
C#: Fix FN by blocking flow out of the function call instead of out of the argument (which is incorrect when there is use-use flow).
2025-05-27 18:44:54 +01:00
Mathias Vorreiter Pedersen
03e671aff1
C#: Add a false negative.
2025-05-27 18:44:53 +01:00
Mathias Vorreiter Pedersen
b40a43701c
C#: Small optimization. Avoid a small CP between sinks and states.
2025-05-27 18:44:51 +01: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
Mathias Vorreiter Pedersen
0e887d8697
Merge pull request #235 from microsoft/update-typegen-2
...
PS: Restructure generated files
2025-05-21 17:43:10 +01:00
Geoffrey White
3551d4488f
Merge branch 'main' into logsinks
2025-05-21 17:40:06 +01:00
Chanel
a17f10d4a9
Merge branch 'main' into update-typegen-2
2025-05-21 09:27:44 -07: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
Mathias Vorreiter Pedersen
a410e85d85
PS: Accept test changes.
2025-05-21 16:35:07 +01:00
Mathias Vorreiter Pedersen
8875962f9b
PS: Fix pack name in data extension files.
2025-05-21 16:35:06 +01:00
Mathias Vorreiter Pedersen
b409cbddf1
PS: Add back the manual models.
2025-05-21 16:35:01 +01:00
Mathias Vorreiter Pedersen
1a7908cd57
PS: Add generated models for .NET runtime.
2025-05-21 16:35:00 +01:00
Mathias Vorreiter Pedersen
61021b6d6f
PS: Regenerate models.
2025-05-21 16:34:47 +01: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
Mathias Vorreiter Pedersen
2f0b064ee2
Merge pull request #234 from microsoft/share-global-cfg-library
...
C++/C#/Shared: Convert the global control-flow library to a shared parameterize module and make it available in C#
2025-05-19 19:24:14 +01:00
Mathias Vorreiter Pedersen
f00c370204
C#: Instantiate the (now shared) global control-flow library.
2025-05-19 19:04:20 +01:00
Mathias Vorreiter Pedersen
7cc091912f
C++/Shared: Convert the global control-flow library to a shared parameterized module.
2025-05-19 19:03:59 +01: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
Mathias Vorreiter Pedersen
198a594b7a
Merge pull request #149 from microsoft/interprocedural-controlflow
...
C++: Add an interprocedural control-flow library
2025-05-19 15:52:17 +01: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
Mathias Vorreiter Pedersen
bac9c7d30d
Merge branch 'main' into interprocedural-controlflow
2025-05-19 15:30:24 +01: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
c3b0c2d924
PS: Update typegen script and documentation.
2025-05-16 12:08:54 +01: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
dilanbhalla
60ca4964ad
Merge pull request #233 from microsoft/dilan/powershell-dotnet-publish-flags
...
PowerShell: .NET Publish Flags
2025-05-15 12:26:02 -07:00
dilanbhalla
5127ace92c
Update build-win64.ps1
2025-05-15 12:18:19 -07:00
dilanbhalla
77e6056665
Update build-osx64.ps1
2025-05-15 12:18:07 -07:00
dilanbhalla
50622e529e
Update build-linux64.ps1
2025-05-15 12:16:53 -07:00
dilanbhalla
dd965dd646
Merge pull request #232 from microsoft/dilan/powershell-osx-specific-buildscripts
...
PowerShell: OS-specific buildscripts
2025-05-15 12:07:22 -07:00
dilanbhalla
0d38a98bad
Update powershell-pr-check.yml
2025-05-15 12:00:45 -07:00
dilanbhalla
e250f9b6ce
Create build-linux64.ps1
2025-05-15 11:59:37 -07:00
dilanbhalla
0fab231c33
Update build-win64.ps1
2025-05-15 11:58:26 -07:00
dilanbhalla
c632477eb3
Create build-osx64.ps1
2025-05-15 11:57:58 -07:00
Tom Hvitved
8521becbd5
Rust: Fix semantic merge conflict
2025-05-15 20:53:35 +02:00
dilanbhalla
5be20a0d10
Rename build.ps1 to build-win64.ps1
2025-05-15 11:52:25 -07:00
dilanbhalla
d1c2fa0266
Merge pull request #230 from microsoft/auto/sync-main-pr
...
Sync Main (autogenerated)
2025-05-15 10:50:21 -07:00
Dilan Bhalla
ae515a4b5f
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-05-15 10:20:16 -07: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
dilanbhalla
2ef6dd9cbc
Merge pull request #225 from microsoft/cleanup-upgrade-downgrade-story-2
...
PS: Cleanup upgrade/downgrade chains
2025-05-14 10:50:34 -07: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
Mathias Vorreiter Pedersen
2bf076df49
PS: Also include the downgrade scripts when building the PowerShell extractor and injecting it into the CLI.
2025-05-13 18:58:26 +01:00
Mathias Vorreiter Pedersen
07d723291b
PS: Add a single upgrade script that upgrades the old dbscheme to the current dbscheme, and add a single downgrade script that downgrades the current dbscheme to the old dbscheme. IMPORTANT: the .gitattributes ensure that we keep CLRF (i.e., windows) line-endings on the old dbscheme scripts so that they match what is produced by the extractor.
2025-05-13 18:50:13 +01:00
Mathias Vorreiter Pedersen
a489bfd125
PS: Delete all the existing upgrade and downgrade scripts.
2025-05-13 18:46:45 +01: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
Denis Levin
a1bfbb37e7
Two more modules and an update to some cached refs for GO ( #224 )
...
Co-authored-by: Denis Levin <denisl@microsoft.com >
2025-05-08 11:59:28 -07: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
Josh Brown
c87545ee12
Merge pull request #223 from microsoft/denisl/afewmissedCGChanges
...
Looks like I've missed a few CG changes - checking in
2025-05-07 19:19:53 -07: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
Denis Levin
526f161e97
Merge branch 'main' into denisl/afewmissedCGChanges
2025-05-07 16:40:32 -07: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
Denis Levin
b87431ac35
Looks like I've missed a few CG changes - checking in
2025-05-07 14:53:37 -07: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
dilanbhalla
c31abb7f0f
Merge pull request #222 from microsoft/revert-218-update-csharp-stub-models
...
Revert "Update the C# stub models"
2025-05-02 16:23:19 -07:00
dilanbhalla
0ec0f5ce35
Revert "Update the C# stub models"
2025-05-02 14:44:25 -07: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
dilanbhalla
0d7e5faa0e
Merge pull request #219 from microsoft/ps-run-tests-on-prs
...
PS: Run tests on PRs
2025-05-02 12:10:16 -07: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
dilanbhalla
e70d9ff4ca
Merge branch 'main' into ps-run-tests-on-prs
2025-05-02 10:56:01 -07: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
dilanbhalla
d76de83121
Merge pull request #218 from microsoft/update-csharp-stub-models
...
Update the C# stub models
2025-05-01 14:35:21 -07:00
Sid Gawri
43ab8cb98e
Merge branch 'main' of https://github.com/microsoft/codeql into update-csharp-stub-models
2025-05-01 17:31:54 -04: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
Josh Brown
f0e0d76ca6
Merge pull request #220 from microsoft/auto/sync-main-pr
...
Sync Main (autogenerated)
2025-05-01 11:07:26 -07: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
dilanbhalla
63884ff714
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-05-01 13:06:40 +00: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
Mathias Vorreiter Pedersen
3dc74e9fdb
PS: Harden the build script so that you can run it from any folder.
2025-05-01 12:36:11 +01:00
Mathias Vorreiter Pedersen
337cb8b308
PS: Make it possible to run the build script from a command prompt that is running from %SYSTEMROOT%. See https://learn.microsoft.com/en-us/answers/questions/574694/msbuild-error-msb1009-project-file-does-not-exist
2025-05-01 12:31:11 +01:00
Mathias Vorreiter Pedersen
3cca0a6ec0
Update powershell-pr-check.yml
2025-05-01 12:25:04 +01:00
Mathias Vorreiter Pedersen
f029d2a494
Update powershell-pr-check.yml
2025-05-01 12:21:18 +01:00
Mathias Vorreiter Pedersen
3bea9e5693
Update powershell-pr-check.yml
2025-05-01 12:18:59 +01:00
Mathias Vorreiter Pedersen
7c37c54b03
Update powershell-pr-check.yml
2025-05-01 12:07:59 +01:00
Mathias Vorreiter Pedersen
1724948f75
Update powershell-pr-check.yml
2025-05-01 12:06:01 +01:00
Mathias Vorreiter Pedersen
3b2057b148
Update powershell-pr-check.yml
2025-05-01 12:01:06 +01:00
Mathias Vorreiter Pedersen
d6c6015558
PS: Run tests on PRs
2025-05-01 11:58:55 +01: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
Sid Gawri
d824bdf8d2
system.web + system.net
2025-04-30 18:37:42 -04: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
Mathias Vorreiter Pedersen
f7d081874b
Merge pull request #217 from microsoft/accept-parent-test-changes
...
PS: Accept missing test changes
2025-04-30 20:25:05 +01:00
Mathias Vorreiter Pedersen
2f03911b45
PS: Accept test changes.
2025-04-30 20:20:07 +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
Chanel
f6aec284d1
Merge pull request #216 from microsoft/ps-string-literals
...
PS: Lift string literals to the public AST
2025-04-30 10:09:38 -07: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
Mathias Vorreiter Pedersen
dbfd07024d
PS: Add some tests for string literals.
2025-04-30 13:46:43 +01:00
Mathias Vorreiter Pedersen
a7c0305430
PS: Lift StringLiterals to the public AST from the raw AST.
2025-04-30 13:46:32 +01: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
Chanel
64dd13d4eb
Merge pull request #215 from microsoft/ps-add-sql-injection-query
...
PS: Add SQL injection query
2025-04-29 10:31:55 -07:00
Mathias Vorreiter Pedersen
c6678949b9
PS: Add query test for the new SQL injection query.
2025-04-29 17:57:59 +01:00
Mathias Vorreiter Pedersen
e4d5b1e65e
PS: Add a query for SQL injection.
2025-04-29 17:57:43 +01:00
Mathias Vorreiter Pedersen
c015c746b8
PS: Lower case more predicate results for consistency.
2025-04-29 17:45:04 +01: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
Denis Levin
aee5b23207
Merge pull request #212 from microsoft/denisl/goreferenceupdate
...
Update go references in mod and sum files
2025-04-28 16:26:21 -07: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
Josh Brown
b672950baf
Merge branch 'main' into denisl/goreferenceupdate
2025-04-25 09:14:05 +10: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
Mathias Vorreiter Pedersen
4d00aa39ea
Merge pull request #213 from microsoft/powershell-better-api-for-normalizednames
...
PS: Better API for normalizing names + get rid of warnings
2025-04-24 12:09:24 +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
Chanel
1930059e77
Merge pull request #214 from microsoft/dilan/powershell-lib-pack-org
...
PowerShell Lib Pack: Change microsoft-sdl to microsoft
2025-04-23 11:24:22 -07:00
Tom Hvitved
e72aba76f6
Rust: Path resolution performance tweaks
2025-04-23 19:49:20 +02:00
Dilan Bhalla
084c75c8cf
changing microsoft-sdl/powershell-all to microsoft/powershell-all
2025-04-23 10:45:45 -07:00
dilanbhalla
c3926d3cba
Update qlpack.yml
2025-04-23 10:26:27 -07:00
dilanbhalla
a3b32af3dc
Update qlpack.yml
2025-04-23 10:25:20 -07:00
Chanel
b1cd6721e0
Merge branch 'main' into powershell-better-api-for-normalizednames
2025-04-23 09:52:53 -07: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
Mathias Vorreiter Pedersen
0a1f89b8eb
PS: Delete more stuff that's being deprecated and replace with non-deprecated versions.
2025-04-23 16:00:20 +01:00
Mathias Vorreiter Pedersen
06fd1c6513
PS: Delete deprecated unnecessary predicates.
2025-04-23 16:00:19 +01:00
Mathias Vorreiter Pedersen
5ec59c3b34
PS: Get rid of unnecessary module.
2025-04-23 16:00:18 +01: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
Mathias Vorreiter Pedersen
9e83dee8fe
PS: Accept test changes.
2025-04-23 15:16:29 +01:00
Mathias Vorreiter Pedersen
f5e7af1df6
PS: Fix tests.
2025-04-23 15:16:26 +01:00
Michael Nebel
2e0ce44fde
Javascript: Update test files.
2025-04-23 15:41:41 +02:00
Mathias Vorreiter Pedersen
b65d41b498
PS: Cleanup and autoformat.
2025-04-23 12:36:48 +01:00
Geoffrey White
37bcedcf11
Merge pull request #19353 from geoffw0/modelnoise2
...
Rust: Remove unnecessary predicate.
2025-04-23 12:34:40 +01:00
Mathias Vorreiter Pedersen
2e0560119c
PS: Add matchesName and getAName to make it easier to match case insensitively.
2025-04-23 12:34:08 +01:00
Mathias Vorreiter Pedersen
7360d800f2
PS: Rename getName to getLowerCaseName.
2025-04-23 12:31:46 +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
Denis Levin
42776fb2fe
Merge branch 'main' into denisl/goreferenceupdate
2025-04-22 16:49:28 -07:00
dilanbhalla
2f62351116
Merge pull request #211 from microsoft/dilan/publish-pack-bug-2
...
Pack Publish Bug
2025-04-22 16:12:19 -07:00
dilanbhalla
ba58c012cd
Update microsoft-codeql-pack-publish.yml
2025-04-22 15:48:09 -07:00
Chanel
e669dc651b
Merge pull request #210 from microsoft/dilan/pack-publish-typo
...
Pack Publish Typo
2025-04-22 15:33:16 -07:00
dilanbhalla
9efbecc677
Update microsoft-codeql-pack-publish.yml
2025-04-22 15:30:11 -07:00
Denis Levin
47fc9f2d10
Update go language references in mod and sum files to prevent vulnerable reference warining for CVE-2024-45337
...
in golang.org/x/crypto
2025-04-22 15:10:47 -07: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
Chanel
3126366768
Merge pull request #170 from microsoft/dilan/publish-opensource-packs
...
Publish Public Packs
2025-04-22 12:49:30 -07:00
dilanbhalla
b1129475d7
Merge branch 'main' into dilan/publish-opensource-packs
2025-04-22 12:46:24 -07:00
dilanbhalla
a3c5e48738
Update microsoft-codeql-pack-publish.yml
2025-04-22 12:45:26 -07:00
dilanbhalla
082141e40d
Update microsoft-codeql-pack-publish.yml
2025-04-22 12:28:37 -07:00
dilanbhalla
054434365c
Merge pull request #209 from microsoft/dilan/workflow-bugs
...
Fix Sync-Main Workflow Bugs
2025-04-22 11:37:25 -07:00
dilanbhalla
358862e9bd
Update sync-main.yml
2025-04-22 11:30:41 -07:00
dilanbhalla
916b264e1b
Update sync-main-tags.yml
2025-04-22 11:29:32 -07:00
dilanbhalla
4b3c612833
Merge branch 'main' into dilan/publish-opensource-packs
2025-04-22 11:27:46 -07: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
dilanbhalla
d3c6c3bcc6
Merge pull request #208 from microsoft/auto/sync-main-pr
...
Sync Main (autogenerated)
2025-04-22 10:15:07 -07: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
dilanbhalla
b28b84fad6
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-04-22 16:59:08 +00:00
Chanel
12db85ad9c
Merge pull request #206 from microsoft/psscriptanalyzer-port
...
Psscriptanalyzer port
2025-04-22 09:35:05 -07:00
Chanel Young
f375b81272
remove reference to command injection owasp
2025-04-22 09:26:48 -07:00
Chanel
3a66e8e71a
Update powershell/ql/src/experimental/UsernameOrPasswordParameter.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-04-22 09:20:45 -07:00
Chanel
f82cfc7bd4
Update powershell/ql/src/experimental/UsernameOrPasswordParameter.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-04-22 09:20:31 -07:00
Chanel
6419794f3b
Update powershell/ql/src/experimental/HardcodedComputerName.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-04-22 09:18:31 -07:00
Chanel Young
faa47f9bfb
ConvertToSecureStringAsPlainText
2025-04-22 09:17:57 -07:00
Chanel Young
2898910c04
Merge branch 'psscriptanalyzer-port' of https://github.com/microsoft/codeql into psscriptanalyzer-port
2025-04-22 09:12:04 -07:00
Chanel Young
7432884af0
Merge branch 'main' into psscriptanalyzer-port
2025-04-22 09:00:08 -07:00
dilanbhalla
9f44cb23f1
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-04-22 15:59:07 +00:00
Mathias Vorreiter Pedersen
bfb7b0b9d0
Merge branch 'main' into psscriptanalyzer-port
2025-04-22 16:42:23 +01:00
Mathias Vorreiter Pedersen
6a5d0877c4
Merge pull request #207 from microsoft/switch-parameters
...
PS: Proper AST support for switch arguments
2025-04-22 16:41:40 +01: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
Chanel
a98a7b8e97
Merge branch 'main' into switch-parameters
2025-04-22 08:13:25 -07:00
dilanbhalla
ff154b11d0
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-04-22 14:59:21 +00: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
Mathias Vorreiter Pedersen
09ebc76a23
PS: Accept test changes.
2025-04-22 15:32:35 +01:00
Mathias Vorreiter Pedersen
e9fd50b67c
PS: Handle switch arguments by synthesizing a boolean true literal and represent them as named arguments.
2025-04-22 15:28:43 +01:00
Mathias Vorreiter Pedersen
72266cb000
PS: Drive-by cleanup in Constant.qll
2025-04-22 15:12:14 +01:00
Mathias Vorreiter Pedersen
b9fdc78c16
PS: Add argument tests.
2025-04-22 15:12:00 +01: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
Chanel Young
43954b7262
removed irrelevant tags
2025-04-21 17:01:12 -07:00
Chanel Young
e91912e30d
cleanup
2025-04-21 16:50:36 -07:00
Chanel Young
7359f912c5
added initial psscriptanalyzer rules, docs, tests
2025-04-21 16:44:52 -07:00
dilanbhalla
7462e4003f
Merge pull request #204 from microsoft/dilan/sync-main-tags
...
Sync Upstream Tags
2025-04-21 14:55:28 -07:00
dilanbhalla
7e32709574
Merge branch 'main' into dilan/sync-main-tags
2025-04-21 14:54:14 -07:00
dilanbhalla
2007479e56
Merge pull request #205 from microsoft/LWSimpkins/rust-module-import-fix
...
Update DataFlowImpl.qll
2025-04-21 14:07:10 -07:00
Lindsay Simpkins
57f060beed
Update DataFlowImpl.qll
2025-04-21 16:41:36 -04:00
Dilan Bhalla
7553e14873
sync upstream tags to main
2025-04-21 12:21:23 -07: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
Chanel
03bce1c59f
Merge pull request #202 from microsoft/fix-to-string-on-unknown-static-read
...
PS: Fix `toString` on unknown static field access
2025-04-18 09:23:02 -07:00
Chanel
37a6b0460e
Merge branch 'main' into fix-to-string-on-unknown-static-read
2025-04-18 09:21:15 -07:00
Mathias Vorreiter Pedersen
21210c6cb3
Merge pull request #203 from microsoft/add-missing-downgrade-and-upgrade-scripts
...
PS: Add missing downgrade and upgrade scripts
2025-04-18 13:34:18 +01:00
Mathias Vorreiter Pedersen
4518f18b9f
PS: Delete a cycle in the upgrade script.
2025-04-18 12:41:13 +01:00
Mathias Vorreiter Pedersen
e7e88d3946
PS: Add upgrade script from some unknown dbscheme to the dbscheme that existed when Mathias joined Microsoft
2025-04-18 12:40:58 +01:00
Chanel
fe7d8ff61f
Merge pull request #201 from microsoft/powershell-injectionhunter-port
...
Powershell Command Injection query updates
2025-04-17 11:03:19 -07:00
Chanel Young
12b918e900
pr feedback: removed toString, updated .expected
2025-04-17 10:39:42 -07:00
Mathias Vorreiter Pedersen
b70f7e219c
PS: Fix missing toString and accept test changes.
2025-04-17 17:01:33 +01:00
Mathias Vorreiter Pedersen
7d7268349d
PS: Add an example with a missing toString.
2025-04-17 16:53:26 +01:00
Mathias Vorreiter Pedersen
b09d9f6772
PS: Autoformat.
2025-04-17 16:49:47 +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
Jeroen Ketema
0bcee84117
C++: Minor textual fixes
2025-04-17 12:33:27 +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
Chanel Young
ed553d393b
merged work into CommandInjection query
2025-04-16 14:32:30 -07:00
Chanel Young
2266cd2eb8
moved folder, added tests/docs
2025-04-16 12:13:07 -07:00
idrissrio
15fe2fbba6
C++: update stats file
2025-04-16 20:45:33 +02:00
Chanel Young
50a771edee
Merge branch 'main' into powershell-injectionhunter-port
2025-04-16 11:19:26 -07:00
Chanel Young
5f643509f0
added script block, expandstring sinks, moved sanitizers to separate file
2025-04-16 11:18:02 -07:00
Chanel
c9b1356853
Merge pull request #200 from microsoft/files-reads-as-flow-sources
...
PS: Handle more flow sources
2025-04-16 10:03:44 -07:00
Geoffrey White
9da6d9435e
Rust: More tests affected.
2025-04-16 17:41:27 +01:00
idrissrio
36a425715c
C++: add upgrade and downgrade scripts
2025-04-16 17:07:25 +02:00
Geoffrey White
77d3c95d6e
Merge branch 'main' into trim
2025-04-16 15:33:30 +01:00
idrissrio
d8afd2a786
C++: add change note for designator-based initializations
2025-04-16 16:23:32 +02:00
idrissrio
49183bb82a
C++: add predicate to distinguish between array/field designators
2025-04-16 16:19:26 +02:00
Ian Lynagh
e05c030bb7
Merge pull request #19317 from github/post-release-prep/codeql-cli-2.21.1
...
Post-release preparation for codeql-cli-2.21.1
2025-04-16 14:45:49 +01:00
Ian Lynagh
bdd3207752
Merge branch 'main' into post-release-prep/codeql-cli-2.21.1
2025-04-16 11:54:23 +01:00
Idriss Riouak
67bfe108c2
Merge pull request #19298 from github/idrissrio/vla
...
C++: add `isVla` predicated to `ArrayType`
2025-04-16 11:25:31 +02:00
Joe Farebrother
6431228d37
Limit size of allowImplicitRead for performance
2025-04-16 09:40:01 +01:00
Michael Nebel
29be2171af
Merge pull request #19309 from michaelnebel/csharp/fix-comments
...
C#: Adjust comments and remove compilation warnings.
2025-04-16 09:26:09 +02:00
Nicolas Will
1958c192ec
Reimplement EC, MAC, key creation logic + consumer
2025-04-15 23:00:12 -04:00
Aditya Sharad
c4e8b1a79e
Merge pull request #19307 from adityasharad/actions/public-preview-cleanup
...
Actions: Remove preview notice, minor help and metadata fixes
2025-04-16 05:40:20 +05:30
Mathias Vorreiter Pedersen
396a283da9
PS: Add tests for flow sources.
2025-04-15 22:43:21 +01:00
Mathias Vorreiter Pedersen
826e6a9ee8
PS: Add an inline expectations test library for flow sources.
2025-04-15 22:43:19 +01:00
Mathias Vorreiter Pedersen
dcc127832e
PS: Make remote flow sources flow sources.
2025-04-15 22:43:18 +01:00
Mathias Vorreiter Pedersen
fa3fc4a0c3
PS: Fix more problems in MaD rows for sources.
2025-04-15 22:43:16 +01:00
Mathias Vorreiter Pedersen
a146630a09
PS: Delete redundant files.
2025-04-15 22:43:14 +01:00
Mathias Vorreiter Pedersen
43d9c701f8
PS: Rename Field and Property to Member.
2025-04-15 22:43:03 +01:00
Mathias Vorreiter Pedersen
f38948764c
PS: Make type names lower case.
2025-04-15 22:36:31 +01:00
Mathias Vorreiter Pedersen
993511735a
PS: Make method names lower case.
2025-04-15 22:02:46 +01:00
Aditya Sharad
4952768569
Actions: Fix change note newline
2025-04-15 10:21:54 -07:00
github-actions[bot]
d78736b1bf
Post-release preparation for codeql-cli-2.21.1
2025-04-15 16:33:15 +00:00
Ian Lynagh
2409bcc0d6
Merge pull request #19301 from github/release-prep/2.21.1
...
Release preparation for version 2.21.1
2025-04-15 16:52:54 +01: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
Ian Lynagh
8ee353c12c
Merge pull request #19312 from igfoo/igfoo/fix-typo-unmasked-secret-exposure
...
actions: Fix spelling error in UnmaskedSecretExposure.md
2025-04-15 15:41:07 +01:00
Paolo Tranquilli
ff8cd98527
Merge pull request #19233 from github/redsun82/cargo-upgrade
...
Rust: upgrade rust-analyzer to `0.0.273`
2025-04-15 16:30:12 +02:00
Geoffrey White
39a875e751
Rust: Make some summaries value type.
2025-04-15 14:46:57 +01:00
Ian Lynagh
b75e0ed02e
actions: Fix spelling error in UnmaskedSecretExposure.md
...
Corrects "know" to "known" in the description of the UnmaskedSecretExposure document.
2025-04-15 14:25:39 +01:00
Paolo Tranquilli
3d3de78076
Merge pull request #19299 from github/redsun82/swift-6-extraction
...
Swift: extract still unextracted entities from the 6.0.2 upgrade
2025-04-15 14:08:38 +02:00
idrissrio
202040fad4
C++: update stats file
2025-04-15 13:36:24 +02: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
Michael Nebel
9170993cf0
C#: Adjust comments and remove compilation warnings.
2025-04-15 12:46:31 +02:00
Geoffrey White
bfe9cdfed5
Rust: Add model for str.trim and as_bytes.
2025-04-15 11:26:52 +01:00
idrissrio
ae07272c44
C++: add upgrade and downgrade scripts
2025-04-15 11:09:31 +02:00
idrissrio
15ba9e0c66
C++: add change note for VLAs
2025-04-15 11:06:19 +02:00
idrissrio
033bade0ab
C++: add isVLA() to ArrayType to identify variable-length arrays
2025-04-15 11:03:26 +02:00
Michael Nebel
0b10d34cae
C#: Add change note.
2025-04-15 10:53:40 +02:00
Tamás Vajk
de9c1fbc9c
Merge pull request #19251 from tamasvajk/fix/macos15
...
C#: Fix autobuild on macos without mono
2025-04-15 10:07:26 +02:00
Arthur Baars
1c79c5e9ab
Merge pull request #19292 from github/aibaars/rust-shadow-prelude
...
Rust: allow shadowing of prelude items
2025-04-15 09:54:31 +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
Paolo Tranquilli
eda1bc9f6b
Merge pull request #19282 from github/redsun82/rust-codeowners
...
Rust: add to `CODEOWNERS`
2025-04-15 08:58:27 +02:00
Chanel Young
b4d8673a38
Merge branch 'main' of https://github.com/microsoft/codeql into powershell-injectionhunter-port
2025-04-14 15:18:37 -07:00
Aditya Sharad
f9103f8ddc
Actions: Add change note for missing severity
2025-04-14 14:48:43 -07:00
Aditya Sharad
6eb060f16a
Actions: Add security-severity to excessive secrets exposure query
...
Same value as missing actions permissions,
both providing warnings to follow the
principle of least privilege within a
workflow.
2025-04-14 14:41:08 -07:00
Aditya Sharad
93fbb9fe61
Actions: Update description of missing permissions query
2025-04-14 14:39:31 -07:00
Aditya Sharad
eeb938a76d
Docs: Minor fixes for Actions query help
2025-04-14 13:25:54 -07:00
Aditya Sharad
32f191cd9d
Docs: Remove public preview notice for Actions support
...
Ready for GA.
2025-04-14 13:21:59 -07:00
Geoffrey White
bdd5717c09
Rust: Remove the models output from the dataflow/local test.
2025-04-14 16:42:20 +01:00
Paolo Tranquilli
2dd3dea33a
Merge branch 'main' into redsun82/cargo-upgrade
2025-04-14 16:35:57 +02:00
Paolo Tranquilli
6176202d50
Merge pull request #19291 from github/redsun82/rust-pick-edition
...
Rust: pick correct edition for the files
2025-04-14 16:26:00 +02: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
Paolo Tranquilli
c9cff09f5d
Merge branch 'main' into redsun82/rust-pick-edition
2025-04-14 15:19:33 +02:00
Tamas Vajk
a70536f002
Improve code quality
2025-04-14 14:54:56 +02:00
Paolo Tranquilli
1c11c5562a
Swift: add change note
2025-04-14 14:50:46 +02: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
Tamas Vajk
91daca1a6b
Improve code quality based on PR review
2025-04-14 13:51:30 +02:00
Michael Nebel
53c4b29b50
Merge pull request #19289 from michaelnebel/csharp/improveautobuilder
...
C#: Improve auto-builder to better detect SDK references.
2025-04-14 12:43:23 +02:00
Paolo Tranquilli
c245459e97
Merge pull request #19293 from github/redsun82/rust-fix-member-aggregation
...
Rust: fix workspace member aggregation when absolute path is a glob pattern
2025-04-14 12:08:43 +02:00
github-actions[bot]
b961c5961d
Release preparation for version 2.21.1
2025-04-14 09:53:06 +00: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
Geoffrey White
884c4a6e7b
Merge pull request #19171 from geoffw0/badalloc
...
Rust: Query for uncontrolled allocation size
2025-04-14 10:10:53 +01:00
Paolo Tranquilli
1316e08365
Swift: add upgrade/downgrade scripts
2025-04-14 11:06:47 +02:00
Geoffrey White
c821f27309
Merge branch 'main' into badalloc
2025-04-14 09:36:59 +01:00
Paolo Tranquilli
fa6deaf87a
Swift: extract UnreachableExpr
2025-04-14 10:35:24 +02:00
Paolo Tranquilli
9473543933
Swift: extract ActorIsolationErasureExpr
2025-04-14 10:35:24 +02:00
Paolo Tranquilli
ad0f9f1e73
Swift: mark ErrorUnionType as type-check only
2025-04-14 10:35:23 +02:00
Paolo Tranquilli
b575c89463
Swift: add CurrentContextIsolationTree to control flow
2025-04-14 10:35:23 +02:00
Paolo Tranquilli
712142cde9
Swift: extract CurrentContextIsolationExpr
2025-04-14 10:35:22 +02:00
Paolo Tranquilli
42ec6b018d
Swift: add ExtractFunctionIsolationTree to control flow
2025-04-14 10:35:22 +02:00
Paolo Tranquilli
2910cb68ce
Swift: extract ExtracFunctionIsolationExpr
2025-04-14 10:35:21 +02:00
Napalys Klicius
86313715a4
Merge pull request #19184 from Napalys/js/request_handlers
...
JS: Support for `Request` and `NextRequest`
2025-04-14 08:07:24 +02:00
Marcono1234
64f37ea24c
Docs: Fix typo in code sample
2025-04-12 16:01:55 +02:00
yoff
85527101bd
Merge pull request #19205 from yoff/ruby/refine-uninitialised-local
...
ruby: refine `rb/uninitialized-local-variable`
2025-04-11 23:08:01 +02:00
yoff
7517272d34
ruby: remove repetitive change note
2025-04-11 23:01:15 +02:00
yoff
b988be8ff6
ruby: improve help file
...
This has improved autofixes
I hope it also helps humans
2025-04-11 21:29:01 +02:00
yoff
85e27cae60
Merge branch 'main' into ruby/refine-uninitialised-local
2025-04-11 18:09:59 +02:00
Paolo Tranquilli
9dd1062a9c
Rust: remove fixed inconsistency
2025-04-11 17:25:56 +02:00
Aditya Sharad
2dc88d87ae
Merge pull request #19278 from adityasharad/actions/integration-test-filters
...
Actions: Fix handling of paths-ignore in autobuild scripts, add integration tests for configured path filters
2025-04-11 20:53:33 +05:30
Paolo Tranquilli
c844db09d2
Merge branch 'redsun82/rust-pick-edition' into redsun82/cargo-upgrade
2025-04-11 17:03:29 +02:00
Paolo Tranquilli
63e5f5a555
Rust: parametrize some integration tests on three editions
2025-04-11 16:50:23 +02:00
Paolo Tranquilli
868680f078
Merge branch 'redsun82/rust-fix-member-aggregation' into redsun82/rust-pick-edition
2025-04-11 16:46:16 +02:00
Paolo Tranquilli
60aa3a8d9d
Rust: fix workspace member aggregation when absolute path is a glob pattern
...
We were interpreting the absolute path of a workspace as a glob pattern,
which doesn't work if the path has some special characters (e.g. `[` or
`]`).
2025-04-11 16:41:51 +02:00
yoff
eb0f8e9572
ruby: add rb/uninitialized-local-variable to quality suite
2025-04-11 16:27:21 +02:00
Mathias Vorreiter Pedersen
11aef7019e
Merge pull request #19273 from MathiasVP/prepare-shared-mad-generation-for-cpp
...
Shared: Prepare model generation for C++ adoption
2025-04-11 07:22:56 -07:00
yoff
6a76a40cf4
ruby: adjust change notes
2025-04-11 16:18:03 +02:00
Arthur Baars
b27ae98b54
Rust: normalize paths in the rustup folder
2025-04-11 15:46:57 +02:00
Arthur Baars
662e963a7b
Rust: allow shadowing of prelude items
2025-04-11 15:46:55 +02:00
Paolo Tranquilli
dbbd80f4dc
Rust: pick correct edition for the files
...
Previously we would unconditionally set the edition to the latest stable
according to rust-analyzer (2021 at the moment). Now we ask
rust-analyzer itself to pick the correct edition for the file.
2025-04-11 15:36:45 +02:00
Asger F
6c01709048
JS: Update more test output
2025-04-11 15:15:22 +02:00
yoff
2477233508
ruby: only report on method calls
...
Interviewing a Ruby developer, I learned that
dealing with nil is common practice.
So alerts are mostly useful, if we can point to a place where this has gone wrong.
2025-04-11 15:01:57 +02:00
Tamas Vajk
51388f2401
Do not try running mono when it's not available on the runner
2025-04-11 14:58:08 +02:00
Mathias Vorreiter Pedersen
877118fb3b
Merge pull request #19274 from MathiasVP/prepare-cpp-for-mad-generation
...
C++: Prepare for model generation adoption
2025-04-11 05:11:36 -07:00
Michael Nebel
f349048e42
C#: Add change note.
2025-04-11 13:53:54 +02:00
Michael Nebel
31143b405e
C#: Improve auto builder logic to detect Sdk reference.
2025-04-11 13:53:52 +02:00
Mathias Vorreiter Pedersen
deef95d384
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll
...
Co-authored-by: Taus <tausbn@github.com >
2025-04-11 12:43:59 +01:00
Mathias Vorreiter Pedersen
bfc494c0e1
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll
...
Co-authored-by: Taus <tausbn@github.com >
2025-04-11 12:43:51 +01:00
yoff
b641d5f177
ruby: fix FP
2025-04-11 13:22:42 +02:00
yoff
6e2cfab7b2
ruby: add test for for
...
found during triage
2025-04-11 12:46:25 +02:00
Michael Nebel
a5aef8c6f9
C#: Add some more DotNet autobuilder unit tests.
2025-04-11 12:03:06 +02:00
Paolo Tranquilli
33c857ce9f
Rust: update supported languages footnote
2025-04-11 12:01:24 +02:00
Paolo Tranquilli
4ae49cfe35
Merge pull request #19281 from github/redsun82/rust-setup
...
Rust: refine `ql/test/setup.sh`
2025-04-11 11:55:12 +02:00
Paolo Tranquilli
df427f7de8
Rust: add supported frameworks file
2025-04-11 11:53:27 +02:00
Owen Mansel-Chan
472bfa2668
Merge pull request #19115 from owen-mc/java/port/java/string-replace-all-with-non-regex
...
Java: Add new quality query to detect `String#replaceAll` with non-regex first argument
2025-04-11 10:31:38 +01:00
Napalys Klicius
3d7c0201d9
Merge pull request #19231 from Napalys/js/typed_array
...
JS: Taint propagation from low-level `ArrayBuffer` to `Strings`
2025-04-11 11:29:01 +02:00
Napalys
11abbf8c4a
Now nextUrl is of type parameter and loosen the restriction for NextAppRouteHandler
2025-04-11 11:19:12 +02:00
Napalys Klicius
92e4f112c0
Update javascript/ql/lib/semmle/javascript/frameworks/Next.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-04-11 11:08:40 +02:00
Napalys Klicius
d0dcf897cb
Update javascript/ql/lib/semmle/javascript/internal/flow_summaries/Strings.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2025-04-11 11:04:08 +02:00
yoff
4167e96058
ruby: more complete impleemntation of isInBooleanContext
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2025-04-11 11:00:22 +02:00
yoff
f675a143d6
ruby: remove redundant cases
...
The CFG handles the negation
2025-04-11 10:48:41 +02:00
Napalys Klicius
d17d29a387
Merge pull request #19218 from Napalys/js/upgrade_websocket
...
JS: Refactor `WebSocket` to use `API` graphs
2025-04-11 10:05:54 +02:00
Napalys
e3f1720f9c
RenamedDecodeLike to Decode and updated propagatesFlow
2025-04-11 10:04:09 +02:00
Arthur Baars
85940484ab
Update rust/ql/test/setup.sh
2025-04-11 09:57:50 +02:00
Napalys
2c4b3527b4
Added change note
2025-04-11 09:42:12 +02:00
Napalys
678eccb417
Added searchParams.get as potential source for SSRF
2025-04-11 09:42:07 +02:00
Tom Hvitved
e26695fc51
Rust: Take where clauses into account in path resolution
2025-04-11 09:28:08 +02:00
Napalys
8674b61e5a
Added SSRF test case with searchParams for NextRequest
2025-04-11 09:26:16 +02:00
Tom Hvitved
cc85a09b39
Rust: Add AI-generated test for path resolution of where clauses
2025-04-11 09:24:09 +02:00
Paolo Tranquilli
db1203acb3
Rust: reinstate adding rust-src for test toolchains
2025-04-11 08:57:14 +02:00
Napalys
6e09a65da0
Added support for NextRequest middleware SSRF.
2025-04-11 08:43:36 +02:00
Napalys
734ad2d767
Removed legacy Consistency check as it is redundant now with inline test expectations.
2025-04-11 08:43:08 +02:00
Napalys
208487f236
Added middleware test
2025-04-11 08:39:47 +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
547833afb5
Rust: add to CODEOWNERS
2025-04-11 08:32:33 +02:00
Paolo Tranquilli
becea89a47
Rust: refine ql/test/setup.sh
2025-04-11 08:26:48 +02:00
Tamas Vajk
159d31d494
Reenable problematic test
2025-04-11 08:24:08 +02:00
yoff
8555e8c8c8
ruby: add change notes
2025-04-11 03:07:19 +02:00
yoff
53c88da91b
ruby: refine query for uninitialised local variables
...
- there are places where uninitialised reads are intentional
- there are also some places where they are impossible
2025-04-11 03:07:19 +02:00
yoff
1ca25b2ccb
ruby: add test of rb/uninitialized-local-variable
2025-04-11 03:00:05 +02:00
Mathias Vorreiter Pedersen
6455992402
PS: Add two more flow sources.
2025-04-10 20:44:11 +01:00
Mathias Vorreiter Pedersen
3d18175885
PS: Make it possible to specify a named argument that must be present in MaD.
2025-04-10 20:42:50 +01:00
Mathias Vorreiter Pedersen
43de3a131b
PS: Use the existing MaD rows to model file reads as flow sources.
2025-04-10 20:25:17 +01:00
Aditya Sharad
283503b06d
Actions: Fix handling of paths-ignore in autobuild scripts
...
Always concatenate the default filters with the user-provided filters.
This ensures that when `paths-ignore` is provided,
we begin with the default path inclusions,
not all YAML files.
This makes the `paths-ignore-only` integration test variant
under `filters` pass.
The handling of `paths` is unchanged:
if provided, this overrides the default filters.
2025-04-10 11:18:45 -07:00
Chanel
1637df0a3f
Merge pull request #199 from microsoft/fix-top-level-arguments
...
PS: Fix a couple of missing local flow sources
2025-04-10 11:18:31 -07:00
Aditya Sharad
30ce0c5cbf
Actions: Add integration tests for configured path filters
...
Use the common structure from the existing test
for default filters.
Check both query output finding workflows and actions,
and source archive output showing all extracted YAML files.
The test for only `paths-ignore` fails in this commit,
demonstrating a bug: we start with all YAML files
rather than starting with the default includes.
The tests for `paths` reflect current behaviour
which is consistent with other languages:
`paths` overrides the default inclusions,
and only files under `paths` are included.
This may not be the best user experience for Actions,
since we want to scan all workflow and action files
even in the presence of `paths`, but that is not
currently addressed.
2025-04-10 11:17:51 -07:00
Mathias Vorreiter Pedersen
4aa9f85b5d
PS: Accept test changes.
2025-04-10 19:02:54 +01:00
Mathias Vorreiter Pedersen
9adf028d41
PS: Fix environment variables.
2025-04-10 19:02:07 +01:00
Mathias Vorreiter Pedersen
bf9ed3bcb7
PS: Accept test changes.
2025-04-10 18:52:27 +01:00
Mathias Vorreiter Pedersen
6084789f09
PS: Fix the top level arguments after the AST cleanup.
2025-04-10 18:50:06 +01:00
Mathias Vorreiter Pedersen
793fd5eb7e
PS: Delete a redundant file.
2025-04-10 18:49:45 +01:00
dilanbhalla
5abde74f0c
Merge pull request #198 from microsoft/dilan/sync-main-bugs-7
...
Sync Main Error Handling Improvement
2025-04-10 10:34:55 -07:00
dilanbhalla
4628c187bd
Update sync-main.yml
2025-04-10 10:26:00 -07:00
Tom Hvitved
7ed8a85e08
Merge pull request #19246 from hvitved/rust/cache-tweaks
2025-04-10 19:02:25 +02:00
Paolo Tranquilli
00f6d9b305
Rust: start preparing documentation changes
2025-04-10 17:35:27 +02:00
Felicity Chapman
c2baf9a052
Merge pull request #19270 from github/felicitymay-patch-1
...
CodeQL docs: Fix ordering in side navigation bar for Query help
2025-04-10 15:10:14 +01:00
Owen Mansel-Chan
4f5bdbb517
Add new query to java-code-quality.qls.expected
2025-04-10 14:37:11 +01:00
Mathias Vorreiter Pedersen
3bb249f580
C++: Ensure we always have 'Position's even if there are no calls in the DB.
2025-04-10 14:28:40 +01:00
Mathias Vorreiter Pedersen
b678112f4d
C++: Add a few predicates to 'ReturnKind'.
2025-04-10 14:28:38 +01:00
Mathias Vorreiter Pedersen
960e9900af
C++: Move the 'getArgumentIndex' into the abstract 'Position' class. It is implemented in all subclasses anyway.
2025-04-10 14:28:36 +01:00
Mathias Vorreiter Pedersen
94e08e318d
C++: Expose a few predicates from 'ExternalFlow'.
2025-04-10 14:18:47 +01:00
Napalys Klicius
43bf0beae9
Merge pull request #19263 from Napalys/js/make-dir-lib
...
JS: Add support for `make-dir` package
2025-04-10 15:09:43 +02:00
Napalys
86b64afa13
Added NextResponse to the ResponseCall class it models similar near idential behaviour.
2025-04-10 15:06:44 +02:00
Tom Hvitved
a578f44af4
QL4QL: Restrict ql/qlref-inline-expectations to (path-)problem queries
2025-04-10 15:03:57 +02:00
Mathias Vorreiter Pedersen
ea3bb8cf0c
Shared: Provide a hook to MaD generation to modify the 'ReturnValue' string.
2025-04-10 14:02:31 +01:00
Mathias Vorreiter Pedersen
6c348b5855
Rust: Fixup MaD input.
2025-04-10 14:01:20 +01:00
Mathias Vorreiter Pedersen
b6c658767e
Java: Fixup MaD input.
2025-04-10 14:01:11 +01:00
Mathias Vorreiter Pedersen
04bf908a4b
C#: Fixup MaD input.
2025-04-10 14:01:00 +01:00
Mathias Vorreiter Pedersen
c484945f39
Shared: Move 'getEnclosingCallable' and 'getAsExprEnclosingCallable' out of the class signature.
2025-04-10 14:00:11 +01:00
Mathias Vorreiter Pedersen
732fcbf1c9
Shared: Move 'asParameter' out of the class signature.
2025-04-10 13:58:59 +01:00
Napalys
8acb0243ad
Added test cases for NextResponse and Response
2025-04-10 14:57:40 +02:00
Mathias Vorreiter Pedersen
a1dc87496a
Shared: Replace a 'count' with a 'strictcount' to prevent a CP when testing on C++.
2025-04-10 13:56:38 +01:00
Napalys
63a3953b0c
Enhance Next.js API endpoint handling for compatibility with both Pages and App Router structures.
2025-04-10 14:48:17 +02:00
Napalys
81cba7fa2f
Added test cases with missing alerts for Request and NextRequest.
2025-04-10 14:43:48 +02:00
Asger F
eac14b9837
Merge pull request #19200 from asgerf/js/web-response
...
JS: Add sinks for calls to 'new Response()'
2025-04-10 14:41:32 +02:00
Napalys
171a84609e
Applied copilot suggestion.
2025-04-10 14:13:48 +02:00
Felicity Chapman
78a26cfdb2
Update index.rst
2025-04-10 13:09:51 +01:00
Joe Farebrother
7f7fca9e27
Merge pull request #19165 from joefarebrother/python-qual-loop-var-capture
...
Python: Modernize the Loop Variable Capture query
2025-04-10 13:07:05 +01:00
Owen Mansel-Chan
acfcc6d490
Sort ids in java-code-quality.qls
2025-04-10 12:35:42 +01:00
Owen Mansel-Chan
576f4cf19f
Update tags
2025-04-10 12:21:09 +01:00
Owen Mansel-Chan
ad89e7980e
Tweak documentation
2025-04-10 12:21:08 +01:00
Owen Mansel-Chan
3ea5cc1b66
Add query to code-quality query suite
2025-04-10 12:21:06 +01:00
Owen Mansel-Chan
e1c5517de7
Keep COMPLIANT and NON_COMPLIANT comments in test
2025-04-10 12:21:05 +01:00
Owen Mansel-Chan
04ec1d7830
Update test expectations
2025-04-10 12:21:03 +01:00
Owen Mansel-Chan
626a7d5007
Fix punctuation
2025-04-10 12:21:02 +01:00
Owen Mansel-Chan
c4e56b1ec8
Add quality and cwe tag to query
...
CWE-1176: Inefficient CPU Computation
2025-04-10 12:21:00 +01:00
Owen Mansel-Chan
042fe07494
Adjust alert message
2025-04-10 11:47:19 +01:00
Owen Mansel-Chan
fea3d10b97
Update qhelp
2025-04-10 11:47:18 +01:00
Owen Mansel-Chan
441c79ebdf
Use existing class StringReplaceAllCall
2025-04-10 11:47:17 +01:00
Owen Mansel-Chan
b5b252b10f
Convert test to inline expectations
2025-04-10 11:47:15 +01:00
Owen Mansel-Chan
ff2947a0e5
Adjust query name
2025-04-10 11:47:14 +01:00
Owen Mansel-Chan
041adcd63a
Java: Add initial version of string replaceAll with no regex query
2025-04-10 11:46:59 +01:00
Asger F
d2a4f1e17a
Merge pull request #19267 from asgerf/js/json-array-trailing-comma
...
JS: Tolerate trailing commas in JSON arrays
2025-04-10 12:38:16 +02:00
Joe Farebrother
6802037c89
Update qhelp formatting
2025-04-10 09:52:18 +01:00
Joe Farebrother
00999baf9a
Apply docs review suggestion - Reword query description.
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-04-10 09:06:01 +01:00
Asger F
3da1f261f7
JS: Change note
2025-04-10 07:21:48 +02:00
Asger F
cfa1a9b603
JS: Update extractor version string
2025-04-10 07:20:53 +02:00
Asger F
1434f7acd2
JS: Tolerate trailing comma in JSON array
...
Previously we'd fail to extract some tsconfig.json files because of this.
2025-04-10 07:20:51 +02:00
Asger F
800dd168c2
JS: Add failing TRAP test for trailing comma
2025-04-10 07:20:49 +02:00
Aditya Sharad
bd3342af8a
Actions: Update integration test for default filters
...
Create a common file structure to be shared among multiple tests
for path filters, and rename accordingly.
Update test expectations with additional files.
Use pytest markers to indicate the expected outputs.
Add source archive checking in addition to checking query output.
This allows us to test which YAML files were extracted
separately from whether they are semantically meaningful
to the Actions analysis.
2025-04-09 20:59:42 -07:00
Tom Hvitved
0e31bf1e7b
Merge pull request #19265 from hvitved/rust/crate-graph-self-crate-ref
2025-04-09 22:54:53 +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
Chanel
419de4fd22
Merge pull request #196 from microsoft/autogenerate-lots-of-models
...
PS: Add autogenerated summary models
2025-04-09 11:16:36 -07:00
Mathias Vorreiter Pedersen
b55ee68a99
Merge branch 'main' into autogenerate-lots-of-models
2025-04-09 11:12:09 -07:00
dilanbhalla
89ddb30a96
Merge pull request #197 from microsoft/auto/sync-main-pr
...
Sync Main (autogenerated)
2025-04-09 10:46:13 -07:00
dilanbhalla
0f034b32e0
Merge pull request #194 from microsoft/dilan/sync-main-bugs-6
...
Sync Main: More Misc Bugs
2025-04-09 10:46:07 -07:00
dilanbhalla
c5b024a9dd
Update sync-main.yml
2025-04-09 10:26:10 -07:00
dilanbhalla
b8b4e44e81
Update sync-main.yml
2025-04-09 10:24:00 -07:00
dilanbhalla
86b3eaeb64
Merge branch 'main' into dilan/sync-main-bugs-6
2025-04-09 10:18:16 -07:00
dilanbhalla
0d97cd6be6
Merge branch 'main' of https://github.com/microsoft/codeql into auto/sync-main-pr
2025-04-09 17:17:29 +00:00
dilanbhalla
88a7c3a63d
Update sync-main.yml
2025-04-09 10:16:42 -07:00
dilanbhalla
e7edf1bab9
Update sync-main.yml
2025-04-09 10:13:45 -07:00
dilanbhalla
a93d65b2d1
Update sync-main.yml
2025-04-09 10:11:23 -07:00
Tom Hvitved
a6b20d7731
Merge pull request #19259 from hvitved/ruby/fix-bad-join
...
Ruby: Fix bad join in `DeadStoreOfLocal.ql`
2025-04-09 19:03:33 +02:00
Tom Hvitved
1ba06ab3bf
Merge pull request #19216 from hvitved/rust/path-resolution-path-attr
...
Rust: Handle path attributes in path resolution
2025-04-09 18:57:56 +02:00
Aditya Sharad
ef0065546a
Merge pull request #19264 from github/coadaflorin-actions-docs-patch
...
Update codeql-library-for-actions.rst
2025-04-09 21:46:28 +05:30
Aditya Sharad
29af6f7f0d
Merge pull request #19257 from adityasharad/actions/fix/autobuild-powershell-spaces
...
Actions: Fix invocation of autobuild PowerShell script
2025-04-09 21:26:32 +05:30
Tom Hvitved
52401aaa73
Address review comments
2025-04-09 17:19:25 +02:00
Chris Smowton
cc379b543c
Merge pull request #19260 from smowton/smowton/feature/sanitize-enum-types
...
Java: Add EnumType to SimpleTypeSanitizer
2025-04-09 16:05:13 +01:00
Chris Smowton
7a8dfdb971
Grammar
2025-04-09 15:52:48 +01:00
Chris Smowton
f31b49b022
Change note
2025-04-09 15:41:48 +01:00
Mathias Vorreiter Pedersen
f8207fa92a
PS: Add a testcase to demonstrate flow through Join-String.
2025-04-09 15:20:41 +01:00
Mathias Vorreiter Pedersen
ebb91dceb7
PS: Add a few more models after fixing MaD for Element content.
2025-04-09 15:20:39 +01:00
Mathias Vorreiter Pedersen
6de4765fe6
PS: Support implicit imports in API graphs.
2025-04-09 15:20:38 +01:00
Mathias Vorreiter Pedersen
a5afc3c582
PS: Flow through pipelines.
2025-04-09 15:20:36 +01:00
Mathias Vorreiter Pedersen
5f12d7c970
PS: Taint flow through all calls to 'toString'.
2025-04-09 15:20:35 +01:00
Mathias Vorreiter Pedersen
763effb50d
PS: Add more models and support pipeline parameters in MaD.
2025-04-09 15:20:33 +01:00
Mathias Vorreiter Pedersen
f38c5f5b4f
PS: Add lots of models.
2025-04-09 15:20:32 +01:00
Tom Hvitved
fbab715cb6
Rust: Allow for crate self-references in crate graph paths
2025-04-09 15:21:34 +02:00
Joe Farebrother
84aa2e8627
Apply review suggestion - Tweak wording of example comment
...
Co-authored-by: Taus <tausbn@github.com >
2025-04-09 14:07:38 +01:00
Chris Smowton
949812243b
Merge pull request #19261 from smowton/smowton/admin/improve-gradle-wrapper-message
...
Java: Update test expectation
2025-04-09 14:03:52 +01:00
Napalys
5243f90c90
Brought back old methods and marked them as deprecated
2025-04-09 14:56:24 +02:00
Florin Coada
0acccf240a
Update codeql-library-for-actions.rst
2025-04-09 13:45:21 +01:00
Napalys
5ec71ab9af
Added change note
2025-04-09 14:42:34 +02:00
Napalys
ce2fc25cdb
Added make-dir model as data
2025-04-09 14:42:29 +02:00
Napalys
674f40b35f
Added test cases for make-dir package.
2025-04-09 14:41:12 +02:00
Napalys Klicius
2dca95af92
Update javascript/ql/lib/change-notes/2025-04-07-websocket.md
...
Co-authored-by: Asger F <asgerf@github.com >
2025-04-09 14:26:00 +02:00
Napalys
0c52b5ad95
Added summary flow for StringFromCharCode
2025-04-09 14:24:43 +02:00
Chris Smowton
5c7a4eb511
Reorder test expectations
2025-04-09 12:51:18 +01:00
Napalys Klicius
f02783a9c6
Merge pull request #19210 from Napalys/js/mkdirp
...
JS: Modeling of `mkdirp` functions
2025-04-09 13:43:37 +02:00
Tom Hvitved
9323f1aaf0
Merge pull request #19250 from hvitved/rust/fix-bad-joins
...
Rust: Fix bad joins
2025-04-09 13:36:01 +02:00
Chris Smowton
3373c2457c
Update test expectation
2025-04-09 12:27:48 +01:00
Napalys
a3e4e62eac
Removed taint from ArrayBuffer constructor as it accepts length
2025-04-09 13:27:13 +02:00
Mathias Vorreiter Pedersen
02c027d9f6
Merge pull request #183 from microsoft/hashcons-for-csharp
...
C#: Add a hash-cons library for C#
2025-04-09 04:21:50 -07:00
Mathias Vorreiter Pedersen
7612ef922f
Merge pull request #186 from microsoft/powershell-automatic-variables-as-member-edges
...
PS: Fix more Chanel-reported PowerShell issues
2025-04-09 04:21:38 -07:00
Chris Smowton
0a293cf357
Add EnumType to SimpleTypeSanitizer
2025-04-09 12:12:35 +01:00
Owen Mansel-Chan
b6053e3f91
Merge pull request #19076 from owen-mc/go/update-depstubber-files
...
Go: update files generated by depstubber
2025-04-09 11:44:20 +01:00
Napalys
4bc3e9e736
Addressed comments
...
Co-authored-by: Asgerf <asgerf@github.com >
2025-04-09 12:31:45 +02:00
Napalys Klicius
0751d73eab
Merge pull request #19256 from Napalys/js/open_package
...
JS: Model as Data `open` package
2025-04-09 11:54:44 +02:00
Asger F
da7d6d3346
JS: Change note
2025-04-09 11:28:21 +02:00
Tom Hvitved
35f9157e42
Ruby: Fix bad join in DeadStoreOfLocal.ql
2025-04-09 09:28:55 +02:00
Paolo Tranquilli
8d467c7d02
Merge pull request #19255 from github/redsun82/rust-setup
...
Rust: add test setup script
2025-04-09 08:51:58 +02:00
Aditya Sharad
2e75dbd519
Actions: Fix invocation of autobuild PowerShell script
...
Pass the quoted script path to PowerShell using `-File`.
This ensures the path is treated as a string rather
than a command, and correctly handles file paths
that contain spaces, unblocking integration tests.
Add logging to autobuild.cmd for easier debugging.
2025-04-08 20:00:25 -07:00
dilanbhalla
79909e93a2
Update sync-main.yml
2025-04-08 16:34:50 -07:00
dilanbhalla
70f9401ba2
Update sync-main.yml
2025-04-08 16:31:56 -07:00
github-actions[bot]
1e24627de3
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
...
Compatible with the latest released version of the CodeQL CLI
2025-04-08 23:27:08 +00:00
dilanbhalla
a7dcc9fa6f
Update sync-main.yml
2025-04-08 16:26:10 -07:00
dilanbhalla
3d57ea9d8c
Update sync-main.yml
2025-04-08 16:22:18 -07:00
dilanbhalla
98338fe6c8
Update sync-main.yml
2025-04-08 16:16:34 -07:00
dilanbhalla
2a8c8dbdb7
Update sync-main.yml
2025-04-08 16:12:47 -07:00
dilanbhalla
d2eadbffad
Update sync-main.yml
2025-04-08 16:07:41 -07:00
dilanbhalla
87d55921c6
Update sync-main.yml
2025-04-08 16:01:38 -07:00
dilanbhalla
9f2b3eb95e
Update sync-main.yml
2025-04-08 15:53:16 -07:00
dilanbhalla
826d43da88
Update sync-main.yml
2025-04-08 15:50:41 -07:00
dilanbhalla
544f0ca81d
Update sync-main.yml
2025-04-08 15:43:31 -07:00
dilanbhalla
7a168b0d5c
Update sync-main.yml
2025-04-08 15:37:42 -07:00
dilanbhalla
be4f1f1482
Update sync-main.yml
2025-04-08 15:34:53 -07:00
dilanbhalla
eb41d97d48
Update sync-main.yml
2025-04-08 15:28:59 -07:00
dilanbhalla
9bbffb6fd8
Update sync-main.yml
2025-04-08 15:09:55 -07:00
dilanbhalla
9a59b1c807
Update sync-main.yml
2025-04-08 14:57:47 -07:00
dilanbhalla
d92e61eeff
Update sync-main.yml
2025-04-08 14:47:57 -07:00
dilanbhalla
3a630ad276
Update sync-main.yml
2025-04-08 14:22:13 -07:00
dilanbhalla
7259356af1
Update sync-main.yml
2025-04-08 14:21:33 -07:00
dilanbhalla
71ccc9675a
Update sync-main.yml
2025-04-08 14:05:42 -07:00
dilanbhalla
bc8220f76b
Update sync-main.yml
2025-04-08 13:21:17 -07:00
dilanbhalla
d384e41953
Update sync-main.yml
2025-04-08 12:49:03 -07:00
dilanbhalla
3324c30a71
Update sync-main.yml
2025-04-08 12:48:34 -07:00
dilanbhalla
9442bf39eb
Update sync-main.yml
2025-04-08 12:47:13 -07:00
dilanbhalla
0d40476820
Update sync-main.yml
2025-04-08 12:28:52 -07:00
dilanbhalla
e2bac165fe
Update sync-main.yml
2025-04-08 11:58:41 -07:00
dilanbhalla
ed31f43cfd
Update sync-main.yml
2025-04-08 11:51:21 -07:00
dilanbhalla
d81989f345
Update sync-main.yml
2025-04-08 11:48:02 -07:00
dilanbhalla
75fb343e38
Update sync-main.yml
2025-04-08 11:41:29 -07:00
dilanbhalla
b6762463f7
Update sync-main.yml
2025-04-08 11:33:40 -07:00
dilanbhalla
dc9fdb596e
Update sync-main.yml
2025-04-08 11:29:26 -07:00
dilanbhalla
c1665fdc0f
Update sync-main.yml
2025-04-08 11:26:20 -07:00
dilanbhalla
db6d82c9b2
Update sync-main.yml
2025-04-08 11:17:22 -07:00
dilanbhalla
7e90d99c28
Update sync-main.yml
2025-04-08 11:14:08 -07:00
Aditya Sharad
c4c351c9dd
Merge pull request #19239 from adityasharad/actions/integration-test-default-filters
...
Actions: Create initial integration test for default filters
2025-04-08 23:07:58 +05:30
dilanbhalla
e098dd3d50
Merge pull request #193 from microsoft/dilan/sync-main-bugs-5
...
Sync Main: More Bugs (Failed PR Creation)
2025-04-08 10:26:50 -07:00
Aditya Sharad
21af1c6113
Merge pull request #19241 from adityasharad/actions/fix/docs-table-block-formatting
...
Docs: Fix formatting of GitHub Actions content
2025-04-08 22:07:30 +05:30
Tamás Vajk
c0f2ce77d4
Merge pull request #19254 from tamasvajk/tamasvajk/test-queries-not-in-qls
...
Java: Add test to check queries not included in well-known query suites
2025-04-08 18:20:19 +02:00
Óscar San José
6d95950081
Merge pull request #19252 from github/oscarsj/nice-servers-for-java-tests
...
Run test servers with `sudo` when running on `macos-15`
2025-04-08 18:04:25 +02:00
Paolo Tranquilli
25bd0c3b21
Rust: add test setup script
2025-04-08 17:28:57 +02:00
Tamás Vajk
d39045e3e1
Merge pull request #19245 from tamasvajk/tamasvajk/improvement-security-and-quality-suite-selector
...
Java: Add explicit filtering for quality queries that should be included in security-and-quality
2025-04-08 17:08:28 +02:00
Tamas Vajk
e163344907
Java: Add test to check queries not included in well-known query suites
2025-04-08 17:06:46 +02:00
Tamas Vajk
6abff483da
Java: Add explicit filtering for quality queries that should be included in security-and-quality
2025-04-08 16:47:41 +02:00
Tamas Vajk
259a09386e
Move query suite selector logic to security-and-quality-suite
2025-04-08 16:47:41 +02:00
Tamás Vajk
f325f53273
Merge pull request #19229 from tamasvajk/test/java-query-suite
...
Java: add integration test for query suite contents
2025-04-08 16:47:07 +02:00
Óscar San José
afe3e5332f
Update java/ql/integration-tests/java/buildless-inherit-trust-store/test.py
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2025-04-08 16:29:23 +02:00
Óscar San José
1eb4a1aa81
Update java/ql/integration-tests/java/buildless-snapshot-repository/test.py
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2025-04-08 16:29:16 +02:00
Óscar San José
3b56f95480
use only sudo for running maven test server (remove nice)
2025-04-08 16:19:33 +02:00
Paolo Tranquilli
84c728f847
Merge pull request #19244 from github/redsun82/bazel-update
...
Bazel: update to 8.1.1
2025-04-08 15:58:29 +02:00
Óscar San José
e49fb839b8
Update java/ql/integration-tests/java/buildless-inherit-trust-store/test.py
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2025-04-08 15:28:18 +02:00
Michael B. Gale
87f2ccb5a2
Merge pull request #19249 from github/mbg/go/fix-getpkginfo-decerr
...
Go: Fix `err` instead of `decErr` in `GetPkgsInfo`
2025-04-08 14:21:14 +01:00
Óscar San José
b5e1b25553
use sudo nice for running maven test server
2025-04-08 13:51:09 +02:00
Simon Friis Vindum
9dc008b9f4
Merge pull request #19214 from paldepind/rust-ti-associated
...
Rust: Associated types
2025-04-08 13:46:36 +02:00
Michael B. Gale
e210be7bb2
Go: Preserve environment variables in ApplyProxyEnvVars
2025-04-08 12:38:38 +01:00
Tom Hvitved
95add2f60b
Rust: Fix bad join in getAPrivateVisibleModule
...
Before
```
Pipeline standard for PathResolution::getAPrivateVisibleModule/1#3829a5ee@822d5hwq was evaluated in 24 iterations totaling 16ms (delta sizes total: 4843).
105047 ~63652% {2} r1 = SCAN `PathResolution::resolvePathPrivate/3#56db2cdf#reorder_1_2_0_3#prev_delta` OUTPUT In.0, In.0
69 ~0% {2} r2 = JOIN `#PathResolution::ItemNode.getImmediateParentModule/0#dispred#57c4c6d5Plus#bf#reorder_1_0#prev_delta` WITH `PathResolution::resolvePathPrivate/3#56db2cdf#reorder_1_2_0_3#prev` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
5766690 ~148309% {2} r3 = JOIN `PathResolution::resolvePathPrivate/3#56db2cdf#reorder_1_2_0_3#prev_delta` WITH `#PathResolution::ItemNode.getImmediateParentModule/0#dispred#57c4c6d5Plus#bf#reorder_1_0#prev` ON FIRST 1 OUTPUT Lhs.0, Rhs.1
5871806 ~143984% {2} r4 = r1 UNION r2 UNION r3
6859 ~148% {2} | AND NOT `PathResolution::getAPrivateVisibleModule/1#3829a5ee#prev`(FIRST 2)
return r4
```
After
```
Pipeline standard for PathResolution::getAPrivateVisibleModule/1#3829a5ee@5edefhwp was evaluated in 12 iterations totaling 0ms (delta sizes total: 3515).
339 ~1% {2} r1 = SCAN `PathResolution::isItemParent/1#d5e587d6#prev_delta` OUTPUT In.0, In.0
3130 ~0% {2} r2 = JOIN `PathResolution::isItemParent/1#d5e587d6#prev_delta` WITH `#PathResolution::ItemNode.getImmediateParentModule/0#dispred#57c4c6d5Plus#bf#reorder_1_0#prev` ON FIRST 1 OUTPUT Lhs.0, Rhs.1
46 ~0% {2} r3 = JOIN `#PathResolution::ItemNode.getImmediateParentModule/0#dispred#57c4c6d5Plus#bf#reorder_1_0#prev_delta` WITH `PathResolution::isItemParent/1#d5e587d6#prev` ON FIRST 1 OUTPUT Lhs.0, Lhs.1
3515 ~2% {2} r4 = r1 UNION r2 UNION r3
3515 ~2% {2} | AND NOT `PathResolution::getAPrivateVisibleModule/1#3829a5ee#prev`(FIRST 2)
return r4
```
2025-04-08 13:11:32 +02:00
Tom Hvitved
2e1b8b8b0e
Rust: Fix bad join in unqualifiedPathLookup
...
Before
```
Pipeline standard for PathResolution::unqualifiedPathLookup/2#6b171b76#reorder_2_0_1@822d53wq was evaluated in 61 iterations totaling 118ms (delta sizes total: 131072).
606491 ~0% {4} r1 = SCAN `PathResolution::getASuccessor/3#febac7bd#prev_delta` OUTPUT In.1, In.2, In.0, In.3
106457 ~1% {3} | JOIN WITH `PathResolution::unqualifiedPathLookup/4#e32cdfce_1230#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.1
606491 ~2% {4} r2 = SCAN `PathResolution::getASuccessor/3#febac7bd#prev_delta` OUTPUT In.0, In.2, In.3, In.1
19261 ~0% {4} r3 = JOIN r2 WITH `PathResolution::ModuleLikeNode.isRoot/0#dispred#21662e64` ON FIRST 1 OUTPUT Lhs.3, Lhs.0, Lhs.1, Lhs.2
42776643 ~1% {4} r4 = JOIN r2 WITH `doublyBoundedFastTC@PathResolution::hasChild/2#6b318d51#2@PathResolution::isRoot/1#a01ce5c3#1@PathResolution::hasCratePath/1#73ea688d#1` ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2
42795904 ~1% {4} r5 = r3 UNION r4
24921 ~6% {3} | JOIN WITH `PathResolution::RelevantPath.isCratePath/2#e595e892_120#join_rhs` ON FIRST 2 OUTPUT Lhs.3, Rhs.2, Lhs.2
131378 ~2% {3} r6 = r1 UNION r5
131072 ~2% {3} | AND NOT `PathResolution::unqualifiedPathLookup/2#6b171b76#reorder_2_0_1#prev`(FIRST 3)
return r6
```
After
```
Pipeline standard for PathResolution::unqualifiedPathLookup/2#6b171b76#reorder_2_0_1@0553a4wi was evaluated in 66 iterations totaling 10ms (delta sizes total: 131072).
610251 ~0% {4} r1 = SCAN `PathResolution::getASuccessor/3#febac7bd#prev_delta` OUTPUT In.1, In.2, In.0, In.3
131378 ~0% {3} | JOIN WITH `PathResolution::unqualifiedPathLookup1/4#781de0cd_1230#join_rhs` ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Lhs.1
131072 ~0% {3} | AND NOT `PathResolution::unqualifiedPathLookup/2#6b171b76#reorder_2_0_1#prev`(FIRST 3)
return r1
```
2025-04-08 13:10:52 +02:00
Michael B. Gale
7798b716ff
Go: Fix err instead of decErr in GetPkgsInfo
2025-04-08 12:04:48 +01:00
Michael B. Gale
0f78e11376
Go: Detect and apply proxy settings (WIP)
2025-04-08 12:02:15 +01:00
Óscar San José
a7943d88b1
Merge pull request #19234 from github/oscarsj/csharp-disable-nuget-tests
...
Disable csharp tests that use nuget on macos-15
2025-04-08 12:38:28 +02:00
Michael B. Gale
ded27bcee4
Go: Replace exec.Command("go" with toolchain.GoCommand(
2025-04-08 11:19:42 +01:00
Geoffrey White
866fc6b320
Merge pull request #19235 from geoffw0/ssaconsistency
...
Rust: SSA inconsistency counts
2025-04-08 10:49:19 +01:00
Tom Hvitved
7459548118
Rust: Cache tweaks
2025-04-08 11:49:16 +02:00
Owen Mansel-Chan
8c878cd8f5
Merge pull request #19243 from github/dependabot/go_modules/go/extractor/extractor-dependencies-891a2402ea
...
Bump golang.org/x/tools from 0.31.0 to 0.32.0 in /go/extractor in the extractor-dependencies group
2025-04-08 10:30:29 +01:00
Owen Mansel-Chan
5f6c59580c
Merge pull request #19240 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-04-08 10:28:22 +01:00
Geoffrey White
10ad5780b5
Rust: Try a different toolchain version to fix the test in CI?
2025-04-08 10:21:40 +01:00
Geoffrey White
e2f63db96d
Merge branch 'main' into badalloc
2025-04-08 10:15:38 +01:00
Geoffrey White
fd3dcb2d00
Rust: More precise imports.
2025-04-08 09:30:14 +01:00
Paolo Tranquilli
15606dd894
Bazel: update to 8.1.1
2025-04-08 08:20:54 +02:00
Napalys
4a4d78bbde
Added change note
2025-04-08 08:12:42 +02:00
Napalys
b8802a29f4
Added open package model as data.
2025-04-08 08:12:30 +02:00
Napalys
df89739085
Added test cases for open package.
2025-04-08 08:10:10 +02:00
dependabot[bot]
2f9be926fb
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.31.0 to 0.32.0
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](https://github.com/golang/tools/compare/v0.31.0...v0.32.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/tools
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 >
2025-04-08 03:42:17 +00:00
Aditya Sharad
cf4989e1f8
Docs: Place GitHub Actions link lower in sidebar
...
Order by the human-readable language name
that is rendered,
i.e. 'GitHub Actions', not 'actions'.
2025-04-07 17:37:24 -07:00
Aditya Sharad
98b6e5ce2f
Docs: Fix formatting of GitHub Actions content
...
Discovered in internal review of docs preview.
Use double backticks to render inline code blocks.
Use __ after inline hyperlinks.
Use an extra blank line to format the Actions library predicates table correctly.
Fix some rogue references to Ruby and case inconsistency.
2025-04-07 17:33:43 -07:00
github-actions[bot]
5adf135134
Add changed framework coverage reports
2025-04-08 00:22:09 +00:00
Aditya Sharad
0bb4ab950f
Actions: Add integration test for default filter behaviour
...
Include a reachable workflow, and several unreachable workflow files.
Include action metadata files at various depths, all reachable.
This test exercises the default filters when the user doesn't
specify paths/paths-ignore.
2025-04-07 17:14:53 -07:00
Aditya Sharad
37db35431b
Actions: Ensure autobuild invocations work when the CLI path contains spaces
...
Quote the paths to the CodeQL CLI dist or autobuild scripts when invoked.
This unblocks integration testing, since our integration tests always use
a CLI with a space in its directory name.
2025-04-07 17:06:28 -07:00
Geoffrey White
88439b42e6
Merge pull request #19095 from geoffw0/blockon
...
Rust: Model futures::executor::block_on.
2025-04-07 17:41:49 +01:00
Óscar San José
5e74bdc8dd
Disable csharp test failing on macos-15
2025-04-07 18:16:33 +02:00
Napalys
873db7c121
Added change note
2025-04-07 18:15:24 +02:00
Napalys
b97c61864e
Add flow summaries and entry points for TextDecoder
2025-04-07 18:15:19 +02:00
Napalys
f28478e876
Add test cases from TypedArrays to strings.
2025-04-07 18:13:52 +02:00
Napalys
f4277204b7
Add flow summaries and entry points for ArrayBuffer and SharedArrayBuffer
2025-04-07 18:12:35 +02:00
Napalys
0e099474c5
Added test cases for ArrayBuffer and SharedArrayBuffer
2025-04-07 18:07:54 +02:00
Napalys
ff07ec8d8c
Add flow summaries for TypedArray methods set and subarray
2025-04-07 18:06:40 +02:00
Geoffrey White
ee54ba4c48
Rust: Autoformat.
2025-04-07 17:06:15 +01:00
Chuan-kai Lin
7c63264951
Merge pull request #19208 from github/cklin/exclude-from-incremental
...
Java: add exclude-from-incremental tag to telemetry queries
2025-04-07 08:29:30 -07:00
Paolo Tranquilli
de0d374cce
Rust: add upgrades property in qlpack.yml
2025-04-07 17:22:17 +02:00
Geoffrey White
9c1567375d
Shared: Implement getInconsistencyCounts for SSA.
2025-04-07 16:20:42 +01:00
Simon Friis Vindum
48e5b0a731
Merge branch 'main' into rust-ti-associated
2025-04-07 17:07:05 +02:00
Simon Friis Vindum
602e617bc6
Rust: Add type inference test for trait with multiple associated types
2025-04-07 17:02:51 +02:00
Simon Friis Vindum
8e76bb1a43
Rust: Minor changes based on PR review
2025-04-07 16:46:54 +02:00
Óscar San José
3744ef7379
Disable csharp tests that use nuget on macos-15
2025-04-07 16:24:48 +02:00
Paolo Tranquilli
1f9455c434
Rust: add upgrade/downgrade scripts for struct_field_is_unsafe
2025-04-07 15:39:14 +02:00
Geoffrey White
41f54d836e
Rust: Tweak query description.
2025-04-07 14:33:31 +01:00
Geoffrey White
dad85854cd
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-04-07 14:27:12 +01:00
Paolo Tranquilli
260322b669
Rust: fix compilation errors
2025-04-07 15:25:19 +02:00
Tom Hvitved
13f4a6afa6
Rust: Handle path attributes in path resolution
2025-04-07 15:24:17 +02:00
Tom Hvitved
edb7aaabab
Rust: Add path attribute test
2025-04-07 15:23:27 +02:00
Napalys
d689a55229
Added test cases for TypedArray methods
2025-04-07 15:15:29 +02:00
Napalys
e23ff9cf3e
Add TypedArrays flow summaries for Uint8Array and buffer property
2025-04-07 15:15:24 +02:00
Owen Mansel-Chan
d8ca8dd954
Merge pull request #19203 from owen-mc/review/egregius313/17905
...
Go: Add database source models for `uptrace/bun` and `gogf/gf/database/gdb`
2025-04-07 13:56:00 +01:00
Tamás Vajk
ffcf6d6e58
Apply suggestions from code review
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-04-07 14:52:57 +02:00
Paolo Tranquilli
132632b2a1
Cargo: update rustc_apfloat patched revision
2025-04-07 14:45:55 +02:00
Paolo Tranquilli
afb97d2797
Rust: regenerate schema
2025-04-07 14:34:33 +02:00
Paolo Tranquilli
db9c908d1d
Cargo: upgrade dependencies
2025-04-07 14:30:00 +02:00
yoff
bf7d3d12a9
Merge pull request #19230 from yoff/ruby/add-DeadStoreOfLocal-to-code-quality-suite
...
ruby: add `rb/useless-assignment-to-local` to the code-quality suite
2025-04-07 14:25:20 +02:00
Simon Friis Vindum
74583e4fbf
Merge pull request #19227 from paldepind/rust-pr-self
...
Rust: Resolve `Self` path in trait type of implementation
2025-04-07 14:21:02 +02:00
yoff
ba225013e7
ruby: add rb/useless-assignment-to-local to the code-quality suite
2025-04-07 14:08:53 +02:00
yoff
76c0b1698f
Merge pull request #19164 from yoff/ruby/refine-deadstore
...
ruby: remove some FPs from `rb/useless-assignment-to-local`
2025-04-07 14:08:12 +02:00
yoff
6a8484f843
ruby: adjust precision of rb/useless-assignment-to-local to medium
2025-04-07 13:28:05 +02:00
yoff
eb8cbfa287
ruby: add change note
2025-04-07 13:28:05 +02:00
yoff
385598d46d
ruby: remove some FPs from rb/useless-assignment-to-local
2025-04-07 13:28:05 +02:00
yoff
b205fedef4
ruby: add tests
2025-04-07 13:27:27 +02:00
yoff
e5fc1b0b00
ruby: add qhelp to rb/useless-assignment-to-local
2025-04-07 13:27:27 +02:00
Tom Hvitved
ca5cc8e405
Merge pull request #19220 from hvitved/rust/path-resolution-crate-fix
...
Rust: Minor path resolution fix for `($)crate` paths
2025-04-07 13:24:12 +02:00
Geoffrey White
2c2506c4f8
Rust: Add Rust SSA inconsistency infrastructure.
2025-04-07 12:16:45 +01:00
Simon Friis Vindum
3441af136c
Merge pull request #19146 from paldepind/rust-ti-alias
...
Rust: Implement support for inference of type aliases
2025-04-07 13:03:30 +02:00
Simon Friis Vindum
5dba2412b5
Rust: Fix annotation in comment
2025-04-07 12:53:13 +02:00
Florin Coada
5cde4ddccf
Merge pull request #19219 from github/changedocs/2.21.0
...
Add changelog entries for CodeQL CLI versions 2.20.7 and 2.21.0
2025-04-07 11:53:05 +01:00
Simon Friis Vindum
acc565f84e
Rust: Refactor PathMention as suggested in review
2025-04-07 12:50:31 +02:00
Tamas Vajk
d17d44125c
Java: add integration test for query suite contents
2025-04-07 12:49:16 +02:00
Napalys
93882263f9
Added test case for Uint8Array and TypedArray.prototype.buffer
2025-04-07 12:46:19 +02:00
Napalys
c4fa417680
Added change note
2025-04-07 12:11:33 +02:00
yoff
a885e61875
Merge pull request #19206 from hvitved/ruby/super-implicit-args-synth
...
Ruby: Synthesize implicit super arguments
2025-04-07 11:57:12 +02:00
Simon Friis Vindum
6cecf7e618
Rust: Resolve Self path in trait type of implementation
2025-04-07 11:55:03 +02:00
Simon Friis Vindum
5c2d6e3d0f
Rust: Add path resolution test for Self in trait implementation
2025-04-07 11:45:43 +02:00
Napalys
6fb5376c5f
Refactor ReceivedItemAsRemoteFlow to handle data from both client and server WebSocket sources
2025-04-07 11:44:40 +02:00
Geoffrey White
893e42315e
Merge branch 'main' into badalloc
2025-04-07 09:33:23 +01:00
Geoffrey White
f292d04d7a
Merge branch 'main' into blockon
2025-04-07 09:03:55 +01:00
Geoffrey White
810228273b
Merge pull request #19222 from geoffw0/sinkstats
...
Rust: Define queries more consistently and include all sinks in stats
2025-04-07 08:57:40 +01:00
Tom Hvitved
f992c714fd
Ruby: Add change note
2025-04-07 09:24:26 +02:00
dilanbhalla
ae5709d894
Update sync-main.yml
2025-04-04 18:55:57 -07:00
dilanbhalla
41406d1b16
Merge pull request #192 from microsoft/dilan/sync-main-bugs-4
...
Sync Main: More Misc Bugs (token related bugs)
2025-04-04 15:58:20 -07:00
dilanbhalla
3c92f6b74d
Update sync-main.yml
2025-04-04 15:41:21 -07:00
dilanbhalla
fb938abfd9
Merge pull request #191 from microsoft/dilan/sync-main-bugs-3
...
Sync Main: More Misc Token Bugs
2025-04-04 15:34:45 -07:00
dilanbhalla
e0a6a4edc6
Update sync-main.yml
2025-04-04 15:03:01 -07:00
dilanbhalla
52ceda1e40
Merge pull request #190 from microsoft/dilan/sync-main-bugs-2
...
Sync Main Various Bugs (permissions/tokens, git debugging, etc.)
2025-04-04 14:58:43 -07:00
dilanbhalla
856826019d
Merge branch 'main' into dilan/sync-main-bugs-2
2025-04-04 14:55:31 -07:00
dilanbhalla
cda36a8550
Update sync-main.yml
2025-04-04 14:53:52 -07:00
dilanbhalla
13e53055a5
Merge pull request #189 from microsoft/dilan/sync-main-bugs-1
...
Sync Main Misc Git Bugs
2025-04-04 14:40:02 -07:00
Geoffrey White
471f02cf3b
Merge branch 'main' into sinkstats
2025-04-04 22:28:30 +01:00
dilanbhalla
157c57a3d4
Update sync-main.yml
2025-04-04 14:22:39 -07:00
dilanbhalla
452f56fa7f
Merge pull request #188 from microsoft/dilan/sync-main-trigger
...
Adding push trigger to sync-main
2025-04-04 14:13:23 -07:00
dilanbhalla
3c4592591b
Update sync-main.yml
2025-04-04 14:11:00 -07:00
dilanbhalla
6cbc80a69b
Merge pull request #187 from microsoft/dilan/sync-main-createpr
...
Policy update: Sync-Main Create PR (instead of direct push)
2025-04-04 14:08:35 -07:00
dilanbhalla
2af55138da
Update sync-main.yml
2025-04-04 14:00:05 -07:00
dilanbhalla
e0b8e20f9b
Update sync-main.yml
2025-04-04 13:57:18 -07:00
Geoffrey White
6ad7a950da
Merge branch 'main' into badalloc
2025-04-04 21:57:04 +01:00
dilanbhalla
6da7e4cb84
Update sync-main.yml
2025-04-04 13:53:14 -07:00
Geoffrey White
c9939387f8
Rust: Turn on PrettyPrintModels for RegexInjection so we hopefully don't have to deal with test result changes there as often.
2025-04-04 21:47:22 +01:00
Geoffrey White
a5883b1627
Rust: Accept test changes (due to added models?).
2025-04-04 21:45:37 +01:00
Geoffrey White
bc92a99fae
Merge pull request #19080 from geoffw0/deallocation
...
Rust: Query for dereferencing an invalid pointer
2025-04-04 21:25:40 +01:00
REDMOND\brodes
a2fe19af38
Initial progress on key agreement.
2025-04-04 16:00:05 -04:00
Geoffrey White
d7c14ec065
Rust: Revert change to Cargo.lock.
2025-04-04 20:47:16 +01: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
Geoffrey White
ff78c45e50
Rust: Abstractions then implementations.
2025-04-04 18:33:27 +01:00
Geoffrey White
47ee6c6b81
Rust: Give regex injection extendable sources as well.
2025-04-04 18:27:16 +01:00
Geoffrey White
0db551032c
Rust: Make imports consistent and correct.
2025-04-04 18:23:53 +01:00
Geoffrey White
784ccb740b
Rust: Define Rust queries and extensions more consistently.
2025-04-04 18:17:16 +01:00
Geoffrey White
1acbdbaaa2
Rust: Make all query sinks extend QuerySink::Range and import them into Stats.qll (this ensures that sink statistics are complete).
2025-04-04 18:02:59 +01:00
Geoffrey White
c783549b5c
Merge branch 'main' into blockon
2025-04-04 17:35:00 +01:00
Chanel Young
6db354e82d
Merge branch 'main' of https://github.com/microsoft/codeql into powershell-injectionhunter-port
2025-04-04 09:20:29 -07:00
Geoffrey White
8e7e162ebc
Merge branch 'main' into badalloc
2025-04-04 17:09:50 +01:00
Chanel Young
38f0f07d57
modeled some user input, sanitizers
2025-04-04 09:03:39 -07:00
Chanel
a2d4296329
Merge branch 'main' into powershell-automatic-variables-as-member-edges
2025-04-04 09:03:09 -07:00
Geoffrey White
49c2f97cc8
Merge pull request #19180 from geoffw0/lessnoise
...
Rust: Reduce CI noise from the SummaryStats query
2025-04-04 16:51:30 +01:00
Mathias Vorreiter Pedersen
8a58af8f84
PS: Add a model for 'EscapeSingleQuotedStringContent' and add a test.
2025-04-04 15:48:19 +01:00
Mathias Vorreiter Pedersen
65abf48ad6
PS: Add missing taint-flow and dataflow dispatch from models.
2025-04-04 15:40:35 +01:00
Mathias Vorreiter Pedersen
f482c9dba7
PS: Make the implementation of 'getExtraNodeFromType' more complete. This is still not good enough, but it's enough to get the flow we need for now.
2025-04-04 15:39:56 +01:00
Tom Hvitved
006cb024de
Merge pull request #19217 from hvitved/rust/macro-expansion-inherit-location
...
Rust: Use macro call location as fall back in macro expansions
2025-04-04 16:25:45 +02:00
Geoffrey White
d47e925e85
Rust: Delete empty .expected files.
2025-04-04 14:43:24 +01: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
Geoffrey White
65974544a3
Merge remote-tracking branch 'upstream/main' into lessnoise
2025-04-04 13:58:29 +01:00
Geoffrey White
64ee6c5c02
Merge branch 'main' into lessnoise
2025-04-04 13:51:31 +01:00
Geoffrey White
e9971ffb94
Rust: Change the ID of the new query.
2025-04-04 13:50:28 +01:00
Tom Hvitved
8b6c8d7174
Rust: Minor path resolution fix for ($)crate paths
2025-04-04 14:44:39 +02:00
Geoffrey White
dc31da82d0
Rust: Fix file name typo.
2025-04-04 13:42:29 +01:00
Joe Farebrother
e08072d77b
Fix qhelp formatting
2025-04-04 12:51:46 +01:00
Joe Farebrother
de7e611962
Rewrite documentation
2025-04-04 12:36:13 +01:00
Mathias Vorreiter Pedersen
03f356188b
PS: Accept test changes.
2025-04-04 12:33:15 +01:00
Mathias Vorreiter Pedersen
cdd68b3951
PS: Improve the location of synthesized variables.
2025-04-04 12:33:13 +01:00
Mathias Vorreiter Pedersen
ebc732756f
PS: Get rid of the pipelineVARIABLE and only have pipelinePARAMETER (and similarly for the by-propertyname versions).
2025-04-04 12:33:12 +01:00
Mathias Vorreiter Pedersen
16348b5484
PS: Consistently use the pipeline parameter as the parameter when it supplied in the program.
2025-04-04 12:33:11 +01:00
Geoffrey White
24a4aad120
Rust: Accept consistency check fixes following merge with main.
2025-04-04 12:11:25 +01:00
Geoffrey White
8b23945417
Merge branch 'main' into deallocation
2025-04-04 12:06:50 +01:00
Tom Hvitved
6f704f088e
Merge pull request #19157 from hvitved/rust/path-resolution-prelude
...
Rust: Take prelude into account when resolving paths
2025-04-04 13:06:31 +02:00
Michael Nebel
8f0b9853f8
Merge pull request #19061 from michaelnebel/csharp/useless-assignment-to-local
...
C#: Add `cs/useless-assignment-to-local` to the code quality suite.
2025-04-04 13:00:36 +02:00
Joe Farebrother
b5805503fe
Cleanups
2025-04-04 11:56:07 +01:00
Tom Hvitved
ffca52e5c0
Merge pull request #19195 from hvitved/rust/post-with-flow-in-exclude
...
Rust: Add another disjunct to `postWithInFlowExclude`
2025-04-04 12:41:30 +02:00
Tom Hvitved
8e9e772ac8
Merge pull request #19121 from hvitved/ruby/pre-update-unique
...
Ruby: Make `getPreUpdateNode` Unique Again
2025-04-04 12:40:44 +02:00
Napalys
6bcfd8c91d
Updated getAServer with API graphs.
2025-04-04 12:31:29 +02:00
Napalys
c5860e92ec
Updated WebSocketReceiveNode to match bind functions.
2025-04-04 12:28:53 +02:00
Napalys
4b7a9cd399
Added test case with bind.
2025-04-04 12:26:58 +02:00
Napalys
49194b0340
Updated WebSocketReceiveNode with API graphs.
2025-04-04 12:26:52 +02:00
Michael Nebel
70a174ad5a
C#: Address review comments.
2025-04-04 11:47:46 +02:00
Tom Hvitved
b115f3f5e9
Update rust/ql/lib/codeql/rust/internal/PathResolution.qll
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-04-04 11:39:06 +02:00
Tom Hvitved
5731fa91f3
Rust: Use macro call location as fall back in macro expansions
2025-04-04 11:38:10 +02:00
Joe Farebrother
9fb1c31206
Update tests to inline expectations
2025-04-04 10:13:39 +01:00
Geoffrey White
44b26e5ae6
Rust: Change the test copy of the example as well.
2025-04-04 09:54:41 +01:00
Geoffrey White
f96b00a62a
Update rust/ql/src/queries/security/CWE-770/UncontrolledAllocationSizeGood.rs
...
Co-authored-by: Simon Friis Vindum <paldepind@github.com >
2025-04-04 09:53:13 +01:00
Joe Farebrother
adfe89fadc
Update test output
2025-04-04 09:47:21 +01:00
Simon Friis Vindum
77e1b231a6
Rust: Handle associated types in trait methods
2025-04-04 10:24:55 +02:00
Simon Friis Vindum
f9ff92a705
Rust: Expand on type inference tests for associated types
2025-04-04 10:16:09 +02:00
Michael Nebel
dd1fbd28be
C#: Add string interpolation examples to cs/useless-assignment-to-local.
2025-04-04 10:08:41 +02:00
Michael Nebel
2b88600f0f
C#: Re-factor cs/useless-assignment-to-local tests to use inline test framework.
2025-04-04 10:08:39 +02:00
Michael Nebel
49ecff3292
C#: Add cs/useless-assignment-to-local to the CCR suite.
2025-04-04 10:08:38 +02:00
Michael Nebel
5a4e0cea55
Merge pull request #19199 from michaelnebel/csharp/synctestfiles
...
C#: Accept file sync mismatch for C# testfiles.
2025-04-04 10:07:05 +02:00
Tom Hvitved
15bfeab652
Ruby: Make getPreUpdateNode Unique Again
2025-04-04 09:43:55 +02:00
Anders Schack-Mulligen
ea8cd6f758
Merge pull request #19160 from aschackmull/ssa/deprecate-definitionext
...
Ssa: Deprecate the public DefinitionExt and PhiReadNode
2025-04-04 09:23:08 +02:00
Napalys
0dbf951291
Updated ClientSocket and SendNode with API graphs.
2025-04-04 09:14:54 +02:00
Napalys
455ce59583
Added test cases with export of an instance.
2025-04-04 08:59:19 +02:00
Napalys
e16a20e69f
Updated SocketClass to use API Graphs.
2025-04-04 08:47:27 +02:00
Napalys
c7fad09664
Added test cases with custom exports/imports.
2025-04-04 08:33:26 +02:00
Napalys
a572ac60d2
Added inline test expectations for WebSocket
2025-04-04 08:22:48 +02:00
Josh Brown
c5c3236f99
Merge branch 'main' into hashcons-for-csharp
2025-04-04 07:30:49 +11:00
Jami Cogswell
fc21abc7e4
Java: update qhelp implementation notes to say 'method declarations'
2025-04-03 16:05:23 -04:00
Mathias Vorreiter Pedersen
22bdcf0af2
PS: Force lower casing on method edges.
2025-04-03 20:33:04 +01:00
Mathias Vorreiter Pedersen
4df449d4b0
PS: Add an edge from the root node to automatic variables, and from a member read qualifier to a read.
2025-04-03 20:30:52 +01:00
Mathias Vorreiter Pedersen
4b14e5e7ec
PS: Lift automatic variables to the cfg and dataflow layers.
2025-04-03 20:30:15 +01:00
Mathias Vorreiter Pedersen
50c57c2cb2
PS: Drive-by: Assign a location to top-level functions.
2025-04-03 20:29:44 +01:00
dilanbhalla
6873ebae16
Merge pull request #185 from microsoft/fix-ssa-for-powershell-2
...
PS: Fixup SSA after GitHub's 2.21.0 changes
2025-04-03 12:05:43 -07:00
Josh Brown
e261510528
Merge branch 'main' into hashcons-for-csharp
2025-04-04 05:52:23 +11:00
Mathias Vorreiter Pedersen
2f215c1e0f
PS: Accept test changes.
2025-04-03 19:48:13 +01:00
Mathias Vorreiter Pedersen
403c182dc9
PS: Fixup SSA after GitHub's recent changes.
2025-04-03 19:48:06 +01:00
Chanel Young
22ff3a3e01
Merge branch 'main' of https://github.com/microsoft/codeql into powershell-injectionhunter-port
2025-04-03 11:24:31 -07:00
Chanel Young
656b734391
initial query
2025-04-03 11:23:49 -07:00
Chanel
7c59a748a8
Merge pull request #184 from microsoft/fix-parameter-by-name-flow-3
...
PS: Fix the last remaining missing flows after AST prettification
2025-04-03 11:20:23 -07:00
Mathias Vorreiter Pedersen
38536a9e38
PS: Accept test changes.
2025-04-03 18:46:12 +01:00
Mathias Vorreiter Pedersen
5151eb3b64
PS: Add dataflow for pipeline-by-property-name variables.
2025-04-03 18:46:11 +01:00
Mathias Vorreiter Pedersen
86ec291145
PS: Improve toString on phi nodes.
2025-04-03 18:46:10 +01:00
Mathias Vorreiter Pedersen
3acbd83297
PS: Drive-by fix: The variable access in a foreach loop implicitly writes to the variable.
2025-04-03 18:46:09 +01:00
Mathias Vorreiter Pedersen
4d04b11468
PS: Add some implicit reads at process blocks, and fix CFG for process blocks so that these reads appear in the CFG.
2025-04-03 18:46:08 +01:00
Mathias Vorreiter Pedersen
cd8e5e6d8d
PS: Subclass AnyElement into positional or key-ional.
2025-04-03 18:46:06 +01:00
Mathias Vorreiter Pedersen
70ca6868aa
C#: Make a few more modules private.
2025-04-03 18:18:46 +01:00
Mathias Vorreiter Pedersen
61259735fd
C#: Add a hash-cons library for C#.
2025-04-03 18:13:01 +01:00
Anders Schack-Mulligen
ce19972aef
SSA: Reinstate consistency check.
2025-04-03 16:16:20 +02:00
Tom Hvitved
f4e9382622
Rust: Take prelude into account when resolving paths
2025-04-03 16:07:26 +02:00
Tom Hvitved
4b3816e14e
Rust: Variants inherit visibility from their parent enum
2025-04-03 16:05:12 +02:00
Tom Hvitved
f09c3c5813
Rust: Handle self enum/struct uses
2025-04-03 16:05:11 +02:00
Tom Hvitved
3bfb4fbd8d
Rust: More path resolution tests
2025-04-03 16:05:09 +02:00
Asger F
68f6f9f2e8
Merge pull request #19211 from asgerf/js/pp-unit-tests
...
Support post-procesed inline expectations for query predicates in unit tests
2025-04-03 16:00:18 +02:00
Simon Friis Vindum
a1d36c0501
Rust: Implement support for inference of type aliases
2025-04-03 15:18:15 +02:00
Simon Friis Vindum
e7027f0979
Rust: Add type inference tests for type aliases
2025-04-03 15:13:19 +02:00
Simon Friis Vindum
04d37c3f46
Merge pull request #19198 from paldepind/rust-ti-inline-expectations
...
Rust: Add inline expectations test for type inference
2025-04-03 14:55:12 +02:00
Simon Friis Vindum
e6c7ad8ee0
Rust: Add comment as suggested in review
2025-04-03 14:34:23 +02:00
Simon Friis Vindum
a53f664e85
Rust: Fix bad join
2025-04-03 14:33:02 +02:00
Anders Schack-Mulligen
5f290ebfca
Merge pull request #19156 from aschackmull/misc/stageoverlap
...
Misc: Add stage overlap script
2025-04-03 13:40:24 +02:00
Asger F
14c5495b4c
JS: Use in SensitiveActions test as an example
2025-04-03 13:24:18 +02:00
Asger F
c49ffa01ee
JS: Enable post-processed inline expectations for query predicates
2025-04-03 13:24:17 +02:00
Simon Friis Vindum
d5d61dd8b3
Rust: Add inline expectations test for type inference
2025-04-03 12:49:34 +02:00
Simon Friis Vindum
b0c40111e7
Rust: Tweaks to stringification
2025-04-03 12:45:08 +02:00
Owen Mansel-Chan
1ed8fbd811
Delete commented out code
2025-04-03 11:19:14 +01:00
Asger F
6c33013788
JS: Enable association with headers without needing a route handler
...
Previously it was not possible to associate a ResponseSendArgument with its header definitions if they did not have the same route handler.
But for calls like `new Response(body, { headers })` the headers are fairly obvious whereas the route handler is unnecessarily hard to find. So we use the direct and obvious association between 'body' and 'headers' in the call.
2025-04-03 11:08:10 +02:00
Asger F
db2720ea5b
JS: Initial model of Response
2025-04-03 11:08:05 +02:00
Napalys
0e7bff0f81
Added change note.
2025-04-03 10:45:17 +02:00
Napalys
04a39eb735
Removed old mkdirp modeling and replaced it with MaD.
2025-04-03 10:45:16 +02:00
Napalys
3fa24d6026
Add sink model for mkdirp and update tests for path injection alerts.
2025-04-03 10:45:14 +02:00
Napalys
533f1a93e2
JS: Added test cases for mkdirp.
2025-04-03 10:45:12 +02:00
Michael Nebel
79688efacb
Merge pull request #19194 from michaelnebel/csharp/enumsimpletype
...
C#: Extend simple type sanitizers with enums and `System.DateTimeOffset`.
2025-04-03 10:24:26 +02:00
Tamás Vajk
befc2fd7c1
Merge pull request #19145 from tamasvajk/tamasvajk/blazor/parameter-passing-jumpnode-2
...
C#: Blazor: Support string literals as property names in jump nodes
2025-04-03 10:07:59 +02:00
Anders Schack-Mulligen
6ac4cb71cb
SSA: Add change note.
2025-04-03 09:57:48 +02:00
Napalys Klicius
5c42c0ba4c
Merge pull request #19196 from Napalys/js/rimraf
...
JS: Modeling of `rimraf` functions
2025-04-03 09:51:52 +02:00
Anders Schack-Mulligen
34554fd000
SSA: Deprecate the public DefinitionExt.
2025-04-03 09:47:50 +02:00
Anders Schack-Mulligen
e04075b0ec
Merge pull request #19177 from aschackmull/swift/ssa-useuse
...
Swift: Update SSA to reference the new use-use predicates.
2025-04-03 09:46:47 +02:00
Asger F
bb15f30ef6
Merge pull request #19192 from asgerf/js/name-resolution-independent-fixes
...
JS: Some preliminary fixes from name resolution branch
2025-04-03 09:36:02 +02:00
Tom Hvitved
65a11984bd
Ruby: Synthesize implicit super arguments
2025-04-03 09:13:06 +02:00
Tom Hvitved
c10b5801b1
Ruby: Add argument-less super call tests
2025-04-03 09:12:23 +02:00
Simon Friis Vindum
52660fa57d
Merge pull request #19149 from paldepind/rust-ti-self-param
...
Rust: Make trait a base type mention of the self type parameter
2025-04-03 08:44:09 +02: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
Aditya Sharad
927b26b869
Merge pull request #19190 from adityasharad/actions/initial-docs
...
Docs: Add GitHub Actions as a supported language
2025-04-03 04:39:23 +05:30
Jami Cogswell
6ade97892f
Java: update maintainability tag to reliability instead
2025-04-02 19:06:02 -04:00
Aditya Sharad
4d6afe7d29
Docs: Address comments on Actions docs
2025-04-02 16:00:55 -07:00
Aditya Sharad
8f6dc1cdfc
Docs: Fix more short underlines
2025-04-02 15:56:42 -07:00
Aditya Sharad
67dd301a37
Docs: Add language guide structure for Actions
2025-04-02 15:25:27 -07:00
Jonas Jensen
118abd40c9
Java: add exclude-from-incremental tag to telemetry queries
...
In the future, this tag should signal to the action that the queries
should be excluded from incremental scans because they are too slow
and/or produce too many results.
The three queries tagged here rely on global data-flow analysis to find
all XSS sinks. All other metric and diagnostic queries are fast enough
for incrementality.
2025-04-02 14:19:45 -07:00
Nicolas Will
62fa136506
Merge pull request #19201 from nicolaswill/patch-1
...
Add @ps-codeql to CODEOWNERS for experimental cryptography
2025-04-02 22:15:03 +02:00
Aditya Sharad
d31896bf52
Merge pull request #19166 from yoff/actions/add-actions-permissions-MaD-model
...
actions: add MaD model for permissions needed by actions
2025-04-03 01:24:04 +05:30
Aditya Sharad
4207322719
Docs: Make Actions underlines the right length
...
Fixes warnings in Sphinx build.
2025-04-02 11:39:01 -07:00
Jon Janego
d5130127b1
Merge pull request #19189 from github/jonjanego/useless-expression-tags
...
Update tags for js/useless-expression
2025-04-02 13:24:56 -05: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
Tom Hvitved
a01b211f79
Merge pull request #19185 from hvitved/rust/ssa-capture-psudeo-read-dominate
...
Rust: Fix `capturedCallRead`
2025-04-02 19:16:55 +02:00
Jon Janego
e0d9dad9c2
Merge branch 'main' into jonjanego/useless-expression-tags
2025-04-02 10:51:52 -05:00
Jon Janego
d8ef4fc25d
Update javascript/ql/src/Expressions/ExprHasNoEffect.ql
...
Co-authored-by: Napalys Klicius <napalys@github.com >
2025-04-02 10:22:27 -05:00
Idriss Riouak
145c141e63
Merge pull request #19202 from github/idrissrio/trailing-return
...
C++: update expected test results after extractor changes
2025-04-02 17:01:14 +02:00
Óscar San José
f4515515fe
Merge pull request #19204 from github/oscarsj/migrate-builders-macos-15
...
Run pytest server with `sudo` and higher `nice` value
2025-04-02 16:59:11 +02:00
Chris Smowton
e865d07a70
Merge pull request #19187 from smowton/smowton/feature/jakarta-persistence
...
Java: generalise `javax.persistence` models to also recognise `jakarta.persistence`.
2025-04-02 15:56:29 +01:00
Óscar San José
18c901bee4
Merge branch 'main' into oscarsj/migrate-builders-macos-15
2025-04-02 16:11:58 +02:00
Michael Nebel
16142a287a
C#: Add NoDisposeCallOnLocalIDisposableBad file and update test expected output.
2025-04-02 15:43:52 +02:00
Simon Friis Vindum
001735bfb8
Rust: Take internal IDs of a smaller class
2025-04-02 15:39:58 +02:00
Michael Nebel
2193bece90
C#: Update test expected output.
2025-04-02 15:30:48 +02:00
idrissrio
14a84c3209
C++: update expected test results after extractor changes
2025-04-02 15:20:06 +02:00
Owen Mansel-Chan
ecd09edf64
Add stubs for gogf/gf and uptrace/bun
2025-04-02 14:17:40 +01:00
Owen Mansel-Chan
1687042c3b
Add Bun models and tests
2025-04-02 14:17:39 +01:00
Owen Mansel-Chan
ddb7da4c13
Add gogf models and tests
2025-04-02 14:17:37 +01:00
Ed Minnix
9cf4117120
Add tests for gogf/gf/database/gdb
2025-04-02 14:17:35 +01:00
Ed Minnix
db65a6ff85
[gogf] Model github.com/gogf/gf/database/gdb
...
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com >
2025-04-02 14:17:34 +01:00
Ed Minnix
c54f0d82e2
[bun] Model github.com/uptrace/bun
2025-04-02 14:17:32 +01:00
Owen Mansel-Chan
89e853b4be
Don't use non-existent dependency
...
This makes some go tooling, like `go mod tidy`, not work.
2025-04-02 14:17:31 +01:00
Owen Mansel-Chan
88b061e27e
Add change note
2025-04-02 14:17:30 +01:00
Michael Nebel
93d0f364d6
C#: Add ConstantConditionBad file.
2025-04-02 15:00:05 +02:00
Nicolas Will
10564fac4d
Add @ps-codeql to CODEOWNERS for experimental cryptography
...
This pull request adds @github/ps-codeql as a code owner of `**/experimental/quantum/` to support the development of post-quantum cryptography-related libraries and queries.
We’ll be committing stable but experimental work to these directories as it becomes ready for public use, with a near-term goal of moving it out of experimental.
To get started, we’d also need write access to `github/codeql`.
cc @adityasharad @lcartey
2025-04-02 14:20:24 +02:00
Asger F
6c3bc941c5
Merge branch 'main' into js/name-resolution-independent-fixes
2025-04-02 14:15:44 +02:00
Asger F
2c40359143
JS: Change note
2025-04-02 14:12:07 +02:00
Asger F
30a9cd7c8a
JS: Include document as a DOM value
2025-04-02 14:09:52 +02:00
Michael Nebel
6820cbabc8
C#: Accept file sync mismatch for C# testfiles if they are identical modulo comments.
2025-04-02 14:01:00 +02:00
Asger F
9ebaac82cf
JS: Add tests for Response object sink
2025-04-02 13:47:18 +02:00
Geoffrey White
fbde235253
Rust: Rename the test as well.
2025-04-02 12:16:10 +01:00
Geoffrey White
02245af3ca
Rust: Rename the query file.
2025-04-02 12:11:55 +01:00
Geoffrey White
9fc0ee185b
Rust: Change the query ID to rust/summary/summary-statistics-reduced.
2025-04-02 12:03:20 +01:00
Taus
f461763938
Merge pull request #19186 from github/tausbn/actions-fix-gettargetpath-performance
...
Actions: Fix bad performance in `getTargetPath`
2025-04-02 12:53:56 +02:00
Napalys
390d9ffe66
Added change note
2025-04-02 12:50:53 +02:00
Napalys
b16b407f89
Add rimraf model and update tests for path injection vulnerabilities
2025-04-02 12:49:48 +02:00
Napalys
14999c19da
Added test cases for rimraf library.
2025-04-02 12:46:48 +02:00
Tom Hvitved
8663f3b8b2
Rust: Add another disjunct to postWithInFlowExclude
2025-04-02 12:32:28 +02:00
Geoffrey White
c737ee9b52
Rust: Accept another consistency check failure.
2025-04-02 10:58:56 +01:00
Michael Nebel
22c943657a
C#: Update change note.
2025-04-02 11:21:11 +02:00
Michael Nebel
d7f5ce2492
C#: Update log forging expected test output.
2025-04-02 11:21:07 +02:00
Michael Nebel
cf75493fe9
C#: Consider Enums and System.DateTimeOffset as having a sanitizing effect.
2025-04-02 11:21:05 +02:00
Michael Nebel
08159896f3
C#: Convert cs/log-forging tests to inline expectations.
2025-04-02 11:21:03 +02:00
Michael Nebel
60e3b4351a
C#: Fix simple types testcases.
2025-04-02 11:21:01 +02:00
Michael Nebel
024712c073
C#: Temporarily comment out considering Enums as having a sanitizing effect.
2025-04-02 11:20:59 +02:00
Chris Smowton
77e4d9e692
Fix stray references to the javax package name
...
Co-authored-by: Jami <57204504+jcogs33@users.noreply.github.com >
2025-04-02 10:03:49 +01:00
Joe Farebrother
c37809a187
Reduce scope of allowImplicitRead to avoid cartesian product.
2025-04-02 09:35:50 +01:00
Joe Farebrother
2d6476ad21
Update names and alert message
2025-04-02 09:35:43 +01:00
Joe Farebrother
11830bf661
Move to separate folder
2025-04-02 09:35:39 +01:00
Joe Farebrother
5b7200a041
Use flow path in alerts
2025-04-02 09:35:32 +01:00
Joe Farebrother
08b4281187
Update query message and remove field case
2025-04-02 09:35:25 +01:00
Joe Farebrother
efdb4a6d82
Use global dataflow for loop variable capture
2025-04-02 09:35:17 +01:00
Anders Schack-Mulligen
e6cf737f99
Merge pull request #19178 from aschackmull/csharp/pressa-useuse
...
C#: Update PreSSA to reference the new use-use predicates.
2025-04-02 10:30:36 +02:00
Anders Schack-Mulligen
47b1c3d3ce
Merge pull request #19154 from aschackmull/ssa/variablecapture
...
Ssa: Replace phi-read references in VariableCapture with default use-use flow
2025-04-02 10:16:17 +02:00
Asger F
78b25388ca
JS: Protect against bad join in BadRandomness
...
This code resulted in bad join orders in response to certain library
changes. The actual library changes have to be split into smaller pieces
but I'd like to ensure I don't run into the bad join again.
2025-04-02 10:14:07 +02:00
Asger F
46f88e7ce7
JS: Updates to DOM model
2025-04-02 10:14:03 +02:00
Asger F
48db2b9315
JS: Add test
2025-04-02 10:12:36 +02:00
Ian Roof
1d81c77fcd
C#: Enhanced LogForgingQuery to treat C# Enums as simple types.
2025-04-02 09:40:10 +02:00
yoff
c18529086a
actions: add change note
2025-04-02 08:50:05 +02:00
yoff
7bf4a47549
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2025-04-02 08:43:29 +02:00
Michael Nebel
45b55c05ae
Merge pull request #19191 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-04-02 08:02:39 +02:00
Aditya Sharad
3b8c4d970f
Docs: Remove spurious predicate reference
2025-04-01 19:07:34 -07:00
Aditya Sharad
9db5cdf957
Docs: Add query help page placeholders for Actions
2025-04-01 19:03:59 -07:00
Aditya Sharad
a1ceaa0aa3
Docs: Add initial library docs for Actions
...
Create the basic structure, state the key importable libraries.
Describe a workflow.
State the extensible predicates available.
Other elements are to be filled in later.
2025-04-01 19:02:49 -07:00
github-actions[bot]
f379f23216
Add changed framework coverage reports
2025-04-02 00:22:37 +00:00
Aditya Sharad
f6442d20db
Docs: Add Actions pages for CWE coverage
2025-04-01 17:09:03 -07:00
Aditya Sharad
09de7cfe4d
Docs: Add GitHub Actions as a supported language
...
Include GitHub Actions (identifier `actions`) everywhere we list
supported languages, query packs, and library packs.
Query and library documentation link targets do not exist yet.
2025-04-01 17:01:47 -07:00
Jon Janego
74587f0d64
Update ExprHasNoEffect.ql
...
adding quality tags per metadata styleguide
2025-04-01 18:47:52 -05:00
Jon Janego
fa02f82ef6
Updating the metadata style guide
...
Update query-metadata-style-guide.md
2025-04-01 15:50:23 -05:00
Jon Janego
dcdc3b8939
Merge branch 'main' into jonjanego-patch-1
2025-04-01 15:42:51 -05:00
Jon Janego
00bb9056c2
Update query-metadata-style-guide.md
2025-04-01 15:42:36 -05: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
Chanel
b452339b23
Merge pull request #182 from microsoft/fix-parameter-by-name-flow-2
...
PS: Fix parameter/argument name mapping for named parameters
2025-04-01 11:29:01 -07:00
Mathias Vorreiter Pedersen
5fa3beb13d
PS: Normalize parameter keywords and accept test changes.
2025-04-01 19:21:42 +01:00
Mathias Vorreiter Pedersen
1c380fb7fb
PS: Add another missing flow found by Chanel.
2025-04-01 19:21:41 +01:00
Geoffrey White
1d7dac485e
Rust: switch the query to taint flow so that we get taint through conversions (without needing a special case).
2025-04-01 17:57:04 +01:00
Chanel
898297b542
Merge pull request #181 from microsoft/powershell-ast-modernization-follow-up
...
PS: Fix more taint-tracking/dataflow regressions
2025-04-01 09:46:48 -07:00
Chris Smowton
3c555fce11
Add basic test for SQL injection vs Jakarta Persistence
2025-04-01 17:13:23 +01:00
Chris Smowton
5d37ccfa90
Change note
2025-04-01 16:51:29 +01:00
Chris Smowton
20839745bd
Remove redundant import
2025-04-01 16:49:56 +01:00
Asger F
887942e3e9
Merge pull request #19108 from asgerf/js/api-graph-spread-rest
...
JS: Handle spread/rest in API graphs
2025-04-01 17:48:36 +02:00
Taus
aacdc70a73
Merge pull request #19136 from github/tausbn/python-modernise-mixed-tuple-returns-query
...
Python: Modernize `py/mixed-tuple-returns`
2025-04-01 17:31:56 +02:00
Chris Smowton
50119ae481
Update docs
2025-04-01 16:20:06 +01:00
Chris Smowton
a5a6fd37df
Enable recognising jakarta.persistence in dead-code queries
2025-04-01 16:19:42 +01:00
Alex Eyers-Taylor
0ccbe3ef7f
Ruby: Make module graph queries avoid relying on evalaution order.
2025-04-01 16:18:45 +01:00
yoff
80ae8794f5
actions: update test expectations
2025-04-01 17:07:57 +02:00
yoff
d83f35ff64
actions: remove unneded API
2025-04-01 17:07:43 +02:00
Chris Smowton
fb6296a564
Persistence models: recognise jakarta.persistence
2025-04-01 16:07:40 +01:00
yoff
6fd8aba560
actions: simplify using existing UsesStep
2025-04-01 17:07:21 +02:00
yoff
ee1eb199b5
actions: add description of actionsPermissionsDataModel
2025-04-01 17:07:02 +02:00
yoff
bd7c684c6c
actions: add test with empty permissions
2025-04-01 17:06:32 +02:00
Taus
8afdf25e9a
Actions: Mark helper predicate as noinline.
2025-04-01 14:50:00 +00:00
Asger F
4746cfddf2
JS: Add clarifying comment
2025-04-01 16:26:07 +02:00
Asger F
e1784bb10c
JS: Fix handling of spread args on a bound function
2025-04-01 16:20:57 +02:00
Mathias Vorreiter Pedersen
8ae92a5cdb
PS: Accept test changes.
2025-04-01 15:08:36 +01:00
Mathias Vorreiter Pedersen
129b7876d7
PS: Allow shadowing of automatic variables.
2025-04-01 15:08:35 +01:00
Mathias Vorreiter Pedersen
08dc8183e0
PS: Add Chanel's missing flow example.
2025-04-01 15:08:33 +01:00
Taus
c9fc7882e6
Actions: Fix bad performance in getTargetPath
...
Seen on `github/codeql`, some queries had very poor performance:
```
[2/24 eval 36m4s] Evaluation done; writing results to
codeql/actions-queries/Security/CWE-312/ExcessiveSecretsExposure.bqrs
```
Investigating further lead to the following worrying sequence of joins
(after I ran out of patience and cancelled the query):
```
[2025-04-01 12:31:03] Tuple counts for
Yaml::YamlInclude.getTargetPath/0#dispred#32565107#fb#reorder_1_0/2@i6#9f4b2jw1
after 8m40s:
...
559418 ~33% {1} r5 = SCAN
`Yaml::YamlNode.getLocation/0#dispred#24555c57#prev_delta` OUTPUT In.1
...
909345525 ~821% {3} r7 = JOIN r5 WITH
`Yaml::YamlNode.getLocation/0#dispred#24555c57#prev` CARTESIAN PRODUCT
OUTPUT Rhs.1, Lhs.0 'result', Rhs.0
909342139 ~779% {3} | JOIN WITH
`Locations::Location.getFile/0#dispred#dcf38c8d#prev` ON FIRST 1 OUTPUT
Rhs.1, Lhs.1 'result', Lhs.2
909338753 ~794% {3} | JOIN WITH containerparent_10#join_rhs
ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'result', Lhs.2
909335367 ~824% {3} | JOIN WITH
`FileSystem::Container.getAbsolutePath/0#dispred#d234e6fa` ON FIRST 1
OUTPUT Lhs.2, Lhs.1 'result', Rhs.1
883246724 ~812% {3} | JOIN WITH
`Yaml::YamlNode.getDocument/0#dispred#ee1eb3bf#bf_10#join_rhs` ON FIRST
1 OUTPUT Rhs.1 'this', Lhs.1 'result', Lhs.2
760047185 ~838% {5} | JOIN WITH yaml_scalars ON FIRST 1
OUTPUT Lhs.1 'result', Lhs.0 'this', Rhs.2, _, Lhs.2
0 ~0% {4} | REWRITE WITH Tmp.3 := "/", Out.3 :=
(In.4 ++ Tmp.3 ++ InOut.2), TEST Out.3 = InOut.0 KEEPING 4
{4} | REWRITE WITH NOT [TEST InOut.2
startsWith "/"]
...
```
The culprit turned out to be the following method on class `YamlInclude`
```ql
private string getTargetPath() {
exists(string path | path = this.getValue() |
if path.matches("/%")
then result = path
else
result =
this.getDocument().getLocation().getFile().getParentContainer().getAbsolutePath()
+ "/" +
path
)
}
```
Basically, in the `else` branch, the evaluator was producing all
possible values of `result` before filtering out the ones where the
`path` component started with a forward slash.
To fix this, I opted to factor out the logic into two helper predicates,
each accounting for whether `this.getValue()` does or does not start
with a `/`. With this, evaluating the original query from a clean cache
takes roughly 3.3s.
2025-04-01 13:59:19 +00:00
Tom Hvitved
ffb25b7aac
Merge pull request #19162 from hvitved/rust/to-string-non-rec
...
Rust: Make `Element.toString` non-recursive
2025-04-01 15:31:18 +02:00
Anders Schack-Mulligen
e1ef56b8bb
Swift: Fix accidental cartesian product.
2025-04-01 15:23:16 +02:00
Óscar San José
9b2eff88a6
restore original port
2025-04-01 15:17:52 +02:00
Arthur Baars
0e23b86bf5
Merge pull request #19182 from github/post-release-prep/codeql-cli-2.21.0
...
Post-release preparation for codeql-cli-2.21.0
2025-04-01 15:12:29 +02:00
Tom Hvitved
dcaeeabad8
Rust: Fix capturedCallRead
2025-04-01 15:11:20 +02:00
Tom Hvitved
9dea9f5046
SSA: Make phiWithoutTwoPriorRefs consistency check more informative
2025-04-01 15:07:46 +02:00
Tom Hvitved
01810cbac9
Rust: Update PhiDefinition.toString
2025-04-01 14:59:05 +02:00
Marco Gario
2419ccf511
Merge pull request #19183 from github/marcogario-patch-1
...
Update UntrustedCheckoutCritical.ql
2025-04-01 14:43:37 +02:00
Simon Friis Vindum
8acf9ceef4
Rust: Make trait a base type mention of the self type parameter
2025-04-01 14:04:46 +02:00
Marco Gario
d33ce423d8
Update UntrustedCheckoutCritical.ql
2025-04-01 13:58:37 +02:00
Arthur Baars
68690b4615
Merge pull request #19181 from github/aibaars/rust-delete-cargo-lock
...
Rust: QLTest: delete Cargo.lock files
2025-04-01 13:57:19 +02:00
yoff
3cdd641b81
actions: fix typo
2025-04-01 13:43:00 +02:00
Michael Nebel
f4105ee4af
Merge pull request #19089 from michaelnebel/csharp/improvestringinterpolation
...
C#: Extract string interpolation alignment and format.
2025-04-01 13:40:15 +02:00
github-actions[bot]
10205cb990
Post-release preparation for codeql-cli-2.21.0
2025-04-01 11:30:43 +00:00
Joe Farebrother
0339601ada
Merge pull request #19179 from joefarebrother/python-ccr
...
Python: Add file-not-closed and special-method-wrong-signature to python code-quality suite
2025-04-01 12:26:35 +01:00
yoff
1ec3e8712b
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2025-04-01 13:18:30 +02:00
Óscar San José
81a39f380a
Change niceness of test server
2025-04-01 12:48:00 +02:00
Arthur Baars
1d49252c03
Rust: QLTest: delete Cargo.lock files
2025-04-01 12:38:57 +02:00
Paolo Tranquilli
01d4c0ff56
Merge pull request #19167 from github/redsun82/rust-upgrades-downgrades
...
Rust: introduce upgrades/downgrades infrastructure
2025-04-01 12:01:30 +02:00
Paolo Tranquilli
7821fbf576
Merge branch 'main' into redsun82/rust-upgrades-downgrades
2025-04-01 11:38:34 +02:00
Marco Gario
c8299253f1
Merge pull request #19126 from github/marcogario-patch-1
...
Update UseOfKnownVulnerableAction.ql
2025-04-01 11:36:25 +02:00
Tom Hvitved
f54d8325ae
Merge pull request #19133 from hvitved/rust/more-path-resolution
...
Rust: More path resolution improvements
2025-04-01 11:25:16 +02:00
Anders Schack-Mulligen
7afcd1bbec
Swift: Update test output.
2025-04-01 11:07:17 +02:00
Joe Farebrother
73eebcbca6
Python: Add file-not-closed and special-method-wrong-signature to python code-quality suite
2025-04-01 10:05:17 +01:00
Marco Gario
c0d7288696
Merge branch 'main' into marcogario-patch-1
2025-04-01 10:59:03 +02:00
Geoffrey White
86840a78c2
Rust: Update .expected files.
2025-04-01 09:56:56 +01:00
Geoffrey White
cc90ba5836
Rust: Create a less noisy version of the summary stats query, for use in tests.
2025-04-01 09:56:47 +01:00
Geoffrey White
32e2c1912c
Rust: Move all summary stats logic into Stats.qll.
2025-04-01 09:56:39 +01:00
Marco Gario
3652d6f258
Merge pull request #19127 from github/marcogario/untrusted_checkout_name
...
UntrustedCheckout: Try and differentiate between two versions of the query
2025-04-01 10:56:36 +02:00
Idriss Riouak
1ebce01c95
Merge pull request #19159 from github/idrissrio/calling-conventions
...
C++: Add class representing calling conventions
2025-04-01 10:31:16 +02:00
Tamas Vajk
a570a728bd
Fix code quality
2025-04-01 10:29:55 +02:00
Tamás Vajk
398f041464
Update csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/aspnetcore/Components.qll
...
Co-authored-by: Michael Nebel <michaelnebel@github.com >
2025-04-01 10:18:09 +02:00
Michael Nebel
8bf2ceb942
Merge pull request #19125 from michaelnebel/csharp/updatedotnet9models
...
C#: Update generated .NET 9 Runtime models.
2025-04-01 10:09:58 +02:00
Anders Schack-Mulligen
887452d202
Swift: Update SSA to reference the new use-use predicates.
2025-04-01 10:05:02 +02:00
Anders Schack-Mulligen
dbd99df85b
C#: Update PreSSA to reference the new use-use predicates.
2025-04-01 10:03:20 +02:00
idrissrio
d61d9730c8
C++: add change note for calling conventions
2025-04-01 09:53:36 +02:00
Tom Hvitved
56f4694b38
Swift: Avoid calling Element.toString recursively
2025-04-01 08:48:16 +02:00
Tom Hvitved
c14a2375c3
Swift: Run codegen
2025-04-01 08:48:15 +02:00
Tom Hvitved
4fb138a1a3
Rust: Make Element.toString non-recursive
2025-04-01 08:48:13 +02:00
Anders Schack-Mulligen
efb5ed1030
Merge pull request #19155 from aschackmull/cpp/iterator-ssa
...
C++: Refactor Iterator SSA flow to use the data flow integration module.
2025-04-01 08:44:10 +02:00
Michael Nebel
3017d42c95
Merge pull request #19173 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2025-04-01 08:33:35 +02:00
Michael Nebel
de6e3eafb9
C#: Add change note.
2025-04-01 08:32:52 +02:00
Michael Nebel
2f16e3a0c0
C#: Update flowsummaries test expected output.
2025-04-01 08:32:43 +02:00
Michael Nebel
2487f7734b
C#: Update the generated .NET 9 models.
2025-04-01 08:24:09 +02:00
Michael Nebel
ba26953f0b
C#: Update generated .NET 9 models.
2025-04-01 08:24:07 +02:00
Jami Cogswell
416643ce39
Java: update qhelp recommendation and example
2025-03-31 21:09:21 -04:00
github-actions[bot]
1186699269
Add changed framework coverage reports
2025-04-01 00:25:24 +00:00
Andrew Eisenberg
70150eea9a
Merge branch 'main' into marcogario/untrusted_checkout_name
2025-03-31 13:54:17 -07:00
Mathias Vorreiter Pedersen
0b9720c908
PS: Accept test changes.
2025-03-31 20:12:51 +01:00
Mathias Vorreiter Pedersen
88f638dc5c
PS: Fix more pipeline flow.
2025-03-31 20:12:43 +01:00
Marco Gario
820dacd151
Merge branch 'main' into marcogario-patch-1
2025-03-31 20:42:12 +02:00
Marco Gario
8737acb6a9
Update actions/ql/src/Security/CWE-829/UntrustedCheckoutCritical.ql
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2025-03-31 20:42:03 +02:00
Geoffrey White
ff2a1ca961
Rust: Group the data in rust/summary/summary-statistics.
2025-03-31 19:28:00 +01:00
Geoffrey White
fb22d55878
Rust: Remove duplicate models.
2025-03-31 18:26:26 +01:00
Geoffrey White
6a5a1001bb
Rust: Refine the barrier guard.
2025-03-31 18:26:21 +01:00
Geoffrey White
f7d3a51f27
Rust: Implement barrier guard.
2025-03-31 17:53:17 +01:00
Geoffrey White
cdd5cb0523
Rust: More test cases for bounds / guards.
2025-03-31 17:53:14 +01:00
Geoffrey White
addc1d34d8
Rust: Add qhelp, examples, and tests of examples.
2025-03-31 17:53:10 +01:00
Geoffrey White
64aa4e8bae
Rust: Ensure that the sinks for this query appear in metrics.
2025-03-31 17:39:24 +01:00
Geoffrey White
e49c1afe72
Rust: Add a few missing models.
2025-03-31 17:39:19 +01:00
Geoffrey White
03f94de3cb
Rust: Add models.
2025-03-31 17:39:15 +01:00
Geoffrey White
9409cd6ed7
Rust: Prototype query.
2025-03-31 17:39:11 +01:00
Geoffrey White
ae555f2f2e
Rust: Add a test for uncontrolled allocation size.
2025-03-31 17:37:21 +01:00
idrissrio
9ec7f3c9a5
C++: add test for calling conventions
2025-03-31 17:45:44 +02:00
idrissrio
f83f14bab2
C++: add calling convention specifier class
2025-03-31 17:44:56 +02:00
Paolo Tranquilli
f5d6fd081d
Rust: introduce upgrades/downgrades infrastructure
2025-03-31 16:49:45 +02:00
yoff
e7bb47f335
ruby: add MaD model for permissions needed by actions
...
Use this to suggest minimal set of nedded permissions
2025-03-31 16:48:37 +02:00
Asger F
149ec20758
JS: Add comment about internal edge
2025-03-31 15:39:09 +02:00
Asger F
f64bdccd6d
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2025-03-31 15:30:59 +02:00
Michael Nebel
8e1282bfde
C#: Improve downgrade script.
2025-03-31 13:53:51 +02:00
Michael Nebel
e30fed6eec
C#: Improve upgrade script.
2025-03-31 13:17:10 +02:00
Anders Schack-Mulligen
56c46d74f9
Java/Rust/Swift: Accept qltest changes.
2025-03-31 11:44:37 +02:00
Anders Schack-Mulligen
9a8ab2d45b
Update misc/scripts/stageoverlap.py
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-03-31 11:28:29 +02:00
Anders Schack-Mulligen
8a67e4fddc
Misc: Add stage overlap script
2025-03-31 11:20:40 +02:00
Anders Schack-Mulligen
a6a694dec6
C++: Use DataFlowIntegration in IteratorFlow.
2025-03-31 10:49:43 +02:00
Anders Schack-Mulligen
aaa7e4cf95
C++: Def is only used in defToNode, which doesn't include phi reads nodes.
2025-03-31 10:49:43 +02:00
Anders Schack-Mulligen
133f08784f
C++: Eliminate dead code, uncertain is always false.
2025-03-31 10:49:42 +02:00
Anders Schack-Mulligen
b4daba30a5
SSA: Remove dead code.
2025-03-31 10:49:10 +02:00
Anders Schack-Mulligen
70e53c2f8b
SSA: Push includeWriteDefsInFlowStep constraint into newtype.
2025-03-31 10:49:10 +02:00
Anders Schack-Mulligen
ca6444ce98
VariableCapture: Replace phi-read reference with SSA data flow integration module.
2025-03-31 10:49:09 +02:00
Mathias Vorreiter Pedersen
ee4104b78c
PS: Fix parent-child mapping for iterator pipeline access synthesis.
2025-03-29 11:51:33 +00:00
Mathias Vorreiter Pedersen
a6a17344ff
PS: Easier debugging with strings for child indices.
2025-03-29 11:18:23 +00:00
Mathias Vorreiter Pedersen
e17a169b8b
Merge pull request #180 from microsoft/powershell-ast-modernization-follow-up
...
PS: Fix PowerShell dataflow/taint-tracking failures
2025-03-28 13:19:00 -07:00
Mathias Vorreiter Pedersen
7102ebbcf7
PS: Accept test changes.
2025-03-28 19:39:54 +00:00
Mathias Vorreiter Pedersen
3643b93033
fixup! PS: Define pre-return node and implicit-wrapping nodes using the script block instead of the individual elements.
2025-03-28 19:36:18 +00:00
Mathias Vorreiter Pedersen
5d5448df62
PS: Also use the new library to handle array expressions.
2025-03-28 19:36:06 +00:00
Mathias Vorreiter Pedersen
b2cf155ff5
PS: Define pre-return node and implicit-wrapping nodes using the script block instead of the individual elements.
2025-03-28 19:35:41 +00:00
Mathias Vorreiter Pedersen
ee8c586200
PS: Use the new library to calculate returned expressions.
2025-03-28 19:34:50 +00:00
Mathias Vorreiter Pedersen
a9861e13e9
PS: Add a library that calculated escaping values much more efficiently using the forward/reverse pruning technique.
2025-03-28 19:33:23 +00:00
Mathias Vorreiter Pedersen
f85767f47e
PS: add a super class for all loop-related CFG nodes.
2025-03-28 19:32:36 +00:00
Mathias Vorreiter Pedersen
19454a50e9
PS: Small additions to the CFG classes and a small bugfix.
2025-03-28 19:32:07 +00:00
Mathias Vorreiter Pedersen
18d94f2078
PS: Don't include the variable in the IPA definition for variable accesses.
2025-03-28 19:31:15 +00:00
Mathias Vorreiter Pedersen
2da8da0777
PS: Add helper predicates for if statements.
2025-03-28 19:30:16 +00:00
Mathias Vorreiter Pedersen
ee0a21e67f
PS: Make child mapping classes private.
2025-03-28 19:29:45 +00:00
Geoffrey White
4a76b5b3db
Rust: Accept consistency check failures.
2025-03-28 15:40:18 +00:00
Taus
6674288fd2
Python: Update test cases
...
Adds a comment explaining why we no longer flag the indirect tuple
example.
Also adds a test case which _would_ be flagged if not for the type
annotation.
2025-03-28 15:12:39 +00:00
Tamas Vajk
32448c14bd
Adjust expected test file
2025-03-28 16:04:39 +01:00
Tamas Vajk
72fb6ed078
Restrict name based property lookup to opened component types
2025-03-28 16:04:39 +01:00
Edward Minnix III
d601c26355
[change-note] Blazor parameter passing string literal
2025-03-28 16:04:38 +01:00
Edward Minnix III
3d0a85b3cd
Add test case using string literal in property name
2025-03-28 16:04:37 +01:00
Edward Minnix III
52b889f008
Support when a property is specified by a string literal instead of a nameof expression
...
In earlier versions of the Razor generator, a string literal was used
instead of a `nameof` expression in order to indicate the name of the
property being modified. This means we need to look up the property by
name instead of using a more explicit access.
2025-03-28 16:04:36 +01:00
Tom Hvitved
605cf35970
Rust: More path resolution improvements
2025-03-28 15:32:20 +01:00
Michael Nebel
00753a1fe4
C#: Address review comments.
2025-03-28 14:41:59 +01:00
Geoffrey White
ed14b37964
Merge branch 'main' into deallocation
2025-03-28 12:44:46 +00:00
Geoffrey White
ce7a0fd094
Rust: Test for sinks inside sources.
2025-03-28 11:12:10 +00:00
Asger F
b834ffe246
JS: Fix a bad join order
2025-03-28 09:14:40 +01:00
Asger F
1ad471cb32
JS: Track through spread/rest params in API graphs
2025-03-28 09:14:36 +01:00
Asger F
ff99d5c688
JS: Add test for API graph through spread args
2025-03-28 09:13:06 +01: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
Taus
68668b8e22
Python: Fix grammar in change note
2025-03-27 23:23:29 +01:00
Mathias Vorreiter Pedersen
7b9a41aa92
PS: Handle this parameters in a few more places.
2025-03-27 18:03:06 +00:00
Mathias Vorreiter Pedersen
dcb98ab5a1
PS: Don't include the this parameter in getParameter.
2025-03-27 18:01:28 +00:00
Mathias Vorreiter Pedersen
cea435cf1f
Merge pull request #178 from microsoft/powershell-ipa-the-ast
...
PS: Simplify the AST in Powershell
2025-03-27 09:37:38 -07:00
Mathias Vorreiter Pedersen
0fc57789bf
PS: Accept dataflow/taint-tracking/type-tracking regressions.
2025-03-27 16:01:42 +00:00
Mathias Vorreiter Pedersen
c840f86707
PS: Accept CFG test changes.
2025-03-27 16:01:41 +00:00
Mathias Vorreiter Pedersen
655d80ee7b
PS: Repair tests and accept test changes in syntax tests.
2025-03-27 16:01:39 +00:00
Mathias Vorreiter Pedersen
7551cce537
PS: Make API graphs compile again. There is still some TODOs here, but at least it compiles.
2025-03-27 16:01:38 +00:00
Mathias Vorreiter Pedersen
8092345fee
PS: Make type-tracking and taint-tracking compile again.
2025-03-27 16:01:36 +00:00
Mathias Vorreiter Pedersen
8f9bc1e4b2
PS: Make SSA compile again.
2025-03-27 16:01:35 +00:00
Mathias Vorreiter Pedersen
c2e24ea3a4
PS: Make CFG construction compile again.
2025-03-27 16:01:33 +00:00
Mathias Vorreiter Pedersen
9efc3ec380
PS: Make dataflow compile again.
2025-03-27 16:01:30 +00:00
Mathias Vorreiter Pedersen
cc13922206
PS: Make the experimental query compile again.
2025-03-27 16:01:28 +00:00
Mathias Vorreiter Pedersen
171f5ca698
PS: Inside a process block the name of a pipeline parameter actually refers to the individual elements in the pipeline. Add a synthesized variable access that represents this.
2025-03-27 16:01:26 +00:00
Mathias Vorreiter Pedersen
9f4d1c624d
PS: PowerShell doesn't have a notion of true, false, null, etc. In the extracted AST these are just variables with special names. We insert synthesized AST elements that represent these special variables.
2025-03-27 16:01:24 +00:00
Mathias Vorreiter Pedersen
7adb020977
PS: Remove arguments that are just names for a named argument.
2025-03-27 16:01:23 +00:00
Mathias Vorreiter Pedersen
3bb6021cb2
PS: Remove the CmdExpr AST elements and synthesize StmtExpr instead where needed.
2025-03-27 16:01:21 +00:00
Mathias Vorreiter Pedersen
8eb5e65ac4
PS: Synthesize Function and Type classes instead of relying on the statement that defines them.
2025-03-27 16:01:20 +00:00
Mathias Vorreiter Pedersen
17661342f8
PS: expr-to-stmt conversions.
2025-03-27 16:01:18 +00:00
Mathias Vorreiter Pedersen
0b4a7f9436
PS: Synthesize a simpler notion of parameters.
2025-03-27 16:01:17 +00:00
Mathias Vorreiter Pedersen
5bc0a263ec
PS: A call to set-variable is an explicit assignment.
2025-03-27 16:01:15 +00:00
Mathias Vorreiter Pedersen
faa94735bf
PS: Add an implicit this parameter to all methods.
2025-03-27 16:01:14 +00:00
Mathias Vorreiter Pedersen
31f14ba99a
PS: Add synthesis framework for cleaning up the AST.
2025-03-27 16:01:11 +00:00
Mathias Vorreiter Pedersen
0dd756d72d
PS: Add support for variables.
2025-03-27 16:01:10 +00:00
Mathias Vorreiter Pedersen
11c84ccaf4
PS: Add the IPA type representing the AST.
2025-03-27 16:01:09 +00:00
Mathias Vorreiter Pedersen
b52c6ea4ba
PS: Add control-flow node version of all the user-facing ast classes.
2025-03-27 16:01:07 +00:00
Mathias Vorreiter Pedersen
a207c8008b
PS: Add 'raw' AST classes coming directly from the extractor.
2025-03-27 16:01:06 +00:00
Mathias Vorreiter Pedersen
665202195c
PS: Add user-facing AST classes.
2025-03-27 16:01:04 +00:00
Taus
980c7d83da
Python: Add change note
2025-03-27 15:33:00 +00:00
Taus
f601f4ad9b
Python: Update test expectations
...
As we're no longer tracking tuples across function boundaries, we lose
the result that related to this setup (which, as the preceding commit
explains, lead to a lot of false positives).
2025-03-27 15:31:28 +00:00
Taus
2dcd7895ec
Python: Modernise py/mixed-tuple-returns
...
Removes the dependence on points-to in favour of an approach based on
(local) data-flow.
I first tried a version that used type tracking, as this more accurately
mimics the behaviour of the old query. However, I soon discovered that
there were _many_ false positives in this setup. The main bad pattern I
saw was a helper function somewhere deep inside the code that both
receives and returns an argument that can be tuples with different sizes
and origins. In this case, global flow produces something akin to a
cartesian product of "n-tuples that flow into the function" and
"m-tuples that flow into the function" where m < n.
To combat this, I decided to instead focus on only flow _within_ a given
function (and so local data-flow was sufficient).
Additionally, another class of false positives I saw was cases where the
return type actually witnessed that the function in question could
return tuples of varying sizes. In this case it seems reasonable to not
flag these instances, since they are already (presumably) being checked
by a type checker.
More generally, if you've annotated the return type of the function with
anything (not just `Tuple[...]`), then there's probably little need to
flag it.
2025-03-27 15:27:42 +00:00
Tom Hvitved
f6ac82aff0
Rust: Add more path resolution tests
2025-03-27 15:54:57 +01:00
Geoffrey White
9ae271a7d1
Rust: Fix incidentally affected test merge conflict.
2025-03-27 12:55:36 +00:00
Geoffrey White
4e496fe7b2
Rust: Lets just not model 'drop' incorrectly, for now.
2025-03-27 12:25:08 +00:00
Geoffrey White
8598d619f2
Rust: Add a test case involving a Drop method.
2025-03-27 09:39:25 +00:00
Geoffrey White
d1a0237e87
Rust: Correct a few details in the test.
2025-03-27 09:20:25 +00:00
Mathias Vorreiter Pedersen
d79eb013c8
PS: Delete the old AST.
2025-03-26 18:00:10 +00:00
Geoffrey White
c84e2cd7cb
Rust: Reduce the workaround (fixes duplicate results).
2025-03-26 15:40:45 +00:00
Geoffrey White
0a04191a61
Rust: Effect of merging main (duplicate results).
2025-03-26 15:06:03 +00:00
Geoffrey White
56f330d545
Merge branch 'main' into deallocation
2025-03-26 14:58:32 +00:00
Marco Gario
288fcb6092
Update CWE-829 description for clarity
2025-03-26 15:53:20 +01:00
Marco Gario
b1737858fa
UntrustedCheckout: Try and differentiate between two versions of the rule
2025-03-26 12:49:48 +00:00
Marco Gario
29a23a3d20
Update UseOfKnownVulnerableAction.ql
...
Name should not end in a `.`
2025-03-26 13:28:34 +01: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
Mathias Vorreiter Pedersen
44e4e3eb54
PS: Extract more powershell files and fix off-by-one error in locations.
2025-03-25 16:59:28 +00: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
Geoffrey White
82068a262d
Rust: Further rephrasing.
2025-03-24 12:23:48 +00:00
Geoffrey White
363128f4ec
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2025-03-24 12:21:51 +00:00
Geoffrey White
e4cadf09ce
Rust: Don't report excessive results for the same source.
2025-03-24 12:12:42 +00:00
Geoffrey White
b7044bdcde
Rust: Add a test of repeat sinks.
2025-03-24 12:04:43 +00:00
Geoffrey White
f582054ca4
Rust: Refactor the tests that have multiple control flow paths.
2025-03-24 11:56:32 +00:00
Michael Nebel
d9fb137909
C#: Add upgrade- and downgrade scripts.
2025-03-24 12:00:15 +01: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
Geoffrey White
d1ef2b50fb
Rust: Model futures::executor::block_on.
2025-03-21 16:51:10 +00:00
Michael Nebel
acec97db94
C#: Add change-note.
2025-03-21 13:32:44 +01:00
Michael Nebel
5ae7e5ddb3
C#: Update other test expected output files.
2025-03-21 13:23:11 +01:00
Michael Nebel
a73a61b8fa
C#: Add PrintAst test for string interpolation expressions.
2025-03-21 13:04:43 +01:00
Michael Nebel
2ca5ec0032
C#: Add some string interpolation tests with alignment and formatting.
2025-03-21 13:04:40 +01:00
Michael Nebel
af6e1bda4c
C#: Extract alignment and format clauses of string interpolation expressions.
2025-03-21 13:04:39 +01:00
Owen Mansel-Chan
e44f7f946f
Sort package paths in vendor/modules.txt
2025-03-21 09:45:50 +00: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
Geoffrey White
91d273ad76
Rust: I think these generated models are correct. Accept them.
2025-03-20 15:52:08 +00:00
Geoffrey White
98690f924a
Rust: Incidental changes to other .expected files.
2025-03-20 15:39:03 +00:00
Geoffrey White
c6c4e3cf16
Rust: Add another reference.
2025-03-20 15:16:17 +00:00
Geoffrey White
5e18e1be11
Rust: Autofix and US spelling.
2025-03-20 15:03:55 +00:00
Geoffrey White
5831c446d3
Rust: Add test cases for another situation I came across.
2025-03-20 14:26:15 +00:00
Geoffrey White
7ecba71166
Rust: Add .qhelp.
2025-03-20 14:26:14 +00:00
Geoffrey White
019fcbfbf9
Rust: Add qhelp examples, and add them as tests.
2025-03-20 14:26:13 +00:00
Geoffrey White
671f7dff94
Rust: Query metadata.
2025-03-20 14:26:11 +00:00
Geoffrey White
7ceb76441a
Rust: Improve the source to account for conversions.
2025-03-20 14:26:10 +00:00
Geoffrey White
be6d0d1f86
Rust: Work around data flow source issue.
2025-03-20 14:26:09 +00:00
Geoffrey White
c2ee4211e5
Rust: Add more models.
2025-03-20 14:26:08 +00:00
Geoffrey White
dcd016f5be
Rust: Initial version of the query.
2025-03-20 14:26:06 +00:00
Geoffrey White
a139b3734c
Rust: Split lang-core.model.yml into lang-core and lang-alloc.
2025-03-20 14:26:05 +00:00
Geoffrey White
19f009ae08
Rust: Add tests for various kinds of dangling pointers.
2025-03-20 14:26:04 +00:00
Owen Mansel-Chan
7e04a9f6c0
Improve stubs (made by old version of depstubber?)
2025-03-20 12:33:39 +00:00
Owen Mansel-Chan
6147f0a873
Fix outdated depstubber command
2025-03-20 12:32:56 +00:00
Owen Mansel-Chan
40768332d8
Remove empty imports from stubs
2025-03-20 12:32:12 +00:00
Owen Mansel-Chan
81e85010f9
List subpackages in vendor/modules.txt
...
These were all generated by running depstubber.
2025-03-20 12:30:57 +00:00
REDMOND\brodes
63aaebbea6
.
2025-03-19 18:30:06 -04:00
Jon Janego
f698d0a060
Update query-metadata-style-guide.md
2025-03-19 16:58:30 -05:00
Jon Janego
14d178f817
Update query-metadata-style-guide.md
...
minor tag changes to align with existing tags
2025-03-19 16:56:37 -05:00
Nicolas Will
95607c5f31
Refactor instances and consumers + add JCA hashes
2025-03-18 22:05:00 +01:00
Dilan
4c138212bc
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-03-18 13:06:17 +00: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
Jon Janego
de5d3b6263
Update query-metadata-style-guide.md
2025-03-13 12:42:51 -05:00
Jon Janego
6c28be9827
Update query-metadata-style-guide.md
...
initial commit of changes starting to add quality tagging standards
2025-03-13 11:49:48 -05: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
Dilan
0869a11411
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-03-06 15:59:15 +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
Mathias Vorreiter Pedersen
4ddc425156
Merge pull request #175 from gfs/gfs/PowershellExtractorNetUpgrade
...
Update .NET Version for Powershell Extractor to Net 9.0
2025-02-27 18:05:34 +00:00
Mathias Vorreiter Pedersen
faa51c17e1
Merge branch 'main' into gfs/PowershellExtractorNetUpgrade
2025-02-27 17:59:31 +00:00
Mathias Vorreiter Pedersen
2172ced0be
Merge pull request #176 from microsoft/dilan/powershell-pr-token
...
Fix PowerShell PR Token
2025-02-27 17:58:41 +00:00
dilanbhalla
17ae251137
Update powershell-pr-check.yml
2025-02-27 09:34:15 -08: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
Gabe Stocco
b018fb9c8f
Add gitignore for build artifacts from powershell extractor
2025-02-26 12:40:27 -08:00
Gabe Stocco
43cdff9725
Update dependencies.
...
Update projects to use NET 9.0 (required by System.Management 7.5 and later)
2025-02-26 12:36:35 -08:00
Gabe Stocco
ee2688fbcb
Update project to net 8.
2025-02-26 12:30:05 -08:00
Mathias Vorreiter Pedersen
4e6f4639f7
Merge pull request #174 from microsoft/revert-ps-module-extraction
...
PS: Revert extraction of code found via `PSModulePath`
2025-02-26 12:29:39 +00:00
Mathias Vorreiter Pedersen
abc23e038a
Merge branch 'main' into revert-ps-module-extraction
2025-02-26 12:26:17 +00: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
Mathias Vorreiter Pedersen
29c11a4a5e
PS: Add upgrade and downgrade scripts.
2025-02-24 14:23:49 +00:00
Mathias Vorreiter Pedersen
5b5b15361a
PS: Make the prepare db script work on the Microsoft repo.
2025-02-24 14:23:47 +00:00
Mathias Vorreiter Pedersen
4bfd6fd345
PS: Revert psmodule path file extraction.
2025-02-24 14:23:46 +00:00
Mathias Vorreiter Pedersen
1978e10c05
PS: Remove extractor option to skip psmodule extraction.
2025-02-24 14:23:35 +00:00
Dilan
0628e4990b
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-02-21 18:59:16 +00:00
dilanbhalla
d76e438a90
Merge pull request #173 from microsoft/powershell-update-basic-block-library-for-2.20.5
...
PS: Match the changes from #18696
2025-02-21 10:13:16 -08: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
Mathias Vorreiter Pedersen
6909792627
PS: Also get rid of an easy-to-fix SSA warning.
2025-02-21 12:22:06 +00:00
Mathias Vorreiter Pedersen
efb43bca3e
PS: Match the changes from #18696 .
2025-02-21 12:16:00 +00: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
Mathias Vorreiter Pedersen
61796da374
Merge pull request #171 from microsoft/ps-add-dotnet-type-models
...
PS: Add .NET and PowerShell SDK type models.
2025-02-19 18:37:43 +00:00
Mathias Vorreiter Pedersen
3dbe7f4fa6
PS: Add the type model generation script and add a short readme.
2025-02-19 14:10:28 +00:00
Mathias Vorreiter Pedersen
6ef09412a9
PS: Add .NET and PowerShell SDK type models.
2025-02-19 00:05:51 +00: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
dilanbhalla
c39c091690
Update microsoft-codeql-pack-publish.yml
2025-02-14 11:06:14 -08:00
dilanbhalla
8c466139cb
Update microsoft-codeql-pack-publish.yml
2025-02-14 11:05:16 -08:00
dilanbhalla
e79d4c9123
Update microsoft-codeql-pack-publish.yml
2025-02-14 10:50:32 -08:00
dilanbhalla
c4fa83bea8
Update microsoft-codeql-pack-publish.yml
2025-02-14 10:47:33 -08:00
dilanbhalla
4e0bfa3f66
Merge branch 'main' into dilan/publish-opensource-packs
2025-02-14 10:42:11 -08:00
Raul Garcia
5c54c81907
Merge pull request #169 from microsoft/dilan/metadata-bug-cpp
...
Metadata Bug in C++ Query
2025-02-12 16:46:26 -08:00
dilanbhalla
9ba49adc04
Update ArgumentIsSizeofOrOperation.ql
2025-02-12 15:15:17 -08: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
dilanbhalla
ad3299124c
Merge pull request #168 from microsoft/dilan/reduce-pr-check-perms
...
Reduce GitHub Workflow Perms
2025-02-10 13:16:37 -08:00
dilanbhalla
6ccedebd12
Update sync-main.yml
2025-02-10 13:13:34 -08:00
dilanbhalla
898e4ff8af
reduce powershell pr check perms
2025-02-10 12:52:03 -08:00
Kristen Newbury
1a12fb3099
Update JCA model, refactor modes
2025-02-10 13:49:32 -05:00
dilanbhalla
d5f75d49d8
Merge pull request #167 from microsoft/update-ruby-internal-dataflow-files
...
Ruby: Update internal dataflow files.
2025-02-10 09:24:09 -08: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
Mathias Vorreiter Pedersen
6ed2eb1478
Ruby: Update internal dataflow files.
2025-02-10 12:43:07 +00:00
dilanbhalla
233c0cfda0
Merge pull request #166 from microsoft/dilan/resolve-ruby-df-error
...
resolving ruby df error
2025-02-07 16:00:23 -08:00
Dilan Bhalla
41b5d19137
resolving ruby df error
2025-02-07 14:10:07 -08:00
Kristen Newbury
60d931af9f
Update progress on JCA
2025-02-07 15:46:13 -05:00
dilanbhalla
e7bb37a18f
Merge pull request #165 from microsoft/dilan/microsoft-namespace-edit
...
Microsoft Public Namespace Fix
2025-02-07 10:19:42 -08:00
dilanbhalla
e200aa5cdd
Merge branch 'main' into dilan/microsoft-namespace-edit
2025-02-07 10:11:06 -08:00
Dilan Bhalla
414feffcaa
microsoft-public -> public
2025-02-07 10:09:34 -08:00
Mathias Vorreiter Pedersen
7f7e9348e9
Merge pull request #164 from microsoft/dilan/include-microsoft-public-tests
...
Include Tests for Microsoft Open Source Queries
2025-02-07 14:46:48 +00:00
Mathias Vorreiter Pedersen
642780e7d6
C++: Accept more test changes.
2025-02-07 14:41:47 +00:00
Dilan Bhalla
ba97b92148
microsoft public namespace edit
2025-02-06 23:41:09 -08:00
Dilan Bhalla
312bc523a6
adding msft open source tests
2025-02-06 17:11:09 -08:00
Dilan
b0c11b5a78
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-02-06 21:05:28 +00:00
dilanbhalla
9be5b3c344
Merge pull request #163 from microsoft/update-powershell-cfg-library-after-2.20.4
...
PS: Fixup CFG library in preparation for 2.20.4
2025-02-06 13:03:57 -08: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
dilanbhalla
c749c19db4
Update CommandInjection.ql
2025-02-06 12:04:51 -08:00
dilanbhalla
fa74d05211
Update CommandInjection.ql
2025-02-06 12:04:39 -08:00
dilanbhalla
14ab30ce1f
Update DoNotUseInvokeExpression.ql
2025-02-06 12:04:29 -08:00
Mathias Vorreiter Pedersen
c43b682862
PS: Ensure that the PowerShell CFG library compiles with CodeQL version 2.20.4.
2025-02-06 19:55:29 +00: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
Raul Garcia
cd9a0f1776
Merge pull request #161 from microsoft/dilan/query-id-msft-namespace
...
Add Microsoft-Public Namespace to Query IDs
2025-02-04 12:05:42 -08:00
Dilan Bhalla
54f0bc1afb
adding msft namespace to msft query ids
2025-02-04 11:54:38 -08:00
Kristen Newbury
5f355c7f55
Add first sample JCA encryption model
2025-02-04 11:55:09 -05:00
Dilan Bhalla
405a4f545b
working for first version, updating to autoincrementing logic
2025-02-02 23:12:13 -08:00
Dilan Bhalla
c8077a5117
minor fix
2025-02-02 22:58:46 -08:00
Dilan Bhalla
d6da994507
minor fix
2025-02-02 22:46:15 -08:00
Dilan Bhalla
d09d8c83ed
minor fix
2025-02-02 22:37:43 -08:00
Dilan Bhalla
dd9e87c777
minor fix
2025-02-02 22:35:44 -08:00
Dilan Bhalla
d59576e55b
minor fix
2025-02-02 22:30:34 -08:00
Dilan Bhalla
9c7dca6774
minor fix
2025-01-31 16:30:58 -08:00
Dilan Bhalla
19ea28c7d5
minor fix
2025-01-31 16:26:11 -08:00
Dilan Bhalla
472a51e3b5
minor fix
2025-01-31 16:02:17 -08:00
Dilan Bhalla
c3a0bc25f9
minor fix
2025-01-31 16:00:11 -08:00
Dilan Bhalla
1eb5e9bc87
accidentally removed codeql install step
2025-01-31 15:56:38 -08:00
Dilan Bhalla
efe01c151e
first time publish, hardcode to 0.0.1
2025-01-31 15:49:10 -08:00
Dilan Bhalla
4e24f3231f
minor fix
2025-01-31 15:46:10 -08:00
Dilan Bhalla
c99146a041
minor fix
2025-01-31 15:39:04 -08:00
Dilan Bhalla
cc4ce3b8d1
minor fix
2025-01-31 15:37:48 -08:00
Dilan Bhalla
6958dff31f
minor fix
2025-01-31 15:36:35 -08:00
Dilan Bhalla
d1b30ef13d
minor fix
2025-01-31 15:34:47 -08:00
Dilan Bhalla
a6fe1b5ed1
open source package publish
2025-01-31 15:33:54 -08:00
dilanbhalla
a88f3ce16d
Merge pull request #160 from microsoft/dilan/remove-js-dataflow-deprecation-labels
...
TEMPORARY: Remove JavaScript Deprecation Labels
2025-01-31 14:18:55 -08:00
Dilan Bhalla
34a577de00
missed deprecation label removal for code injection query
2025-01-31 14:17:51 -08:00
Dilan Bhalla
714036110c
removing javascript dataflow deprecations
2025-01-31 11:17:08 -08:00
Mathias Vorreiter Pedersen
29d07ae059
Merge pull request #159 from microsoft/dataflow-stack-cleanup-3
...
Java: Update file that was forgotten in #157
2025-01-31 18:04:25 +00:00
Mathias Vorreiter Pedersen
403ad3c7bd
Shared: Add missing transitive closure.
2025-01-31 12:04:34 +00:00
Mathias Vorreiter Pedersen
712d8aa322
Java: Update file that was forgotten in the dataflow-stack PR.
2025-01-31 10:19:21 +00:00
Mathias Vorreiter Pedersen
df06d34625
Merge branch 'main' into interprocedural-controlflow
2025-01-30 18:40:23 +00:00
dilanbhalla
3237b2c3f7
Merge pull request #158 from microsoft/dataflow-stack-cleanup-2
...
Java/C#: Add missing files from #157
2025-01-30 10:07:50 -08:00
Mathias Vorreiter Pedersen
d144c26c04
Java/C#: Add missing files.
2025-01-30 17:44:32 +00:00
dilanbhalla
ee6624a425
Merge pull request #157 from microsoft/dataflow-stack-cleanup
...
Shared: Refactor `DataFlowStack`
2025-01-30 09:29:13 -08:00
Mathias Vorreiter Pedersen
c825ca8ec6
Shared: Refactor DataFlowStack so that we don't depend on our own modifications to the shared dataflow library files.
2025-01-30 16:21:21 +00:00
Mathias Vorreiter Pedersen
464ae8baf1
Shared: Autoformat.
2025-01-30 16:19:20 +00:00
Mathias Vorreiter Pedersen
e4378b26b8
All languages: Get rid of the Microsoft modifications to the GitHub dataflow files.
2025-01-30 15:40:52 +00: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
dilanbhalla
81fa6fcd2a
Merge pull request #155 from microsoft/brodes/open_source_query_transition
...
Brodes/open source query transition
2025-01-29 01:29:16 -08:00
Ben Rodes
350742abc8
Merge branch 'main' into brodes/open_source_query_transition
2025-01-28 14:41:39 -05:00
Dilan
25a46a882b
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-01-28 19:01:55 +00:00
dilanbhalla
fee6373fa8
Merge pull request #156 from microsoft/update-powershell-dataflow-after-shared-changes
...
Powershell: Fix dataflow library after GitHub changes
2025-01-28 11:00:45 -08:00
dilanbhalla
273738e47c
Merge branch 'main' into update-powershell-dataflow-after-shared-changes
2025-01-28 11:00:32 -08:00
Ben Rodes
da10292d8f
Merge branch 'main' into brodes/open_source_query_transition
2025-01-28 12:18:18 -05:00
Nicolas Will
e027b0e9a0
WIP: add properties
2025-01-28 02:02:06 +01:00
dilanbhalla
547b56223f
Update sync-main.yml
2025-01-27 11:31:54 -08:00
dilanbhalla
e3494af9e0
Update sync-main.yml
2025-01-27 11:29:44 -08:00
dilanbhalla
70e27a4add
Update sync-main.yml
2025-01-27 11:23:18 -08: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
Josh Brown
2fa64d0db5
Accept test case changed lines
2025-01-23 14:04:26 -08:00
Josh Brown
a09847f518
Merge new versions of cpp leap year queries
2025-01-23 12:47:40 -08:00
Mathias Vorreiter Pedersen
25f8f049c3
Powershell: Update changes to remain in sync with GitHub's shared libraries.
2025-01-23 18:06:22 +00:00
Nicolas Will
395d54bf86
Create Base.qll
2025-01-23 12:46:09 +01:00
REDMOND\brodes
1376b0c355
Deprecated and hardcoded protocol queries and help
2025-01-15 16:26:55 -05:00
REDMOND\brodes
69cbbffd8f
Adding UncheckedBoundsEnumAsIndex ql, help and example
2025-01-15 16:20:04 -05:00
REDMOND\brodes
34fe60dbfb
KDF ql and qhelp
2025-01-15 16:18:33 -05:00
REDMOND\brodes
5d3f35bc8f
HardcodedIVCNG qhelp and ql
2025-01-15 16:13:13 -05:00
REDMOND\brodes
4eb92afd25
Banned Modes ql and qhelp
2025-01-15 16:10:31 -05:00
REDMOND\brodes
9f09e67693
Adding BannedEncryption qhelp, ql, cap and cng qll, cryptofilters qll and misc. crypto example files
2025-01-15 13:16:57 -05:00
REDMOND\brodes
9668fb3875
SizeOfConstIntMacro qhelp, ql, examples and related qll.
2025-01-15 13:03:29 -05:00
REDMOND\brodes
ad626acbd3
Adding ArgumentIsSizeofOrOperation.qhelp, ql, and example files.
2025-01-15 13:01:08 -05:00
REDMOND\brodes
0f8f96c62e
Adding IncorrectUsageOfRtlCompareMemory.qhelp, ql and example files.
2025-01-15 12:59:34 -05:00
REDMOND\brodes
7edf552023
Adding BadOverflowGuard qhelp, example code for help, and ql file.
2025-01-15 12:56:36 -05:00
REDMOND\brodes
936ecfc4cd
All remaining leap year ql and qhelp files.
2025-01-15 12:37:21 -05:00
REDMOND\brodes
7eee4f2ea5
Adding LeapYear.qll and Adding365DaysPerYear ql and help.
2025-01-15 12:25:41 -05:00
REDMOND\brodes
99fa75b818
Leap Year Examples
2025-01-15 12:11:01 -05:00
Chanel
0bb0031802
Merge pull request #154 from microsoft/invoke-expression-ps-query
...
invoke expression powershell query
2025-01-09 15:43:37 -08:00
Chanel
6d55972f67
Merge branch 'main' into invoke-expression-ps-query
2025-01-09 15:37:53 -08:00
Dilan
4fd7aec87f
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2025-01-09 21:59:09 +00:00
Chanel
7f5e5ffa37
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2025-01-09 10:41:16 -08:00
Chanel Young
17f9c9a0b5
invoke expression powershell query
2025-01-09 10:22:32 -08: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
dilanbhalla
faa5554ea7
Merge pull request #153 from microsoft/revert-152-dilan/rust-exclude-broken-queries
...
Revert "Remove Broken Rust Queries" + Stub DataflowStack required Interface
2024-12-19 10:21:08 -08:00
Josh Brown
2d97d0f629
WIP stubbing for DataFlowStack
2024-12-18 23:18:25 -08:00
Josh Brown
618732228d
WIP stubbing for DataFlowStack
2024-12-18 23:16:23 -08:00
Josh Brown
5a17608c12
WIP stubbing for DataFlowStack
2024-12-18 23:13:25 -08:00
Josh Brown
fa1013ad15
Remove deprecated zipslip DataFlow configuration class, update test case
2024-12-18 22:03:31 -08:00
Josh Brown
00b556cc54
Revert "Remove Broken Rust Queries"
2024-12-19 16:39:08 +11:00
dilanbhalla
aec5d89621
Merge pull request #152 from microsoft/dilan/rust-exclude-broken-queries
...
Remove Broken Rust Queries
2024-12-17 17:11:04 -08:00
Dilan Bhalla
9575c0ed2a
excluding broken queries
2024-12-17 17:07:36 -08:00
Dilan
2e6d9e7ca5
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-12-10 18:26:05 +00:00
dilanbhalla
46cbe2f260
Merge pull request #151 from microsoft/dilan/remove-deprecated-dataflow
...
Remove Deprecated DataFlow Libs
2024-12-10 10:24:48 -08:00
Dilan Bhalla
f91c91e4e2
resolve dataflow conflict
2024-12-09 13:36:44 -08:00
Mathias Vorreiter Pedersen
57f5b9748c
C++: Instantiate the new shared library for C++.
2024-12-05 19:26:42 +00:00
Mathias Vorreiter Pedersen
f514753d63
C++: Add a 'shared' interprocedural control-flow library. I am keeping it in the cpp directory now to avoid qlpack headache.
2024-12-05 19:26:12 +00:00
dilanbhalla
58f8523276
Merge pull request #147 from microsoft/revert-146-dilan/msft-extractor-queries
...
Revert "Failed Extraction Queries"
2024-12-03 10:51:11 -08:00
dilanbhalla
a7cdda7a5b
Revert "Failed Extraction Queries"
2024-12-03 10:50:15 -08:00
Dilan
0e25de1af0
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-12-02 13:59:17 +00:00
Mathias Vorreiter Pedersen
029fb0bcf2
Merge pull request #145 from microsoft/jb1/isLibraryFile-nomagic
...
No magic on `ClassifyFiles::isLibraryFile`
2024-11-26 11:50:19 +00:00
Josh Brown
52d7a3bb99
Merge remote-tracking branch 'origin/main' into jb1/isLibraryFile-nomagic
2024-11-26 03:43:07 -08:00
Mathias Vorreiter Pedersen
2d66955750
Merge pull request #146 from microsoft/dilan/msft-extractor-queries
...
Failed Extraction Queries
2024-11-25 13:19:24 +00:00
Dilan Bhalla
eb56cb94b0
metadata fixes
2024-11-22 14:29:43 -08:00
Dilan Bhalla
e3a04757d7
msft extractor queries
2024-11-22 14:11:02 -08:00
Josh Brown
e60df2c50e
Merge branch 'main' into jb1/isLibraryFile-nomagic
2024-11-22 14:56:11 +11:00
Josh Brown
15f92fcda8
No magic isLibraryFile
2024-11-21 19:52:03 -08:00
dilanbhalla
54d9eda50a
Update powershell-pr-check.yml
2024-11-20 14:09:27 -08:00
dilanbhalla
6fb39c65c5
Update powershell-pr-check.yml
2024-11-20 14:09:06 -08:00
dilanbhalla
b22ee5752d
Update powershell-pr-check.yml
2024-11-20 13:28:52 -08:00
dilanbhalla
ac868f412c
Update powershell-pr-check.yml
2024-11-20 13:21:15 -08:00
dilanbhalla
5dca7cd175
Merge pull request #143 from microsoft/dilan/powershell-pr-check
...
PowerShell PR Check
2024-11-20 12:35:22 -08:00
dilanbhalla
44e48a7588
Update powershell-pr-check.yml
2024-11-20 12:17:06 -08:00
dilanbhalla
514285c2fc
Update sync-main.yml
2024-11-20 12:16:38 -08:00
dilanbhalla
105f7395d7
Delete powershell/ql/src/queries/security/cwe-078/test.ql
2024-11-20 12:14:08 -08:00
dilanbhalla
147784a102
Create test.ql
2024-11-20 12:11:39 -08:00
dilanbhalla
7257b4a0a2
Update powershell-pr-check.yml
2024-11-20 12:08:15 -08:00
dilanbhalla
1dd5e34e0e
Create powershell-pr-check.yml
2024-11-20 12:04:11 -08:00
Lindsay Simpkins
861ae8abc4
Merge pull request #142 from microsoft/lsimpkins/powershell-buildmodes
...
PS: support buildmode none in extractor
2024-11-20 14:11:51 -05:00
Lindsay Simpkins
ff03d6c22a
PS: support buildmode none in extractor
2024-11-19 19:38:55 -05:00
Mathias Vorreiter Pedersen
e9b7925432
Merge pull request #141 from microsoft/powershell-cmd-injection-fewer-sinks
...
PS: Improve sinks in `powershell/command-injection`
2024-11-12 20:25:17 +00:00
Mathias Vorreiter Pedersen
ba8a37c625
PS: Add more injetion sinks and type models.
2024-11-12 20:12:57 +00:00
Mathias Vorreiter Pedersen
308afb996b
PS: Add common GAC (global assembly cache) assemblies and all automatic varibles.
2024-11-12 20:12:54 +00:00
Mathias Vorreiter Pedersen
f103fed6de
PS: Use ! to mark static members/methods.
2024-11-12 20:12:52 +00:00
Mathias Vorreiter Pedersen
50c05517d2
PS: Include implicit qualifiers.
2024-11-12 20:05:20 +00:00
Mathias Vorreiter Pedersen
a382d08915
PS: Don't raise an alert on all call operator node arguments.
2024-11-11 15:25:18 +00:00
Mathias Vorreiter Pedersen
5b5f6ec3c3
Merge pull request #140 from microsoft/powershell-storestep-avoid-cp
...
PS: Remove accidental CP
2024-11-11 12:28:43 +00:00
Mathias Vorreiter Pedersen
446b3ea0e1
PS: Accept test changes.
2024-11-11 12:28:00 +00:00
Mathias Vorreiter Pedersen
7fe9cce53f
PS: Avoid CP.
2024-11-11 12:19:46 +00:00
Mathias Vorreiter Pedersen
50188a2175
PS: Drive-by: Fix toString on Cmd.
2024-11-11 12:19:33 +00:00
Mathias Vorreiter Pedersen
86a40b9b0b
Merge pull request #138 from microsoft/powershell-tainted-command-query
...
PS: Add the first non-experimental query
2024-11-08 20:44:15 +01:00
Mathias Vorreiter Pedersen
87cbfd191f
Merge pull request #139 from microsoft/powershell-fix-multiple-cfg-successors
...
PS: Fix multiple CFG successors
2024-11-08 20:43:59 +01:00
Mathias Vorreiter Pedersen
40f50dd472
PS: Ensure the parameter has the right enclosing function.
2024-11-08 19:41:52 +00:00
Mathias Vorreiter Pedersen
b3de6a23ea
PS: Add tests.
2024-11-08 16:07:12 +00:00
Mathias Vorreiter Pedersen
40cf8dd387
PS: Add test dependency on powereshell-queries.
2024-11-08 16:07:11 +00:00
Mathias Vorreiter Pedersen
e8274a66a5
PS: Add qhelp.
2024-11-08 16:07:09 +00:00
Mathias Vorreiter Pedersen
299c3e9eed
PS: Add 'powershell/command-injection' query.
2024-11-08 16:07:07 +00:00
Mathias Vorreiter Pedersen
0fb75afd33
Merge pull request #137 from microsoft/powershell-taint-through-string-interpolation
...
PS: Taint-flow through string interpolation
2024-11-08 17:06:23 +01:00
Mathias Vorreiter Pedersen
f16b2cbd76
PS: Accept test changes.
2024-11-08 16:04:10 +00:00
Mathias Vorreiter Pedersen
5a715c7d11
PS: Flow through string interpolation.
2024-11-08 16:01:23 +00:00
Mathias Vorreiter Pedersen
d5d3712db4
PS: Add taint test.
2024-11-08 15:59:26 +00:00
Mathias Vorreiter Pedersen
16aacd87e0
Merge pull request #136 from microsoft/powershell-first-query-preps
...
PS: Add AST and CFG classes for operator `&` and add environment variable reads as local flow sources
2024-11-08 16:07:08 +01:00
Mathias Vorreiter Pedersen
4a2fd527ed
PS: Add reads of environment variables as local flow sources.
2024-11-08 15:01:18 +00:00
Mathias Vorreiter Pedersen
9f0f0ca8a4
PS: Add placeholder for speculative flow now that this has been merged on the GitHub side.
2024-11-08 15:00:37 +00:00
Mathias Vorreiter Pedersen
aaa01820e0
PS: Add AST and CFG nodes for operator &.
2024-11-08 14:59:56 +00:00
Dilan
1e1fd4566c
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-11-07 17:59:18 +00:00
Mathias Vorreiter Pedersen
f96a984b1f
Merge pull request #135 from microsoft/api-graphs-qualified-calls
...
PS: Allow `Instance` on explicit module uses
2024-11-07 14:03:34 +01:00
Mathias Vorreiter Pedersen
2255fda9e6
PS: Accept test changes. These are all from the changes to 'toString' from the previous commit.
2024-11-07 12:59:06 +00:00
Mathias Vorreiter Pedersen
a086d63f31
PS: Drive-by fix: Better toString on Cmd.
2024-11-07 12:47:58 +00:00
Mathias Vorreiter Pedersen
7531d88f6d
PS: Allow explicit module qualifiers to be selected with the 'instance' path.
2024-11-07 12:47:23 +00:00
Mathias Vorreiter Pedersen
689a34b823
PS: Add a public dataflow node class for TypeNames.
2024-11-07 12:46:08 +00:00
Mathias Vorreiter Pedersen
938069d5ba
PS: Include more module IPA nodes.
2024-11-07 12:45:06 +00:00
Mathias Vorreiter Pedersen
8550178112
Merge pull request #134 from microsoft/powershell-mad
...
PS: Add API graphs and models-as-data libraries
2024-11-06 15:05:36 +01:00
Mathias Vorreiter Pedersen
18d8de1fc8
PS: Add a bunch of source models.
2024-11-06 13:43:18 +00:00
Mathias Vorreiter Pedersen
d02ad25aaa
PS: Add (empty) model-related files.
2024-11-06 13:43:16 +00:00
Mathias Vorreiter Pedersen
4344e70543
PS: Include certain statements as local source nodes.
2024-11-06 13:43:14 +00:00
Mathias Vorreiter Pedersen
4f58b19217
PS: Add wrapper classes for local and remote flow sources.
2024-11-06 13:43:13 +00:00
Mathias Vorreiter Pedersen
2ffbf179d8
PS: Dataflow additions to support api graphs.
2024-11-06 13:43:10 +00:00
Mathias Vorreiter Pedersen
9a03d10eb1
PS: Add API graph files.
2024-11-06 13:43:07 +00:00
Mathias Vorreiter Pedersen
314951779d
PS: Add shared files for API graphs.
2024-11-06 13:43:03 +00:00
Mathias Vorreiter Pedersen
5852fe40d8
PS: Add a concept of 'source call' vs. 'library call' to avoid non-monotonic recursion in the next commits.
2024-11-06 13:43:01 +00:00
Mathias Vorreiter Pedersen
cfde677eb2
PS: AST and control-flow additions required for MaD and Api graphs.
2024-11-06 13:42:58 +00:00
Mathias Vorreiter Pedersen
68c729f8cd
PS: Models-as-data skeleton.
2024-11-06 13:41:05 +00:00
Mathias Vorreiter Pedersen
9fb5711cc6
PS: Drive-by fix: Match Ruby's implementation of 'getAMatchingContent'.
2024-11-06 13:41:04 +00:00
Mathias Vorreiter Pedersen
94220ec26b
PS: Make use of static type information in dataflow dispatch.
2024-11-06 13:41:03 +00:00
Mathias Vorreiter Pedersen
92a8c84ce6
PS: Add predicates for getting the static type of a parameter.
2024-11-06 13:41:02 +00:00
Mathias Vorreiter Pedersen
ef36d6b03c
Merge pull request #133 from microsoft/powershell-extract-implicit-models-followup
...
PS: #132 follow-up
2024-11-06 12:53:49 +01:00
Mathias Vorreiter Pedersen
a2158e2b68
PS: Add an extractor option to control whether to extract PSModulePath files and use that new option when running ql tests.
2024-11-06 11:52:27 +00:00
Mathias Vorreiter Pedersen
43f986c8c8
Merge pull request #132 from microsoft/powershell-extract-implicit-models
...
PS: Extract source files found via `PSModulePath`
2024-11-06 11:19:20 +01:00
Mathias Vorreiter Pedersen
a56cbfe425
PS: Upgrade and downgrade scripts.
2024-11-06 10:14:33 +00:00
Mathias Vorreiter Pedersen
28ddb9aa5b
PS: Mark which files are from the PSModulePath environment variable.
2024-11-06 10:14:31 +00:00
Mathias Vorreiter Pedersen
261d7d7679
PS: Also extract .psd1 files.
2024-11-06 10:14:28 +00:00
Mathias Vorreiter Pedersen
df962d7626
PS: Also extract files from the PSModulePath environment variable.
2024-11-06 10:14:26 +00:00
Mathias Vorreiter Pedersen
e6f8df7f96
Merge pull request #131 from microsoft/powershell-splitting
...
PS: Use the new shared control-flow splitting library
2024-11-04 14:57:55 +00:00
Mathias Vorreiter Pedersen
faf3d7c943
PS: Accept test changes.
2024-11-04 14:49:52 +00:00
Mathias Vorreiter Pedersen
38451a8285
PS: Implement conditional splitting in the Powershell CFG.
2024-11-04 14:49:36 +00:00
dilanbhalla
7a252e4089
Merge pull request #130 from microsoft/dilan/powershell-suites
...
Adding powershell suites
2024-11-01 14:15:08 -07:00
Dilan Bhalla
027e01d18c
adding powershell suites
2024-11-01 14:13:38 -07:00
dilanbhalla
fcd875d75f
Merge pull request #129 from microsoft/dilan/powershell-splitting-fix
...
commenting out problematic powershell qll code
2024-10-30 11:05:06 -07:00
Dilan Bhalla
4ff362fdb6
commenting out problematic powershell qll code
2024-10-30 11:03:10 -07:00
Raul Garcia
490957ad86
Merge pull request #117 from microsoft/SqlConnFP_fix
...
Fixing a false positive in cs/insecure-sql-connection
2024-10-22 10:03:14 -07:00
Raul Garcia
97bfc5dad7
Update csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerGood.cs
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2024-10-22 09:20:19 -07:00
Raul Garcia
8b9139f18b
Update csharp/ql/src/Security Features/CWE-327/InsecureSQLConnectionInitializerBad.cs
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2024-10-22 09:20:12 -07:00
Raul Garcia
0662013ef5
Update csharp/ql/src/Security Features/CWE-327/InsecureSQLConnection.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2024-10-22 09:20:01 -07:00
Dilan
7ad49cf3ff
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-10-21 17:59:16 +00:00
Mathias Vorreiter Pedersen
2f835e5f19
Merge pull request #128 from microsoft/powershell-taint-through-operations
...
PS: Taint through operations
2024-10-17 17:03:01 +01:00
Mathias Vorreiter Pedersen
d70d40913c
PS: Accept test changes.
2024-10-17 16:52:17 +01:00
Mathias Vorreiter Pedersen
d0febd7aae
PS: Add taint flow through all operations.
2024-10-17 16:52:16 +01:00
Mathias Vorreiter Pedersen
cd017db09f
PS: Add taint versions of local flow tests.
2024-10-17 16:52:14 +01:00
Mathias Vorreiter Pedersen
c728c7dba5
PS: Add helper predicates and classes to operations.
2024-10-17 16:52:13 +01:00
Mathias Vorreiter Pedersen
34781b8730
PS: Add test with missing flow.
2024-10-17 16:52:11 +01:00
Mathias Vorreiter Pedersen
0890b22048
Merge pull request #127 from microsoft/powershell-fix-if-extraction
...
PS: Fix if statement clause extraction
2024-10-17 14:08:59 +01:00
Mathias Vorreiter Pedersen
e6c7ac2b21
PS: Accept test changes.
2024-10-17 14:07:11 +01:00
Mathias Vorreiter Pedersen
cc1348516f
PS: Don't double increment when looping through if clauses.
2024-10-17 14:06:39 +01:00
Mathias Vorreiter Pedersen
e55c718a5e
Merge pull request #126 from microsoft/powershell-global-parameter-positions
...
PS: Include parameter positions for top level functions
2024-10-17 11:53:25 +01:00
Mathias Vorreiter Pedersen
6bb859dab0
PS: Accept test changes.
2024-10-17 11:52:34 +01:00
Mathias Vorreiter Pedersen
9278f03753
PS: Include parameter positions for top levels.
2024-10-17 11:52:31 +01:00
Mathias Vorreiter Pedersen
97d5af7b6b
PS: Add failing test.
2024-10-17 11:42:29 +01:00
Mathias Vorreiter Pedersen
c93daeb99f
Merge pull request #125 from microsoft/global-parameters
...
PS: Global parameter support
2024-10-16 20:17:16 +01:00
Mathias Vorreiter Pedersen
dec3e7191c
PS: Add test and accept test changes.
2024-10-16 20:15:01 +01:00
Mathias Vorreiter Pedersen
b426c1fc62
PS: Make top level a function as well.
2024-10-16 20:12:10 +01:00
Mathias Vorreiter Pedersen
56c703ec80
PS: Move a bunch of predicates into ScriptBlock.
2024-10-16 20:11:49 +01:00
Mathias Vorreiter Pedersen
d3b9e139c4
PS: Extend the set of sources in tests.
2024-10-16 18:54:24 +01:00
Mathias Vorreiter Pedersen
3c18124faf
PS: Add taint-tracking files.
2024-10-16 18:26:34 +01:00
Mathias Vorreiter Pedersen
4cd37d63d7
Merge pull request #124 from microsoft/powershell-more-correct-value-from-property-name
...
PS: Allow for `ValueFromPipelineByPropertyName` to also read off an `ElementContent`
2024-10-16 16:47:51 +01:00
Mathias Vorreiter Pedersen
ef75ffef56
PS: Accept test changes.
2024-10-16 16:43:02 +01:00
Mathias Vorreiter Pedersen
a8de859dfb
PS: Add a failing test.
2024-10-16 16:41:06 +01:00
Mathias Vorreiter Pedersen
7836a09e8a
fixup! PS: Rename a few classes and tests.
2024-10-16 16:40:32 +01:00
Mathias Vorreiter Pedersen
70bc32a542
PS: Make sure we handle pipeline-value-from-property-name variables when passed an array.
2024-10-16 16:39:30 +01:00
Mathias Vorreiter Pedersen
b66f3b02aa
PS: Rename a few classes and tests.
2024-10-16 16:26:51 +01:00
Mathias Vorreiter Pedersen
bfa9210b4b
Merge pull request #123 from microsoft/flow-through-ValueFromPipelineByPropertyName
...
PS: Flow through `ValueFromPipelineByPropertyName` parameters
2024-10-15 16:11:42 +01:00
Mathias Vorreiter Pedersen
34c821fd2d
PS: Drive-by fix.
2024-10-15 16:09:42 +01:00
Mathias Vorreiter Pedersen
3c38133bf3
PS: Drive-by fix.
2024-10-15 16:09:40 +01:00
Mathias Vorreiter Pedersen
fb74de4860
PS: Accept test changes.
2024-10-15 16:09:36 +01:00
Mathias Vorreiter Pedersen
fad9133343
PS: Add a read step out of property name parameter nodes.
2024-10-15 16:09:32 +01:00
Mathias Vorreiter Pedersen
87cc9cd88a
PS: Also ignore pipeline property name parameters in the pipeline-related predicates.
2024-10-15 15:48:05 +01:00
Mathias Vorreiter Pedersen
1dcd3180b1
PS: Add test with missing flow.
2024-10-15 15:43:39 +01:00
Mathias Vorreiter Pedersen
a16b51a0bb
Merge pull request #122 from microsoft/powershell-flow-through-conversions
...
PS: Flow through conversions
2024-10-15 13:39:28 +01:00
Mathias Vorreiter Pedersen
0e298a80e8
PS: Flow through parentheses.
2024-10-15 13:37:20 +01:00
Mathias Vorreiter Pedersen
e683f04e7b
PS: Rename getExpr to getBase on ParenExpr.
2024-10-15 13:37:03 +01:00
Mathias Vorreiter Pedersen
959cbd7467
PS: Add another failing test with parentheses.
2024-10-15 13:36:17 +01:00
Mathias Vorreiter Pedersen
72e18ac135
PS: Flow through conversions.
2024-10-15 13:26:39 +01:00
Mathias Vorreiter Pedersen
43fcbcaffb
PS: Rename getExpr to getBase on ConvertExpr.
2024-10-15 13:26:18 +01:00
Mathias Vorreiter Pedersen
97672f9e91
PS: Add test.
2024-10-15 13:21:43 +01:00
Mathias Vorreiter Pedersen
91d3f11bcc
Merge pull request #121 from microsoft/flow-through-hashtables
...
PS: Flow through hash table creation, reads, and writes
2024-10-15 12:58:44 +01:00
Mathias Vorreiter Pedersen
2aacb580e2
PS: Accept test changes.
2024-10-15 12:54:17 +01:00
Mathias Vorreiter Pedersen
96de8111b5
PS: Dataflow through hash table creation, reads and writes.
2024-10-15 12:53:34 +01:00
Mathias Vorreiter Pedersen
656f98d361
PS: AST and CFG improvements to hash tables.
2024-10-15 12:53:07 +01:00
Mathias Vorreiter Pedersen
37c12639ed
PS: Improve constant expression AST hierachy.
2024-10-15 12:52:41 +01:00
Mathias Vorreiter Pedersen
c8d70470a0
PS: Add tests with missing flow.
2024-10-15 12:46:54 +01:00
Mathias Vorreiter Pedersen
8aa119b6dc
Merge pull request #120 from microsoft/flow-through-array-expr
...
PS: Flow through arrays
2024-10-14 20:15:07 +01:00
Mathias Vorreiter Pedersen
bc7c893006
PS: Accept test changes.
2024-10-14 20:10:51 +01:00
Mathias Vorreiter Pedersen
8bed9536bf
PS: Flow through array expressions.
2024-10-14 20:09:19 +01:00
Mathias Vorreiter Pedersen
e63778a009
PS: CFG and AST helpers.
2024-10-14 20:08:54 +01:00
Mathias Vorreiter Pedersen
efee104f3d
PS: Generalize the current ReturnContainer computation.
2024-10-14 20:06:46 +01:00
Mathias Vorreiter Pedersen
eb0f094e0b
Merge pull request #119 from microsoft/powershell-unwrapping
...
PS: Flow through pipelines
2024-10-14 20:02:01 +01:00
Mathias Vorreiter Pedersen
1b454ed3e1
PS: add tests and accept test changes.
2024-10-14 18:14:52 +01:00
Mathias Vorreiter Pedersen
0aa6670247
PS: Model underscore parameters as pipeline parameters.
2024-10-14 18:14:50 +01:00
Mathias Vorreiter Pedersen
a0e17ee37b
PS: Implicitly read any element content at sinks when doing taint flow.
2024-10-14 18:14:47 +01:00
Mathias Vorreiter Pedersen
1ec0f53a18
PS: Don't perform store steps and (and index removal, and all the othe complex return business) when there is only a single returned expression.
2024-10-14 18:14:45 +01:00
Mathias Vorreiter Pedersen
b2225fe7b5
PS: Drive-by performance fix: Don't generate N store steps when storing into an unknown index.
2024-10-14 18:14:43 +01:00
Mathias Vorreiter Pedersen
01a556e583
PS: Ensure the constants 0 .. 10 always exists.
2024-10-14 18:14:42 +01:00
Mathias Vorreiter Pedersen
51269633b0
PS: Pipeline flow.
2024-10-14 18:14:40 +01:00
Mathias Vorreiter Pedersen
cc995b1059
PS: Generalize getARead.
2024-10-14 18:14:38 +01:00
Mathias Vorreiter Pedersen
950a10be90
PS: Fix CFG ordering on CmdExpr.
2024-10-14 18:14:35 +01:00
Mathias Vorreiter Pedersen
830bf57d3a
PS: Pipeline parameter and argument positions.
2024-10-14 18:14:33 +01:00
Mathias Vorreiter Pedersen
cbf9496202
PS: Helper predicates and classes.
2024-10-14 18:14:31 +01:00
Mathias Vorreiter Pedersen
3c19578e89
PS: Hide the new nodes and enure that we still show the old return node.
2024-10-14 18:14:28 +01:00
Mathias Vorreiter Pedersen
93a48646e6
PS: Accept test changes.
2024-10-14 18:14:26 +01:00
Mathias Vorreiter Pedersen
6797f8f729
PS: Add flow into, and out of, the new implicit unwrapping nodes.
2024-10-14 18:14:23 +01:00
Mathias Vorreiter Pedersen
15a22e5746
PS: Make the new return node an acual return node.
2024-10-14 18:14:21 +01:00
Mathias Vorreiter Pedersen
91a6dce01b
PS: Add read step when we need unwrapping.
2024-10-14 18:14:17 +01:00
Mathias Vorreiter Pedersen
ea2f155a1f
PS: Add two new kinds of nodes: A node that represents implicit unwrapping and a new node to hold the final return value of a function.
2024-10-14 16:51:55 +01:00
Mathias Vorreiter Pedersen
706eff2b14
PS: Us control-flow nodes in 'ReturnContainer' instead of dataflow nodes.
2024-10-11 11:59:44 +01:00
Mathias Vorreiter Pedersen
76bd4150b4
PS: Drive-by fix: '' is the same thing as ''
2024-10-11 11:17:37 +01:00
REDMOND\brodes
e0ee60f3dd
Updated expected file.
2024-10-10 13:31:53 -04:00
Mathias Vorreiter Pedersen
8a575c4d20
Merge pull request #118 from microsoft/powershell-add-return-and-out-nodes
...
PS: Add flow out of functions
2024-10-10 12:28:56 +01:00
Raul Garcia
c1f7422f0e
Fixing test cases
2024-10-09 16:53:33 -07:00
Raul Garcia
a179fa021f
Fixing Test cases
2024-10-09 14:44:48 -07:00
Mathias Vorreiter Pedersen
1527479518
PS: Accept test changes.
2024-10-09 19:29:04 +01:00
Mathias Vorreiter Pedersen
a6b256371f
PS: Add return and out nodes.
2024-10-09 19:29:03 +01:00
Mathias Vorreiter Pedersen
54521ad54d
PS: Add a 'CallNode' helper class.
2024-10-09 19:29:02 +01:00
Mathias Vorreiter Pedersen
b34e36984d
PS: Add failing tests.
2024-10-09 19:29:01 +01:00
REDMOND\brodes
b95b275136
qlref's were incorrect.
2024-10-09 13:55:28 -04:00
Mathias Vorreiter Pedersen
0814a90668
Merge pull request #116 from microsoft/powershell-add-empty-completion
...
PS: Add `Emptiness` completion to get rid of CFG inconsistencies
2024-10-08 20:02:08 +02:00
Mathias Vorreiter Pedersen
31f232d205
PS: Accept test changes.
2024-10-08 18:57:16 +01:00
Mathias Vorreiter Pedersen
7eb98c1122
PS: Add an emptiness successor to get rid of CFG inconsistencies.
2024-10-08 18:57:00 +01:00
Mathias Vorreiter Pedersen
a4e1860d4f
Merge pull request #115 from microsoft/powershell-fix-dead-end-for-stmt
...
Powershell fix dead end for stmt
2024-10-08 16:47:57 +02:00
Mathias Vorreiter Pedersen
7ef8bfa8d7
PS: Don't interpret Cfg.ql as a graph.
2024-10-08 15:45:01 +01:00
Mathias Vorreiter Pedersen
6557081a96
PS: Accept test changes.
2024-10-08 15:39:10 +01:00
Mathias Vorreiter Pedersen
892b038565
PS: Support missing elements in for statements.
2024-10-08 15:38:46 +01:00
Mathias Vorreiter Pedersen
7e66dc3481
Merge pull request #114 from microsoft/powershell-flow-into-this
...
PS: Support flow through `this`
2024-10-08 16:38:08 +02:00
Mathias Vorreiter Pedersen
fb8d67f64f
PS: Accept test changes.
2024-10-08 15:20:39 +01:00
Mathias Vorreiter Pedersen
455e56d804
PS: Support 'this' as a parameter in SSA and dataflow.
2024-10-08 15:20:36 +01:00
Mathias Vorreiter Pedersen
61d5f4412c
PS: AST support for 'this'.
2024-10-08 15:20:33 +01:00
Mathias Vorreiter Pedersen
a429485b56
PS: Create an internal class to model 'Arguments'.
2024-10-08 15:20:31 +01:00
Mathias Vorreiter Pedersen
597147be71
PS: Refactor the way we do 'internal' AST related classes.
2024-10-08 15:20:29 +01:00
Mathias Vorreiter Pedersen
ca1c9120b5
PS: Add test with missing flow.
2024-10-08 15:20:27 +01:00
Mathias Vorreiter Pedersen
68b74f8af2
PS: Accept changes that hadn't been accepted before.
2024-10-08 15:20:24 +01:00
Dilan
878bd5b098
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-10-04 20:59:08 +00:00
Mathias Vorreiter Pedersen
78a1d069bc
Merge pull request #113 from microsoft/powershell-element-content
...
PS: Add `ElementContent` for tracking flow through arrays
2024-10-04 21:18:58 +02:00
Mathias Vorreiter Pedersen
494ef7a44c
PS: Fix missing flow.
2024-10-04 20:08:20 +01:00
Mathias Vorreiter Pedersen
4d8809a808
PS: Add another class of missing flow.
2024-10-04 20:06:22 +01:00
Mathias Vorreiter Pedersen
1de38e2cbc
PS: Accept test changes.
2024-10-04 19:48:44 +01:00
Mathias Vorreiter Pedersen
3c80652b91
PS: Autoformat and silence 'unused paramter' warning.
2024-10-04 19:33:29 +01:00
Mathias Vorreiter Pedersen
cbfd0b363b
PS: Add element content flow for reads and writes into arrays.
2024-10-04 19:33:28 +01:00
Mathias Vorreiter Pedersen
1f558a0b7f
PS: Add CFG classes for array literals.
2024-10-04 19:33:27 +01:00
Mathias Vorreiter Pedersen
28b654df46
PS: Add helper clases for index expression.
2024-10-04 19:33:26 +01:00
Mathias Vorreiter Pedersen
22e508b85b
PS: Introduce a class for constant values.
2024-10-04 19:33:23 +01:00
Mathias Vorreiter Pedersen
820f4b2575
PS: Add tests with arrays.
2024-10-04 19:33:22 +01:00
Raul Garcia
64aca2632b
Fixing a false positive in cs/insecure-sql-connection, and adding a new query to remediate a false negative
2024-10-03 18:37:33 -07:00
Mathias Vorreiter Pedersen
421258b8f9
Merge pull request #112 from microsoft/powershell-more-type-flow
...
PS: Add more type-tracking flow
2024-10-03 20:47:01 +02:00
Mathias Vorreiter Pedersen
b622e09fe7
PS: Accept test changes.
2024-10-03 19:43:55 +01:00
Mathias Vorreiter Pedersen
e38f6301a6
PS: Also support type tracking of objects constructed with New-Object.
2024-10-03 19:43:54 +01:00
Mathias Vorreiter Pedersen
32f7f1b7e4
PS: Merge the non-member function and member function classes. Also rename member function to 'Method' since that's the name used by Powershell documentation.
2024-10-03 19:43:51 +01:00
Mathias Vorreiter Pedersen
5103d34dbf
PS: Add tests.
2024-10-03 19:07:21 +01:00
Mathias Vorreiter Pedersen
46ead0d7f7
Merge pull request #111 from microsoft/powershell-more-control-flow
...
PS: More control flow
2024-10-03 12:30:51 +02:00
Mathias Vorreiter Pedersen
bcbb1bbce0
PS: Accept tests.
2024-10-03 11:25:26 +01:00
Mathias Vorreiter Pedersen
52129a981f
PS: Add lots of missing control flow. We're now complete on 'fleschutz/PowerShell'.
2024-10-03 11:25:15 +01:00
Mathias Vorreiter Pedersen
c7976d5090
Merge pull request #110 from microsoft/powershell-dataflow-fixes
...
Powershell: Fix dataflow/SSA consistency errors.
2024-10-03 12:17:51 +02:00
Mathias Vorreiter Pedersen
7eac066118
Powershell: Fix dataflow/SSA consistency errors.
2024-10-03 11:11:44 +01:00
Mathias Vorreiter Pedersen
c7850b141d
Merge pull request #109 from microsoft/powershell-call-target-resolution
...
PS: Resolve function calls
2024-10-02 17:56:21 +02:00
Mathias Vorreiter Pedersen
953bd09c1c
Merge pull request #106 from microsoft/tainted-path-barrier-with-state
...
C#: Make `StartsWith` and `EndsWith` sanitizers on normalized paths
2024-10-02 17:32:56 +02:00
Mathias Vorreiter Pedersen
816aa79a45
PS: Add helper predicate on 'Call' for getting a runtime target.
2024-10-02 15:37:19 +01:00
Mathias Vorreiter Pedersen
b05409380a
PS: Resolve non-member function calls using the dataflow's lambda call resolution features.
2024-10-02 15:36:39 +01:00
Mathias Vorreiter Pedersen
f6a5b4b182
PS: Resolve member function calls using the shared type-tracking library.
2024-10-02 15:34:45 +01:00
Mathias Vorreiter Pedersen
b6dfbc3182
PS: Instantiate most of the shared type-tracking library.
2024-10-02 15:30:50 +01:00
Mathias Vorreiter Pedersen
9049407fb4
PS: More AST cleanup.
2024-10-02 14:45:20 +01:00
Mathias Vorreiter Pedersen
655cb8ef9a
PS: Fix 'getEnclosingScope' and add 'getEnclosingFunction'.
2024-10-02 14:44:09 +01:00
Mathias Vorreiter Pedersen
43c75504e1
PS: Also support method calls as calls.
2024-10-02 12:56:36 +01:00
Mathias Vorreiter Pedersen
e36e6175dd
Merge pull request #108 from microsoft/fix-powershell-compilation
...
PS: Fix compile errors and warnings.
2024-10-02 13:38:21 +02:00
Mathias Vorreiter Pedersen
32502a5be7
PS: Fix compile errors and warnings.
2024-10-02 12:31:51 +01:00
Ben Rodes
939b2181d4
Wchar fp fixes ( #107 )
...
* Adding tests and updated expected file with false positives to correct.
(cherry picked from commit 26e58532ee )
* Modifications to the query to address false positives.
(cherry picked from commit cc24f1ed9f )
* Updating expected file, false positives now resolved.
(cherry picked from commit 92c8d39ba3 )
* Correct comment.
(cherry picked from commit 338ab96593 )
* Changing from hasIntermediateType to getABaseType.
(cherry picked from commit c4737c7fbb )
* Switching to looking for explicit declaration of unsigned char, to avoid cases where unsigned char is the default char width for `char`.
(cherry picked from commit 51e787b316 )
* Altering ordering for exists statement to be clearer.
(cherry picked from commit 31324fc778 )
* Altering exists predicate ordering to be clearer.
(cherry picked from commit c91f7f4918 )
* Changing name of predicate to be clearer, and removing an unused parameter.
(cherry picked from commit 318e75c094 )
* Removing unnecessary bracket/singleton set literal.
(cherry picked from commit 162519185d )
* Formatting.
(cherry picked from commit c496503053 )
2024-10-01 09:51:10 -04:00
Mathias Vorreiter Pedersen
758196ed8d
C#: Accept test changes.
2024-10-01 12:40:49 +01:00
Mathias Vorreiter Pedersen
89bdcfb53d
C#: Allow 'StartsWith' and 'EndsWith' to be barriers when the path is normalized.
2024-10-01 12:34:40 +01:00
Mathias Vorreiter Pedersen
9457e5305e
C#: Add a flow state to represent whether the path is normalized.
2024-10-01 12:33:04 +01:00
Mathias Vorreiter Pedersen
864bde242f
C#: Add a FP testcase.
2024-10-01 12:26:58 +01:00
Mathias Vorreiter Pedersen
60cda950dc
Merge pull request #105 from microsoft/powershell-argument-parameter-matching
...
PS: Implement argument/parameter matching in dataflow
2024-09-27 12:30:26 +01:00
Mathias Vorreiter Pedersen
b6019655ce
PS: Use named sets to model parameter and argument matching.
2024-09-26 18:53:31 +01:00
Mathias Vorreiter Pedersen
e4c702ef14
PS: Represent sets of parameter names.
2024-09-26 18:53:30 +01:00
Mathias Vorreiter Pedersen
7f25caf3f6
PS: Add various helper predicates.
2024-09-26 18:53:29 +01:00
Mathias Vorreiter Pedersen
5e2051bdea
PS: Add test.
2024-09-26 18:53:28 +01:00
Mathias Vorreiter Pedersen
5803e0611e
Merge pull request #104 from microsoft/powershell-field-flow
...
PS: Add field flow
2024-09-26 11:31:12 +01:00
Mathias Vorreiter Pedersen
1ce4c2fcbf
PS: Add tests.
2024-09-24 16:53:56 +01:00
Mathias Vorreiter Pedersen
f51e0b0133
PS: Add field flow.
2024-09-24 16:53:48 +01:00
Mathias Vorreiter Pedersen
3fa466efa9
Merge pull request #102 from microsoft/powershell-very-basic-flow-steps
...
PS: Add very basic dataflow steps
2024-09-23 18:23:58 +01:00
Mathias Vorreiter Pedersen
f2d89a24f8
PS: Add flow steps from SSA and from right-hand of assignment to assignment.
2024-09-23 17:24:29 +01:00
Mathias Vorreiter Pedersen
dd2c5ef897
Merge pull request #101 from microsoft/add-inline-expectations-test-for-dataflow
...
PS: Add `InineExpectationsTest` library for dataflow tests
2024-09-23 16:29:35 +01:00
Mathias Vorreiter Pedersen
6beb8ee576
PS: Autoformat.
2024-09-23 16:27:42 +01:00
Mathias Vorreiter Pedersen
15b33ee612
PS: Add tests.
2024-09-23 16:27:39 +01:00
Mathias Vorreiter Pedersen
7fc82194e8
PS: Add inline expectations test library.
2024-09-23 16:27:37 +01:00
Mathias Vorreiter Pedersen
ccbfe0f168
PS: Prepare AST and other libraries for inline expectations tests.
2024-09-23 16:27:36 +01:00
Mathias Vorreiter Pedersen
67631e2d36
PS: Update AST hierachy after #100 .
2024-09-23 16:27:34 +01:00
Mathias Vorreiter Pedersen
be8a76335b
Merge pull request #100 from microsoft/powershell-fewer-pipelines-in-db
...
PS: Remove spurious `Pipeline`s in the DB
2024-09-23 13:24:17 +01:00
Mathias Vorreiter Pedersen
974017bb70
PS: Accept test changes.
2024-09-23 13:12:35 +01:00
Mathias Vorreiter Pedersen
0e606e69f7
PS: Add up and downgrade scripts.
2024-09-23 13:12:31 +01:00
Mathias Vorreiter Pedersen
18dd6d0b48
Add Powershell to the upgrade script prepation script.
2024-09-23 12:59:21 +01:00
Mathias Vorreiter Pedersen
26a75da26f
PS: Don't generate a 'Pipeline' element when the pipeline wraps a single element.
2024-09-23 12:58:17 +01:00
dilanbhalla
ba1646fe90
Merge pull request #99 from microsoft/dilan/2.19.0-upgrade-conflict
...
Dilan/2.19.0 upgrade conflict
2024-09-22 02:05:31 -07:00
Dilan Bhalla
a763263cbd
resolving merge conflict
2024-09-22 02:04:29 -07:00
dilanbhalla
2ee42cbc3b
Merge pull request #98 from microsoft/dilan/2.19.0-upgrade
...
2.19.0 upgrade
2024-09-18 15:04:52 -07:00
Dilan Bhalla
e370fa2dec
2.19.0 upgrade fix
2024-09-18 14:48:55 -07:00
Dilan Bhalla
14ce258807
2.19.0 upgrade
2024-09-18 14:28:42 -07:00
Mathias Vorreiter Pedersen
8fd89829cc
Merge pull request #97 from microsoft/powershell-integrate-ssa-into-dataflow
...
PS: Integrate SSA computations into dataflow
2024-09-17 10:02:52 +01:00
Mathias Vorreiter Pedersen
f14e1cc782
PS: Add more expression classes and a helper class for calls.
2024-09-16 20:32:25 +01:00
Mathias Vorreiter Pedersen
d616506f23
PS: Integrate SSA computations into dataflow.
2024-09-16 19:36:39 +01:00
Mathias Vorreiter Pedersen
c87873bd26
PS: Add more cfg classes and helper predicats.
2024-09-16 19:36:37 +01:00
Mathias Vorreiter Pedersen
88e32ba3e1
PS: Add local-flow test.
2024-09-16 19:16:23 +01:00
Mathias Vorreiter Pedersen
9bdfaa07b2
Merge pull request #96 from microsoft/powershell-param-def-class
...
PS: Place parameter definitions in the SSA graph
2024-09-16 18:41:44 +01:00
Mathias Vorreiter Pedersen
fbcac1020f
PS: Add some simple SSA tests.
2024-09-16 13:36:57 +01:00
Mathias Vorreiter Pedersen
0312dce009
PS: Fix the scope of parameters.
2024-09-16 13:34:04 +01:00
Mathias Vorreiter Pedersen
a6a157a476
PS: Add initial parameter definitions.
2024-09-16 13:33:56 +01:00
Mathias Vorreiter Pedersen
f0429fa0f3
Merge pull request #95 from microsoft/powershell-ssa-consistency
...
PS: Add SSA consistency queries and include parameter read/writes as SSA read/writes
2024-09-13 13:51:13 +01:00
Mathias Vorreiter Pedersen
cf59c60495
PS: Shorter names.
2024-09-13 13:47:39 +01:00
Mathias Vorreiter Pedersen
3cebf8ba75
PS: Also include parameter reads and writes as SSA reads and writes.
2024-09-13 13:47:15 +01:00
Mathias Vorreiter Pedersen
ec6422c1b6
PS: Add a concept of a local scope variable (which includes both parameters and local variables).
2024-09-13 13:43:45 +01:00
Mathias Vorreiter Pedersen
dfeb667b8a
PS: Add SSA consistency query file.
2024-09-13 13:43:17 +01:00
Mathias Vorreiter Pedersen
3459440a3c
Merge pull request #94 from microsoft/add-more-cfg-tests
...
PS: Add more CFG tests
2024-09-13 13:40:21 +01:00
Mathias Vorreiter Pedersen
e12fd07074
PS: Add more tests.
2024-09-13 13:37:03 +01:00
Mathias Vorreiter Pedersen
4343d6b592
Merge pull request #93 from microsoft/powershell-ssa-skeleton
...
PS: SSA skeleton and various fixes
2024-09-13 12:20:45 +01:00
Mathias Vorreiter Pedersen
9499972878
PS: Run tests and accept test changes.
2024-09-13 12:14:30 +01:00
Mathias Vorreiter Pedersen
c26fdc3103
PS: A few CFG bugfixes.
2024-09-13 12:14:11 +01:00
Mathias Vorreiter Pedersen
645db5bc90
PS: Add SSA library.
2024-09-12 18:26:42 +01:00
Mathias Vorreiter Pedersen
8b4e065fa2
PS: Port the Ruby framework for lifting parent/child relations at the AST level to parent/child relations at the CFG level.
2024-09-12 18:26:41 +01:00
Mathias Vorreiter Pedersen
9107075f41
PS: Fixup CFG after the introduction of variables into the AST.
2024-09-12 18:26:39 +01:00
Mathias Vorreiter Pedersen
810978d3ab
PS: Create an entity that represents a local variable and a parameter and introduce those into the AST.
2024-09-12 18:26:38 +01:00
Mathias Vorreiter Pedersen
e99404a051
PS: Fix missing parent relation for block statements.
2024-09-12 18:26:36 +01:00
Dilan
f63c2b071d
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-09-12 14:59:27 +00:00
Mathias Vorreiter Pedersen
b5950b0d3f
Merge pull request #92 from microsoft/powershell-dataflow-skeleton
...
PS: Add dataflow skeleton
2024-09-11 11:35:35 +01:00
Mathias Vorreiter Pedersen
faf774f79b
PS: Add dataflow skeleton
2024-09-10 18:25:58 +01:00
Mathias Vorreiter Pedersen
198ece98ce
Merge pull request #91 from microsoft/powershell-cfg-for-if-and-match
...
PS: CFG for `if`, `match`, exceptions
2024-09-09 18:11:25 +01:00
Mathias Vorreiter Pedersen
dbbb9b32f8
Merge branch 'main' into powershell-cfg-for-if-and-match
2024-09-09 18:09:19 +01:00
Mathias Vorreiter Pedersen
e133b5cedb
Merge pull request #88 from microsoft/more-specific-dbscheme-column-types
...
PS: Small dbscheme updates
2024-09-09 17:52:08 +01:00
Mathias Vorreiter Pedersen
5e4f52a52b
Merge pull request #90 from microsoft/powershell-even-more-ast-classes
...
PS: Add more AST classes
2024-09-09 17:51:56 +01:00
Mathias Vorreiter Pedersen
3bb5582ffe
Merge pull request #89 from microsoft/powershell-consistency-query
...
PS: Add consistency queries
2024-09-09 17:51:46 +01:00
Mathias Vorreiter Pedersen
f51a486c1c
PS: CFG for try/catch and throw.
2024-09-06 10:48:19 +01:00
Mathias Vorreiter Pedersen
4c59de4fde
PS: Implement CFG for if statements and switches.
2024-09-06 10:33:21 +01:00
Mathias Vorreiter Pedersen
fd29c470c0
PS: More cleanup of AST by fixing up toStrings and adding helper predicates.
2024-09-06 10:00:43 +01:00
Mathias Vorreiter Pedersen
830de2c904
PS: Add more AST classes.
2024-09-05 23:12:56 +01:00
Mathias Vorreiter Pedersen
084c868c8f
PS: Add consistency queries.
2024-09-05 18:21:43 +01:00
Mathias Vorreiter Pedersen
3f98f372a0
PS: Add an en try in the library qlpack to point to the upgrade folder.
2024-09-03 20:03:35 +01:00
Mathias Vorreiter Pedersen
b9774d20d9
PS: Fill in properties scripts. Since we didn't change anything these are basically noopts in this case.
2024-09-03 20:03:19 +01:00
Mathias Vorreiter Pedersen
cac0500d57
PS: Add upgrade and downgrade files. This is automatically done by running the script in 'github/codeql/blob/main/misc/scripts/prepare-db-upgrade.sh' (after adding powershell to line 83).
2024-09-03 20:02:34 +01:00
Mathias Vorreiter Pedersen
2f7545cee8
PS: Fixup the corresponding QL to match the state of the dbscheme.
2024-09-03 19:59:28 +01:00
Mathias Vorreiter Pedersen
581254e06f
PS: A couple of small dbscheme changes.
...
1. Flip the name of the child and parent column for 'parent' to reflect
how this is actually populated by the extractor.
2. Make some of the coumns more specific to the actual data type.
3. Make `@named_attribute_argument` an `@ast` branch.
2024-09-03 19:55:39 +01:00
Mathias Vorreiter Pedersen
20e76b39b3
Merge pull request #85 from microsoft/powershell-cfg-for-function-bodies-and-loops
...
PS: Control-flow for function bodies and loops
2024-09-03 19:51:22 +01:00
Mathias Vorreiter Pedersen
435ee53054
Merge pull request #87 from microsoft/powershell-port-injection-query
...
PS: Port `powershell/command-injection` from the internal repo
2024-09-03 18:39:07 +01:00
Mathias Vorreiter Pedersen
105e19e8e1
PS: New id to avoid overlapping with the internal query.
2024-09-03 18:36:08 +01:00
Mathias Vorreiter Pedersen
1cb059c381
PS: Fixup 'powershell/command-injection' so that it compiles after all the AST name changes.
2024-09-03 18:18:16 +01:00
Mathias Vorreiter Pedersen
c2bdc7aa52
PS: Add experimental query from the internal repo.
2024-09-03 18:18:15 +01:00
dilanbhalla
2fe3cee812
Merge pull request #86 from microsoft/dilan/2.18.3-upgrade
...
2.18.3 upgrade
2024-09-03 00:07:09 -07:00
Dilan Bhalla
db7c90d3dd
2.18.3 upgrade
2024-09-03 00:02:09 -07:00
Mathias Vorreiter Pedersen
39cdf0d896
PS: Accept test changes.
2024-08-30 16:15:20 +01:00
Mathias Vorreiter Pedersen
177fbccb61
PS: Add control-flow for loops.
2024-08-30 16:15:18 +01:00
Mathias Vorreiter Pedersen
41ba97b05c
PS: Specify when a completion should be a boolan completion.
2024-08-30 16:15:17 +01:00
Mathias Vorreiter Pedersen
5dee69bc33
PS: Add loop CFG tests.
2024-08-30 16:15:16 +01:00
Mathias Vorreiter Pedersen
f00f55f460
PS: Accept test changes.
2024-08-30 16:15:14 +01:00
Mathias Vorreiter Pedersen
b3332da759
PS: Implement more control-flow trees.
2024-08-30 16:15:13 +01:00
Mathias Vorreiter Pedersen
a70cf44acb
PS: Convert ScriptBlockTree to an abstract class and have TopLevel script blocks extend it.
2024-08-30 16:11:46 +01:00
Mathias Vorreiter Pedersen
1fa2cdf8a8
Add testcases with functions.
2024-08-30 16:11:45 +01:00
Mathias Vorreiter Pedersen
94a740f6b9
PS: Add continue completion and successor.
2024-08-30 16:11:44 +01:00
Mathias Vorreiter Pedersen
2d8a8c00ca
PS: Shorter predicate names for statement blocks.
2024-08-30 16:11:42 +01:00
Mathias Vorreiter Pedersen
7ad60ca59c
PS: Proper subclassing of binary expressions.
2024-08-30 16:11:41 +01:00
Mathias Vorreiter Pedersen
4e915f70d0
PS: Add unary expression AST class.
2024-08-30 16:11:40 +01:00
Mathias Vorreiter Pedersen
8575c53447
PS: Move 'getBody' up to the parent class.
2024-08-30 16:11:39 +01:00
Mathias Vorreiter Pedersen
844216afdc
PS: Better toString in a couple of classes.
2024-08-30 16:11:37 +01:00
Mathias Vorreiter Pedersen
c2f0c01f19
PS: Create a common subclass for non-member and member functions.
2024-08-30 16:11:36 +01:00
Mathias Vorreiter Pedersen
04f80108ea
Merge pull request #84 from microsoft/powershell-cfg-skeleton
...
PS: Initial CFG skeleton
2024-08-30 16:03:59 +01:00
Mathias Vorreiter Pedersen
f21cde2365
PS: Implement _just enough_ control flow to make the first example work.
2024-08-28 15:31:49 +01:00
Mathias Vorreiter Pedersen
626328c014
PS: Flip the parent child relation.
2024-08-28 15:02:51 +01:00
Mathias Vorreiter Pedersen
db46ca0bbf
PS: Add parent-child test that demonstrates that the relation is flipped.
2024-08-28 15:02:50 +01:00
Mathias Vorreiter Pedersen
8d59e09216
PS: Shorter predicate names and better toString messages.
2024-08-28 15:02:48 +01:00
Mathias Vorreiter Pedersen
c69d70a97f
PS: Add CFG test skeleton.
2024-08-28 15:02:45 +01:00
Mathias Vorreiter Pedersen
d29cb30ba5
PS: Add CFG skeleton.
2024-08-27 17:57:51 +01:00
Mathias Vorreiter Pedersen
b38c34ac58
PS: Accept test changes that I forgot to accept.
2024-08-27 17:52:25 +01:00
Mathias Vorreiter Pedersen
33ccf3f7f9
Merge pull request #82 from microsoft/powershell-index-files-options
...
PS: More fine-grained file indexing support
2024-08-27 17:47:48 +01:00
Mathias Vorreiter Pedersen
22a30ab952
Merge pull request #83 from microsoft/powershell-more-ast-classes
...
PS: Copy existing AST classes from internal repo
2024-08-27 00:28:24 +01:00
Mathias Vorreiter Pedersen
fd4b2b2c89
PS: Warn on implicit this to make CI happy.
2024-08-26 19:37:29 +01:00
Mathias Vorreiter Pedersen
c30feab8ac
PS: Port existing tests from internal repo.
2024-08-26 19:21:31 +01:00
Mathias Vorreiter Pedersen
71349afae7
PS: Add more AST classes.
2024-08-26 19:21:28 +01:00
Mathias Vorreiter Pedersen
023c88a073
PS: Use shorter and more standard names.
2024-08-26 18:54:51 +01:00
Mathias Vorreiter Pedersen
efba031745
PS: Fixup AST by adding missing imports. Also use extends instead of instanceof in AST classes.
2024-08-26 18:54:47 +01:00
Mathias Vorreiter Pedersen
0c4a3f4871
Add lib files from the internal repo.
2024-08-26 18:54:43 +01:00
Mathias Vorreiter Pedersen
98a098c5fa
PS: Support LGTM_INDEX_INCLUDE in the extractor.
2024-08-26 17:20:54 +01:00
Mathias Vorreiter Pedersen
8473678995
PS: Support --file-list option in the extractor.
2024-08-26 15:08:53 +01:00
dilanbhalla
9ba4ffdb14
Merge pull request #81 from microsoft/open-source-powershell-extractor
...
PS: Open source the powershell extractor
2024-08-23 12:26:22 -07:00
Mathias Vorreiter Pedersen
95d02e68c8
PS: Add readme with slight modifications from the internal repo.
2024-08-14 18:11:06 +01:00
Mathias Vorreiter Pedersen
4f8a94b4e8
PS: Add simple build script.
2024-08-14 18:11:04 +01:00
Mathias Vorreiter Pedersen
58fc649657
PS: Copy extractor and various scripts from internal repo to public repo.
2024-08-14 18:11:02 +01:00
Dilan
0550ff1040
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-08-13 14:59:34 +00:00
Ben Rodes
d4c0c4059d
Brodes/overflow buffer fixes ( #79 )
...
* Addreessing false positive due to incorrect use of getType
* Addressing false positive with strncpy.
* BufferAccess must be reachable. False positives observed where accesses occur in dead code.
* Formatting and updating tests.
2024-08-12 16:00:11 -04:00
dilanbhalla
fd512d2a2d
Merge pull request #80 from microsoft/more-2.18.1-upgrade-fixes
...
C#: More merge conflict fixes
2024-08-12 12:02:12 -07:00
Mathias Vorreiter Pedersen
fe6655b0d9
C#: More merge conflict fixes.
2024-08-12 19:23:07 +01:00
Lindsay Simpkins
aeaca1de7d
Merge pull request #78 from microsoft/fix-join-order-in-zipslip-query
...
C#: Fix join order in `cs/zipslip`
2024-08-09 10:27:04 -07:00
Mathias Vorreiter Pedersen
a826163cb4
C#: Fix join order in 'getFilePathArgument'.
2024-08-09 15:20:30 +01:00
Mathias Vorreiter Pedersen
be175aa1a0
C#: Prevent bad magic in a few predicates.
2024-08-09 15:19:54 +01:00
dilanbhalla
24517e3034
Merge pull request #77 from microsoft/dilan/2.18.1-upgrade-2
...
2.18.1 Upgrade Fix (DataFlowPrivate libraries)
2024-08-02 15:56:56 -07:00
Dilan Bhalla
ed8ada30e8
apply Mathias patch
2024-08-02 15:45:35 -07:00
dilanbhalla
be7fce57c2
Merge pull request #76 from microsoft/dilan/2.18.1-upgrade-2
...
2.18.1 Upgrade
2024-07-31 15:31:13 -07:00
Dilan Bhalla
73ee8ef664
2.18.1 merge conflict
2024-07-31 14:53:08 -07:00
Dilan Bhalla
db6fb7b5a3
2.18.1 merge
2024-07-31 14:52:51 -07:00
Dilan
7bc16a378d
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-07-11 09:59:18 +00:00
Chanel
471d4672c1
Merge pull request #74 from microsoft/users/chanely/insecure-sql-connection-versioncheck
...
Update to insecure sql connection to check for version
2024-06-27 12:14:53 -07:00
Dilan
ee338e3caa
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-06-27 17:59:08 +00:00
Josh Brown
5dd5e80d6e
autoformat
2024-06-26 13:23:23 -07:00
Chanel Young
f12f74ec77
delete unused predicate
2024-06-26 12:58:21 -07:00
Chanel Young
72d31c82aa
check if using version > 4.0, where encrypt true by default
2024-06-26 12:57:25 -07:00
Ben Rodes
9401ab219e
Update WeakEncryption.ql
2024-06-14 10:01:05 -04:00
dilanbhalla
f98735d499
Merge pull request #73 from microsoft/dilan/2.17.5-upgrade-revised
...
2.17.5 Upgrade
2024-06-12 13:44:58 -07:00
Dilan Bhalla
c01daaa40e
upgrading to 2.17.5
2024-06-12 12:35:56 -07:00
Josh Brown
cccbdf25c7
Merge pull request #72 from microsoft/jb1/v2.17.4-2
...
Import v2.17.4 commit history
2024-06-05 04:57:00 +10:00
Josh Brown
28fdf7bf53
Merge tag 'codeql-cli/v2.17.4' into jb1/v2.17.4-2
...
Compatible with CodeQL CLI 2.17.4
2024-06-04 11:54:03 -07:00
Josh Brown
959f3fa97c
Manual Merge DataFlowStack changes
2024-06-04 11:46:21 -07:00
Josh Brown
3f4156ced6
Merge pull request #71 from microsoft/jb1/v2.17.4
...
Merge upstream/v2.17.4
2024-06-05 04:38:10 +10:00
Josh Brown
e9a6ddab04
Manual merge, accept cs/zipslip test diff
2024-06-04 11:18:22 -07:00
Chanel
3b91979b14
Merge pull request #70 from microsoft/users/chanely-insecure-sql-connection
...
Fixing FP case for Insecure SQL connection
2024-05-16 14:44:44 -07:00
Chanel Young
300d048dbb
fp case if encrypt set in initializer
2024-05-16 13:30:26 -07:00
Lindsay Simpkins
651031b15e
python crypto update hmac module library ( #69 )
2024-05-16 09:35:27 -04:00
Ben Rodes
d548e47010
False positive workaround for incorrectly identified OpenSSL functions. ( #67 )
2024-05-14 14:55:51 -04:00
dilanbhalla
e1949c7d69
Merge pull request #64 from microsoft/jb1/v2.17.2
...
Merge upstream codeql-cli/v2.17.2
2024-05-09 15:06:11 -07:00
Josh Brown
d0329609e3
Manual merge v2.17.2
2024-05-09 13:23:42 -07:00
Dilan
7d944ccd43
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-04-24 15:59:16 +00:00
Josh Brown
5d2aa8b1ca
Merge pull request #49 from microsoft/jb1/zipslip-performance-fix
...
Zipslip performance fix
2024-04-19 03:24:42 +10:00
Josh Brown
20033b9b04
Merge pull request #58 from microsoft/jb1/improper-array-index
...
Jb1/improper array index
2024-04-19 03:24:27 +10:00
Josh Brown
db49d95e77
Filter out tests directories
2024-04-17 11:47:23 -07:00
Josh Brown
88e77ade8e
False positive test case
2024-04-09 16:25:09 -07:00
dilanbhalla
9709ebb2a3
Merge pull request #62 from microsoft/jb1/dfs-patch
...
DFS CPP + Java Compile Error patch
2024-04-09 16:05:51 -07:00
Josh Brown
7d8abf0eef
DataflowStack Signature fix
2024-04-09 15:28:49 -07:00
dilanbhalla
f99d2b0f78
Merge pull request #61 from microsoft/upstream-test
...
Merge upstream/main
2024-04-05 15:45:16 -07:00
Josh Brown
30bf0a7c8b
manual merge
2024-04-05 15:30:56 -07:00
Josh Brown
37d5c69e18
minor formatting
2024-04-05 14:53:07 -07:00
Josh Brown
31a1f43bba
constrain TT for SanitizedGuardTaintTrackingconfiguration to be only sourced from methods where there is a rootsanitizerMethodCall wihtin it
2024-03-28 10:50:59 -07:00
Josh Brown
f5197d75d8
autoformat + update hasQualifiedName
2024-03-28 10:50:59 -07:00
Josh Brown
80dc5f0d27
revert to enhanced version with performance issue
2024-03-28 10:50:58 -07:00
Denis Levin
baee3a3db3
Extendign password variable detection with patterns and antipatterns from C# query ( #59 )
2024-03-27 12:50:52 -04:00
Dilan
3325cb9ec6
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-03-26 12:59:35 +00:00
Josh Brown
720285f724
Filter out sources from test directories
2024-03-25 11:10:13 -07:00
Josh Brown
a3eecc33a8
Filter our sources in test folders
2024-03-22 14:47:14 -07:00
Dilan
955fd2cc5a
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-03-21 13:00:21 +00:00
dilanbhalla
ebb37ac0c2
Merge pull request #57 from microsoft/dilan/2.16.4-merge
...
2.16.4 Upgrade + ZipSlip Expected File Conflict
2024-03-11 14:29:53 -07:00
Dilan Bhalla
dfdb5c9c9d
merging 2.16.4, resolving zipslip .expected file conflict
2024-03-11 14:12:21 -07:00
Chanel
bbdf97e8f3
Merge pull request #55 from microsoft/dilan/chanel-sql-tedious
...
Chanel PR (SQL Tedious Package)
2024-02-28 11:13:22 -08:00
dilanbhalla
8e05f2a1f0
Update SQL.qll
2024-02-27 13:38:39 -08:00
dilanbhalla
134010ac7e
Update SQL.qll
2024-02-27 13:30:38 -08:00
dilanbhalla
fd51a7dbc1
Update README.md (test)
2024-02-26 14:56:15 -08:00
dilanbhalla
fb78b0dc93
Update README.md (test)
2024-02-26 14:36:02 -08:00
dilanbhalla
3d25260891
Update README.md (test)
2024-02-26 14:33:56 -08:00
dilanbhalla
47c41bd3e2
Update README.md (test)
2024-02-26 14:29:39 -08:00
Dilan Bhalla
87fd2fc067
upgrading to 2.16.3, resolving zipslip merge conflict
2024-02-22 15:24:05 -08:00
Josh Brown
98fb82fd10
Merge pull request #53 from microsoft/jb1/dataflowstack/java
...
DataFlowStack - Java Impl
2024-02-17 05:30:34 +11:00
Josh Brown
ba1eab32ba
Merge remote-tracking branch 'origin/main' into jb1/dataflowstack/java
2024-02-15 17:34:46 -08:00
Josh Brown
34cec001b6
java DataFlowStack impl
2024-02-14 10:57:40 -08:00
Dilan
50dad18134
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-02-12 18:59:04 +00:00
Josh Brown
5e9826a345
Merge pull request #26 from microsoft/jb1/lib/dataflowstack
...
DataFlowStack Common Library Init
2024-02-09 10:00:33 +11:00
Josh Brown
c92c212ea0
fix syntax errors introduced
2024-02-08 14:17:16 -08:00
Josh Brown
df915dc60c
Merge commit '737dd9d4c1' into jb1/lib/dataflowstack
2024-02-08 08:18:04 -08:00
Josh Brown
9147b9dd21
Merge branch 'jb1/lib/dataflowstack' of github.com:microsoft/codeql into jb1/lib/dataflowstack
2024-02-07 12:56:08 -08:00
Josh Brown
beed67ad23
Address PR Comments
2024-02-07 12:56:00 -08:00
Josh Brown
c0fd03499a
Update shared/dataflowstack/codeql/dataflowstack/DataFlowStack.qll
2024-02-08 06:15:29 +11:00
Josh Brown
3056e8cdab
Remove getNode as required interface
2024-01-29 16:15:57 -08:00
Josh Brown
2314d3be16
stubs
2024-01-29 16:14:20 -08:00
Josh Brown
151d001713
stub predicates for DataFlowCall
2024-01-27 18:18:43 -08:00
Josh Brown
39500b1965
getAnArgumentNode
2024-01-26 18:59:41 -08:00
Dilan
737dd9d4c1
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-01-25 14:59:06 +00:00
Josh Brown
bba946a06e
filling out further definitions, and code comments
2024-01-18 18:10:55 -08:00
Dilan
6c2c786571
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2024-01-16 14:59:23 +00:00
Josh Brown
9c1e33e66d
FlowStackFrame class working, TODO: getSucceedingTerminalStateFrame()
2024-01-12 15:13:37 -08:00
Josh Brown
e4a30bf791
BiStackAnalysisInit
2024-01-03 17:29:43 -08:00
Josh Brown
4e84c84e2d
Manual merge main
2023-12-29 17:01:56 -08:00
Josh Brown
f661529122
Merge pull request #37 from microsoft/jb1/df-java-isSource
...
MethodCallInsecureFileCreation isSource
2023-12-29 09:37:06 +11:00
Josh Brown
2f163b070a
MethodCallInsecureFileCreation isSource
2023-12-28 10:08:50 -08:00
Josh Brown
0f48db2694
Merge pull request #36 from microsoft/jb1/upgrade-shared-df-pathnode
...
Upgrade Shared DataFlow PathNode Signature
2023-12-28 05:15:22 +11:00
Josh Brown
5a8185dcaf
Syntax fix - extra or
2023-12-22 11:47:31 -08:00
Josh Brown
f57a5d7650
Upgrade shared DataFlow PathNode signature to include getASuccessor(), isSource()
2023-12-22 10:45:16 -08:00
Dilan
ff202c9e88
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-12-20 19:59:37 +00:00
Josh Brown
59732036b2
cpp getARuntimeTarget
2023-12-15 12:18:47 -08:00
Josh Brown
079f0fdbb5
StackFrameAnalysis example
2023-12-14 15:27:21 -08:00
Josh Brown
d1b1650cdd
StackFrameAnalysis module
2023-12-14 14:26:26 -08:00
Josh Brown
09bc54b644
Merge commit '2bc9039d8486ec0be727ae3836237e97ec791e85' into jb1/lib/dataflowstack
2023-12-13 10:38:13 -08:00
Josh Brown
5750c8df72
Removing comment
2023-12-13 10:09:41 -08:00
Dilan
2bc9039d84
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-12-11 16:59:07 +00:00
Josh Brown
d9aac53ec0
Merge remote-tracking branch 'origin/main' into jb1/lib/dataflowstack
2023-12-06 08:34:02 -08:00
Dilan
9214f63b5f
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-11-30 18:37:51 +00:00
dilanbhalla
e83425813b
Merge pull request #33 from microsoft/dilan/revert-printf-qll
...
Revert Printf.qll
2023-11-30 10:36:49 -08:00
dilanbhalla
b6b67b35ce
Update Printf.qll
2023-11-30 10:36:03 -08:00
Josh Brown
3559a5a5a1
Merge pull request #31 from microsoft/jb1/performance/revert-zipslip
...
Revert Zipslip to upstream
2023-11-28 05:34:04 +11:00
Josh Brown
c06ae12d58
Revert Zipslip to upstream
2023-11-16 10:47:57 -08:00
Dilan
954d489613
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-11-13 13:01:39 +00:00
Ben Rodes
b6eaf2fa61
Adding missing strsafe sprintf variants. ( #30 )
...
(cherry picked from commit bdae2af0e2 )
2023-11-08 14:46:09 -05:00
Josh Brown
c161ed42e1
dataflowstack init
2023-11-02 17:18:08 -07:00
Ben Rodes
d9364c060e
Merge pull request #14482 from MathiasVP/additional-call-targets-for-cpp ( #23 )
...
C++: Add an abstract class that can be used to extend `viableCallable`
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-10-23 10:12:11 -04:00
Dilan Bhalla
1cdf4aafb0
manual merge for 2.15.1, resolve zipslip conflict
2023-10-19 12:51:03 -07:00
dilanbhalla
90b7fd52c0
Update ZipSlipQuery.qll
2023-10-19 12:24:39 -07:00
dilanbhalla
6066e82071
Merge pull request #22 from microsoft/brodes/additional_target_cherry_pick
...
Brodes/additional target cherry pick
2023-10-18 11:15:35 -07:00
Benjamin Rodes
075e992ebe
Revert "Cherry picking commit bbf9bcde2a ( #21 )"
...
This reverts commit d4e5b27969 .
2023-10-18 10:32:58 -04:00
Benjamin Rodes
1026d89158
Merge branch 'main' into brodes/additional_target_cherry_pick
2023-10-18 10:23:06 -04:00
Benjamin Rodes
f19919bb52
Revert "Cherry picking commit bbf9bcde2a ( #21 )"
...
d4e5b27969
This reverts commit d4e5b27969 .
2023-10-18 10:17:53 -04:00
Ben Rodes
d4e5b27969
Cherry picking commit bbf9bcde2a ( #21 )
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-10-17 13:46:36 -04:00
Mathias Vorreiter Pedersen
ab827a5acd
Cherry picking commit bbf9bcde2a
2023-10-17 13:43:06 -04:00
Dilan
8555600c44
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-10-11 13:02:07 +00:00
Josh Brown
ea63fc03d5
Merge pull request #14289 from microsoft/jb1/16-cryptography-models-libraries-and-queries-migration ( #19 )
...
16 cryptography models libraries and queries migration
Co-authored-by: Rasmus Wriedt Larsen <rasmuswl@github.com >
2023-10-04 13:34:09 -04:00
Dilan
2bc3e28b18
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-09-26 13:59:31 +00:00
dilanbhalla
e5f74ddf8f
Update sync-main.yml
2023-09-14 11:56:27 -07:00
Dilan
4d77490444
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-09-14 16:13:35 +00:00
dilanbhalla
73a4cc89e3
Update sync-main.yml
2023-09-13 19:03:40 -07:00
dilanbhalla
c2fee6758f
Update sync-main.yml
2023-09-13 19:03:25 -07:00
dilanbhalla
c30661e1c1
Update CONTRIBUTING.md
2023-09-13 18:50:16 -07:00
dilanbhalla
3a75325ecb
Update README.md
2023-09-13 18:49:48 -07:00
dilanbhalla
d185c94549
Update sync-main.yml
2023-09-13 18:45:37 -07:00
dilanbhalla
4e656de043
Update CONTRIBUTING.md
2023-09-13 18:38:11 -07:00
dilanbhalla
fc00da801f
Update README.md
2023-09-12 21:19:42 -07:00
Dilan
bc2bb19491
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-09-12 16:13:57 +00:00
Dilan Bhalla
cd16271a56
Merge branch 'main' of https://github.com/github/codeql
2023-08-30 10:48:32 -07:00
Dilan Bhalla
3d7e6792e5
modifying gh libs instead of creating msft copies
2023-08-28 18:59:16 -07:00
Dilan Bhalla
76cec33ba8
Microsoft 2.14.3 resolving taintflow warning
2023-08-28 16:46:52 -07:00
Dilan Bhalla
7f61bfe155
fixing tainttracking module 2.14.3
2023-08-28 15:37:36 -07:00
Dilan
eb0e2c48ea
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-08-28 22:03:51 +00:00
Dilan Bhalla
d9b45c817d
Merge branch 'main' of https://github.com/microsoft/codeql
2023-08-27 23:53:31 -07:00
Dilan Bhalla
5ee67421b7
microsoft dataflow fix for 2.14.3
2023-08-27 23:53:25 -07:00
Dilan Bhalla
6b23eeebc5
Merge branch 'main' of https://github.com/github/codeql
2023-08-27 23:45:53 -07:00
Dilan
019cff2fc0
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-08-25 17:41:23 +00:00
dilanbhalla
0a9fc79525
Update sync-main.yml
2023-08-25 10:40:26 -07:00
dilanbhalla
f2994e70d0
Update DataFlow.qll
2023-08-25 10:39:28 -07:00
Dilan Bhalla
da08e0b4bd
Reverting temp dataflow from 2.14.3 to 2.14.1
2023-08-24 00:51:51 -07:00
Dilan Bhalla
8a9fd3539e
Adding internal C++ dataflow library
2023-08-23 00:05:19 -07:00
Dilan Bhalla
7acd76dc4c
temporarily disable sync main until 2.14.3
2023-08-22 09:56:49 -07:00
Dilan
08147f08df
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-07-28 12:01:37 +00:00
Dilan
d3e36cb49e
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-07-13 18:33:38 +00:00
Dilan
acda5fd88b
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-07-06 12:01:35 +00:00
dilanbhalla
72471f6993
Ben update to iterator.qll
2023-06-26 10:09:42 -07:00
Dilan
eb7a6667d7
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-06-19 20:49:44 +00:00
microsoft-github-policy-service[bot]
7b1c964869
Auto merge mandatory file pr
...
This pr is auto merged as it contains a mandatory file and is opened for more than 10 days.
2023-06-12 18:05:12 +00:00
microsoft-github-policy-service[bot]
c8f19d6ef0
Microsoft mandatory file
2023-06-02 16:20:00 +00:00
Dilan
7976cf8e77
Merge tag 'codeql-cli/latest'
...
Compatible with the latest released version of the CodeQL CLI
2023-05-31 17:57:24 +00:00
dilanbhalla
cb47517020
Update sync-main.yml
2023-05-31 10:56:29 -07:00
dilanbhalla
4b0d2b972f
Update sync-main.yml
2023-05-31 10:45:25 -07:00
dilanbhalla
4e5a095e1c
Merge pull request #9 from microsoft/jb1/zipslip-fix
...
Manual Merge: C# ZipSlip Conflict
2023-05-24 11:19:13 -07:00
Josh Brown
56b1047f66
Manual merge + updated test case of C# ZipSlip
2023-05-23 17:23:56 +10:00
Dilan Bhalla
6fbc070aaf
sync with upstream repository
2023-04-26 17:10:42 -07:00
Dilan Bhalla
b3cd535bdd
removing dead code test
2023-04-24 15:46:38 -07:00
Dilan Bhalla
bc51aee6ec
removing debugging git log line
2023-04-24 15:27:05 -07:00
Dilan Bhalla
9c72cba7e2
removing unshallow
2023-04-24 15:16:50 -07:00
Dilan Bhalla
8ce078ef2c
unshallow fetch
2023-04-24 15:14:27 -07:00
Dilan Bhalla
54716a84cf
remove allow unrelated histories on git merge
2023-04-24 15:04:49 -07:00
Dilan Bhalla
4fb30f35b3
test predicate
2023-04-24 14:59:43 -07:00
Dilan Bhalla
fd05c130d4
allow unrelated histories on merge
2023-04-24 14:55:18 -07:00
Dilan Bhalla
b0e4305c95
josh zipslip improvements
2023-04-24 14:49:27 -07:00
Dilan Bhalla
885d2491d8
merge instead of rebase
2023-04-24 14:46:35 -07:00