Compare commits

..

7965 Commits

Author SHA1 Message Date
Tom Hvitved
19119ea0d4 C#: Add some lambda flow tests for demo 2024-11-15 10:57:23 +01:00
Tom Hvitved
134707605b C#: Update expected test output 2024-11-15 09:35:25 +01:00
Tom Hvitved
1f2cda933d C#: Implement isVariableCaptureContentSet 2024-11-14 20:31:52 +01:00
Tom Hvitved
5c9e79e947 Data flow: Workaround for lambda + capture flow 2024-11-14 20:30:54 +01:00
Tom Hvitved
9d6ece1039 Data flow: Restrict lambda reads at actual lambda calls 2024-11-14 20:24:27 +01:00
Simon Friis Vindum
6ef4aef600 Data flow: Add comments and use more consistent camel case 2024-11-14 16:25:53 +01:00
Simon Friis Vindum
9891b412ca Java: Add toString for new ContentApprox elements 2024-11-14 15:49:49 +01:00
Simon Friis Vindum
c71898c265 Java: Consistent naming of TContent cases 2024-11-14 15:36:23 +01:00
Tom Hvitved
3ae793dd31 C#: Update lambda flow implementation 2024-11-14 14:46:00 +01:00
Tom Hvitved
906a4789f7 Data flow: Add LambdaArgs node 2024-11-14 14:25:36 +01:00
Anders Schack-Mulligen
7265884768 FlowSummaryImpl: Might actually be a bugfix for main?! 2024-11-14 14:22:33 +01:00
Anders Schack-Mulligen
333be603d3 Java: Add approx contents. 2024-11-14 14:16:39 +01:00
Tom Hvitved
9907e0d0bf C#: Implement new lambda flow interface 2024-11-13 21:04:12 +01:00
Tom Hvitved
6e69b636b9 Data flow: More lambda flow changes 2024-11-13 20:59:04 +01:00
Kasper Svendsen
8154500aa5 Data flow: Extend NodeEx.toString to new lambda nodes 2024-11-13 16:04:52 +01:00
Anders Schack-Mulligen
a43b0234b9 do the type thing 2024-11-13 14:44:23 +01:00
Anders Schack-Mulligen
925fd92485 fixup api diff 2024-11-13 14:27:32 +01:00
Kasper Svendsen
7228766a7c Data flow: Implement new lambda flow interface for Java 2024-11-13 14:26:07 +01:00
Anders Schack-Mulligen
15c8968dd4 gogogo shared code. 2024-11-13 14:25:05 +01:00
Tom Hvitved
c63283f762 Data flow: Add new lambda flow interface 2024-11-13 11:00:10 +01:00
Esben Sparre Andreasen
570260b4dc Merge pull request #17963 from github/esbena/actions/artifact-v4
chore(actions): bump to artifacts@v4
2024-11-12 15:51:14 +01:00
Taus
1ca2590146 Merge pull request #16764 from github/redsun82/python-match-fps
Python: tests with false positives around `match`
2024-11-12 15:43:32 +01:00
Esben Sparre Andreasen
a70438b72c chore(action): ruby-dataset-measure w artifacts@v4 2024-11-12 13:58:02 +01:00
Arthur Baars
3b2262be3a Update ruby-dataset-measure.yml 2024-11-12 12:52:09 +00:00
Esben Sparre Andreasen
2f50d25aaa feat(actions/qhelp-preview): unique artifact names 2024-11-12 13:29:09 +01:00
Esben Sparre Andreasen
351daaac8b feat(actions/MAD): matrix-unique artifact names 2024-11-12 13:29:01 +01:00
Esben Sparre Andreasen
b3fff05e7d chore(actions): most workflows onto artifacts@v4
`ruby-dataset-measure.yml` is not updated yet as it requires aid from the language team.
We can presumably disable the workflow during the brownout periods, but a fix will have to be present before the full deprecation happens
2024-11-12 13:26:38 +01:00
Anders Schack-Mulligen
d7fbf68a59 Merge pull request #17597 from aschackmull/java/chararraywriter-tostring
Java: Add model for CharArrayWriter.toString().
2024-11-12 12:55:44 +01:00
Calum Grant
1a688456f6 Merge pull request #17892 from github/calumgrant/telemetry
C++: Initial telemetry queries
2024-11-12 11:51:37 +00:00
Owen Mansel-Chan
349518b0d7 Merge pull request #17618 from owen-mc/go/mad/subtypes-promoted-methods
Go: Make the models-as-data subtypes column do something more sensible for promoted methods
2024-11-12 11:21:17 +00:00
Calum Grant
91b1cb8a76 C++: Some renaming 2024-11-12 09:49:10 +00:00
Simon Friis Vindum
7517ad3e4b Merge pull request #17959 from paldepind/rust-inline-flow-test
Rust: Setup inline flow test library
2024-11-12 10:47:08 +01:00
Jeroen Ketema
77ae26fca7 Merge pull request #17960 from jketema/guarded-free
C++: Add tests for experimental `cpp/guarded-free` query
2024-11-12 10:43:39 +01:00
Jeroen Ketema
79a9e9c6c0 C++: Address review comments 2024-11-12 10:13:37 +01:00
Napalys Klicius
6266dab518 Merge pull request #17951 from Napalys/napalys/reverse-support
JS: Added support for reverse function
2024-11-12 10:09:18 +01:00
Simon Friis Vindum
d9d3027667 Rust: Make improvements to getArgString based on PR comments 2024-11-12 09:45:33 +01:00
Jeroen Ketema
a29b958f5f C++: Address review comments 2024-11-12 09:08:36 +01:00
Tamás Vajk
ba26281b02 Merge pull request #17955 from tamasvajk/binlog/multiple
C#: Change extractor to accept multiple `binlog` files
2024-11-12 08:58:47 +01:00
Owen Mansel-Chan
fd4a6d4bb8 Change note 2024-11-11 23:55:57 +00:00
Owen Mansel-Chan
13fb92ad3e Rename getIntermediateEmbeddedType 2024-11-11 23:53:14 +00:00
Owen Mansel-Chan
d3a6452860 Add missing QLDoc 2024-11-11 23:50:09 +00:00
Owen Mansel-Chan
6af5b55d51 Refactor elementAppliesToQualifier
This is needed for performance when there are lots of embeddings.
2024-11-11 23:50:08 +00:00
Owen Mansel-Chan
3986dffc91 Keep methods and fields separate in SourceOrSinkElement
This improves performance.
2024-11-11 23:50:06 +00:00
Owen Mansel-Chan
b6a31b1def Restrict to Methods 2024-11-11 23:50:04 +00:00
Owen Mansel-Chan
57192e8154 Add even more tests 2024-11-11 23:49:58 +00:00
Owen Mansel-Chan
e813fa346b Fix case in some test-related file names 2024-11-11 23:48:34 +00:00
Owen Mansel-Chan
8abb0594c3 Combine two arms of newtype TSourceOrSinkElement 2024-11-11 23:48:32 +00:00
Owen Mansel-Chan
b2c2a94866 Accept review comment - doc clarification 2024-11-11 23:48:30 +00:00
Owen Mansel-Chan
39afb18ee4 Fix bad join order 2024-11-11 23:48:29 +00:00
Owen Mansel-Chan
80e8015e67 Inline late and remove manual magic 2024-11-11 23:48:27 +00:00
Owen Mansel-Chan
c2aee37210 getSyntacticQualifier -> getSyntacticQualifierBaseType
This improves performance.
2024-11-11 23:48:25 +00:00
Owen Mansel-Chan
ede3b9f033 Improve join order by making a separate predicate 2024-11-11 23:48:23 +00:00
Owen Mansel-Chan
e335737f38 Minor fixes to docs 2024-11-11 23:48:21 +00:00
Owen Mansel-Chan
adc946ec2b Revert simplification to make tests pass 2024-11-11 23:48:19 +00:00
Owen Mansel-Chan
4a1fce9168 Test non-promoted fields and methods 2024-11-11 23:46:10 +00:00
Chris Smowton
f61251cc24 Document elementAppliesToQualifier 2024-11-11 23:43:59 +00:00
Chris Smowton
7ffff43424 Improve comments 2024-11-11 23:43:57 +00:00
Chris Smowton
cd99bea9c1 Explain getSyntacticQual 2024-11-11 23:43:55 +00:00
Chris Smowton
ccc525abd3 Remove probably-unnecessary pragma 2024-11-11 23:43:53 +00:00
Chris Smowton
fd40662ad8 Rename getImplicitFieldReadInstruction 2024-11-11 23:43:51 +00:00
Chris Smowton
e290cecabd Rename ensureCorrectTypeInfo and getSyntacticRecv 2024-11-11 23:43:49 +00:00
Chris Smowton
17a3429f1e Correct hasTypeInfo doc comment 2024-11-11 23:43:47 +00:00
Chris Smowton
20e8d48869 Add comment noting that a Method or Field might have multiple SourceOrSinkElements 2024-11-11 23:43:45 +00:00
Chris Smowton
520acc4b1c Further simplify interpretElement to avoid 'm' only being used on one side of a disjunction 2024-11-11 23:43:44 +00:00
Chris Smowton
d9126d384f Simplify interpretElement 2024-11-11 23:43:42 +00:00
Chris Smowton
e90e313295 Simplify ensureCorrectTypeInfo 2024-11-11 23:43:40 +00:00
Owen Mansel-Chan
e46ec5a171 Fix MaD inheritance 2024-11-11 23:41:11 +00:00
Owen Mansel-Chan
91375d3a49 Update ExternalFlow.qll docs on subtypes column 2024-11-11 23:31:39 +00:00
Owen Mansel-Chan
a277bcbc3e Merge pull request #17941 from owen-mc/go/fix/missing-method-qualified-names
Go: fix missing qualified names for some promoted methods
2024-11-11 22:50:17 +00:00
Calum Grant
317f43d325 C++: Don't use PrintAST in a test 2024-11-11 17:16:47 +00:00
Calum Grant
2351328aa1 C++: Rename SourceFiles metric 2024-11-11 17:16:46 +00:00
Calum Grant
593dcb646b C++: Remove missing includes test 2024-11-11 17:16:44 +00:00
Calum Grant
fb82d435b5 C++: Various renamings 2024-11-11 17:16:43 +00:00
Calum Grant
34ee947d2f C++: Limit number of errors/includes to 50 2024-11-11 17:16:42 +00:00
Calum Grant
e6f3512056 C++: Remove unused class UndefinedIdentifier 2024-11-11 17:16:41 +00:00
Calum Grant
faeff396eb C++: Limit metrics to top 500 2024-11-11 17:16:39 +00:00
Calum Grant
067ecdeea0 C++: Match more tags 2024-11-11 17:16:38 +00:00
Calum Grant
9a81ce8bb4 C++: Separate int and float metrics 2024-11-11 17:16:37 +00:00
Calum Grant
8d2cef632e C++: Minor edits 2024-11-11 17:16:36 +00:00
Calum Grant
6c402adbcc C++: Minor edits 2024-11-11 17:16:35 +00:00
Calum Grant
a53e1dec20 C++: Minor edits 2024-11-11 17:16:34 +00:00
Calum Grant
f6776a4249 C++: Initial telemetry queries and tests 2024-11-11 17:16:32 +00:00
Jeroen Ketema
a5a6445b2e C++: Add tests for experimental cpp/guarded-free query 2024-11-11 17:29:28 +01:00
Simon Friis Vindum
cd2038a8f8 Rust: Setup inline flow test library 2024-11-11 16:41:59 +01:00
Cornelius Riemenschneider
fed240a2b2 Merge pull request #17956 from github/criemen/rust-upd-deps
Rust: Update cargo dependencies.
2024-11-11 16:06:09 +01:00
Napalys Klicius
42f7f73ae1 Update ArrayInPlaceManipulationTaintStep documentation 2024-11-11 15:38:57 +01:00
Michael Nebel
425b1b17d1 Merge pull request #17952 from michaelnebel/java/movemodels
Java: Move non-experimental models out of the experimental folder.
2024-11-11 15:28:53 +01:00
Tamas Vajk
46f168823c Improve code quality 2024-11-11 14:10:13 +01:00
Tamas Vajk
fe62900a15 C#: Change extractor to accept multiple binlog files 2024-11-11 12:56:24 +01:00
Michael B. Gale
d6ef8c3f9a Merge pull request #17946 from github/dependabot/go_modules/go/extractor/extractor-dependencies-c113e28156
Bump golang.org/x/tools from 0.26.0 to 0.27.0 in /go/extractor in the extractor-dependencies group
2024-11-11 11:31:21 +00:00
Cornelius Riemenschneider
e8aa5db07a Rust: Update cargo dependencies.
There was a recent round of tree-sitter-* package releases,
so the latest code is now a) released and b) available on crates.io.

Therefore, move away from the (super slow on CI) git dependencies to released crates instead.
This also includes a run of `cargo update`, so there's a bunch of more changes to the lockfile.
2024-11-11 12:13:14 +01:00
Simon Friis Vindum
ad6bd88f0a Merge pull request #17954 from paldepind/rust-data-flow-fix-inconsistencies
Rust: Fix data flow fix inconsistencies
2024-11-11 11:56:10 +01:00
Chris Smowton
89a2f0dc00 Merge pull request #17890 from smowton/smowton/fix/kotlin-use-nulltype
Kotlin extractor: use special <nulltype> for null literals
2024-11-11 10:54:21 +00:00
Simon Friis Vindum
aebce746df Rust: Create data flow nodes for parameters in the CFG
Before data flow nodes where created for all parameters in the AST. But
some AST parameters does not lead to any data flow (for instance
parameters in function pointer types).
2024-11-11 11:46:10 +01:00
Simon Friis Vindum
6a3d417836 Rust: Implement enclosing callable for additional classes 2024-11-11 11:11:29 +01:00
Napalys
ae57c12b15 Added change notes 2024-11-11 10:38:14 +01:00
Michael Nebel
404ca27aec Java: Move non-experimental models out of the experimental folder. 2024-11-11 10:08:45 +01:00
Simon Friis Vindum
bf07aa1cbd Merge pull request #17947 from paldepind/rust-ssa-node-printing
Rust: Mark SSA data flow nodes in output and hide them in paths
2024-11-11 09:55:26 +01:00
Simon Friis Vindum
55796badaf Rust: Mark SSA data flow nodes in output and hide them in paths 2024-11-11 08:48:48 +01:00
Simon Friis Vindum
e3662fa97f Merge pull request #17923 from geoffw0/unreachable4
Rust: More tests for rust/deadcode
2024-11-11 08:45:47 +01:00
Napalys
81bc7cd19f Refactored SortTaintStep to ArrayInPlaceManipulationTaintStep to support both sort and reverse functions. Fixed newly added test case. from 8026a99db7 2024-11-11 08:32:03 +01:00
Napalys
1c298f0231 Added test case for Array.prototype.reverse, which is currently not flagged as a potential sink. 2024-11-11 08:32:02 +01:00
Napalys
f1c6dc1d9b Moved SortTaintStep to more appropriate home TaintTracking->Arrays 2024-11-11 08:32:01 +01:00
dependabot[bot]
916184964b 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.26.0 to 0.27.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.26.0...v0.27.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 03:24:36 +00:00
Owen Mansel-Chan
0b24235de4 Update test results 2024-11-09 07:56:44 +00:00
Owen Mansel-Chan
9afdee4697 Accept changed test results and improve test 2024-11-09 07:55:02 +00:00
Florin Coada
f3c7352727 Merge pull request #17935 from github/changedocs/2.19.3
Changedocs for 2.19.3
2024-11-08 17:58:54 +00:00
Geoffrey White
727a7d4957 Merge branch 'main' into unreachable4 2024-11-08 17:39:15 +00:00
Paolo Tranquilli
5490975a27 Merge pull request #17943 from github/redsun82/rust-accept-inconsistencies
Rust: accept some inconsitencies for now
2024-11-08 18:17:30 +01:00
Paolo Tranquilli
9684df8535 Rust: accept some inconsitencies for now
The modified result is just a change due to a semantic conflict after introducing some
`toString` implementations.

The new inconsistency should be looked at more in detail.
2024-11-08 18:05:19 +01:00
Owen Mansel-Chan
c8f41206be Add a change note 2024-11-08 14:23:55 +00:00
Geoffrey White
c7112ef278 Rust: Accept consistency check changes. 2024-11-08 14:22:04 +00:00
Owen Mansel-Chan
38ee2d418a Fix bug by extracting more pointer types 2024-11-08 13:57:36 +00:00
Owen Mansel-Chan
5094cb851b Add test showing bug (SEmbedP.PMethod not showing) 2024-11-08 13:57:34 +00:00
Anders Schack-Mulligen
a311294080 Merge pull request #17932 from aschackmull/java/kotlin-notnull-typeflow
Kotlin: Support NotNullExpr in TypeFlow.
2024-11-08 13:48:15 +01:00
Michael B. Gale
71e4646489 Merge pull request #17934 from github/dependabot/go_modules/go/extractor/extractor-dependencies-ede2484c43
Bump golang.org/x/mod from 0.21.0 to 0.22.0 in /go/extractor in the extractor-dependencies group
2024-11-08 12:43:38 +00:00
Paolo Tranquilli
9cea631399 Merge pull request #17931 from github/redsun82/rust-target-dir
Rust: allow to specify the target directory
2024-11-08 13:34:03 +01:00
Paolo Tranquilli
26839f5e15 Merge pull request #17882 from github/redsun82/rust-resolve
Rust: extract some resolved paths
2024-11-08 13:33:41 +01:00
Geoffrey White
3805d0f958 Merge branch 'main' into unreachable4 2024-11-08 11:46:34 +00:00
Geoffrey White
0610c265e2 Merge pull request #17913 from geoffw0/unusedvar8
Rust: Fix rust/unused-variable FPs
2024-11-08 11:41:45 +00:00
Geoffrey White
7c2c5ee1fa Rust: Fix expected consistency results. 2024-11-08 11:22:35 +00:00
Geoffrey White
fc444f1f9a Merge branch 'main' into unusedvar8 2024-11-08 11:20:12 +00:00
Florin Coada
bee51091d6 Changedocs for 2.19.3 2024-11-08 10:43:42 +00:00
Erik Krogh Kristensen
9b6c96730d Merge pull request #17912 from mbarbero/patch-1
fix: add "actions" tag to ActionsArtifactLeak
2024-11-08 10:50:43 +01:00
Simon Friis Vindum
f2569c45a9 Merge pull request #17921 from paldepind/rust-df-enclosing-callable
Rust: Implement enclosing callable
2024-11-08 10:36:59 +01:00
Paolo Tranquilli
083394073a Rust: rename target_dir to cargo_target_dir, add to extraction options
Also removed the now unused `extract_dependencies` one.
2024-11-08 09:53:50 +01:00
dependabot[bot]
ccb92357a2 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.21.0 to 0.22.0
- [Commits](https://github.com/golang/mod/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-08 04:00:30 +00:00
Calum Grant
39b2d2c3d8 Merge pull request #17906 from github/calumgrant/bmn/wrong-number-format-args
C++: Fix FPs in cpp/wrong-number-format-arguments
2024-11-07 15:05:39 +00:00
Anders Schack-Mulligen
5602570e18 Kotlin: Support NotNullExpr in TypeFlow. 2024-11-07 15:25:23 +01:00
Simon Friis Vindum
22835c28ff Rust: Make a return node the last node before function exit 2024-11-07 15:21:11 +01:00
Tom Hvitved
a35a4b2d98 Merge pull request #17887 from hvitved/dataflow/provenance-order
Data flow: Order provenance output by textual representation
2024-11-07 14:19:18 +01:00
Simon Friis Vindum
1a000ecb46 Rust: Make minor data flow changes based on PR feedback 2024-11-07 13:04:54 +01:00
Paolo Tranquilli
4f6fda0100 Rust: allow to specify the target directory 2024-11-07 12:45:20 +01:00
Michael Nebel
fc8d8bbbb1 Merge pull request #17742 from michaelnebel/csharp/higherordermodels
C#: Models for higher order methods.
2024-11-07 11:12:46 +01:00
Paolo Tranquilli
3488b9fbca Merge pull request #17920 from github/redsun82/rust-files
Rust: exclude uncompiled files from semantics and surface semantic-less reason
2024-11-07 11:04:12 +01:00
Geoffrey White
df7bcfd116 Rust: Accept dataflow consistency check changes. 2024-11-07 09:54:39 +00:00
Tom Hvitved
26b048a645 Address review comment 2024-11-07 10:40:03 +01:00
Paolo Tranquilli
147d66b587 Merge branch 'main' into redsun82/python-match-fps 2024-11-07 09:46:32 +01:00
Paolo Tranquilli
64d522e447 Rust: address review 2024-11-07 09:39:44 +01:00
Michael Nebel
8041f00bf5 C#: Address more review comments. 2024-11-07 09:24:26 +01:00
Jami
07bb60da92 Merge pull request #17925 from jcogs33/jcogs33/vscode-setting-matchOnWordStartOnly-false
VSCode setting: turn off `editor.suggest.matchOnWordStartOnly`
2024-11-06 18:05:26 -05:00
Jami Cogswell
8e4a312ac7 Turn off editor.suggest.matchOnWordStartOnly 2024-11-06 16:41:20 -05:00
Geoffrey White
b3f7a8a46f Merge pull request #17908 from geoffw0/dfcons
Rust: Expose counts of data flow inconsistencies
2024-11-06 19:11:04 +00:00
Geoffrey White
18ce8be302 Update rust/ql/lib/codeql/rust/elements/internal/VariableImpl.qll
Co-authored-by: Simon Friis Vindum <paldepind@github.com>
2024-11-06 19:00:10 +00:00
Geoffrey White
fbfdd57383 Rust: Additional test cases for rust/dead-code. 2024-11-06 17:43:04 +00:00
Geoffrey White
a8b1cb3243 Rust: Make it so that all of the test functions may return. 2024-11-06 17:23:01 +00:00
Paolo Tranquilli
200715773f Rust: fix no_semantics_reason 2024-11-06 17:19:06 +01:00
Michael Nebel
e9c9519d90 C#: Address review comments. 2024-11-06 16:29:20 +01:00
Michael Nebel
55cfbccd43 C#/Java: Exclude summaries using callbacks in fields, properties and synthetic fields. 2024-11-06 16:29:19 +01:00
Michael Nebel
5c389355d0 C#: Simplify delegate read and store steps (remove dependency on parameter). 2024-11-06 16:29:17 +01:00
Michael Nebel
a86cd181a6 Java: Make language specific modifications. 2024-11-06 16:29:16 +01:00
Michael Nebel
395cababb3 C#: Add some model generator examples for higher order methods. 2024-11-06 16:29:14 +01:00
Michael Nebel
fe854812ec C#: Add read and store steps for delegate calls. 2024-11-06 16:29:13 +01:00
Simon Friis Vindum
dadc6059a8 Rust: Implement enclosing callable 2024-11-06 16:23:24 +01:00
Paolo Tranquilli
2987743e44 Rust: exclude uncompiled files from semantics and surface semanticless reason 2024-11-06 15:22:28 +01:00
Geoffrey White
bf0e1008ce Rust: Move some test cases together. 2024-11-06 13:14:52 +00:00
Simon Friis Vindum
ff80b249ca Merge pull request #17917 from paldepind/rust-df-types
Rust: Fix unique type data flow inconsistency
2024-11-06 14:02:00 +01:00
Simon Friis Vindum
60986d8c9b Rust: Fix unique type data flow inconsistency 2024-11-06 13:48:10 +01:00
Anders Schack-Mulligen
4df4a1e6c6 Merge pull request #17863 from aschackmull/shared/universal-flow
Shared: Add a Universal Flow library and refactor TypeFlow to use it.
2024-11-06 13:46:13 +01:00
Tom Hvitved
f8058e40af Merge pull request #17915 from hvitved/rust/pat-literal-cfg
Rust: Include literals in the CFG for literal patterns
2024-11-06 13:09:49 +01:00
Geoffrey White
8a35e151d1 Rust: Move the function pointer parameter exclusion into VariableImpl.qll. 2024-11-06 10:51:41 +00:00
Tom Hvitved
9392bf796a Rust: Include literals in the CFG for literal patterns 2024-11-06 09:21:52 +01:00
Simon Friis Vindum
6054855edb Merge pull request #17888 from paldepind/rust-data-flow-consistency
Rust: Data flow additions
2024-11-05 21:29:18 +01:00
Geoffrey White
1a5d2e1f5d Rust: Correct a comment and autoformat. 2024-11-05 15:22:46 +00:00
Geoffrey White
93836a55e2 Rust: Clean up code / clarify responsibilities and fix the issue in rust/unused-value as well. 2024-11-05 15:16:59 +00:00
Geoffrey White
bb5ee525fc Merge pull request #17757 from geoffw0/unusedvar7
Rust: Remove the workaround in rust/unused-variable.
2024-11-05 15:06:48 +00:00
Mikaël Barbero
881fe0ba57 fix: add "actions" tag to ActionsArtifactLeak
Similar to javascript/ql/src/Security/CWE-094/ExpressionInjection.ql
2024-11-05 15:58:46 +01:00
Geoffrey White
278760c735 Rust: Add another exception to rust/unused-variable. 2024-11-05 14:46:32 +00:00
Simon Friis Vindum
262a9f0cfa Rust: Make fixes in data flow based on PR feedback 2024-11-05 15:37:44 +01:00
Geoffrey White
35ffd0cc9c Rust: Add more test cases for unused variables (inspired by real world FPs). 2024-11-05 14:07:10 +00:00
Geoffrey White
3091083705 Rust: Call all the test cases. 2024-11-05 11:02:38 +00:00
Geoffrey White
088dd50f1f Rust: Update tests. 2024-11-05 10:30:41 +00:00
Geoffrey White
c8c747a110 Rust: Add total data flow inconsistencies to rust/summary/summary-statistics. 2024-11-04 19:10:44 +00:00
Geoffrey White
30cc55005d Rust: Add rust/diagnostics/data-flow-consistency-counts query for data flow inconsistency counts. 2024-11-04 19:09:30 +00:00
Simon Friis Vindum
c7b4e7c30a Rust: Small improvements to data flow
The predicate `ssaDefAssigns` was definitely broken before
2024-11-04 20:01:58 +01:00
Simon Friis Vindum
d9636b37b6 Rust: Add data flow test with assignment to mutable variable 2024-11-04 20:00:36 +01:00
Geoffrey White
91ebc0eb45 Rust: Add metadata to the DataFlowConsistency.ql query. 2024-11-04 18:53:34 +00:00
Geoffrey White
a645a9e829 Rust: Add getInconsistencyCounts predicate to the shared DataFlowImplConsistency.qll, so it's possibly to access inconsistency data as a whole. 2024-11-04 18:52:20 +00:00
Chuan-kai Lin
3cdf94e83a Merge pull request #17904 from github/post-release-prep/codeql-cli-2.19.3
Post-release preparation for codeql-cli-2.19.3
2024-11-04 10:14:12 -08:00
Calum Grant
397bf7c5e2 C++: Fix FPs caused by a syntax error 2024-11-04 17:38:16 +00:00
Calum Grant
496efeed7e C++: Add a test for cpp/wrong-number-format-arguments 2024-11-04 17:36:23 +00:00
github-actions[bot]
f107d16b4e Post-release preparation for codeql-cli-2.19.3 2024-11-04 17:20:08 +00:00
Chuan-kai Lin
39a67b6e2e Merge pull request #17903 from github/release-prep/2.19.3
Release preparation for version 2.19.3
2024-11-04 08:42:12 -08:00
github-actions[bot]
cc7b724123 Release preparation for version 2.19.3 2024-11-04 16:37:28 +00:00
Simon Friis Vindum
8d59b9289b Rust: Make improvements to data flow based on PR feedback 2024-11-04 16:42:05 +01:00
Geoffrey White
5a34c166b7 Rust: Remove the workaround in rust/unused-variable. 2024-11-04 15:31:43 +00:00
Simon Friis Vindum
2818893010 Rust: Refactor AstCfgNode to use a field
Co-authored-by: Tom Hvitved <hvitved@github.com>
2024-11-04 15:01:25 +01:00
Florin Coada
7418d8ed24 Merge pull request #17832 from github/changedocs/2.19.2
CodeQL 2.19.2 changedocs
2024-11-04 13:56:28 +00:00
Tom Hvitved
0aee809697 Merge pull request #17899 from hvitved/accept-changes-multi-jobs
Handle matrix jobs in accept changes script
2024-11-04 14:54:21 +01:00
Rasmus Wriedt Larsen
5f20f1984c expected-changes: Use set constructor 2024-11-04 14:14:15 +01:00
Rasmus Wriedt Larsen
8f80c24270 Merge pull request #17256 from RasmusWL/js-threat-models
JS: Add support for threat models
2024-11-04 14:04:12 +01:00
Simon Friis Vindum
34e8ea17d8 Merge pull request #17898 from paldepind/rust-cfg-refactor
Rust: CFG classes are in expression module iff they correspond to exp…
2024-11-04 13:01:15 +01:00
Tom Hvitved
95e9d013cc Update expected test output 2024-11-04 12:07:06 +01:00
Tom Hvitved
a89c82bf74 Handle matrix jobs in accept changes script 2024-11-04 11:49:35 +01:00
Simon Friis Vindum
6b25bea2e5 Rust: Accept consistency results 2024-11-04 11:28:26 +01:00
Simon Friis Vindum
a3c7d5a469 Merge branch 'main' into rust-data-flow-consistency 2024-11-04 11:10:48 +01:00
Simon Friis Vindum
fb26f7861f Merge pull request #17895 from paldepind/rust-data-flow-consistency-query
Rust: Add data flow consistency queries
2024-11-04 11:07:46 +01:00
Simon Friis Vindum
714e2fc2c1 Merge branch 'main' into rust-data-flow-consistency-query 2024-11-04 10:42:53 +01:00
Simon Friis Vindum
2ae721bd54 Merge pull request #17897 from github/redsun82/rust-fix-compilation
Rust: fix semantic merge conflict about semantics
2024-11-04 10:35:47 +01:00
Simon Friis Vindum
633bac633c Rust: CFG classes are in expression module iff they correspond to expressions 2024-11-04 10:34:08 +01:00
Simon Friis Vindum
7f344fab78 Rust: Add data flow consistency queries 2024-11-04 10:17:50 +01:00
Paolo Tranquilli
6848a22c65 Rust: fix semantic merge conflict about semantics 2024-11-04 10:04:40 +01:00
Paolo Tranquilli
bde517fcb1 Merge pull request #17849 from github/aibaars/single-semantics
Rust: try to speed things up a bit
2024-11-04 09:24:26 +01:00
Tom Hvitved
8b8b721788 Data flow: Order provenance output by textual representation 2024-11-04 08:47:30 +01:00
Simon Friis Vindum
82076ee0b8 Rust: Propagate data flow through a few expression types 2024-11-03 16:12:59 +01:00
Simon Friis Vindum
2bab29d31b Rust: Add local data flow step tests 2024-11-03 16:12:58 +01:00
Simon Friis Vindum
01141ccdc9 Rust: Integrate SSA into data flow 2024-11-03 16:12:56 +01:00
Tom Hvitved
662a824312 Merge pull request #17865 from hvitved/rust/unused-macro-expansion 2024-11-03 09:17:14 +01:00
Chris Smowton
81ff394533 Be explicit about Kotlin database type 2024-11-01 19:02:28 +00:00
Chris Smowton
5d3f723df9 Kotlin extractor: use special <nulltype> for null literals
This matches the Java extractor's treatment of these literals, and so enables dataflow type-tracking to avoid special-casing Kotlin. Natively, Kotlin would regard this as kotlin.Nothing?, the type that can only contain null (kotlin.Nothing without a ? can take nothing at all), which gets Java-ified as java.lang.Void, and this will continue to be used when a null type has to be "boxed", as in representing substituted generic constraints with no possible type.
2024-11-01 16:14:10 +00:00
Tom Hvitved
c4adec3010 Address review comment 2024-11-01 15:28:17 +01:00
yoff
cec0544ca5 Merge pull request #17789 from aschackmull/python/resolvecall-refactor
Python: Refactor references to NormalCall.
2024-11-01 14:20:34 +01:00
Anders Schack-Mulligen
bae61875cd UniversalFlow: Fixup some qldoc. 2024-11-01 14:04:27 +01:00
Taus
0bb5b4b9dc Merge pull request #17875 from github/tausbn/python-improve-parser-logging-and-timing
Python: Improve parser logging/timing/customisability
2024-11-01 12:47:46 +01:00
Taus
2892f0ff48 Merge pull request #17873 from github/tausbn/python-fix-generator-expression-locations
Python: Even more parser fixes
2024-11-01 12:47:19 +01:00
Simon Friis Vindum
a36095d85b Rust: Add local data flow test with if expression 2024-11-01 11:28:10 +01:00
Rasmus Wriedt Larsen
c0ad9ba529 Merge branch 'main' into js-threat-models 2024-11-01 10:48:32 +01:00
Rasmus Wriedt Larsen
dc8e645594 JS: Convert remaining queries to use ActiveThreatModelSourceAsSource 2024-11-01 10:47:10 +01:00
Tom Hvitved
03ffaac87a Merge pull request #17880 from hvitved/ruby/symbol-string-key-indifference
Ruby: Do not distinguish between symbols and strings in hash keys
2024-11-01 10:43:56 +01:00
Rasmus Wriedt Larsen
19fae76a94 JS: Remove dummy comment
Co-authored-by: Asger F <asgerf@github.com>
2024-11-01 10:24:22 +01:00
Paolo Tranquilli
03aef50836 Merge pull request #17883 from github/redsun82/rust-analysis
Rust: use common config for analysis
2024-10-31 17:46:15 +01:00
Paolo Tranquilli
c6585b726a Rust: use common config for analysis
Now that the nightly bundle has the default query set, we don't need a special
inline config.
2024-10-31 16:44:07 +01:00
Jeroen Ketema
03ced1795a Merge pull request #17694 from jketema/multiple-entry-point
C++: Do not generate IR for functions with multiple entry points
2024-10-31 16:16:03 +01:00
Paolo Tranquilli
e5a199b821 Rust: accept test changes due to toString implementations 2024-10-31 16:02:56 +01:00
Rasmus Wriedt Larsen
61e60de969 JS: Model readline as a stdin threat-model source
Technically not always true, but my assumption is that +90% of the time
that's what it will be used for, so while we could be more precise by
adding a taint-step from the `input` part of the construction, I'm not
sure it's worth it in this case.

Furthermore, doing so would break with the current way we model
threat-model sources, and how sources are generally modeled in JS... so
for a very pretty setup it would require changing all the other `file`
threat-model sources to start at the constructors such as
`fs.createReadStream()` and have taint-propagation steps towards the
actual use (like we do in Python)...

I couldn't see an easy path forwards for doing this while keeping the
Concepts integration, so I opted for the simpler solution here.
2024-10-31 14:29:30 +01:00
Rasmus Wriedt Larsen
eca8bf5a35 JS: Do simple modeling of process.stdin as threat-model source 2024-10-31 14:26:45 +01:00
Paolo Tranquilli
cee2ed0ec4 Rust: extract some resolved paths 2024-10-31 14:19:15 +01:00
Rasmus Wriedt Larsen
34b86c39c1 JS: Model fs.promises.readFile as file source
You could argue that proper modeling be done in the same way as
`NodeJSFileSystemAccessRead` is done for the callback based `fs` API (in
NodeJSLib.qll). However, that work is straying from the core goals I'm
working towards right now, so I'll argue that "perfect is the enemy of
good", and leave this as is for now.
2024-10-31 14:09:38 +01:00
Rasmus Wriedt Larsen
971f53870e JS: Include fs externs
Makes a difference due to the modeling of NodeJSFileSystemAccessRead depending on these, see
412e841d69/javascript/ql/lib/semmle/javascript/frameworks/NodeJSLib.qll (L479-L488)

File copied from 7cef4322e7/javascript/externs/nodejs/fs.js
2024-10-31 13:51:22 +01:00
Rasmus Wriedt Larsen
b47fa77dc6 JS: Add tests for stdin threat-model sources 2024-10-31 12:59:21 +01:00
Tom Hvitved
d0f9a0b9ce Rust: Add another unused-value test 2024-10-31 11:43:33 +01:00
Tom Hvitved
55a6ed7e8a Rust: Include link to variable in unused value query 2024-10-31 11:42:44 +01:00
Tom Hvitved
2b340b18dd Rust: Exclude results inside macro expansions from unused entity queries 2024-10-31 11:42:43 +01:00
Tom Hvitved
fec31a6da4 Rust: Include variable name in Unused{Variable,Value}.ql 2024-10-31 11:42:41 +01:00
Tom Hvitved
6b60865d7e Ruby: Do not distinguish between symbols and strings in hash keys 2024-10-31 11:42:09 +01:00
Tom Hvitved
2b37c6cd32 Merge pull request #17548 from hvitved/shared/inline-test-post-process
Shared: Post-processing query for inline test expectations
2024-10-31 11:40:11 +01:00
Tom Hvitved
f04a55ecb5 Ruby: Update hash extension tests 2024-10-31 11:00:33 +01:00
Jeroen Ketema
5e3748ac12 C++: Update expected test results 2024-10-31 10:57:12 +01:00
Jeroen Ketema
1a830cdf14 C++: Do not generate IR for functions with multiple entry points in different locations 2024-10-31 10:55:52 +01:00
Jeroen Ketema
8cfd19cf2f C++: Add multiple entry point test 2024-10-31 10:55:48 +01:00
Tom Hvitved
977eb05f31 Merge pull request #17879 from paldepind/rust-speculative-taint
Rust: Add predicate for speculative taint step
2024-10-31 10:17:48 +01:00
Simon Friis Vindum
00b8a29da7 Rust: Add predicate for speculative taint step 2024-10-31 09:09:39 +01:00
Simon Friis Vindum
b96698aee3 Merge pull request #17871 from paldepind/rust-data-flow-skeleton
Rust: Add basic skeleton setup for data flow
2024-10-31 08:26:11 +01:00
Tom Hvitved
c936468b17 Merge pull request #17739 from hvitved/dataflow/big-step-quadratic 2024-10-31 08:16:16 +01:00
Anders Schack-Mulligen
b556590ef8 Merge pull request #17663 from aschackmull/dataflow/speculative-flow
Dataflow: Add support for speculative taint flow.
2024-10-31 08:12:43 +01:00
Paolo Tranquilli
7e8a09aea1 Merge pull request #17825 from github/redsun82/rust-canonical-path
Rust: add `extended_canonical_path` and `crate_origin` to `Item`
2024-10-30 18:13:05 +01:00
Simon Friis Vindum
efa59fd2b6 Rust: Make changes based on PR feedback 2024-10-30 16:01:26 +01:00
Anders Schack-Mulligen
570b042645 Dataflow: Rename SpeculativeFlow to SpeculativeGlobal. 2024-10-30 15:23:15 +01:00
Anders Schack-Mulligen
9b493c1e1b Java: Fix bug related to null inference for pattern initializer. 2024-10-30 15:05:36 +01:00
Taus
2ef3ae9860 Python: Improve parser logging/timing/customisability
Does a bunch of things, unfortunately all in the same place, so my
apologies in advance for a slightly complicated commit.

As for the changes themselves, this commit

- Adds timers for the old and new parsers. This means we get the overall
time spent on these parts of the extractor if the extractor is run with
`DEBUG` output shown.
- Adds logging information (at the `DEBUG` level) to show which
invocations of the parsers happen when, and whether they succeed or not.
- Adds support for using an environment variable named
`CODEQL_PYTHON_DISABLE_OLD_PARSER` to disable using the old parser
entirely. This makes it easier to test the new parser in isolation.
- Fixes a bug where we did not check whether a parse with the new parser
had already succeeded, and so would do a superfluous second parse.
2024-10-30 13:58:46 +00:00
Anders Schack-Mulligen
b005973317 UniversalFlow: Skip property propagation to null nodes. 2024-10-30 14:08:38 +01:00
Taus
f75615b913 Merge pull request #17822 from github/tausbn/python-more-parser-fixes
Python: A few more parser fixes
2024-10-30 13:47:10 +01:00
Arthur Baars
0e511d640b Rust: avoid panics
If:
* the text for a file_id is not found (likely non-utf data in file)
* path does not appear in Vfs, in which case we fall back on loading the file from disk with no "semantics" available
2024-10-30 13:18:36 +01:00
Simon Friis Vindum
44bebedae6 Rust: Add basic skeleton setup for data flow 2024-10-30 13:16:26 +01:00
Tom Hvitved
495c92df38 Shared: Also take query ID into account in PathProblemSourceTestInput 2024-10-30 10:54:40 +01:00
Chris Smowton
2b678c97ab Merge pull request #17870 from charmander/patch-1
Fix typo and grammar in InsecureCookie.qhelp
2024-10-30 09:48:20 +00:00
Chris Smowton
5f31adc1f4 Update InsecureCookie.qhelp
Gratuitous commit to nudge CI
2024-10-30 09:34:49 +00:00
Tom Hvitved
ff9811b488 C#: Add tests for the inline test post-processor 2024-10-30 10:09:40 +01:00
Charmander
a97998811a Fix typo and grammar in InsecureCookie.qhelp 2024-10-30 07:29:20 +00:00
Paolo Tranquilli
4c73c6284e Merge pull request #17867 from github/dbartol/actions-build
Add the Actions extractor to the build
2024-10-30 05:48:41 +01:00
Dave Bartolomeo
b07642b585 Fix linting 2024-10-29 17:09:47 -04:00
Dave Bartolomeo
902a8bd847 Add Actions extractor to build 2024-10-29 16:54:37 -04:00
Dave Bartolomeo
3c9e19346c Update test expectations 2024-10-29 16:53:36 -04:00
Tom Hvitved
cc94c42f87 Address review comments 2024-10-29 20:36:16 +01:00
Ian Lynagh
b00bbc9ca2 Merge pull request #17731 from igfoo/igfoo/removeErasure
Java/Kotlin: Remove the erasure dbscheme relation
2024-10-29 14:21:57 +00:00
Rasmus Wriedt Larsen
2b6c27eb60 JS: Add initial file threat-model support
However, as indicated by the `MISSING` annotations, we could do better.
2024-10-29 15:14:39 +01:00
Rasmus Wriedt Larsen
3656864695 JS: Add database threat-model source modeling 2024-10-29 15:11:09 +01:00
Tom Hvitved
baeffa2345 Update rust/ql/test/query-tests/unusedentities/unreachable.rs
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-10-29 15:00:09 +01:00
Anders Schack-Mulligen
8b5756526c Update python/ql/test/experimental/library-tests/CallGraph/InlineCallGraphTest.ql
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-10-29 13:57:27 +01:00
Tom Hvitved
dd520fea47 Rust: Post-processing query for inline test expectations 2024-10-29 13:37:04 +01:00
Tom Hvitved
1259b7e8e7 JS: Post-processing query for inline test expectations 2024-10-29 13:35:38 +01:00
Tom Hvitved
e5f2bbb6ec Python: Post-processing query for inline test expectations 2024-10-29 13:35:37 +01:00
Tom Hvitved
4750b0de94 C++: Post-processing query for inline test expectations 2024-10-29 13:35:36 +01:00
Tom Hvitved
540b433f5a Go: Post-processing query for inline test expectations 2024-10-29 13:35:35 +01:00
Tom Hvitved
4561770db4 Swift: Post-processing query for inline test expectations 2024-10-29 13:35:34 +01:00
Tom Hvitved
5b5ca05e87 Ruby: Post-processing query for inline test expectations 2024-10-29 13:35:33 +01:00
Tom Hvitved
e2b614d18a Java: Post-processing query for inline test expectations 2024-10-29 13:35:32 +01:00
Tom Hvitved
8ba80fd022 C#: Post-processing query for inline test expectations 2024-10-29 13:35:31 +01:00
Tom Hvitved
e7a3e6bfed Shared: Post-processing query for inline test expectations 2024-10-29 13:35:29 +01:00
Tom Hvitved
b111194fbc Shared: Simplify PrettyPrintModels.ql 2024-10-29 13:35:28 +01:00
Tom Hvitved
c5d699cb6b Merge pull request #17857 from geoffw0/unreachable3
Rust: Fix rust/dead-code
2024-10-29 13:35:10 +01:00
Asger F
879cb7c365 Merge pull request #17864 from asgerf/js/vue-attribute-syntax
JS: Fix parsing of special Vue attributes
2024-10-29 13:23:47 +01:00
Ian Lynagh
251a8a34ed Java: Add up/downgrade scripts 2024-10-29 11:32:22 +00:00
Geoffrey White
6a110368a5 Rust: Rename predicates. 2024-10-29 11:32:22 +00:00
Ian Lynagh
6be2e98796 Java/Kotlin: Remove the erasure relation
It's no longer used
2024-10-29 11:32:20 +00:00
Ian Lynagh
8ab52dba83 Kotlin: Don't write the erasure relation
It's no longer used
2024-10-29 11:32:18 +00:00
Ian Lynagh
6c9739023d Java: Remove redundant getErasure overrides
The root definition covers these cases already
2024-10-29 11:32:16 +00:00
Rasmus Wriedt Larsen
7c7420a9a4 JS: Add change-note 2024-10-29 11:35:56 +01:00
Rasmus Wriedt Larsen
07bc1feb11 Docs: Threat-models supported in JS
Capturing
- 7d3793e718
- e35c2b243a
- e11bfc27bd
2024-10-29 11:33:02 +01:00
Rasmus Wriedt Larsen
84f6b89ced JS: Minor improvements to threat-model Concepts
Mirroring what was done for Python
2024-10-29 11:29:48 +01:00
Asger F
6aef571c17 JS: Bump extractor version string 2024-10-29 11:28:06 +01:00
Asger F
3cc6b11e6b JS: Expand attribute regex to include some Vue attributes 2024-10-29 11:19:01 +01:00
Asger F
560b3da851 JS: Add test with some special Vue attributes 2024-10-29 11:18:17 +01:00
Tom Hvitved
7ddc8f087d Merge pull request #17786 from paldepind/rust-saa-additions
Rust: SSA additions
2024-10-29 09:51:38 +01:00
Tom Hvitved
813ccb9c06 Merge pull request #17855 from hvitved/csharp/comments-mapped-locations
C#: Take mapped locations into account in `Comments.qll`
2024-10-29 08:58:38 +01:00
Anders Schack-Mulligen
1d3bad1358 UniversalFlow: More renaming. 2024-10-29 08:53:18 +01:00
Erik Krogh Kristensen
733158f8f2 Merge pull request #17860 from erik-krogh/fix-windows
fix the RAM setting on Windows
2024-10-29 08:34:09 +01:00
erik-krogh
2ee88f6774 fix the RAM setting on Windows 2024-10-28 20:39:34 +01:00
Arthur Baars
c87f2c4eb1 Rust: remove unnecessary field 2024-10-28 18:56:20 +01:00
Paolo Tranquilli
2b386c422c Merge pull request #17839 from github/redsun82/rust-analysis
Rust: add codeql analysis workflow
2024-10-28 18:14:32 +01:00
Dave Bartolomeo
d4db759057 Merge pull request #17858 from github/dbartol/actions-placeholder 2024-10-28 11:57:20 -04:00
Dave Bartolomeo
609a6c38e4 Revert "Fix bash nit"
This reverts commit 3228447544.
2024-10-28 11:39:22 -04:00
Dave Bartolomeo
a70ce25144 Merge pull request #17850 from github/dbartol/actions-placeholder
Implement Actions extractor and placeholder Actions QL packs
2024-10-28 11:34:00 -04:00
Anders Schack-Mulligen
7d98d391b7 UniversalFlow: Rename FlowScc. 2024-10-28 16:28:28 +01:00
Anders Schack-Mulligen
d41b86a87d UniversalFlow: Tweak visibility and add qldoc. 2024-10-28 16:27:27 +01:00
Anders Schack-Mulligen
6680537e93 UniversalFlow: Minor tweak to isNull and autoformat. 2024-10-28 16:25:30 +01:00
Anders Schack-Mulligen
d6e420bd0e UniversalFlow: Rename node type. 2024-10-28 16:23:44 +01:00
Anders Schack-Mulligen
1aecdb44dc UniversalFlow: Move Universal Flow library to its own file. 2024-10-28 16:20:16 +01:00
Taus
5d6600e61f Python: Fix generator expression locations
Our logic for detecting the first and last item in a generator
expression was faulty, sometimes matching comments as well. Because
attributes (like `_location_start`) can only be written once, this
caused `tree-sitter-graph` to get unhappy.

To fix this, we now require the first item to be an `expression`, and
the last one to be either a `for_in_clause` or an `if_clause`.
Crucially, `comment` is neither of these, and this prevents the
unfortunate overlap.
2024-10-28 14:53:09 +00:00
Taus
ef60b730ea Python: Fix parenthesized tuple parser bug
We were writing the `parenthesised` attribute twice on tuples, once
because of the explicit parenthetisation, and once because all non-empty
tuples are parenthesised. This made `tree-sitter-graph` unhappy.

To fix this, we now explicitly check whether a tuple is already
parenthesised, and do nothing if that is the case.
2024-10-28 14:49:45 +00:00
Anders Schack-Mulligen
ea458c09a0 TypeFlow: Extract a universal flow library abstraction from TypeFlow. 2024-10-28 15:48:29 +01:00
Taus
b4ecc7937d Python: Fix some more async parsing problems
Turns out we were not setting the `is_async` field on anything except
`async for` statements. This commit makes it so that we also do this for
`async def` and `async with`, and adds a test that this produces the
same behaviour as the old parser.
2024-10-28 14:44:02 +00:00
Taus
e710c0a6bf Python: Regenerate parser files 2024-10-28 14:44:01 +00:00
Taus
ac87868097 Python: Fix parsing of await inside expressions
Found when parsing `Lib/test/test_coroutines.py` using the new parser.

For whatever reason, having `await` be an `expression` (with an argument
of the same kind) resulted in a bad parse. Consulting the official
grammar, we see that `await` should actually be a `primary_expression`
instead. This is also more in line with the other unary operators, whose
precedence is shared by the `await` syntax.
2024-10-28 14:44:01 +00:00
Taus
1e51703ce9 Python: Allow escaped quotes/backslashes in raw strings
Quoting the Python documentation (last paragraph of
https://docs.python.org/3/reference/lexical_analysis.html#escape-sequences):

"Even in a raw literal, quotes can be escaped with a backslash, but the
backslash remains in the result; for example, r"\"" is a valid string
literal consisting of two characters: a backslash and a double quote;
r"\" is not a valid string literal (even a raw string cannot end in an
odd number of backslashes)."

We did not handle this correctly in the scanner, as we only consumed the
backslash but not the following single or double quote, resulting in
that character getting interpreted as the end of the string.

To fix this, we do a second lookahead after consuming the backslash, and
if the next character is the end character for the string, we advance
the lexer across it as well.

Similarly, backslashes in raw strings can escape other backslashes.
Thus, for a string like '\\' we must consume the second backslash,
otherwise we'll interpret it as escaping the end quote.
2024-10-28 14:40:24 +00:00
Geoffrey White
eb79bcbc34 Rust: Remove unnecessary line. 2024-10-28 14:36:45 +00:00
Geoffrey White
bf5a0b7bd0 Rust: Rewrite UnreachableCode.ql to be more robust. 2024-10-28 14:36:42 +00:00
Geoffrey White
41df9ae4fc Merge pull request #17854 from geoffw0/cleanuptest
Rust: Clean up unreachable test
2024-10-28 14:29:42 +00:00
Paolo Tranquilli
f5d14dbe07 Merge pull request #17856 from github/redsun82/rust-defaultSuiteFile
Rust: add `defaultSuiteFile`
2024-10-28 15:27:51 +01:00
Simon Friis Vindum
8f8564ddfd Rust: Address PR comments 2024-10-28 15:15:38 +01:00
Anders Schack-Mulligen
fba4d09e65 TypeFlow: Simplify interface. 2024-10-28 15:09:09 +01:00
Anders Schack-Mulligen
3939eff260 TypeFlow: Rename step to uniqStep. 2024-10-28 15:00:05 +01:00
Dave Bartolomeo
3228447544 Fix bash nit
Co-authored-by: Rasmus Wriedt Larsen <rasmuswl@github.com>
2024-10-28 09:58:11 -04:00
Paolo Tranquilli
5420e52afa Rust: add defaultSuiteFile 2024-10-28 14:56:09 +01:00
Tom Hvitved
cfa1ed38b4 Merge pull request #17844 from hvitved/rust/location-impl
Rust: Cache `Locatable.getLocation` and `Location`
2024-10-28 14:41:36 +01:00
Paolo Tranquilli
5a84d290e6 Rust: ignore test directory 2024-10-28 14:32:53 +01:00
Tom Hvitved
7910af159c C#: Take mapped locations into account in Comments.qll 2024-10-28 14:21:10 +01:00
Paolo Tranquilli
dd4fe2a32b Rust: change analysis config 2024-10-28 14:21:07 +01:00
Tom Hvitved
c93e4385f2 C#: Add a test for a comment with a mapped location 2024-10-28 14:20:24 +01:00
Arthur Baars
2326861b23 Merge pull request #17805 from github/aibaars/local-defs
Rust: Rust: add jump to definition for format arguments
2024-10-28 14:17:40 +01:00
Cornelius Riemenschneider
1972532f1c Merge pull request #17732 from github/criemen/bazel-8
Bazel: Upgrade to 8.0.0rc1
2024-10-28 14:03:20 +01:00
Michael Nebel
058fcc1a51 Merge pull request #17853 from michaelnebel/csharp/madtests
C#: Re-factor test for CWE-611/UntrustedDataInsecureXml.ql to pretty print models.
2024-10-28 13:38:26 +01:00
Tom Hvitved
711dfc3592 Rust: Cache Locatable.getLocation and Location 2024-10-28 13:33:49 +01:00
Arthur Baars
b6c26debef Rust: create single Semantics object for each workspace 2024-10-28 13:29:04 +01:00
Arthur Baars
57cdda3405 Rust: no longer reload files into the RootDatabase
Files were reloaded to handle cases were there was no content
for a file_id, causing a panic. Missing contents was caused by
files that did not contain valid UTF-8 data. These are skipped
by rust-analyzer when it is loading data into the RootDatabase.
2024-10-28 13:29:03 +01:00
Paolo Tranquilli
9c95a17882 Rust: add block ids to canonical paths, making them "extended" 2024-10-28 12:41:05 +01:00
Simon Friis Vindum
cab916453d Rust: Update unused value expected test result 2024-10-28 12:18:00 +01:00
Simon Friis Vindum
b86a5810b3 Rust: Small refactor based on PR feedback 2024-10-28 11:45:46 +01:00
Simon Friis Vindum
c5b01eb629 Merge branch 'main' into rust-saa-additions 2024-10-28 11:42:32 +01:00
Geoffrey White
e5818f6f2e Rust: Fix unused value cases in the unreachable test (they're not interesting, just distract from the point of these tests. 2024-10-28 10:29:31 +00:00
Arthur Baars
fdf99e2f50 Rust: filter out definitions that are inside expanded macros 2024-10-28 11:27:59 +01:00
Geoffrey White
72606d5a59 Rust: Add missing annotations to unreachable test. 2024-10-28 10:22:46 +00:00
Arthur Baars
c4126e4410 Rust: add tests for Definitions.qll 2024-10-28 11:17:48 +01:00
Rasmus Wriedt Larsen
e3c400b0c8 Add auto labeler support for 'Actions' 2024-10-28 10:46:05 +01:00
Rasmus Wriedt Larsen
01fa95f98a Actions: autoformat 2024-10-28 10:43:46 +01:00
Michael Nebel
b112a9b31e Merge pull request #17851 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-10-28 10:38:27 +01:00
Michael Nebel
82ff545424 C#: Re-factor test for CWE-611/UntrustedDataInsecureXml.ql to pretty print models in test case. 2024-10-28 10:36:32 +01:00
Óscar San José
3e77629477 Merge pull request #17838 from github/oscarsj/deprecate-macos-12
Remove macos-12 and its variants, deprecated
2024-10-28 10:32:49 +01:00
Paolo Tranquilli
2fa1c5ebcd Merge branch 'main' into redsun82/rust-analysis 2024-10-28 10:30:08 +01:00
Arthur Baars
40ef9ad805 Rust: make TDef cached 2024-10-28 10:21:43 +01:00
github-actions[bot]
0e5ba2b23e Add changed framework coverage reports 2024-10-28 00:21:56 +00:00
Dave Bartolomeo
8840f91503 Fix formatting 2024-10-25 20:32:01 -04:00
Dave Bartolomeo
4a567344f5 Fix style alerts 2024-10-25 17:59:49 -04:00
Dave Bartolomeo
dffc9e2e31 Create placeholder Actions QL packs 2024-10-25 17:45:05 -04:00
Dave Bartolomeo
47a7d24a1a Implement Actions extractor 2024-10-25 17:44:46 -04:00
Jeroen Ketema
655fa53cdd Merge pull request #17848 from jketema/wrong-format
C++: Add wrong format type builtin function test
2024-10-25 19:11:22 +02:00
Chris Smowton
fa4cc83753 Merge pull request #17837 from smowton/smowton/admin/trim-java-web-jsp-test
Java: Trim JSP test
2024-10-25 17:23:51 +01:00
Paolo Tranquilli
652e47177f Rust: format 2024-10-25 17:44:16 +02:00
Simon Friis Vindum
7db90fe073 Merge pull request #17847 from paldepind/rust-unused-variable-trait
Rust: Don't consider parameters in trait method definitions without bodies as variables
2024-10-25 17:41:04 +02:00
Paolo Tranquilli
719b5e175f Rust: add missing expected files 2024-10-25 17:06:54 +02:00
Paolo Tranquilli
8f6196d5f1 Rust: accept test changes 2024-10-25 16:58:05 +02:00
Paolo Tranquilli
9789059e9f Rust: add more thourough canonical path testing 2024-10-25 16:58:05 +02:00
Paolo Tranquilli
34b1055c13 Rust: accept test changes 2024-10-25 16:58:04 +02:00
Paolo Tranquilli
194e0daa8c Rust: add canonical_path and crate_origin to Item 2024-10-25 16:58:04 +02:00
yoff
7338eafbd4 Merge pull request #16812 from porcupineyhairs/pyloadSsl
Python: Pycurl SSL Disabled
2024-10-25 16:23:25 +02:00
Simon Friis Vindum
bfa6113366 Rust: Fix grammar in comment
Co-authored-by: Paolo Tranquilli <redsun82@github.com>
2024-10-25 16:23:04 +02:00
Jeroen Ketema
ccc2a39abc C++: Add wrong format type builtin function test 2024-10-25 16:16:13 +02:00
Simon Friis Vindum
f7a45e6650 Rust: Don't consider parameters in trait method definitions without bodies as variables 2024-10-25 15:56:58 +02:00
Paolo Tranquilli
ab1b48d687 Merge pull request #17843 from github/redsun82/reduce-log-noise
Rust: reduce log spam and skip debug diagnostics in the DB
2024-10-25 15:33:29 +02:00
Simon Friis Vindum
a5ce3c1570 Rust: Move trait tests for unused entities into main.rs 2024-10-25 15:15:49 +02:00
Rasmus Wriedt Larsen
1726287bf4 JS: Add e2e threat-model test 2024-10-25 15:03:44 +02:00
Rasmus Wriedt Larsen
d3ae4c930e JS: Model newer yargs command-line parsing pattern 2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
3448751b4c JS: Consolidate command-line argument modeling
Such that we can reuse the existing modeling, but have it globally
applied as a threat-model as well.

I Basically just moved the modeling. One important aspect is that this
changes is that the previously query-specific `argsParseStep` is now a
globally applied taint-step. This seems reasonable, if someone applied
the argument parsing to any user-controlled string, it seems correct to
propagate that taint for _any_ query.
2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
412e841d69 JS: Add environment threat-model source 2024-10-25 15:03:43 +02:00
Rasmus Wriedt Larsen
f733ac19a9 JS: Make (most) queries use ActiveThreatModelSource
7 cases looks something like this:

```
class RemoteFlowSourceAsSource extends Source instanceof RemoteFlowSource {
  RemoteFlowSourceAsSource() { not this instanceof ClientSideRemoteFlowSource }
}
```

(some have variations like `not this.(ClientSideRemoteFlowSource).getKind().isPathOrUrl()`)

javascript/ql/lib/semmle/javascript/security/dataflow/ClientSideUrlRedirectCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/CommandInjectionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/CorsMisconfigurationForCredentialsCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/RegExpInjectionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/RequestForgeryCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/ResourceExhaustionCustomizations.qll
javascript/ql/lib/semmle/javascript/security/dataflow/TaintedPathCustomizations.qll
2024-10-25 15:03:42 +02:00
Rasmus Wriedt Larsen
4b1c027359 JS: Integrate RemoteFlowSource with ThreatModelSource 2024-10-25 14:52:49 +02:00
Rasmus Wriedt Larsen
dbfbd2c00a JS: Remove 'response' from default threat-models
I didn't want to put the configuration file in
`semmle/javascript/frameworks/**/*.model.yml`, so created `ext/` as in other
languages
2024-10-25 14:52:49 +02:00
Rasmus Wriedt Larsen
05dce8a0be JS: Add test showing default active threat-models 2024-10-25 14:50:59 +02:00
Rasmus Wriedt Larsen
17a6d54e4d JS: Setup basic support for threat-models
Integration with RemoteFlowSource is not straightforward, so postponing
that for later

Naming in other languages:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)

However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and instead I came up with new names.
2024-10-25 14:50:59 +02:00
Tom Hvitved
c5da712d10 Merge pull request #17840 from hvitved/shared/inline-test-space
Shared: Add missing spaces in inline test expectation output
2024-10-25 14:23:55 +02:00
Paolo Tranquilli
a760b89895 Rust: small tweaks 2024-10-25 14:13:27 +02:00
Paolo Tranquilli
5230b7b041 Rust: reduce log spam and skip debug diagnostics in the DB 2024-10-25 13:47:13 +02:00
Tom Hvitved
7c4d5981dd Shared: Add missing spaces in inline test expectation output 2024-10-25 13:23:03 +02:00
Arthur Baars
f092594a52 Rust: add location definitions for format arguments 2024-10-25 12:57:08 +02:00
Arthur Baars
997a622496 Rust: also implement localReferences.ql 2024-10-25 12:57:06 +02:00
Paolo Tranquilli
45e9c2ff4d Merge pull request #17841 from github/redsun82/rust-fix-qltest-macos
Rust: fix qltest on macOS, and add CI cross-platform testing of it
2024-10-25 12:56:23 +02:00
Tom Hvitved
ba600b0791 Merge pull request #17829 from hvitved/rust/cfg-stage
Rust: Collapse cached CFG logic into one stage
2024-10-25 12:45:38 +02:00
Arthur Baars
9dc5e2fa36 Merge pull request #17791 from github/aibaars/rust-format-templates
Rust: parse formatting templates
2024-10-25 12:42:35 +02:00
Paolo Tranquilli
4485193f57 Rust: skip output redirection QL test on windows for now 2024-10-25 12:33:47 +02:00
Óscar San José
8f7ed21f5d Update macOS version in workflow file 2024-10-25 12:21:27 +02:00
Arthur Baars
8d4bb97b1a Rust: make VariableAccess non-abstract 2024-10-25 12:21:23 +02:00
Óscar San José
c2a644b740 Update macOS version in build workflow 2024-10-25 12:20:25 +02:00
Paolo Tranquilli
4e8b6dc038 Rust: fix qltest on macOS, and add CI cross-platform testing of it 2024-10-25 12:19:46 +02:00
Michael Nebel
0b538313fb Merge pull request #17666 from michaelnebel/csharp/net8models
C#: Update .NET 8 models.
2024-10-25 11:24:27 +02:00
Arthur Baars
a08b4b7372 Rust: allow VariableAccess elements to have another primary QL class 2024-10-25 11:02:55 +02:00
Arthur Baars
a6e69eb147 Revert "Rust: avoid classes with multiple getAPrimaryQLClass result"
This reverts commit 110d2ea775.
2024-10-25 10:59:31 +02:00
Simon Friis Vindum
334602a50a Rust: Handle calls that might read/write variables through closures
This implementation is copied and adapted from the Ruby SSA
implementation.
2024-10-25 10:50:32 +02:00
Simon Friis Vindum
75103f4b26 Merge branch 'main' into rust-saa-additions 2024-10-25 10:43:59 +02:00
Paolo Tranquilli
af3be84005 Rust: add codeql analysis workflow 2024-10-25 10:05:28 +02:00
Óscar San José
a467923e9b Remove macos-12 and its variants, deprecated 2024-10-24 18:57:58 +02:00
Paolo Tranquilli
55d092fd3e Merge pull request #17835 from github/redsun82/rust-qltest
Rust: move `qltest` to rust code, add `options` with cargo check
2024-10-24 18:29:17 +02:00
Paolo Tranquilli
41d0085918 Rust: address review 2024-10-24 17:54:18 +02:00
Paolo Tranquilli
c79f8180f3 Rust: move down options in query-tests 2024-10-24 17:14:48 +02:00
Arthur Baars
bd19661b60 Address comments 2024-10-24 16:40:19 +02:00
Chris Smowton
4e879e64fc Trim JSP test
This was only ever testing that Java files relating to the JSPs in question appear in the database, so there's no need for a particularly wide selection.
2024-10-24 14:19:16 +01:00
Arthur Baars
a7628e7f4e Rust: revert unnecessary changes to VariableImpl.qll 2024-10-24 15:19:01 +02:00
Arthur Baars
2d07270c1e Rust: stop sharing Diagnostics.qll with Ruby :-( 2024-10-24 15:14:13 +02:00
Arthur Baars
bad9262f12 Rust: create locations for Format and FormatArgument 2024-10-24 15:14:11 +02:00
Arthur Baars
017d492348 Rust: implement synthesized Locations 2024-10-24 15:14:10 +02:00
Arthur Baars
110d2ea775 Rust: avoid classes with multiple getAPrimaryQLClass result 2024-10-24 15:14:09 +02:00
Arthur Baars
ca469f6d5c Rust: introduce PathExprBase class 2024-10-24 15:14:07 +02:00
Arthur Baars
2b65e78674 Rust: fix bad join order 2024-10-24 15:13:27 +02:00
Arthur Baars
a3b903f13a Rust: simplify synth constructors 2024-10-24 15:13:25 +02:00
Arthur Baars
8843a7c389 Rust: rename {Implicit,FormatTemplate}VariableAccess 2024-10-24 15:13:24 +02:00
Arthur Baars
fc4ac9bcf8 Rust: implement Format and FormatArgument classes 2024-10-24 15:13:23 +02:00
Arthur Baars
58dfe6c667 Rust: run codegen 2024-10-24 15:13:22 +02:00
Arthur Baars
8d2236b6d6 Rust: define Format and FormatArgument in schema 2024-10-24 15:13:21 +02:00
Arthur Baars
d4b2dc3711 Apply suggestion 2024-10-24 15:13:20 +02:00
Arthur Baars
be41ca5d4e Rust: update expected output 2024-10-24 15:13:19 +02:00
Arthur Baars
11396ef7cb Rust: avoid multiple PrimaryQLClass warnings
Fixes things like:
```
multiplePrimaryQlClasses
| x | PathExpr,VariableAccess |
```
2024-10-24 15:13:17 +02:00
Arthur Baars
e1c315b288 Rust: make ImplicitVariableAccess instance of VariableAccess 2024-10-24 15:13:14 +02:00
Arthur Baars
1b7b24ecb8 Rust: add Locatable::hasLocationInfo 2024-10-24 15:11:02 +02:00
Arthur Baars
f213a2d640 Rust: CFG for ImplicitVariableAccess 2024-10-24 15:11:01 +02:00
Arthur Baars
8a5fa9b72f Rust: add ImplicitVariableAccess class 2024-10-24 15:11:00 +02:00
Arthur Baars
8f2c7c1239 Rust: parse formatting templates 2024-10-24 15:10:59 +02:00
Tom Hvitved
09c3ac6f81 Rust: Collapse cached CFG logic into one stage 2024-10-24 14:58:19 +02:00
Tom Hvitved
e920a4c56c Merge pull request #17828 from hvitved/rust/enclosing-callable
Rust: Introduce `AstNode.getEnclosingCallable`
2024-10-24 14:57:12 +02:00
Cornelius Riemenschneider
f900060e7f Bazel: Upgrade to bazel 8. 2024-10-24 13:30:57 +02:00
Paolo Tranquilli
3f8d438851 Rust: move qltest to rust code, add options with cargo check 2024-10-24 12:55:23 +02:00
Erik Krogh Kristensen
7bbd4a10b9 Merge pull request #17831 from erik-krogh/skip-more-types
JS: have getId always return null if skipExtractingTypes is set
2024-10-24 12:34:22 +02:00
Owen Mansel-Chan
e16f35478b Merge pull request #17833 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-10-24 11:19:01 +01:00
yoff
c78aeec2ec Update python/ql/lib/semmle/python/frameworks/Pycurl.qll 2024-10-24 11:44:16 +02:00
Calum Grant
a8f1d57573 Merge pull request #17775 from github/calumgrant/bmn/wrong-type-format-arguments-test
C++: Reduce FPs in cpp/wrong-type-format-argument due to extraction errors
2024-10-24 08:40:46 +01:00
github-actions[bot]
1e26db64fb Add changed framework coverage reports 2024-10-24 00:20:48 +00:00
Florin Coada
6838d9414b CodeQL 2.19.2 changedocs 2024-10-23 16:02:22 +01:00
erik-krogh
073d6d8c14 have getId always return null if skipExtractingTypes is set 2024-10-23 16:50:23 +02:00
Taus
5db601af3c Python: Allow comments in comprehensions
A somewhat complicated solution that necessitated adding a new custom
function to `tsg-python`. See the comments in `python.tsg` for why this
was necessary.
2024-10-23 14:24:47 +00:00
Jeroen Ketema
226756e1d4 Merge pull request #17826 from MathiasVP/missing-flow-with-aliasing-fields
C++: Add test with missing flow
2024-10-23 15:49:42 +02:00
Calum Grant
421413a654 C++: Update change notes 2024-10-23 14:46:00 +01:00
Michael Nebel
779ee25a19 Merge pull request #17824 from michaelnebel/java/maptoobj
Java: Add manual models for `mapToObj`.
2024-10-23 15:40:28 +02:00
Calum Grant
f37be68067 C++: Handle builtin FormattingFunctions better 2024-10-23 14:35:32 +01:00
Tom Hvitved
a3d8b8eb14 Rust: Run codegen 2024-10-23 15:31:08 +02:00
Tom Hvitved
df19281b9f Rust: Introduce AstNode.getEnclosingCallable 2024-10-23 15:31:07 +02:00
Michael Nebel
c1b1c62616 C#: Address review comments. 2024-10-23 15:25:52 +02:00
Tom Hvitved
086e0c61fc Merge pull request #17817 from hvitved/rust/cfg-scope-callable
Rust: Use `Callable` to define `CfgScope`
2024-10-23 15:24:13 +02:00
Taus
24ae54886f Merge pull request #17809 from github/tausbn/python-fix-kwargs-in-class-bases
Python: Fix bug in handling of `**kwargs` in class bases
2024-10-23 15:04:54 +02:00
Mathias Vorreiter Pedersen
7c5f561724 C++: Accept test changes. 2024-10-23 13:37:06 +01:00
Taus
e1e35689ca Merge pull request #17807 from github/tausbn/python-fix-string-encoding-dataset-check-failure
Python: Fix string encoding dataset check failure
2024-10-23 14:26:45 +02:00
Mathias Vorreiter Pedersen
2fd07f28f0 C++: Add test with missing flow. 2024-10-23 13:00:33 +01:00
Michael Nebel
146c88fabb C#: Update test expected output where the results are not affected. 2024-10-23 13:08:21 +02:00
Michael Nebel
5495a211f2 C#: Update exception information exposure expected output. 2024-10-23 13:08:19 +02:00
Michael Nebel
cad9aa21d8 C#: Update flow summaries test expected output. 2024-10-23 13:08:18 +02:00
Michael Nebel
b7b6feed04 C#: Re-generate .NET 8 Runtime models. 2024-10-23 13:08:17 +02:00
Michael Nebel
9cd9ebfda9 C#: Add manual models for StringWriter. 2024-10-23 13:08:15 +02:00
Michael Nebel
87caf3d826 C#: Add change note. 2024-10-23 13:08:14 +02:00
Michael Nebel
d3a359b498 C#: Update .NET 8 models. 2024-10-23 13:08:13 +02:00
Michael Nebel
00ccd20452 C#: Delete all .NET 8 Runtime models. 2024-10-23 13:08:11 +02:00
Michael Nebel
20b5a7b6f0 C#: Update expected test output. 2024-10-23 13:08:10 +02:00
Michael Nebel
062a2ad97d C#: Include exception property accesses in the exception information exposure query. 2024-10-23 13:08:08 +02:00
Tom Hvitved
7a2105b1d5 Go: Update expected test output 2024-10-23 10:41:13 +02:00
Tom Hvitved
2e7b71c28d Data flow: Prevent quadratic blowup in Stage6Param::localStep 2024-10-23 10:41:12 +02:00
Michael Nebel
caa08046b6 Java: Update expected test output. 2024-10-23 09:29:29 +02:00
Michael Nebel
3d70f91b9f Java: Add manual models for various mapToObj methods. 2024-10-23 09:29:15 +02:00
Michael Nebel
197642c914 Merge pull request #17547 from michaelnebel/java/jdk17update
Java: Update Java JDK 17 models.
2024-10-23 09:07:02 +02:00
Henning Makholm
665354ebd2 Merge pull request #17823 from github/hmakholm/pr/graph-equivalence-test
Supplement 'query-type: graph' with actual query metadata
2024-10-22 21:08:15 +02:00
Henning Makholm
3d8d340f2a Supplement 'query-type: graph' with actual query metadata
A number of CPP library tests contain `// query-type: graph`
annotations that make the test driver compare the output
from the test query in a special mode. (This feature is
not used by other languages).

It's somewhat awkward in the implementation of `codeql test run`
that this annotation is not an ordinary item of query metadata --
essentially it means that _every_ test query has to be opened
and read an extra time to look for this annotation. I'd like
to move towards using ordinary query metadata for this, since
the QL compiler already parses it anyway.

For the time being, give the annotation in both old and new
syntaxes, until a CLI that recognizes both has been released.
2024-10-22 20:38:00 +02:00
Taus
4f60494019 Python: Support assignments of the form [x,y,z] = w
Surprisingly, the new parser did not support these constructs (and the
relevant test was missing this case), so on files that required the new
parser we were unable to parse this construct.

To fix it, we add `list_pattern` (not to be confused with
`pattern_list`) as a `tree-sitter-python` node that results in a `List`
node in the AST.
2024-10-22 16:06:35 +00:00
Taus
89ea4b8200 Python: Regenerate parser files 2024-10-22 15:39:41 +00:00
Taus
9c913902c5 Python: Allow except* to be written as except *
Turns out, `except*` is actually not a token on its own according to the
Python grammar. This means it's legal to write `except *foo: ...`, which
we previously would consider a syntax error.

To fix it, we simply break up the `except*` into two separate tokens.
2024-10-22 15:39:29 +00:00
Taus
7ceefb509b Python: Regenerate parser files 2024-10-22 15:17:34 +00:00
Taus
8053e0ed44 Python: Allow list_splats as type annotations
That is, the `*T` in `def foo(*args : *T): ...`.

This is apparently a piece of syntax we did not support correctly until
now.

In terms of the grammar, we simply add `list_splat` as a possible
alternative for `type` (which could previously only be an `expression`).
We also update `python.tsg` to not specify `expression` those places (as
the relevant stanzas will then not work for `list_splat`s).

This syntax is not supported by the old parser, hence we only add a new
parser test for it.
2024-10-22 15:17:12 +00:00
Taus
fcec8e0256 Python: Fail tests when errors/warnings are logged
This is primarily useful for ensuring that errors where a node does not
have an appropriate context set in `python.tsg` actually have an effect
on the pass/fail status of the parser tests. Previously, these would
just be logged to stdout, but test could still succeed when there were
errors present.

Also fixes one of the logging lines in `tsg_parser.py` to be more
consistent with the others.
2024-10-22 15:11:51 +00:00
Michael Nebel
16fe7a2fbe Merge pull request #17815 from michaelnebel/csharp/logforgingreplacelineending
C#: Add sanitizer to `cs/log-forging`.
2024-10-22 15:41:17 +02:00
Chris Smowton
2312f9d8df Merge pull request #17811 from github/smowton/admin/package-maven-plugin-change-note
Add change-note for Java buildless packaging its required Maven plugin
2024-10-22 14:23:01 +01:00
Cornelius Riemenschneider
cdffa09a7b Merge pull request #17821 from github/criemen/win-make-bazel
Go: Fix makefile to use bash to look up bazel path.
2024-10-22 12:50:10 +02:00
Cornelius Riemenschneider
1ccadbc3f6 Add comment. 2024-10-22 11:26:02 +02:00
Cornelius Riemenschneider
ad1ef65539 Go: Fix makefile to use bash to look up bazel path.
On Windows, make's path resolution algorithm is incorrect.
It picks up a bazel.exe in PATH that's _after_ a bazel binary.
In particular, on actions, the non-exe binary is a bazelisk
instance, whereas bazel.exe is a bazel (at the current time 7.3.2)
installation.
This means we pick up the wrong bazel version, and
if the differences between the bazel we want and that we actually
get are too big, the build fails.
2024-10-22 10:51:10 +02:00
Tom Hvitved
60c205ff37 Merge pull request #17818 from hvitved/rust/summary-stats-perf
Rust: Speedup `SummaryStats.ql`
2024-10-22 10:15:56 +02:00
Owen Mansel-Chan
23a1ea7191 Merge pull request #17717 from owen-mc/go/update-incorrect-integer-conversion-qhelp
Go: Update `go/incorrect-integer-conversion` qhelp to explain possible source of FPs
2024-10-21 21:53:32 +01:00
Jeroen Ketema
9ef1a9c3f9 Merge pull request #17225 from geoffw0/aliasperf2
C++: Improve AliasedSSA performance
2024-10-21 20:20:24 +02:00
Taus
9803bbdc4b Python: Update class parser test 2024-10-21 15:35:48 +00:00
Taus
1cd04c96c7 Python: Fix bug in handling of **kwargs in class bases
This caused a dataset check error on the `python/cpython` database, as
we had a `DictUnpacking` node whose parent was not a `dict_item_list`,
but rather an `expr_list`.

Investigating a bit further revealed that this was because in a
construction like

```python
class C[T](base, foo=bar, **kwargs): ...
```
we were mistakenly adding `**kwargs` to the same list as `base` (which
is just a list of expressions), rather than the same list as `foo=bar`
(which is a list of dictionary items)

The ultimate cause of this was the use of `! name` in `python.tsg` to
distinguish between bases and keyword arguments (only the latter of
which have the `name` field). Because `dictionary_splat` doesn't have a
`name` field either, these were mistakenly put in the wrong list,
leading to the error.

Also, because our previous test of `class` statements did not include a
`**kwargs` construction, we were not checking that the new parser
behaved correctly in this case. For the most part this was not a
problem, but on files that use syntax not supported by the old parser
(like type parameters on classes), this became an issue. This is also
why we did not see this error previously.

To fix this, we added `! value` (which is a field present on
`dictionary_splat` nodes) as a secondary filter, and added a third
stanza to handle `dictionary_splat` nodes.
2024-10-21 15:35:47 +00:00
Taus
ae4a4bb881 Python: Flip test expectation
This test should now validate that we no longer have dataset check
errors even when there are unencodable characters.
2024-10-21 15:32:23 +00:00
Taus
cc39ae57dc Python: Fix dataset check error for string encoding
Here's an example of one of these errors:
```
INVALID_KEY predicate py_cobjectnames(@py_cobject obj, string name)

The key set {obj} does not functionally determine all fields. Here is a
pair of tuples that agree on the key set but differ at index 1: Tuple 1
in row 63874: (72088,"u'<X>'") Tuple 2 in row 63875: (72088,"u'<?>'")
```
(Here, the substring `X` should really be the Unicode character U+FFFD,
but for some reason I'm not allowed to put that in this commit message.)

Inside the extractor, we assign IDs based on the string type (bytestring
or Unicode) and a hash of the UTF-8 encoded content of the string. In
this case, however, certain _different_ strings were receiving the same
hash, due to replacement characters in the encoding process.

In particular, we were converting unencodable characters to question
marks in one place, and to U+FFFD in another place. This caused a
discrepancy that lead to the dataset check error.

To fix this, we put in a custom error handler that always puts the
U+FFFD character in place of unencodable characters. With this, the
strings now agree, and hence there is no clash.
2024-10-21 15:31:16 +00:00
Porcupiney Hairs
c7610b3539 Include change-note 2024-10-21 20:14:58 +05:30
Porcupiney Hairs
c93f0ed851 Include change-note 2024-10-21 20:12:46 +05:30
Jeroen Ketema
e36a1c717d Merge branch 'main' into aliasperf2 2024-10-21 16:40:01 +02:00
Porcupiney Hairs
c74f6f587f Merge branch 'main' into pyloadSsl 2024-10-21 20:09:05 +05:30
Porcupiney Hairs
f6369a6ed7 Include changes from review 2024-10-21 20:01:44 +05:30
Arthur Baars
490f81437b Merge pull request #17804 from github/aibaars/local-defs-1
Rust: add ide-contextual-queries/localDefinitions.ql
2024-10-21 15:30:44 +02:00
Tom Hvitved
f72af4f1f3 Rust: Use Callable to define CfgScope 2024-10-21 15:22:04 +02:00
Tom Hvitved
c4c936d6fa Rust: Speedup SummaryStats.ql 2024-10-21 15:21:13 +02:00
Michael Nebel
dec2c61e5d Java: Update LdapInjection expected test output. 2024-10-21 15:19:46 +02:00
Michael Nebel
d59df1f938 Java: Re-generate JDK 17 models. 2024-10-21 15:19:45 +02:00
Michael Nebel
23d285c698 Java: Update model generator expected output. 2024-10-21 15:19:44 +02:00
Michael Nebel
786d04e939 Java: Add the clone method to the model generation exclusions. 2024-10-21 15:19:43 +02:00
Michael Nebel
7919dcfb12 Java: Add modelgenerator clone example. 2024-10-21 15:19:42 +02:00
Michael Nebel
e2ada2536b Java: Update java.net expected output. 2024-10-21 15:19:41 +02:00
Michael Nebel
97f0037a7b Java: Manually model InetSocketAddress as the model generator doesn't correctly taint the hostname. 2024-10-21 15:19:40 +02:00
Michael Nebel
0a931aa69f Java: Add change note. 2024-10-21 15:19:38 +02:00
Michael Nebel
9a44eec04c Java: Add manual models for FileReader (they would also have disappeared if models were re-generated without using mixed mode). 2024-10-21 15:19:37 +02:00
Michael Nebel
b356c3cd48 Java: Manually model ZipFile (due to CWE-522 compression bombs test failure). 2024-10-21 15:19:36 +02:00
Michael Nebel
f537e04532 Java: Update LdapInjection expected test output. 2024-10-21 15:19:35 +02:00
Michael Nebel
f7b38a8955 Java: Add some less precise models for BasicAttributes to get the models to work with search sink and re-generate SDK models. 2024-10-21 15:19:34 +02:00
Michael Nebel
e94cacd449 Java: Update test expected output where the query results are not affected. 2024-10-21 15:19:33 +02:00
Michael Nebel
24d1e9927b Java: Update expected test output for the model editor tests. 2024-10-21 15:19:32 +02:00
Michael Nebel
ea14547643 Java: Update TopJdkApisTest expected output. 2024-10-21 15:19:31 +02:00
Michael Nebel
cbd9cc6dae Java: Update request forgery expected output. 2024-10-21 15:19:30 +02:00
Michael Nebel
3b6f39931b Java: Re-add generated (mixed) summaries and neutrals for the Java SDK 17. 2024-10-21 15:19:28 +02:00
Michael Nebel
f50734f0ee Java: Delete all generated Java JDK models. 2024-10-21 15:19:27 +02:00
Tom Hvitved
e9adbf231f Merge pull request #17816 from hvitved/rust/expr-trees-module
Rust: Move all expression CFG trees inside an `ExprTrees` module
2024-10-21 15:12:51 +02:00
Tom Hvitved
d2623cf4c3 Merge pull request #17814 from hvitved/rust/fix-bad-join
Rust: Fix bad join
2024-10-21 15:01:31 +02:00
Tom Hvitved
a6a68ef8be Apply suggestions from code review
Co-authored-by: Simon Friis Vindum <paldepind@github.com>
2024-10-21 14:43:22 +02:00
Taus
d01593e571 Python: Add test for string encoding dataset check
Note that this test checks that the current setup creates dataset check
violations. A later commit will fix this (and flip the negation in the
test).
2024-10-21 12:08:46 +00:00
Tom Hvitved
1f5e02f539 Rust: Move all expression CFG trees inside an ExprTrees module 2024-10-21 13:41:11 +02:00
Simon Friis Vindum
85e59c9920 Merge branch 'main' into rust-saa-additions 2024-10-21 13:30:02 +02:00
Michael Nebel
1217c55c36 C#: Add change note. 2024-10-21 12:08:03 +02:00
Michael Nebel
191658f637 C#: Update expected test output. 2024-10-21 12:04:31 +02:00
Michael Nebel
b2b1a3ea65 C#: Consider string.ReplaceLineEndings(string) as a sanitizer for log forging. 2024-10-21 12:03:59 +02:00
Michael Nebel
0b8e83dc87 C#: Add log forging false positive example using ReplaceLineEndings. 2024-10-21 11:55:09 +02:00
Cornelius Riemenschneider
ce53964edf Merge pull request #17812 from github/redsun82/rust-move-integration-tests
Rust: move integration tests to where other languages have them
2024-10-21 11:41:16 +02:00
Tom Hvitved
7e82595cae Rust: Fix bad join
Before
```
Evaluated relational algebra for predicate MatchExprImpl::Impl::MatchExpr.getLastArm/0#dispred#24e5f4cf@9cf607tl with tuple counts:
            660677  ~0%    {4} r1 = SCAN `MatchExprImpl::Impl::MatchExpr.getArm/1#dispred#817de8a3` OUTPUT _, In.0, In.2, In.1
            660677  ~0%    {3}    | REWRITE WITH Tmp.0 := 1, Out.0 := (Tmp.0 + In.3) KEEPING 3
        5342095756  ~0%    {3}    | JOIN WITH `MatchArmList::Generated::MatchArmList.getNumberOfArms/0#dispred#9ad72f08_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
             96597  ~3%    {2}    | JOIN WITH `MatchExpr::Generated::MatchExpr.getMatchArmList/0#dispred#11f1a73e` ON FIRST 2 OUTPUT Lhs.0, Lhs.2
                           return r1
```

After
```
Evaluated relational algebra for predicate MatchExprImpl::Impl::MatchExpr.getLastArm/0#dispred#24e5f4cf@9d7a92pu with tuple counts:
        660677   ~0%    {5} r1 = JOIN `MatchExprImpl::Impl::MatchExpr.getArm/1#344daffc` WITH `MatchExprImpl::Impl::MatchExpr.getNumberOfArms/0#ab0d8732` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, _, Rhs.1
                        {4}    | REWRITE WITH Tmp.3 := 1, Out.3 := (In.4 - Tmp.3), TEST Out.3 = InOut.1 KEEPING 4
         96597   ~3%    {2}    | SCAN OUTPUT In.0, In.2
                        return r1
```
2024-10-21 11:40:13 +02:00
Simon Friis Vindum
5e4ce8f66d Merge pull request #17800 from paldepind/rust-cfg-fixes
Rust: Various fixes to the CFG construction
2024-10-21 10:39:27 +02:00
Chris Smowton
5ba37bd7a3 Rename change note 2024-10-21 09:36:07 +01:00
Simon Friis Vindum
a1ebf98552 Merge branch 'main' into rust-cfg-fixes 2024-10-21 10:12:07 +02:00
Simon Friis Vindum
3ae04752c4 Rust: Accept less CFG inconsistencies 2024-10-21 10:07:11 +02:00
Simon Friis Vindum
9c172f62a4 Rust: Fix dead end in CFG for match expressions with no arms 2024-10-21 09:59:23 +02:00
Paolo Tranquilli
7b870d30a4 Rust: move integration tests to where other languages have them 2024-10-21 09:29:37 +02:00
Simon Friis Vindum
381f061e7f Rust: Add CFG test for match with no arms 2024-10-21 09:29:28 +02:00
Simon Friis Vindum
e149071634 Merge pull request #17803 from paldepind/unreachable2
Rust: More test cases for rust/dead-code
2024-10-21 08:30:36 +02:00
Porcupiney Hairs
7ef2d79b3f Include changes from review 2024-10-21 03:28:19 +05:30
Calum Grant
c5a082fd8e C++: Fix CWE-022 2024-10-18 19:45:29 +01:00
Chris Smowton
241f951db1 Add change-note for Java buildless packaging its required Maven plugin 2024-10-18 17:43:18 +01:00
Chris Smowton
74ef91649b Merge pull request #17780 from smowton/smowton/admin/add-buildless-maven-packaging-test
Java buildless: add tests checking usage of a local copy of the Maven dependency graph plugin
2024-10-18 17:38:59 +01:00
Arthur Baars
08af7d0007 Merge pull request #17810 from github/post-release-prep/codeql-cli-2.19.2
Post-release preparation for codeql-cli-2.19.2
2024-10-18 18:28:07 +02:00
github-actions[bot]
272f6c2541 Post-release preparation for codeql-cli-2.19.2 2024-10-18 15:56:02 +00:00
Arthur Baars
3990d0e11a Merge pull request #17808 from github/release-prep/2.19.2
Release preparation for version 2.19.2
2024-10-18 17:36:23 +02:00
Arthur Baars
aaf220d41e Fix typos in changelogs 2024-10-18 15:28:05 +00:00
github-actions[bot]
ca0345324e Release preparation for version 2.19.2 2024-10-18 15:16:21 +00:00
Arthur Baars
7c15be1f02 Merge pull request #17806 from github/revert-17764-release-prep/2.19.2
Revert "Release preparation for version 2.19.2"
2024-10-18 17:13:50 +02:00
Arthur Baars
eb515f884b Revert "Release preparation for version 2.19.2" 2024-10-18 17:06:20 +02:00
Calum Grant
0fcabc4e61 C++: Move mayBeFromImplicitlyDeclaredFunction to Call 2024-10-18 15:56:08 +01:00
Jami
c8d420ec57 Merge pull request #17795 from jcogs33/jcogs33/update-spring-csrf-qhelp-link
Java: update qhelp link for `java/spring-disabled-csrf-protection`
2024-10-18 10:11:37 -04:00
Arthur Baars
4a5a48a5b6 Rust: move PrintCfg to ide-contextual-queries 2024-10-18 16:11:18 +02:00
Arthur Baars
c9372b91f8 Rust: move ide-contextual-queries to the library pack 2024-10-18 16:11:17 +02:00
Arthur Baars
53744407ad Rust: add localDefinitions.ql 2024-10-18 16:11:08 +02:00
Calum Grant
419780591a C++: Resolve firstFormatArgumentIndex in FormattingFunction CP 2024-10-18 14:52:54 +01:00
Simon Friis Vindum
4ddc7a4592 Rust: Update unused value expected results 2024-10-18 15:49:52 +02:00
yoff
8cb339aa93 Merge pull request #17801 from yoff/python/extra-std-models
Python: extra modelling of stdlib
2024-10-18 15:32:01 +02:00
Jami Cogswell
335c59792c Java: remove unnecessary anchor and update page name 2024-10-18 09:26:56 -04:00
Rasmus Lerchedahl Petersen
30e5a12230 Python: udate expectations 2024-10-18 15:14:51 +02:00
Simon Friis Vindum
b665f45ffa Merge branch 'main' into unreachable2 2024-10-18 15:13:40 +02:00
Chuan-kai Lin
41e811773c Merge pull request #17648 from github/cklin/dataflow-diff-informed-filtering
Dataflow: apply diff-informed filtering consistently
2024-10-18 06:02:28 -07:00
Rasmus Lerchedahl Petersen
30053da70d Python: extra modelling of stdlib
as a reaction to the latest QA run
2024-10-18 13:49:33 +02:00
Simon Friis Vindum
b1e85d1ad8 Rust: Refactor BreakExprTree to use StandardPostOrderTree 2024-10-18 13:30:36 +02:00
Simon Friis Vindum
28f111b7c0 Rust: Remove erroneous CFG edge from return to break 2024-10-18 13:26:11 +02:00
Simon Friis Vindum
4ca6b0eceb Rust: Add a CFG test for a return within a break 2024-10-18 13:22:39 +02:00
Simon Friis Vindum
6568eb80a2 Rust: Refactor CFG pattern tree implementation 2024-10-18 12:52:56 +02:00
Simon Friis Vindum
7aa28a0449 Rust: Fix multiple CFG successors in range pattern without lower bound 2024-10-18 11:19:21 +02:00
Simon Friis Vindum
b0625f83c6 Rust: Add CFG test of range patterns 2024-10-18 11:19:19 +02:00
Simon Friis Vindum
272d12fee1 Rust: Step correctly over method arguments
Previously the math was wrong and the first argument (with `i` being `0`) had two edges out of it.
2024-10-18 11:19:07 +02:00
Owen Mansel-Chan
f3abe549f3 Merge pull request #17794 from owen-mc/go/ast-viewer-typeparamdecl
Go: Fix type param declarations in AST viewer
2024-10-18 10:14:51 +01:00
Owen Mansel-Chan
b0376d500c Merge pull request #17792 from owen-mc/go/lookthrough-pointer-type
Go: Add helper predicate `lookThroughPointerType`
2024-10-18 09:30:46 +01:00
Owen Mansel-Chan
bacf448388 Add change note 2024-10-17 22:06:49 +01:00
Jami Cogswell
88b7a9fcb5 Java: update qhelp link 2024-10-17 16:38:53 -04:00
Chris Smowton
8b0bd8c8ad Adjust test expectations 2024-10-17 20:42:41 +01:00
Chris Smowton
13f19481db Add tests checking Maven retrieves the depgraph plugin from our shipped repo, and produces the expected settings.xml file in the process 2024-10-17 20:42:40 +01:00
Arthur Baars
6e197b5802 Merge pull request #17773 from geoffw0/unusedval2
Rust: Implement UnusedValue.ql (2)
2024-10-17 21:03:24 +02:00
Dave Bartolomeo
639864e94d Handle may vs. must for EntireAllocationMemoryLocation 2024-10-17 19:50:50 +01:00
Chuan-kai Lin
1aa3eb527f Dataflow: apply diff-informed filtering consistently 2024-10-17 10:23:38 -07:00
yoff
b07c788a08 Merge pull request #17793 from github/tausbn/python-update-docs-for-python-3.13
Python: Update supported-versions-compilers.rst
2024-10-17 16:59:08 +02:00
Owen Mansel-Chan
7ed82068ef Add type param decls to AST viewer hierarchy 2024-10-17 15:39:16 +01:00
Geoffrey White
e1aaa136b2 Rust: Add variants with pattern matching for unreachable_let_1 and 2. 2024-10-17 15:38:47 +01:00
Taus
bf920605b2 Python: Update supported-versions-compilers.rst
Adds Python 3.13 to the list.

We might want to consider shortening the list to something like "3.5 - 3.13" at some point.

Also, once we're finally rid of standard library extraction, we should update footnote 8 accordingly.
2024-10-17 16:38:10 +02:00
Owen Mansel-Chan
b8ea8400d1 Add type param decls to PrintAST tests 2024-10-17 15:37:31 +01:00
Geoffrey White
3d0c86e176 Rust: Test spacing. 2024-10-17 15:37:03 +01:00
Jeroen Ketema
064ec91fa2 Merge pull request #17778 from jketema/param-name
C++: Improve parameter naming
2024-10-17 16:29:10 +02:00
Simon Friis Vindum
b2032fc6fd Rust: Only normal completion of a let statement initializer steps to the pattern 2024-10-17 16:28:57 +02:00
Simon Friis Vindum
e6f1edcbb5 Rust: Conditional completion of match arm expression should now flow to next arm 2024-10-17 16:25:19 +02:00
Simon Friis Vindum
04f2062942 Rust: Label the non-return CFG edge out of question mark as match 2024-10-17 16:22:07 +02:00
Simon Friis Vindum
fd5d6255c1 Rust: Avoid creating CFG scopes for trait signatures without implementations 2024-10-17 16:20:30 +02:00
Simon Friis Vindum
b0cd44e47f Rust: Add CFG test cases 2024-10-17 16:09:17 +02:00
Owen Mansel-Chan
1318504aa5 Add QLDoc 2024-10-17 12:06:46 +01:00
Owen Mansel-Chan
87992fac88 Revert change to hasEmbeddedField 2024-10-17 11:50:17 +01:00
Mathias Vorreiter Pedersen
b9205b13d6 Merge pull request #17788 from MathiasVP/better-function-pointer-resolution
C++: Improve function pointer resolution
2024-10-17 11:27:43 +01:00
Owen Mansel-Chan
5007666d6e Add helper predicate lookThroughPointerType 2024-10-17 11:26:24 +01:00
Mathias Vorreiter Pedersen
5e04358ece Update cpp/ql/lib/change-notes/2024-10-16-new-api-for-call-target-resolution.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-10-17 10:57:30 +01:00
Calum Grant
4341fab794 C++: Reject invalid results from getFirstFormatArgumentIndex() 2024-10-17 10:50:44 +01:00
Simon Friis Vindum
2d1c62b6df Rust: Fix dead end in CFG for empty tuple and struct patterns 2024-10-17 10:40:34 +02:00
Simon Friis Vindum
b97ec405d0 Rust: Add CFG tests with empty tuple and struct patterns 2024-10-17 10:34:49 +02:00
Mathias Vorreiter Pedersen
baab74cb35 C++: Add change notes. 2024-10-16 17:45:44 +01:00
Geoffrey White
e21959d7bb Rust: Add more unreachable test cases. 2024-10-16 17:34:57 +01:00
Geoffrey White
a92de0df93 Rust: Test spacing. 2024-10-16 16:56:12 +01:00
Calum Grant
5315a5cfbf C++: Tweak test 2024-10-16 15:47:34 +01:00
Anders Schack-Mulligen
4153a83a4f Python: Add workaround. 2024-10-16 16:14:51 +02:00
Anders Schack-Mulligen
5950c336e2 Python: Refactor references to NormalCall. 2024-10-16 16:04:31 +02:00
Mathias Vorreiter Pedersen
a99d57640a C++: Add a new API for getting the target of a 'Call' expression. 2024-10-16 14:45:44 +01:00
Geoffrey White
7e2542bd74 Rust: Accept consistency check failures. 2024-10-16 14:32:16 +01:00
Geoffrey White
7d62cdad71 Merge pull request #17774 from geoffw0/astcount
Rust: Count number of AST inconsistencies
2024-10-16 14:17:39 +01:00
Mathias Vorreiter Pedersen
2dbf75fde9 C++: Accept test changes. 2024-10-16 14:15:05 +01:00
Mathias Vorreiter Pedersen
30e0781778 C++: Also check for source calls when using 'lambda call resolution'. 2024-10-16 14:14:52 +01:00
Mathias Vorreiter Pedersen
9ea4c40ca9 C++: Add failing test. 2024-10-16 14:13:55 +01:00
Simon Friis Vindum
76e1885355 Rust: Make mutable variables that are only borrowed immutably amenable for SSA 2024-10-16 15:07:46 +02:00
Simon Friis Vindum
577afc3fd5 Rust: Support capture of mutable variables in SSA 2024-10-16 14:57:46 +02:00
Calum Grant
9758e023f9 C++: Remove redundant test 2024-10-16 13:47:06 +01:00
Calum Grant
ceceee1947 C++: Add test for mixed implicit/explicit function declarations 2024-10-16 13:46:06 +01:00
Anders Schack-Mulligen
42d35f8b9d Ruby: Exclude some cases that are unlikely library calls. 2024-10-16 14:35:23 +02:00
Anders Schack-Mulligen
c20f12fa6c Add qldoc. 2024-10-16 14:35:23 +02:00
Anders Schack-Mulligen
9ca8a27bae C/C++: Accept test changes. 2024-10-16 14:35:22 +02:00
Anders Schack-Mulligen
4e8a4a5cdd C/C++: Add tentative support for speculative taint flow. 2024-10-16 14:35:22 +02:00
Anders Schack-Mulligen
fae71756eb Go: Add tentative support for speculative taint flow. 2024-10-16 14:35:21 +02:00
Anders Schack-Mulligen
635071fe8a Swift: Add tentative support for speculative taint flow. 2024-10-16 14:35:21 +02:00
Anders Schack-Mulligen
7497d9530d Python: Add tentative support for speculative taint flow. 2024-10-16 14:35:20 +02:00
Anders Schack-Mulligen
8eb0cb4c66 Ruby: Add tentative support for speculative taint flow. 2024-10-16 14:35:20 +02:00
Anders Schack-Mulligen
7b43100af5 C#: Add support for speculative taint flow. 2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
6c6b6061bc Dataflow: Add consistency check. 2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
8b99154a00 Java: Add support for speculative taint flow. 2024-10-16 14:35:19 +02:00
Anders Schack-Mulligen
7d123296f8 Dataflow: Add speculative flow modules. 2024-10-16 14:35:18 +02:00
Anders Schack-Mulligen
c80627a3d3 Dataflow: add plumbing for adding provenance to state-steps. 2024-10-16 14:35:18 +02:00
Jeroen Ketema
bee073dee5 Merge pull request #17776 from jketema/parent-scope
C++: Add missing parent scope cases
2024-10-16 13:12:24 +02:00
Simon Friis Vindum
a1db359ba1 Rust: Add variable tests involving borrowing and capture 2024-10-16 13:05:53 +02:00
yoff
6cb607e087 Merge pull request #17779 from github/tausbn/python-run-replace-test
Python: Add `copy.replace` test to list of runnable tests
2024-10-16 13:01:49 +02:00
Geoffrey White
4577d1ce06 Rust: Additional test cases. 2024-10-16 11:38:30 +01:00
Jeroen Ketema
1eb0b49634 C++: Improve parameter naming 2024-10-16 11:33:18 +02:00
Calum Grant
d88a674a15 C++: Change note for mayBeFromImplicitlyDeclaredFunction 2024-10-16 10:27:54 +01:00
Calum Grant
6a48ad0ee7 C++: Implement Expr::mayBeFromImplicitlyDeclaredFunction 2024-10-16 10:23:39 +01:00
Paolo Tranquilli
79c3728d1f Merge pull request #17719 from github/redsun82/bazel-lfs
Bazel: skip git lfs endpoints presenting malformed data, and print workaround
2024-10-16 10:57:30 +02:00
Calum Grant
853128c9c3 C++: Clean up false-positives
C++: Change note
2024-10-16 09:46:26 +01:00
Paolo Tranquilli
8f451515e0 Bazel: print workaround for git_lfs_probe.py failing 2024-10-16 10:16:38 +02:00
Paolo Tranquilli
fd31e6d813 Bazel: skip git lfs endpoints presenting malformed data 2024-10-16 10:01:19 +02:00
Taus
65dbc1de91 Python: Add copy.replace test to list of runnable tests 2024-10-15 18:17:00 +02:00
Taus
28f8874243 Merge pull request #17688 from github/tausbn/python-3.13-default-type-parser-support
Python: Add support for type parameter defaults
2024-10-15 18:01:51 +02:00
Taus
d4e0cb2ffa Merge pull request #17767 from github/tausbn/python-3.13-model-flow-in-replace
Python: Model `copy.replace`
2024-10-15 18:01:28 +02:00
Geoffrey White
5b667026cb Rust: More fixup after some line numbers changed. 2024-10-15 16:17:03 +01:00
Jeroen Ketema
22b8e2cbb4 C++: Add missing parent scope cases 2024-10-15 17:16:58 +02:00
Calum Grant
fe85e007b3 C++: Add test for cpp/wrong-type-format-argument 2024-10-15 16:09:35 +01:00
Paolo Tranquilli
886c7f1f7a Merge pull request #17771 from github/redsun82/rust-codegen
Rust: fix codegen to allow `--force` again
2024-10-15 17:08:39 +02:00
Owen Mansel-Chan
5efb88ed1f Merge pull request #17737 from owen-mc/go/extractor/objecttypes-consistency-generics-2
Go: extractor/objecttypes consistency generics (second try)
2024-10-15 15:50:45 +01:00
Paolo Tranquilli
2c970a080d Rust: remove useless blank line
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com>
2024-10-15 16:50:15 +02:00
Geoffrey White
feed0ebeca Rust: Autoformat. 2024-10-15 15:49:56 +01:00
Geoffrey White
f9eca42ded Merge pull request #17763 from geoffw0/cfgcount3
Rust: Count number of CFG inconsistencies
2024-10-15 15:43:39 +01:00
Geoffrey White
2a68d3e46e Rust: Put Yes, No back in the logical order. 2024-10-15 15:31:34 +01:00
Geoffrey White
84a74d910d Rust: Fixup after merging main. 2024-10-15 15:24:43 +01:00
Tom Hvitved
88f6d3b5ea Rust: Implement UnusedValue.ql 2024-10-15 15:05:39 +01:00
Ian Lynagh
196baa99b2 Merge pull request #17769 from igfoo/igfoo/2.1.0-beta2
Kotlin: Fix for 2.1.0-Beta2
2024-10-15 14:56:55 +01:00
Arthur Baars
bdec751527 Merge pull request #17768 from github/post-release-prep/codeql-cli-2.19.2
Post-release preparation for codeql-cli-2.19.2
2024-10-15 15:33:42 +02:00
Geoffrey White
f07f6188ae Rust: Make rust/summary/summary-statistics a metric query so that we can access data in the DCA job. 2024-10-15 14:19:46 +01:00
Geoffrey White
f4d4925239 Rust: Address QL-for-QL complaint. 2024-10-15 14:19:45 +01:00
Geoffrey White
2be5ce4f7a Rust: Change rust/summary/summary-statistics to a diagnostic query, so that it gets run as a diagnmetric query for DCA. 2024-10-15 14:19:44 +01:00
Geoffrey White
e8953fb5e4 Rust: Add diagnostic query for AST inconsistency counts. 2024-10-15 14:19:43 +01:00
Geoffrey White
e01ecd1b79 Rust: Calculate a total of AST inconsistencies. 2024-10-15 14:19:42 +01:00
Geoffrey White
2d019eb00e Rust: Add QLDoc to the AST consistency rules and make their output more consistent. 2024-10-15 14:19:40 +01:00
Geoffrey White
b5c88c7bfe Rust: Give the extraction consistency query metadata as well. 2024-10-15 14:19:39 +01:00
Geoffrey White
414fcf836e Rust: Move the AST consistency logic to a .qll. 2024-10-15 14:19:38 +01:00
Geoffrey White
79c5adfc9a Rust: Use correct versions of the consistency predicates. 2024-10-15 14:10:51 +01:00
Paolo Tranquilli
1d9767a163 Merge pull request #17770 from github/redsun82/rust-callable-base
Rust: Add `Callable` as a base class of `Function` and `ClosureExpr`
2024-10-15 15:00:59 +02:00
Paolo Tranquilli
8e31abaefe Rust: fix codegen to allow --force
This passes command line arguments to codegen, allowing in particular
`--force` to be passed.

Also, a convenience `//rust/codegen:py` is added to only run the python
based code generation, which will be faster and enough when
`ast-generator` is unchanged.
2024-10-15 14:37:30 +02:00
Jeroen Ketema
50ec2549c0 Merge pull request #17740 from jketema/requires
C++: Add support for C++ requires expressions
2024-10-15 14:32:28 +02:00
Paolo Tranquilli
bd08bc7923 Rust: address review 2024-10-15 14:21:11 +02:00
Ian Lynagh
b5bfd06624 Kotlin: Fix for 2.1.0-Beta2
We need to catch a different exception now.
2024-10-15 13:17:26 +01:00
github-actions[bot]
079ab77a38 Post-release preparation for codeql-cli-2.19.2 2024-10-15 12:16:59 +00:00
Taus
3b60d8302b Python: Add change note 2024-10-15 12:14:20 +00:00
Taus
778b96aa39 Python: Update test expectations 2024-10-15 12:14:19 +00:00
Taus
eaef783f4b Python: Add partial model for copy.replace
Extends our modelling to partially cover the behaviour of
`copy.replace`. In particular, we model this in two ways:

Firstly, we extend the existing Models-as-Data row for `copy` and
`deepcopy` to also cover `replace`. This means that we treat the result
of `replace` as containing all of the fields of the original object.
This is somewhat _more_ than we want, as strictly speaking the fields
that are overwritten should _not_ propagate flow through the `replace`
call, but currently we don't have a good way of modelling this blocking
of flow.

Secondly, we add a flow summary that adds flow from named arguments of
the `replace` call to the corresponding fields on the base object. This
ensures that we at least have the new flow arising from the `replace`
call.

Note that the flow summary adds this flow for _all_ named arguments of
_all_ `replace` calls throughout the codebase. However, since any
particular `replace` call will only populate a subset of these (the
subset consisting of exactly those named arguments that are in that
particular call), this does not cause any unwanted crosstalk between
different `replace` calls.§
2024-10-15 12:14:19 +00:00
Paolo Tranquilli
5b2eb88672 Merge pull request #17766 from github/aibaars/fix-cwe-link
Fix CWE coverage link in main index
2024-10-15 14:05:50 +02:00
Taus
6f2cfa0ba8 Python: Update CopySummary to use getMaDRepresentation
Demonstrates the somewhat more ergonomic way to use
`getMaDRepresentation` when specifying summaries.

Note that this slightly extends the previous definition, in that
`DictionaryContentAny` is now _also_ propagated by a call to the
`.copy()` method, but I think this is correct.
2024-10-15 11:52:37 +00:00
Taus
ce914019c5 Python: Add getMaDRepresentation()
This adds a convenient way of getting the Models-as-Data representation
of a particular type of content. This avoids repeating the same
construction over and over in our various summaries. Currently this is
defined for all types of content except the captured variable content,
which to my knowledge doesn't have any representation in Models-as-Data.
2024-10-15 11:50:38 +00:00
Taus
e16405c675 Python: Add test for copy.replace
This test demonstrates the current state of affairs: that `copy.replace`
essentially blocks all flow of taint through it, because it has not been
modelled yet.
2024-10-15 11:48:43 +00:00
Jeroen Ketema
168f7f5d34 C++: Add support for C++ requires expressions 2024-10-15 13:44:17 +02:00
Arthur Baars
af6fc676ce Fix CWE coverage link in main index 2024-10-15 13:34:38 +02:00
Taus
417e60a466 Python: Update extractor version 2024-10-15 11:22:54 +00:00
Taus
d905010aa8 Python: Add change note 2024-10-15 11:22:34 +00:00
Taus
8630f57710 Python: Add up-/downgrade scripts
Adds up- and downgrade scripts for the support for type parameter
defaults.

In the upgrade direction we do nothing, matching the behaviour of
`getDefault` not having a result for old databases.

In the downgrade direction, we explicitly remove the relevant child (via
the `py_exprs` database relation) for `TypeVar`, `TypeVarTuple`, and
`ParamSpec` parameters.
2024-10-15 11:22:33 +00:00
Taus
819b3d77ab Python: Update test expectations
Note that this still includes the somewhat puzzling parsing of
`Spam[**P2]` as an exponentiation with an empty left hand side. When we
fix that bug, we should also update this test to contain actually valid
syntax.
2024-10-15 11:22:33 +00:00
Taus
182a192cc0 Python: Regenerate dbscheme/AST 2024-10-15 11:22:33 +00:00
Taus
36d89745f9 Python: Fix dbscheme/AST autogeneration
There was an errant `ql` in the relevant paths, a leftover from the move
from the internal repo. Also, we can no longer rely on an intree version
of the CodeQL CLI, so from now on we'll just assume it's present in the
path. (On Codespaces, `gh codeql` is a decent replacement, especially if
using the `install-stub` functionality.
2024-10-15 11:22:32 +00:00
Taus
2af0d78435 Python: Add default field to the relevant AST nodes 2024-10-15 11:22:32 +00:00
Taus
55ee3eb36b Python: Add TSG support for type defaults 2024-10-15 11:22:31 +00:00
Taus
6545bfffa7 Python: Regenerate parser files
Two new files -- alloc.h and array.h -- suddenly appeared. Presumably
they are used by the somewhat newer version of tree-sitter. To be safe,
I included them in this commit.
2024-10-15 11:22:31 +00:00
Taus
882249ef82 Python: Add grammar support for type defaults
Also fixes an oversight in the grammar: starred expressions should be
allowed inside the subscript of an `Index` expression.
2024-10-15 11:22:30 +00:00
Taus
1ced5b44d7 Python: Add test for type parameter defaults 2024-10-15 11:22:30 +00:00
Arthur Baars
15bc417a17 Merge pull request #17764 from github/release-prep/2.19.2
Release preparation for version 2.19.2
2024-10-15 13:08:40 +02:00
Arthur Baars
9ba8045837 Fix typos in changelog entries 2024-10-15 11:06:20 +00:00
Ian Lynagh
24d98eef83 Merge pull request #17741 from github/igfoo/logverb
Kotlin: Log our verbosity level
2024-10-15 11:42:15 +01:00
Geoffrey White
abc4981300 Rust: Address QL-for-QL complaint. 2024-10-15 11:30:03 +01:00
github-actions[bot]
255f55cf1a Release preparation for version 2.19.2 2024-10-15 10:29:25 +00:00
Geoffrey White
983179b84e Rust: Autoformat. 2024-10-15 11:23:16 +01:00
Owen Mansel-Chan
1626af0ae1 Merge pull request #17748 from owen-mc/go/join-order-fix/data-flow-node-gettype
Go: Fix bad join order in `SummarizedParameterNode.gettype`
2024-10-15 10:14:38 +01:00
Paolo Tranquilli
248eb7f00c Merge branch 'main' into rust/callable-base 2024-10-15 11:03:11 +02:00
Geoffrey White
7d9a3e1399 Merge pull request #17756 from geoffw0/unusedvar6
Rust: More test cases for rust/unused-variable
2024-10-15 10:02:37 +01:00
Arthur Baars
508e8157b3 Merge pull request #17746 from github/aibaars/macro-pat-irrefutable
Rust: add MacroPat to isExhaustiveMatch
2024-10-15 10:45:06 +02:00
Geoffrey White
5e33d9a145 Rust: Further changes from code review. 2024-10-15 09:38:17 +01:00
Geoffrey White
8169ccd21e Apply suggestions from code review
Co-authored-by: Simon Friis Vindum <paldepind@github.com>
2024-10-15 09:36:09 +01:00
Simon Friis Vindum
cc1e33fb64 Merge pull request #17713 from hvitved/rust/ssa
Rust: Initial SSA implementation
2024-10-15 09:59:48 +02:00
Geoffrey White
57875554f4 Rust: Accept consistency failures in the new test cases. 2024-10-14 17:06:55 +01:00
Geoffrey White
e5885f65db Rust: Add more test cases for unused variables and unreachable code. 2024-10-14 16:25:18 +01:00
Geoffrey White
528641c55a Rust: Test spacing. 2024-10-14 16:25:17 +01:00
Geoffrey White
134539060d Rust: correct some 'spurious' annotations that are off by one line. 2024-10-14 16:24:44 +01:00
Geoffrey White
25b592fc89 Merge pull request #17744 from geoffw0/unusedvar5
Rust: Unused variable follow-up work
2024-10-14 16:20:52 +01:00
Taus
5115216c2d Merge pull request #17755 from github/python/more-adj
python: more adjustments...
2024-10-14 17:16:16 +02:00
yoff
da5e9ac18c python: more adjustments... 2024-10-14 14:54:33 +00:00
Edward Minnix III
ade5686e52 Merge pull request #17335 from egregius313/egregius313/go/dataflow/models/stdin
Go: Implement `stdin` models
2024-10-14 10:38:27 -04:00
Taus
96ea9507a4 Merge pull request #17754 from github/python/extractor-expectations
python: update extractor expectations
2024-10-14 16:35:06 +02:00
yoff
9d8d7ab237 python: update extractor expectations 2024-10-14 14:14:40 +00:00
Arthur Baars
ae7afa7aff Update rust/ql/lib/codeql/rust/controlflow/internal/Completion.qll
Co-authored-by: Simon Friis Vindum <simonfv@gmail.com>
2024-10-14 15:20:43 +02:00
Arthur Baars
867c8a7fa6 Merge branch 'main' into aibaars/macro-pat-irrefutable 2024-10-14 15:02:28 +02:00
Simon Friis Vindum
ef1592fe32 Merge pull request #17751 from paldepind/rust-rename-predicate
Rust: Rename isIrrefutablePattern to isExhaustiveMatch
2024-10-14 14:47:15 +02:00
Arthur Baars
493a68a232 Rust: add MacroPat to isExhaustiveMatch 2024-10-14 13:55:59 +02:00
Simon Friis Vindum
22261c1480 Rust: Rename isIrrefutablePattern to isExhaustiveMatch 2024-10-14 13:43:57 +02:00
Simon Friis Vindum
d0f978d937 Merge pull request #17749 from paldepind/rust-cfg-handle-question-mark
Rust: Handle question mark operator in CFG
2024-10-14 13:19:46 +02:00
Arthur Baars
de612963de Merge pull request #17750 from yoff/python/extractor-test-expectaionts
Python: adjust test expectations for extractor test
2024-10-14 12:54:15 +02:00
Rasmus Lerchedahl Petersen
3402a729d0 Python: adjust test expectations for extractor test 2024-10-14 12:36:56 +02:00
Simon Friis Vindum
e83f1d17bf Rust: Simplify return implementation in CFG 2024-10-14 11:40:35 +02:00
Simon Friis Vindum
8e4e663739 Rust: Handle question mark operator in CFG 2024-10-14 11:38:35 +02:00
Simon Friis Vindum
2f07f1c730 Rust: Abnormal completion in scrutinee does not continue to match arms 2024-10-14 11:32:22 +02:00
Simon Friis Vindum
23ee7b955c Rust: Add CFG tests for question mark operator and scrutinee with return 2024-10-14 11:27:32 +02:00
Owen Mansel-Chan
1456ec2119 Fix bad join order in SummarizedParameterNode.gettype
Specifically the disjunct for this.getPos() != -1. Running on
uber/aresdb, before we had this:

   2403   ~1%    {3} r6 = JOIN `DataFlowUtil::SummarizedParameterNode.getPos/0#dispred#70a2aab4` WITH `DataFlowPrivate::FlowSummaryNode.getSummarizedCallable/0#dispred#e79ea9be` ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
9149774   ~5%    {4}    | JOIN WITH `Types::SignatureType.getParameterType/1#dispred#2c11bb7b_102#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Rhs.1, Lhs.1, Rhs.2
    923   ~9%    {2}    | JOIN WITH `Scopes::Callable.getType/0#dispred#55a0e6a2` ON FIRST 2 OUTPUT Lhs.2, Lhs.3

We add a binding pragma to make it not bind on this.getPos() until
necessary. After we have this:

   2403   ~0%    {3} r6 = JOIN `DataFlowUtil::SummarizedParameterNode.getPos/0#dispred#70a2aab4` WITH `DataFlowPrivate::FlowSummaryNode.getSummarizedCallable/0#dispred#e79ea9be` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1
   2373   ~0%    {3}    | JOIN WITH `Scopes::Callable.getType/0#dispred#55a0e6a2` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
    923   ~9%    {2}    | JOIN WITH `Types::SignatureType.getParameterType/1#dispred#2c11bb7b` ON FIRST 2 OUTPUT Lhs.2, Rhs.2
2024-10-13 14:27:51 +01:00
Tom Hvitved
6290be2922 Rust: Initial SSA implementation 2024-10-11 19:39:28 +02:00
Tom Hvitved
b0ea175021 Rust: Add more variables tests 2024-10-11 19:36:04 +02:00
yoff
8f681154ce Merge pull request #17683 from yoff/python/flip-default-for-stdlib-extraction
Python: Flip default for stdlib extraction
2024-10-11 18:34:44 +02:00
Geoffrey White
c4256f21c7 Rust: Fix out-of-date spurious tags. 2024-10-11 17:18:41 +01:00
Geoffrey White
ac9a8d602c Rust: Add metadata to the original CFG consistency query. 2024-10-11 17:01:47 +01:00
Geoffrey White
d4c3e3323f Rust: Add diagnostic query for CFG inconsistency counts. 2024-10-11 17:01:46 +01:00
Geoffrey White
7b712f3d65 Rust: Calculate a total of CFG inconsistencies. 2024-10-11 17:01:41 +01:00
Geoffrey White
4398c83a67 Rust: Add more QLDoc to the CFG consistency library. 2024-10-11 16:53:46 +01:00
Geoffrey White
85f2582afd Rust: Move CFG consistency logic into a library. 2024-10-11 16:53:45 +01:00
Paolo Tranquilli
5b57826915 Merge pull request #17659 from github/aibaars/rust-macros
Rust: add macro expansion to the extractor
2024-10-11 17:29:29 +02:00
Ian Lynagh
9f340279cb Kotlin: Accept test changes 2024-10-11 15:10:19 +01:00
yoff
2af60f1390 Merge pull request #17712 from yoff/python/re-finditer-match
Python: model that `re.finditer` returns an iterable of `re.Match` objects
2024-10-11 16:08:49 +02:00
Arthur Baars
fc298b23c9 Rust: address comment 2024-10-11 16:01:13 +02:00
Arthur Baars
5f45402cf7 Merge remote-tracking branch 'upstream/main' into aibaars/rust-macros 2024-10-11 15:40:07 +02:00
Rasmus Lerchedahl Petersen
5650694313 Python: update tests 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
e2eb08b543 Python: improve messaging 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
22588c9f85 Python: update ectractor version 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
c013d4a59c Python: update test expectations 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
4a291147e0 Python: only look for the py2 stdlib if we extract std lib 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
bb78c2a67e Python: update test expectations 2024-10-11 15:36:44 +02:00
Rasmus Lerchedahl Petersen
e91efaa92e python: do not extract stdlib by default 2024-10-11 15:36:44 +02:00
Ian Lynagh
156ddd3fae Kotlin: Log our verbosity level
This happens at `info` level, which is logged by default.
2024-10-11 14:24:25 +01:00
Tom Hvitved
ac8b9739c5 Merge pull request #17686 from hvitved/rust/cfg-patterns
Rust: Include parameters and patterns in the CFG
2024-10-11 14:45:27 +02:00
Tom Hvitved
ffd6b9864c Address review comments 2024-10-11 14:27:42 +02:00
Arthur Baars
659ce6f1ca Rust: fix CodeQL alert 2024-10-11 13:45:10 +02:00
Arthur Baars
b4bb24aa43 Merge remote-tracking branch 'upstream/main' into aibaars/rust-macros 2024-10-11 13:33:50 +02:00
Arthur Baars
6ade2a8054 Rust: address comments 2024-10-11 13:11:12 +02:00
Tom Hvitved
0ec40afa4c Rust: Update expected test output 2024-10-11 12:44:35 +02:00
Owen Mansel-Chan
9381dda4a9 Use un-specialized field when extracting struct types 2024-10-11 11:30:02 +01:00
Owen Mansel-Chan
6bf6ed6f48 Add check for object for specialized named type 2024-10-11 11:30:00 +01:00
Owen Mansel-Chan
a810309160 Add check for specialized objects 2024-10-11 11:29:58 +01:00
Owen Mansel-Chan
45710e23c6 Always use generic method object 2024-10-11 11:29:57 +01:00
Tom Hvitved
8cc349e85f Rust: Run codegen 2024-10-11 12:01:16 +02:00
Tom Hvitved
b284a2a7c0 Rust: Add Callable as a base class of Function and ClosureExpr 2024-10-11 12:00:30 +02:00
Paolo Tranquilli
854d7660eb Merge pull request #17730 from github/redsun82/codegen-annotate
Rust: insert `CallExprBase` in the hierarchy
2024-10-11 10:59:40 +02:00
Jeroen Ketema
57c6e4d9cb Merge pull request #17734 from jketema/handle-print
C++: Print handler parameters in PrintAST
2024-10-11 10:53:27 +02:00
Paolo Tranquilli
f3bf347bd6 Merge branch 'main' into redsun82/codegen-annotate 2024-10-11 10:38:02 +02:00
Arthur Baars
9fad5410c0 Rust: implement CFG for macros 2024-10-11 10:37:24 +02:00
Paolo Tranquilli
c66bd72620 Rust: rename to CallExprBase 2024-10-11 09:52:30 +02:00
Ian Lynagh
575eb24073 Merge pull request #17735 from github/revert-17709-go/extractor/objecttypes-consistency-generics
Revert "Go: extractor/objecttypes consistency generics"
2024-10-10 22:20:03 +01:00
Owen Mansel-Chan
d013c8940d Revert "Go: extractor/objecttypes consistency generics" 2024-10-10 21:37:44 +01:00
Tom Hvitved
756affa4aa Rust: Fix bugs in LetExprTree and MethodCallExprTree 2024-10-10 21:05:01 +02:00
Tom Hvitved
2f14ec9f2a Rust: Include patterns in the CFG 2024-10-10 21:05:00 +02:00
Tom Hvitved
f6f54c6e3b Rust: Include parameters in the CFG 2024-10-10 21:04:58 +02:00
Tom Hvitved
665da3958a Rust: Add CFG test for nested function 2024-10-10 21:04:57 +02:00
Jeroen Ketema
f1a350c96a C++: Print handler parameters in PrintAST 2024-10-10 20:47:12 +02:00
Owen Mansel-Chan
d0f73acc25 Merge pull request #17709 from owen-mc/go/extractor/objecttypes-consistency-generics
Go: extractor/objecttypes consistency generics
2024-10-10 17:30:03 +01:00
Geoffrey White
b692b1b282 C++: Autoformat. 2024-10-10 17:26:38 +01:00
Geoffrey White
cedfeee6d7 Merge branch 'main' into aliasperf2 2024-10-10 17:25:45 +01:00
Tom Hvitved
5f353b72cd Merge pull request #17727 from github/aibaars/modifiers
Rust: add extraction of all sorts of modifier tokens
2024-10-10 18:00:21 +02:00
Simon Friis Vindum
1398575b97 Merge pull request #17728 from paldepind/rust-remove-unused-types
Rust: Remove unused types
2024-10-10 17:33:59 +02:00
Geoffrey White
04c7319b6b Merge pull request #17647 from geoffw0/warnings
Rust: More information about extractor errors and warnings
2024-10-10 16:19:15 +01:00
Geoffrey White
7420d07935 Update ruby/ql/lib/codeql/ruby/AST.qll
Co-authored-by: Arthur Baars <aibaars@github.com>
2024-10-10 15:54:14 +01:00
Mathias Vorreiter Pedersen
e7da53d838 Merge pull request #17715 from MathiasVP/fopen-taint
C++: Add taint through `fopen`
2024-10-10 15:46:46 +01:00
Arthur Baars
6d43eed1e6 Rust: add QL doc for MacroStmts and MacroItems 2024-10-10 16:28:10 +02:00
Paolo Tranquilli
3ef49f31aa Merge pull request #17725 from github/redsun82/fix-cwe-coverage-link
Docs: fix CWE coverage link in main index
2024-10-10 16:18:16 +02:00
Arthur Baars
f97a159163 Rust: clippy fixes 2024-10-10 15:53:16 +02:00
Arthur Baars
88e5ce3cf8 Rust: lower default verbosity to WARN 2024-10-10 15:53:15 +02:00
Arthur Baars
ca27785ace Rust: extract files on a per-project basis
This way we have only one "project" database in-memory at a time. This
should avoid running out of memory when analyzing large mono-repos.
2024-10-10 15:53:14 +02:00
Arthur Baars
db28f1b29e Rust: use macro to inject extraction functions for detached properties 2024-10-10 15:53:13 +02:00
Arthur Baars
8372a2e562 Rust: ensure error and token locations are valid
The locations are "clipped" to the ranges of the parent node of a token,
and the root node of the parse tree for errors.
2024-10-10 15:53:12 +02:00
Arthur Baars
58d2c71c20 Rust: load files from disk ourselves
This avoids problems with files containing invalid utf-8 data, which may cause
panic's like:
```
 thread 'main' panicked at external/rules_rust~~_crate~ql~~r~r__ra_ap_salsa-0.0.232/src/input.rs:91:32:
   no value set for CompressedFileTextQuery(FileId(2429))
   stack backtrace:
      0: rust_begin_unwind
                at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/std/src/panicking.rs:665:5
      1: core::panicking::panic_fmt
                at /rustc/eeb90cda1969383f56a2637cbd3037bdf598841c/library/core/src/panicking.rs:74:14
      2: <salsa::input::InputStorage<Q> as salsa::plumbing::QueryStorageOps<Q>>::fetch
      3: <DB as ra_ap_base_db::SourceDatabase>::compressed_file_text::__shim
      4: <ra_ap_base_db::FileTextQuery as salsa::plumbing::QueryFunction>::execute
      5: salsa::Cycle::catch
      6: salsa::derived_lru::slot::Slot<Q,MP>::execute
      7: salsa::derived_lru::slot::Slot<Q,MP>::read
      8: <salsa::derived_lru::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::fetch
      9: <DB as ra_ap_base_db::SourceDatabase>::file_text::__shim
     10: <DB as ra_ap_base_db::SourceDatabase>::file_text
     11: <ra_ap_base_db::ParseQuery as salsa::plumbing::QueryFunction>::execute
     12: salsa::Cycle::catch
     13: salsa::derived_lru::slot::Slot<Q,MP>::execute
     14: salsa::derived_lru::slot::Slot<Q,MP>::read
     15: <salsa::derived_lru::DerivedStorage<Q,MP> as salsa::plumbing::QueryStorageOps<Q>>::fetch
     16: <DB as ra_ap_base_db::SourceDatabase>::parse::__shim
     17: <DB as ra_ap_base_db::SourceDatabase>::parse
     18: ra_ap_hir::semantics::SemanticsImpl::parse
     19: single_arch_extractor::main
```
2024-10-10 15:53:11 +02:00
Arthur Baars
f70f8a3536 Rust: fix utf8 test 2024-10-10 15:53:10 +02:00
Arthur Baars
1135bf6bcd Rust: improve QL test script 2024-10-10 15:53:09 +02:00
Arthur Baars
3e877ffaac Rust: do not fail on bad Cargo.toml files 2024-10-10 15:53:08 +02:00
Arthur Baars
ae19b2fd89 Rust: check that TextRanges are for the correct file 2024-10-10 15:53:07 +02:00
Arthur Baars
faa168993c Rust: reduce log output 2024-10-10 15:53:06 +02:00
Arthur Baars
0c10f083cb Rust: set RUST_BACKTRACE=1 2024-10-10 15:53:05 +02:00
Arthur Baars
796da126b8 Rust: update expected output 2024-10-10 15:52:57 +02:00
Arthur Baars
0b3b95ab54 Rust: macro expansion 2024-10-10 15:19:47 +02:00
Arthur Baars
cad2b74137 Rust: integrate Rust Analyzer's Semantic module into extractor 2024-10-10 15:19:46 +02:00
Arthur Baars
6ede20cccc Rust: regenerate code 2024-10-10 15:19:45 +02:00
Arthur Baars
69f0e8bcf7 Rust: add MacroStmts and MacroItems 2024-10-10 15:19:43 +02:00
Arthur Baars
7986fc7036 Rust: avoid double '.' in trap extension 2024-10-10 15:19:42 +02:00
Cornelius Riemenschneider
396bf93ac0 Merge pull request #17716 from github/criemen/rules-kotlin-2.0.0
Upgrade rules_kotlin to 2.0.0.
2024-10-10 15:07:50 +02:00
Geoffrey White
8a895740ba Ruby: Move language specific code out of FileSystem.qll (at least for now). 2024-10-10 14:05:39 +01:00
Owen Mansel-Chan
513efe222d Add check for object for specialized named type 2024-10-10 13:59:51 +01:00
Owen Mansel-Chan
6f6b4a0bfe Add check for specialized objects 2024-10-10 13:59:49 +01:00
Owen Mansel-Chan
d295cac697 Always use generic method object 2024-10-10 13:59:47 +01:00
Paolo Tranquilli
89f43fb917 Rust: generate code 2024-10-10 14:37:40 +02:00
Paolo Tranquilli
6015524589 Rust: insert FunctionOrMethodCallExpr in annotations 2024-10-10 14:34:24 +02:00
Paolo Tranquilli
c364fd7e56 Codegen: allow annotations to replace bases and drop fields 2024-10-10 14:33:06 +02:00
Arthur Baars
32e9881cfb Rust: update expected output 2024-10-10 14:25:07 +02:00
Arthur Baars
30034b4254 Rust: run 'bazel //rust/codegen' 2024-10-10 14:25:06 +02:00
Arthur Baars
b80b6aafdd Rust: extract modifier tokens as predicates 2024-10-10 14:25:05 +02:00
Tom Hvitved
4df9cd88ef Merge pull request #17658 from hvitved/shared/cfg-conditional-splitting
Shared `ConditionalCompletionSplitting` implementation
2024-10-10 13:21:38 +02:00
Simon Friis Vindum
0c9a2896d8 Rust: Remove unused types 2024-10-10 11:47:58 +02:00
Cornelius Riemenschneider
b18f8d3935 Merge pull request #17714 from github/criemen/flip-enable-plus
Bazel: Flip --incompatible_use_plus_in_repo_names.
2024-10-10 11:06:19 +02:00
Cornelius Riemenschneider
6322270926 Merge branch 'main' into criemen/flip-enable-plus 2024-10-10 09:54:16 +02:00
Paolo Tranquilli
3711a7e3e6 Fix CWE coverage link in main index
Kudos to @aikenka for spotting this.

Closes https://github.com/github/codeql/issues/17723
2024-10-10 09:30:20 +02:00
Geoffrey White
25b3d76f71 Merge pull request #17718 from geoffw0/unusedvar4
Rust: Restrict variables to lowercase (for now).
2024-10-10 08:22:52 +01:00
Geoffrey White
09c2f901f4 Merge pull request #17525 from geoffw0/unreachable
Rust: Unreachable code query
2024-10-10 08:22:08 +01:00
Tom Hvitved
6a87eb0c73 Merge pull request #17696 from hvitved/rust/captured-variables
Rust: Account for captured variables
2024-10-09 19:42:03 +02:00
Mathias Vorreiter Pedersen
acac3a06ad C++: Respond to review comments. 2024-10-09 17:32:37 +01:00
Geoffrey White
719cef8298 Merge branch 'main' into unreachable 2024-10-09 17:06:11 +01:00
Geoffrey White
5ac9c2db74 Rust: Accept variables test change. 2024-10-09 17:00:15 +01:00
Edward Minnix III
0abc0d1a67 Fix: ActiveThreatModelSource 2024-10-09 11:35:07 -04:00
Tom Hvitved
aa7215bbd5 Address review comments 2024-10-09 17:22:16 +02:00
Geoffrey White
dfeb35fe1a Rust: Move the restriction to variableDecl. 2024-10-09 16:21:12 +01:00
Jeroen Ketema
8352d17e2c Merge pull request #17693 from jketema/concepts
C++: Add a skeleton class for requires expressions
2024-10-09 16:54:33 +02:00
Geoffrey White
f171eeb229 Rust: Restrict 'unreachable' to nodes intended to be part of the CFG. 2024-10-09 15:37:10 +01:00
Rasmus Lerchedahl Petersen
6bd46148e7 Python: add change note 2024-10-09 16:27:52 +02:00
Geoffrey White
a66f31d844 Rust: Restrict variables to lowercase (for now). 2024-10-09 15:14:27 +01:00
Owen Mansel-Chan
500992c499 Update qhelp to explain possible source of FPs 2024-10-09 15:08:48 +01:00
Mathias Vorreiter Pedersen
6965cf7246 C++: Make ql-for-ql happy. 2024-10-09 15:05:13 +01:00
Cornelius Riemenschneider
4de0fefe86 Upgrade rules_kotlin to 2.0.0.
This is required for the bazel 8 upgrade, as one of the
incompatible-flag flips breaks 1.9.4.
2024-10-09 16:04:16 +02:00
Jeroen Ketema
b087fdecfe Merge pull request #17678 from MathiasVP/modernize-unclear-array-index-validation
C++: Modernize `cpp/unclear-array-index-validation`
2024-10-09 15:55:31 +02:00
Tom Hvitved
918e435a48 Merge pull request #17690 from hvitved/rust/ast-consistency-queries
Rust: Add AST consistency queries
2024-10-09 15:54:51 +02:00
Tom Hvitved
04d1c82005 Merge pull request #17689 from hvitved/rust/print-ast
Rust: `PrintAst` improvements
2024-10-09 15:54:30 +02:00
Mathias Vorreiter Pedersen
954235ecdd C++: Add change note. 2024-10-09 14:42:36 +01:00
Mathias Vorreiter Pedersen
338e82064e C++: Add a taint model for 'fopen' and accept test changes. 2024-10-09 14:40:26 +01:00
Mathias Vorreiter Pedersen
201842d2f9 C++: Add test with missing flow through 'fopen'. 2024-10-09 14:39:24 +01:00
Mathias Vorreiter Pedersen
61a012fc6c C++: Don't allow 'x < 0' as a barrier guard. 2024-10-09 14:17:56 +01:00
Mathias Vorreiter Pedersen
c883aa09f8 Update cpp/ql/src/change-notes/2024-10-07-unclear-array-index-validation.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-10-09 13:45:18 +01:00
Michael Nebel
79871aa51e Merge pull request #17687 from michaelnebel/modelgen/removeduplicatedf
C#/Java: Avoid `df` and `dfc` overlap in model generation.
2024-10-09 14:04:31 +02:00
Cornelius Riemenschneider
4c21444dd5 Bazel: Flip --incompatible_use_plus_in_repo_names.
We've hardcoded the tilde in a lot of places :(
This improves performance on Windows and gets us ready for Bazel 8.

We need an upgrade of rules_rust for this to work.
2024-10-09 14:04:05 +02:00
Geoffrey White
ed39c465a6 Merge pull request #17710 from geoffw0/unusedvar3
Rust: More test cases for unused variables
2024-10-09 12:44:58 +01:00
Michael Nebel
5d4ceeebb5 Shared: Only generate df summary model in the mixed query in case no context sensitive model exist. 2024-10-09 13:04:32 +02:00
Geoffrey White
f3d727fadc Rust: Correct spurious annotations. 2024-10-09 11:52:24 +01:00
Geoffrey White
fa1c92dbe7 Rust: Another case worth having. 2024-10-09 11:50:29 +01:00
Rasmus Lerchedahl Petersen
0ac4a10345 Python: model that finditer returns iterable of re.Match objects 2024-10-09 12:42:38 +02:00
Rasmus Lerchedahl Petersen
494b8bd7e1 python: model string property of resultof finditer 2024-10-09 12:40:47 +02:00
Rasmus Lerchedahl Petersen
073189ed6b python: add test for re.Match objects returned from finditer 2024-10-09 12:32:51 +02:00
Geoffrey White
7a6eabc8a3 Rust: Additional test cases. 2024-10-09 11:31:44 +01:00
yoff
6ffdf576d0 Merge pull request #17708 from yoff/python/ignore-extractor-test-output
Python: ignore some extractor test output
2024-10-09 12:31:42 +02:00
yoff
0b0e8a4bf5 Update python/extractor/tests/parser/.gitignore
As suggested by @tausbn
2024-10-09 12:22:17 +02:00
Chris Smowton
58fd1a2241 Merge pull request #17357 from smowton/smowton/feature/go-indistinguishable-types
Go: extract and expose struct tags, interface method IDs
2024-10-09 11:06:02 +01:00
Rasmus Lerchedahl Petersen
ad630bc6ff Python: ignore some extractor test output
If you test the extractor locally, you want to ignore these files.
2024-10-09 11:34:58 +02:00
Jeroen Ketema
4d251b96a6 C++: Fix copy&paste error in QLDoc 2024-10-09 11:24:08 +02:00
Tom Hvitved
bdb793ba92 Swift: Adopt shared ConditionalCompletionSplitting implementation 2024-10-09 11:02:18 +02:00
Tom Hvitved
3a098d7449 Ruby: Adopt shared ConditionalCompletionSplitting implementation 2024-10-09 11:02:17 +02:00
Tom Hvitved
5d925d36d3 C#: Adopt shared ConditionalCompletionSplitting implementation 2024-10-09 11:02:15 +02:00
Tom Hvitved
3d95369608 Shared ConditionalSplitting implementation 2024-10-09 11:02:13 +02:00
Tom Hvitved
11016e193c Rust: PrintAst improvements 2024-10-09 10:41:30 +02:00
Geoffrey White
41218fb89f Rust: Test spacing / variable names. 2024-10-09 09:17:24 +01:00
Tom Hvitved
5afd2d5bf0 Rust: Account for captured variables 2024-10-09 10:17:01 +02:00
Tom Hvitved
a3a0c2b269 Rust: Add more variable tests 2024-10-09 10:17:00 +02:00
Tom Hvitved
9952997b48 Shared: Add DenseRank library 2024-10-09 10:16:59 +02:00
Jeroen Ketema
f3cbf86c43 Merge pull request #17703 from jketema/odr-test
C++: Fix ODR violations in tests
2024-10-09 10:16:24 +02:00
Jeroen Ketema
723236d15b C++: Add a skeleton class for requires expressions 2024-10-09 02:16:20 +02:00
Jeroen Ketema
c90d0faaf6 C++: Fix ODR violations in dataflow tests 2024-10-08 20:34:20 +02:00
Chris Smowton
837387aeae Re-optimise isSensitive routine 2024-10-08 19:23:31 +01:00
Chris Smowton
629a7a601d Further optimise guardingFunction: remove redundant condition, and order guard -> guardFunction case to work backwards from interesting return sites, allowing us to go backwards not forwards through BasicBlock::dominates 2024-10-08 19:23:30 +01:00
Chris Smowton
d401891d30 copyedit 2024-10-08 19:23:29 +01:00
Chris Smowton
c79da8b2b5 Avoid pathological case where getExampleMethodName picks a very common method name 2024-10-08 19:23:28 +01:00
Chris Smowton
ed9a6bd820 Further join order optimisations 2024-10-08 19:23:27 +01:00
Chris Smowton
bf5ba33c2e Improve join orders for top 5 perf regressions in QA 2024-10-08 19:23:26 +01:00
Chris Smowton
365ccf4903 autoformat 2024-10-08 19:23:25 +01:00
Chris Smowton
36a031833f Further optimisation 2024-10-08 19:23:24 +01:00
Chris Smowton
ab99509a11 Rework interface for querying private interface method ids 2024-10-08 19:23:22 +01:00
Chris Smowton
0f95a8d724 Clarify doc 2024-10-08 19:23:21 +01:00
Chris Smowton
288e0ec565 component_tags -> struct_tags 2024-10-08 19:23:20 +01:00
Chris Smowton
c1a1edf24e Autoformat 2024-10-08 19:23:19 +01:00
Chris Smowton
74cba9056b Optimise join orders 2024-10-08 19:23:18 +01:00
Chris Smowton
d04a0f4b87 Add note explaining how to regenerate dbscheme 2024-10-08 19:23:17 +01:00
Chris Smowton
1511927a2b Remove unnecessary table population on upgrade 2024-10-08 19:23:15 +01:00
Chris Smowton
fd615fb7a3 Prevent bad magic 2024-10-08 19:23:14 +01:00
Chris Smowton
442e58188b Update stats 2024-10-08 19:23:13 +01:00
Chris Smowton
e1963a5fcd autoformat 2024-10-08 19:23:12 +01:00
Chris Smowton
7a7ff4a91e Apply review comments 2024-10-08 19:23:11 +01:00
Chris Smowton
5d14070cd4 Fix test file 2024-10-08 19:23:10 +01:00
Chris Smowton
22ed2f9ae3 Autoformat CodeQL 2024-10-08 19:23:09 +01:00
Chris Smowton
9bb2a4bfce Change note 2024-10-08 19:23:07 +01:00
Chris Smowton
dcbb66d366 Go: extract and expose struct tags, interface method IDs
This enables us to distinguish all database types in QL. Previously structs with the same field names and types but differing tags, and interface types with matching method names and at least one non-exported method but declared in differing packages, were impossible or only sometimes possible to distinguish in QL. With this change these types can be distinguished, as well as permitting queries to examine struct field tags, e.g. to read JSON field name associations.
2024-10-08 19:23:06 +01:00
Jeroen Ketema
f1e22687ab C++: Fix ODR violations in tests
In QLtest we do not have linkage awareness, so having multiple functions with
the same name in the same test causes ODR violations.
2024-10-08 20:09:31 +02:00
yoff
1f1b1b7aab Merge pull request #17653 from yoff/python/typetracking-through-comprehensions 2024-10-08 19:39:21 +02:00
Taus
3c1a19c5ab Merge pull request #17700 from github/tausbn/update-cors-query-change-note-and-tags
Python: Update CORS query tags and change note
2024-10-08 18:05:30 +02:00
Taus
92bca9c268 Python: Update CORS query tags and change note
Makes it more clear that the query is experimental.
2024-10-08 15:44:29 +00:00
Florin Coada
98f52589b0 Merge pull request #17684 from github/changedocs/2.19.1
Adding unified changelog for 2.19.1
2024-10-08 16:41:18 +01:00
Tom Hvitved
fcf1b6d6f5 Merge pull request #17657 from hvitved/rust/cfg-conditional-splitting
Rust: Implement `ConditionalCompletionSplitting`
2024-10-08 16:21:14 +02:00
Geoffrey White
7ff376b346 Merge branch 'main' into aliasperf2 2024-10-08 15:08:43 +01:00
Geoffrey White
4a131dd8f1 C++: Implement dbartol's suggestion. 2024-10-08 14:44:45 +01:00
Geoffrey White
f9fa52fe77 C++: Disabled the change again. 2024-10-08 14:43:56 +01:00
Tom Hvitved
08d6d54961 Rust: Add AST consistency queries 2024-10-08 15:00:38 +02:00
Geoffrey White
70d530a49c Rust: Exclude nodes that aren't part of the CFG. 2024-10-08 13:52:15 +01:00
Geoffrey White
a7dbe29448 Rust: Add parenthesis example to test. 2024-10-08 13:50:17 +01:00
Geoffrey White
7235ba8f91 Rust: Fix test compilation errors. 2024-10-08 13:38:33 +01:00
Geoffrey White
3b1d917c2b Rust: Autoformat. 2024-10-08 13:30:28 +01:00
Tom Hvitved
cb1ca4c75c Update rust/ql/lib/codeql/rust/controlflow/internal/Completion.qll
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-10-08 13:41:24 +02:00
Arthur Baars
4ab925507d Merge pull request #17682 from github/redsun82/rust-codegen
Rust: integrate rust code generation into `//rust/codegen`
2024-10-08 13:23:20 +02:00
Geoffrey White
6bde26d9fd Rust: Switch firstUnreachable to hvitved's suggested implementation. 2024-10-08 12:07:44 +01:00
Geoffrey White
5d7a92cf13 Rust: Add example from discussion. 2024-10-08 12:00:53 +01:00
Geoffrey White
40096ebb62 Rust: More cleanup after merge. 2024-10-08 11:46:45 +01:00
Geoffrey White
9e3f4cd183 Rust: Accept test changes after merging main. 2024-10-08 11:43:31 +01:00
Geoffrey White
483370d5f4 Merge branch 'main' into unreachable 2024-10-08 11:40:03 +01:00
Geoffrey White
f084bb7bcf Rust: A couple of interesting cases with short-circuiting. 2024-10-08 11:38:23 +01:00
Florin Coada
36937a0988 Adding unified changelog for 2.19.1 2024-10-08 11:28:15 +01:00
Jonas Jensen
51d189d30d Merge pull request #17556 from d10c/d10c/bigint-docs
BigInt Documentation
2024-10-08 11:46:58 +02:00
Jeroen Ketema
3d6965a550 Merge pull request #17665 from jketema/printir-doc
C++: Add some documentation on the printed IR
2024-10-08 11:09:56 +02:00
Mathias Vorreiter Pedersen
b00c545799 C++: Add change notes. 2024-10-08 10:08:16 +01:00
Mathias Vorreiter Pedersen
d6618edf01 C++: Accept test changes. 2024-10-08 10:08:14 +01:00
Mathias Vorreiter Pedersen
f7392d6498 C++: Range analysis of 'getc'. 2024-10-08 10:08:13 +01:00
Mathias Vorreiter Pedersen
6ca978e1cc C++: Add FP test. 2024-10-08 10:08:12 +01:00
Mathias Vorreiter Pedersen
823d5acd69 C++: Spacing. 2024-10-08 10:05:11 +01:00
Mathias Vorreiter Pedersen
8bb21e1b49 C++: Accept test changes. 2024-10-08 10:05:10 +01:00
Mathias Vorreiter Pedersen
a2cdb9c173 C++: Use range analysis at the sink to exclude trivial FPs. 2024-10-08 10:05:08 +01:00
Mathias Vorreiter Pedersen
c3d9ea1820 C++: Add FP. 2024-10-08 10:05:07 +01:00
Mathias Vorreiter Pedersen
afb5e4f841 C++: Add test spacing. 2024-10-08 10:05:06 +01:00
Mathias Vorreiter Pedersen
f6f5f5d4b4 C++: Accept test changes. 2024-10-08 10:05:04 +01:00
Mathias Vorreiter Pedersen
c9bd9e9303 C++: Modernize the 'cpp/unclear-array-index-validation' query by getting rid of the DefaultTaintTracking barriers and replacing them with a 'BarrierGuard' instantiation. 2024-10-08 10:05:03 +01:00
Paolo Tranquilli
61c3aa6288 Rust: integrate rust code generation into //rust/codegen 2024-10-08 10:37:53 +02:00
Nora Dimitrijević
328f322692 BigInt documentation 2024-10-08 10:15:06 +02:00
Nora Dimitrijević
26ac84aa6e Fix trailing whitespace in docs 2024-10-08 10:15:03 +02:00
Paolo Tranquilli
96dda8808c Rust: rename generate-schema -> ast-generator 2024-10-08 10:03:00 +02:00
Asger F
5a4cd1c578 Merge pull request #17661 from asgerf/shared/js-useuse-ssa-changes
SSA: Add BarrierGuardWithState
2024-10-08 08:27:18 +02:00
Jeroen Ketema
ed266dac5f C++: Address review comments 2024-10-07 22:42:18 +02:00
Asger F
1ce0ba5083 SSA: Make WithState private 2024-10-07 14:48:28 +02:00
Michael B. Gale
9bfd461fad Merge pull request #17669 from github/dependabot/go_modules/go/extractor/extractor-dependencies-ae022431d0
Bump golang.org/x/tools from 0.25.0 to 0.26.0 in /go/extractor in the extractor-dependencies group
2024-10-07 11:44:05 +01:00
dependabot[bot]
26f8e64a35 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.25.0 to 0.26.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.25.0...v0.26.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 09:26:56 +00:00
Chris Smowton
770774ed52 Merge pull request #17671 from hvitved/go/fix-tests
Go: Update expected test output
2024-10-07 09:23:59 +01:00
Tom Hvitved
c15749f342 Merge pull request #17672 from hvitved/swift/fix-test
Swift: Update expected test output
2024-10-07 10:07:20 +02:00
Tom Hvitved
6196fd2cc1 Swift: Update expected test output 2024-10-07 09:45:08 +02:00
Arthur Baars
c04315a7cf Merge pull request #17670 from hvitved/ruby/fix-test
Ruby: Fix expected test output
2024-10-07 09:44:51 +02:00
Tom Hvitved
16feaf15e2 Go: Update expected test output 2024-10-07 09:23:39 +02:00
Tom Hvitved
f1afa2bf59 Ruby: Fix expected test output 2024-10-07 09:16:12 +02:00
Owen Mansel-Chan
927b402a3a Merge pull request #17668 from igfoo/igfoo/typo
Java: Typo in a comment
2024-10-06 13:22:08 +01:00
Ian Lynagh
d24bdbb4e4 Java: Typo in a comment 2024-10-04 17:34:39 +01:00
yoff
6bb98b02a8 Merge pull request #17577 from yoff/python/add-comprehension-capture-flow
python: capture flow through comprehensions
2024-10-04 15:51:06 +02:00
Jeroen Ketema
b8eb2ab100 C++: Add some documentation on the printed IR 2024-10-04 15:37:22 +02:00
Rasmus Lerchedahl Petersen
6f5b949ec8 Python: adjust test expectations
note that we do retain precision in
`test_dict_from_keyword()`
2024-10-04 15:30:02 +02:00
Tom Hvitved
04a4fb2143 Merge pull request #17655 from hvitved/rust/variable-mut
Rust: `&(mut) x` is neither a read nor a write
2024-10-04 15:29:36 +02:00
Rasmus Lerchedahl Petersen
a4c1a622b7 Merge branch 'main' of https://github.com/github/codeql into python/add-comprehension-capture-flow 2024-10-04 14:53:03 +02:00
Tom Hvitved
50c2d108ca Rust: Fix CompoundAssignmentExpr charpred 2024-10-04 14:48:07 +02:00
yoff
306b087b6e Merge pull request #17566 from yoff/python/dict-can-take-multiple-args
Python: All dict constructor args are relevant
2024-10-04 14:30:10 +02:00
Rasmus Lerchedahl Petersen
977767b0d6 Python: comment around dictionary comprehensions 2024-10-04 14:14:30 +02:00
Rasmus Lerchedahl Petersen
201c4aad13 Python: add comment 2024-10-04 14:09:33 +02:00
yoff
c064a9e092 Update python/ql/lib/semmle/python/frameworks/Stdlib.qll
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-10-04 14:01:18 +02:00
Tom Hvitved
db5e452178 Merge pull request #17536 from hvitved/ql-test-source-root
Adapt to `sourceLocationPrefix` change in `qltest`
2024-10-04 12:48:51 +02:00
Michael Nebel
c629867191 Merge pull request #17654 from michaelnebel/modelgen/mixedbugfix
C#/Java: Only use heuristic if no content based model exist (in mixed mode).
2024-10-04 10:28:49 +02:00
Tom Hvitved
d0ca39fb03 JS: Update expected test output 2024-10-04 08:35:33 +02:00
Tom Hvitved
b3b9406e45 Python: Update test 2024-10-04 08:35:32 +02:00
Tom Hvitved
953461d1aa C++: Update expected test output 2024-10-04 08:35:31 +02:00
Tom Hvitved
bf0675e5ba Kotlin: Update two tests 2024-10-04 08:35:30 +02:00
Tom Hvitved
2832318711 Java: Account for top-level res folders in AndroidLayoutXmlFile 2024-10-04 08:35:28 +02:00
Tom Hvitved
aa5e0c39ba Rust: Implement ConditionalCompletionSplitting 2024-10-03 21:25:50 +02:00
Tom Hvitved
a9cf33ce18 Rust: &x is neither a read nor a write 2024-10-03 20:20:59 +02:00
Angela P Wen
8542992b0d Merge pull request #17651 from github/post-release-prep/codeql-cli-2.19.1
Post-release preparation for codeql-cli-2.19.1
2024-10-03 11:18:54 -07:00
Tom Hvitved
05f85497ed Rust: Add &mut variable tests 2024-10-03 19:55:07 +02:00
Geoffrey White
d4414dabff Ruby: Add change notes. 2024-10-03 17:40:18 +01:00
Geoffrey White
86cc2dc5a1 Ruby: Add rb/diagnostics/extraction-warnings so that we don't miss anything we had before. 2024-10-03 17:40:17 +01:00
Geoffrey White
1ea94faccf Ruby: Make similar changes to differentiate extraction errors and warnings, and mostly restore original behaviour. 2024-10-03 17:39:56 +01:00
Geoffrey White
4c7ec59306 Ruby: Sync identical files. 2024-10-03 17:17:37 +01:00
Chris Smowton
321eb34eff Merge pull request #17637 from smowton/smowton/admin/go-test-extraction-tests
Go: augment test-extraction tests
2024-10-03 16:06:53 +01:00
Geoffrey White
2e772a80c4 Rust: Accept minor consistency .expected changes. 2024-10-03 15:15:32 +01:00
Geoffrey White
64720adccb Merge pull request #17656 from geoffw0/unusedvar2
Rust: Diagnose unused variable false positives
2024-10-03 14:56:27 +01:00
Michael Nebel
7600c243de Merge pull request #17639 from felickz/patch-1
Update Comment - Clarify threat model flow sources comment in LogForgingQuery.qll
2024-10-03 15:51:40 +02:00
Geoffrey White
369241e1ea Merge pull request #5 from hvitved/unusedvar2
Rust: Account for variables bound in `while let` expressions
2024-10-03 14:04:38 +01:00
Geoffrey White
ccaf2dd9ea Rust: Temporarily limit results (hopefully enough for the DCA job to cope). 2024-10-03 13:44:04 +01:00
yoff
88b3d1ffd7 Merge pull request #17565 from yoff/python/model-urllib-parse-parse-qs
Python: model `urllib.parse.parse_qs`
2024-10-03 14:32:08 +02:00
Tom Hvitved
cd04500dd9 Rust: Account for variables bound in while let expressions 2024-10-03 14:05:24 +02:00
Geoffrey White
3c777b7605 Merge branch 'main' into warnings 2024-10-03 12:54:56 +01:00
Geoffrey White
32dbdb3913 Rust: Update summary stats .expected file. 2024-10-03 12:50:59 +01:00
Geoffrey White
da84889242 Rust: Use @diagnostic_error, @diagnostic_warning rather than constants. 2024-10-03 12:50:40 +01:00
Asger F
9902874ddd SSA: Add BarrierGuardWithState 2024-10-03 13:48:44 +02:00
Geoffrey White
0304aa846c Rust: Add more tests for uused variables. 2024-10-03 12:37:02 +01:00
Rasmus Lerchedahl Petersen
777279dc29 Python: MaD test expectations 2024-10-03 13:29:56 +02:00
Geoffrey White
821398715c Rust: Test spacing. 2024-10-03 11:55:11 +01:00
Rasmus Lerchedahl Petersen
768d866e72 python: model urllib.parse.parse_qs 2024-10-03 12:20:40 +02:00
Rasmus Lerchedahl Petersen
0462809edc Python: add taint test for urllib 2024-10-03 12:20:38 +02:00
Rasmus Lerchedahl Petersen
5c68bad2f1 Python: add comments 2024-10-03 12:17:59 +02:00
yoff
91f1cf10a7 Merge pull request #17454 from yoff/stdlib-optparse
Python: Several standard library models
2024-10-03 12:02:22 +02:00
Tom Hvitved
97c2387904 Merge pull request #17644 from hvitved/rust/break-continue-target 2024-10-03 11:38:27 +02:00
yoff
56d0affe38 Update python/ql/lib/semmle/python/frameworks/Stdlib.model.yml
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-10-03 10:18:25 +02:00
Rasmus Lerchedahl Petersen
6d486f9931 Python: move change note to the right place 2024-10-03 10:15:55 +02:00
Rasmus Lerchedahl Petersen
9e808c17af Python: add change note 2024-10-03 10:09:59 +02:00
Rasmus Lerchedahl Petersen
0dc036abd1 Python: Allow type tracking through comprehensions
- the subscript operator is extended to comprehensions
- the capture jump-step is extended to work for the functions generated inside comprehensions
2024-10-03 09:31:02 +02:00
github-actions[bot]
98d587c482 Post-release preparation for codeql-cli-2.19.1 2024-10-02 22:40:35 +00:00
Angela P Wen
569b650916 Merge pull request #17649 from github/release-prep/2.19.1
Release preparation for version 2.19.1
2024-10-02 11:36:20 -07:00
github-actions[bot]
fe54961b84 Release preparation for version 2.19.1 2024-10-02 18:30:42 +00:00
Angela P Wen
b16ba61fcb Merge pull request #17636 from github/revert-17629-release-prep/2.19.1
Revert "Release preparation for version 2.19.1"
2024-10-02 11:27:40 -07:00
Geoffrey White
88abc8f72f Rust: Add to summary stats. 2024-10-02 18:43:26 +01:00
Geoffrey White
a4c06b2bbc Rust: Define SuccessfullyExtractedFile and use it to simplify queries. 2024-10-02 18:43:25 +01:00
Geoffrey White
12fbd18f3a Rust: Have ExtractionConsistency.ql report both. 2024-10-02 18:43:24 +01:00
Geoffrey White
ad7c96554f Rust: Correct extraction errors query to output only errors. 2024-10-02 18:43:15 +01:00
Geoffrey White
f30a642c8f Rust: Add a test for the extractor warnings query. 2024-10-02 18:42:37 +01:00
Geoffrey White
ba9c2f1e3a Rust: Add extractor warnings query. 2024-10-02 18:42:32 +01:00
Geoffrey White
f7db47b771 Merge pull request #17588 from geoffw0/loc2
Rust: Improve lines-of-code counts.
2024-10-02 18:13:36 +01:00
Geoffrey White
0b6ec4624e Rust: Autoformat. 2024-10-02 17:05:01 +01:00
Geoffrey White
d6848f5c5d Rust: Apparently a doc comment here was illegal. 2024-10-02 17:00:28 +01:00
Geoffrey White
01abcf8537 Rust: Use just end locations for now, to avoid all false positive lines caused by attached comments. 2024-10-02 16:54:02 +01:00
Geoffrey White
8c87b66bea Rust: Add more test cases for comments. 2024-10-02 16:52:19 +01:00
Chris Smowton
05d2e16de3 autoformat 2024-10-02 15:25:36 +01:00
Tom Hvitved
6da3972433 Rust: Simplify break/continue CFG labels 2024-10-02 15:45:18 +02:00
Tom Hvitved
1266f9757d Rust: Add {BreakExpr,ContinueExpr}.getTarget() 2024-10-02 15:45:16 +02:00
Tom Hvitved
000dedf3e8 Rust: Output CFG for library-tests/variables 2024-10-02 15:45:14 +02:00
Tom Hvitved
d6415cd0c8 Merge pull request #17642 from hvitved/rust/unused-variable
Rust: Implement `UnusedVariable.ql`
2024-10-02 15:41:24 +02:00
Michael Nebel
51623c3837 Java: Consider all summarized callable with generated verification as generated when counting generated vs manual. 2024-10-02 15:24:01 +02:00
Michael Nebel
104d448b16 Shared: Only use heuristic summary flow in case there is no content based flow. 2024-10-02 15:24:01 +02:00
Tom Hvitved
3a1f6efce4 Address review comments 2024-10-02 13:37:24 +02:00
Geoffrey White
8243f87179 Rust: Modify the exclusion as suggested in comments. 2024-10-02 11:38:29 +01:00
Tom Hvitved
fb9ec2423c Rust: Implement UnusedVariable.ql 2024-10-02 11:22:32 +02:00
Tom Hvitved
3fa52ad680 Merge pull request #17633 from hvitved/rust/cfg-fixes
Rust: More CFG modelling
2024-10-02 11:21:53 +02:00
Tom Hvitved
9c7216fe4f Rust: Add another CFG test 2024-10-02 10:59:26 +02:00
Tom Hvitved
69e0ad0181 Rust: Refactor CFG implementation for loops 2024-10-02 10:55:52 +02:00
Calum Grant
8b536f54fd Merge pull request #17481 from github/calumgrant/bmn/uninitialized-local
C++: Remove FPs from cpp/uninitialized-local when encountered extraction errors
2024-10-02 09:29:15 +01:00
Calum Grant
d3695dce4d C++: Add change note 2024-10-02 08:14:23 +01:00
Chad Bentz
2458d16426 Clarify threat model flow sources comment in LogForgingQuery.qll 2024-10-01 23:04:22 -04:00
Ed Minnix
f8335e6163 Fix formatting 2024-10-01 15:58:07 -04:00
Edward Minnix III
91b7a6cbd8 Wording of change note
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-10-01 15:56:43 -04:00
Edward Minnix III
1f932d407f Remove unnecessary asExpr()
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-10-01 15:56:42 -04:00
Ed Minnix
26b49dd0df Fix test expectation 2024-10-01 15:56:40 -04:00
Ed Minnix
d80a1487be Add change note 2024-10-01 15:56:37 -04:00
Ed Minnix
e18389718c Implement stdin models
Unfortunately due to how variable and varargs work, these are better
done in QL
2024-10-01 15:56:31 -04:00
Tom Hvitved
8f0b7f0969 Rust: Use propagatesAbnormal in two places 2024-10-01 21:49:08 +02:00
Tom Hvitved
c4eafb2cf3 Rust: Skip ParenExprs in the CFG 2024-10-01 21:26:49 +02:00
Tom Hvitved
8b66dc16ad Rust: Fix CFG for labelled block expressions 2024-10-01 21:03:36 +02:00
Tom Hvitved
e8cb3490e6 Rust: Refine deadEnd consistency check 2024-10-01 21:02:55 +02:00
Tom Hvitved
85957767c9 Rust: Fix CFG for while let loops 2024-10-01 21:02:17 +02:00
Tom Hvitved
071076875c Rust: Make more CFG nodes leaves 2024-10-01 21:01:56 +02:00
Tom Hvitved
26c69b8f8a Rust: Add more CFG tests 2024-10-01 21:01:49 +02:00
Tom Hvitved
bbd0aa929f Rust: Add more missing CFG trees 2024-10-01 21:01:26 +02:00
Tom Hvitved
17770af491 Rust: Account for let statement else blocks in deadEnd 2024-10-01 21:00:39 +02:00
Tom Hvitved
a507854288 Rust: Fix bug in BooleanCompletion.isValidForSpecific0 2024-10-01 21:00:33 +02:00
Tom Hvitved
8c1fd8fa7a Rust: Implement CFG for ForExprs 2024-10-01 21:00:09 +02:00
Tom Hvitved
f3e3734424 Rust: Implement CFG for WhileExprs 2024-10-01 20:59:41 +02:00
Tom Hvitved
5444a5bf8a Rust: Extend while and for CFG tests 2024-10-01 20:59:13 +02:00
Angela P Wen
e8dd6a88e7 Revert "Release preparation for version 2.19.1" 2024-10-01 10:19:28 -07:00
Geoffrey White
3a54c10f36 Rust: For now exclude top-level AST elements from LOC counts. This is not ideal. 2024-10-01 17:35:30 +01:00
Tom Hvitved
5fb61b0304 Merge pull request #17606 from hvitved/rust/variables 2024-10-01 18:13:32 +02:00
Ian Lynagh
6af5afc184 Merge pull request #17634 from igfoo/igfoo/implicit_param_name
Java: Add a test for parameter names
2024-10-01 17:03:18 +01:00
Calum Grant
cd1f10cdea C++: Reinstate accidentally-deleted comment 2024-10-01 16:15:24 +01:00
Geoffrey White
74826032ef Merge branch 'main' into loc2 and accept new test results. 2024-10-01 16:10:39 +01:00
Chris Smowton
6ef2aed3aa Add blackbox, out-of-package test 2024-10-01 15:52:30 +01:00
Chris Smowton
9a82ea48f2 Add test for cross-package references with test extraction 2024-10-01 15:50:43 +01:00
Rasmus Lerchedahl Petersen
315890680c Python: dict only has one positional argument 2024-10-01 16:48:43 +02:00
Calum Grant
a9b3c0d91b C++: Address review comments 2024-10-01 15:47:12 +01:00
Rasmus Lerchedahl Petersen
38b1eb7c71 Python: just use ListElementContent for iterables 2024-10-01 16:24:15 +02:00
Ian Lynagh
323b7cb96f Java: Follow change of implicit parameter names 2024-10-01 15:06:45 +01:00
Ian Lynagh
901f756c69 Java: Add a test for parameter names 2024-10-01 15:06:42 +01:00
Chris Smowton
01c9509741 Merge pull request #17628 from smowton/smowton/admin/go-vendor-dir-extraction-option
Go: add extractor option for vendor-directory extraction
2024-10-01 14:47:42 +01:00
Anders Schack-Mulligen
6081ba5902 Merge pull request #17604 from aschackmull/java/neutral-overrides
Java/C#: Add overrides to the interpretation of neutral MaD models.
2024-10-01 14:55:54 +02:00
Rasmus Lerchedahl Petersen
f39dc41903 Python: use imprecise content in cp
We had accidentally used precise content leadingto blowup
2024-10-01 13:53:25 +02:00
Tom Hvitved
91e26d0f44 Rust: Add another variable test 2024-10-01 13:45:58 +02:00
Tom Hvitved
a172063e6a Rust: Document VariableOrAccessCand 2024-10-01 13:38:18 +02:00
Rasmus Lerchedahl Petersen
05910de8d1 Python: MaD expectations 2024-10-01 13:21:22 +02:00
Rasmus Lerchedahl Petersen
cef8744a37 Python: consolidate models in one file 2024-10-01 12:56:21 +02:00
yoff
7816f34d75 Merge branch 'main' into stdlib-optparse 2024-10-01 12:48:09 +02:00
Rasmus Lerchedahl Petersen
64890a1a6b Python: valid change note 2024-10-01 12:37:45 +02:00
yoff
2b6aab108d Update python/ql/lib/semmle/python/dataflow/new/internal/DataFlowDispatch.qll
Co-authored-by: Taus <tausbn@github.com>
2024-10-01 12:36:20 +02:00
Calum Grant
fe00c8819d C++: Fix formatting 2024-10-01 11:26:47 +01:00
Chris Smowton
cb0b388345 Merge pull request #17630 from smowton/smowton/admin/deduplicate-tests
Go: deduplicate integration tests
2024-10-01 11:08:00 +01:00
Calum Grant
4712ae1cfc C++: Use refactored isFirstAllocatorCallArgument() 2024-10-01 11:01:51 +01:00
Calum Grant
59a77d70c0 C++: Use Function::hasErrors in queries 2024-10-01 11:01:23 +01:00
Calum Grant
4b5aa1497b C++: Implement Function::hasErrors() 2024-10-01 11:00:44 +01:00
yoff
2eac11edd6 Update python/ql/lib/change-notes/2024-09-24-std-lib-models.md
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-10-01 11:47:42 +02:00
Chris Smowton
d689db23d8 Warn on use of old option 2024-10-01 10:43:28 +01:00
yoff
62509a10c2 Update python/ql/test/library-tests/dataflow/coverage/test_builtins.py
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-10-01 11:39:12 +02:00
Calum Grant
60abea17e6 C++: Test for cpp/uninitialized-local 2024-10-01 10:32:17 +01:00
Jeroen Ketema
66d156d386 Merge pull request #17608 from jketema/macro-expansion-tests
C++: Add more macro expansion tests
2024-10-01 11:19:49 +02:00
Rasmus Lerchedahl Petersen
e0a3c8a1c4 Python: add change note 2024-10-01 10:12:39 +02:00
Tom Hvitved
b0efffd8f0 Rust: AST support for variables 2024-10-01 10:10:08 +02:00
Rasmus Lerchedahl Petersen
bd68986fa4 Python: add test showing dict can take multiple arguments 2024-10-01 10:01:22 +02:00
Tom Hvitved
a282efc43e Rust: Add inline test expectations library 2024-10-01 09:50:05 +02:00
Tom Hvitved
1d6626c821 Rust: Implement IdentPat.toString() 2024-10-01 08:42:26 +02:00
Jeroen Ketema
2427227b84 Merge pull request #17611 from microsoft/brodes/wcharcharconversion_false_positives_upstream5
Brodes/wcharcharconversion false positives upstream5
2024-10-01 08:00:51 +02:00
Rasmus Lerchedahl Petersen
9357762e06 Python: remove superflous code
This is handled by parameter-argument matching
2024-10-01 00:03:04 +02:00
Angela P Wen
204e4c5bb0 Merge pull request #17631 from github/post-release-prep/codeql-cli-2.19.1
Post-release preparation for codeql-cli-2.19.1
2024-09-30 13:47:39 -07:00
github-actions[bot]
e97878ed63 Post-release preparation for codeql-cli-2.19.1 2024-09-30 19:49:00 +00:00
Chris Smowton
be389b4c19 Go: deduplicate integration tests 2024-09-30 19:54:14 +01:00
Angela P Wen
7dcdd7429f Merge pull request #17629 from github/release-prep/2.19.1
Release preparation for version 2.19.1
2024-09-30 11:04:41 -07:00
github-actions[bot]
455c8c5953 Release preparation for version 2.19.1 2024-09-30 17:59:48 +00:00
Chris Smowton
c9d6c80913 Log when vendor dir extraction is active 2024-09-30 18:44:20 +01:00
Chris Smowton
684aedf6aa Golang vendor dir extraction: add extractor option 2024-09-30 18:24:49 +01:00
REDMOND\brodes
c496503053 Formatting. 2024-09-30 11:23:08 -04:00
REDMOND\brodes
eeddb176f8 Merge branch 'brodes/wcharcharconversion_false_positives_upstream5' of https://github.com/microsoft/codeql into brodes/wcharcharconversion_false_positives_upstream5 2024-09-30 11:20:20 -04:00
REDMOND\brodes
162519185d Removing unnecessary bracket/singleton set literal. 2024-09-30 11:19:31 -04:00
Ben Rodes
9e9469f3ca Update cpp/ql/src/change-notes/2024-09-26-wcharcharconversion-false-positives.md
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-09-30 11:17:48 -04:00
REDMOND\brodes
318e75c094 Changing name of predicate to be clearer, and removing an unused parameter. 2024-09-30 11:10:28 -04:00
REDMOND\brodes
c91f7f4918 Altering exists predicate ordering to be clearer. 2024-09-30 11:07:09 -04:00
REDMOND\brodes
31324fc778 Altering ordering for exists statement to be clearer. 2024-09-30 11:05:38 -04:00
REDMOND\brodes
51e787b316 Switching to looking for explicit declaration of unsigned char, to avoid cases where unsigned char is the default char width for char. 2024-09-30 11:02:43 -04:00
REDMOND\brodes
c4737c7fbb Changing from hasIntermediateType to getABaseType. 2024-09-30 10:58:45 -04:00
Tom Hvitved
70b4ecf0a5 Merge pull request #17624 from github/aibaars/rust-comments
Rust: extract comments
2024-09-30 16:58:25 +02:00
REDMOND\brodes
338ab96593 Correct comment. 2024-09-30 10:46:39 -04:00
Tom Hvitved
938e962d79 Merge remote-tracking branch 'upstream/main' into aibaars/rust-comments 2024-09-30 16:42:22 +02:00
Anders Schack-Mulligen
d0831ebd5a Merge pull request #17625 from aschackmull/java/collection-neutrals
Java: Minor model tweak and comment fix.
2024-09-30 16:29:54 +02:00
Anders Schack-Mulligen
5c4b4d644a C#: Accept test changes. 2024-09-30 16:27:50 +02:00
Rasmus Lerchedahl Petersen
dacc0ab8fe Python: docs and a simplification 2024-09-30 16:06:30 +02:00
Tom Hvitved
52894f5b6a Merge pull request #17627 from hvitved/rust/accept-cfg-inconsistencies 2024-09-30 16:00:58 +02:00
Anders Schack-Mulligen
222ae6ad2d Java: Add a neutral for Comparable.compareTo 2024-09-30 15:51:48 +02:00
Anders Schack-Mulligen
fcb677e84d Java: Add a neutral for Collection.remove. 2024-09-30 15:46:43 +02:00
Anders Schack-Mulligen
38818f3cd2 Java: Adjust Set.clear model to apply to overrides. 2024-09-30 15:46:42 +02:00
Tom Hvitved
2018b6361d Rust: Accept CFG inconsistencies 2024-09-30 15:45:15 +02:00
Rasmus Lerchedahl Petersen
438e664116 Python: add missing qldoc
More doc is needed, but this should turn the tests green
2024-09-30 15:43:19 +02:00
Arthur Baars
d3c50727ed Rust: exclude Comment nodes from lines of code counts 2024-09-30 15:39:00 +02:00
Arthur Baars
45d3d381f5 Rust: test cases for comments 2024-09-30 15:38:59 +02:00
Arthur Baars
ef3f730d32 Rust: extract comment tokens 2024-09-30 15:38:58 +02:00
Arthur Baars
fd459be165 Rust: add Comment to schema 2024-09-30 15:38:54 +02:00
Tom Hvitved
3a210b77f9 Merge pull request #17626 from hvitved/rust/more-cfg-tests 2024-09-30 15:37:55 +02:00
Tom Hvitved
c3311e52a6 Merge pull request #17623 from hvitved/rust/labelled-block 2024-09-30 15:33:55 +02:00
Anders Schack-Mulligen
a8f55d93cb C#: Add overrides to the interpretation of neutral MaD models. 2024-09-30 15:23:27 +02:00
Anders Schack-Mulligen
0459d136d3 Java: Remove neutral model for Object.toString. 2024-09-30 15:17:21 +02:00
Tom Hvitved
2e7e26b638 Rust: Add more CFG tests 2024-09-30 15:15:14 +02:00
Anders Schack-Mulligen
1f95fa10fb Java: Fix comment re. neutrals and WithoutElement.
The remove methods should not have been in this section, as they're
plain neutrals.
2024-09-30 15:08:56 +02:00
Tom Hvitved
5ae669937c Rust: Add labelled block example 2024-09-30 14:47:13 +02:00
Rasmus Lerchedahl Petersen
a22ea6c1c8 Python: use known sanitiser
- also adjust test expectations in experimental
2024-09-30 14:22:17 +02:00
Tamás Vajk
752502ba76 Merge pull request #17619 from tamasvajk/text-file-archiving-warning
C#: reduce extraction message severity for missing text files
2024-09-30 14:07:45 +02:00
Rasmus Lerchedahl Petersen
7392d186bc Python: use yield step also for taint
Using the comprehension store step meant that all comprehensions would receive taint.
This because comprehension flow now goes via a callable, meaning they share the return node.
2024-09-30 13:49:01 +02:00
Rasmus Lerchedahl Petersen
fb07a56de6 Python: adjust test expectations 2024-09-30 13:26:59 +02:00
Anders Schack-Mulligen
ec0bd4494c Java: Add overrides to the interpretation of neutral MaD models. 2024-09-30 13:11:49 +02:00
Rasmus Lerchedahl Petersen
ded39749a7 Python: allow comp arg as argumentnode 2024-09-30 13:02:20 +02:00
Tamas Vajk
29948e4c0b C#: reduce extraction message severity for missing text files 2024-09-30 12:31:07 +02:00
Rasmus Lerchedahl Petersen
f9f46f0f98 Python: update test expectations
We now have a new callable, yielding new enclosing callables
2024-09-30 12:00:38 +02:00
Rasmus Lerchedahl Petersen
3ef05a628f Python: add location to node 2024-09-30 11:56:36 +02:00
Michael Nebel
6f74387600 Merge pull request #17521 from michaelnebel/modelgen/moreimprovements
C#/Java: Content based model generation improvements.
2024-09-30 11:22:30 +02:00
Tom Hvitved
4513643a0f Merge pull request #17617 from hvitved/rust/extraction-consistency
Rust: Add extraction error consistency query
2024-09-30 11:06:34 +02:00
Tom Hvitved
3e77dd8b6b Rust: Fix extraction errors 2024-09-30 10:36:56 +02:00
Rasmus Lerchedahl Petersen
310819d392 Python: fix dataflow inconsistencies
- adjust scope of argument, the argument is outside the called function
- add missing post-update nodes for the new arguments
2024-09-30 10:31:36 +02:00
Tom Hvitved
bafef791f7 Rust: Add extraction error consistency query 2024-09-30 10:28:24 +02:00
Anders Schack-Mulligen
a017f92b78 Merge pull request #17579 from aschackmull/java/type-sanitizers
Java: Add more type-based sanitizers.
2024-09-30 10:07:06 +02:00
Tom Hvitved
8a1b4501dd Merge pull request #17602 from hvitved/rust/cfg-prune-bool-literal
Rust: Prune CFG for obviously impossible `true/false` edges
2024-09-30 10:05:03 +02:00
Anders Schack-Mulligen
b0ed47c277 Merge pull request #17605 from aschackmull/java/stringbuilder-neutrals
Java: Add a couple of neutrals
2024-09-30 10:03:41 +02:00
Michael Nebel
baae8d0bb2 Shared: Address model generator review comments. 2024-09-30 09:12:30 +02:00
Rasmus Lerchedahl Petersen
d4ea62edec Python: flow through yield
- add yield as a dataflow return
- replace comprehension store step
   with a store step to the yield
2024-09-30 09:01:29 +02:00
Jeroen Ketema
e73d1c7b76 C++: Add more macro expansion tests 2024-09-28 22:32:36 +02:00
Owen Mansel-Chan
654d97013f Merge pull request #17607 from owen-mc/go/add-comments-about-interface-methods-from-embedded-interfaces
Go: Add comments noting methods from embedded interfaces are already included
2024-09-28 13:49:50 +01:00
Chris Smowton
ca68aaa0de Remove test code 2024-09-27 19:07:00 +01:00
REDMOND\brodes
b73fe0ba0a Adding change log 2024-09-27 12:41:45 -04:00
REDMOND\brodes
92c8d39ba3 Updating expected file, false positives now resolved. 2024-09-27 12:39:50 -04:00
REDMOND\brodes
cc24f1ed9f Modifications to the query to address false positives. 2024-09-27 12:38:22 -04:00
REDMOND\brodes
26e58532ee Adding tests and updated expected file with false positives to correct. 2024-09-27 12:37:09 -04:00
Owen Mansel-Chan
796db77104 Add comments noting methods from embedded interfaces are already included 2024-09-27 15:03:09 +01:00
Anders Schack-Mulligen
fb630d266e Java: Add a couple of neutrals 2024-09-27 15:24:06 +02:00
Tom Hvitved
90a8bef64c Rust: Run codegen 2024-09-27 13:39:15 +02:00
Ian Lynagh
7de1182f92 Merge pull request #17599 from igfoo/igfoo/constrs
Kotlin: Fix the return type for lambda constructors
2024-09-27 12:38:50 +01:00
Tom Hvitved
dc4160b24a Rust: Prune CFG for impossible true/false edges 2024-09-27 13:37:29 +02:00
Tom Hvitved
bf58bdd2bd Rust: Update CFG tests 2024-09-27 13:35:14 +02:00
Tom Hvitved
431b33a274 Rust: Implement LiteralExpr::toString() 2024-09-27 13:33:25 +02:00
Tom Hvitved
97ead6f462 Merge pull request #17560 from hvitved/codegen/remove-cached
Codegen: Do not cache injectors/projectors in `Synth` module
2024-09-27 13:17:02 +02:00
Ian Lynagh
2a5b48930a Kotlin: Fix the return type for lambda constructors 2024-09-27 11:21:40 +01:00
Ian Lynagh
08be35fc2c Kotlin: Add a test for constructors 2024-09-27 11:21:23 +01:00
Arthur Baars
7c6239b077 Merge branch 'main' into unreachable 2024-09-27 12:15:49 +02:00
Rasmus Lerchedahl Petersen
72530a8312 Python: use synthetic node for comprehension capture argument
We used to use the CfgNode for the comprehension itself.
In cases where that is also an argument, say
```python
",".join([x for x in l])
```
that would be an argument to two different calls causing a dataflow consistency violation.
2024-09-27 12:15:03 +02:00
Anders Schack-Mulligen
2d76752ca0 Java: Add model for CharArrayWriter.toString(). 2024-09-27 11:28:20 +02:00
Rasmus Lerchedahl Petersen
294092b671 Python: use comprehension function argument
For a comprehension `[x for x in l]
- `l` is now a legal argument (in DataFlowPublic)
- `l` is the argument of the comprehension function (in DataFlowDispatch)
- the parameter of the comprehension function is being read rather than `l` (in IterableUnpacking)
Thus the read that used to cross callable boundaries is now split into a arg-param edge and a read from that param.
2024-09-27 09:44:39 +02:00
Michael Nebel
0b39c5b982 C#/Java: Update model generator expected output. 2024-09-27 09:22:29 +02:00
Michael Nebel
80497f551e Shared: Only make unlifted models in case the API itself is relevant. 2024-09-27 09:22:25 +02:00
Michael Nebel
3d1a403655 C#: Add example of content based summary on private method. 2024-09-27 09:22:20 +02:00
Michael Nebel
ccadfa134e Shared: Update the model generator script to allow execution of the mixed model generator queries. 2024-09-27 09:22:15 +02:00
Michael Nebel
8310faa2e9 C#/Java: Add a query that uses both content based and non-content based model generation. 2024-09-27 09:22:11 +02:00
Owen Mansel-Chan
fdff209938 Merge pull request #17505 from owen-mc/go/inheritance-tests
Go: Add tests for model inheritance and fix bug in promoted methods
2024-09-26 16:42:25 +01:00
Calum Grant
8e85f24c95 Merge pull request #17553 from github/calumgrant/bmn/wrong-number-of-format-arguments
C++: Remove FPs in cpp/wrong-number-format-arguments due to BMN
2024-09-26 15:01:23 +01:00
Calum Grant
8967989c7b C++: Rename change-note 2024-09-26 13:39:46 +01:00
Tom Hvitved
7c473c38c0 Merge pull request #17585 from hvitved/shared/cfg-scope-no-first-consistency
Shared: Add CFG consistency check for scopes with missing entry points
2024-09-26 14:05:08 +02:00
Calum Grant
dcb75f490f Update cpp/ql/src/change-notes/2024-09-26-wrong-number-format-arguments
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-09-26 13:05:06 +01:00
Calum Grant
8045440d00 Update cpp/ql/lib/semmle/code/cpp/models/interfaces/FormattingFunction.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-09-26 13:04:52 +01:00
Rasmus Wriedt Larsen
7c32efc218 Merge pull request #17203 from RasmusWL/threat-models
Python: Add support for threat models
2024-09-26 13:15:46 +02:00
Rasmus Wriedt Larsen
381ea93ec3 Merge pull request #17424 from RasmusWL/active-threat-model-source
Go/Java/C#: Rename `ThreatModelFlowSource` to `ActiveThreatModelSource`
2024-09-26 13:08:17 +02:00
Michael Nebel
a128383760 C#/Java: Add some dfc-generated test cases. 2024-09-26 13:01:01 +02:00
Michael Nebel
2a5dc204fb Shared: Add dfc as a valid model origin. 2024-09-26 13:00:57 +02:00
Michael Nebel
9a923d62ad C#/Java: Updated expected test output. 2024-09-26 13:00:52 +02:00
Michael Nebel
e70297a7bc Shared: Content based models is now printed with dfc-generated provenance. 2024-09-26 13:00:39 +02:00
Arthur Baars
d7fb7ab551 Merge pull request #17592 from github/aibaars/cargo-fmt
Rust: run cargo fmt
2024-09-26 12:57:15 +02:00
Michael Nebel
53c20ccaeb Shared: Some model generator re-factoring. 2024-09-26 12:55:01 +02:00
Michael Nebel
0cd4ccb790 C#/Java: Update model generator expected test output. 2024-09-26 12:49:18 +02:00
Michael Nebel
b041829569 Shared: steps in synthetic path chains should just mention the same synthetic fields. 2024-09-26 12:49:07 +02:00
Arthur Baars
6777a34dfb Rust: run cargo fmt 2024-09-26 12:40:25 +02:00
Geoffrey White
caca4950e6 Rust: Revert the change to FileSystem.qll. 2024-09-26 11:10:32 +01:00
Geoffrey White
7b3960844d Merge pull request #17589 from geoffw0/missing2
Rust: Repair rust/diagnostics/unextracted-elements
2024-09-26 11:03:03 +01:00
Michael Nebel
aae8660acc C#/Java: Add some examples of missing synthetic field element flow. 2024-09-26 12:00:29 +02:00
Michael Nebel
58513cadbf C#/Java: Add model generator test examples. 2024-09-26 12:00:25 +02:00
Michael Nebel
6cd548f410 Shared: Only exclude API and parameter combinations where we could get more than three summaries. 2024-09-26 12:00:04 +02:00
Rasmus Wriedt Larsen
431a1af628 Merge branch 'main' into threat-models 2024-09-26 11:44:24 +02:00
Chris Smowton
76914c40c9 Merge pull request #17591 from github/smowton/admin/java-23-change-note
Add change note for Java 23 support
2024-09-26 10:14:21 +01:00
Tom Hvitved
f389a889ad Exclude consistency output from .gitignore files 2024-09-26 11:09:54 +02:00
Tom Hvitved
24f39ccae2 Rust: Weaken scopeNoFirst check 2024-09-26 11:09:52 +02:00
Tom Hvitved
a3ad6f5697 Ruby: Weaken scopeNoFirst check 2024-09-26 11:07:15 +02:00
Michael Nebel
dd993c3900 Merge pull request #17509 from michaelnebel/modelgen/parammodule
C#/Java: Re-factor the model generator to be a parameterized module.
2024-09-26 10:57:16 +02:00
Calum Grant
9b5c9af489 C++: Add change note 2024-09-26 09:31:45 +01:00
Calum Grant
7f2d485ae9 C++: Update comment 2024-09-26 09:31:43 +01:00
Calum Grant
c2871f4def Update cpp/ql/lib/semmle/code/cpp/Function.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-09-26 09:31:42 +01:00
Calum Grant
4a14a3cacb Update cpp/ql/lib/semmle/code/cpp/models/interfaces/FormattingFunction.qll
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-09-26 09:31:40 +01:00
Calum Grant
0ad2e193e5 C++: Update test case 2024-09-26 09:31:18 +01:00
Calum Grant
31684d2548 C++: Remove FPs in cpp/wrong-number-format-arguments due to BMN 2024-09-26 09:27:59 +01:00
Calum Grant
6a0212ea44 C++: Add regression test 2024-09-26 09:27:51 +01:00
Michael Nebel
297d32180c Merge pull request #17582 from michaelnebel/csharp/attributecollectionsinks
C#: `AttributeCollection` is no longer considered a HTML sink.
2024-09-26 09:17:31 +02:00
Chris Smowton
ba5be80814 Typo 2024-09-25 21:32:52 +01:00
Chris Smowton
2c9488e475 Add change note for Java 23 support 2024-09-25 21:32:24 +01:00
Geoffrey White
f8ce11b3a7 Rust: Improve File.getNumberOfLinesOfCode(). 2024-09-25 16:42:29 +01:00
Geoffrey White
7da2845cad Rust: Uncomment two lines from the test that should now behave deterministically. 2024-09-25 16:42:28 +01:00
Ian Lynagh
a9ecb26885 Merge pull request #17555 from igfoo/igfoo/kotlin2.1
Add support for Kotlin 2.1.0-Beta1
2024-09-25 16:25:55 +01:00
Geoffrey White
bc83106dd8 Rust: Repair rust/diagnostics/unextracted-elements. 2024-09-25 16:11:31 +01:00
Erik Krogh Kristensen
6a184e0c2e Merge pull request #17587 from 5idg5/users/js-dom-xss-tst-file-id-conflict-fix
Resolve id conflict with XssWithAdditionalSources.ql
2024-09-25 17:06:20 +02:00
Michael Nebel
1dcc6ac2b1 C#: Address review comments. 2024-09-25 17:06:19 +02:00
Tom Hvitved
1bd504bf61 C#: Restrict CfgScope 2024-09-25 16:43:15 +02:00
Tom Hvitved
ce2d959b7e Shared: Add CFG consistency check for scopes with missing entry points 2024-09-25 16:43:00 +02:00
Geoffrey White
8f1c1a8399 Revert "Rust: remove queries that no longer work"
This reverts commit e19bca0de8.
2024-09-25 15:33:21 +01:00
Jeroen Ketema
0520fc2d9f Merge pull request #17583 from jketema/rm-inline
C++: Remove `inline` pragma from sink
2024-09-25 16:30:30 +02:00
Ian Lynagh
a6fce19b0c Kotlin: Fix build with 2.1.0-Beta1 2024-09-25 15:23:35 +01:00
Ian Lynagh
5a03c35e9c Kotlin: Add 2.1.0-Beta1 2024-09-25 15:23:34 +01:00
Ian Lynagh
f193084f9f Kotlin: Add 2.1.0-Beta1 jars 2024-09-25 15:23:33 +01:00
Ian Lynagh
a8cad4963e Kotlin: 2.1.0 is supported 2024-09-25 15:23:31 +01:00
Sid Gawri
e8c68fff7f resolve id conflict with dom based xss test ql 2024-09-25 10:01:59 -04:00
Felicity Chapman
85cc596041 Merge pull request #17586 from github/felicitymay-patch-1
Fix link to change logs on landing page
2024-09-25 14:40:56 +01:00
Jeroen Ketema
7289476c80 Merge pull request #17576 from jketema/formatting
C++: Do not wrap quoted text to the next line
2024-09-25 15:32:16 +02:00
Felicity Chapman
53e33d3ef3 Fix link to change logs on landing page 2024-09-25 14:28:09 +01:00
Felicity Chapman
0baa9e9ac1 Merge pull request #17580 from github/felicitymay-fix-dropdown-links
Revert changes that made the links in the drop-down on CodeQL docs site relative
2024-09-25 14:16:14 +01:00
Tom Hvitved
90869ec96a Merge pull request #17558 from hvitved/rust/cfg-consistency-queries
Rust: Enable CFG consistency checks
2024-09-25 15:14:44 +02:00
Tom Hvitved
79620c1a89 Address review comment 2024-09-25 14:18:44 +02:00
Michael Nebel
af80797eda C#: Add change note. 2024-09-25 14:13:06 +02:00
Michael Nebel
e89a47f2f5 C#: Update XSS expected test output. 2024-09-25 14:13:03 +02:00
Michael Nebel
d00e27916d C#: No longer consider attribute collections as HTML sinks. 2024-09-25 14:12:59 +02:00
Michael Nebel
28c48fb471 C#: Add Xss attribute collection test example and update expected output. 2024-09-25 14:12:55 +02:00
Jeroen Ketema
0ee1383732 C++: Remove inline pragma from sink 2024-09-25 14:04:31 +02:00
Anders Schack-Mulligen
cc63abf0af Merge pull request #17578 from aschackmull/cpp/fix-inline-sink2
Cpp: Replace sink inlining with a forward scan from source.
2024-09-25 13:54:48 +02:00
Arthur Baars
f57dd0a596 Merge pull request #17552 from github/aibaars/diagnostics
Rust: extract parse errors as diagnostics
2024-09-25 13:15:24 +02:00
Felicity Chapman
329c3c7c56 Make links in drop-down absolute 2024-09-25 10:59:22 +01:00
Owen Mansel-Chan
0ae10ece39 Merge pull request #17571 from jsoref/issue-17570
Downgrade IncorrectIntegerConversionQuery precision to high
2024-09-25 09:58:43 +01:00
Tom Hvitved
cbc2389493 Rust: Accept CFG inconsistencies 2024-09-25 10:56:46 +02:00
Tom Hvitved
d299380a5a Rust: Enable CFG consistency checks 2024-09-25 10:56:44 +02:00
Tom Hvitved
f428fdc57c Rust: Run codegen 2024-09-25 10:55:18 +02:00
Tom Hvitved
8c956e8276 Rust: Add LogicalOperation.qll 2024-09-25 10:55:16 +02:00
Tom Hvitved
3bd5c6e445 Rust: Implement {BinaryExpr,PrefixExpr}.toString() 2024-09-25 10:55:15 +02:00
Tom Hvitved
1fb9835f23 Merge pull request #17557 from hvitved/rust/cfg-improvements
Rust: CFG improvements
2024-09-25 10:54:49 +02:00
Anders Schack-Mulligen
aaecb9bb7a Java: Add more type-based sanitizers. 2024-09-25 10:38:17 +02:00
Anders Schack-Mulligen
3a1b618a74 Cpp: Replace sink inlining with a forward scan from source. 2024-09-25 10:28:23 +02:00
Rasmus Lerchedahl Petersen
fc2dc28f87 python: capture flow through comprehensions
- add comprehension functions as `DataFlowCallable`s
- add comprehension call as `DataFlowCall`
- create capture argument node for comprehension calls
2024-09-25 10:02:31 +02:00
Jeroen Ketema
29061a08ad C++: Do not wrap quoted text to the next line
Wrapping breaks the highlighting in VSCode, making the QLDoc
difficult to read.
2024-09-25 09:43:05 +02:00
Tom Hvitved
6e493f2baa Address review comments 2024-09-25 09:09:29 +02:00
Josh Soref
a9e07a88af Downgrade IncorrectIntegerConversionQuery precision to high
`very-high` implies near 0 false positives and we have run into a number and an entire class

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2024-09-24 22:08:00 -04:00
Owen Mansel-Chan
ea4f9cad3c Mark some test results as SPURIOUS 2024-09-24 22:04:50 +01:00
Chris Smowton
590e93d8ed Merge pull request #17360 from smowton/smowton/admin/go-function-pretty-printer
Go: Expose whether functions are variadic in their pp() output
2024-09-24 21:47:50 +01:00
Owen Mansel-Chan
bcb718ac77 Add change note 2024-09-24 21:39:49 +01:00
Rasmus Lerchedahl Petersen
112e7c95fa Python: all dict constructor args are relevant 2024-09-24 20:58:59 +02:00
yoff
e7f9b5bbbc Merge branch 'main' into stdlib-optparse 2024-09-24 20:24:00 +02:00
Rasmus Lerchedahl Petersen
f95926e1a8 Python: add change note 2024-09-24 20:23:39 +02:00
Arthur Baars
5714811071 Rust: fix panic when the last character in a range is multi-byte 2024-09-24 19:26:02 +02:00
Chris Smowton
d673d24ca6 Revise notation to more closely resemble real Go 2024-09-24 17:22:26 +01:00
Chris Smowton
11755482e4 Update test expectation (now signature types pretty-print indicating if they are variadic) 2024-09-24 17:18:10 +01:00
Chris Smowton
40035a0b62 Improve pretty-printer 2024-09-24 17:18:09 +01:00
Chris Smowton
4d3a140dd7 Expose whether functions are variadic in their pp() output 2024-09-24 17:18:08 +01:00
Owen Mansel-Chan
73209638e3 Improve comments in test library 2024-09-24 16:41:10 +01:00
Arthur Baars
1953e4f971 Rust: handle UTF-8 decoding errors 2024-09-24 17:34:33 +02:00
Arthur Baars
37f264df74 Rust: correct line and column numbers in printed error messages 2024-09-24 17:34:32 +02:00
Arthur Baars
ca2b8ef6c0 Apply suggestions from code review
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-09-24 17:34:31 +02:00
Arthur Baars
9b8cbdad49 Add QLDoc to Diagnostics.qll 2024-09-24 17:34:30 +02:00
Arthur Baars
c596205416 Rust: add some more diagnostics queries 2024-09-24 17:34:29 +02:00
Arthur Baars
bdb4d89f9f Rust: add Diagnostics.qll 2024-09-24 17:34:27 +02:00
Arthur Baars
b04abc09f0 Rust: extract syntax errors 2024-09-24 17:34:26 +02:00
Owen Mansel-Chan
b0caabac86 Also update QL tests 2024-09-24 16:25:55 +01:00
Owen Mansel-Chan
6e428d5083 Fix bug where some methods were inappropriately promoted 2024-09-24 16:25:53 +01:00
Owen Mansel-Chan
0255edf524 Remove tests for sources and sinks
This is redundant given that we test for paths, and for a path
we need the source, step and sink methods to be modeled.
2024-09-24 16:25:49 +01:00
Owen Mansel-Chan
afa4b6dd4a Make paths test an inline expectations test 2024-09-24 16:23:33 +01:00
Owen Mansel-Chan
5490f3a957 Add tests for interface embedding interface 2024-09-24 16:23:31 +01:00
Owen Mansel-Chan
279800ea62 Use shorter naming scheme for types 2024-09-24 16:23:26 +01:00
Ian Lynagh
4dbb15ddda Merge pull request #17503 from igfoo/igfoo/fields
Java/Kotlin: Deprecate Field.getSourceDeclaration(), Field.isSourceDeclaration()
2024-09-24 15:15:21 +01:00
Taus
8c015b0784 Merge pull request #17305 from Kwstubbs/CORSMiddleware-Starlette
Python: Add Support for CORS Middlewares
2024-09-24 15:51:49 +02:00
Arthur Baars
47953339db Merge pull request #17543 from github/aibaars/rust-gen-extractor
Rust: generate the extractor
2024-09-24 15:47:28 +02:00
Michael Nebel
e6085759ae Shared: Put the content of CaptureSummaryFlowQuery into the shared library code. 2024-09-24 15:46:44 +02:00
Michael Nebel
fd45d2dcbb Shared: Move the model generator implementation to an internal folder. 2024-09-24 15:27:29 +02:00
Michael Nebel
22c2522aac Shared: Make a ContentSensitive module with predicates and classes related to content flow. 2024-09-24 15:16:16 +02:00
Ian Lynagh
9b8152a44b Java: Add up/downgrade scripts 2024-09-24 14:06:56 +01:00
Ian Lynagh
76662a6002 Java: Add changenote for deprecation of Field.getSourceDeclaration() and Field.isSourceDeclaration() 2024-09-24 14:06:55 +01:00
Ian Lynagh
bda779a58d Java: Deprecate Field.getSourceDeclaration() and Field.isSourceDeclaration()
Also follows the removal of the sourceid column of fields.
2024-09-24 14:06:54 +01:00
Ian Lynagh
0be52f9660 Kotlin: Follow removal of sourceid column of the fields relation 2024-09-24 14:06:53 +01:00
Ian Lynagh
300864a38b Java: dbscheme: Remove sourceid column of fields/5
It was always the same as the id column.
2024-09-24 14:06:53 +01:00
Tom Hvitved
5b45d36610 Merge pull request #17300 from hvitved/dataflow/node-ex-cached
Data flow: Cache `TNodeEx`
2024-09-24 15:04:35 +02:00
Tom Hvitved
d3368be94a Swift: Run codegen 2024-09-24 14:42:37 +02:00
Tom Hvitved
c1f3e7389f Rust: Run codegen 2024-09-24 14:42:04 +02:00
Tom Hvitved
062127b42e Codegen: Do not cache injectors/projectors in Synth module 2024-09-24 14:41:20 +02:00
Tom Hvitved
300fdc344d Go: Update expected test output 2024-09-24 14:21:42 +02:00
Tom Hvitved
6a11120e50 Address review comments 2024-09-24 14:21:40 +02:00
Tom Hvitved
16925355a8 Data flow: Cache TNodeEx 2024-09-24 14:21:39 +02:00
Tom Hvitved
f287216060 Update expected test output 2024-09-24 14:21:38 +02:00
Tom Hvitved
37490de4a2 Data flow: Remove Boolean column from TNodeImplicitRead 2024-09-24 14:21:37 +02:00
Owen Mansel-Chan
6a67bd52a9 Add tests for MaD inheritance 2024-09-24 13:21:05 +01:00
Arthur Baars
d14e77ba48 Address comments 2024-09-24 14:09:23 +02:00
Tom Hvitved
8d8bbd5b12 Rust: Run codegen 2024-09-24 13:25:57 +02:00
Tom Hvitved
5f3663018e Rust: Remove spurious CFG edges in match expressions 2024-09-24 13:09:33 +02:00
Tom Hvitved
3b753da74e Rust: Expose SuccessorType and sub classes 2024-09-24 13:09:00 +02:00
Owen Mansel-Chan
d7614a71f4 Merge pull request #17529 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-09-24 11:37:12 +01:00
Tom Hvitved
6ae03e67e6 Rust: Add case for ParenExpr in CFG 2024-09-24 11:20:57 +02:00
github-actions[bot]
15bb670b3f Add changed framework coverage reports 2024-09-24 00:20:17 +00:00
Kevin Stubbings
01aa63e170 Add tests 2024-09-23 16:47:10 -07:00
Chris Smowton
7e8da94d9a Merge pull request #17216 from smowton/smowton/feature/golang-test-extraction
Go: support extracting test code
2024-09-23 16:43:42 +01:00
Chuan-kai Lin
1cd8af54f2 Merge pull request #17190 from github/cklin/diff-informed-java-queries
Java: add support for alert location restrictions
2024-09-23 08:39:24 -07:00
Chris Smowton
209f9ec93d Amend comments per review 2024-09-23 15:20:18 +01:00
yoff
e7bc71f2da Merge pull request #17540 from joefarebrother/python-const-compare
Python: Expand `StringConstCompareBarrier` sanitizer gaurds to cover additional constants
2024-09-23 16:14:09 +02:00
Joe Farebrother
48f9e0efe5 Adress review comments: Add missing deprecation + additional test case 2024-09-23 10:57:04 +01:00
Arthur Baars
04e3b39ffb Merge pull request #17537 from github/redsun82/rust-doctest-gen
Rust: take test code also from property descriptions
2024-09-23 11:41:32 +02:00
Arthur Baars
05173fa7ac Merge pull request #17539 from github/redsun82/rust-codegen-detach
Rust/Codegen: allow to "detach" property emission
2024-09-23 11:40:11 +02:00
Rasmus Wriedt Larsen
535db98823 Python: Minor simplification of ActiveThreatModelSource
Co-authored-by: Taus <tausbn@github.com>
2024-09-23 11:21:55 +02:00
Rasmus Wriedt Larsen
4a21a85e73 Merge branch 'main' into threat-models 2024-09-23 11:19:58 +02:00
Rasmus Wriedt Larsen
63c3a71d95 Merge branch 'main' into active-threat-model-source 2024-09-23 11:18:14 +02:00
Chris Smowton
e528a08794 Autoformat 2024-09-21 22:12:24 +01:00
Chris Smowton
bb44a2fc8c Populate pkgInfoMapping for test packages if relevant 2024-09-21 13:38:41 +01:00
Arthur Baars
7b4137fbc8 Rust: generate the extractor 2024-09-20 19:24:55 +02:00
Paolo Tranquilli
e48e18af20 Merge pull request #17527 from github/aibaars/rust-annotations
Rust: add QL doc annotations to schema
2024-09-20 18:08:37 +02:00
Arthur Baars
45d9d8a25a Address comments 2024-09-20 17:53:27 +02:00
Arthur Baars
1f21d75399 Merge pull request #17533 from github/redsun82/codegen-parametrized-pragmas
Codegen: introduce inherited pragmas and move remaining decorations
2024-09-20 17:53:05 +02:00
Chuan-kai Lin
75ec8ce58e Java: apply query alert restrictions 2024-09-20 07:47:58 -07:00
Joe Farebrother
7aa2816570 Add changenote 2024-09-20 15:19:54 +01:00
Anders Schack-Mulligen
3a1e50dcf9 Dataflow: Simplify diff-informed implementation and tweak flag name. 2024-09-20 07:07:10 -07:00
Paolo Tranquilli
c74b6be136 Rust/Codegen: allow to "detach" property emission
By using the `rust.detach` pragma on a property, we make that property
not appear in the generated struct as a field, and provide instead
a `generated::Class::emit_property` function that can be used to emit
the corresponding TRAP entry independently.
2024-09-20 16:06:22 +02:00
Joe Farebrother
81e99bf1bb Add tests 2024-09-20 15:05:51 +01:00
Arthur Baars
69a172c7ba Rust: accept trivial expected output 2024-09-20 15:51:06 +02:00
Arthur Baars
db06ad2ac3 Rust: codegen 2024-09-20 15:51:03 +02:00
Arthur Baars
2ee61f9aaa Rust: add placeholder QLdoc annotations 2024-09-20 15:51:02 +02:00
Arthur Baars
e6e0e6eb66 Rust: accept expected output 2024-09-20 15:51:01 +02:00
Arthur Baars
a9423f4bdb Rust: codegen 2024-09-20 15:50:59 +02:00
Arthur Baars
57458d8f38 Rust: remove qldoc annotations for classes that no longer exist 2024-09-20 15:50:58 +02:00
Arthur Baars
2fdc529ac9 Rust: add qldoc annotations to schema 2024-09-20 15:50:57 +02:00
Arthur Baars
b2bddd3415 Rust: write generated schema into schema/ast.py 2024-09-20 15:50:55 +02:00
Joe Farebrother
3001a570b2 Replace uses of StringConstCompare 2024-09-20 14:47:22 +01:00
Florin Coada
f4071ddb28 Merge pull request #17538 from github/coadaflorin/docs-typo-fix
Update index.html
2024-09-20 14:47:07 +01:00
Florin Coada
d290591187 Update index.html 2024-09-20 14:40:45 +01:00
Paolo Tranquilli
2a95068a0a Rust: take test code also from property descriptions 2024-09-20 15:12:13 +02:00
Geoffrey White
3e0d30f13a Rust: Merge of unusedvar and unreachable work. 2024-09-20 12:58:38 +01:00
Geoffrey White
58b9355c69 Merge branch 'main' into unreachable 2024-09-20 12:53:49 +01:00
Geoffrey White
d7aa5f1022 Merge pull request #17497 from geoffw0/unusedvar
Rust: Placeholder queries for unused variable, unused value
2024-09-20 12:52:33 +01:00
Chris Smowton
bcb84a84e1 Only skip test packages at the file-extraction phase 2024-09-20 12:48:08 +01:00
Joe Farebrother
164cf27e67 Add additional constant checks to constant barrier gaurd 2024-09-20 12:46:10 +01:00
Paolo Tranquilli
4e59fa9035 Codegen: remove unneeded code 2024-09-20 12:47:45 +02:00
Paolo Tranquilli
f7afcd038a Codegen: move use_for_null to pragmas 2024-09-20 12:47:45 +02:00
Paolo Tranquilli
d2ebe00492 Codegen: move group to parametrized pragmas 2024-09-20 12:47:44 +02:00
Paolo Tranquilli
2533f18a6e Codegen: move ql.hideable to pragmas 2024-09-20 12:47:44 +02:00
Paolo Tranquilli
8d291ab938 Codegen: move qltest.test_with to parametrized pragmas 2024-09-20 12:47:44 +02:00
Paolo Tranquilli
3e2f886595 Codegen: allow inheritable pragmas 2024-09-20 12:47:43 +02:00
Paolo Tranquilli
1bffc2a7d7 Merge pull request #17532 from github/redsun82/codegen-parametrized-pragmas
Codegen: parametrized pragmas
2024-09-20 12:47:33 +02:00
Paolo Tranquilli
db00cb6827 Codegen: move class synth decorators to pragmas 2024-09-20 11:09:22 +02:00
Paolo Tranquilli
9d6ee09f65 Codegen: move rust.doc_test_signature to parametrized pragmas 2024-09-20 11:09:21 +02:00
Paolo Tranquilli
70997e8189 Codegen: move default_doc_name to parametrized pragma 2024-09-20 11:09:21 +02:00
Paolo Tranquilli
9f1d50ebd1 Codegen: allow parametrized pragmas 2024-09-20 11:09:21 +02:00
Chris Smowton
f5ff822681 Convert extract-tests option to an official extractor option 2024-09-20 10:03:54 +01:00
Chris Smowton
94cb99e51d Adjust test expectations 2024-09-20 10:03:53 +01:00
Chris Smowton
9d79feb4d3 Autoformat go 2024-09-20 10:03:52 +01:00
Chris Smowton
eb6918f88f Autoformat 2024-09-20 10:03:51 +01:00
Chris Smowton
fd592fa18f Add tests 2024-09-20 10:03:46 +01:00
Chris Smowton
c3dffc955b Apply review comments 2024-09-20 09:56:29 +01:00
Chris Smowton
76e6942594 Go: support extracting test code
This implements support for test extraction by two mechanisms:

* In autobuild mode, setting `CODEQL_EXTRACTOR_GO_EXTRACT_TESTS` to `true`.
* In manual build mode, tracing a `go test` command (`go test -c` is to be recommended for efficiency).

Go deals with test compilation by creating several extra packages on top of those expected from inspection of the source code (see docs of `packages.Load` for more detail): packages whose IDs include a suffix like `mydomain.com/mypackage [mydomain.com/mypackage.test]`, and packages containing generated test driver code like `mydomain.com/mypackage.test`. There are also additional packages like `mydomain.com/mypackage_tests` which are explicitly present in source code, but not compiled by a normal `go build`.

So far as I can tell, the purpose of the two variants of the package is to resolve dependency cycles (because the tests variant of the package can have more dependencies than the non-tests variant, and non-test code can compile against non-test package variants). Since the test package variants seems to be a superset of the non-tests variant, I employ the simple heuristic of ignoring the variant of each package with the shortest ID. I haven't seen a case where there are three or more variants of a package, so I expect this to always identify the tests variant as the preferred one. If several variants were extracted, and we were to attempt to match Golang's linkage strategy among the different variants, we would need to extend trap-file name and most top-level symbol trap IDs with the package variant they come from; I hope this won't prove necessary.

"Real" `_tests` packages, and wholly synthetic driver code packages, are extracted just like normal.
2024-09-20 09:56:28 +01:00
Arthur Baars
594045b634 Merge pull request #17530 from github/redsun82/codegen-annotate
Codegen: allow full annotation of classes
2024-09-20 10:38:44 +02:00
Tom Hvitved
f2e943f9ba Merge pull request #17520 from hvitved/cfg/no-kind-graph
Shared: Do not use `@kind graph` for CFG test output
2024-09-20 10:10:05 +02:00
Paolo Tranquilli
74c0fa7154 Codegen: allow annotations to add class decorations 2024-09-20 08:40:34 +02:00
Paolo Tranquilli
cc5882a3c3 Codegen: allow full annotation of classes 2024-09-20 06:55:17 +02:00
Arthur Baars
cf5d56addf Merge pull request #17524 from github/revert-17514-redsun82/codegen-include
Revert "Codegen: allow to include `.py` files in `schema.py`"
2024-09-19 21:43:28 +02:00
Jeroen Ketema
a065434dd7 Merge pull request #16811 from porcupineyhairs/curlssl
CPP: Disabled SSL certificate verification
2024-09-19 20:02:17 +02:00
Porcupiney Hairs
ee41e65e90 Include changes from review 2024-09-19 22:52:20 +05:30
Geoffrey White
1eaa998648 Rust: Implement unreachable code query. 2024-09-19 17:44:15 +01:00
Geoffrey White
e7e0c6bf12 Rust: Add qhelp + examples for unreachable code query. 2024-09-19 17:34:46 +01:00
Geoffrey White
35378aa714 Rust: Add placeholder query + test for unreachable code query. 2024-09-19 17:34:41 +01:00
Tom Hvitved
16813240ae Shared: Do not use @kind graph for CFG test output 2024-09-19 18:13:31 +02:00
Florin Coada
ec74595671 Merge pull request #17511 from github/changedocs/2.19.0
Adding unified changelog for 2.19.0
2024-09-19 17:05:30 +01:00
Simon Friis Vindum
95c18ce431 Merge pull request #17498 from paldepind/rust-improve-cfg
Rust: Improve CFG
2024-09-19 17:33:30 +02:00
Paolo Tranquilli
97cca76970 Revert "Codegen: allow to include .py files in schema.py" 2024-09-19 16:58:20 +02:00
Paolo Tranquilli
6a540d833e Merge pull request #17523 from github/redsun82/rust-break-up-schema
Codegen/Rust: allow breaking up schema file
2024-09-19 16:57:58 +02:00
Chris Smowton
fe1081e880 Merge pull request #17510 from mbaluda/patch-1
Model summary for `org.springframework.core.io.getInputStream` methods
2024-09-19 15:47:31 +01:00
Chris Smowton
0deefaddc5 Merge pull request #17483 from smowton/smowton/feature/csharp-dataflow-fewer-nodes-including-virtual-dispatch
C#: Restrict dataflow node creation to source and source-referenced entities [virtual-dispatch-inclusive variant]
2024-09-19 15:33:47 +01:00
Florin Coada
0e828bb5da Merge branch 'main' into changedocs/2.19.0 2024-09-19 15:16:49 +01:00
Chris Smowton
bb82dc1b18 Change note 2024-09-19 15:12:11 +01:00
Chris Smowton
bc9eb993b8 Remove unnecessary fromSource conditions 2024-09-19 15:08:08 +01:00
Paolo Tranquilli
a5e3fbf367 Codegen/Rust: allow breaking up schema file 2024-09-19 15:57:42 +02:00
Simon Friis Vindum
19697b9a77 Merge branch 'main' into rust-improve-cfg 2024-09-19 15:53:41 +02:00
Arthur Baars
f38f818578 Merge pull request #17516 from github/redsun82/codegen-annotate
Codegen: allow to attach docstrings after the definition
2024-09-19 15:35:16 +02:00
Owen Mansel-Chan
682f08ceb9 Merge pull request #17515 from owen-mc/go/run-ci-when-shared-libs-change
Go: Run CI when shared libraries change
2024-09-19 14:28:44 +01:00
Simon Friis Vindum
db9f5fdf81 Rust: Handle nested if expressions, address review comments 2024-09-19 15:10:37 +02:00
Arthur Baars
3c09f70e0d Merge pull request #17502 from github/aibaars/rust-extract-ast
Rust: ast-based extractor
2024-09-19 14:13:25 +02:00
Simon Friis Vindum
2511986324 Rust: Address PR review comments 2024-09-19 14:11:58 +02:00
Arthur Baars
919a9002bc Merge pull request #17514 from github/redsun82/codegen-include
Codegen: allow to include `.py` files in `schema.py`
2024-09-19 13:22:49 +02:00
Arthur Baars
3aa47a3950 Rust: accept test changes 2024-09-19 13:13:18 +02:00
Arthur Baars
1c0f60fa2e Rust: lines of code, exclude 'SourceFile' node 2024-09-19 13:00:52 +02:00
Arthur Baars
24f24855f0 Rust: update expected output 2024-09-19 13:00:51 +02:00
Arthur Baars
e19bca0de8 Rust: remove queries that no longer work 2024-09-19 13:00:50 +02:00
Arthur Baars
c3b10bf90b Rust: patch cfg implementation 2024-09-19 13:00:49 +02:00
Arthur Baars
80d32a2333 Rust: re-generate code 2024-09-19 13:00:46 +02:00
Arthur Baars
9104c3fc81 Rust: re-generate schema and extractor 2024-09-19 13:00:45 +02:00
Arthur Baars
1f30d5f41b Rust: generate schema.py and extractor from ungrammar 2024-09-19 13:00:05 +02:00
Paolo Tranquilli
c117a53fb0 Codegen: allow to attach docstrings after the definition 2024-09-19 12:43:34 +02:00
Owen Mansel-Chan
f2fbe64137 Go: Run CI when shared libraries change 2024-09-19 11:32:46 +01:00
Michael Nebel
f142af50b7 Shared: QL doc improvement. 2024-09-19 12:20:59 +02:00
Michael Nebel
de4a7da286 Java/C#: No longer sync CaptureModels.qll. 2024-09-19 12:20:55 +02:00
Michael Nebel
2033818e39 Java: Use the shared model generator implementation. 2024-09-19 12:20:51 +02:00
Michael Nebel
1f3b28a555 C#: Use the shared model generator implementation. 2024-09-19 12:20:46 +02:00
Michael Nebel
3b9f3c2c29 Shared: Add a model generator parameterised module. 2024-09-19 12:20:42 +02:00
Paolo Tranquilli
ec9bb1da56 Codegen: allow to include .py files in schema.py 2024-09-19 12:18:52 +02:00
Tom Hvitved
4baa4ae2aa Merge pull request #17513 from owen-mc/fix-test-expectations
C#/Go: Fix test expectations including double space
2024-09-19 12:17:18 +02:00
Michael B. Gale
a5ab5d9236 Merge pull request #17422 from github/dependabot/go_modules/go/extractor/extractor-dependencies-f3a1f89f55 2024-09-19 11:02:34 +01:00
Owen Mansel-Chan
ded52ccb8e Fix test expectations including double space 2024-09-19 11:01:38 +01:00
Florin Coada
54632b289e Adding unified changelog for 2.19.0 2024-09-19 10:03:07 +01:00
Arthur Baars
61ac8d66f5 Rust: make things compile 2024-09-19 10:51:52 +02:00
Arthur Baars
fabdb3c841 Rust: copy files from rust-analyzer's codegenerator
Files copied from: 50882fbfa2/xtask/src/codegen/grammar
2024-09-19 10:51:51 +02:00
Arthur Baars
5ccb45e7d3 Rust: add rust.ungram
Copied from 50882fbfa2/crates/syntax/rust.ungram
2024-09-19 10:51:46 +02:00
Arthur Baars
d5c0d41f98 Rust: add generate-schema project 2024-09-19 10:51:44 +02:00
Michael Nebel
4a9e3ee3aa Merge pull request #17363 from michaelnebel/modelgen/fieldbasedimprovements
C#/Java: Content based model generation improvements.
2024-09-19 10:49:11 +02:00
Tom Hvitved
cfa4cb432a Merge pull request #17504 from hvitved/dataflow/sink-provenance-space
Data flow: Remove spurious space in ` Sink:x` provenance
2024-09-19 10:21:38 +02:00
dependabot[bot]
67fa9738e6 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.24.0 to 0.25.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.24.0...v0.25.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-19 03:46:50 +00:00
Paolo Tranquilli
9a8d9f857f Merge pull request #17491 from github/redsun82/rust-integration-test
Rust: add basic integration tests and fix archiving on Windows
2024-09-19 05:25:14 +02:00
Porcupiney Hairs
57d1035acd Include changes from review 2024-09-19 03:32:34 +05:30
Mauro Baluda
cab35a25a5 Remove duplicate summary for MultipartFile.getInputStream and update .expected file 2024-09-18 20:43:04 +02:00
Mauro Baluda
5ae51f0b56 Address review 2024-09-18 19:28:03 +02:00
Mauro Baluda
cfa14ad5eb Update org.springframework.core.io.model.yml
Model summary for `getInputStream` methods
2024-09-18 18:13:29 +02:00
Simon Friis Vindum
e43d39a0fe Merge pull request #17508 from paldepind/rust-consistency-queries-pack
Rust: Add consistency-queries pack
2024-09-18 14:17:52 +02:00
Tom Hvitved
485dc9619d Merge pull request #17506 from hvitved/rust/code-block-examples
Rust: Use ```rust for code block examples
2024-09-18 14:15:07 +02:00
Simon Friis Vindum
7c2b149728 Rust: Add consistency-queries pack 2024-09-18 14:09:41 +02:00
Geoffrey White
2769bd6f35 Rust: Make the placeholder queries produce no results, to avoid confusion. 2024-09-18 13:07:31 +01:00
Geoffrey White
3632a76eaf Rust: Add test annotations. 2024-09-18 13:05:06 +01:00
Geoffrey White
d79aa073ea Rust: Clean up the UnusedValue examples. 2024-09-18 13:03:09 +01:00
Geoffrey White
463a1254d3 Update rust/ql/src/queries/unusedentities/UnusedValueBad.rs
Co-authored-by: Paolo Tranquilli <redsun82@github.com>
2024-09-18 12:55:11 +01:00
Tom Hvitved
ed9008a064 Update expected test output 2024-09-18 13:51:02 +02:00
Simon Friis Vindum
bbf5902b18 Rust: Tweak imports 2024-09-18 13:48:50 +02:00
Tom Hvitved
43c0bd36be Rust: Run code generator 2024-09-18 13:48:02 +02:00
Tom Hvitved
5554c0f28f Rust: Use ```rust for code block examples
Also added some missing code block terminators.
2024-09-18 13:47:45 +02:00
Tom Hvitved
98b5ef5e01 Rust: Halt codegen on code block without ``` terminator 2024-09-18 13:47:44 +02:00
Simon Friis Vindum
6f555f3ad7 Merge branch 'main' into rust-improve-cfg 2024-09-18 13:42:51 +02:00
Tom Hvitved
2972a4eace Data flow: Remove spurious space in Sink:x provenance 2024-09-18 13:10:24 +02:00
Michael Nebel
24a101297c Merge pull request #15884 from michaelnebel/csharp/cleanupcil
C#: CIL and Dotnet cleanup (removal).
2024-09-18 11:43:41 +02:00
Chris Smowton
cfd281b319 Merge pull request #17400 from smowton/smowton/admin/further-golang-aliasing-tests
Go: add tests for dataflow relating to type aliasing
2024-09-18 10:30:37 +01:00
Tom Hvitved
0516d75c44 Merge pull request #17500 from hvitved/rust/move-generated
Rust: Use `elements/internal/generated` instead of `internal/generated`
2024-09-18 11:04:44 +02:00
Simon Friis Vindum
db351bdb05 Rust: Align test output with CI 2024-09-18 10:50:26 +02:00
Tom Hvitved
18ae8b14e9 Rust: Use elements/internal/generated instead of internal/generated 2024-09-18 10:44:20 +02:00
Paolo Tranquilli
c53179f742 Merge pull request #17499 from geoffw0/morestats
Rust: Add more summary stats.
2024-09-18 10:43:20 +02:00
Tom Hvitved
c5cbf82dbf Merge pull request #17495 from hvitved/codegen/internal
Codegen: Create `internal` folders
2024-09-18 10:42:04 +02:00
Simon Friis Vindum
dd25b3ecbe Rust: Don't use macro in test and add documentation string 2024-09-18 10:10:27 +02:00
Simon Friis Vindum
c18c35d737 Merge branch 'main' into rust-improve-cfg 2024-09-18 09:51:16 +02:00
Simon Friis Vindum
6a5a50521b Rust: Address QL suggestions for CFG implementation 2024-09-18 09:49:59 +02:00
Anders Schack-Mulligen
2837d2551a Merge pull request #17490 from aschackmull/java/capture-in-obinit
Java: Fix support for variable capture inside object initializers.
2024-09-18 09:29:01 +02:00
Michael Nebel
295861d577 Merge pull request #17459 from michaelnebel/csharp/accessormad
C#: Add MaD support for `Attribute.Getter` and `Attribute.Setter`.
2024-09-18 09:11:51 +02:00
Paolo Tranquilli
db812df06f Merge pull request #17492 from github/redsun82/rust-windows
Rust: add windows tools
2024-09-18 06:54:10 +02:00
Tom Hvitved
8c0d2e910c Swift: Run code generator 2024-09-17 20:25:57 +02:00
Tom Hvitved
9ea63fe716 Rust: Run code generator 2024-09-17 20:06:38 +02:00
Tom Hvitved
1433363523 Codegen: Create internal folders 2024-09-17 20:06:35 +02:00
Geoffrey White
83376afd15 Rust: Improve layout locality in summary stats. 2024-09-17 17:45:09 +01:00
Geoffrey White
07fccf8064 Rust: Add extracted + unextracted elements to summary stats. 2024-09-17 17:42:50 +01:00
Geoffrey White
6ebc615fd4 Rust: Add extracted files to summary stats. 2024-09-17 17:36:43 +01:00
Chris Smowton
0d0c94375d Adjust test expectations 2024-09-17 17:27:04 +01:00
Chris Smowton
2d5cbfd4c9 Elaborate comments 2024-09-17 17:18:48 +01:00
Chris Smowton
41726924e0 Update expectations 2024-09-17 17:02:47 +01:00
Chris Smowton
a803d3fb26 Add comments explaining tests 2024-09-17 17:02:46 +01:00
Chris Smowton
09015df8a4 Format 2024-09-17 17:02:45 +01:00
Chris Smowton
992b3c74fc Add data-flow tests for aliasing 2024-09-17 17:02:43 +01:00
Geoffrey White
a2bf2c7edb Rust: Fix query result columns. 2024-09-17 16:53:02 +01:00
Simon Friis Vindum
7a369f8734 Rust: Update CFG test and expected output 2024-09-17 17:34:11 +02:00
Simon Friis Vindum
73a430bd18 Merge branch 'main' into rust-improve-cfg 2024-09-17 17:31:10 +02:00
Geoffrey White
1c7d5217a0 Rust: Autoformat. 2024-09-17 16:24:28 +01:00
Geoffrey White
f93fd7cd6b Rust: Add qhelp and example for the unused variable query. 2024-09-17 16:13:25 +01:00
Geoffrey White
68f8e17186 Rust: Add a placeholder query + tests for unused variables query. 2024-09-17 16:13:23 +01:00
Geoffrey White
b7ad331b75 Rust: Add qhelp and example for the unused values query. 2024-09-17 16:13:22 +01:00
Geoffrey White
1fc6a0e103 Rust: Add placeholder query + tests for unused values query. 2024-09-17 16:13:21 +01:00
Simon Friis Vindum
6e868c2a6d Rust: CFG edges for break and continue with labels 2024-09-17 17:11:28 +02:00
Paolo Tranquilli
9f8c3c5778 Merge branch 'redsun82/rust-windows' into redsun82/rust-integration-test 2024-09-17 16:17:17 +02:00
Paolo Tranquilli
26d2e355bb Merge branch 'main' into redsun82/rust-windows 2024-09-17 16:16:48 +02:00
Michael Nebel
68165bbce4 C#/Java: Address review comments. 2024-09-17 16:09:17 +02:00
Chris Smowton
3e91f0f53f Expand range of callables requiring nodes to include unbound declarations of generic instantiations, static targets, and methods that have a body even if not flagged fromSource 2024-09-17 15:00:15 +01:00
Chris Smowton
349268cbf7 Expand the range of callables used in source to include potential virtual dispatch targets and referenced callables (e.g., in assigning a delegate) 2024-09-17 15:00:14 +01:00
Chris Smowton
66f48f767e Restrict dataflow node creation to source and source-referenced entities 2024-09-17 15:00:13 +01:00
Paolo Tranquilli
56f2732bbb Rust: ignore failing DB-CHECK 2024-09-17 15:35:52 +02:00
Paolo Tranquilli
5432493945 Rust: log detected manifests 2024-09-17 15:35:26 +02:00
Ian Lynagh
c7e3682597 Merge pull request #17451 from igfoo/igfoo/dbscheme
Java: Remove deprecated elements from dbscheme
2024-09-17 13:22:17 +01:00
Tom Hvitved
d680a549bd Merge pull request #16936 from hvitved/csharp/ssa-integration
C#: Adopt shared SSA data-flow integration
2024-09-17 13:45:31 +02:00
Simon Friis Vindum
581d0c59c4 Rust: Handle more AST nodes in the CFG 2024-09-17 13:05:27 +02:00
Felicity Chapman
0675ba0fa4 Merge pull request #17361 from github/12707-felicity-docs-landing
Update the Docs landing page for the CodeQL docs site
2024-09-17 11:40:53 +01:00
Ian Lynagh
9a398aa9a8 Java: Add up/downgrade scripts 2024-09-17 11:39:07 +01:00
Ian Lynagh
9f1c251809 Java: Follow removeal of typeVars.kind in qlls 2024-09-17 11:39:07 +01:00
Ian Lynagh
baace41488 Java: Remove stats for typeVars.kind 2024-09-17 11:39:06 +01:00
Ian Lynagh
b1f5f9a5cd Kotlin: Follow removal of typeVars.kind 2024-09-17 11:39:06 +01:00
Ian Lynagh
c5569cf5ad Java: Remove long-deprecated 'kind' from typeVars 2024-09-17 11:39:05 +01:00
Ian Lynagh
6968d7c17c Java: Remove duplicate/similar code from dbscheme
It's not been used for some time
2024-09-17 11:39:04 +01:00
Ian Lynagh
6166d061f2 Java: Move diagnostic_for next to diagnostics in the dbscheme
No code change, but it makes a bit more sense there
2024-09-17 11:39:04 +01:00
Ian Lynagh
7c99d9c648 Java: Remove snapshotDate from dbscheme
It's not been used for some time.
2024-09-17 11:39:03 +01:00
Ian Lynagh
9a62561336 Merge pull request #17484 from igfoo/igfoo/nestedName
Java: Deprecate RefType.nestedName(), and add RefType.getNestedName()
2024-09-17 11:37:16 +01:00
Paolo Tranquilli
89a8cbc536 Rust: use shared path utilities 2024-09-17 12:27:57 +02:00
Felicity Chapman
40fdd00e16 Merge pull request #17383 from github/10819-felicity-discovery
Update "About CodeQL" to cover the information needs of security researchers better
2024-09-17 11:10:52 +01:00
Felicity Chapman
7d49624e1c Update docs/codeql/codeql-overview/about-codeql.rst
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-09-17 11:09:48 +01:00
Anders Schack-Mulligen
a1a885efeb Java: Expand test. 2024-09-17 11:38:53 +02:00
Simon Friis Vindum
22edece201 Rust: Add CFG construction for if let expressions 2024-09-17 11:26:45 +02:00
Paolo Tranquilli
aae33db137 Rust: add basic integration tests
This adds testing of well-formed rust projects and workspaces, using
both `Cargo.toml` and `rust-project.json` manifests.
2024-09-17 11:23:39 +02:00
Paolo Tranquilli
afb9ffa50e Rust: add windows tools 2024-09-17 11:22:32 +02:00
Simon Friis Vindum
20e968751c Rust: Handle let statements with pattern and else branch in CFG 2024-09-17 10:54:48 +02:00
Anders Schack-Mulligen
20661a3c56 Java: Fix support for variable capture inside object initializers. 2024-09-17 10:42:21 +02:00
Michael Nebel
8d0cb07ba2 C#: Update the internal MaD attribute documentation. 2024-09-17 09:27:37 +02:00
Tom Hvitved
6618906380 Merge pull request #17488 from hvitved/rust/generated-internal
Rust: Move `codeql/rust/generated` files into `codeql/rust/internal/generated`
2024-09-17 09:12:44 +02:00
Paolo Tranquilli
fc9c4a8e14 Merge pull request #17477 from github/redsun82/rust-default-doc-signature
Rust/Codegen: make `() -> ()` the default signature
2024-09-17 08:51:46 +02:00
Tom Hvitved
efa52acf73 Rust: Move codeql/rust/generated files into codeql/rust/internal/generated 2024-09-17 08:51:24 +02:00
Paolo Tranquilli
0d8d9a3447 Merge branch 'main' into redsun82/rust-default-doc-signature 2024-09-17 08:29:01 +02:00
Tom Hvitved
9b8ba41c44 Merge pull request #17487 from hvitved/swift/change-note
Swift: Add change note
2024-09-16 19:57:24 +02:00
Tom Hvitved
961b077954 Swift: Add change note 2024-09-16 19:27:31 +02:00
Dave Bartolomeo
8b4114c422 Merge pull request #17485 from smowton/smowton/admin/merge-rc315-into-main
Merge rc/3.15 into main
2024-09-16 13:05:58 -04:00
Geoffrey White
27dca746ea Merge pull request #17465 from geoffw0/missing
Rust: Add Missing Elements query
2024-09-16 17:46:09 +01:00
Chris Smowton
01b47573b3 Merge remote-tracking branch 'origin/rc/3.15' into smowton/admin/merge-rc315-into-main 2024-09-16 17:36:18 +01:00
Paolo Tranquilli
f949ca919a Merge pull request #17479 from github/redsun82/rust-unextracted
Rust: introduce `Unextracted` and `Missing` "marker" classes
2024-09-16 18:26:55 +02:00
Ian Lynagh
41ed6e6695 Java: Deprecate RefType.nestedName(), and add RefType.getNestedName() 2024-09-16 17:16:25 +01:00
Geoffrey White
b907100d82 Rust: Rename files. 2024-09-16 16:25:56 +01:00
Geoffrey White
f60879bfb5 Rust: Rename missing -> unextracted. 2024-09-16 16:25:55 +01:00
Florin Coada
8090619117 Merge pull request #17456 from github/changedocs/2.18.4
CodeQL 2.18.4 unified changelog
2024-09-16 16:22:01 +01:00
Simon Friis Vindum
a935bded36 Rust: CFG for match expressions 2024-09-16 17:16:37 +02:00
Paolo Tranquilli
de4ab44e06 Merge branch 'main' into redsun82/rust-unextracted 2024-09-16 17:10:26 +02:00
Florin Coada
cbc390ebe5 Merge branch 'rc/3.15' into changedocs/2.18.4 2024-09-16 16:08:52 +01:00
Chris Smowton
30be6803c3 Merge pull request #17480 from github/post-release-prep/codeql-cli-2.19.0
Post-release preparation for codeql-cli-2.19.0
2024-09-16 16:06:58 +01:00
Paolo Tranquilli
d24d933ad7 Merge pull request #17460 from github/redsun82/rust-typed-labels
Rust: introduce typed labels
2024-09-16 16:56:37 +02:00
Paolo Tranquilli
37f3ea137b Merge pull request #17474 from github/redsun82/swift-cfg-order-disambuigation
Swift: tentative fix to Cfg disambuigation
2024-09-16 16:54:26 +02:00
Paolo Tranquilli
cf603108d4 Merge pull request #17478 from github/redsun82/python-fix-ql-test-exclusions
Python: replace `src_archive` exclusion patterns with `*.testproj` ones
2024-09-16 16:53:44 +02:00
Paolo Tranquilli
3eaee1249c Merge pull request #17464 from geoffw0/loc
Rust: Add lines-of-code queries
2024-09-16 16:47:12 +02:00
Paolo Tranquilli
1ce4707ff9 Merge branch 'main' into redsun82/rust-typed-labels 2024-09-16 16:44:55 +02:00
Paolo Tranquilli
d1704cfb14 Merge pull request #17444 from hvitved/rust/final-classes
Rust/Swift: Make all public AST classes `final`
2024-09-16 16:42:40 +02:00
Geoffrey White
3748365729 Rust: Comment out the printlin! macro invocations for now. 2024-09-16 15:29:13 +01:00
github-actions[bot]
79be301984 Post-release preparation for codeql-cli-2.19.0 2024-09-16 14:09:32 +00:00
Paolo Tranquilli
64f77051bd Rust: commit forgotten new files 2024-09-16 16:02:59 +02:00
Paolo Tranquilli
a4399a184a Rust: introduce Unextracted and Missing "marker" classes 2024-09-16 15:49:37 +02:00
Tom Hvitved
964e97c842 Update misc/codegen/lib/ql.py
Co-authored-by: Paolo Tranquilli <redsun82@github.com>
2024-09-16 15:48:13 +02:00
Michael Nebel
bdc00841c0 C#: Add change note. 2024-09-16 15:45:14 +02:00
Michael Nebel
0b579c0a1a C#: Update external models tests and expected test output. 2024-09-16 15:45:12 +02:00
Michael Nebel
308aca632e C#: Make support for Attribute.Getter and Attribute.Setter in MaD. 2024-09-16 15:45:09 +02:00
Michael Nebel
368ba1c5e2 C#: Update external models expected test output. 2024-09-16 15:45:07 +02:00
Michael Nebel
367bbc4039 C#: Add some examples of using attributes on properties and indexers for use in external models. 2024-09-16 15:45:05 +02:00
Michael Nebel
3c97bcb790 C#: Exclude properties from the Attribute selection. 2024-09-16 15:45:03 +02:00
Michael Nebel
5de9e7c3ad C#: Add change note. 2024-09-16 15:39:44 +02:00
Chris Smowton
e99d7db428 Merge pull request #17476 from github/release-prep/2.19.0
Release preparation for version 2.19.0
2024-09-16 14:29:09 +01:00
Michael Nebel
add033249f Merge pull request #17475 from michaelnebel/csharp/indexerattributes
C#: Extract attributes on indexers.
2024-09-16 15:26:53 +02:00
Geoffrey White
63a635c89c Revert "Rust: Restrict the query to user code."
This reverts commit aed44ba5f3.
2024-09-16 13:46:43 +01:00
Paolo Tranquilli
10e42237f3 Codegen: fix test 2024-09-16 14:46:42 +02:00
Tom Hvitved
d0eae97bcf Address review comment 2024-09-16 14:46:23 +02:00
Geoffrey White
7a21b3ba46 Rust: Accept the new results. 2024-09-16 13:42:18 +01:00
Geoffrey White
4656b3a43d Revert "Rust: Only test the 'user code' queries, as the non-user stuff is not stable between platforms."
This reverts commit 00b9647aa1.
2024-09-16 13:39:50 +01:00
Paolo Tranquilli
e280e1ebee Merge pull request #17441 from github/redsun82/rust-cli-flags
Rust: make the cli flags override automatic
2024-09-16 14:37:43 +02:00
Paolo Tranquilli
8953ad6b76 Python: replace src_archive exclusion patterns with *.testproj ones
The `**/src_archive/**` exclusion patterns seem to have to do with
trying to exclude archived source files from being picked up for the
extractor while running the test itself. However it seems that directory
is not being used any more by `codeql` (which uses a `src` directory
instead).

A `*.testproj` exclusion pattern will work in a more robust way, by
excluding any file inside the database being built.
2024-09-16 14:30:55 +02:00
Tom Hvitved
8d68bdf4d6 Codegen: Fix return type of getResolveStep and resolve 2024-09-16 14:19:29 +02:00
Michael Nebel
03ee7b99d2 C#: Add downgrade script. 2024-09-16 14:12:12 +02:00
Michael Nebel
b76613901c C#: Add upgrade script. 2024-09-16 14:12:10 +02:00
Michael Nebel
0104f96f4a C#: Remove metadata_handle part of the extractor implementation. 2024-09-16 14:12:07 +02:00
Michael Nebel
a6f95c577a C#: Remove deprecated predicates. 2024-09-16 14:12:05 +02:00
Michael Nebel
982208cd81 C#: Remove all CIL and Dotnet related tables and types from the dbscheme. 2024-09-16 14:12:03 +02:00
Michael Nebel
21b3daa2c0 C#: Delete Dotnet and CIL library code. 2024-09-16 14:12:01 +02:00
Tom Hvitved
2cafa3c228 Merge pull request #6 from redsun82/rust/final-classes
Pre-commit: bump up `autopep8` check version and fix formatting
2024-09-16 14:09:58 +02:00
Paolo Tranquilli
95b32fb541 Pre-commit: bump up autopep8 check version and fix formatting 2024-09-16 14:03:48 +02:00
Geoffrey White
aed44ba5f3 Rust: Restrict the query to user code. 2024-09-16 12:56:06 +01:00
Tom Hvitved
575023f212 Swift: Add up/downgrade scripts 2024-09-16 13:40:06 +02:00
Tom Hvitved
d2f633b3b4 Swift: Manual changes after running code generator 2024-09-16 13:40:05 +02:00
Tom Hvitved
c785cd9d7b Swift: Revert Impl rename for manually added files 2024-09-16 13:40:03 +02:00
Tom Hvitved
4ab5a1a060 Swift: Run code generator 2024-09-16 13:40:02 +02:00
Tom Hvitved
5fc762d811 Swift: Add Impl suffix to all stub/implementation classes
```
find . -maxdepth 5 -type f -not -name "*Constructor.qll" -print | sed 's/.qll//g' | xargs -I '{}' mv '{}'.qll '{}'Impl.qll
```
2024-09-16 13:39:59 +02:00
Tom Hvitved
683ecc39d8 Rust: Adjust some generated Impl files 2024-09-16 13:39:57 +02:00
Tom Hvitved
4dd3059f16 Rust: Run code generator 2024-09-16 13:39:55 +02:00
Tom Hvitved
9c0cafeeb8 Codegen: Make public AST classes final 2024-09-16 13:39:53 +02:00
Paolo Tranquilli
73e9b46853 Rust/Codegen: make () -> () the default signature 2024-09-16 13:32:55 +02:00
Chris Smowton
be02864281 Copyedit 2024-09-16 12:25:49 +01:00
Chris Smowton
8c92d92427 Copyedit 2024-09-16 12:23:10 +01:00
Chris Smowton
8f345f9618 Copyedit Java change note 2024-09-16 12:22:20 +01:00
Simon Friis Vindum
04aa7b471b Rust: Add support in CFG for various simple AST nodes 2024-09-16 13:22:15 +02:00
Tamás Vajk
d72f8b2e46 Merge pull request #17455 from tamasvajk/add-launch-json
C#: Add VSCode `launch.json`
2024-09-16 13:19:04 +02:00
Geoffrey White
fb6fbf6d21 Rust: Repair after Unimplemented.getLocation was removed. 2024-09-16 12:06:51 +01:00
github-actions[bot]
acdafd9646 Release preparation for version 2.19.0 2024-09-16 10:56:10 +00:00
Geoffrey White
00b9647aa1 Rust: Only test the 'user code' queries, as the non-user stuff is not stable between platforms. 2024-09-16 11:49:27 +01:00
Geoffrey White
c61970d8fe Merge branch 'main' into loc 2024-09-16 11:49:01 +01:00
Michael Nebel
f2360542e0 C#: Add change note. 2024-09-16 11:00:37 +02:00
Michael Nebel
7db73c8771 C#: Update expected test output. 2024-09-16 10:57:25 +02:00
Michael Nebel
1eff6fdf73 C#: Add extractor support for attributes on indexers. 2024-09-16 10:53:45 +02:00
Michael Nebel
5c5da3791e C#: Update attributes expected test output. 2024-09-16 10:53:00 +02:00
Paolo Tranquilli
ece815750e Merge branch 'main' into redsun82/rust-typed-labels 2024-09-16 10:51:07 +02:00
Michael Nebel
cc0d99a141 C#: Add attibute test examples for properties and indexers. 2024-09-16 10:50:51 +02:00
Simon Friis Vindum
c62c397cda Merge branch 'main' into rust-improve-cfg 2024-09-16 10:34:15 +02:00
Chris Smowton
030977003e Merge pull request #17472 from github/dbartol/rc-3.15-mergeback
Mergeback from `rc/3.15`
2024-09-16 09:10:45 +01:00
Paolo Tranquilli
f1233b14e8 Rust: fix generated hierarchy 2024-09-16 10:06:01 +02:00
Arthur Baars
ab4788a2ce Merge branch 'main' into missing 2024-09-16 09:50:56 +02:00
Arthur Baars
762bf87663 Merge branch 'main' into loc 2024-09-16 09:50:48 +02:00
Paolo Tranquilli
cb53911224 Merge branch 'main' into redsun82/rust-cli-flags 2024-09-16 09:36:06 +02:00
Paolo Tranquilli
39ce3fbd33 Merge pull request #17463 from hvitved/swift/callable-ast-node
Swift: Make `Callable` a sub type of `AstNode`
2024-09-16 09:27:41 +02:00
Paolo Tranquilli
d74dd2161a Swift: tentative fix to Cfg disambuigation 2024-09-16 09:14:09 +02:00
Paolo Tranquilli
e1ac40e750 Merge pull request #17432 from github/aibaars/rust-doc-tests
Rust: AST: add docs with examples for qltest
2024-09-16 09:00:31 +02:00
Tom Hvitved
74440273f1 Swift: Add DB up/downgrade scripts 2024-09-16 08:47:49 +02:00
Porcupiney Hairs
e768e2e5fe Include changes from review 2024-09-16 05:17:11 +05:30
Dave Bartolomeo
d6a7c87696 Update test expectations after merge 2024-09-15 13:42:46 +00:00
Dave Bartolomeo
485fc04029 Initial merge from main 2024-09-15 08:55:31 -04:00
Geoffrey White
36f54cc6c9 Rust: Clean up the query output. 2024-09-13 19:18:03 +01:00
Geoffrey White
551c4e83f4 Rust: Improve getNumberOfLinesOfCode (in particular, it will now include the closing of blocks { } ). 2024-09-13 18:23:11 +01:00
Geoffrey White
0d5c25b400 Rust: Repair getNumberOfLinesOfCode. 2024-09-13 18:19:01 +01:00
Arthur Baars
7f8bb7e859 Apply clippy fixes 2024-09-13 19:00:28 +02:00
Geoffrey White
d21cbe57aa Merge branch 'main' into loc 2024-09-13 17:55:09 +01:00
Arthur Baars
90537f9132 Fix other QL code
This reverts commit 5c02fb4a2e.
2024-09-13 18:47:10 +02:00
Geoffrey White
57eafb81c7 Rust: Update results for changes on main. 2024-09-13 17:40:44 +01:00
Arthur Baars
3fdc49c4cb Rename Literal, Type, and BinExpr 2024-09-13 18:33:55 +02:00
Geoffrey White
81aeb3b755 Merge branch 'main' into missing 2024-09-13 17:33:46 +01:00
Arthur Baars
ebe1e5e0d2 Fix locations for Path and LiteralOrConstPat 2024-09-13 18:23:39 +02:00
Arthur Baars
661a4e07be Merge remote-tracking branch 'upstream/main' into aibaars/rust-doc-tests 2024-09-13 17:31:38 +02:00
Paolo Tranquilli
8f93f5e34b Rust: move to Label<T> and mark unsafety of from_untyped 2024-09-13 17:17:19 +02:00
Paolo Tranquilli
5108799224 Merge pull request #17448 from github/redsun82/rust-std-files
Rust: integrate into standard files+location library
2024-09-13 16:23:25 +02:00
Simon Friis Vindum
afa4e79756 Rust: Add support for more AST nodes to CFG contruction 2024-09-13 16:22:18 +02:00
Simon Friis Vindum
9061536cca Rust: Make logical operator pre order nodes and eliminate impossible paths in CFG 2024-09-13 16:14:33 +02:00
Geoffrey White
a3de3a1c51 Rust: Update results for latest main. 2024-09-13 15:10:38 +01:00
Geoffrey White
af7cd238e5 Rust: Test query for missing elements. 2024-09-13 15:09:18 +01:00
Geoffrey White
2894653421 Rust: Query for missing elements. 2024-09-13 15:09:17 +01:00
Rasmus Wriedt Larsen
13a4df9b68 Go: autoformat 2024-09-13 16:07:27 +02:00
Geoffrey White
6e01270fec Rust: Better (still incomplete) results on latest main. 2024-09-13 15:06:22 +01:00
Geoffrey White
fdf079265d Rust: Add test. 2024-09-13 15:05:20 +01:00
Geoffrey White
c124820256 Rust: Add summary stats query showing all of the summary data, for convenience. 2024-09-13 15:05:19 +01:00
Geoffrey White
6e9f2a3b61 Rust: Add tests. 2024-09-13 15:05:18 +01:00
Geoffrey White
2f98c5ba47 Rust: Add lines-of-code queries. 2024-09-13 15:05:17 +01:00
Paolo Tranquilli
c7be2ae08a Merge pull request #17462 from github/redsun82/rust-codegen-codeql
Rust: fetch `codeql` prior to checking `codegen`
2024-09-13 15:45:36 +02:00
Tom Hvitved
4912ee8ab3 Swift: Make Callable a sub type of AstNode 2024-09-13 15:39:40 +02:00
Jeroen Ketema
087a8484aa Merge pull request #17430 from jketema/fix-finally-inconsistency
C++: Fix `__finally` related inconsistencies
2024-09-13 15:27:56 +02:00
Geoffrey White
e1299143c6 Merge pull request #17442 from geoffw0/files
Rust: Extracted Files diagnostic query
2024-09-13 14:13:43 +01:00
Geoffrey White
40c5f10fea Merge pull request #17450 from geoffw0/rustsuite
Rust: Add query suites
2024-09-13 14:13:07 +01:00
Paolo Tranquilli
5cd4d88d44 Rust: fetch codeql prior to checking codegen 2024-09-13 14:35:24 +02:00
Paolo Tranquilli
faf1eeeb0d Rust: introduce typed labels 2024-09-13 13:57:14 +02:00
Paolo Tranquilli
23dd572d5e Rust: add CODEQL_ base env layer 2024-09-13 13:39:39 +02:00
Arthur Baars
d73d90dba2 Avoid use of plain 'None' in tests
For some reason the parser resolves the ambiguity between None as a PathPat or IdentPat
differently on the Action runners vs local machine.
2024-09-13 12:48:58 +02:00
Simon Friis Vindum
61aad2ec68 Rust: Sort CFG trees and add scope for closures 2024-09-13 11:57:31 +02:00
Simon Friis Vindum
1a85dfd9ce Rust: Loops propagate CFG return completions but captures continue and break 2024-09-13 11:51:16 +02:00
Arthur Baars
e68229892e Add some more QL docs 2024-09-13 11:48:36 +02:00
Arthur Baars
5c02fb4a2e Fix CFG library 2024-09-13 11:41:21 +02:00
Simon Friis Vindum
b979df61ea Rust: Handle functions correctly through scope in CFG 2024-09-13 11:40:26 +02:00
Florin Coada
194c2fa9c4 Add changedocs for 2.18.4 2024-09-13 10:18:04 +01:00
Arthur Baars
e46ad61bb8 Update test data 2024-09-13 11:16:25 +02:00
Arthur Baars
d99c2031ac Workaround nameclash in dbscheme generator 2024-09-13 11:07:02 +02:00
Geoffrey White
587ebbffba Rust: Edit test slightly to avoid DBCheck failure. 2024-09-13 10:02:28 +01:00
Arthur Baars
b0939cfffa Update extractor 2024-09-13 10:58:01 +02:00
Arthur Baars
fa9cfc1104 Regenerate code 2024-09-13 10:52:43 +02:00
Arthur Baars
8dcf93d065 Make class names match rust.ungram
811905fce8/crates/syntax/rust.ungram
2024-09-13 10:51:11 +02:00
Arthur Baars
452424a0d2 Fix tests for Path and TypeRef 2024-09-13 10:25:36 +02:00
Arthur Baars
085aad3b3c Update test data 2024-09-13 10:22:01 +02:00
Arthur Baars
c634b0a000 Don't extract non-source crates 2024-09-13 10:16:53 +02:00
Arthur Baars
197fb04184 Improve docs 2024-09-13 10:16:34 +02:00
Tamas Vajk
549b294a05 C#: Add VSCode launch.json 2024-09-13 09:42:55 +02:00
Kevin Stubbings
c30332818f Reorder and rename 2024-09-13 00:41:55 -07:00
Kevin Stubbings
03f375e436 missed some 2024-09-13 00:21:33 -07:00
Paolo Tranquilli
403cc3df90 Rust: avoid cli flag defaults overriding env settings 2024-09-13 06:50:12 +02:00
Kevin Stubbings
7657b3e115 Fix tests 2024-09-12 21:30:32 -07:00
Kevin Stubbings
831d522025 First round feedback 2024-09-12 20:49:10 -07:00
Arthur Baars
c825ae4eab Add some examples for some of the unimplemented nodes 2024-09-12 22:18:02 +02:00
Arthur Baars
8e378d86df Update test data 2024-09-12 22:18:00 +02:00
Arthur Baars
7572546efa Improve handling of unimplemented nodes 2024-09-12 22:17:39 +02:00
Arthur Baars
69761a2942 Rust: AST: add docs with examples for qltest 2024-09-12 19:54:37 +02:00
Arthur Baars
292c6b6159 Clear out unused comments 2024-09-12 17:58:17 +02:00
Arthur Baars
2a88086544 Rust: AST: add docs with examples for qltest 2024-09-12 17:58:15 +02:00
Simon Friis Vindum
f73680ba21 Rust: Handle short-circuiting logical binary operators 2024-09-12 17:30:05 +02:00
Geoffrey White
7907cbeae1 Rust: Add query suites (identical to the Swift ones apart from their names). 2024-09-12 15:55:06 +01:00
Paolo Tranquilli
0b850a2dff Rust: add missing doc 2024-09-12 16:51:52 +02:00
Simon Friis Vindum
c821ec21bb Rust: CFG edge for return in functions 2024-09-12 16:25:43 +02:00
Paolo Tranquilli
beb27bf5e3 Rust: fix QL compilation and schema includes ordering 2024-09-12 15:05:30 +02:00
Simon Friis Vindum
e1f2fa8c7e Rust: Support break and continue in loops 2024-09-12 14:07:43 +02:00
Geoffrey White
f77c79593e Rust: Updated expected for changes on main. 2024-09-12 12:46:04 +01:00
Geoffrey White
9d8b514b5c Merge remote-tracking branch 'upstream/main' into files 2024-09-12 12:29:44 +01:00
Paolo Tranquilli
b4b680775c Rust: integrate into standard files+location library 2024-09-12 13:17:10 +02:00
Tamás Vajk
9250c29bd5 Merge pull request #17439 from tamasvajk/feature/include-razor-files-in-fromSource
C#: Include `.razor` files in `File::fromSource`
2024-09-12 13:14:34 +02:00
Paolo Tranquilli
a4c1ec75db Merge pull request #17445 from github/redsun82/rust-qltest
Rust: make ql tests extract files together
2024-09-12 12:53:16 +02:00
Paolo Tranquilli
ed0370b715 Rust: update rust/tools/qltest.sh
Co-authored-by: Arthur Baars <aibaars@github.com>
2024-09-12 12:28:22 +02:00
Simon Friis Vindum
3dc517c82b Rust: Handle absence of else branch in if expression in CFG 2024-09-12 10:35:00 +02:00
Rasmus Wriedt Larsen
66b61ee25a Go/Java/C#: Add change-note 2024-09-12 10:16:55 +02:00
Rasmus Wriedt Larsen
8c10155eb7 mass rename to ActiveThreatModelSource 2024-09-12 10:16:55 +02:00
Simon Friis Vindum
67a06cb772 Rust: Support loop in CFG 2024-09-12 09:29:19 +02:00
Paolo Tranquilli
aeae922ef3 Rust: make ql tests extract files together
For the moment this removes the possibility to set custom flags or env
variables for the extractor via comments, but that can be added back
easily if needed with a different mechanism (like an `env` file).
2024-09-12 09:13:35 +02:00
Paolo Tranquilli
5ae8824303 Rust: add context to parameter file expansion errors 2024-09-12 08:56:07 +02:00
Paolo Tranquilli
6adf88542e Rust: fix linting script 2024-09-12 08:53:08 +02:00
Paolo Tranquilli
0a8c0f5ab4 Rust: fix bazel build 2024-09-12 08:46:50 +02:00
Owen Mansel-Chan
076dd07cdc Merge pull request #17429 from owen-mc/go/fix/multiple-anonymous-type-parameters
Go: fix multiple anonymous type parameters
2024-09-12 00:38:56 +01:00
Chuan-kai Lin
ff78bebf19 Shared support for alert filtering 2024-09-11 13:18:26 -07:00
Geoffrey White
c2e86423b9 Rust: Test the successfully extracted files diagnostic. 2024-09-11 17:10:08 +01:00
Geoffrey White
f1d281ffcc Rust: Add test cases for diagnostics. 2024-09-11 17:10:07 +01:00
Paolo Tranquilli
5bfe2a9e18 Merge branch 'main' into redsun82/rust-cli-flags 2024-09-11 18:00:47 +02:00
Geoffrey White
a933f0d695 Rust: Add diagnostic query for successfully extracted files. 2024-09-11 16:45:33 +01:00
Paolo Tranquilli
f9e4c0af13 Merge pull request #17435 from github/rust-experiment
Rust: merge current status of experimental extractor into main
2024-09-11 17:31:24 +02:00
Paolo Tranquilli
1b3a5cdab1 Rust: make the cli flags override automatic
This makes the clap flags overlay over `Config` entirely derived via an
attribute macro. Also, the `--intputs-file` option is replaced by a more
standard and versatile `@` parameter file mechanism.
2024-09-11 17:28:59 +02:00
Tamas Vajk
da3c5f44f2 C#: Include .razor files in File::fromSource 2024-09-11 16:13:42 +02:00
Asger F
07bd854868 Merge pull request #17401 from pwntester/js/actions/secrets-in-artifacts
Javascript: Query to detect GITHUB_TOKEN leaked in artifacts
2024-09-11 15:54:36 +02:00
Andrew Eisenberg
15cdc7210e Merge pull request #17431 from github/aeisenberg/query-add-autofix 2024-09-11 06:34:08 -07:00
Owen Mansel-Chan
f46b4b344f Merge pull request #17277 from github/owen-mc-patch-1
Docs: Give clearer example of multiple query predicates in one ql file
2024-09-11 14:22:33 +01:00
Simon Friis Vindum
fea6017688 Merge pull request #17415 from paldepind/rust-control-flow-graph
Rust: Basic control flow graph setup
2024-09-11 15:08:33 +02:00
Paolo Tranquilli
43984212a5 Merge branch 'main' into rust-experiment 2024-09-11 13:52:38 +02:00
Sid Shankar
983eb1924f Merge pull request #17433 from github/sidshank/ts-5.6 2024-09-11 07:23:00 -04:00
Paolo Tranquilli
e4766b60c3 Rust: make QL test crates workspaces 2024-09-11 11:29:04 +02:00
Simon Friis Vindum
857edb791c Rust: Fix control flow tree for function and block expression 2024-09-11 11:18:56 +02:00
Paolo Tranquilli
8bf3c42213 Merge branch 'main' into rust-experiment 2024-09-11 11:06:24 +02:00
Paolo Tranquilli
d8db0e43da Ruby: update new cargo target directory in make and actions 2024-09-11 11:01:10 +02:00
Paolo Tranquilli
aa6726a401 Bazel: bump up rules_rust version 2024-09-11 10:43:49 +02:00
Geoffrey White
d374935008 Merge pull request #17384 from microsoft/brodes/overflow-buffer-fixes-upstream
Brodes/overflow buffer fixes upstream
2024-09-11 09:12:22 +01:00
Paolo Tranquilli
f624a1b7a7 Ruby: fix extractor pack script after workspace root change 2024-09-11 09:40:44 +02:00
Simon Friis Vindum
809d040528 Make more classes private and final 2024-09-11 09:37:39 +02:00
Paolo Tranquilli
2a7533c441 Rust: add to `labeler.yml 2024-09-11 09:33:43 +02:00
Paolo Tranquilli
304e68df30 Merge pull request #17426 from geoffw0/readme
Rust: Add a README.md
2024-09-11 09:26:27 +02:00
Paolo Tranquilli
f464759eb3 Merge pull request #17434 from github/redsun82/rust-experiment
Bazel: remove non-working fake `tree-sitter-extractor` workaround
2024-09-11 09:14:59 +02:00
Simon Friis Vindum
6d972bea2c Rust: Add a few control flow tree classes 2024-09-11 09:08:54 +02:00
Simon Friis Vindum
91d5171d90 Add base setup for control flow graph construction 2024-09-11 09:08:53 +02:00
Paolo Tranquilli
f8c9d96882 Bazel: remove non-working fake tree-sitter-extractor workaround
The `.cargo/config.toml` override based workaround wasn't really
working, as while `cargo build|check` was reading that, `cargo metadata`
wasn't, ending up in a completely broken IDE experience.

For the moment, we just use a unified workspace `Cargo.toml` for all
extractors using the shared tree-sitter code, which has the downside of
making bazel pull in dependencies for all of them, and not being able to
do sparse checkouts for them. We should investigate and rivist this in
the future.
2024-09-11 08:17:11 +02:00
Sid Shankar
bc70d5ceb1 Adds change note 2024-09-11 00:52:21 +00:00
Sid Shankar
3436fc6177 Updates supported compiler docs 2024-09-11 00:46:09 +00:00
Sid Shankar
3516117215 Adds test for arbitrary specifiers in TS files
Adds test for arbitrary identifiers used in imports and exports
2024-09-11 00:37:49 +00:00
Sid Shankar
785af12f1c Renames test file 2024-09-11 00:28:44 +00:00
Sid Shankar
aa787a9cb1 Handles arbitrary module identifiers
This commit enables support for arbitrary names for identifier and namespace imports and exports
2024-09-11 00:27:42 +00:00
Sid Shankar
2c74b5ee50 Updates TS extractor dependency to 5.6.2 2024-09-11 00:22:17 +00:00
Owen Mansel-Chan
13f8488148 Undo spurious test changes
The go libraries on my local computer seem to have
slightly different go libraries for some reason.
2024-09-10 23:50:33 +01:00
Alvaro Muñoz
061d58ae4a Update javascript/ql/src/change-notes/2024-09-06-new-actions-artifact-leak-query.md
Co-authored-by: Asger F <asgerf@github.com>
2024-09-10 22:18:04 +02:00
Jeroen Ketema
ca10953761 C++: Update syntax zoo expected test results 2024-09-10 21:25:29 +02:00
Andrew Eisenberg
969c57c1c8 Update pull_request_template.md
Include a reminder about adding a query to autofix,
2024-09-10 11:42:14 -07:00
Jeroen Ketema
5754f8bac8 C++: Fix __finally related inconsistencies 2024-09-10 20:39:13 +02:00
Ben Rodes
58779e1b90 Merge branch 'main' into brodes/overflow-buffer-fixes-upstream 2024-09-10 13:46:24 -04:00
Jeroen Ketema
4c8aec0db5 Merge pull request #17421 from jketema/fix-except-inconsistency
C++: Fix IR inconsistency due to throwing `__except` block
2024-09-10 18:37:10 +02:00
Geoffrey White
7c95bb243e Rust: Update example path. 2024-09-10 17:09:51 +01:00
Geoffrey White
6b0d7bcda8 Rust: Remove repo warning because we're merging into main real soon now... 2024-09-10 17:08:11 +01:00
Owen Mansel-Chan
270fa8d507 Add change note 2024-09-10 16:58:24 +01:00
Owen Mansel-Chan
84c41744c1 Include type parameter's index in its label 2024-09-10 16:52:44 +01:00
Owen Mansel-Chan
9aafcbc1e3 Add test for multiple anonymous type parameters 2024-09-10 16:40:53 +01:00
Paolo Tranquilli
4f90f5fb4c Rust: accept test changes 2024-09-10 17:36:18 +02:00
Paolo Tranquilli
d04f0200e2 Rust: skip change note check for now 2024-09-10 17:35:53 +02:00
Arthur Baars
00bc40765c Merge pull request #17427 from github/aibaars/rust-experiment
Fix definition of trap compression option
2024-09-10 17:15:04 +02:00
Arthur Baars
d6d52a97a2 Fix definition of trap compression option
unless the -Oextract_dependencies=true flag is supplied
2024-09-10 17:13:49 +02:00
Paolo Tranquilli
9c8f6145ab Merge pull request #17408 from github/aibaars/rust-experiment
Rust: add partial extractor for Expr, Statement, Pattern
2024-09-10 17:09:47 +02:00
Geoffrey White
d9a37119f8 Update rust/README.md
Co-authored-by: Paolo Tranquilli <redsun82@github.com>
2024-09-10 16:04:22 +01:00
Geoffrey White
ac9afea75e Rust: Add experimental warning and Bazelisk link. 2024-09-10 16:02:53 +01:00
Arthur Baars
bffdf2b179 Replace println with log statements 2024-09-10 16:59:32 +02:00
Rasmus Wriedt Larsen
e11bfc27bd Docs: Fix link 2024-09-10 16:53:52 +02:00
Arthur Baars
f37b4aebc2 Only extract function bodies for local crates,
unless the -Oextract_dependencies=true flag is supplied
2024-09-10 16:49:13 +02:00
Arthur Baars
43e54fb0ae Use custom target folder 2024-09-10 16:49:12 +02:00
Geoffrey White
8213bbb14a Rust: Add a README.md 2024-09-10 15:47:40 +01:00
Rasmus Wriedt Larsen
e35c2b243a Docs: Include 'Threat models' for Python 2024-09-10 16:44:03 +02:00
Michael Nebel
0abc08c773 C#: Add some synthetic field content based examples. 2024-09-10 15:24:00 +02:00
Michael Nebel
b94940b6d9 C#: Adjust existing model generator tests and update expected output. 2024-09-10 15:23:57 +02:00
Michael Nebel
da012a7a44 C#: Add the capture content summary models query. 2024-09-10 15:23:54 +02:00
Michael Nebel
e94890280a C#: Sync changes and make language specific parts. 2024-09-10 15:23:51 +02:00
Michael Nebel
0fbeca14ad Java: Add content based example with multiple paths. 2024-09-10 15:23:44 +02:00
Michael Nebel
9149a17d79 Java: Only keep the best generated model in terms of taint/value. 2024-09-10 15:23:38 +02:00
Michael Nebel
d7e61d07d1 Java: Update some model generator test cases. 2024-09-10 15:23:34 +02:00
Michael Nebel
d2c98c86dc Java: Improve content based model generation. 2024-09-10 15:23:20 +02:00
Michael Nebel
7c0101ad06 Shared: Add some helper predicates to the AccessPath class in content flow. 2024-09-10 15:23:08 +02:00
Arthur Baars
1e830dad1a Add ra_ap_paths dependency 2024-09-10 15:14:36 +02:00
Chuan-kai Lin
ba5218dfc0 Merge pull request #17420 from github/cklin/upgrade-properties-fix
C#: Fix trivial upgrade.properties errors
2024-09-10 06:11:23 -07:00
Paolo Tranquilli
26b9de3d63 Merge branch 'main' into rust-experiment 2024-09-10 15:00:20 +02:00
Rasmus Wriedt Larsen
038bc832a7 Go/Java/C#: Rename to ActiveThreatModelSource
As part of adding support for threat-models to Python/JS (see
https://github.com/github/codeql/pull/17203), we ran into some trouble
with name clashes.

Naming in existing languages supporting threat-models:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)

However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and we had to come up with new names.

Initially I used `ThreatModelSource` for the "QL only modeling", but
that meant that we needed a new name to represent the active sources
coming from either QL or data-extensions... for this I came up with
`ActiveThreatModelSource`, and I really liked it. To me, it's much
clearer that this class only contains the currently active threat
model sources.

So to align languages, I got approval from @michaelnebel to rename the
existing classes.
2024-09-10 14:46:15 +02:00
Rasmus Wriedt Larsen
5ff7b6557f Python: Add links to threat-model docs 2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
cbebf7b392 Python: Additional threatModelSource annotations 2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
333367c07d Python: Add threat-modeling of raw_input 2024-09-10 14:32:39 +02:00
Rasmus Wriedt Larsen
7d3793e718 Docs: Update threat-model list to include Python 2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
0ccb5b198a Python: Add change-note 2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
a0b24d6194 Python: Add e2e threat-model test 2024-09-10 14:32:38 +02:00
Rasmus Wriedt Larsen
8d8cd05b94 Python: Add basic support for database threat-model 2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
7483075b7e Python: Fixup modeling of os.open 2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
d245db54a1 Python: Model file threat-model 2024-09-10 14:32:37 +02:00
Rasmus Wriedt Larsen
66f389a4b6 Python: Model stdin thread-model 2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
e1801f3a29 Python: Proper threat-model handling for argparse 2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
56c85ffe54 Python: Fixup threat-models for os.environ.get()
Since using `.DictionaryElementAny` doesn't actually do a store on the
source, (so we can later follow any dict read-steps).

I added the ensure_tainted steps to highlight that the result of the
WHOLE expression ends up "tainted", and that we don't just mark
`os.environ` as the source without further flow.
2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
b9239d7101 Python: Add basic support for environment/commandargs threat-models 2024-09-10 14:32:36 +02:00
Rasmus Wriedt Larsen
528f08fb83 Python: Make queries use ActiveThreatModelSource 2024-09-10 14:32:35 +02:00
Jeroen Ketema
5f4fee0780 C++: Address review comments 2024-09-10 14:23:10 +02:00
Arthur Baars
a5d1d9e167 Make implementation more complete
Use Unimplemented to mark AstNodes  that need implementing
2024-09-10 14:13:05 +02:00
Jeroen Ketema
500a2a0738 C++: Fix IR inconsistency due to throwing __except block
The fix consists of three parts:
* Ensure that an `Unwind` instruction is generated for functions that contain
  a Microsoft `__try` statement, or a function that must throw.
* Do not manually introduce `Unwind` instructions for `__except` blocks, but
  depend on the `Unwind` that we now insert in the function.
* Add missing `getExceptionSuccessorInstruction` predicate to
  `TranslatedMicrosoftTryExceptHandler`
2024-09-10 12:41:43 +02:00
Arthur Baars
2ae725784c Don't use _ to ignore things so rustc will show warnings for all the gaps in the implementation 2024-09-10 12:26:56 +02:00
Arthur Baars
b2451c6667 Improve schema 2024-09-10 12:26:54 +02:00
Arthur Baars
46bfefc99a Address comments 2024-09-10 12:26:53 +02:00
Paolo Tranquilli
ef06b555c1 Rust: accept test changes 2024-09-10 11:29:54 +02:00
Jeroen Ketema
90f7b30997 Merge pull request #17418 from jketema/throw-inconsistent
C++: Add IR inconsistency test
2024-09-10 11:07:16 +02:00
Paolo Tranquilli
437b671035 Merge branch 'rust-experiment' into aibaars/rust-experiment
Also fixed conflicts and applied linting (can be done via
`rust/lint.py` or `pre-commit` configuration).
2024-09-10 10:24:49 +02:00
Paolo Tranquilli
38c25f96e5 Rust: add linting pre-commit hook 2024-09-10 10:22:45 +02:00
Paolo Tranquilli
37afad2f70 Merge pull request #17410 from github/redsun82/rust-ci
Rust: set up `codeql` CI
2024-09-10 10:04:24 +02:00
Dave Bartolomeo
ae3f3d0c25 Merge pull request #17419 from github/dbartol/cherry-pick-ruby
Fix upload in Ruby build
2024-09-09 16:49:57 -04:00
Dave Bartolomeo
78281168c2 Merge pull request #17417 from github/post-release-prep/codeql-cli-2.18.4
Post-release preparation for codeql-cli-2.18.4
2024-09-09 16:45:30 -04:00
Chuan-kai Lin
fae180f612 C#: Fix trivial upgrade.properties errors 2024-09-09 13:33:04 -07:00
Dave Bartolomeo
5961774f84 Include hidden files when uploading Ruby pack 2024-09-09 16:22:43 -04:00
Jeroen Ketema
dfa16423c0 C++: Add IR inconsistency test 2024-09-09 21:50:42 +02:00
github-actions[bot]
97edff3f70 Post-release preparation for codeql-cli-2.18.4 2024-09-09 18:45:46 +00:00
Dave Bartolomeo
561abced2d Merge pull request #17416 from github/release-prep/2.18.4
Release preparation for version 2.18.4
2024-09-09 12:25:56 -04:00
Jeroen Ketema
6e0b5bcb63 Merge pull request #17414 from MathiasVP/add-more-try-except-testcases
C++: Add more IR inconsistency tests
2024-09-09 18:10:42 +02:00
github-actions[bot]
91537cdf9a Release preparation for version 2.18.4 2024-09-09 16:08:48 +00:00
Mathias Vorreiter Pedersen
353cd8cc74 C++: Add more IR inconsistency tests. 2024-09-09 16:37:55 +01:00
Arthur Baars
42b1112be6 Rust: add default Element::toString 2024-09-09 15:05:04 +02:00
Arthur Baars
20ca8801e6 Revert "Rust: PrintAstNode: tolerate elements without toString"
This reverts commit 85e51bf0ec.
2024-09-09 15:01:32 +02:00
Arthur Baars
61592a3256 Rust: fix locations
In QL locations are 1-based inclusive ranges. The locations is rust are 0-based
and the end position is exclusive.

To patch things up, subtract 1 from the end offset and add 1 to all line and column numbers.
2024-09-09 14:56:37 +02:00
Jeroen Ketema
1250e72ebb Merge pull request #17399 from jketema/simplify
C++: Re-introduce the original version of the `many_defs_per_use` IR test
2024-09-09 14:18:19 +02:00
Paolo Tranquilli
6f36ea9188 Merge branch 'main' into rust-experiment
Conflicts:
  shared/tree-sitter-extractor/src/trap.rs
2024-09-09 14:15:34 +02:00
Paolo Tranquilli
f1cd9211e7 Merge pull request #17407 from github/redsun82/rust-extractor-generalize-location-cache
Tree-sitter: allow multiple sources per trap file
2024-09-09 14:12:33 +02:00
Michael B. Gale
6c8780a2f9 Merge pull request #17395 from github/mbg/go/1.23-changenote
Go: Add change note and update docs for Go 1.23
2024-09-09 13:06:46 +01:00
Arthur Baars
86215b4f02 Rename IfLet to IfStmt 2024-09-09 13:33:17 +02:00
Arthur Baars
85e51bf0ec Rust: PrintAstNode: tolerate elements without toString 2024-09-09 13:29:49 +02:00
Arthur Baars
b40476423b Rust: schema.py add '| child' markers 2024-09-09 13:29:45 +02:00
Arthur Baars
6acc107021 Prevent a panic on generated labels 2024-09-09 13:25:46 +02:00
Arthur Baars
6e6942b1d7 Rust: initial extractor for expressions and patterns 2024-09-09 13:25:45 +02:00
Arthur Baars
da8750e95e Rust: extract each project only once 2024-09-09 13:25:44 +02:00
Arthur Baars
7c4383975f Filter out trailing empty strings 2024-09-09 13:25:43 +02:00
Michael B. Gale
d69c1e9af6 Accept suggestion from review
Co-authored-by: Chris Smowton <smowton@github.com>
2024-09-09 12:19:30 +01:00
Paolo Tranquilli
45c9eb1b94 Merge pull request #17411 from github/redsun82/rust-ci-internal
Rust: add dummy integration test
2024-09-09 13:06:29 +02:00
Paolo Tranquilli
d6b8dd15a9 Rust: add dummy integration test 2024-09-09 12:57:47 +02:00
Paolo Tranquilli
b0ca7935d7 Rust: update generated list file 2024-09-09 12:32:54 +02:00
Paolo Tranquilli
573b8b9373 Merge branch 'rust-experiment' into redsun82/rust-ci 2024-09-09 12:32:02 +02:00
Paolo Tranquilli
56e127849f Rust/Codegen: fix generated list files 2024-09-09 12:31:09 +02:00
Paolo Tranquilli
9d08d248fe Merge pull request #17396 from github/redsun82/rust-doctest-gen
Rust: generate test code from schema docstrings
2024-09-09 12:21:22 +02:00
Paolo Tranquilli
10a23c0843 Merge branch 'rust-experiment' into redsun82/rust-doctest-gen 2024-09-09 12:20:55 +02:00
Paolo Tranquilli
c979a949e1 Rust: fix CI codegen check 2024-09-09 12:15:07 +02:00
Paolo Tranquilli
ee2a8b09f6 Rust: fix formatting 2024-09-09 12:11:50 +02:00
Paolo Tranquilli
4512e4280d Rust: add CI 2024-09-09 12:05:31 +02:00
Paolo Tranquilli
d8f37cf1f9 Rust: add codegen pre commit hook 2024-09-09 12:05:28 +02:00
Paolo Tranquilli
2c472dd5b8 Tree-sitter: fix formatting 2024-09-09 11:59:17 +02:00
Joe Farebrother
d1cca13563 Merge pull request #17314 from joefarebrother/python-x509-cert
Python: Exclude certificate classification fo sensitive data queries
2024-09-09 10:48:36 +01:00
Arthur Baars
ef34d24e53 Merge pull request #17390 from github/aibaars/rust-experiment
Add Expr, Stmt, Pat to schema.py
2024-09-09 11:27:53 +02:00
Paolo Tranquilli
7637393f75 Rust: resolve clippy and rustc warnings 2024-09-09 10:28:50 +02:00
Paolo Tranquilli
4454566d8d Tree-sitter: allow multiple sources per trap file
This generalizes the location cache to allow multiple sources to be
extracted in the same trap file, by adding `file_label` to `Location`,
and therefore to location cache keys. This will be used by the Rust
extractor.
2024-09-09 09:17:45 +02:00
Paolo Tranquilli
3cd8aaf4b0 Rust: simplify rust doc test annotation 2024-09-09 08:59:17 +02:00
Arthur Baars
c8f73587cc Rust: codegen: fix generated code 2024-09-07 10:32:59 +02:00
Alvaro Muñoz
d34a0ba306 Add change note 2024-09-06 23:28:57 +02:00
Alvaro Muñoz
5d1da861a2 fix: Use YamlScalar for booleans 2024-09-06 23:21:41 +02:00
Alvaro Muñoz
5df3af2272 Fix alert message 2024-09-06 23:06:57 +02:00
Alvaro Muñoz
d9e8792d33 [javascript] Query to detect GITHUB_TOKEN leaked in artifacts 2024-09-06 22:55:58 +02:00
Michael B. Gale
e165fc77b5 Merge pull request #17386 from github/dependabot/go_modules/go/extractor/extractor-dependencies-cf6e4563c3
Bump golang.org/x/mod from 0.20.0 to 0.21.0 in /go/extractor in the extractor-dependencies group
2024-09-06 18:54:36 +01:00
Arthur Baars
1a9b2329f4 Add SlicePat::{slice, suffix} 2024-09-06 19:27:35 +02:00
Arthur Baars
406d03edfc Rename IfLet::else_branch to IfLet::else_ 2024-09-06 18:40:03 +02:00
Arthur Baars
e8277015ab Add subclasses for Array 2024-09-06 18:23:01 +02:00
Arthur Baars
69b05e835c Add fields for OffsetOf 2024-09-06 18:17:15 +02:00
Arthur Baars
75113367c9 Add InlineAsm::expr 2024-09-06 18:14:14 +02:00
Arthur Baars
bc6da117d2 Fix type of Closure::arg_types 2024-09-06 17:59:24 +02:00
Jeroen Ketema
915d24c62f C++: Re-introduce the original version of the many_defs_per_use IR test
See: 28cff2ea20
2024-09-06 17:38:29 +02:00
Paolo Tranquilli
928f3f11f1 Rust: remove <> from function wrapper 2024-09-06 14:34:12 +02:00
Paolo Tranquilli
ac9e977baa Rust: remove accidental test source file 2024-09-06 14:29:10 +02:00
Paolo Tranquilli
18c423eb55 Rust: fix formatting of code snippet in docstring 2024-09-06 14:27:57 +02:00
Paolo Tranquilli
6111a7497d Rust: remove accidental schema annotation 2024-09-06 14:26:36 +02:00
Paolo Tranquilli
8c5cc2efdc Rust: generate test code from schema docstrings
This generates test source files from code blocks in class docstrings.

By default the test code is generated as is, but it can optionally:
* be wrapped in a function providing an adequate context using
  `@rust.doc_test_function(name, *, lifetimes=(), return_type="()", **kwargs)`,
  with `kwargs` providing both generic and normal params depending on
  capitalization
* be skipped altogether using `@rust.skip_doc_test`

So for example an annotation like
```python
@rust.doc_test_function("foo",
                        lifetimes=("a",),
                        T="Eq",
                        x="&'a T",
                        y="&'a T",
                        return_type="&'a T")
```
will result in the following wrapper:
```rust
fn foo<'a, T: Eq>(x: &'a T, y: &'a T) -> &'a T {
    // example code here
}
```
2024-09-06 14:24:42 +02:00
Felicity Chapman
967367bba6 Apply suggestions from code review
Co-authored-by: Joe Clark <31087804+jc-clark@users.noreply.github.com>
2024-09-06 12:30:18 +01:00
Arthur Baars
a33c7703cd Add Label class 2024-09-06 12:42:43 +02:00
Arthur Baars
e14b626917 Add 'BlockBase' class 2024-09-06 12:15:35 +02:00
Paolo Tranquilli
122e5a7598 Rust: remove accidental IDE files 2024-09-06 12:05:11 +02:00
Cornelius Riemenschneider
9b12df5ae4 Merge pull request #17389 from github/criemen/bzlmod-upgrades
CI: Upgrade bazel rules.
2024-09-06 12:02:13 +02:00
Michael B. Gale
c34fe9eda2 Go: Add change note for 1.23 support 2024-09-06 10:52:10 +01:00
Michael B. Gale
3f94ed19bd Docs: Add Go 1.23 to supported range 2024-09-06 10:50:08 +01:00
Arthur Baars
ce2fdb3463 Address comments 2024-09-06 11:47:08 +02:00
Michael B. Gale
d1b311f11f Merge pull request #17358 from github/mbg/go/1.23-transparent-aliases
Go: Support 1.23 (Transparent aliases)
2024-09-06 10:46:41 +01:00
Michael Nebel
a5b462292f Merge pull request #17330 from michaelnebel/java/modelgenfieldbased
Java/C#: Field based model generator (Experimental).
2024-09-06 11:11:46 +02:00
Cornelius Riemenschneider
c75f55debf Merge branch 'main' into criemen/bzlmod-upgrades 2024-09-06 10:41:52 +02:00
Jeroen Ketema
b73b8682b4 Merge pull request #17371 from jketema/correct-include
C++: Update expected test results after extractor changes
2024-09-06 09:38:06 +02:00
Paolo Tranquilli
8ecba44ea9 Rust: add experimental bazel target 2024-09-06 09:29:54 +02:00
dependabot[bot]
3c1e3b66ec 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.20.0 to 0.21.0
- [Commits](https://github.com/golang/mod/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-06 03:21:50 +00:00
Michael B. Gale
1e32e84b1f Merge pull request #17369 from smowton/smowton/admin/aliasing-tests
Go: add tests regarding type aliasing
2024-09-05 21:16:08 +01:00
Michael B. Gale
772bc9b5c8 Go: Bump everything to 1.23.1 2024-09-05 21:12:46 +01:00
Michael B. Gale
9aeaae6068 Go: Bump maxGoVersion to 1.23 2024-09-05 21:12:45 +01:00
Michael B. Gale
6ef5063ff0 Go: Format Aliases.ql 2024-09-05 21:12:44 +01:00
Michael B. Gale
195f37267e Go: Accept new test results 2024-09-05 21:12:44 +01:00
Michael B. Gale
8380d71b01 Go: Add test for AliasType extraction 2024-09-05 21:12:43 +01:00
Michael B. Gale
1a9608a1f5 Go: Don't extract objects for type aliases 2024-09-05 21:12:42 +01:00
Michael B. Gale
97c3efccd1 Go: Factor out isAlias function 2024-09-05 21:12:42 +01:00
Michael B. Gale
c5b8163493 Go: Handle Alias types by extracting the underlying types 2024-09-05 21:12:41 +01:00
Michael B. Gale
c8e732468a Go: Update frontend error messages for Go 1.23 2024-09-05 21:12:40 +01:00
Michael B. Gale
4dead2bd8d Go: Use 1.23 for extractor 2024-09-05 21:12:40 +01:00
Michael B. Gale
ca796b0383 Go: Use 1.23 in tests 2024-09-05 21:12:39 +01:00
Michael B. Gale
d790d1ff08 Go: Use 1.23 in build process 2024-09-05 21:12:38 +01:00
REDMOND\brodes
1005a89007 Updating test cases. 2024-09-05 15:25:23 -04:00
Jeroen Ketema
a8b8eb42c0 Merge pull request #17391 from MathiasVP/add-unexpected-loop-inconsistency
C++: Add testcase with IR inconsistencies
2024-09-05 21:03:57 +02:00
Mathias Vorreiter Pedersen
25d7f17efc C++: Add testcase with IR inconsistencies. 2024-09-05 19:32:53 +01:00
Jeroen Ketema
78c6c09912 Merge pull request #13560 from am0o0/amammad-cpp-bombs
C++: Decompression Bombs
2024-09-05 20:01:02 +02:00
Am
a226bdfbd3 Merge pull request #3 from jketema/amammad-cpp-bombs
C++: Fix expected test results
2024-09-05 21:31:03 +04:00
Michael Nebel
e1048cf8ea Java/C#: Address review comments. 2024-09-05 19:23:05 +02:00
Jeroen Ketema
e891c5a882 C++: Fix expected test results 2024-09-05 17:48:11 +02:00
am0o0
401bb24fde remove redundent zStreamAccess in flow steps 2024-09-05 17:09:26 +02:00
am0o0
faef6359dd add '// BAD' comment for the zstd sink 2024-09-05 17:05:21 +02:00
Arthur Baars
679d81ab00 Rust: extract dummy Function body 2024-09-05 16:59:30 +02:00
Arthur Baars
46d6bbb458 Rust: update generated code 2024-09-05 16:59:29 +02:00
Arthur Baars
76c35bec93 Rust: add Expr, Pat, Stmt to schema 2024-09-05 16:59:28 +02:00
Arthur Baars
0516505033 Rust: update dependencies 2024-09-05 16:58:41 +02:00
Ben Rodes
8ab22feae1 Update cpp/ql/test/query-tests/Security/CWE/CWE-119/semmle/tests/tests.cpp
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-09-05 10:07:19 -04:00
Jeroen Ketema
5b65f98e2c C++: Update expected test results after extractor changes
The updated test results look more correct, as the documentation of
`#include_next` [1] that it should start looking in the next directory
in the search path. Before this update, the frontend was actually
looking in the current directory first, which is incorrect.

[1] https://gcc.gnu.org/onlinedocs/cpp/Wrapper-Headers.html
2024-09-05 15:17:43 +02:00
Arthur Baars
6fd469c807 Rust: use autodiscovery for sysroot
This should make the rust-analyzer library look for a rust toolchain and
try to start the proc-macro server.
2024-09-05 14:49:37 +02:00
Arthur Baars
d93330bc4c Rust: make printAst work 2024-09-05 14:49:36 +02:00
Arthur Baars
d8eb5d463d Rust: run cargo fmt 2024-09-05 14:45:47 +02:00
Arthur Baars
60b349f7e5 Rust: remove 'take(1)' from crates iterator 2024-09-05 14:45:46 +02:00
Arthur Baars
be16954521 Rust: add autobuild.sh 2024-09-05 14:45:45 +02:00
Arthur Baars
52ef1e382a Add 'version' field to generated Cargo.toml file 2024-09-05 14:45:44 +02:00
Owen Mansel-Chan
013ee34de7 Merge pull request #17381 from owen-mc/go/fix/qldoc/resultvariabledecl
Go: Fix QLDoc for ResultVariableDecl
2024-09-05 11:57:45 +01:00
Paolo Tranquilli
b23e482ed2 Merge branch 'main' into rust-experiment 2024-09-05 12:29:29 +02:00
Paolo Tranquilli
28a7fca7ed Merge pull request #17387 from github/redsun82/bazel
Bazel: stub internal repo parts needed for building rust binaries
2024-09-05 12:28:18 +02:00
Owen Mansel-Chan
9786934d9a Remove errant space at end of line 2024-09-05 11:27:20 +01:00
Cornelius Riemenschneider
f76a190ed1 CI: Upgrade bazel rules. 2024-09-05 11:40:06 +02:00
Simon Friis Vindum
5950af390d Merge pull request #17351 from paldepind/swap-member-data-flow
C++: Make swap member functions data-flow functions
2024-09-05 11:39:16 +02:00
Owen Mansel-Chan
5bafa8ace2 Add comment about x, y int being a single ResultVariableDecl 2024-09-05 10:27:11 +01:00
Jeroen Ketema
b6e38ff862 Merge pull request #17342 from jketema/coroutine
C++: Fix coroutine IR inconsistencies
2024-09-05 10:15:16 +02:00
Paolo Tranquilli
57534599c8 Merge pull request #17352 from github/redsun82/swift
Swift: upgrade prebuilt toolchain to 5.10.1
2024-09-05 09:17:06 +02:00
Paolo Tranquilli
7c80b33a63 Bazel: add forgotten files 2024-09-05 08:26:41 +02:00
Paolo Tranquilli
913a9263d2 Bazel: stub internal repo parts needed for building rust binaries
This is another shot at https://github.com/github/codeql/pull/17382,
using a different and more lightweight approach.

This allows building the ruby and python (and in the future also rust)
packs from within the codeql repository. This will:
* skip defining the glibc symbols checking, which only makes sense when
  building the release from the internal repository
* stub out our `universal_binary` rule, which we only need when building
  the release.
2024-09-05 08:16:28 +02:00
Am
05bdce1cd3 Merge pull request #2 from jketema/amammad-cpp-bombs
C++: Fix zstd and clean up test
2024-09-05 07:53:00 +04:00
Joe Farebrother
959715ac8e Merge pull request #16814 from porcupineyhairs/pyCors
WIP: Python: CORS Bypass
2024-09-05 02:43:02 +01:00
Chris Smowton
fe9d879e37 Prettify tests 2024-09-04 22:33:21 +01:00
Chris Smowton
4c5344d62a Accept test suggestions
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-09-04 22:30:17 +01:00
Jeroen Ketema
3aa68b34bb C++: Fix zstd and clean up test 2024-09-04 22:25:44 +02:00
Cornelius Riemenschneider
f9e956dc94 Merge pull request #17377 from github/criemen/csharp-move-jobs
C#: Delete jobs that moved to the internal repo.
2024-09-04 20:10:26 +02:00
Cornelius Riemenschneider
e542d66719 Merge pull request #17380 from github/mbg/backport/bazel/dependencies/rules_go-0.50.0
Backport "Bazel/Go: Bump rules_go to 0.50.0" to `rc/3.15`
2024-09-04 19:32:02 +02:00
Cornelius Riemenschneider
627c533e98 Fix typo. 2024-09-04 19:27:00 +02:00
REDMOND\brodes
78898955b6 Updating change log 2024-09-04 12:54:27 -04:00
Chris Smowton
cbd129fddd Add test for aliasing interface method definitions 2024-09-04 17:53:45 +01:00
REDMOND\brodes
6f1aade8e0 Added change log 2024-09-04 12:51:37 -04:00
Jeroen Ketema
fd9a5ee453 Update cpp/downgrades/7ff6a6e53dbcff09d1b9b758b594bc6d17366863/coroutine.ql
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-09-04 18:45:33 +02:00
REDMOND\brodes
77b88afa9e Removing commented out code and altering comments to explain why the code was removed. 2024-09-04 12:44:36 -04:00
Andrew Eisenberg
c86b5790ff Merge pull request #17281 from github/aeisenberg/pr-template
Add a pull request template
2024-09-04 09:41:46 -07:00
REDMOND\brodes
cc953c87d9 Added test case to demonstrate type error corrected in this branch. 2024-09-04 12:41:05 -04:00
Pierre
9bd706a576 Merge pull request #17375 from github/changedocs-2.18.3-2
Add changelogs up to 2.18.3
2024-09-04 18:13:22 +02:00
REDMOND\brodes
e4d29905a9 Formatting and updating tests. 2024-09-04 11:16:24 -04:00
REDMOND\brodes
f0eeaaf44e BufferAccess must be reachable. False positives observed where accesses occur in dead code. 2024-09-04 11:16:23 -04:00
REDMOND\brodes
abd0a076a8 Addressing false positive with strncpy. 2024-09-04 11:16:21 -04:00
REDMOND\brodes
9105375097 Addreessing false positive due to incorrect use of getType 2024-09-04 11:16:19 -04:00
Felicity Chapman
529bee4d73 Add link to MRVA 2024-09-04 15:57:01 +01:00
Felicity Chapman
4cdef853d2 Add metadata to two key topics to help with SEO 2024-09-04 15:42:18 +01:00
Felicity Chapman
e58bb88ee8 Make more security researcher focused 2024-09-04 15:29:47 +01:00
Am
4fa462417f Merge pull request #1 from jketema/amammad-cpp-bombs
Cleanup cpp bombs
2024-09-04 18:06:04 +04:00
Owen Mansel-Chan
351c50afc1 Fix QLDoc for ResultVariableDecl 2024-09-04 14:02:35 +01:00
Michael B. Gale
66af4fd337 Bazel: Bump rules_go to 0.50.0 2024-09-04 13:47:21 +01:00
Michael B. Gale
cd8a5d7707 Merge pull request #17378 from github/mbg/go/improve-typeparamtype
Go: Add `getParent` and `getIndex` for `TypeParamType`
2024-09-04 13:31:51 +01:00
Erik Krogh Kristensen
8508056e72 Merge pull request #17349 from erik-krogh/del-deps-sep-2024
All: delete outdated deprecations
2024-09-04 14:18:31 +02:00
Jeroen Ketema
9b905d5e84 C++: Set precision to low
There are no barriers, so the query as is will flag up any use of the
identified functions.
2024-09-04 14:13:43 +02:00
Jeroen Ketema
238895e677 C++: Fix formatting 2024-09-04 14:10:24 +02:00
Jeroen Ketema
92c6170a76 C++: Simplify QLhelp
One good and one bad example suffices to get the point across, and makes the
help more readable. The examples also do not have to be complete.
2024-09-04 14:06:12 +02:00
Simon Friis Vindum
f066f21751 C++: Make swap member functions data-flow functions 2024-09-04 13:55:19 +02:00
Tom Hvitved
ce2df04854 Merge pull request #17350 from hvitved/tree-sitter-0.23
Bump `tree-sitter` to `0.23.0`
2024-09-04 13:45:14 +02:00
Jeroen Ketema
2369b18ca6 C++: Make additional flow steps more uniform 2024-09-04 13:43:03 +02:00
Michael B. Gale
db72bd4f96 Go: Add getParent and getIndex for TypeParamType 2024-09-04 12:28:58 +01:00
Tamás Vajk
6c28abdad7 Merge pull request #17373 from tamasvajk/add-build-mode-none-change-note-2
C#: Add change note for `build-mode:none` GA
2024-09-04 13:24:17 +02:00
Jeroen Ketema
8fe0d0a045 C++: Improve query output 2024-09-04 13:22:02 +02:00
Jeroen Ketema
8d22d147b8 C++: Clean up QLDoc 2024-09-04 13:16:56 +02:00
Cornelius Riemenschneider
05ffb47711 Merge pull request #17334 from github/criemen/rename-java
Java: Rename integration test directories.
2024-09-04 12:51:51 +02:00
Erik Krogh Kristensen
4258119ba3 Merge branch 'main' into del-deps-sep-2024 2024-09-04 12:43:41 +02:00
Erik Krogh Kristensen
49aaf65f3f fix mistake in the Python change-note
Co-authored-by: Taus <tausbn@github.com>
2024-09-04 12:43:01 +02:00
Cornelius Riemenschneider
b253b4ff49 C#: Delete jobs that moved to the internal repo.
All jobs that are deleted have been moved to the internal repo.

The unit tests are also run internally through bazel,
but keeping them here also tests the msbuild build.
2024-09-04 12:39:30 +02:00
Paolo Tranquilli
c38281528f Merge branch 'main' into redsun82/swift 2024-09-04 12:14:34 +02:00
Jeroen Ketema
65fafbf4df C++: Fix QL-for-QL warnings 2024-09-04 11:57:10 +02:00
Jeroen Ketema
084dbc4e12 C++: Rename qhelp file to match ql file 2024-09-04 11:48:42 +02:00
Jeroen Ketema
c048401ca7 C++: Clean up Brotli test 2024-09-04 11:40:32 +02:00
turbo
bd45c1fdbe Add changelogs 2024-09-04 11:39:35 +02:00
Jeroen Ketema
0f98e292ed C++: Cleanup minizip test 2024-09-04 11:19:22 +02:00
Tamas Vajk
d4947cc1a2 C#: Add change note for build-mode:none GA 2024-09-04 11:13:31 +02:00
Owen Mansel-Chan
27e9c1b885 Merge pull request #17266 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-09-04 10:05:20 +01:00
Jeroen Ketema
09f6576e6b C++: Simplify libarchive test 2024-09-04 11:04:21 +02:00
Jeroen Ketema
078e63524c C++: Remove code that is irrelevant for the zlib test 2024-09-04 10:48:25 +02:00
Anders Schack-Mulligen
7b8e707465 Merge pull request #17362 from aschackmull/dataflow/typofix
Dataflow: Fix minor typo.
2024-09-04 10:39:31 +02:00
Owen Mansel-Chan
1e225d7c44 Merge pull request #17366 from owen-mc/go/edit-release-change-notes
Go: Remove threat models change note from 1.15.md
2024-09-04 09:37:28 +01:00
Jeroen Ketema
ad3605c595 C++: Minor test clean up 2024-09-04 10:26:53 +02:00
Jeroen Ketema
d8a70d8d58 C++: Add test annotations 2024-09-04 10:23:51 +02:00
Jeroen Ketema
751e7e6bfb C++: Remove useless function bodies from tests 2024-09-04 10:03:19 +02:00
Jeroen Ketema
d526f1d081 C++: Disentangle confusing test results by declaring only a single main 2024-09-04 09:51:03 +02:00
Tom Hvitved
eb1b2a5594 Bump tree-sitter to 0.23.0 2024-09-04 09:47:59 +02:00
Jeroen Ketema
50d9e77339 C++: Move experimental files into the correct locations 2024-09-04 09:33:27 +02:00
Simon Friis Vindum
04f4039adc Merge pull request #17354 from paldepind/realloc-data-flow
C++: Make realloc a data-flow function
2024-09-04 09:04:12 +02:00
Michael Nebel
99400fe3d4 Merge pull request #17346 from michaelnebel/csharp/madsynthetics
C#: Support SyntheticField in MaD.
2024-09-04 08:28:07 +02:00
Simon Friis Vindum
75643043bc Update change note for realloc
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-09-04 07:38:49 +02:00
github-actions[bot]
3eeb79c599 Add changed framework coverage reports 2024-09-04 00:19:10 +00:00
Andrew Eisenberg
3f5a146a1c Reformulate bullet points 2024-09-03 15:25:43 -07:00
Chris Smowton
6ed0a37efd Autoformat 2024-09-03 21:29:56 +01:00
Chris Smowton
bf2fb2f6e2 Add tests for interface implementation across aliasing 2024-09-03 21:18:20 +01:00
erik-krogh
e2b16bd8f9 add some change-notes 2024-09-03 22:06:07 +02:00
erik-krogh
e76dcf9df9 delete a test for a deleted file 2024-09-03 20:31:01 +02:00
erik-krogh
846882d22c delete imports to a deleted file 2024-09-03 20:31:00 +02:00
erik-krogh
20dfdc9661 delete some deprecated files 2024-09-03 20:30:59 +02:00
erik-krogh
0fdd06fff5 use my script to delete outdated deprecations 2024-09-03 20:30:58 +02:00
Chris Smowton
73cc7460f3 Fix test; update expectations per autoformat changes 2024-09-03 18:44:30 +01:00
Chris Smowton
a94601c8c0 Add test checking for entity counts and def-use matches under aliasing 2024-09-03 17:58:09 +01:00
Dave Bartolomeo
ea0877769e Merge pull request #17368 from github/dbartol/ruby-hidden
Include hidden files when uploading Ruby pack
2024-09-03 12:49:26 -04:00
Jeroen Ketema
8ca52f278a C++: Fix coroutine IR inconsistencies
While here, remove some dead code related to fixed points from the database
scheme.
2024-09-03 18:12:36 +02:00
Dave Bartolomeo
36c71a9592 Include hidden files when uploading Ruby pack 2024-09-03 11:47:02 -04:00
Jeroen Ketema
62766f68fc Merge pull request #17138 from jketema/generic
C++: Support C11 `_Generic` expressions
2024-09-03 17:26:50 +02:00
Owen Mansel-Chan
f5c195d830 Remove change note from 1.15.md
We will include this change note when there is documentation about how to use the functionality.
2024-09-03 16:24:55 +01:00
Jeroen Ketema
52819432c0 C++: Address review comment 2024-09-03 17:18:18 +02:00
Simon Friis Vindum
d5948d2d95 C++: Add change-note note for realloc as data-flow function 2024-09-03 16:15:05 +02:00
am0o0
386e45a11e delete bzip2 as it is not updated for more than three years so it is not in the priority 2024-09-03 15:33:14 +02:00
am0o0
81283d59ab remove more unused imports, add tests for zstd, add flow steps for zstd
zstd is not finilized
2024-09-03 15:26:38 +02:00
Michael B. Gale
5e390a3b01 Merge pull request #17359 from github/mbg/bazel/dependencies/rules_go-0.50.0
Bazel/Go: Bump `rules_go` to 0.50.0
2024-09-03 14:00:18 +01:00
am0o0
4fc971dbcb remove xz(lzma) 2024-09-03 14:48:52 +02:00
Anders Schack-Mulligen
a0f0854fdb Dataflow: Fix minor typo. 2024-09-03 14:26:02 +02:00
am0o0
6c97096642 remove unused imports, add tests for libarchive 2024-09-03 14:16:25 +02:00
Felicity Chapman
68cbe35d96 Fix a bad link 2024-09-03 13:08:07 +01:00
Simon Friis Vindum
037912fd2d C++: Add data-flow test for realloc 2024-09-03 14:02:03 +02:00
Felicity Chapman
44ca530087 Update template to match changes to landing page 2024-09-03 12:59:29 +01:00
Felicity Chapman
f44905324e Add article on running queries 2024-09-03 12:55:56 +01:00
Felicity Chapman
5f1e62aefe Update landing page to focus on language 2024-09-03 12:54:45 +01:00
Michael B. Gale
c05c1d5087 Bazel: Bump rules_go to 0.50.0 2024-09-03 12:42:40 +01:00
am0o0
9531701129 delete miniz support because there is no good documents and i don't have enough time as the library is not popular enough. add tests for minizip lib 2024-09-03 13:08:00 +02:00
Michael Nebel
7bf7df2f99 C#/Java: Add model generator option for making content based summaries. 2024-09-03 12:58:13 +02:00
Michael Nebel
6e8941ea9d C#: Add a couple more testcases. 2024-09-03 12:58:09 +02:00
Michael Nebel
4123876343 C#: Add content based summary generation test. 2024-09-03 12:58:06 +02:00
Michael Nebel
486246c82d C#: Sync changes and make C# implementation. 2024-09-03 12:58:04 +02:00
Michael Nebel
5ddcb16cd6 Java: Add content based model generation test. 2024-09-03 12:58:01 +02:00
Geoffrey White
1ff6c4c090 C++: Restore change and see effect on test. 2024-09-03 11:55:06 +01:00
Geoffrey White
5bd58f044e C++: Add a direct test of getOverlap and a test case for it. 2024-09-03 11:52:20 +01:00
am0o0
e85ca79d77 add tests for brotli 2024-09-03 12:28:16 +02:00
Tom Hvitved
26c5e7b2d1 Merge pull request #17308 from hvitved/dataflow/flow-through-restriction
Data flow: Reduce non-linear recursion in `fwdFlow0`
2024-09-03 11:30:57 +02:00
Simon Friis Vindum
78068a488f C++: Make realloc a data-flow function 2024-09-03 11:25:18 +02:00
Cornelius Riemenschneider
2dfca8ab20 Merge branch 'main' into criemen/rename-java 2024-09-03 11:04:29 +02:00
Paolo Tranquilli
59423c692f Swift: upgrade prebuilt toolchain to 5.10.1 2024-09-03 10:38:58 +02:00
Tom Hvitved
07fcd81e7e Address review comments 2024-09-03 10:13:09 +02:00
Michael Nebel
6365e5edff Java: Initial implementation of content based model generation. 2024-09-03 09:45:11 +02:00
Michael Nebel
4bdf21b022 Java: Add Content Flow module. 2024-09-03 09:45:07 +02:00
am0o0
49eaaf55a5 Merge branch 'amammad-cpp-bombs' of https://github.com/am0o0/codeql into amammad-cpp-bombs 2024-09-03 09:13:08 +02:00
am0o0
8c1c537150 finilize tests for zlib 2024-09-03 09:12:54 +02:00
am0o0
89e842b147 finilize tests for zlib 2024-09-03 09:12:13 +02:00
Porcupiney Hairs
e2dd126962 Python: Pycurl SSL Disabled 2024-09-03 03:41:23 +05:30
Porcupiney Hairs
f86570f6e7 WIP: Python: CORS Bypass
This PR adds a query to detect a Cross Origin Resource Sharing(CORS) policy bypass due to an incorrect check.

This PR attempts to detect the vulnerability pattern found in CVE-2022-3457

```python
if request.method in ['POST', 'PUT', 'PATCH', 'DELETE']:
    origin = request.headers.get('Origin', None)
    if origin and not origin.startswith(request.base):
        raise cherrypy.HTTPError(403, 'Unexpected Origin header')
```

In this case, a value obtained from a header is compared using `startswith` call. This comparision is easily bypassed resulting in a CORS bypass. Given that similar bugs have been found in other languages as well, I think this PR would be a great addition to the exisitng python query pack.

The databases for CVE-2022-3457 can be downloaded from
```
https://filetransfer.io/data-package/i4Mfepls#link
https://file.io/V67T4SSgmExF
```
2024-09-03 03:11:35 +05:30
Jeroen Ketema
ffab199ea8 Merge pull request #17348 from jketema/test-fix
C++: Update expected test results after #17347
2024-09-02 21:53:13 +02:00
Jeroen Ketema
ae7bf6c97d C++: Update expected test results after #17347 2024-09-02 21:17:55 +02:00
Tom Hvitved
1057bb443f Data flow: Simplify FwdFlowIn interface 2024-09-02 16:10:34 +02:00
Simon Friis Vindum
ee6c255a7c Merge pull request #17328 from paldepind/tweak-unbounded-barrier
C++: Tweak the `bounded` barrier
2024-09-02 14:30:44 +02:00
Simon Friis Vindum
e294c8e68f Merge pull request #17347 from paldepind/test-for-uninitialized-local
C++: Add test for cpp/uninitialized-local and va_copy
2024-09-02 14:00:34 +02:00
Geoffrey White
c082c256a2 Merge pull request #17244 from geoffw0/swiftdoc2
Swift: Work around some QHelp rendering issues.
2024-09-02 12:26:23 +01:00
Simon Friis Vindum
660869e834 C++: Add test for cpp/uninitialized-local and va_copy 2024-09-02 13:25:02 +02:00
Tamás Vajk
39a73303d1 Merge pull request #17333 from github/criemen/rename-csharp
C#: Rename integration test directories.
2024-09-02 13:04:58 +02:00
Henry Mercer
4ebfafbec2 Merge pull request #17336 from github/henrymercer/rc-3.15-mergeback
Merge `rc/3.15` back into `main`
2024-09-02 11:43:19 +01:00
Michael Nebel
4f4c7bfbb9 C#: Update expected test output. 2024-09-02 11:13:16 +02:00
Michael Nebel
6e81d74558 C#: Add support for synthetic fields in MaD for C#. 2024-09-02 11:13:11 +02:00
Michael Nebel
0d343c5ce1 C#: Add external flow tests for synthetic fields. 2024-09-02 11:13:06 +02:00
Paolo Tranquilli
885e89a927 Rust: first running tests 2024-08-30 17:45:51 +02:00
Tom Hvitved
642ec38589 Merge pull request #17340 from hvitved/csharp/ssa-exclude-enums 2024-08-30 16:31:38 +02:00
Paolo Tranquilli
7e1290aa74 Rust: reuse shared rust trap library 2024-08-30 16:08:37 +02:00
Joe Farebrother
ec7ad84cd1 Update formatting 2024-08-30 13:51:33 +01:00
Joe Farebrother
5360192a58 Apply review suggestions - change = to in
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-08-30 13:25:59 +01:00
Jeroen Ketema
4945943732 C++: Support C11 _Generic expressions 2024-08-30 14:24:03 +02:00
Paolo Tranquilli
4f0fe1ce3a Rust: bazel packaging 2024-08-30 13:05:46 +02:00
Tom Hvitved
4ef4ede0b1 C#: Do not calculate field-based SSA for enums 2024-08-30 11:19:07 +02:00
Tom Hvitved
a9b5faa6ab C#: Add SSA test for enums 2024-08-30 11:19:06 +02:00
Jeroen Ketema
30335ab81e C++: Add C11 _Generic IR tests 2024-08-30 10:50:49 +02:00
Paolo Tranquilli
3da6cee6ef Merge branch 'main' into rust-experiment 2024-08-30 10:30:43 +02:00
Cornelius Riemenschneider
321820e758 Java: Rename integration test directories.
We are no longer bound to the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.

I kept the platform-specific directories around under `kotlin`,
but you could also easily merge all these together if you find them unhelpful.
I'll leave that change to you.
2024-08-30 10:28:25 +02:00
Paolo Tranquilli
04753b286f Rust: tweak trap_key 2024-08-30 10:12:20 +02:00
Michael Nebel
89c387cf5c Merge pull request #17326 from michaelnebel/shared/contentflowtaint
DataFlow: Bugfix in content flow state for value preservation.
2024-08-30 09:23:50 +02:00
Andrew Eisenberg
13705531b5 Update .github/pull_request_template.md
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com>
2024-08-29 14:47:54 -07:00
Henry Mercer
3490067316 Merge branch 'main' into henrymercer/rc-3.15-mergeback 2024-08-29 19:48:01 +01:00
Henry Mercer
d5bccd5373 Reapply "C#: Add support for flow through side-effects on static fields"
This reverts commit ea6092ad3f.
2024-08-29 19:47:53 +01:00
Cornelius Riemenschneider
092ce01d93 C#: Rename integration test directories.
We are no longer bound to the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.

This is not very invasive for C#, I'm just dropping the `only`
suffix. You could also merge all the platform-specific test dirs,
or all test dirs into the top-level directory. I'll leave that up to you.
2024-08-29 19:06:56 +02:00
Cornelius Riemenschneider
72e2910d17 Merge pull request #17315 from github/criemen/pytest-java
Java: Port all integration tests to pytest
2024-08-29 18:05:52 +02:00
Paolo Tranquilli
590a146b49 Rust: some basic extraction of function names (with locations!) 2024-08-29 17:58:50 +02:00
Cornelius Riemenschneider
5ecc6f9dc8 Merge remote-tracking branch 'origin/main' into criemen/pytest-java 2024-08-29 16:43:46 +02:00
Cornelius Riemenschneider
dd7f757281 Address review. 2024-08-29 16:43:27 +02:00
Michael Nebel
ff31aa540c Address review comments. 2024-08-29 15:54:04 +02:00
Michael Nebel
0df0d8a51f Merge pull request #17236 from michaelnebel/java/viablecallableheuristic
Java: Make more finegrained dataflow dispatch viable callable heuristic.
2024-08-29 10:46:30 +02:00
Joe Farebrother
5494389c4b Update changenote
Co-authored-by: Sid Shankar <sidshank@github.com>
2024-08-29 09:44:23 +01:00
Simon Friis Vindum
e7f059ae55 C++: Tweak the bounded barrier 2024-08-29 10:32:31 +02:00
Michael Nebel
53b2471c9d Java: Update expected test output. 2024-08-29 09:03:46 +02:00
Cornelius Riemenschneider
047a655dec Merge pull request #17324 from github/criemen/move-swift-int-tests
Swift: Move all integration tests.
2024-08-28 21:27:26 +02:00
Simon Friis Vindum
edeefe5bb6 Merge pull request #17298 from paldepind/model-functions-that-dont-throw
C++: Add basic modeling of functions that don't throw
2024-08-28 19:50:31 +02:00
Tom Hvitved
49a4f3a82f Data flow: Reduce non-linear recursion in fwdFlow0 2024-08-28 17:29:23 +02:00
Paolo Tranquilli
f40901f391 Rust: archiving + skeleton def translator 2024-08-28 17:15:49 +02:00
Michael Nebel
fa5d6f12be Java: Update logging test expected output. 2024-08-28 16:16:16 +02:00
Michael Nebel
bd5529cefa Java: Update the Byte- and CharBuffer models and add models for set- and getParameters on LogRecord. 2024-08-28 16:15:09 +02:00
Michael Nebel
395656a1cf Java: Extend the logging test with a test case for parameters. 2024-08-28 16:13:32 +02:00
Cornelius Riemenschneider
123c375d84 Merge pull request #17322 from github/criemen/move-js-int-tests
JS: Move all integration tests.
2024-08-28 16:04:39 +02:00
Jeroen Ketema
40fe39c288 Merge pull request #17311 from jketema/builtins
C++: Add support for more clang builtins
2024-08-28 16:00:08 +02:00
Simon Friis Vindum
d1fecd869b C++: Make StringCchPrintf not extend NonThrowingFunction 2024-08-28 15:40:14 +02:00
Cornelius Riemenschneider
966c3a62dd Merge pull request #17309 from github/criemen/bazel-prerelease
Bazel: switch to a 7.4.0 prerelease.
2024-08-28 15:28:06 +02:00
Jeroen Ketema
2b571cf450 C++: Address review comments 2024-08-28 15:11:42 +02:00
Michael Nebel
e8595e28e9 Update java/ql/lib/semmle/code/java/dataflow/internal/DataFlowDispatch.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-08-28 15:04:38 +02:00
Anders Schack-Mulligen
dd49fc932d Merge pull request #17325 from aschackmull/dataflow/state-in-summary
Dataflow: Include FlowState in SummaryCtx.
2024-08-28 15:03:18 +02:00
Cornelius Riemenschneider
ab56e63f96 Merge branch 'main' into criemen/pytest-java 2024-08-28 14:47:49 +02:00
Michael Nebel
6d346dbedd DataFlow: Bugfix in flow state for value preservation. 2024-08-28 14:40:04 +02:00
Anders Schack-Mulligen
6a9bd0de1d Dataflow: Include FlowState in SummaryCtx. 2024-08-28 14:13:28 +02:00
Jeroen Ketema
026969b6e9 C++: Add change note 2024-08-28 13:08:44 +02:00
Jeroen Ketema
9e861ce717 C++: Add support for more clang builtins 2024-08-28 13:08:42 +02:00
Tom Hvitved
7f8e6bf574 Merge pull request #16970 from hvitved/dataflow/local-big-step-stage
Data flow: Compute local big step relation as stage output
2024-08-28 12:28:16 +02:00
Tom Hvitved
27bc8ed6af Address review comment 2024-08-28 11:38:29 +02:00
Chris Smowton
464b552cad Merge pull request #17321 from github/criemen/move-go-int-tests
Go: Move all integration tests.
2024-08-28 10:30:55 +01:00
Cornelius Riemenschneider
d349ddba57 Merge pull request #17323 from github/criemen/move-ruby-int-tests
Ruby: Move all integration tests.
2024-08-28 11:18:05 +02:00
Simon Friis Vindum
d6049cd98b C++: Add additional implementations of NonThrowingFunction and make minor fixes to docs 2024-08-28 10:54:16 +02:00
Cornelius Riemenschneider
a92a845719 Swift: Move all integration tests.
We are no longer bound to the platform-specific directories,
so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
2024-08-28 10:47:17 +02:00
Cornelius Riemenschneider
3326bc417c Ruby: Move all integration tests.
We no longer need the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR. It's purely optional.
2024-08-28 10:45:05 +02:00
Cornelius Riemenschneider
b7b475d13b JS: Move all integration tests.
We no longer need the platform-specific directories, so simplify the test organization.
If you don't want this change, just skip merging this PR.
It's purely optional.

The PR also deletes a spurious qlpack.yml that I missed when converting the tests to pytest.
2024-08-28 10:43:08 +02:00
Cornelius Riemenschneider
bfc6fee828 Go: Move all integration tests.
We no longer need the platform-specific directories,
so simplify the test organization.
If you want to retain the `linux` directory for two tests,
or not do this at all, just skip merging this PR.
It's purely optional.
2024-08-28 10:37:59 +02:00
Joe Farebrother
a8591c79c5 Update test 2024-08-28 09:11:34 +01:00
Joe Farebrother
f3dea1d647 Add changenote 2024-08-28 09:04:01 +01:00
Tom Hvitved
22e1921391 Merge pull request #17313 from hvitved/dataflow/to-normal-sink-node-ex
Data flow: Move `toNormalSinkNodeEx` into `PathNodeMid`
2024-08-28 09:06:41 +02:00
Henry Mercer
ea1870fbbd Merge pull request #17318 from github/post-release-prep/codeql-cli-2.18.3
Post-release preparation for codeql-cli-2.18.3
2024-08-27 20:34:55 +01:00
Henry Mercer
21a0109ca2 Merge branch 'rc/3.15' into post-release-prep/codeql-cli-2.18.3 2024-08-27 19:53:46 +01:00
github-actions[bot]
3e774476c6 Post-release preparation for codeql-cli-2.18.3 2024-08-27 18:52:31 +00:00
Henry Mercer
f348b6cbf7 Merge pull request #17317 from github/release-prep/2.18.3
Release preparation for version 2.18.3
2024-08-27 18:53:04 +01:00
Henry Mercer
3d8c402b6f C#: Add spaces around em dash in changelog note 2024-08-27 18:51:40 +01:00
github-actions[bot]
0db6379602 Release preparation for version 2.18.3 2024-08-27 17:50:22 +00:00
Henry Mercer
cf1f290b61 Merge pull request #17316 from github/revert-17279-release-prep/2.18.3
Revert "Release preparation for version 2.18.3"
2024-08-27 18:47:55 +01:00
Henry Mercer
0f44cd3f62 Revert "Release preparation for version 2.18.3" 2024-08-27 18:19:25 +01:00
Paolo Tranquilli
2a2b79e6df Rust: skeleton trap file emission code 2024-08-27 17:50:53 +02:00
Paolo Tranquilli
927710017e Rust: add some configuration and logging 2024-08-27 17:07:23 +02:00
Tom Hvitved
b589fcad11 Data flow: Tweak join-order in toNormalSinkNodeEx 2024-08-27 15:42:24 +02:00
Tom Hvitved
80b6135a64 Data flow: Move toNormalSinkNodeEx into PathNodeMid 2024-08-27 15:42:13 +02:00
Joe Farebrother
fc24ca304d Update tests 2024-08-27 14:18:50 +01:00
Joe Farebrother
1cb23e7e86 Exclude certificates from being cinsidered sensitive data by cleartext-storage and cleartext-logging queries 2024-08-27 14:18:39 +01:00
Michael Nebel
15b06907dd Java: Updated expected test output. 2024-08-27 14:48:14 +02:00
Michael Nebel
8f734ad1b2 Java: Tighten the criteria for when we disregard generated models. 2024-08-27 14:48:11 +02:00
Michael Nebel
021fd1450e Java: Add some dispatch examples to the external flow step test. 2024-08-27 14:48:03 +02:00
Michael Nebel
43b52a0921 Java: Add change note. 2024-08-27 13:28:18 +02:00
Michael Nebel
7488cc0811 Java: Updated expected test output. 2024-08-27 13:28:13 +02:00
Michael Nebel
d79aa294ec Java: Move some neutrals into the model.yml file (they have previosly been ignored due to wrong file extension). 2024-08-27 13:28:09 +02:00
Michael Nebel
db51604f46 Java: Promote some generated models and add some manual neutrals. 2024-08-27 13:28:05 +02:00
Michael Nebel
6cb5e13a23 Java: Re-factor tests and update expected test output. 2024-08-27 13:28:00 +02:00
Michael Nebel
68880b2056 Java: Update expected test output. Generated models are no longer applied as there exist a source implementation. 2024-08-27 13:27:55 +02:00
Michael Nebel
fe6693739a Java: Make more finegrained dataflow dispatch viable callable heuristic. 2024-08-27 13:27:52 +02:00
Cornelius Riemenschneider
1c3b9f7031 Delete legacy test utils. 2024-08-27 13:14:24 +02:00
Cornelius Riemenschneider
c69df1a6e3 Port java integration tests to pytest.
Some notes:
* These tests rely on a variety of fixtures
* The previous maven-wrapper checks were checking for the version of maven installed by looking at the checked-in wrapper script. I dropped this behavior.
* I replaced a lot of test queries that queried for a (subset of) source archive files with the source_archive fixture. In particular, tests that excluded properties files from being listed in the expected output now include them.
   It's much faster to generate this list via the fixture instead of using CodeQL for it.
2024-08-27 13:14:23 +02:00
Cornelius Riemenschneider
5fa30c33b8 Remove legacy java files. 2024-08-27 13:14:21 +02:00
Cornelius Riemenschneider
19606b1903 Add *.actual to the gitignore file.
This is also used by the integration tests.
2024-08-27 13:14:20 +02:00
Ian Lynagh
3a864d3de2 Merge pull request #17292 from igfoo/igfoo/open
Kotlin: Remove a redundant 'open'
2024-08-27 12:14:04 +01:00
Ian Lynagh
085bf2f662 Merge pull request #17293 from igfoo/igfoo/dtw
Kotlin: Restrict some TrapWriter types to DiagnosticTrapWriter
2024-08-27 12:13:59 +01:00
Cornelius Riemenschneider
123507e2dc No need to disable the layering check anymore, this was fixed upstream. 2024-08-27 13:00:56 +02:00
Cornelius Riemenschneider
62219fae60 Bazel: switch to a 7.4.0 prerelease. 2024-08-27 12:27:53 +02:00
Henry Mercer
e0013eec1b Merge pull request #17294 from github/codeql-cli-2.18.3
Merge `codeql-cli-2.18.3` back into `rc/3.15`
2024-08-27 10:46:05 +01:00
Michael Nebel
287857c5db Merge pull request #17301 from michaelnebel/shared/contentflowbadjoin
Shared: Fix bad join in content flow.
2024-08-27 10:17:04 +02:00
Paolo Tranquilli
b79be718e1 Merge pull request #17306 from github/redsun82/bazel-lfs
Bazel: fix logging bug in `git_lfs_probe.py`
2024-08-27 09:42:39 +02:00
Anders Schack-Mulligen
b3fa4f3d9e Merge pull request #17289 from aschackmull/dataflow/summaryctx
Dataflow: Simplify using a SummaryCtx type.
2024-08-27 09:32:43 +02:00
Paolo Tranquilli
0738e01e7e Bazel: fix logging bug in git_lfs_probe.py
The case of an `HTTPError` was printed to stdout (and therefore globbed
by bazel).

While I'm at it, I also introduced a timeout to `urlopen` and improved
the `no endpoints found` error message.
2024-08-27 09:12:37 +02:00
Kevin Stubbings
c60f459530 Grammar 2024-08-26 23:57:19 -07:00
Kevin Stubbings
812abea0de change-notes 2024-08-26 22:25:00 -07:00
Kevin Stubbings
0420d25c13 refactor 2024-08-26 22:09:24 -07:00
Kevin Stubbings
1db7865d49 Corrections 2024-08-26 22:06:12 -07:00
Kevin Stubbings
8bf8893307 Add support for vulnerable CORS middlewares 2024-08-26 21:30:48 -07:00
Andrew Eisenberg
d19102c399 Separate into two groups 2024-08-26 14:38:32 -07:00
Michael Nebel
e81fdc951a Merge pull request #17246 from michaelnebel/modelgendebug
C#/Java: Add some model generator summary debugging queries.
2024-08-26 16:13:03 +02:00
Michael Nebel
77bfe39ca7 Shared: Address review comments. 2024-08-26 15:24:56 +02:00
Michael Nebel
4381bae5d1 Shared: Fix bad join. 2024-08-26 15:24:54 +02:00
Anders Schack-Mulligen
d8c8bcd386 Dataflow: Tweak qldoc. 2024-08-26 15:12:37 +02:00
Anders Schack-Mulligen
cbb58d0041 Dataflow: Add a getLocation rootdef. 2024-08-26 15:05:30 +02:00
Michael Nebel
34d83a6b0d C#/Java: Address review comments. 2024-08-26 15:02:27 +02:00
Simon Friis Vindum
d9dbcdba34 C++: Fix imports 2024-08-26 12:42:44 +02:00
Asger F
4e3440aad0 Merge pull request #17275 from asgerf/cpp/taint-test-case-false-negative
C++: Reveal false negative in test case
2024-08-26 12:36:03 +02:00
Asger F
16c2cf24b3 C++: use inline annotation for missing flow 2024-08-26 11:53:31 +02:00
Asger F
592e2eafb6 Merge pull request #17262 from asgerf/shared/implicit-read
Shared: restrict flow after using implicit read
2024-08-26 11:48:50 +02:00
Tom Hvitved
e5d626f907 Data flow: Only recompute local big step in stage 6 2024-08-26 09:58:29 +02:00
Simon Friis Vindum
128053e214 C++: Add basic modeling of functions that don't throw 2024-08-26 09:37:44 +02:00
Tom Hvitved
c92c96fa78 Data flow: Compute local big step relation per stage 2024-08-26 09:15:27 +02:00
Chris Smowton
92910f961a Merge pull request #17296 from smowton/smowton/admin/revert-mad-sink-conversion
Go: Revert problematic conversion from QL-specified sink nodes to models-as-data; add change note for one correct but undocumented fix
2024-08-25 15:10:49 +01:00
Chris Smowton
7cb67a50be Add change note for ioutil fix 2024-08-24 17:49:26 +01:00
Chris Smowton
a832730a11 Revert "Convert squirrel sql-injection sinks to MaD (non-existent methods removed)"
This reverts commit 06f86dd22f.
2024-08-24 17:44:40 +01:00
Chris Smowton
ab88b9b136 Revert "Upgrade and convert gorqlite sql-injection sinks to MaD"
This reverts commit ce0cb12c29.
2024-08-24 17:43:15 +01:00
Chris Smowton
8fc3b00fb9 Revert "Convert gogf/gf sql-injection sinks to MaD"
This reverts commit db559f75b6.
2024-08-24 17:43:12 +01:00
Chris Smowton
e7f788ae35 Revert "Convert sqlx sql-injection sinks to MaD"
This reverts commit 7ad63fc3e6.
2024-08-24 17:43:09 +01:00
Chris Smowton
4e6d7fcb29 Revert "Convert Gorm sql-injection sinks to MaD"
This reverts commit ba310417a8.
2024-08-24 17:43:06 +01:00
Chris Smowton
d8a2c08f12 Revert "Convert Xorm sql-injection sinks to MaD"
This reverts commit 3b2b7d7d1c.
2024-08-24 17:43:03 +01:00
Chris Smowton
59bb142e8b Revert "Convert Bun sql-injection sinks to MaD"
This reverts commit 3eb5b2669b.
2024-08-24 17:43:00 +01:00
Chris Smowton
ec59492866 Revert "Convert Beego orm sql-injection sinks to MaD"
This reverts commit ad213579a1.
2024-08-24 17:42:57 +01:00
Chris Smowton
fa07f16bcc Revert "Convert database/sql sql-injection sinks to MaD"
This reverts commit 501bb3eb56.
2024-08-24 17:42:55 +01:00
Chris Smowton
b3326babba Revert "Convert database/sql/driver sql-injection sinks to MaD"
This reverts commit 652dd88c36.
2024-08-24 17:42:52 +01:00
Chris Smowton
c33568b602 Revert "Convert mongodb nosql-injection sinks to MaD"
This reverts commit ec9d88b364.
2024-08-24 17:42:49 +01:00
Chris Smowton
437df5c2a5 Revert "Convert gocb nosql-injection sinks to MaD"
This reverts commit 2d2afb17ad.
2024-08-24 17:42:45 +01:00
Chris Smowton
a6e3b913d0 Revert "Convert logging sinks to use MaD"
This reverts commit fa472f5e18.
2024-08-24 17:39:24 +01:00
Chris Smowton
686f47af98 Revert "Fix typo in package path"
This reverts commit 6f5a045437.
2024-08-24 17:34:34 +01:00
Paolo Tranquilli
c4c8c9ddc1 Merge pull request #17291 from github/criemen/ripunzip
Make ripunzip installer accessible from outside this repo.
2024-08-23 20:14:44 +02:00
Cornelius Riemenschneider
3ac8108c4a Address review. 2024-08-23 17:26:05 +02:00
Ian Lynagh
6a7d8b5301 Kotlin: Restrict some TrapWriter types to DiagnosticTrapWriter
We never use the greater generality, so this makes it easier to see
what's happening.
2024-08-23 15:41:21 +01:00
Ian Lynagh
7d500cf58c Kotlin: Remove a redundant 'open' 2024-08-23 15:08:10 +01:00
Tom Hvitved
b6f1024114 Merge pull request #17290 from hvitved/csharp/revert-hotfix
Revert "C#: Add support for flow through side-effects on static fields"
2024-08-23 15:00:00 +02:00
Tamás Vajk
d710c1e89d Merge pull request #17287 from tamasvajk/message-count-telemetry
C#: Add aggregated compiler and extractor message counts to extractio…
2024-08-23 14:41:27 +02:00
Cornelius Riemenschneider
d84e745ce9 Make ripunzip installer accessible from outside this repo.
* The relative path to misc doesn't work when running from another repo
* The buildifier dependency is not available from other repos,
  therefore we can't pull in //misc/bazel without further refactoring.

Therefore, inline the runfiles snippet here.
2024-08-23 14:24:51 +02:00
Anders Schack-Mulligen
65189e09f5 Dataflow: Simplify using a SummaryCtx type. 2024-08-23 14:18:46 +02:00
Tom Hvitved
ea6092ad3f Revert "C#: Add support for flow through side-effects on static fields"
This reverts commit 1bcac50db1.
2024-08-23 14:10:56 +02:00
Asger F
8df7fbf6d6 Swift: update test output
The 'first' field is seen as a TaintInheritingContent, which means any read step for 'first' becomes a taint step too.
This type of taint step does not permit an implicit read before it, because it wasn't contributed by a configuration.
So there is no way for the taint to get out of the collection content before the taint step through '.first'.
The test previously passed because an implicit read at once of the earlier sinks could follow use-use flow down to the receiver of .first,
allowing it to escape the collection content.
2024-08-23 11:30:50 +02:00
Asger F
d27b28d371 C++: update test output
This reveals that some tests were passing for the wrong reasons.
See https://github.com/github/codeql/pull/17275
2024-08-23 11:29:24 +02:00
Asger F
9703f67794 Test output updates that only affect nodes/edges 2024-08-23 11:03:26 +02:00
Asger F
6bc8407bd6 Java: Update test output 2024-08-23 11:02:29 +02:00
Asger F
c3b36325b2 Shared: prevent use-use flow through implicit reads (part 1) 2024-08-23 11:02:28 +02:00
Michael Nebel
20d9fd11ac Merge pull request #17288 from michaelnebel/shared/contentflow
Shared: ContentFlow.
2024-08-23 09:52:27 +02:00
Michael Nebel
19c2eb17c4 C#: Remove redundant imports. 2024-08-23 09:04:13 +02:00
Andrew Eisenberg
c1c9ef2c1f Add a pull request template 2024-08-22 12:36:24 -07:00
Chris Smowton
67d94376e8 Merge pull request #17227 from smowton/smowton/fix/baseline-vs-nonroot-vendor-dirs
Go / configure-baseline: account for multiple vendor directories and the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` setting
2024-08-22 15:00:51 +01:00
Michael Nebel
d935c47231 C#: Use the shared content flow implementation. 2024-08-22 15:46:01 +02:00
Michael Nebel
e6424f0f45 Shared: Make ContentDataFlow reusable. 2024-08-22 15:45:58 +02:00
Owen Mansel-Chan
18b99ffecc Merge pull request #17284 from owen-mc/go/fix-frameworks-coverage
Go: Try to fix packages in frameworks coverage
2024-08-22 14:43:52 +01:00
Tamas Vajk
6827bedaa7 C#: Add aggregated compiler and extractor message counts to extraction telemetry query 2024-08-22 15:14:33 +02:00
Tamás Vajk
3dce56b0b1 Merge pull request #17276 from tamasvajk/impr/change-partial-method-location
C#: Change reporting location of partial methods
2024-08-22 15:10:21 +02:00
Michael Nebel
4cd34531c6 Shared: Add a copy of the existing C# Content Dataflow implementation. 2024-08-22 15:07:45 +02:00
Felicity Chapman
28c333a327 Merge pull request #17272 from github/redirect-dataflow-cpp
Add basic redirect for renamed article on dataflow analysis for C/C++
2024-08-22 12:24:36 +01:00
Owen Mansel-Chan
2edadbf423 Try to fix packages in frameworks coverage 2024-08-22 11:44:34 +01:00
Asger F
a1688f6a1a Merge pull request #17240 from knewbury01/knewbury01/fix-helmetrequiredsetting-model
Update JS helmet model structure
2024-08-22 11:59:28 +02:00
Asger F
81239dcd95 Java: add test case 2024-08-22 11:26:05 +02:00
Michael Nebel
bd69b96752 Merge pull request #17273 from michaelnebel/csharp/sqlinject
C#: ASP.NET Controller is allowed to be abstract.
2024-08-22 11:18:48 +02:00
Asger F
43f54db4db Merge pull request #17274 from asgerf/java/implicit-pending-intents-implicit-read
Java: Reveal false negative in test
2024-08-22 11:00:07 +02:00
Tom Hvitved
d41d7c8246 Merge pull request #17207 from hvitved/csharp/content-set
C#: Implement `ContentSet`
2024-08-22 10:55:11 +02:00
Tom Hvitved
a213982b48 Merge pull request #17222 from hvitved/ruby/hash-splat-param-arg-matching
Ruby: Rework (hash) splat argument/parameter matching
2024-08-22 10:54:52 +02:00
Asger F
09aca6b47e Merge pull request #17212 from mbaluda/main
Add support for importing NPM modules in XSJS sources
2024-08-22 10:54:33 +02:00
Anders Schack-Mulligen
d97a301fef Merge pull request #17105 from aschackmull/dataflow/stage6
Dataflow: Refactor stage 6 to use shared stage code.
2024-08-22 09:46:49 +02:00
Tom Hvitved
e94fabcc19 Address review comment 2024-08-22 08:27:15 +02:00
Henry Mercer
55d325148d Merge pull request #17280 from github/post-release-prep/codeql-cli-2.18.3
Post-release preparation for codeql-cli-2.18.3
2024-08-21 21:34:50 +01:00
github-actions[bot]
0724fd7ce2 Post-release preparation for codeql-cli-2.18.3 2024-08-21 18:25:54 +00:00
Henry Mercer
ecb1428198 Merge pull request #17279 from github/release-prep/2.18.3
Release preparation for version 2.18.3
2024-08-21 18:31:17 +01:00
Henry Mercer
c4d37ebec7 C#: Add spaces around em dash in changelog note 2024-08-21 18:17:51 +01:00
github-actions[bot]
17cd9624fb Release preparation for version 2.18.3 2024-08-21 17:13:52 +00:00
Tom Hvitved
cb1b1da422 Ruby: Add another array flow test 2024-08-21 19:06:53 +02:00
Tom Hvitved
b0003c0453 Ruby: Remove two redundant checks 2024-08-21 19:06:29 +02:00
Edward Minnix III
2f3ebfb81f Merge pull request #17205 from egregius313/egregius313/go/dataflow/models/environment
Go: Add models for environment variables
2024-08-21 12:27:33 -04:00
Tamas Vajk
f7bf5e89be Add change note 2024-08-21 15:58:05 +02:00
Ed Minnix
c2fa721966 Fix stub 2024-08-21 09:56:42 -04:00
Ed Minnix
6fdff977e5 Fix test cases 2024-08-21 09:47:46 -04:00
Edward Minnix III
2aa3e1f7a2 Alphabetize models
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-21 09:44:20 -04:00
Edward Minnix III
210ea5be79 Add model from older versions of caarlos0/env
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-21 09:43:58 -04:00
Edward Minnix III
7ae52425ce Update package list in change note 2024-08-21 09:43:24 -04:00
Edward Minnix III
318a376a78 Remove ProcAttr models
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-21 09:43:04 -04:00
Owen Mansel-Chan
113ab755d9 Give clearer example of multiple query predicates in one ql file
The new names aren't great, so feel free to change them, but I think we do need an explicit example of updating two relations using one ql file.
2024-08-21 14:18:11 +01:00
Chris Smowton
15989ce213 Merge pull request #14089 from am0o0/amammad-java-JWT
Java: JWT decoding without verification
2024-08-21 14:14:08 +01:00
Tamas Vajk
7c4733e88f C#: Change reporting location of partial methods 2024-08-21 15:13:14 +02:00
Michael Nebel
7049499e95 C#: Add change-note. 2024-08-21 14:38:55 +02:00
Asger F
3aa32e4aff Java: use MISSING inline annotation 2024-08-21 13:40:40 +02:00
Asger F
f7ea8a1563 Java: trivial result set re-order 2024-08-21 13:37:38 +02:00
Asger F
5751fc2d3a Java: Reveal false negative in test
One of the sinks was flagged for the wrong reason in the test case.

The flow into the 'startActivities' sink isn't working properly, but this was not revealed by the test since an alternate, spurious path exists. The spurious path goes through the implicit read at the prior sink and takes a use-use step to the 'startActivities' sink. Swapping the order of the two sinks reveals the false negative.
2024-08-21 13:36:47 +02:00
Felicity Chapman
771992ca9f Add missing attributes 2024-08-21 12:18:12 +01:00
Michael Nebel
45d4d5138a C#: Update expected test output. 2024-08-21 13:14:12 +02:00
Michael Nebel
79718f1cd6 C#: Remove requirement that a controller is not allowed to be abstract. 2024-08-21 13:00:15 +02:00
Michael Nebel
75772c5832 C#: Add abstract controller remote flow source example. 2024-08-21 13:00:10 +02:00
Michael Nebel
5d14307ea2 C#: Add a SQL injection test case for ASP.NET. 2024-08-21 12:14:30 +02:00
Owen Mansel-Chan
a1a6fe45f1 Merge pull request #17245 from owen-mc/go/update-frameworks
Go: Update frameworks.csv
2024-08-21 10:52:21 +01:00
Felicity Chapman
88cd77e459 Define redirect for renamed article 2024-08-21 10:49:38 +01:00
Tamás Vajk
b91ad04e6a Merge pull request #17257 from tamasvajk/buildless/temp-locations
C#: Change random temp folder names to hash values
2024-08-21 11:39:40 +02:00
Tamás Vajk
b6255571d8 Merge pull request #17253 from tamasvajk/impr/add-retry-logic-to-file-download
C#: Add retry logic to file (nuget.exe, dotnet-install.sh) downloads
2024-08-21 11:39:14 +02:00
Chris Smowton
f13f19d5dc Fix typo 2024-08-21 10:22:42 +01:00
Chris Smowton
2939cefc68 Use platform path separators for file testing, and forward-slashes for reporting to CodeQL 2024-08-21 10:15:44 +01:00
Chris Smowton
c99a84689b Switch test expectations to use unix-style paths 2024-08-21 09:56:08 +01:00
Anders Schack-Mulligen
525b6f30e3 C++/C#/Java: Accept test changes. 2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
5fbdd83a23 Dataflow: Rename StagePathNode to PathNode. 2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
273c0bd121 Dataflow: Delete dead code. 2024-08-21 10:51:28 +02:00
Anders Schack-Mulligen
1787bcb05a Dataflow: Replace PathNode with Stage implementation. 2024-08-21 10:51:24 +02:00
Anders Schack-Mulligen
74739bedfc Dataflow: Add Stage 6 instantiation. 2024-08-21 10:44:46 +02:00
Anders Schack-Mulligen
831a66d812 Dataflow: Add getANonHiddenSuccessor to StagePathNodeImpl. 2024-08-21 10:44:45 +02:00
Anders Schack-Mulligen
e594e7283d Dataflow: Check stateful in/out-barriers in each stage. 2024-08-21 10:44:45 +02:00
Anders Schack-Mulligen
c2b25c7f2b Dataflow: Check clearsContent on store targets in StagePathGraph. 2024-08-21 10:44:44 +02:00
Anders Schack-Mulligen
b8d0b691da Dataflow: Introduce sink projection and add successor as member predicate. 2024-08-21 10:44:44 +02:00
Anders Schack-Mulligen
bc1dd45d4f Dataflow: Make private 2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
9429e5ccba Dataflow: Update StagePathNode.toString. 2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
81a815c343 Dataflow: Add StagePathNode.getState. 2024-08-21 10:44:43 +02:00
Anders Schack-Mulligen
bdcc5e7b67 Dataflow: Refactor getLocation 2024-08-21 10:44:42 +02:00
Anders Schack-Mulligen
bc0ae4cd1e Dataflow: Replace StagePathNode.getNode with getNodeEx. 2024-08-21 10:44:42 +02:00
Anders Schack-Mulligen
9bd3f3dee0 Dataflow: Rename StagePathNode to StagePathNodeImpl. 2024-08-21 10:44:41 +02:00
Simon Friis Vindum
68dfca49f5 Merge pull request #17269 from paldepind/fix-error-in-test
C++: Fix tests and add an actual true negative
2024-08-21 10:21:56 +02:00
Simon Friis Vindum
e4ce003e87 C++: Fix tests and add an actual true negative 2024-08-21 09:44:45 +02:00
Ed Minnix
0eddaa0664 syscall environment variables 2024-08-21 00:36:48 -04:00
Ed Minnix
9f00a0060d gobuffalo/envy 2024-08-21 00:30:36 -04:00
Ed Minnix
cf3b3d75d0 Fix caarlos0 test 2024-08-21 00:29:17 -04:00
Ed Minnix
8a7e378b40 caarlos0/env 2024-08-21 00:06:10 -04:00
Ed Minnix
f0f535b0e4 Fix frontend errors 2024-08-21 00:06:06 -04:00
Ed Minnix
257436a49d Convert test to inline expectation test 2024-08-21 00:06:02 -04:00
Edward Minnix III
47974914a5 Apply suggestions from code review
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-21 00:05:53 -04:00
Ed Minnix
ed36aaa570 Fix some minor issues 2024-08-21 00:03:36 -04:00
Ed Minnix
69679dec1d Add defer statement 2024-08-21 00:03:32 -04:00
Ed Minnix
69f02293f5 Add change note 2024-08-21 00:03:29 -04:00
Ed Minnix
65a6fa7bc3 Go Environment variable (parsing) models and tests 2024-08-21 00:03:18 -04:00
Edward Minnix III
6103749188 Merge pull request #16710 from egregius313/egregius313/go/dataflow/file-sources
Go: Add `file` sources
2024-08-20 23:45:17 -04:00
Owen Mansel-Chan
f0fe3a3388 Merge pull request #17260 from owen-mc/go/mad/convert-sink-5
Go: Allow MaD models for XSS sinks using "html-injection" or "js-injection"
2024-08-20 22:40:44 +01:00
Ed Minnix
b14c58445a Fix formatting 2024-08-20 16:47:19 -04:00
am0o0
b001c24dfc update tests to pass the github actions 2024-08-20 20:57:11 +02:00
Ed Minnix
06f73e76b8 Add additional test cases 2024-08-20 12:44:23 -04:00
Edward Minnix III
e066c52ac6 Update change note
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-20 12:33:38 -04:00
Chris Smowton
fc301206d1 Change note 2024-08-20 17:11:58 +01:00
Chris Smowton
3acab640b2 Add configure-baseline integration test 2024-08-20 17:07:09 +01:00
Chris Smowton
15b5bcc67c Output to stdout, not stderr 2024-08-20 17:01:54 +01:00
Chris Smowton
8b9617cd38 Update bazel build files 2024-08-20 15:56:28 +01:00
Chris Smowton
ea3e5c8a99 Clarify comment 2024-08-20 15:56:27 +01:00
Chris Smowton
f1f6f9b580 Share vendor-dir extraction logic between extractor and configure-baseline script 2024-08-20 15:56:26 +01:00
Chris Smowton
22802fd41f Improve struct naming 2024-08-20 15:56:25 +01:00
Chris Smowton
5d34dbf2c2 Remove unnecessary batch script flag 2024-08-20 15:56:24 +01:00
Chris Smowton
624d2b83c0 Tidy comments 2024-08-20 15:56:23 +01:00
Chris Smowton
21366dd502 Go / configure-baseline: account for multiple vendor directories and the CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS setting
Our existing configure-baseline scripts would give the wrong result if a `vendor` directory wasn't at the root of the repository, or if the `CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS` variable was set to `true` indicating the user wants their vendored code scanned.

Here I replace the shell scripts that implemented the very simplest behaviour with a small Go program.
2024-08-20 15:56:22 +01:00
Tamas Vajk
73674e72e6 Use cancallation token in download stream copying 2024-08-20 16:51:32 +02:00
Tamas Vajk
658326d7f2 Work around some instability on Windows 2024-08-20 16:42:49 +02:00
Felicity Chapman
8b4e060934 Merge pull request #17199 from github/8456-remove-old-references
Remove references to a deprecated data flow library for C/C++
2024-08-20 15:42:13 +01:00
Michael Nebel
6ea01b81bb C#: Add some summary debugging queries. 2024-08-20 16:28:18 +02:00
Michael Nebel
fd311d5143 Java: Add some summary debugging queries. 2024-08-20 16:28:15 +02:00
Tom Hvitved
d15e1b5598 Ruby: Prevent synthetic splat matching for actual splats at same positions 2024-08-20 16:21:59 +02:00
Tom Hvitved
c4b0f81883 Ruby: Prevent positional matching when preceded by a splat 2024-08-20 16:21:58 +02:00
Tom Hvitved
20dc242830 Ruby: Rework hash splat argument/parameter matching 2024-08-20 16:21:57 +02:00
Tom Hvitved
6d4f3bd014 Ruby: Rework splat argument/parameter matching 2024-08-20 16:21:56 +02:00
Owen Mansel-Chan
30f8d6e4ff Allow MaD models for XSS sinks using "html-injection" or "js-injection" 2024-08-20 14:04:23 +01:00
Anders Schack-Mulligen
993bfee096 Merge pull request #17259 from aschackmull/dataflow/remove-srcsink-grouping
Dataflow: Remove src/sink grouping feature
2024-08-20 14:42:33 +02:00
Tamas Vajk
07a5c20309 Fix/add doc comments 2024-08-20 14:35:31 +02:00
Tamas Vajk
a0dc20caef Fix hashed value on Windows 2024-08-20 14:33:33 +02:00
Chris Smowton
f0327732ef Merge pull request #17247 from smowton/smowton/admin/add-spring-component-scan-test
Java: add a test exercising Spring component liveness detection
2024-08-20 12:56:26 +01:00
Tamas Vajk
0037ad406d C#: Adjust buildless source generator folders 2024-08-20 13:43:10 +02:00
Cornelius Riemenschneider
ff242dc6cf Merge pull request #17252 from github/criemen/pytest-java
kotlin: Move integration tests to pytest
2024-08-20 13:17:22 +02:00
Owen Mansel-Chan
38f4f4c724 Merge pull request #17242 from owen-mc/go/mad/convert-sink-4
Go: convert sql-injection and nosql-injection sinks to use models-as-data
2024-08-20 12:01:40 +01:00
Tamas Vajk
79bd81fa12 C#: Adjust buildless package restore folders and tests 2024-08-20 12:12:23 +02:00
Cornelius Riemenschneider
932c07a0f4 Address review. 2024-08-20 11:46:28 +02:00
Anders Schack-Mulligen
e73fc94354 Dataflow: Add change note. 2024-08-20 10:12:01 +02:00
Anders Schack-Mulligen
8470e91c16 Legacy Dataflow: Sync. 2024-08-20 10:07:57 +02:00
Anders Schack-Mulligen
4afdb0927e Dataflow: Remove src/sink grouping feature. 2024-08-20 10:07:36 +02:00
Ed Minnix
0361b5c342 Fix AllocationSizeOverflow expectations 2024-08-19 22:31:29 -04:00
Ed Minnix
bb1cf4f51f Fix tests 2024-08-19 20:14:23 -04:00
Ed Minnix
e3ffbbe3b7 Fix extensible name in io/fs models 2024-08-19 19:02:07 -04:00
Ed Minnix
442026cc9d Fix test results 2024-08-19 17:23:32 -04:00
Ed Minnix
2629e09b67 Add io/ioutil and io/fs models 2024-08-19 17:22:46 -04:00
Ed Minnix
a308bdb75d Modify UnhandledCloseWritableHandle to use post processing 2024-08-19 12:59:34 -04:00
Geoffrey White
4c5c6c6968 Merge pull request #17148 from geoffw0/hardkey
Swift: Additional test cases for swift/hardcoded-key
2024-08-19 17:45:34 +01:00
Ed Minnix
5e8185ac4f Port test to inline expectations test 2024-08-19 12:44:30 -04:00
Ed Minnix
704cd8aee3 Update change note 2024-08-19 12:28:55 -04:00
Edward Minnix III
fc38476e42 Fix models
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-08-19 12:25:55 -04:00
Ed Minnix
f89174a6f3 CI changes (provenance) 2024-08-19 12:25:52 -04:00
Ed Minnix
0f7ad98a23 Change note 2024-08-19 12:25:48 -04:00
Ed Minnix
eb8c785c6b Fix formatting 2024-08-19 12:25:43 -04:00
Ed Minnix
3f640a99d3 Tests for file models 2024-08-19 12:25:37 -04:00
Ed Minnix
383e27c2bd Add file sources 2024-08-19 12:25:27 -04:00
Chris Smowton
80e03c3c51 Improve ql/doc style 2024-08-19 16:25:06 +01:00
Chris Smowton
27522a2781 Remove redundant imports 2024-08-19 16:23:06 +01:00
Tamas Vajk
9d7314febb C#: Change random temp folder names to hash values 2024-08-19 15:56:56 +02:00
Cornelius Riemenschneider
35ff4d69b7 Merge branch 'main' into impr/add-retry-logic-to-file-download 2024-08-19 12:46:29 +02:00
Tamas Vajk
8b6c293b5c C#: Add retry logic to file (nuget.exe, dotnet-install.sh) downloads 2024-08-19 12:19:51 +02:00
Cornelius Riemenschneider
33f87c0c46 Port linux/kotlin tests to pytest. 2024-08-19 11:33:25 +02:00
Cornelius Riemenschneider
ccd90f25ba Port posix/kotlin tests to pytest. 2024-08-19 11:33:24 +02:00
Cornelius Riemenschneider
c2aff1ea97 Port all-platforms/kotlin tests to pytest. 2024-08-19 11:33:23 +02:00
Asger F
3be219c79d Merge pull request #17243 from asgerf/js/post-message-source-client-side
JS: Classify post-message events as client side taint sources
2024-08-19 11:09:26 +02:00
Rasmus Wriedt Larsen
8f7dec07b8 Python: Remove 'response' from default threat-models
I didn't want to put the configuration file in
`semmle/python/frameworks/**/*.model.yml`, so created `ext/` as in other
languages
2024-08-19 10:54:48 +02:00
Rasmus Wriedt Larsen
617ab27c75 Python: Add test showing default active threat-models 2024-08-19 10:54:48 +02:00
Rasmus Wriedt Larsen
766dcc4dd6 ThreatModels: Expose knownThreatModel
Without, it's impossible to write test showing what threat-models are
active by default... unless I provide a hardcoded list in the test
itself, which is not any fun.
2024-08-19 10:54:47 +02:00
Rasmus Wriedt Larsen
5ec8e5dd30 Python: Setup support for threat-models
Naming in other languages:
- `SourceNode` (for QL only modeling)
- `ThreatModelFlowSource` (for active sources from QL or data-extensions)

However, since we use `LocalSourceNode` in Python, and `SourceNode` in
JS (for local source nodes), it seems a bit confusing to follow the same
naming convention as other languages, and instead I came up with new names.
2024-08-19 10:54:47 +02:00
Cornelius Riemenschneider
ed7f3305d9 Move legacy marker only to java tests. 2024-08-19 10:47:15 +02:00
Felicity Chapman
dc0832c3d8 Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst 2024-08-19 09:42:04 +01:00
Geoffrey White
a25d9c7397 Merge pull request #17220 from paldepind/reuse-unbounded-in-tainted-allocation-size
C++: Reuse bounded predicate in TaintedAllocationSize query
2024-08-19 09:37:55 +01:00
Cornelius Riemenschneider
2933a3be9c Merge pull request #17088 from github/criemen/modext-isolation
`crate_universe`: Enable modext isolation.
2024-08-19 10:22:55 +02:00
Cornelius Riemenschneider
675e920667 Fix formatting. 2024-08-19 09:00:08 +02:00
Cornelius Riemenschneider
1faad979ad Address review. 2024-08-19 08:54:56 +02:00
Michael Nebel
ec9f533325 Merge pull request #17248 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-19 08:26:47 +02:00
Simon Friis Vindum
1665badc83 C++: Add change note for cpp/uncontrolled-allocation-size 2024-08-19 08:23:40 +02:00
Simon Friis Vindum
1959e1929e C++: Reuse bounded predicate in TaintedAllocationSize query 2024-08-19 08:23:32 +02:00
github-actions[bot]
9279bebf07 Add changed framework coverage reports 2024-08-19 00:19:04 +00:00
Cornelius Riemenschneider
f9bc97b2a1 crate_universe: Enable modext isolation.
This should allow us to build our python and ruby
code independently - in particular, we can now do shallow
checkouts of one without the other.
Previously, the modext introduced cross-dependency.
This also reduces the amount of work we do in the
crate universe processing for the other language, even
though it's unused.

This does need renaming the module, as otherwise
the generated paths from rules_rust get too long
for Windows :(
2024-08-18 21:00:30 +02:00
Geoffrey White
b001f47c17 Merge pull request #17211 from paldepind/uncontrolled-allocation-size-docs
C++: Update documentation for cpp/uncontrolled-allocation-size to clarify its scope
2024-08-16 16:36:22 +01:00
Chris Smowton
9c0bdbb20a Java: add a test exercising Spring component liveness detection
The existing Spring stubs are expanded sufficiently to support the needed annotations and a few referenced classes and exceptions.
2024-08-16 16:36:08 +01:00
Geoffrey White
e3b9b0a9bd Merge pull request #17210 from geoffw0/mailto
Swift: Fix false positives in the swift/cleartext-transmission query
2024-08-16 16:23:09 +01:00
Geoffrey White
0e766aa99b C++: Remove redundant lines. 2024-08-16 15:56:30 +01:00
am0o0
f4764378c9 update tests to contain the new source, delete query with local sources 2024-08-16 16:15:46 +02:00
Simon Friis Vindum
5504799d44 Merge branch 'main' into uncontrolled-allocation-size-docs 2024-08-16 16:15:14 +02:00
am0o0
d88b310b0e add getCredentials method of AuthenticationToken as a remote source 2024-08-16 15:41:19 +02:00
Anders Schack-Mulligen
3a9610795b Merge pull request #16808 from JLLeitschuh/patch-8
Align Java CommandInjectionRuntimeExec.ql Severity
2024-08-16 15:14:48 +02:00
Asger F
7a7ab457a9 JS: Delete unneeded test code (and shift line numbers) 2024-08-16 14:38:54 +02:00
Asger F
9ee7599aeb JS: Move AngularJSTemplateUrlSink to ClientSideUrlRedirection query
This is not perfect but at least we can be consistent about keeping URLs-that-lead-to-xss in the same query
2024-08-16 14:37:13 +02:00
Geoffrey White
0088ece3ea Revert "Swift: Fix two of the qhelps by slightly modifying the sample code instead."
This reverts commit 2d19d6f61e.
2024-08-16 13:24:03 +01:00
Asger F
699d3a0a0a JS: Update a RegExp injection test
RegExpInjection does not use client-side sources, but one of its tests was using postMessage events
as the taint source. Updating the test to use a different taint source.
2024-08-16 14:20:34 +02:00
Geoffrey White
2d19d6f61e Swift: Fix two of the qhelps by slightly modifying the sample code instead. 2024-08-16 12:57:32 +01:00
Simon Friis Vindum
07800ea7ef Merge branch 'main' into uncontrolled-allocation-size-docs 2024-08-16 13:10:08 +02:00
Simon Friis Vindum
5548304432 C++: Grammar improvements to query help text 2024-08-16 13:08:34 +02:00
Owen Mansel-Chan
2d2afb17ad Convert gocb nosql-injection sinks to MaD 2024-08-16 11:19:15 +01:00
Owen Mansel-Chan
ec9d88b364 Convert mongodb nosql-injection sinks to MaD 2024-08-16 11:19:13 +01:00
Owen Mansel-Chan
86e9f15929 Accept MaD sinks with kind nosql-injection 2024-08-16 11:19:12 +01:00
Owen Mansel-Chan
ced000ae46 Add Argument.getACorrespondingSyntacticArgument 2024-08-16 11:19:09 +01:00
Owen Mansel-Chan
652dd88c36 Convert database/sql/driver sql-injection sinks to MaD 2024-08-16 11:19:06 +01:00
Owen Mansel-Chan
c7859ecebf Improve SQL tests
Separate the tests for Squirrel and database/sql. Add tests for
database/sql/driver.
2024-08-16 11:19:04 +01:00
Owen Mansel-Chan
501bb3eb56 Convert database/sql sql-injection sinks to MaD 2024-08-16 11:19:03 +01:00
Owen Mansel-Chan
ad213579a1 Convert Beego orm sql-injection sinks to MaD 2024-08-16 11:19:01 +01:00
Owen Mansel-Chan
e1bdc7f5a7 Update Beego orm tests 2024-08-16 11:19:00 +01:00
Owen Mansel-Chan
3eb5b2669b Convert Bun sql-injection sinks to MaD 2024-08-16 11:18:58 +01:00
Owen Mansel-Chan
3b2b7d7d1c Convert Xorm sql-injection sinks to MaD 2024-08-16 11:18:57 +01:00
Owen Mansel-Chan
ba310417a8 Convert Gorm sql-injection sinks to MaD 2024-08-16 11:18:55 +01:00
Owen Mansel-Chan
7ad63fc3e6 Convert sqlx sql-injection sinks to MaD 2024-08-16 11:18:54 +01:00
Owen Mansel-Chan
db559f75b6 Convert gogf/gf sql-injection sinks to MaD 2024-08-16 11:18:52 +01:00
Owen Mansel-Chan
ce0cb12c29 Upgrade and convert gorqlite sql-injection sinks to MaD 2024-08-16 11:18:51 +01:00
Owen Mansel-Chan
06f86dd22f Convert squirrel sql-injection sinks to MaD (non-existent methods removed)
Various non-existent methods were modeled, and I couldn't find any
evidence that they used to exist. They aren't in the stubs or tests. I
have removed them.
2024-08-16 11:18:49 +01:00
Owen Mansel-Chan
0acb29d3dd Update frameworks.csv 2024-08-16 11:15:13 +01:00
Chris Smowton
f7d8c210e5 Merge pull request #17239 from smowton/smowton/admin/camel-test
Java: add test for Apache Camel dead-code analysis
2024-08-16 11:00:30 +01:00
Geoffrey White
0126fbcb8f Swift: Clear the language for Swift code snippets that are rendering incorrectly. 2024-08-16 10:56:46 +01:00
Rasmus Wriedt Larsen
d6af999c2d Merge pull request #17234 from github/felicitymay-patch-1
Update CookieInjection.ql to remove period from @name
2024-08-16 11:26:16 +02:00
Asger F
467256d465 JS: Add change note 2024-08-16 11:06:59 +02:00
Asger F
2d264052b3 JS: Treat browser message events as client-side sources 2024-08-16 11:02:12 +02:00
Rasmus Wriedt Larsen
25fc5f3803 Merge pull request #17209 from RasmusWL/threat-models-stdin
ThreatModels: Add `stdin` kind
2024-08-16 11:01:33 +02:00
Paolo Tranquilli
0e3c867cb9 Toy rust program listing definitions of a cargo project 2024-08-16 10:37:49 +02:00
Rasmus Wriedt Larsen
c3d8efc43d Merge branch 'main' into stdin3 2024-08-16 09:54:45 +02:00
Asger F
7dcdad066f Update javascript/ql/lib/semmle/javascript/frameworks/helmet/Helmet.qll 2024-08-16 09:44:53 +02:00
Anders Schack-Mulligen
ae013ba01a Merge pull request #17235 from aschackmull/dataflow/fix-missing-subpaths
Dataflow: Fix missing subpaths due to type strengthening.
2024-08-16 08:41:35 +02:00
Anders Schack-Mulligen
51c43a7440 Java: Accept expected changes. 2024-08-16 07:01:35 +02:00
Kristen Newbury
81787a159e Add QL docs to helmet model 2024-08-15 16:32:37 -04:00
Kristen Newbury
e84dda4fa6 Update JS helmet model structure 2024-08-15 16:08:48 -04:00
Anders Schack-Mulligen
86708c9ff8 Dataflow: Fix missing subpaths due to type strengthening. 2024-08-15 18:57:10 +02:00
Chris Smowton
0b56bf98f3 Java: add test for Apache Camel dead-code analysis
This exercises code that detects Camel entry-points and marks them as live.
2024-08-15 17:26:38 +01:00
Tom Hvitved
fb7b89f309 Merge pull request #17237 from aschackmull/java/fix-merge-conflict
Java: Fix expected files following semantic merge conflict.
2024-08-15 17:25:03 +02:00
Rasmus Wriedt Larsen
7a446231b6 C#: Accept benign test changes 2024-08-15 16:20:00 +02:00
Anders Schack-Mulligen
e77c3dfda1 Java: Fix expected files following https://github.com/github/codeql/pull/17233 and https://github.com/github/codeql/pull/17224. 2024-08-15 15:45:37 +02:00
Rasmus Wriedt Larsen
78770bcd1b Docs: Mention new stdin threat-model 2024-08-15 15:45:21 +02:00
Rasmus Wriedt Larsen
1e7eae58f4 Java: Add change-note 2024-08-15 15:45:20 +02:00
Rasmus Wriedt Larsen
ebafe65ac2 C#: Fixup test expectations from using stdin 2024-08-15 15:45:20 +02:00
Rasmus Wriedt Larsen
43b61dd2aa C#: Support stdin in LocalFlowSource 2024-08-15 15:45:20 +02:00
Rasmus Wriedt Larsen
fee38b3781 Java: Fixup test 2024-08-15 15:37:35 +02:00
Rasmus Wriedt Larsen
1e12c11adc Java: Model System.in as stdin threat-model 2024-08-15 15:37:35 +02:00
Rasmus Wriedt Larsen
7395223410 C#: Model System.Console reads as stdin threat-model 2024-08-15 15:36:28 +02:00
Rasmus Wriedt Larsen
157d0b7f37 ThreatModels: Add stdin kind
None of the current local subgroups precisely captures stdin, so
although it's much like both commandargs and file, a separate kind seems
better.
2024-08-15 15:36:28 +02:00
Anders Schack-Mulligen
7d61d9282c Merge pull request #17233 from aschackmull/dataflow/match-summarylabel
Dataflow: Fix missing join on summaryLabel.
2024-08-15 14:55:38 +02:00
Felicity Chapman
fcb2b5730f Update CookieInjection.ql to remove period 2024-08-15 13:17:13 +01:00
Anders Schack-Mulligen
6f23e8dcf3 Merge pull request #17224 from aschackmull/java/inlineflow-pathgraph
Java: Add PathGraph to test output for default inline flow tests.
2024-08-15 13:35:24 +02:00
Anders Schack-Mulligen
a85f8a2fbd Java/C#: Accept expected changes. 2024-08-15 13:24:31 +02:00
Paolo Tranquilli
f0de9f9276 Merge pull request #17232 from github/redsun82/kotlin
Kotlin: fix wrapper on windows and use `os.execv` on POSIX
2024-08-15 12:50:46 +02:00
Chris Smowton
3450e509fe Merge pull request #17228 from smowton/smowton/admin/missing-change-notes
Java: add change notes for three recent buildless fixes
2024-08-15 10:56:22 +01:00
Anders Schack-Mulligen
2c591f5420 Dataflow: Fix missing join on summaryLabel. 2024-08-15 11:05:08 +02:00
Michael Nebel
4b3cc5bd0e Merge pull request #17219 from michaelnebel/shared/neutralsourcesink
C#/Java: Fix source- and sink callable provenance overlap.
2024-08-15 11:02:18 +02:00
Anders Schack-Mulligen
fb1dfd4217 Java: Accept test changes. 2024-08-15 10:32:12 +02:00
Paolo Tranquilli
beba032ba5 Kotlin: fix wrapper on windows 2024-08-15 10:31:32 +02:00
Anders Schack-Mulligen
3cdc8d5eca Java: Add PathGraph to test output for default inline flow tests. 2024-08-15 10:17:31 +02:00
Michael Nebel
b16dc20bbd Merge pull request #17230 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-15 09:31:16 +02:00
github-actions[bot]
4c0f31d77b Add changed framework coverage reports 2024-08-15 00:18:12 +00:00
Chris Smowton
b4a42de7f4 Java: add change notes for three recent buildless fixes 2024-08-14 18:34:25 +01:00
Anders Schack-Mulligen
c1d03acd45 Merge pull request #17221 from aschackmull/dataflow/qltest-missing-subpath
Dataflow: Add test highlighting missing subpath.
2024-08-14 15:46:32 +02:00
Michael Nebel
27e9cb5384 Merge pull request #16872 from michaelnebel/csharp/updatedotnetmodels
C#: Update .NET 8 Runtime models.
2024-08-14 15:42:02 +02:00
Anders Schack-Mulligen
79dec723b0 Dataflow: Add test highlighting missing subpath. 2024-08-14 13:30:13 +02:00
Michael Nebel
c8d301ed43 C#: Add change note. 2024-08-14 13:13:29 +02:00
Michael Nebel
d5f8adbfee C#: Update test expected output. 2024-08-14 13:13:27 +02:00
Owen Mansel-Chan
0c525972a2 Merge pull request #17193 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-14 11:06:15 +01:00
Geoffrey White
7430fde8c6 C++: Avoid outputting a cartesian product in AliasedSSA's getOverlap. 2024-08-14 10:53:25 +01:00
Michael Nebel
4b0427c732 C#: Update .NET 8 runtime models. 2024-08-14 11:24:54 +02:00
Michael Nebel
35ec9db23a C#: Add some manual source neutrals. 2024-08-14 11:24:50 +02:00
Michael Nebel
094c98db5e C#: Update .NET 8 Runtime models. 2024-08-14 11:24:46 +02:00
Michael Nebel
3425efe421 Merge pull request #17208 from michaelnebel/csharp/prettyprintmodels
C#: Pretty print models in tests.
2024-08-14 11:23:01 +02:00
Owen Mansel-Chan
005ffd4f64 Merge branch 'main' into workflow/coverage/update 2024-08-14 09:45:17 +01:00
Tamás Vajk
4e02e34fd5 Merge pull request #17214 from tamasvajk/fix/message-limit
C#: Minor adjustment to limiting the number of extractor messages
2024-08-14 10:05:27 +02:00
Michael Nebel
eaf4f5eeab C#/Java: Update model generation expected output. 2024-08-14 09:57:49 +02:00
Michael Nebel
f0817dc07c C#/Java: Use a parameterized module for making the source and sink callable classes. 2024-08-14 09:50:38 +02:00
Michael Nebel
046018fa25 Java: Add example of missing sink generation. 2024-08-14 09:50:34 +02:00
Michael Nebel
6f79480b40 C#: Add example of missing sink generation. 2024-08-14 09:50:13 +02:00
Tom Hvitved
89a2381165 C#: Adopt shared SSA data-flow integration 2024-08-14 08:39:17 +02:00
github-actions[bot]
86ab941acd Add changed framework coverage reports 2024-08-14 00:18:29 +00:00
Tamas Vajk
5f74ead99b C#: Store extractor message in DB for limit reached 2024-08-13 17:24:43 +02:00
Simon Friis Vindum
5e8ac5ef0d C++: Update documentation for cpp/uncontrolled-allocation-size to clarify its scope 2024-08-13 16:27:04 +02:00
Tamas Vajk
05500568c9 C#: Minor adjustment to limiting the number of extractor messages 2024-08-13 16:22:19 +02:00
Michael Nebel
c5343fb829 C#: Make language specific ShowProvenance module and update tests. 2024-08-13 16:10:11 +02:00
Michael Nebel
97f9340a0a C#: Update security related tests and expected output to pretty print MaD. 2024-08-13 16:10:04 +02:00
Michael Nebel
ddbca5aee9 C#: Add PrettyPrintModel post process query and migrate existing test case. 2024-08-13 16:09:59 +02:00
Tom Hvitved
d638b5c7d4 Sync shared file 2024-08-13 15:27:38 +02:00
Tom Hvitved
f6ec56a977 C#: Implement ContentSet 2024-08-13 15:27:36 +02:00
Anders Schack-Mulligen
a782952969 Merge pull request #17202 from aschackmull/dataflow/stagepathgraph-strengthen
Dataflow: bugfix add missing typeStrengthen in StagePathGraph throughflow.
2024-08-13 14:59:47 +02:00
Mauro Baluda
be0a60a7f6 Add support for importing NPM modules in XSJS sources 2024-08-13 14:45:03 +02:00
Tom Hvitved
3395dc9e71 Merge pull request #16576 from hvitved/csharp/static-field-side-effect
C#: Add support for flow through side-effects on static fields
2024-08-13 14:16:28 +02:00
Tom Hvitved
aeabee3e34 Merge pull request #17179 from hvitved/shared/pretty-print-models
Go/Java: Share more `PrettyPrintModels.ql` logic
2024-08-13 14:15:40 +02:00
Tom Hvitved
51077ce2e7 Merge pull request #17173 from hvitved/shared/inline-flow-provenance
Shared: Apply `ShowProvenance` in `InlineFlowTest.qll`
2024-08-13 14:15:08 +02:00
Tom Hvitved
69b581cc4d C#: Update expected test output 2024-08-13 13:34:47 +02:00
Tom Hvitved
c9aaba677d Ruby: Update expected test output 2024-08-13 13:34:46 +02:00
Tom Hvitved
0fcfb47423 Sync shared files 2024-08-13 13:34:45 +02:00
Tom Hvitved
f83df76928 Shared: Apply ShowProvenance in InlineFlowTest.qll 2024-08-13 13:34:43 +02:00
Tom Hvitved
d5a0df3f87 Go/Java: Share more PrettyPrintModels.ql logic 2024-08-13 12:48:22 +02:00
Geoffrey White
8646643f0e Swift: Change note. 2024-08-13 11:23:41 +01:00
Geoffrey White
446c992181 Swift: Exclude tel:, mailto: and similar URLs from the query. 2024-08-13 11:23:40 +01:00
Geoffrey White
897bfb5517 Swift: Convert URL sinks for swift/cleartext-transmission to be defined in QL. 2024-08-13 11:23:39 +01:00
Tom Hvitved
fbcb4498fe Merge pull request #16817 from hvitved/csharp/multi-body-dataflow-dispatch
C#: Restrict multi-body dataflow dispatch based on file-system distance
2024-08-13 12:15:22 +02:00
Rasmus Wriedt Larsen
6dd52e45e4 Merge pull request #17154 from RasmusWL/poetry-update
Python: Upgrade lockfile for extractor tests
2024-08-13 11:54:15 +02:00
Geoffrey White
345e1840f2 Swift: Add more test cases for swift/cleartext-transmission. 2024-08-13 09:28:23 +01:00
Owen Mansel-Chan
0dfdee775b Merge pull request #17177 from owen-mc/go/mad/convert-sink-3
Go: convert regex-use, url-redirection sinks to use models-as-data
2024-08-12 16:21:48 +01:00
Joe Farebrother
c98110306b Merge pull request #16807 from JLLeitschuh/patch-7
Align Ruby NonConstantKernelOpen.ql Severity
2024-08-12 16:07:29 +01:00
Owen Mansel-Chan
6b6e773ce1 Merge pull request #17196 from owen-mc/go/tidy-up-test-go-mod-2
Go: Remove unneeded dependency from test go.mod
2024-08-12 15:48:05 +01:00
Owen Mansel-Chan
e6873cfb2e Merge pull request #17195 from owen-mc/go/tidy-up-test-go-mod
Go: Remove unneeded dependencies from test go.mod
2024-08-12 15:45:32 +01:00
Tamás Vajk
8bc9e497eb Merge pull request #17200 from tamasvajk/fix/logging
C#: Fix logging in assets file parsing
2024-08-12 16:18:31 +02:00
Joe Farebrother
d08713f66c Merge branch 'main' into patch-7 2024-08-12 15:12:33 +01:00
Anders Schack-Mulligen
75aa439132 Merge pull request #17201 from aschackmull/dataflow/pathgraphsig1
Dataflow: Reduce duplication, define PathGraphSig only once.
2024-08-12 16:10:07 +02:00
Anders Schack-Mulligen
757fdf567d Dataflow: bugfix add missing typeStrengthen in StagePathGraph throughflow. 2024-08-12 15:53:58 +02:00
Tamas Vajk
bfaafcf88c Address review findings 2024-08-12 15:49:09 +02:00
Anders Schack-Mulligen
3d5d270dfb Dataflow: Reduce duplication, define PathGraphSig only once. 2024-08-12 15:22:17 +02:00
Tamas Vajk
089999dd3c C#: Fix logging in assets file parsing 2024-08-12 14:06:28 +02:00
Michael Nebel
4a5c9f0ec4 Merge pull request #17007 from michaelnebel/shared/neutralimplementation
C#/Java/Go: Neutrals are split into separate classes.
2024-08-12 13:58:12 +02:00
Anders Schack-Mulligen
3c6459e65a Merge pull request #17029 from aschackmull/dataflow/stagepathgraph-provenance
Dataflow: Add provenance to StagePathGraph.
2024-08-12 13:30:03 +02:00
Anders Schack-Mulligen
f28f42bcba Merge pull request #17049 from aschackmull/dataflow/bugfix-flowfeature-sinkctx
Dataflow: Fix bug causing spurious flow for FeatureHasSinkCallContext
2024-08-12 13:29:42 +02:00
Tamás Vajk
c514d36d90 Merge pull request #17197 from tamasvajk/fix/missing-xmldoc
C#: Exclude `System.Runtime.CompilerServices` attributes from XML doc…
2024-08-12 13:12:46 +02:00
Tamás Vajk
5248c8e3a2 Merge pull request #17198 from tamasvajk/remove-unstable-telemetry
C#: Remove timing values from extractor telemetry query
2024-08-12 13:10:45 +02:00
Felicity Chapman
f0bc55e8d7 Update references and remove unwanted reusable 2024-08-12 12:08:44 +01:00
Felicity Chapman
36e32f43ef Rename new article 2024-08-12 12:08:03 +01:00
Felicity Chapman
5b5d8fe04d Remove legacy article 2024-08-12 12:07:24 +01:00
Felicity Chapman
ae51668147 Update info on data flow new/legacylibrary 2024-08-12 11:54:11 +01:00
Tamas Vajk
fa3b65fc4e C#: Remove timing values from extractor telemetry query 2024-08-12 11:59:53 +02:00
Tamas Vajk
63d07a933a C#: Exclude System.Runtime.CompilerServices attributes from XML documentation needed check 2024-08-12 11:48:57 +02:00
Owen Mansel-Chan
600c84505f Remove unneeded dependency from test go.mod 2024-08-12 10:15:36 +01:00
Owen Mansel-Chan
30dc2289a3 Remove unneeded dependencies from test go.mod 2024-08-12 10:14:09 +01:00
Tom Hvitved
1bcac50db1 C#: Add support for flow through side-effects on static fields 2024-08-12 10:01:51 +02:00
Tom Hvitved
29c204bc61 C#: Add a data flow test for side effects on static fields 2024-08-12 10:01:48 +02:00
Owen Mansel-Chan
1df81dbfb6 Use regex-use[receiver] instead of regex-use[-1] 2024-08-11 00:37:25 +01:00
Owen Mansel-Chan
2fe74a8554 Update model validation 2024-08-11 00:29:58 +01:00
Owen Mansel-Chan
49f3959405 Convert url-redirection sinks to MaD 2024-08-11 00:29:53 +01:00
Owen Mansel-Chan
3a285f500e Convert regex-use sinks to use MaD 2024-08-11 00:21:31 +01:00
Owen Mansel-Chan
a5a999f7d6 Merge pull request #17162 from owen-mc/go/mad/convert-sink-2
Go: Convert log-injection, path-injection and command-injection sinks to use models-as-data
2024-08-11 00:20:42 +01:00
Owen Mansel-Chan
f851f2120f Merge pull request #17186 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-10 12:55:44 +01:00
github-actions[bot]
8b51f9865d Add changed framework coverage reports 2024-08-10 00:18:17 +00:00
Cornelius Riemenschneider
974868cf9c Merge pull request #17178 from github/criemen/pytest-swift
Port Swift integration tests to pytest.
2024-08-09 20:06:20 +02:00
Cornelius Riemenschneider
0b60bfecd1 Merge branch 'main' into criemen/pytest-swift 2024-08-09 18:16:46 +02:00
Cornelius Riemenschneider
d82f66cc63 Merge pull request #17149 from github/criemen/pytest-go
Port the go integration tests to pytest framework
2024-08-09 18:13:46 +02:00
Chris Smowton
d97f6572c2 Merge pull request #17189 from smowton/smowton/admin/executable-war-fetch-test
Java: Add test for buildless fetching an executable war file
2024-08-09 16:10:12 +01:00
Owen Mansel-Chan
6f5a045437 Fix typo in package path
Co-authored-by: Edward Minnix III <egregius313@github.com>
2024-08-09 14:27:58 +01:00
Chris Smowton
00efebe8b0 Add test for buildless fetching an executable war file 2024-08-09 12:32:43 +01:00
Cornelius Riemenschneider
1689e60445 Merge remote-tracking branch 'origin/main' into criemen/pytest-swift 2024-08-09 11:22:41 +02:00
Cornelius Riemenschneider
cdf067703b Merge remote-tracking branch 'origin/main' into criemen/pytest-go 2024-08-09 09:59:29 +02:00
Cornelius Riemenschneider
ae96111848 Revert "Simplify test."
This reverts commit 2310bd94a4.
2024-08-09 09:48:38 +02:00
Chris Smowton
4de0d10dce Merge pull request #17111 from smowton/smowton/admin/gradle-classifier-test
Java: Add test for Gradle fetching a jar with a classifier
2024-08-08 17:50:50 +01:00
Michael B. Gale
267ee3dce9 Merge pull request #17168 from github/dependabot/go_modules/go/extractor/extractor-dependencies-d889f6e8ba 2024-08-08 17:16:23 +01:00
Owen Mansel-Chan
32958e9625 Pretty print models in stored command test 2024-08-08 17:06:06 +01:00
Owen Mansel-Chan
d066faf212 Update test expectatations 2024-08-08 17:06:01 +01:00
Owen Mansel-Chan
5ef37c4501 Converting command-injection sinks to use MaD 2024-08-08 17:03:57 +01:00
Owen Mansel-Chan
8536e7eb02 Convert path-injection sinks to use MaD 2024-08-08 17:03:53 +01:00
Owen Mansel-Chan
fa472f5e18 Convert logging sinks to use MaD 2024-08-08 17:01:49 +01:00
Owen Mansel-Chan
d240951da0 Merge pull request #17157 from owen-mc/go/mad/change-provenance-for-package-grouping
Go: Change provenance for MaD models that use package grouping
2024-08-08 16:57:31 +01:00
Alexander Eyers-Taylor
ffd811a55d Merge pull request #17182 from github/post-release-prep/codeql-cli-2.18.2
Post-release preparation for codeql-cli-2.18.2
2024-08-08 16:28:03 +01:00
Chris Smowton
84f3b7322e Add test for Gradle fetching a jar with a classifier 2024-08-08 15:49:11 +01:00
Michael B. Gale
2109bba928 Go: Bump Go version in ExternalValueFlow test 2024-08-08 15:34:47 +01:00
Cornelius Riemenschneider
9ce8018093 Autobuilder test/unsupported os: Promote to Windows and Linux test.
This way, we have at least one Windows test, which makes our internal testing easier.
2024-08-08 15:41:48 +02:00
Owen Mansel-Chan
c0a69f197d Merge pull request #17180 from owen-mc/go/update-framework-csv
Go: Fix mistake in frameworks.csv
2024-08-08 14:25:56 +01:00
github-actions[bot]
cc6d87c276 Post-release preparation for codeql-cli-2.18.2 2024-08-08 12:56:21 +00:00
Cornelius Riemenschneider
448da89519 Merge remote-tracking branch 'origin/main' into criemen/pytest-go 2024-08-08 13:52:22 +02:00
Cornelius Riemenschneider
2310bd94a4 Simplify test. 2024-08-08 13:51:38 +02:00
Owen Mansel-Chan
55de3511b0 Fix frameworks.csv 2024-08-08 10:31:00 +01:00
Paolo Tranquilli
875d1d3be4 Merge pull request #17172 from github/redsun82/bazel-lfs
Bazel: make `git_lfs_probe.py` try all available endpoints
2024-08-08 11:06:19 +02:00
Cornelius Riemenschneider
081b8759d4 Merge remote-tracking branch 'origin/main' into criemen/pytest-swift 2024-08-08 10:33:05 +02:00
Cornelius Riemenschneider
de40dfdc17 Merge pull request #17167 from github/criemen/pytest-csharp
Port C# tests to pytest.
2024-08-08 10:32:30 +02:00
Cornelius Riemenschneider
2b0ff17884 Fix test expectations. 2024-08-08 10:28:42 +02:00
Erik Krogh Kristensen
41506fbfef Merge pull request #14666 from am0o0/amammad-js-hardcodedJWTKey
JS: Extends CredentialsNode class mostly related to JWT authentication packages
2024-08-08 10:20:45 +02:00
Cornelius Riemenschneider
718d46ed2f Merge remote-tracking branch 'origin/main' into criemen/pytest-csharp 2024-08-08 09:27:19 +02:00
Cornelius Riemenschneider
e5261f8bfc Port Swift integration tests to pytest. 2024-08-08 08:47:49 +02:00
Erik Krogh Kristensen
2d3d46e0e2 Merge pull request #17166 from erik-krogh/arbitarySpecifiers
JS: Parse arbitary module specifiers
2024-08-08 08:29:13 +02:00
dependabot[bot]
c1e242ecda 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.23.0 to 0.24.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 03:50:32 +00:00
Tamás Vajk
ef21ee53a5 Merge pull request #17169 from tamasvajk/buildless/db-quality-query
C#: Add diagnostic query indicating low database quality
2024-08-07 21:36:37 +02:00
Paolo Tranquilli
e451f2b343 Bazel: fix typo 2024-08-07 20:54:40 +02:00
am0o0
b64cb4da09 remove a part of code related to debugging :) 2024-08-07 20:37:20 +02:00
Cornelius Riemenschneider
16e19a6b04 Port missing test. 2024-08-07 18:43:41 +02:00
Cornelius Riemenschneider
a38b6abdbe Merge branch 'main' into criemen/pytest-csharp 2024-08-07 18:34:46 +02:00
Paolo Tranquilli
58088b62df Bazel: make git_lfs_probe.py a bit more backward compatible 2024-08-07 16:46:31 +02:00
Alexander Eyers-Taylor
a1b3ea53f6 Merge pull request #17176 from github/release-prep/2.18.2
Release preparation for version 2.18.2
2024-08-07 15:11:31 +01:00
github-actions[bot]
019da8c287 Release preparation for version 2.18.2 2024-08-07 14:02:38 +00:00
Alexander Eyers-Taylor
eea9df894a Merge pull request #17174 from github/revert-17159-release-prep/2.18.2
Revert "Release preparation for version 2.18.2"
2024-08-07 15:00:23 +01:00
Tamas Vajk
0263cc1609 Improve code quality 2024-08-07 15:27:14 +02:00
Alexander Eyers-Taylor
46577b585e Revert "Release preparation for version 2.18.2" 2024-08-07 14:24:37 +01:00
Alexander Eyers-Taylor
26444cb0cd Merge pull request #17165 from github/dbartol/csharp-test-hotfix
C#: Update expected test output
2024-08-07 14:23:08 +01:00
Cornelius Riemenschneider
67331fb810 Accept test output changes.
These test expectations change, as the test is now
run in a temp directory that's not located in our checkout.
Previously, `dotnet build` was picking up files from the repository,
like the editor config and the sourcelink (which requires a git repository
in a parent directory).
2024-08-07 12:53:06 +02:00
Cornelius Riemenschneider
59922e5c46 Port C# tests to pytest. 2024-08-07 12:53:05 +02:00
Tom Hvitved
d9ff4ef567 Merge pull request #17155 from hvitved/java/array-ref-bad-join
Java: Fix bad join
2024-08-07 12:39:40 +02:00
Paolo Tranquilli
c576a116f5 Bazel: make git_lfs_probe.py try all available endpoints 2024-08-07 12:38:43 +02:00
Owen Mansel-Chan
40282daeb5 Merge pull request #17152 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-07 11:04:02 +01:00
Paolo Tranquilli
b63bd2ad14 Bazel: format git_lfs_probe.py 2024-08-07 11:57:35 +02:00
Owen Mansel-Chan
5fe3d17a26 Merge branch 'main' into workflow/coverage/update 2024-08-07 10:52:55 +01:00
Tamás Vajk
42be9e98c8 Merge pull request #16938 from tamasvajk/feature/extract-files-multiple
C#: Do not skip extraction of already seen source files
2024-08-07 11:23:48 +02:00
Tamas Vajk
2a2b371244 Add change note 2024-08-07 11:15:10 +02:00
Tamas Vajk
7388c6db24 Downgrade buildless TSP warnings to notes 2024-08-07 11:14:16 +02:00
Tamas Vajk
139e09d5d3 C#: Add diagnostic query indicating low database quality 2024-08-07 10:49:12 +02:00
erik-krogh
bef4fe627d make sure the new identifiers have end-locations 2024-08-07 10:25:22 +02:00
Joe Farebrother
62c2fe6b17 Merge pull request #16933 from joefarebrother/python-cookie-concept-promote
Python: Promote the insecure cookie query from experimental
2024-08-07 09:06:05 +01:00
github-actions[bot]
d88b25c243 Add changed framework coverage reports 2024-08-07 00:18:15 +00:00
Joe Farebrother
24df54804a Review suggestion - Add link to qldoc
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-08-06 22:59:14 +01:00
erik-krogh
b8187ed294 support arbitary export specifiers 2024-08-06 20:45:57 +02:00
erik-krogh
5f7f37f6c8 support arbitary import specifiers 2024-08-06 20:45:53 +02:00
Dave Bartolomeo
e5911c90d4 Merge branch 'codeql-cli-2.18.2' into dbartol/csharp-test-hotfix 2024-08-06 13:32:08 -04:00
Tom Hvitved
78cd3d8332 C#: Update expected test output 2024-08-06 13:29:43 -04:00
Dave Bartolomeo
e222b49258 Merge pull request #17160 from hvitved/csharp/update-expected
C#: Update expected test output
2024-08-06 13:27:49 -04:00
Dave Bartolomeo
a5d671a1ca Merge pull request #17163 from github/dbartol/cpp-test-hotfix
C++: Accept test changes caused by new CLI version.
2024-08-06 12:56:37 -04:00
Geoffrey White
d704fd9682 C++: Accept test changes caused by new CLI version. 2024-08-06 12:27:49 -04:00
Dave Bartolomeo
b2d20f1fed Merge pull request #17161 from geoffw0/madfix
C++: Accept test changes caused by new CLI version.
2024-08-06 12:25:27 -04:00
Angela P Wen
1f37662e3b Merge pull request #17158 from github/angelapwen/update-codeql-docs
Docs: remove `ubuntu-18.04`, indicate Swift requires macOS
2024-08-06 18:17:15 +02:00
Cornelius Riemenschneider
b4db86491d Merge remote-tracking branch 'origin/main' into criemen/pytest-go 2024-08-06 18:09:55 +02:00
Cornelius Riemenschneider
c88ed68766 Merge pull request #17151 from github/criemen/pytest-ruby
Ruby: Port integration tests to pytest.
2024-08-06 18:09:34 +02:00
Cornelius Riemenschneider
46cf779062 Address review. 2024-08-06 18:08:25 +02:00
Geoffrey White
bf66a787ab C++: Accept test changes caused by new CLI version. 2024-08-06 16:45:48 +01:00
Cornelius Riemenschneider
ffde68aaec Merge remote-tracking branch 'origin/main' into criemen/pytest-go 2024-08-06 17:03:16 +02:00
Cornelius Riemenschneider
def662d641 Merge branch 'main' into criemen/pytest-ruby 2024-08-06 16:41:23 +02:00
Tom Hvitved
00d447ba4b C#: Update expected test output 2024-08-06 15:43:08 +02:00
Alexander Eyers-Taylor
01ff7e1f26 Merge pull request #17159 from github/release-prep/2.18.2
Release preparation for version 2.18.2
2024-08-06 13:59:14 +01:00
Owen Mansel-Chan
f0d1740ff8 Update text expectations 2024-08-06 13:48:45 +01:00
github-actions[bot]
c14ba0e4bd Release preparation for version 2.18.2 2024-08-06 12:46:15 +00:00
Angela P Wen
4489749ce4 Docs: indicate Swift support requires macOS 2024-08-06 14:33:03 +02:00
Angela P Wen
14977a7917 Docs: remove deprecated ubuntu-18.04 2024-08-06 14:30:40 +02:00
Owen Mansel-Chan
572c773345 Change provenance for MaD models that use package grouping 2024-08-06 13:13:39 +01:00
Dave Bartolomeo
32b3924548 Merge pull request #17156 from hvitved/ruby/update-expected 2024-08-06 08:07:07 -04:00
Tom Hvitved
0f1b5327ef Ruby: Update expected test output 2024-08-06 13:58:05 +02:00
Tom Hvitved
a7410e4a16 Java: Fix bad join
Before
```
[2024-08-06 10:37:59] Evaluated non-recursive predicate BoundingChecks::arrayReference/1#754911ba@0628dahn in 20981ms (size: 2009682526).
Evaluated relational algebra for predicate BoundingChecks::arrayReference/1#754911ba@0628dahn with tuple counts:
             94480   ~0%    {2} r1 = SCAN `Expr::ArrayAccess.getArray/0#dispred#b90c658a` OUTPUT In.1, In.0

                32   ~0%    {2} r2 = JOIN r1 WITH `Expr::MethodCall.getMethod/0#dispred#41989dc9` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
              1013   ~1%    {2}    | JOIN WITH `Expr::MethodCall.getMethod/0#dispred#41989dc9_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Rhs.1

             92091   ~4%    {2} r3 = JOIN r1 WITH variableBinding ON FIRST 1 OUTPUT Rhs.1, Lhs.1
        2009681513   ~0%    {2}    | JOIN WITH variableBinding_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1

        2009682526   ~0%    {2} r4 = r2 UNION r3
                            return r4

[2024-08-06 10:38:02] Evaluated non-recursive predicate BoundingChecks::lessthanLength/1#48b5e1b7@2885308n in 0ms (size: 108).
Evaluated relational algebra for predicate BoundingChecks::lessthanLength/1#48b5e1b7@2885308n with tuple counts:
        1518  ~0%    {2} r1 = JOIN `Expr::ComparisonExpr.isStrict/0#dispred#fd8c6ddb` WITH `Expr::ComparisonExpr.getGreaterOperand/0#dispred#e8df4b14` ON FIRST 1 OUTPUT Rhs.1, Lhs.0
         455  ~2%    {2}    | JOIN WITH Expr::FieldAccess#2b664c37 ON FIRST 1 OUTPUT Lhs.1, Lhs.0
         455  ~1%    {3}    | JOIN WITH `Expr::ComparisonExpr.getLesserOperand/0#dispred#d7744bc2` ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
         455  ~0%    {5}    | JOIN WITH `Expr::FieldAccess.getField/0#dispred#29ef4aa0` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1, Lhs.0, Lhs.2
         455  ~0%    {5}    | REWRITE WITH Out.1 := "length"
         116  ~0%    {3}    | JOIN WITH `Element::Element.hasName/1#dispred#8acbbbde` ON FIRST 2 OUTPUT Lhs.4, Lhs.2, Lhs.3
          93  ~0%    {3}    | JOIN WITH variableBinding ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
          93  ~1%    {3}    | JOIN WITH `Expr::VarAccess.getQualifier/0#dispred#2b0f1cd1` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
         484  ~2%    {3}    | JOIN WITH variableBinding_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2
         277  ~3%    {2}    | JOIN WITH `BoundingChecks::conditionHolds/2#fa0354b9#bb` ON FIRST 2 OUTPUT Lhs.1, Lhs.2
         166  ~5%    {2}    | JOIN WITH `Expr::ArrayAccess.getIndexExpr/0#dispred#345f6cf4_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
         110  ~0%    {1}    | JOIN WITH `BoundingChecks::arrayReference/1#754911ba` ON FIRST 2 OUTPUT Lhs.0
                     return r1
```

After
```
[2024-08-06 13:29:50] Evaluated non-recursive predicate BoundingChecks::lengthAccess/2#54b10eff@719e68tb in 0ms (size: 309).
Evaluated relational algebra for predicate BoundingChecks::lengthAccess/2#54b10eff@719e68tb with tuple counts:
        6241  ~0%    {2} r1 = JOIN `BoundingChecks::getAnAccess/1#152ad44e_10#join_rhs` WITH `Expr::VarAccess.getQualifier/0#dispred#2b0f1cd1_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
        6240  ~0%    {4}    | JOIN WITH `Expr::FieldAccess.getField/0#dispred#29ef4aa0` ON FIRST 1 OUTPUT Rhs.1, _, Lhs.1, Lhs.0
        6240  ~0%    {4}    | REWRITE WITH Out.1 := "length"
         309  ~2%    {2}    | JOIN WITH `Element::Element.hasName/1#dispred#8acbbbde` ON FIRST 2 OUTPUT Lhs.3, Lhs.2
                     return r1

[2024-08-06 13:29:50] Evaluated non-recursive predicate BoundingChecks::lessthanLength/1#48b5e1b7@0fcac509 in 1ms (size: 108).
Evaluated relational algebra for predicate BoundingChecks::lessthanLength/1#48b5e1b7@0fcac509 with tuple counts:
        94480  ~0%    {3} r1 = JOIN `Expr::ArrayAccess.getArray/0#dispred#b90c658a` WITH `Expr::ArrayAccess.getIndexExpr/0#dispred#345f6cf4` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1
          648  ~4%    {4}    | JOIN WITH variableBinding ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Rhs.1
          621  ~1%    {4}    | JOIN WITH `BoundingChecks::getAnAccess/1#152ad44e_10#join_rhs` ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.3, Rhs.1
          344  ~0%    {4}    | JOIN WITH `BoundingChecks::conditionHolds/2#fa0354b9#bb_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
          341  ~0%    {4}    | JOIN WITH `Expr::ComparisonExpr.isStrict/0#dispred#fd8c6ddb` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
          341  ~0%    {5}    | JOIN WITH `Expr::ComparisonExpr.getGreaterOperand/0#dispred#e8df4b14` ON FIRST 1 OUTPUT Rhs.1, Lhs.3, Lhs.1, Lhs.2, Lhs.0
          110  ~2%    {3}    | JOIN WITH `BoundingChecks::lengthAccess/2#54b10eff` ON FIRST 2 OUTPUT Lhs.4, Lhs.2, Lhs.3
          110  ~0%    {3}    | JOIN WITH `Expr::ComparisonExpr.getLesserOperand/0#dispred#d7744bc2` ON FIRST 1 OUTPUT Rhs.1, Lhs.2, Lhs.1
          110  ~0%    {1}    | JOIN WITH variableBinding ON FIRST 2 OUTPUT Lhs.2
                      return r1
```
2024-08-06 13:30:19 +02:00
Cornelius Riemenschneider
2377546240 Merge pull request #17150 from github/criemen/upgrade-rules-rust
Bazel: Upgrade rules_rust.
2024-08-06 12:53:07 +02:00
Cornelius Riemenschneider
4e013af530 Merge branch 'main' into criemen/upgrade-rules-rust 2024-08-06 12:40:39 +02:00
Rasmus Wriedt Larsen
d50898e114 Python: Downgrade packaging for Python 3.7 support 2024-08-06 11:15:48 +02:00
Joe Farebrother
e47d4ccb79 Merge pull request #17002 from Flying-Tom/add-get-response
Ruby: Add get_response for Net::HTTP
2024-08-06 09:44:21 +01:00
Tom Hvitved
87c5627024 Merge pull request #16937 from hvitved/ruby/ssa-integration
Ruby: Adopt shared SSA data-flow integration
2024-08-06 10:39:41 +02:00
Paolo Tranquilli
79740ed72b Merge pull request #17145 from github/redsun82/go
Go/Bazel: fix gazelle invocation to use bundled bazel go
2024-08-06 10:36:40 +02:00
Dave Bartolomeo
f08f17511e Merge pull request #17139 from github/dbartol/provenance/qltest
Update test expectations after extension numbering fix
2024-08-05 18:17:26 -04:00
Cornelius Riemenschneider
d42e424289 Port integration tests to pytest. 2024-08-05 22:07:42 +02:00
Dave Bartolomeo
7e82986e7c Update Go test expectations 2024-08-05 13:20:12 -04:00
Dave Bartolomeo
a6e2fbb241 Merge remote-tracking branch 'origin/main' into dbartol/provenance/qltest 2024-08-05 13:16:31 -04:00
Chris Smowton
59572e5633 Merge pull request #16708 from am0o0/am0o0-java-PathInjection
Java: new path injection sinks
2024-08-05 17:23:09 +01:00
Chris Smowton
e88bf31270 Merge branch 'main' into am0o0-java-PathInjection 2024-08-05 16:35:35 +01:00
Dave Bartolomeo
aea13b46ce Merge remote-tracking branch 'origin/main' into dbartol/provenance/qltest 2024-08-05 10:33:31 -04:00
Tamas Vajk
a4e357e46d Remove unused FileIsUpToDate 2024-08-05 15:56:12 +02:00
Tamas Vajk
ec9de41fea Add change note 2024-08-05 15:55:32 +02:00
Tamas Vajk
968c279fd7 Add DB upgrade/downgrade scripts 2024-08-05 15:55:29 +02:00
Tamas Vajk
a31d90897d C#: Do not skip extraction of already seen source files 2024-08-05 15:55:26 +02:00
Alexandre Boulgakov
6f23819f60 Merge pull request #17140 from github/jketema/generic-broken
C++ Add IR test for `_Generic`s
2024-08-05 14:36:40 +01:00
am0o0
e4deb7d304 apply autoformating for HardcodedCredentials.ql 2024-08-05 14:58:37 +02:00
Paolo Tranquilli
841f317cbd Merge branch 'main' into redsun82/go 2024-08-05 14:30:28 +02:00
Cornelius Riemenschneider
3721e346c6 Bazel: Upgrade rules_rust. 2024-08-05 14:29:25 +02:00
am0o0
fce183c7cb apply autoformat to HardcodedCredentialsCustomizations.qll 2024-08-05 14:25:15 +02:00
Rasmus Wriedt Larsen
4eb6afa880 Python: Update poetry.lock 2024-08-05 14:14:41 +02:00
Cornelius Riemenschneider
133a0914b5 Delete old go integration test library. 2024-08-05 13:31:33 +02:00
Cornelius Riemenschneider
6cb6aeffbb Rename build-environment.expected to build_environment.expected.
This follows the convention of our other expected files.
2024-08-05 13:30:23 +02:00
Cornelius Riemenschneider
aec06c8100 Port go tests. 2024-08-05 13:22:03 +02:00
Geoffrey White
4225774a3a Swift: Add test cases for swift/hardcoded-key. 2024-08-05 11:42:18 +01:00
Chris Smowton
95e504a5ff Merge branch 'main' into am0o0-java-PathInjection 2024-08-05 11:41:25 +01:00
Geoffrey White
0f7598786c Swift: Test spacing. 2024-08-05 11:23:38 +01:00
Michael B. Gale
fe00dbc96c Merge pull request #17143 from github/dependabot/go_modules/go/extractor/extractor-dependencies-fbcabf3719 2024-08-05 10:33:21 +01:00
Jeroen Ketema
28702046aa C++: Rename function to match what is actually being tested 2024-08-05 10:32:54 +01:00
Jeroen Ketema
bfae86e9e8 C++: Update test after extractor fix 2024-08-05 10:32:54 +01:00
Jeroen Ketema
59db802fa4 C++ Add test showing incorrect value categories for _Generics 2024-08-05 10:32:54 +01:00
Paolo Tranquilli
ccec347b0a Go/Bazel: fix gazelle invocation to use bundled bazel go 2024-08-05 10:13:14 +02:00
dependabot[bot]
74596ef000 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.19.0 to 0.20.0
- [Commits](https://github.com/golang/mod/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-05 03:18:38 +00:00
Owen Mansel-Chan
6273bb60a3 Merge pull request #17112 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-08-04 22:37:50 +01:00
github-actions[bot]
f5394c9ee9 Add changed framework coverage reports 2024-08-04 00:19:56 +00:00
am0o0
4169cfac9f use the current slf4j stubs instead of new one 2024-08-03 14:12:18 +02:00
Chris Smowton
62046fa3a8 Merge pull request #17137 from smowton/smowton/admin/ecj-annotations-bug-test
Java: Add test for ECJ compiling an enum with a constructor parameter annotation
2024-08-02 22:11:14 +01:00
Dave Bartolomeo
6596705811 Update test expectations after extension numbering fix 2024-08-02 16:55:02 -04:00
Chris Smowton
f891423810 Run Maven integration tests sequentially due to conflicts over ~/.m2 2024-08-02 20:13:41 +01:00
Chris Smowton
1ee87670c6 Switch to measuring just diagnostics 2024-08-02 20:13:40 +01:00
Chris Smowton
ee11307751 Add test for ECJ compiling an enum with a constructor parameter annotation 2024-08-02 20:13:39 +01:00
Jeroen Ketema
08bb794f76 Merge pull request #17125 from jketema/explicit-bool
C++: Expose `explicit` and `explicit(bool)` function specifiers
2024-08-02 20:05:44 +02:00
Geoffrey White
9794309d2e Merge pull request #17127 from geoffw0/swiftsql
Swift: Improve doc for swift/sql-injection
2024-08-02 16:14:57 +01:00
Andrew Eisenberg
6a49647a28 Merge pull request #17132 from github/aeisenberg-patch-1
Update CHANGELOG.md
2024-08-02 07:55:06 -07:00
Owen Mansel-Chan
41373538d6 Merge pull request #17114 from owen-mc/go/gokogiri/update-import-paths
Go: Add import path for Gokogiri
2024-08-02 15:12:51 +01:00
Jeroen Ketema
742922c719 Update cpp/ql/lib/semmle/code/cpp/Function.qll
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com>
2024-08-02 15:59:30 +02:00
Jeroen Ketema
9744c06933 C++: Expose explicit and explicit(bool) function specifiers 2024-08-02 15:39:18 +02:00
Jeroen Ketema
12261e6d08 Merge pull request #17118 from jketema/ctad
C++: Add `getTemplateClass` to `DeductionGuide`
2024-08-02 15:29:21 +02:00
Geoffrey White
0525e9c6ee Merge pull request #17128 from geoffw0/swiftcmdline
Swift: Disable some FileManager models
2024-08-02 13:59:59 +01:00
Geoffrey White
b87d832fcb Merge pull request #17129 from geoffw0/swiftconstsalt
Swift: Fixes for swift/constant-salt
2024-08-02 13:57:05 +01:00
Geoffrey White
49335e5b63 Merge pull request #17126 from geoffw0/swiftcleartext
Swift: Improve documentation and examples that use encryption
2024-08-02 13:55:00 +01:00
Geoffrey White
e66cd05f96 Swift: Improve phrasing around robust escape functions. 2024-08-02 13:35:33 +01:00
Jeroen Ketema
972d9ca2b8 C++: Add more deduction guide tests 2024-08-02 14:12:56 +02:00
Geoffrey White
fa898b8489 Update swift/ql/src/queries/Security/CWE-089/SqlInjection.qhelp
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-08-02 13:11:01 +01:00
Geoffrey White
aae19ab9f5 Swift: Remove quotes from the message. 2024-08-02 12:19:14 +01:00
Geoffrey White
927c65e8ed Merge pull request #17130 from geoffw0/oddsends3
Swift: Odds and ends
2024-08-02 12:15:19 +01:00
Geoffrey White
5a5fdb2f6b Swift: I missed the commas. 2024-08-02 12:11:35 +01:00
Geoffrey White
d3cdffef61 Apply suggestions from code review
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-08-02 12:07:31 +01:00
Chris Smowton
be945f14f6 Merge pull request #17135 from github/smowton/admin/build-mode-none-ga
Announce Java build-mode: none GA
2024-08-02 12:05:39 +01:00
Anders Schack-Mulligen
4d023f14a6 Merge pull request #17075 from RobbingDaHood/17052-second-try-do-not-expose-error-message
Java: 17052 Second try: do not expose error message
2024-08-02 12:44:27 +02:00
Chris Smowton
c299d8ddc1 Move change note to lib directory 2024-08-02 11:22:10 +01:00
Chris Smowton
2c85511af1 Announce Java build-mode: none GA 2024-08-02 11:05:24 +01:00
Owen Mansel-Chan
4d75832c9a Update go/ql/test/query-tests/Security/CWE-643/XPathInjection.expected 2024-08-02 07:41:26 +01:00
Andrew Eisenberg
c8994003c1 Update CHANGELOG.md
Drive-by fix of a typo.
2024-08-01 16:16:17 -07:00
am0o0
a645e01b4b delete wrong stubs 2024-08-02 01:03:47 +02:00
am0o0
d52826879b delete wrong stubs 2024-08-02 01:02:49 +02:00
am0o0
ee9f134828 update current springframework core stub and use this instead of creating a new stubs 2024-08-02 01:00:34 +02:00
am0o0
af43178602 move slf4j to a separate dir 2024-08-02 00:35:20 +02:00
am0o0
1551cf0093 move java/ql/test/experimental/stubs/org-springframework-6.1.4/org/reactivestreams into a separate dir 2024-08-02 00:06:02 +02:00
Jeroen Ketema
4dcf67940c C++: Add getTemplateClass to DeductionGuide 2024-08-01 20:54:53 +02:00
am0o0
354fcbe7fe apply changes from @erik-krogh 2024-08-01 20:14:36 +02:00
Geoffrey White
39411b0780 Swift: Add some test of taint through 'as'. 2024-08-01 17:33:35 +01:00
Geoffrey White
e313fdb392 Swift: Correct a comment in ECBEncryptionQuery.qll. 2024-08-01 17:28:09 +01:00
Geoffrey White
2486c8423b Swift: Correct mistakes. 2024-08-01 17:02:03 +01:00
Owen Mansel-Chan
b95189d132 Merge branch 'main' into go/gokogiri/update-import-paths 2024-08-01 16:30:52 +01:00
Owen Mansel-Chan
c23938d119 Merge pull request #17113 from owen-mc/go/xmlpath/add-more-package-paths
Go: add more import paths for `xmlpath`
2024-08-01 16:26:33 +01:00
Geoffrey White
14763f3bb5 Swift: Change note. 2024-08-01 16:24:53 +01:00
Geoffrey White
8e68e0dfba Swift: Change note. 2024-08-01 16:17:55 +01:00
Geoffrey White
3f26250967 Swift: Remove the sources instead (more general solution). 2024-08-01 16:14:30 +01:00
Geoffrey White
2b7b1c624d Swift: Use a barrier as a simple fix. 2024-08-01 15:58:43 +01:00
Geoffrey White
7bf61d1d7e Swift: Add test cases. 2024-08-01 15:49:33 +01:00
Geoffrey White
683ca2d578 Swift: Test spacing. 2024-08-01 15:32:45 +01:00
Owen Mansel-Chan
9167057dfd Update test expectations 2024-08-01 15:22:08 +01:00
Owen Mansel-Chan
c75db669ed Add import path for gokogiri 2024-08-01 15:21:24 +01:00
Owen Mansel-Chan
1a697fe993 Merge pull request #17115 from owen-mc/go/update-frameworks
Go: add newly modeled packages to frameworks.csv
2024-08-01 15:13:12 +01:00
Owen Mansel-Chan
3ccdce291a Update test expectations 2024-08-01 15:12:08 +01:00
Owen Mansel-Chan
62adb31ca6 Add more import paths for xmlpath 2024-08-01 14:52:19 +01:00
Owen Mansel-Chan
9d866192a6 Add paths from QL models to MaD models 2024-08-01 14:52:18 +01:00
Owen Mansel-Chan
e051815d96 Merge pull request #17119 from owen-mc/go/finish-converting-tests-to-model-pretty-printing
Go: finish converting tests to model pretty printing
2024-08-01 14:04:02 +01:00
Owen Mansel-Chan
8325c4c69c Updated .expected files 2024-08-01 13:12:21 +01:00
Owen Mansel-Chan
cbe54717f6 Revert "Revert post-processing for 6 queries pending bug fix"
This reverts commit a8236e1545.
2024-08-01 13:10:06 +01:00
Anders Schack-Mulligen
776c01aa8d Merge pull request #17117 from aschackmull/dataflow/qltest-provenance-workaround
Dataflow: Allow printing multiple models for one MaDId.
2024-08-01 13:52:58 +02:00
Anders Schack-Mulligen
90272ddbfa Dataflow: Allow printing multiple models for one MaDId. 2024-08-01 13:04:24 +02:00
Geoffrey White
2ed2a76866 Swift: Add a note about escaping as an alternative way to fix these issues. 2024-08-01 11:52:08 +01:00
Geoffrey White
2fd4b57d74 Swift: Expand the swift/sql-injection qhelp examples by labelling the API that's used, adding SQLite3 C API examples, and adding an example of using a prepared statement incorrectly. 2024-08-01 11:52:06 +01:00
Geoffrey White
9f6a5d9e13 Swift: Fix typo in example. 2024-08-01 11:52:05 +01:00
Geoffrey White
61eb5cd55c Swift: Put a barrier on the qualifiers as well. 2024-08-01 11:49:10 +01:00
Geoffrey White
0c3e8ced4b Swift: Make append methods and string interpolation barriers for swift/constant-salt. 2024-08-01 11:49:09 +01:00
Geoffrey White
2543f3ecfb Swift: Make + a barrier for swift/constant-salt. 2024-08-01 11:49:08 +01:00
Geoffrey White
c8438c38f2 Swift: Tests for string appending with swift/constant-salt. 2024-08-01 11:49:07 +01:00
Geoffrey White
69c18f9cd2 Swift: Use in swift/constant-salt so that the source node is clickable + visible to autofix. 2024-08-01 11:49:06 +01:00
Geoffrey White
b944d47f58 Swift: Fix the example for swift/constant-salt. 2024-08-01 11:49:05 +01:00
Owen Mansel-Chan
d5dc95f1e6 Update frameworks.csv 2024-08-01 11:03:50 +01:00
Anders Schack-Mulligen
377301a55a Merge pull request #17108 from aschackmull/dataflow/flowthrough-provenance
Dataflow: Propagate provenance correctly for flow-through wrappers.
2024-08-01 09:35:56 +02:00
Owen Mansel-Chan
97c9207595 Merge pull request #17104 from owen-mc/go/add-extra-go-jose-package-path
Go: Fix missing `go-jose` package path
2024-08-01 00:14:46 +01:00
yoff
251036c6b4 Merge pull request #17080 from sylwia-budzynska/streamlit
Python: Add Streamlit models
2024-07-31 18:20:11 +02:00
Jami
f9f57e9122 Merge pull request #17023 from jcogs33/jcogs33/java/add-apache-ant-path-inj-sinks
Java: add apache-ant `Property` path injection sinks
2024-07-31 11:04:13 -04:00
Geoffrey White
20672acb74 Merge pull request #17110 from geoffw0/memfree
C++: Improve cpp/memory-may-not-be-freed
2024-07-31 15:59:42 +01:00
Mathias Vorreiter Pedersen
06a4f907ef Merge pull request #17109 from MathiasVP/constexpr-if-unevaluated
C++: Mark `constexpr if` as unevaluated
2024-07-31 15:34:29 +01:00
Owen Mansel-Chan
6280ed2a6b Merge pull request #13555 from am0o0/amammad-java-bombs
Java: Decompression Bombs
2024-07-31 14:55:28 +01:00
Geoffrey White
c172b946a1 C++: Change note. 2024-07-31 14:55:15 +01:00
Geoffrey White
4aea4c0323 C++: Simple fix. 2024-07-31 14:46:25 +01:00
Geoffrey White
c04428dedc C++: Add test cases for the memory freed queries. 2024-07-31 14:03:56 +01:00
Anders Schack-Mulligen
9724516c84 C#/Go/Java/Python/Ruby: Accept qltest .expected changes. 2024-07-31 14:45:10 +02:00
Anders Schack-Mulligen
af06763c42 Dataflow: Propagate provenance correctly for flow-through wrappers. 2024-07-31 14:37:13 +02:00
Jami
4fb29c4473 Merge branch 'main' into jcogs33/java/add-apache-ant-path-inj-sinks 2024-07-31 08:15:07 -04:00
Mathias Vorreiter Pedersen
61eda0df9d C++: Add change note. 2024-07-31 13:13:19 +01:00
Jami
05b0a3f41c Merge pull request #17093 from jcogs33/jcogs33/java/provenance-postprocess-qltest-remaining-lib-tests
Java: Add support for post-process provenance pretty-printing in `.ql` library-tests
2024-07-31 08:11:15 -04:00
Mathias Vorreiter Pedersen
fe575df325 C++: Mark constexpr if as unevalauted. 2024-07-31 13:09:12 +01:00
Mathias Vorreiter Pedersen
4e62dc81d2 C++: Add constexpr if testcase. 2024-07-31 13:08:49 +01:00
yoff
123dcc75d1 Merge pull request #16971 from RasmusWL/mad-dict-source
Python: Add MaD support for DictionaryElement/DictionaryElementAny for sources
2024-07-31 13:40:07 +02:00
Sylwia Budzynska
9bd00c9e1e Change Gradio rfs test to use shared rfs test module 2024-07-31 13:25:32 +02:00
Sylwia Budzynska
2a6ad00a2f Fix typo 2024-07-31 13:22:27 +02:00
Sylwia Budzynska
72e7b6c872 Update python/ql/lib/semmle/python/frameworks/Streamlit.qll
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-07-31 13:20:01 +02:00
Owen Mansel-Chan
01c6dbaa27 Accept provenance numbering changes 2024-07-31 12:19:18 +01:00
Owen Mansel-Chan
8901b1fd14 Merge pull request #17100 from owen-mc/java/sensitive-log/ignore-tokenizer
Java: whitelist variable names containing "tokenizer" for `java/sensitive-log`
2024-07-31 12:16:03 +01:00
Owen Mansel-Chan
59e22f6cd9 Merge pull request #17101 from owen-mc/java/dead-ref-types-junit-4-5
Java: Fix FPs in `java/unused-reference-type` for JUnit 4-style tests
2024-07-31 11:11:35 +01:00
Owen Mansel-Chan
e4cd29efc6 Fix missing go-jose package path 2024-07-31 11:09:53 +01:00
Cornelius Riemenschneider
d75da82528 Merge pull request #17102 from github/criemen/installer-ripunzip
Bazel installer: Retry ripunzip step.
2024-07-31 12:04:20 +02:00
Owen Mansel-Chan
f953249692 Merge pull request #17103 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-31 10:47:08 +01:00
Cornelius Riemenschneider
de47838c36 Remove unused exception class. 2024-07-31 11:31:11 +02:00
am0o0
d560c1ea0f fix formatting 2024-07-31 11:08:06 +02:00
Owen Mansel-Chan
f8e8b362ab Merge branch 'main' into workflow/coverage/update 2024-07-31 10:07:35 +01:00
am0o0
9110df6e80 Merge branch 'amammad-java-JWT' of https://github.com/am0o0/codeql into amammad-java-JWT 2024-07-31 11:04:24 +02:00
am0o0
c6814fcf47 merge duplicate module into a module file 2024-07-31 11:04:03 +02:00
am0o0
701e3d7e53 add same query but with local source support to comply with the CVE-2021-37580 2024-07-31 10:58:22 +02:00
Owen Mansel-Chan
3ece3ec50f Merge pull request #17092 from owen-mc/go/provenance-postprocess-qltest
Go: Add support for provenance pretty-printing
2024-07-31 09:54:28 +01:00
Cornelius Riemenschneider
1ce15ae2fd Fix exit code when ripunzip isn't called. 2024-07-31 08:09:53 +02:00
github-actions[bot]
d0c2b4a60f Add changed framework coverage reports 2024-07-31 00:15:22 +00:00
Edward Minnix III
bae0ea5599 Merge pull request #17042 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-30 20:04:23 -04:00
Cornelius Riemenschneider
fa6d61809e Fix hang for targets without ripunzip. 2024-07-31 00:38:50 +02:00
Jami
d04dc9afe0 Merge pull request #17087 from jcogs33/jcogs33/java/provenance-postprocess-qltest
Java: Add support for provenance pretty-printing as a qltest postprocess step
2024-07-30 16:55:26 -04:00
Jeroen Ketema
f986484813 Merge pull request #17098 from jketema/deduction
C++: Update tests after extractor changes
2024-07-30 21:08:40 +02:00
Cornelius Riemenschneider
674a5bb9b4 Bazel installer: Retry ripunzip step.
Ripunzip is great, but occasionally bugs out due to a parallelism issue.
As we don't want this to fail CI, retry the entire ripunzip/installation step
up to 3 times.
We need to clean up the working directory as ripunzip doesn't support overwriting
files. I've not been able to test this with the original issue (it doesn't seem
to reproduce locally for me), but I injected another error and got 3 retries
of installation.
2024-07-30 18:20:19 +02:00
Jami Cogswell
2db07bdbf3 Java: add missing models to experimental expected files 2024-07-30 12:13:18 -04:00
am0o0
40eef25133 use more specefic Classes instead of Call 2024-07-30 18:07:03 +02:00
Geoffrey White
3d6a889d24 Swift: Make use of CBC blockmode in examples and tests mode accurate. 2024-07-30 16:59:11 +01:00
am0o0
591b1b4f07 use $ SPURIOUS: instead of "this test gives a FP" 2024-07-30 17:53:23 +02:00
am0o0
f97b1039cd update test files, add one more additional flow step for inflate function, fix gzopen additional flow step thanks to @jketema 2024-07-30 17:49:34 +02:00
Sylwia Budzynska
81f3609c4b Formatting 2024-07-30 17:49:20 +02:00
Sylwia Budzynska
dfc51922ba Change regex 2024-07-30 17:39:34 +02:00
Sylwia Budzynska
ef2b225144 Fix PascalCase 2024-07-30 17:36:55 +02:00
Owen Mansel-Chan
1cb5f35c56 Add change note 2024-07-30 16:29:38 +01:00
Owen Mansel-Chan
cd0af0fc57 Ignore types with methods which have annotations
The motivation is test classes in JUnit 4 and 5 are currently FPs for this. They have methods with `@Test`, so this should fix the FPs.
2024-07-30 16:29:35 +01:00
Owen Mansel-Chan
050dcb1370 Add some tests for java/unused-reference-type 2024-07-30 16:29:11 +01:00
Sylwia Budzynska
f796efe470 Add Streamlit SQLAlchemy models 2024-07-30 17:20:52 +02:00
Sylwia Budzynska
9741ddb926 Add remoteflowsoucre test 2024-07-30 17:20:14 +02:00
Mathias Vorreiter Pedersen
31f68d2da8 Merge pull request #17095 from MathiasVP/mad-free-functions
C++: Proper MaD support for free functions
2024-07-30 16:00:31 +01:00
Jami
2c8f3a58b3 Merge branch 'main' into jcogs33/java/provenance-postprocess-qltest 2024-07-30 10:53:52 -04:00
Owen Mansel-Chan
44b6309e07 Add change note 2024-07-30 15:44:00 +01:00
Owen Mansel-Chan
e259b25428 Add "tokenizer" to sensitive variable name FPs 2024-07-30 15:38:32 +01:00
Owen Mansel-Chan
0704946324 Factor out matching sensitive variable name FPs 2024-07-30 15:37:54 +01:00
Owen Mansel-Chan
bdff0fdcc5 Add test for "tokenizer" 2024-07-30 15:37:46 +01:00
Owen Mansel-Chan
0d71072f94 Make test more compact 2024-07-30 15:36:59 +01:00
Mathias Vorreiter Pedersen
6d8a83fc1f C++: Take out the 'Element' content from std::format model. 2024-07-30 15:31:18 +01:00
Arthur Baars
0d469536ae Merge pull request #17065 from github/aibaars/proxy-tests
Java: integration tests with proxy server
2024-07-30 15:53:45 +02:00
Mathias Vorreiter Pedersen
ef0370b64e C++: Respond to review comments. 2024-07-30 13:19:02 +01:00
Owen Mansel-Chan
a8236e1545 Revert post-processing for 6 queries pending bug fix
This commit will be reverted when a bug is fixed which is currently
stopping these tests from working with post-processing.
2024-07-30 12:58:01 +01:00
Owen Mansel-Chan
ffeb86c1f5 Update .expected files 2024-07-30 12:54:42 +01:00
Jeroen Ketema
5455a365d1 C++: Update tests after extractor changes 2024-07-30 13:52:23 +02:00
Anders Schack-Mulligen
5073f4f7dd Merge pull request #17096 from aschackmull/java/pp-experimental-models
Java: Pretty-print experimental models for qltest.
2024-07-30 13:31:15 +02:00
am0o0
9662950405 add comments for FPs 2024-07-30 13:24:46 +02:00
Chris Smowton
8f52b2cd95 Fix link 2024-07-30 12:23:38 +01:00
Chris Smowton
a781522ca0 Copyedit documentation 2024-07-30 12:19:16 +01:00
Sylwia Budzynska
bfd2e4350b Add StreamlitConnection model
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-07-30 12:58:49 +02:00
Mathias Vorreiter Pedersen
afc0d0a078 C++: Accept test changes. 2024-07-30 11:54:20 +01:00
Owen Mansel-Chan
5c8f21d596 Use post-process provenance pretty-printing in ql tests 2024-07-30 11:35:10 +01:00
Owen Mansel-Chan
94f290411f Use post-process provenance pretty-printing in qlref tests 2024-07-30 11:35:09 +01:00
Owen Mansel-Chan
1347f55d89 Merge pull request #17072 from owen-mc/go/mad/convert-sinks
Go: convert request-forgery, xpath-injection and credentials sinks to MaD
2024-07-30 11:18:37 +01:00
Mathias Vorreiter Pedersen
42ee501b96 C++: Use the name without args 2024-07-30 11:18:24 +01:00
Mathias Vorreiter Pedersen
f932e515a7 C++: Accept test changes. 2024-07-30 11:11:38 +01:00
Mathias Vorreiter Pedersen
68a972d578 C++: Delete code that's now dead. 2024-07-30 11:11:37 +01:00
Mathias Vorreiter Pedersen
6b37cb0718 C++: Use the same 'template expansion mechanism' for free functions that we use for member functions. 2024-07-30 11:11:36 +01:00
Anders Schack-Mulligen
da5250d3a7 Java: Pretty-print experimental models for qltest. 2024-07-30 11:43:44 +02:00
Mathias Vorreiter Pedersen
8edf19adc0 C++: Add MaD model for 'std::format'. 2024-07-30 10:15:39 +01:00
Mathias Vorreiter Pedersen
ff788c93c0 C++: Add a model for 'std::format' and a failing test. 2024-07-30 10:13:39 +01:00
Owen Mansel-Chan
9cb01d4573 Merge branch 'main' into go/mad/convert-sinks 2024-07-30 08:03:18 +01:00
github-actions[bot]
d39609254c Add changed framework coverage reports 2024-07-30 00:18:23 +00:00
Joe Farebrother
e68ef87662 update inline tests for rest_framework tests 2024-07-29 23:35:36 +01:00
Joe Farebrother
82da8b95a7 Fix typo 2024-07-29 23:29:19 +01:00
Joe Farebrother
f10d007496 Add additional test for kwargs case 2024-07-29 23:27:22 +01:00
Alexandre Boulgakov
c989e01197 Merge pull request #17091 from github/sashabu/packs
C++: Update MaD tests with correct template parameter counting in the presence of packs.
2024-07-29 21:06:00 +01:00
Geoffrey White
41c3d1b833 Swift: Mention key management in the .qhelp + add a reference about key management. 2024-07-29 17:23:14 +01:00
am0o0
4dc1a10f71 update tests for zip4j, add aditional flow steps for zip4j, remove BombTypeInputStream class since we don't need it anymore, add a predicate which was for testing porpose and was junk 2024-07-29 18:10:04 +02:00
Geoffrey White
d66e407c3e Swift: Improve the encryption in examples for swift/cleartext-* queries. 2024-07-29 17:02:57 +01:00
Jami Cogswell
e226da4f04 Java: use post-process provenance pretty-printing in .ql library-tests 2024-07-29 11:46:28 -04:00
Jeroen Ketema
46b92f372b Merge pull request #17090 from jketema/macos-unsupported
Remove EOL macOS versions from the supported platforms list
2024-07-29 17:41:28 +02:00
RobbingDaHood
1cb58922a2 Minor changes to formulations for java/error-message-exposure
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-07-29 16:48:15 +02:00
Alexandre Boulgakov
2396c3c798 C++: Update MaD tests with correct template parameter counting in the presence of packs. 2024-07-29 14:59:49 +01:00
Ian Lynagh
1530037eae Merge pull request #17071 from igfoo/igfoo/dep_env
Java/Kotlin: Remove support for deprecated SOURCE_ARCHIVE and TRAP_FOLDER
2024-07-29 14:55:50 +01:00
Jeroen Ketema
9dff666cb3 Remove EOL macOS versions from the supported platforms list 2024-07-29 15:28:44 +02:00
Joe Farebrother
68512eea14 Remove remaining files from experimental tests 2024-07-29 11:19:33 +01:00
Joe Farebrother
ef3bbeacd6 Add check for kwargs in cookie attribute predicates 2024-07-29 11:17:42 +01:00
Joe Farebrother
90e87a1752 Factor each framework implementation of the cookie parameters to a common concept 2024-07-29 10:51:24 +01:00
Joe Farebrother
c7f9095739 Apply similar changes to httponly 2024-07-29 10:29:59 +01:00
Joe Farebrother
1127b08635 Merge branch 'main' into python-cookie-concept-promote 2024-07-29 10:26:03 +01:00
Joe Farebrother
d997eee6e6 Code review suggestions - make definitions clearer
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-07-29 10:22:33 +01:00
Joe Farebrother
58689c90fb Merge pull request #16893 from joefarebrother/python-cookie-injectio-promote
Python: Promote cookie injection query from experimental
2024-07-29 10:17:01 +01:00
Owen Mansel-Chan
0a7772d8a7 Merge pull request #17014 from owen-mc/go/provenance-postprocess-qltest
Go: Add support for provenance pretty-printing as a qltest postprocess step
2024-07-29 10:09:05 +01:00
yoff
d23d138e7d Merge pull request #16923 from RasmusWL/impossible-isinstance
Python: Add test for impossible isinstance flow
2024-07-29 09:33:30 +02:00
Jami Cogswell
bab89c46b6 Java: use post-process provenance pretty-printing in library-tests 2024-07-28 18:13:58 -04:00
Jami Cogswell
0a382bf0cf Java: use post-process provenance pretty-printing in experimental/query-tests 2024-07-28 18:13:20 -04:00
Jami Cogswell
c70d39539e Java: use post-process provenance pretty-printing in query-tests 2024-07-28 18:12:17 -04:00
Owen Mansel-Chan
f307f272d5 Go: Use provenance pretty-printing as a qltest post-process step 2024-07-28 21:31:50 +01:00
Owen Mansel-Chan
6960c5232b Go: Add support for provenance pretty-printing as a qltest post-process step 2024-07-28 21:31:50 +01:00
Am
6f8eec2bf9 Merge branch 'github:main' into amammad-cpp-bombs 2024-07-28 18:49:15 +03:30
am0o0
c8749ff82e Merge branch 'amammad-java-bombs' of https://github.com/am0o0/codeql into amammad-java-bombs 2024-07-28 12:15:23 +02:00
am0o0
209fa1a10a update tests 2024-07-28 12:15:07 +02:00
am0o0
0593eaad52 we don't need ConstructorCall for ZipFile anymore since we have a more accurate sink for this 2024-07-28 12:12:07 +02:00
am0o0
cc752113af we don't need TypeInputStreamConstructorArgumentSink anymore 2024-07-28 12:09:52 +02:00
am0o0
7689db7d42 change apache commons sink 2024-07-28 12:09:33 +02:00
am0o0
1b97804f45 update tests 2024-07-28 11:45:48 +02:00
Am
96c142bf0a Merge branch 'main' into amammad-java-JWT 2024-07-28 13:03:23 +03:30
am0o0
6538a06f29 update tests 2024-07-28 11:30:59 +02:00
am0o0
b5e7716579 remove flow states, remove string as sources 2024-07-28 11:26:18 +02:00
am0o0
46ddddc8cf Merge tag 'codeql-cli/v2.18.1' into amammad-java-JWT
Compatible with CodeQL CLI 2.18.1
2024-07-28 11:23:20 +02:00
am0o0
85b02b1399 use MethodCall instead of MethodAccess, change query id 2024-07-28 10:42:44 +02:00
am0o0
494f0b709e Merge branch 'main' into amammad-java-JWT 2024-07-28 10:37:26 +02:00
am0o0
14cf47b906 comply with PascalCase/camelCase, remove redundant import 2024-07-28 10:28:28 +02:00
Chris Smowton
e3559d8f93 Adjust test expectations 2024-07-28 10:27:11 +02:00
Chris Smowton
142d7ae005 Make test compatible with Servlet 2.5; use old Servlet stubs 2024-07-28 10:26:58 +02:00
Jeroen Ketema
e1329dff72 Merge pull request #16947 from github/calumgrant/attributes
C++: Update attributes test output
2024-07-26 21:05:46 +02:00
Florin Coada
b6aea3cde1 Merge pull request #17083 from github/changedocs/2.18.1
Update codeql changelog to version 2.18.1
2024-07-26 18:23:16 +01:00
Florin Coada
d189526283 Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.18.1.rst
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com>
2024-07-26 18:16:12 +01:00
Florin Coada
707acdef08 Update codeql-cli-2.18.1.rst 2024-07-26 17:25:58 +01:00
Florin Coada
450137d2cf Update codeql changelog to version 2.18.1 2024-07-26 17:15:23 +01:00
Jami
0ba5a74f6a Merge pull request #17074 from jcogs33/jcogs33/java/fix-regex-use-comments
Java: fix comments about use of sink kind `regex-use`
2024-07-26 08:57:39 -04:00
Sylwia Budzynska
a05266c236 Formatting 2024-07-26 14:55:58 +02:00
Jami
ff9093f2de Merge branch 'main' into jcogs33/java/add-apache-ant-path-inj-sinks 2024-07-26 08:54:27 -04:00
Sylwia Budzynska
358a1b3a20 Fix tests 2024-07-26 14:19:06 +02:00
Sylwia Budzynska
6d1c00742f Add tests and change note 2024-07-26 14:15:43 +02:00
Sylwia Budzynska
221c18934c Add models 2024-07-26 13:23:39 +02:00
Florin Coada
8eb3b31ee2 Merge pull request #17060 from github/changedocs/2.18.0
Update unified changelog for 2.17.6 and 2.18.0
2024-07-26 11:35:41 +01:00
Florin Coada
72e05c952e Merge branch 'main' into changedocs/2.18.0 2024-07-26 11:27:41 +01:00
Mathias Vorreiter Pedersen
c0263bef5a Merge pull request #17062 from MathiasVP/speed-up-alias-analysis-4
C++: Speed up alias analysis
2024-07-26 10:02:02 +01:00
Mathias Vorreiter Pedersen
6b68cf6bdc Merge pull request #17076 from MathiasVP/add-missing-write-side-effect-to-remquo
C++: Add missing write side effect to `std::remquo`
2024-07-26 09:56:57 +01:00
Jeroen Ketema
06a3bf8808 Merge pull request #17077 from jketema/explicit-bool2
C++: Add more `explicit(bool)` tests
2024-07-26 10:55:54 +02:00
Anders Schack-Mulligen
822f8b06f0 Merge pull request #17011 from aschackmull/dataflow/provenance-postprocess-qltest
Shared: Add support for provenance pretty-printing as a qltest postprocess step.
2024-07-26 10:51:59 +02:00
Jeroen Ketema
a944922c97 C++: Add more explicit(bool) tests 2024-07-26 09:47:01 +02:00
Arthur Baars
b34b589005 Merge branch 'main' into aibaars/proxy-tests 2024-07-26 09:24:54 +02:00
Owen Mansel-Chan
c051d33cc7 Merge branch 'main' into dataflow/provenance-postprocess-qltest 2024-07-26 08:04:05 +01:00
Joe Farebrother
ebeb187fd9 Remove unneeded experimental file 2024-07-25 23:16:48 +01:00
Geoffrey White
52020f7e5b Merge pull request #17028 from geoffw0/cryptodoc
C++: Improve query doc advice for using encryption
2024-07-25 21:46:16 +01:00
RobbingDaHood
feb31d2006 Merge branch 'main' into 17052-second-try-do-not-expose-error-message 2024-07-25 18:13:49 +02:00
Mathias Vorreiter Pedersen
91edf82c8a C++: Add more missing overrides. 2024-07-25 17:13:26 +01:00
Mathias Vorreiter Pedersen
b640bdccdc C++: Accept test changes. 2024-07-25 17:13:10 +01:00
Mathias Vorreiter Pedersen
52f8f04e9d C++: Add write side effect to 'remquo'. 2024-07-25 17:12:56 +01:00
Daniel Winther Petersen
1c1ba7734f Now alerts about exposing exception.getMessage() in servlet responses are split out of java/stack-trace-exposure into its own alert java/error-message-exposure because this is a better fit. 2024-07-25 18:12:45 +02:00
Jami
91f5f086fb Merge pull request #17025 from jcogs33/jcogs33/java/adjust-url-syntheticfield
Java: add TaintInheritingContent for URL synthetic fields
2024-07-25 12:11:39 -04:00
Mathias Vorreiter Pedersen
d2f5734ac5 C++: Add FP. 2024-07-25 17:08:47 +01:00
Arthur Baars
9d6260b334 Copy os.environment
Prevents cryptic "OSError: [WinError 10106] The requested service provider could not be loaded or initialized" error from Python subprocess call
2024-07-25 17:59:11 +02:00
Mathias Vorreiter Pedersen
30abc958a8 Merge pull request #16982 from MathiasVP/promote-unsigned-difference-expression-compared-zero-to-code-scanning
C++: Promote `cpp/unsigned-difference-expression-compared-zero` to Code Scanning
2024-07-25 16:18:39 +01:00
Jami Cogswell
eea3e82cca Java: fix 'regex-use' comments 2024-07-25 10:39:03 -04:00
Geoffrey White
27314aac16 Apply suggestions from code review
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-07-25 15:17:21 +01:00
Owen Mansel-Chan
1aa63c3f2e Accept model numbering changes 2024-07-25 14:55:50 +01:00
Jeroen Ketema
9d75782c44 Merge pull request #17073 from jketema/explicit-bool
C++: Add additional test cases for `explict` and `explicit(bool)` specifiers
2024-07-25 15:40:38 +02:00
Mathias Vorreiter Pedersen
087b0dac1d C++: Fix QLDoc. 2024-07-25 14:38:26 +01:00
Alex Ford
9fb657c4c4 Merge pull request #16781 from alexrford/rb/weak-sensitive-data-hashing
Add `rb/weak-sensitive-data-hashing` query port
2024-07-25 14:11:42 +01:00
Mathias Vorreiter Pedersen
4d3377b116 Merge branch 'main' into promote-unsigned-difference-expression-compared-zero-to-code-scanning 2024-07-25 14:00:05 +01:00
Jeroen Ketema
3e7a60c1a6 C++: Add additional test cases for explict and explicit(bool) specifiers
Note that the `explict(bool)` specifiers currently do not end up in the
database.
2024-07-25 14:41:44 +02:00
Anders Schack-Mulligen
c693f03462 Merge pull request #17070 from aschackmull/dataflow/pptype-refactor
Dataflow: Replace `ppReprType` with `DataFlowType.toString`.
2024-07-25 14:30:08 +02:00
Geoffrey White
245f43dd58 Merge pull request #17064 from geoffw0/swiftbobs
Swift: Minor fixes
2024-07-25 13:05:19 +01:00
Owen Mansel-Chan
a6cb511ed7 Convert XPath injection sinks to MaD 2024-07-25 12:56:06 +01:00
Owen Mansel-Chan
f3069c8fbb Improve XPath injection test (incl extra sinks)
Currently the extra sinks are not detected. This will be fixed in the
next commit.
2024-07-25 12:55:05 +01:00
Owen Mansel-Chan
78b66abad3 Convert existing credentials sinks to MaD
I checked that the tests failed when I removed the classes and passed
again when I add the MaD models.
2024-07-25 12:53:16 +01:00
Owen Mansel-Chan
93c9910e6f Convert go/request-forgery sinks to MaD 2024-07-25 12:53:15 +01:00
Owen Mansel-Chan
f7d681516a Allow MaD sinks for go/request-forgery
Request forgery sinks which have `getRequest` different from the sink
itself cannot be modeled using models-as-data.
2024-07-25 12:53:14 +01:00
Ian Lynagh
225d2915e5 Java/Kotlin: Add changenote for dropping SOURCE_ARCHIVE/TRAP_FOLDER 2024-07-25 12:48:55 +01:00
Ian Lynagh
e4b9335ce0 Kotlin: Remove support for deprecated SOURCE_ARCHIVE and TRAP_FOLDER 2024-07-25 12:46:13 +01:00
Mathias Vorreiter Pedersen
099c282277 C++: Move large function to its own file. 2024-07-25 12:11:09 +01:00
Anders Schack-Mulligen
7a48fe1102 Dataflow: Replace ppReprType with DataFlowType.toString. 2024-07-25 13:08:47 +02:00
Mathias Vorreiter Pedersen
c5da43e691 Merge pull request #16981 from MathiasVP/phi-escape-5-follow-up-2
C++: Alias analysis follow-up to #16907
2024-07-25 11:59:44 +01:00
Mathias Vorreiter Pedersen
34ad211900 C++: Add change note. 2024-07-25 10:50:28 +01:00
Mathias Vorreiter Pedersen
032ae9e1e7 Merge pull request #17034 from MathiasVP/more-alias-and-side-effect-models
C++: Add more alias and side effect models
2024-07-25 10:40:32 +01:00
Arthur Baars
8e7e7c0188 Update exepected output 2024-07-25 10:50:18 +02:00
Arthur Baars
9478139390 Java: buildless: proxy test with gradle 2024-07-25 08:34:11 +02:00
Arthur Baars
5a1adc51c1 Java: buildless: proxy test with maven 2024-07-25 08:32:48 +02:00
Arthur Baars
a35be08d18 Java: buildess proxy tests: add mitm_proxy.py
A mock implementation of an https man-in-the-middle proxy
2024-07-25 08:32:02 +02:00
Joe Farebrother
8f714c631f Code reveiw suggestions. correction in changenote + style in example
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-07-24 21:37:12 +01:00
Owen Mansel-Chan
5a39610ba7 Merge pull request #17053 from owen-mc/java/fix/regex-use-sink-kind
Java: Add comments about use of sink kind `regex-use`
2024-07-24 21:08:52 +01:00
Jami Cogswell
5854e88f63 Java: add change note 2024-07-24 16:00:38 -04:00
Geoffrey White
d77d7c533b Swift: Change note. 2024-07-24 18:25:06 +01:00
Geoffrey White
ecefa3e383 Swift: Fix a corrupted model. 2024-07-24 18:16:24 +01:00
Mathias Vorreiter Pedersen
3f5b4a81cf C++: Fix more inconsistencies. 2024-07-24 17:53:28 +01:00
Geoffrey White
44e33c7be7 Swift: Fill out the empty comment for SsaDefinitionNode (contents stolen from JS). 2024-07-24 17:51:12 +01:00
Calum Grant
d8cc92068a C++: Update attributes test output 2024-07-24 17:48:35 +01:00
Mathias Vorreiter Pedersen
4a34dc125b C++: Expand the macro manually to work around an extractor bug. 2024-07-24 15:51:54 +01:00
Mathias Vorreiter Pedersen
b3bffb6826 Merge branch 'main' into phi-escape-5-follow-up-2 2024-07-24 15:22:40 +01:00
Mathias Vorreiter Pedersen
7ec3162583 C++: Sync identical files. 2024-07-24 15:20:00 +01:00
Mathias Vorreiter Pedersen
a5efe9fa09 C++: Respond to review comments. 2024-07-24 15:18:26 +01:00
Mathias Vorreiter Pedersen
90b25a6696 Merge pull request #17057 from MathiasVP/avoid-expensive-negation
C++: Avoid expensive negation
2024-07-24 15:09:52 +01:00
Mathias Vorreiter Pedersen
5e484e4006 C++: Accept test changes. 2024-07-24 14:29:42 +01:00
Mathias Vorreiter Pedersen
b1bea31720 C++: Speed up alias analysis. 2024-07-24 14:29:41 +01:00
Mathias Vorreiter Pedersen
28cff2ea20 C++: Add a testcase with many def/use pairs in alias analysis. 2024-07-24 13:46:31 +01:00
Florin Coada
1de91b4cd5 Update unified changelog for 2.17.6 and 2.18.0 2024-07-24 12:55:51 +01:00
Mathias Vorreiter Pedersen
ff60d9647f C++: Sync identical files. 2024-07-24 11:53:14 +01:00
Mathias Vorreiter Pedersen
ec134927d8 C++: Avoid expensive negation. 2024-07-24 11:53:11 +01:00
Anders Schack-Mulligen
9f79a39deb Merge pull request #17026 from Marcono1234/patch-1
Java: Update `Annotation` predicate examples in language guide
2024-07-24 12:43:50 +02:00
Mathias Vorreiter Pedersen
854a277ab5 Merge branch 'main' into more-alias-and-side-effect-models 2024-07-24 10:53:27 +01:00
Mathias Vorreiter Pedersen
b7542ee575 C++: Fix more inconsistencies (and delete unnecessary override). 2024-07-24 10:52:35 +01:00
Geoffrey White
eaf2949857 Merge pull request #17054 from geoffw0/scanf
C++: Fix false positives in cpp/incorrectly-checked-scanf
2024-07-24 10:51:25 +01:00
Geoffrey White
741a3289a1 Merge pull request #17055 from geoffw0/usefree
C++: More tests for cpp/use-after-free
2024-07-24 10:35:32 +01:00
Jeroen Ketema
4cbc3349f6 Merge pull request #17050 from jketema/destroying-deletes
C++: Support destroying deletes
2024-07-24 09:29:55 +02:00
Jeroen Ketema
acbca9c108 C++: Support destroying deletes 2024-07-24 08:21:01 +02:00
Owen Mansel-Chan
3edeb82d5b Add comment by models using regex-use sink kind 2024-07-23 21:40:45 +01:00
Owen Mansel-Chan
89f958105a Mention regex-use sink kind in QLDoc for regexSinkKindInfo 2024-07-23 21:38:30 +01:00
Geoffrey White
1456012b54 C++: Additional test cases for cpp/use-after-free. 2024-07-23 18:02:14 +01:00
Geoffrey White
4920039a00 C++: Test spacing. 2024-07-23 18:01:30 +01:00
Geoffrey White
a98fac0d7d C++: Change note. 2024-07-23 17:27:42 +01:00
Geoffrey White
6026f65f8b C++: Fix FPs in cpp/incorrectly-checked-scanf. 2024-07-23 17:27:37 +01:00
Mathias Vorreiter Pedersen
43df4a9393 C++: Fix inconsistencies. 2024-07-23 17:22:04 +01:00
Geoffrey White
c3f2faff76 C++: Add another pattern I found in the wild. 2024-07-23 17:19:01 +01:00
Geoffrey White
a9f6b2110e C++: Add new test cases for cpp/incorrectly-checked-scanf. 2024-07-23 15:27:22 +01:00
Owen Mansel-Chan
4c8da54b64 Merge pull request #17036 from chmodxxx/sbaddou/fix
Java: Move SensitiveLoggerConfig source to extensible format
2024-07-23 14:55:26 +01:00
Chuan-kai Lin
67dac96e80 Merge pull request #17041 from github/post-release-prep/codeql-cli-2.18.1
Post-release preparation for codeql-cli-2.18.1
2024-07-23 06:48:30 -07:00
Geoffrey White
e467cc033e Merge pull request #17037 from geoffw0/sizecheck
C++: Fix issue with cpp/suspicious-allocation-size
2024-07-23 14:47:17 +01:00
Geoffrey White
1ed5af1d6a Merge pull request #17035 from geoffw0/allocerr
C++: Fix issue with cpp/incorrect-allocation-error-handling
2024-07-23 14:36:05 +01:00
Alexandre Boulgakov
db53be39fe Merge pull request #17047 from github/sashabu/using-enum
C++: Add `UsingEnumDeclarationEntry` changenote.
2024-07-23 14:19:18 +01:00
Alexandre Boulgakov
37ceb0118a Merge pull request #17048 from github/sashabu/ame
Docs: Document preference for American English in change notes.
2024-07-23 14:05:57 +01:00
Anders Schack-Mulligen
86c63dbedf Dataflow: Fix bug causing spurious flow for FeatureHasSinkCallContext. 2024-07-23 14:59:24 +02:00
Alexandre Boulgakov
e461691c85 C++: Move UsingEnumDeclarationEntry change note. 2024-07-23 13:57:07 +01:00
Alexandre Boulgakov
5e6c9fb661 Docs: Document preference for American English in change notes. 2024-07-23 13:49:30 +01:00
Alexandre Boulgakov
5a5c5d1012 C++: Translate change note to American English.
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-07-23 13:47:44 +01:00
Alexandre Boulgakov
29bda5a805 C++: Add UsingEnumDeclarationEntry changenote. 2024-07-23 13:43:57 +01:00
Anders Schack-Mulligen
f598a0b607 Dataflow: Add test highlighting bug. 2024-07-23 14:34:33 +02:00
Joe Farebrother
db27fd934a Add tests for tornado and twisted 2024-07-23 13:21:37 +01:00
Geoffrey White
c1bd892a13 Update cpp/ql/src/Security/CWE/CWE-311/CleartextStorage.inc.qhelp
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2024-07-23 13:14:07 +01:00
Salah Baddou
4f80ae2190 Merge branch 'main' into sbaddou/fix 2024-07-23 12:03:13 +01:00
Salah Baddou
092de640fe add change-notes 2024-07-23 11:04:56 +01:00
Joe Farebrother
44271813a5 Add change note 2024-07-23 10:15:28 +01:00
Joe Farebrother
93f70b3ad9 Add unit tests 2024-07-23 10:15:23 +01:00
Joe Farebrother
b28d79960b Update ConceptsTests and make a fix 2024-07-23 10:15:09 +01:00
Joe Farebrother
be87eb50d4 Add cookie models to each framework 2024-07-23 10:15:02 +01:00
Joe Farebrother
a73d675e6e Remove experimental query versions 2024-07-23 10:14:55 +01:00
Joe Farebrother
226e4eb8a5 Use a 3-valued newtype for hasSameSiteAttribute 2024-07-23 10:14:45 +01:00
Joe Farebrother
df5569fda9 Add documentation 2024-07-23 10:14:40 +01:00
Joe Farebrother
32fbe52f0f Model cookie attributes for Django and Flask 2024-07-23 10:14:33 +01:00
Joe Farebrother
6a7bdaf284 Fix experimental query compilation 2024-07-23 10:14:29 +01:00
Joe Farebrother
033dd9f8a6 Promote insecure cookie query 2024-07-23 10:14:22 +01:00
Joe Farebrother
9ad6c8c5eb Implement cookie attributes for cases in which a raw header is set 2024-07-23 10:14:16 +01:00
Joe Farebrother
2df09f6194 Change flag predicates to boolean parameters rather than boolean results 2024-07-23 10:14:08 +01:00
Joe Farebrother
6f7b2a2d20 Add cookie flags to cookie write concept, and alter experimental queries to use them 2024-07-23 10:14:00 +01:00
Owen Mansel-Chan
ff8bb2b1f8 Merge pull request #16760 from owen-mc/java/reverse-dns-separate-threat-model-kind
Java: make a separate threat model kind for reverse DNS sources
2024-07-23 10:08:52 +01:00
Jeroen Ketema
d2573310c6 Merge pull request #17006 from github/sashabu/using-enum
C++: Support `using enum` declarations.
2024-07-23 10:25:06 +02:00
Anders Schack-Mulligen
b5b9c4d931 Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
Java: Make class private
2024-07-23 10:07:51 +02:00
Anders Schack-Mulligen
bb86a07a93 Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
fix typo
2024-07-23 10:03:07 +02:00
Anders Schack-Mulligen
5912a17ab4 Update java/ql/lib/semmle/code/java/security/SensitiveLoggingQuery.qll
Autoformat
2024-07-23 10:01:49 +02:00
github-actions[bot]
49cc8f8ff8 Post-release preparation for codeql-cli-2.18.1 2024-07-22 22:00:48 +00:00
Chuan-kai Lin
54ac18092d Merge pull request #17040 from github/release-prep/2.18.1
Release preparation for version 2.18.1
2024-07-22 14:36:26 -07:00
Chuan-kai Lin
a5fe3f4d9c Minor changelog improvements 2024-07-22 14:34:56 -07:00
github-actions[bot]
368bcb684a Release preparation for version 2.18.1 2024-07-22 21:30:50 +00:00
Chuan-kai Lin
09f5e19c71 Merge pull request #17039 from github/revert-17032-release-prep/2.18.1
Revert "Release preparation for version 2.18.1"
2024-07-22 13:51:37 -07:00
Edward Minnix III
8038796207 Merge pull request #16993 from egregius313/egregius313/java/model-lastaflute-framework
Add models for the `lastaflute` framework
2024-07-22 16:40:16 -04:00
Chuan-kai Lin
23320b6e5e Revert "Release preparation for version 2.18.1" 2024-07-22 13:22:49 -07:00
Alexandre Boulgakov
3defc8b5de C++: Fix typo - remove unbound and unused variable in downgrade script. 2024-07-22 18:27:39 +01:00
Geoffrey White
437c679266 C++: Switch to using the Buffer.qll implementation directly. 2024-07-22 18:09:08 +01:00
Alexandre Boulgakov
af562f15f3 C++: Handle using_container in using-enum downgrade script. 2024-07-22 18:02:14 +01:00
Geoffrey White
e8718f9d2f C++: Change note. 2024-07-22 18:01:47 +01:00
Geoffrey White
7b03f3268f C++: Fix false positives. 2024-07-22 18:00:15 +01:00
Chuan-kai Lin
81ab2025a1 Merge pull request #17032 from github/release-prep/2.18.1
Release preparation for version 2.18.1
2024-07-22 09:46:06 -07:00
Alexandre Boulgakov
06a9599906 C++: Update stats for using enum. 2024-07-22 17:42:31 +01:00
Chuan-kai Lin
cda4339056 Minor changelog improvements 2024-07-22 09:42:31 -07:00
Alexandre Boulgakov
11f5663afc C++: Add using enum upgrade and downgrade scripts. 2024-07-22 17:42:28 +01:00
Alexandre Boulgakov
a0954f15c0 C++: Support using enum declarations. 2024-07-22 17:42:25 +01:00
Geoffrey White
45e92cec6a C++: Extend tests for cpp/suspicious-allocation-size. 2024-07-22 17:34:49 +01:00
Salah Baddou
2ad70cbee2 Move SensitiveLoggerConfig source to extensible format 2024-07-22 17:34:00 +01:00
Mathias Vorreiter Pedersen
db9cd1f612 C++: Fix QLDoc copy-paste fails. 2024-07-22 17:08:01 +01:00
Geoffrey White
b1608d815b C++: Change note. 2024-07-22 16:34:41 +01:00
Geoffrey White
b4fa23d731 C++: Address false positive results in template instantiations. 2024-07-22 16:34:39 +01:00
Mathias Vorreiter Pedersen
c256c87a7e Update cpp/ql/lib/semmle/code/cpp/models/implementations/Iterator.qll 2024-07-22 16:34:23 +01:00
Mathias Vorreiter Pedersen
281212a22c C++: Accept test changes. 2024-07-22 16:23:26 +01:00
Mathias Vorreiter Pedersen
999fb07931 C++: Add more alias models. 2024-07-22 16:19:19 +01:00
Rasmus Lerchedahl Petersen
3434c38da7 Python: update test expectations
This is MaD...
2024-07-22 17:03:29 +02:00
github-actions[bot]
55935fc123 Release preparation for version 2.18.1 2024-07-22 14:56:15 +00:00
Rasmus Lerchedahl Petersen
e30f725e71 Python: Remove questionable model for multiprocessing.connection.Listener 2024-07-22 15:43:06 +02:00
Anders Schack-Mulligen
272e523323 Dataflow: Add provenance to StagePathGraph. 2024-07-22 15:02:13 +02:00
Geoffrey White
8262330e4d C++: Extend the placement new test cases for cpp/incorrect-allocation-error-handling. 2024-07-22 12:38:19 +01:00
Geoffrey White
b00e312569 C++: Replace placeholder key in the example for cpp/cleartext-storage-database. 2024-07-22 11:17:34 +01:00
Geoffrey White
f931dab14a C++: Improve the cpp/cleartext-* query examples by using libsodium rather than pseudocode. 2024-07-22 11:17:33 +01:00
Geoffrey White
ffc61ae1bb C++: Make memset_s a clearer recommendation in the .qhelp for cpp/memset-may-be-deleted. 2024-07-22 09:51:22 +01:00
Marcono1234
6d468c1bae Java: Update Annotation predicate examples in language guide 2024-07-21 19:31:55 +02:00
Jami Cogswell
4790656b79 Java: add TaintInheritingContent for URL synthetic fields 2024-07-20 23:03:32 -04:00
Owen Mansel-Chan
2a5144d9d9 Improve tests for reverse DNS sources 2024-07-20 21:40:02 +01:00
Owen Mansel-Chan
a64eafca2b Do not mention subcategories of remote
They are not in use by any language yet.
2024-07-20 21:31:08 +01:00
Owen Mansel-Chan
38aac1f444 Merge pull request #17024 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-20 21:15:45 +01:00
github-actions[bot]
f83b70dbc2 Add changed framework coverage reports 2024-07-20 00:17:36 +00:00
Jami Cogswell
d6d2a213e7 Java: add change note 2024-07-19 18:19:37 -04:00
Jami Cogswell
f3e5b55cc4 Java: add path injection sinks for Property.setFile and Property.setResource 2024-07-19 18:04:17 -04:00
Geoffrey White
183b3fe6b0 Merge pull request #16570 from geoffw0/swiftssn
Swift: Use shared library for sensitive private information heuristics
2024-07-19 16:06:47 +01:00
Geoffrey White
1ca0de9067 Swift: Autoformat. 2024-07-19 13:55:33 +01:00
Geoffrey White
68a21663d9 Merge branch 'main' into swiftssn 2024-07-19 13:49:40 +01:00
Cornelius Riemenschneider
a63e70d173 Merge pull request #17015 from github/criemen/pytest-js
Integration tests: port to pytest.
2024-07-19 11:33:55 +02:00
Owen Mansel-Chan
24261b29d5 Merge pull request #17012 from owen-mc/go/mad/convert-sources-websockets
Go: convert models for websocket readers as remote flow sources to models-as-data
2024-07-19 10:04:27 +01:00
Cornelius Riemenschneider
620582fc09 Address review. 2024-07-19 10:50:11 +02:00
Joe Farebrother
661a4126ac Add change note 2024-07-19 09:23:33 +01:00
Joe Farebrother
baf51334e4 Update documentation 2024-07-19 09:13:30 +01:00
Michael Nebel
2796597d1a Code quality improvements. 2024-07-19 09:36:17 +02:00
Ed Minnix
ad4bca9975 Fix provenance in tests 2024-07-18 18:18:24 -04:00
Ed Minnix
0990a370c7 Convert QL classes for Lastaflute to MaD 2024-07-18 17:41:06 -04:00
Ed Minnix
9713551448 Missing QLDoc 2024-07-18 17:41:05 -04:00
Ed Minnix
4fa45bb81c Change note 2024-07-18 17:41:03 -04:00
Ed Minnix
62944ee473 Add tests for lastaflute framework 2024-07-18 17:41:02 -04:00
Ed Minnix
3bd330423d Add some models for the org.lastaflute.web library
Methods annotated `@Execute` are handlers for URLs. Therefore, the
parameters of the methods annotated with the
`org.lastaflute.web.Execute` annotation are likely either URL parameters
or forms.
2024-07-18 17:41:00 -04:00
Owen Mansel-Chan
9a66e66d66 Merge branch 'main' into amammad-java-bombs 2024-07-18 21:28:23 +01:00
Cornelius Riemenschneider
4d943f8d94 Merge branch 'main' into criemen/pytest-js 2024-07-18 21:51:33 +02:00
am0o0
7bb7d83b26 remove duplicate sinks
replace some RefType with DecompressionBomb::BombTypeInputStream
2024-07-18 20:55:59 +02:00
am0o0
aef0a03ab6 remove favorites.json 2024-07-18 20:46:40 +02:00
Michael B. Gale
9a729144e8 Merge pull request #17016 from github/mbg/go/log-output-for-go-version
Go: Output stdout/stderr for `go version` if something goes wrong
2024-07-18 16:50:09 +01:00
Michael B. Gale
3a9ff64780 Go: Output stdout/stderr for go version if something goes wrong 2024-07-18 15:37:59 +01:00
Cornelius Riemenschneider
3badd61a56 Integration tests: port to pytest.
Requires an internal PR.
2024-07-18 16:36:11 +02:00
Michael Nebel
0bf1ed1d96 C#/Java: Update model generator expected output. 2024-07-18 16:35:40 +02:00
Michael Nebel
ca4bd0c606 C#/Java/Go: Neutrals are split into seperate classes. 2024-07-18 16:29:38 +02:00
Michael Nebel
c9832df3c0 C#/Java: Add test for missing neutral summary generation. 2024-07-18 16:29:34 +02:00
Cornelius Riemenschneider
8fa575d79b Merge pull request #17010 from github/criemen/disable-remote-cache-zipmerge
pkg.bzl: Disable remote caching of zipmerge steps.
2024-07-18 16:18:37 +02:00
Anders Schack-Mulligen
94078e851c Shared: Add support for provenance pretty-printing as a qltest postprocess step. 2024-07-18 15:34:30 +02:00
Chris Smowton
c1853e04f5 Merge pull request #17013 from smowton/smowton/admin/maven-enforcer-test
Java: Add test for autobuild with maven-enforcer
2024-07-18 12:51:06 +01:00
Owen Mansel-Chan
a717c30c02 Merge pull request #16958 from github/max-schaefer-patch-1
Java: Tag `java/non-https-url` with CWE-345 ("Insufficient Verification of Data Authenticity")
2024-07-18 12:29:56 +01:00
Owen Mansel-Chan
cb0589dfb7 Tests: accept model numbering changes 2024-07-18 11:35:52 +01:00
Chris Smowton
1abe0d0f6d Add test for autobuild with maven-enforcer 2024-07-18 11:16:46 +01:00
Owen Mansel-Chan
fc17b905f0 Convert WebSocketReaderAsSource to MaD 2024-07-18 10:53:13 +01:00
Owen Mansel-Chan
e6c1ff573a Merge branch 'main' into max-schaefer-patch-1 2024-07-18 10:39:42 +01:00
Cornelius Riemenschneider
afb6e412f0 pkg.bzl: Disable remote caching of zipmerge steps. 2024-07-18 08:52:04 +02:00
Owen Mansel-Chan
0a2ed8302a Add test for websocket remote flow sources 2024-07-18 07:45:03 +01:00
Owen Mansel-Chan
1e4aadfbfd Trivial: improve variable name 2024-07-18 07:44:19 +01:00
Owen Mansel-Chan
8bc883274f Minor improvement to jsoniter test 2024-07-18 07:38:23 +01:00
Owen Mansel-Chan
a9bf17ef49 Merge pull request #17000 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-18 06:48:28 +01:00
github-actions[bot]
ca42eac589 Add changed framework coverage reports 2024-07-18 00:17:53 +00:00
Owen Mansel-Chan
433137ada6 Merge pull request #16960 from owen-mc/go/mad-sources-fasthttp
Go: Convert fasthttp sources to MaD
2024-07-17 21:31:49 +01:00
Geoffrey White
98319be3a7 Merge pull request #16985 from geoffw0/madprov
C++: Support MaD alert provenance
2024-07-17 16:25:49 +01:00
Mathias Vorreiter Pedersen
7b8301ac7a C++: Accept more test changes. 2024-07-17 15:44:52 +01:00
Mathias Vorreiter Pedersen
1c8e0c453c C++: Fix more inconsistencies. 2024-07-17 15:44:50 +01:00
Mathias Vorreiter Pedersen
45ba0c3319 Merge pull request #16907 from MathiasVP/phi-escape-5
C++: Add a new `MemoryLocation` to represent sets of `Allocation`s
2024-07-17 15:44:04 +01:00
Geoffrey White
7029de5989 Swift: Attempt to speed up evaluation of the private information regex for Swift. 2024-07-17 15:43:30 +01:00
Mathias Vorreiter Pedersen
8a3a3fa263 C++: Sync identical files. 2024-07-17 14:39:08 +01:00
Mathias Vorreiter Pedersen
d5ccb2e396 C++: Add a large QLDoc with example to 'getInstructionSuccessor'. 2024-07-17 14:39:02 +01:00
Michael B. Gale
784a07353e Merge pull request #16916 from github/dependabot/go_modules/go/extractor/extractor-dependencies-5727fbca95
Bump the extractor-dependencies group across 1 directory with 2 updates
2024-07-17 13:40:16 +01:00
dependabot[bot]
3641dfebff Bump the extractor-dependencies group across 1 directory with 2 updates
Bumps the extractor-dependencies group with 2 updates in the /go/extractor directory: [golang.org/x/mod](https://github.com/golang/mod) and [golang.org/x/tools](https://github.com/golang/tools).


Updates `golang.org/x/mod` from 0.15.0 to 0.19.0
- [Commits](https://github.com/golang/mod/compare/v0.15.0...v0.19.0)

Updates `golang.org/x/tools` from 0.18.0 to 0.23.0
- [Release notes](https://github.com/golang/tools/releases)
- [Commits](https://github.com/golang/tools/compare/v0.18.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/mod
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
- dependency-name: golang.org/x/tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: extractor-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-17 11:46:01 +00:00
Paolo Tranquilli
bf69c76829 Merge pull request #16987 from github/redsun82/go
Go/Bazel: use gazelle `go_deps` instead of a vendor directory
2024-07-17 13:44:23 +02:00
Owen Mansel-Chan
d109b1e20d Accept model numbering changes in tests 2024-07-17 12:37:23 +01:00
Owen Mansel-Chan
6b52cd4957 Do not use "request" threat model kind
It is not supported yet.
2024-07-17 12:12:00 +01:00
Owen Mansel-Chan
cfdd48711b Convert Fasthttp::RequestHeader::RemoteFlowSource to MaD 2024-07-17 12:11:59 +01:00
Owen Mansel-Chan
abeca3d9f9 Convert Fasthttp::RequestCtx::RemoteFlowSource to MaD 2024-07-17 12:11:58 +01:00
Owen Mansel-Chan
729069e3d9 Convert Fasthttp::Request::RemoteFlowSource to MaD 2024-07-17 12:11:57 +01:00
Owen Mansel-Chan
c3169d258f Convert Fasthttp::Args::RemoteFlowSource to MaD 2024-07-17 12:11:57 +01:00
Owen Mansel-Chan
5a00b5ec96 Convert Fasthttp::URI::RemoteFlowSource to MaD 2024-07-17 12:11:56 +01:00
Owen Mansel-Chan
f33927457f Adapt test to work better for MaD
In MaD, `Argument[n]` corresponds to the post-update node of the
argument, which in the old version of the test will be the definition of
`dstReader` for the tests for `ReadBody`, `ReadLimitBody`,
`ContinueReadBodyStream`, `ContinueReadBody`.
2024-07-17 12:11:55 +01:00
Owen Mansel-Chan
a8a4a201bd Merge pull request #16992 from owen-mc/go/mad/use-package-grouping
Go: use package grouping in existing models-as-data models
2024-07-17 12:08:26 +01:00
Mathias Vorreiter Pedersen
5f70c44270 C++: Add change note. 2024-07-17 11:44:38 +01:00
Mathias Vorreiter Pedersen
9dd43d8e6f C++: Promote 'cpp/unsigned-difference-expression-compared-zero' to Code Scanning. 2024-07-17 11:44:37 +01:00
Mathias Vorreiter Pedersen
dc32806f3f Merge pull request #16988 from MathiasVP/unsigned-difference-compares-eq-zero-fp-fixes
C++: Fix FPs in `cpp/unsigned-difference-expression-compared-zero`
2024-07-17 11:39:17 +01:00
Owen Mansel-Chan
238c6ccb2e Merge pull request #17003 from owen-mc/go/update-library-coverage-frameworks
Go: Add frameworks to frameworks.csv
2024-07-17 11:26:11 +01:00
Owen Mansel-Chan
f67026f2ad Accept model numbering changes in tests 2024-07-17 11:02:28 +01:00
Owen Mansel-Chan
4c3220ea9d Use package grouping in models for gocb 2024-07-17 10:36:38 +01:00
Owen Mansel-Chan
4b2075bfb1 Split models for separate protobuf packages into separate files 2024-07-17 10:36:37 +01:00
Owen Mansel-Chan
aa0749e4ba Use package grouping for go-jose/jwt models 2024-07-17 10:36:37 +01:00
Owen Mansel-Chan
8a5a9418c7 Add frameworks to frameworks.csv 2024-07-17 10:20:44 +01:00
Owen Mansel-Chan
e6c7e1a0bc Merge pull request #16990 from owen-mc/go/change-string-prefix-check
Go: Change string prefix check
2024-07-17 09:57:45 +01:00
Tom
f09010e79c Update NetHttp.qll 2024-07-17 16:39:11 +08:00
Owen Mansel-Chan
12fe998a4e Merge pull request #16986 from owen-mc/go/mad-sources-revel-nethttp
Go: Convert Revel and net/http sources to MaD
2024-07-16 22:13:50 +01:00
Jami
39f0288e09 Merge pull request #16964 from jcogs33/jcogs33/add-toByteArray-summaries
Java: add `IOUtils.toByteArray` summaries
2024-07-16 17:03:30 -04:00
Owen Mansel-Chan
e2356d9820 Merge pull request #16914 from owen-mc/java/android-app-detection
Java: Improve Android app detection
2024-07-16 21:52:43 +01:00
Owen Mansel-Chan
fc6b17ad64 Test: accept model numbers changing 2024-07-16 21:36:12 +01:00
Mathias Vorreiter Pedersen
dbe0fceea6 C++: Sync identical files. 2024-07-16 17:42:39 +01:00
Mathias Vorreiter Pedersen
083b9b77c9 C++: Delete redundant conjuncts. 2024-07-16 17:42:31 +01:00
Jami Cogswell
f90df85722 Java: update provenance numbers in tests again 2024-07-16 11:55:46 -04:00
Owen Mansel-Chan
535b4ea986 Convert net/http UserControlledRequestField sources to MaD 2024-07-16 16:53:02 +01:00
Owen Mansel-Chan
873fd6646b Convert Revel::UserControlledRequestMethod sources to MaD 2024-07-16 16:53:01 +01:00
Owen Mansel-Chan
034f2d4221 Convert Revel field read sources to MaD 2024-07-16 16:53:01 +01:00
Owen Mansel-Chan
2da1de7b13 Use packageGrouping in Revel models 2024-07-16 16:53:00 +01:00
Joe Farebrother
070d67816d Remove experimental version 2024-07-16 16:50:10 +01:00
Joe Farebrother
8d93c3a852 Move to cwe-20 2024-07-16 16:50:08 +01:00
Joe Farebrother
e885f1f8c4 Add documentation 2024-07-16 16:50:05 +01:00
Joe Farebrother
983bdb92a1 Add test cases + remove redundant import 2024-07-16 16:50:00 +01:00
Joe Farebrother
123214cb2b Promoto cookie injection query 2024-07-16 16:49:56 +01:00
Ian Lynagh
bf4a202cbd Merge pull request #16932 from igfoo/igfoo/kotlin-2.0.20
Kotlin: Add 2.0.20 support
2024-07-16 16:38:30 +01:00
Mathias Vorreiter Pedersen
9504e0f119 C++: Accept test changes. 2024-07-16 16:24:00 +01:00
Mathias Vorreiter Pedersen
8894fba17a C++: Sync identical files. 2024-07-16 16:19:04 +01:00
Mathias Vorreiter Pedersen
950d70ffed C++: Replace 'InitializeGroup' with 'UninitializedGroup'. 2024-07-16 16:16:50 +01:00
Owen Mansel-Chan
8647f69720 Change string prefix check
This avoids putting all the prefixes in the string pool.
2024-07-16 15:56:28 +01:00
Owen Mansel-Chan
0793c589f7 Merge pull request #16963 from owen-mc/go/mad-sources/go-restful-gin-mux
Go: Convert go-restful, Gin and Mux sources to MaD
2024-07-16 15:50:49 +01:00
Jami
a73170df49 Merge branch 'main' into jcogs33/add-toByteArray-summaries 2024-07-16 10:46:36 -04:00
Ian Lynagh
91dd99d7a6 Kotlin: Fixes for 2.0.20-Beta2 2024-07-16 15:07:34 +01:00
Ian Lynagh
06cc74f3aa Kotlin: Switch from 2.0.20-Beta1 to -Beta2 2024-07-16 15:07:33 +01:00
Ian Lynagh
adaeb01906 Kotlin: Update deps to 2.0.20-Beta2 2024-07-16 15:07:33 +01:00
Ian Lynagh
64ebfc6297 Kotlin: Add 2.0.20-Beta1 2024-07-16 15:07:32 +01:00
Ian Lynagh
eb0bcdd9b2 Kotlin: Add 2.0.20-Beta1 deps 2024-07-16 15:07:32 +01:00
Ian Lynagh
777cc357ee Kotlin: Support 2.0.20 2024-07-16 15:07:30 +01:00
Alexandre Boulgakov
f293b77bce Merge pull request #16972 from github/sashabu/templates
C++: Update tests to reflect on-demand indexing of special member functions.
2024-07-16 14:34:08 +01:00
Mathias Vorreiter Pedersen
4e916dedb1 C++: Add change note. 2024-07-16 13:17:31 +01:00
Mathias Vorreiter Pedersen
510bfb911a C++: Accept test changes. 2024-07-16 13:05:45 +01:00
Mathias Vorreiter Pedersen
3d88f08264 C++: Include more expressions in the base case. 2024-07-16 13:04:45 +01:00
Mathias Vorreiter Pedersen
983acf23bc C++: Add more FPs. 2024-07-16 13:04:42 +01:00
Mathias Vorreiter Pedersen
68e3be187a C++: Accept test changes. 2024-07-16 13:03:22 +01:00
Mathias Vorreiter Pedersen
d539ce0a01 C++: Use GVN for base case. 2024-07-16 13:02:43 +01:00
Mathias Vorreiter Pedersen
575fbd2578 C++: Prepatory simplification. 2024-07-16 13:02:41 +01:00
Mathias Vorreiter Pedersen
f5ec2315d7 C++: Add a FP from DCA. 2024-07-16 13:02:38 +01:00
Owen Mansel-Chan
db6cd1877c Accept suggested QLDoc fix
Co-authored-by: Chris Smowton <smowton@github.com>
2024-07-16 12:24:42 +01:00
Anders Schack-Mulligen
0d0b69eee0 Merge pull request #16835 from aschackmull/java/proper-clone-model
Java: Replace the MaD Object.clone() models with a non-aliasing value step.
2024-07-16 13:21:58 +02:00
Owen Mansel-Chan
ca06589386 Make comments clearer 2024-07-16 12:14:21 +01:00
Owen Mansel-Chan
cafb1181a0 Tests: Accept model numbering changes 2024-07-16 12:14:09 +01:00
Paolo Tranquilli
e469534b84 Go/Bazel: use gazelle go_deps instead of a vendor directory 2024-07-16 13:12:37 +02:00
Owen Mansel-Chan
124567caa4 Convert Mux::RequestVars to MaD 2024-07-16 11:18:19 +01:00
Owen Mansel-Chan
b3744ef230 Sort Gin source models 2024-07-16 11:18:18 +01:00
Owen Mansel-Chan
061c187a8e Convert GithubComGinGonicGinContextBindSource to MaD 2024-07-16 11:18:18 +01:00
Owen Mansel-Chan
ef833de123 Convert GithubComGinGonicGinContextSource to MaD 2024-07-16 11:18:17 +01:00
Owen Mansel-Chan
06a2a40f50 Convert GoRestfulReadEntitySource to MaD 2024-07-16 11:18:16 +01:00
Owen Mansel-Chan
7bfa4c1947 Convert GoRestfulSource to MaD 2024-07-16 11:18:14 +01:00
Anders Schack-Mulligen
37d78249e7 Java: Update provenance ids. 2024-07-16 11:11:54 +02:00
Anders Schack-Mulligen
2bfd65f145 Java: update expected output 2024-07-16 11:11:54 +02:00
Anders Schack-Mulligen
b2f57b4b48 Java: Update expected output. 2024-07-16 11:11:53 +02:00
Anders Schack-Mulligen
938f46b888 Java: Remove superfluous clone models. 2024-07-16 11:11:53 +02:00
Anders Schack-Mulligen
dc64a08467 Java: Update test expectations for Object.clone(). 2024-07-16 11:11:52 +02:00
Anders Schack-Mulligen
12d6875cc4 Java: Replace the MaD Object.clone() models with a non-aliasing value step. 2024-07-16 11:11:50 +02:00
Geoffrey White
e39e7656da C++: Change note. 2024-07-16 09:59:42 +01:00
Anders Schack-Mulligen
0fb27fb6fc Merge pull request #16979 from aschackmull/dataflow/internsets
Dataflow: Replace MakeSets with QlBuiltins::InternSets.
2024-07-16 10:47:07 +02:00
Geoffrey White
195c20cfd5 C++: Fix provenance for sources/sinks. 2024-07-16 09:33:51 +01:00
Geoffrey White
eefbb676e9 C++: Support alert provenance. 2024-07-16 09:33:48 +01:00
Owen Mansel-Chan
2dc63ef8d1 Merge pull request #16856 from owen-mc/go/mad-sources-chi-echo-elazarl
Go: Convert  chi echo and elazarl sources to MaD
2024-07-16 08:00:51 +01:00
Jami Cogswell
8f6d4be256 Java: update tests 2024-07-15 14:33:40 -04:00
Geoffrey White
391816c9e7 C++: Add path graph to one of the external models tests. 2024-07-15 17:37:55 +01:00
Jami
b70a4c839c Merge branch 'main' into jcogs33/add-toByteArray-summaries 2024-07-15 12:35:05 -04:00
Jami Cogswell
7f34dd1e0a Java: update change note 2024-07-15 12:15:02 -04:00
Jami Cogswell
cd82ada239 Java: add manual models for all overloads of IOUtils.toByteArray 2024-07-15 12:12:31 -04:00
Michael Nebel
18cde3bd78 Merge pull request #16873 from michaelnebel/csharp/narrowsourcegeneration
C#: Narrow source model generation.
2024-07-15 15:53:13 +02:00
Mathias Vorreiter Pedersen
1c336985e0 Merge pull request #16502 from github/MathiasVP-patch-1
Swift: Remove beta label
2024-07-15 13:54:34 +01:00
Mathias Vorreiter Pedersen
29e9c05f26 Merge branch 'main' into MathiasVP-patch-1 2024-07-15 13:27:42 +01:00
Anders Schack-Mulligen
da5abc8321 Dataflow: Replace MakeSets with QlBuiltins::InternSets. 2024-07-15 13:35:57 +02:00
Mathias Vorreiter Pedersen
5da3fb5e05 Merge pull request #16959 from MathiasVP/promote-iterator-to-expired-container-to-code-scanning
C++: Promote `cp/iterator-to-expired-container` to Code Scanning
2024-07-15 11:55:32 +01:00
Ian Lynagh
a951718f2e Merge pull request #16955 from igfoo/igfoo/kotlin-ga
Kotlin: Kotlin support is now out of beta, and generally available
2024-07-15 11:30:20 +01:00
am0o0
a10b5021b4 fix tests, it is not fixed 100% 2024-07-15 10:13:57 +02:00
Michael Nebel
8eba4a3e51 C#: Code quality improvement. 2024-07-15 08:05:13 +02:00
Owen Mansel-Chan
cd9b364e5a Merge pull request #16974 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-14 22:31:55 +01:00
am0o0
87b6495c91 add zlib tests with stubs :) 2024-07-14 21:10:56 +02:00
Owen Mansel-Chan
3efbee0d81 Accept provenance numbering changes 2024-07-14 16:06:29 +01:00
Owen Mansel-Chan
99ed3c2ac1 Convert ElazarlGoproxy::UserControlledRequestData to MaD 2024-07-14 14:28:48 +01:00
Owen Mansel-Chan
2ec64a9ca8 Convert EchoContextBinder to MaD 2024-07-14 14:28:47 +01:00
Owen Mansel-Chan
3fc598dbe9 Convert EchoContextSource to MaD 2024-07-14 14:28:46 +01:00
Owen Mansel-Chan
5b38d51f62 Convert Chi::UserControlledMethod to MaD 2024-07-14 14:28:46 +01:00
Owen Mansel-Chan
3bd4a203bb Convert Chi::UserControlledFunction to MaD 2024-07-14 14:28:44 +01:00
github-actions[bot]
7fc95b8eff Add changed framework coverage reports 2024-07-14 00:20:23 +00:00
Owen Mansel-Chan
dd1d5ecab4 Merge pull request #16967 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-13 17:24:36 +01:00
am0o0
bf506f8a9e remove redundent stubs 2024-07-13 18:06:02 +02:00
am0o0
71e1d63953 finilize tests 2024-07-13 18:00:50 +02:00
am0o0
d8e2d355df categorize the new stubs 2024-07-13 17:25:38 +02:00
am0o0
8f7c690529 revert some mistakes 2024-07-13 17:03:24 +02:00
am0o0
1d1c476674 update tests and use TaintFlowTestArgString
add stubs
add missed sink models
2024-07-13 16:58:51 +02:00
Jami
9c98296ad2 Merge pull request #16965 from jcogs33/jcogs33/add-FilePath-exists-sink
Java: add path-injection sink for `hudson.FilePath.exists()`
2024-07-13 10:15:37 -04:00
Chris Smowton
1cb9f6370f Use hasTaintFlow marker 2024-07-13 13:09:43 +02:00
Chris Smowton
059a1389c6 Run TaintedPath query on experimental tests 2024-07-13 13:09:26 +02:00
Chris Smowton
4e9a528df9 Move experimental tests 2024-07-13 13:09:08 +02:00
am0o0
025aa77e79 add the snappy missed sink 2024-07-13 11:15:45 +02:00
am0o0
8c106964ec remove duplicate parts thanks to @owen-mc 2024-07-13 11:11:07 +02:00
am0o0
3868b386f3 update inline tests 2024-07-13 10:47:42 +02:00
am0o0
0165696a1e update tests 2024-07-13 10:33:35 +02:00
am0o0
8ba48e801a fix examples 2024-07-13 10:28:19 +02:00
am0o0
dd3cc33298 move DecompressionBombsFlow::PathGraph to DecompressionBomb.ql 2024-07-13 10:24:07 +02:00
am0o0
c824aa4e45 delete pom.xml 2024-07-13 10:21:53 +02:00
Am
a3b5d2a28d Update java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.qhelp
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-07-13 10:20:43 +02:00
Am
4fbf76008e Update java/ql/src/experimental/Security/CWE/CWE-522-DecompressionBombs/DecompressionBomb.qhelp
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-07-13 10:20:25 +02:00
Owen Mansel-Chan
b7a5252cb0 Refactor inAndroidApplication 2024-07-13 07:35:02 +01:00
Owen Mansel-Chan
8dcef8223f Tweak change note 2024-07-13 07:31:18 +01:00
github-actions[bot]
5d657ba99a Add changed framework coverage reports 2024-07-13 00:18:24 +00:00
Alexandre Boulgakov
faf77d5526 C++: Update special members test results. 2024-07-12 18:10:32 +01:00
Alexandre Boulgakov
b3b04b4e5b C++: Extend template member test to better test on-demand indexing of special member functions. 2024-07-12 18:08:18 +01:00
Alexandre Boulgakov
18d9310a61 C++: Update tests to reflect on-demand indexing of special member functions.
None of these tests were relying on the removed rows.
2024-07-12 18:06:56 +01:00
Sid Shankar
772344dfa4 Merge pull request #16886 from aegilops/aegilops/polyfill-io-compromised-script 2024-07-12 11:34:17 -04:00
Paul Hodgkinson
de5ec1fc01 Merge branch 'main' into aegilops/polyfill-io-compromised-script 2024-07-12 14:22:15 +01:00
Rasmus Wriedt Larsen
efcd4e297e Add change-note 2024-07-12 15:21:51 +02:00
aegilops
79980a98a2 Added links to eventual location of CUSTOMIZING.md 2024-07-12 14:21:50 +01:00
Paul Hodgkinson
11249e7182 Apply suggestions from code review - docs tweaks of CUSTOMIZING.md
Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-07-12 14:20:03 +01:00
Rasmus Wriedt Larsen
db8a5306cf Python: Add MaD support for DictionaryElement/DictionaryElementAny for sources 2024-07-12 15:19:40 +02:00
Rasmus Wriedt Larsen
eed8b3e87b Python: Add more tests for MaD sources 2024-07-12 15:10:23 +02:00
Rasmus Wriedt Larsen
1de2943a9b Merge pull request #16940 from RasmusWL/rasmuswl/BuiltinModuleExtractable
Python: Handle diagnostics writing for `BuiltinModuleExtractable`
2024-07-12 14:46:30 +02:00
Tom Hvitved
9263977329 Ruby: Adopt shared SSA data-flow integration 2024-07-12 14:23:24 +02:00
Tom Hvitved
8a9f0bf433 Merge pull request #16966 from hvitved/ssa/reduce-caching
SSA: Reduce caching in data-flow integration layer
2024-07-12 14:22:49 +02:00
Paul Hodgkinson
c9af53f050 Merge branch 'main' into aegilops/polyfill-io-compromised-script 2024-07-12 12:53:44 +01:00
aegilops
61df4d2f04 Merge branch 'aegilops/polyfill-io-compromised-script' of https://github.com/aegilops/codeql into aegilops/polyfill-io-compromised-script 2024-07-12 12:49:18 +01:00
aegilops
00d91dc6ba Created guide on customizing these queries, and referenced it in the query help 2024-07-12 12:49:09 +01:00
aegilops
040f948e65 Added a note that SRI can be considered for some dynamic services 2024-07-12 12:48:36 +01:00
Tamás Vajk
0839742daa Merge pull request #16968 from tamasvajk/feature/buildless-deterministic-file-order-2
C#: Order syntax trees before creating compilation
2024-07-12 13:47:21 +02:00
Rasmus Wriedt Larsen
354394d4c2 Python: Don't use fake locations in diagnostics
Some of the internal tooling would not be too happy about this :D
2024-07-12 13:36:41 +02:00
Paul Hodgkinson
3f37fe6add Apply suggestions from code review - docs and wording
Docs suggestions accepted, thank you 🙏

Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-07-12 11:48:39 +01:00
Mathias Vorreiter Pedersen
f6627cc092 Merge pull request #16969 from MathiasVP/add-missing-underlying-type
C++: Strip specifiers and typedefs when finding iterator parameter for string taint function
2024-07-12 11:35:52 +01:00
Tom Hvitved
04f173d14e SSA: Reduce caching in data-flow integration layer 2024-07-12 11:04:03 +02:00
Mathias Vorreiter Pedersen
7a2b170da2 C++: Accept test changes. 2024-07-12 09:54:20 +01:00
Mathias Vorreiter Pedersen
813f08ef57 C++: Strip away specifiers and typedefs when finding iterator parameters for a string taint function. 2024-07-12 09:54:04 +01:00
Tamas Vajk
5a41b2c5fb C#: Order syntax trees before creating compilation 2024-07-12 10:12:20 +02:00
Tamas Vajk
d689ab0916 Revert "C#: Order files in buildless extraction"
This reverts commit ccf56a21c2.
2024-07-12 10:11:13 +02:00
Jami Cogswell
6b497da15f Java: fix line number changes in tests 2024-07-11 15:33:09 -04:00
Jami Cogswell
ab9a6faaf3 Java: add change note 2024-07-11 15:10:11 -04:00
Jami Cogswell
77a8ba934c Java: add path-injection sink for hudson.FilePath.exists() 2024-07-11 15:03:40 -04:00
Jami Cogswell
744a1a9b72 Java: fix line number changes in tests 2024-07-11 14:07:23 -04:00
Jami Cogswell
5cf05ec863 Java: add change note 2024-07-11 13:40:50 -04:00
Jami Cogswell
4a1497f367 Java: add IOUtils.toByteArray(InputStream) summary 2024-07-11 13:33:08 -04:00
Mathias Vorreiter Pedersen
1a2b4a30bb Merge pull request #16939 from geoffw0/docsforautofix
C++: Assorted minor doc improvements
2024-07-11 18:30:45 +01:00
Calum Grant
24914efcb8 Merge pull request #16956 from github/calumgrant/cpp20-array-sizes
C++: Test C++20 implicit array sizes.
2024-07-11 17:44:08 +01:00
Calum Grant
13c25a494f C++: Move change notes to correct location 2024-07-11 16:49:17 +01:00
Geoffrey White
bf47574796 Merge branch 'main' into docsforautofix 2024-07-11 16:42:27 +01:00
Ian Lynagh
5c97a5f667 Kotlin: Kotlin support is now out of beta, and generally available 2024-07-11 16:11:40 +01:00
Mathias Vorreiter Pedersen
a2a065c04e Merge pull request #16962 from geoffw0/ga-note
Swift: Add GA change note.
2024-07-11 16:04:19 +01:00
Geoffrey White
f5bfdbf5ef Swift: Fix change note file. 2024-07-11 16:01:52 +01:00
Tom Hvitved
0459422a6c C#: Restrict multi-body dataflow dispatch based on file-system distance 2024-07-11 16:52:20 +02:00
Tom Hvitved
35bf990f23 C#: Add data flow test for multi-body dispatch 2024-07-11 16:52:18 +02:00
Tom Hvitved
9794269550 Merge pull request #16952 from hvitved/ssa/barrier-guards-param-mod
SSA: Make barrier guards a parameterized module
2024-07-11 16:46:02 +02:00
Geoffrey White
e5761d6524 Swift: Add GA change note. 2024-07-11 15:36:28 +01:00
Rasmus Wriedt Larsen
f41d2a896c Merge pull request #16771 from porcupineyhairs/js2py
Python : Arbitrary code execution due to Js2Py
2024-07-11 15:31:57 +02:00
Mathias Vorreiter Pedersen
64513fb6c2 C++: Add change note. 2024-07-11 14:26:47 +01:00
Mathias Vorreiter Pedersen
8012f3b2f7 C++: Increase the precision of 'cpp/iterator-to-expired-container' to high. 2024-07-11 14:26:05 +01:00
Joe Farebrother
8152ec7472 Merge pull request #16696 from joefarebrother/python-cookie-write-headers
Python: Model CookieWrites from HeaderWrites
2024-07-11 14:25:54 +01:00
Angela P Wen
0b6714e06f Merge pull request #16954 from github/angelapwen/remove-ci-workaround
Remove CI workaround for `DatabaseQualityDiagnostics.ql`
2024-07-11 15:21:31 +02:00
Calum Grant
c6fb50095b C++: Change note and autoformat 2024-07-11 14:21:09 +01:00
Rasmus Wriedt Larsen
5ecde387af Python: Fix .expected 2024-07-11 14:42:26 +02:00
Max Schaefer
d5d0cf5d90 Java: Tag java/non-https-url with CWE-345 2024-07-11 13:37:09 +01:00
Calum Grant
29df3cb5b3 C++: Add test for C++20 implicit array sizes
Implement NewArrayExpr.getArraySize()
2024-07-11 12:59:52 +01:00
Ian Lynagh
311799c798 Merge pull request #16899 from igfoo/igfoo/semmle_dist
Java/Kotlin: Remove legacy $SEMMLE_DIST support
2024-07-11 12:48:53 +01:00
Erik Krogh Kristensen
de9370ae95 Merge pull request #16540 from aegilops/aegilops/js/insecure-helmet-middleware
JS/TS: insecure Helmet middleware (new query)
2024-07-11 13:48:09 +02:00
Owen Mansel-Chan
5bdef38dd9 Merge pull request #16941 from owen-mc/go/mad-package-alias
Go: Allow grouping import paths for models-as-data
2024-07-11 12:27:43 +01:00
Angela P Wen
90641a5152 Remove CI workaround for DatabaseQualityDiagnostics.ql 2024-07-11 13:22:06 +02:00
Jeroen Ketema
87d9218369 Merge pull request #16951 from jketema/builtin-op
C++: Support more builtin operations
2024-07-11 12:50:46 +02:00
aegilops
d71be8aeaf Moved from experimental into default queries 2024-07-11 11:44:01 +01:00
Michael B. Gale
45b782554c Merge pull request #16925 from github/mbg/go/add-vendor-env-var
Go: Add environment variable to include `vendor` directories in extraction
2024-07-11 11:06:31 +01:00
Paul Hodgkinson
412ad177c2 Merge branch 'main' into aegilops/js/insecure-helmet-middleware 2024-07-11 11:01:38 +01:00
Jeroen Ketema
5e0ce7efc4 C++: Fix test 2024-07-11 11:58:25 +02:00
Jeroen Ketema
ed42c3cd6f C++: Fix class extension 2024-07-11 11:48:01 +02:00
Tom Hvitved
16b142d332 SSA: Make barrier guards a parameterized module 2024-07-11 11:34:56 +02:00
Tom Hvitved
a452eadb33 Merge pull request #16946 from hvitved/csharp/fewer-version-regexps
C#: Perform fewer `regexpCapture`s when matching version numbers
2024-07-11 11:22:36 +02:00
Tamás Vajk
fd8cda36e5 Merge pull request #16924 from tamasvajk/feature/winforms-linux
C#: Restore Windows dependencies when Windows Forms or WPF usage is detected
2024-07-11 11:01:37 +02:00
Jeroen Ketema
48bf06f1aa C++: Fix getAPrimaryQlClass 2024-07-11 10:43:17 +02:00
Jeroen Ketema
0413e0e090 C++: Clean up QLDoc and add change note 2024-07-11 10:37:26 +02:00
Owen Mansel-Chan
3417605b6d Tests: update provenance numbering 2024-07-11 06:42:58 +01:00
Jeroen Ketema
3f789bad60 C++: Support more builtin operations 2024-07-10 21:27:09 +02:00
Owen Mansel-Chan
2c7fbda2ec Accept review suggestion for QLDoc 2024-07-10 16:48:11 +01:00
Owen Mansel-Chan
32acff76c2 Make groupPrefix() private
This could be made public in future. But I expect that we will want to
use this logic for QL models as well then we will want to move it into a
different file, which will be much easier if it's all private at the
moment.
2024-07-10 16:48:10 +01:00
Owen Mansel-Chan
b64ef84393 Use prefix() method on string to check for group prefix 2024-07-10 16:48:10 +01:00
Owen Mansel-Chan
3e2ebf436c Move logic for dealing with groups into a predicate 2024-07-10 16:48:09 +01:00
Owen Mansel-Chan
f6b9195a61 Add validation of package groups 2024-07-10 16:48:08 +01:00
Owen Mansel-Chan
ab991af2a5 Fix package validation errors 2024-07-10 16:48:07 +01:00
Owen Mansel-Chan
f650e3f72b Update MaD documentation explain "group:" in package column 2024-07-10 16:48:06 +01:00
Owen Mansel-Chan
01afa360d7 Tests: accept model numbering changes 2024-07-10 16:48:05 +01:00
Owen Mansel-Chan
1e448d547d Rename Beego MaD files using path from current version 2024-07-10 16:48:04 +01:00
Owen Mansel-Chan
fde7d7b969 Use packageGrouping for Beego models 2024-07-10 16:48:03 +01:00
Michael Nebel
4193b7e591 Allow grouping import paths for models-as-data 2024-07-10 16:48:02 +01:00
Tamás Vajk
57efb84b98 Merge pull request #16945 from tamasvajk/feature/buildless-deterministic-file-order
C#: Order files in buildless extraction
2024-07-10 16:25:01 +02:00
Tom Hvitved
39b5dbfaf7 C#: Perform fewer regexpCaptures when matching version numbers 2024-07-10 14:50:39 +02:00
Tom Hvitved
f18338259f Merge pull request #16884 from hvitved/ssa/dataflow-integration
SSA: Add data flow integration layer
2024-07-10 12:47:37 +02:00
Geoffrey White
0344381120 Merge remote-tracking branch 'upstream/main' into docsforautofix 2024-07-10 11:17:52 +01:00
Geoffrey White
74384625f6 C++: Autoformat. 2024-07-10 11:17:44 +01:00
Tom Hvitved
8979bac4d8 Update shared/ssa/codeql/ssa/Ssa.qll
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2024-07-10 10:55:13 +02:00
Tamas Vajk
ccf56a21c2 C#: Order files in buildless extraction 2024-07-10 10:53:53 +02:00
Tom Hvitved
7928d751d1 Address review comment 2024-07-10 09:52:09 +02:00
aegilops
01ec7c22df Fixed test 2024-07-09 19:19:06 +01:00
am0o0
dd4bce8e30 finilize tests 2024-07-09 19:48:58 +02:00
am0o0
7a5838f1a2 MethodAccess => MethodCall 2024-07-09 19:43:22 +02:00
am0o0
e87d2fe922 remove redundent imports 2024-07-09 19:41:06 +02:00
aegilops
0aab2aef3b Formatting of QLL 2024-07-09 18:16:37 +01:00
aegilops
dae2aeb7d3 QLDoc 2024-07-09 18:16:02 +01:00
Mathias Vorreiter Pedersen
81593ece5a Merge pull request #16935 from MathiasVP/iterator-to-expired-container-fp-5
C++: Add `cpp/iterator-to-expired-container` FP
2024-07-09 17:07:19 +01:00
aegilops
86afd54a9b Moved new query to 'experimental'
Moved lists of domains to data extensions, including adding those to the overall qlpack.yml

Expanded scope of new query to further domains operated by the untrusted owners of polyfill.io
2024-07-09 16:38:01 +01:00
Rasmus Wriedt Larsen
60d1dc8af8 Python: Bump extractor version 2024-07-09 14:15:52 +02:00
Rasmus Wriedt Larsen
6b3625e24e Python: Handle diagnostics writing for BuiltinModuleExtractable 2024-07-09 14:15:52 +02:00
Rasmus Wriedt Larsen
c1da2c1d2f Python: Gracefully handle exceptions in diagnostics writing 2024-07-09 14:15:51 +02:00
Rasmus Wriedt Larsen
a8b976b389 Python: Always log errors before writing diagnostics
So we have the info in the logs if the diagnostics processing fails
2024-07-09 13:47:53 +02:00
Tom Hvitved
d41eae6fc3 SSA: Add data-flow integration layer 2024-07-09 12:49:22 +02:00
Mathias Vorreiter Pedersen
48edb77300 C++: Add 'cpp/iterator-to-expired-container' FP. 2024-07-09 11:24:18 +01:00
Mathias Vorreiter Pedersen
6359388cea Merge pull request #16915 from MathiasVP/fix-iterator-to-expired-container-fp-4
C++: Fix `cpp/iterator-to-expired-container` FPs
2024-07-09 11:23:46 +01:00
Owen Mansel-Chan
d4bfab4735 Accept minor copy-editing suggestions. 2024-07-09 07:00:01 +01:00
Mathias Vorreiter Pedersen
39ad4d4a89 Merge pull request #16930 from MathiasVP/promote-unsafe-strncat-to-code-scanning 2024-07-08 21:51:57 +01:00
Mathias Vorreiter Pedersen
2c5f007687 Merge pull request #16929 from MathiasVP/add-unsafe-strncat-fp 2024-07-08 18:54:58 +01:00
Cornelius Riemenschneider
f87e680185 Merge pull request #16928 from github/criemen/install-remove
Install script: Windows-compatible cleanup path.
2024-07-08 17:53:18 +02:00
Owen Mansel-Chan
496e76c1c5 Merge pull request #16931 from owen-mc/go/fix/clear-sanitizer
Go: fix `clear` sanitizer
2024-07-08 16:52:37 +01:00
Cornelius Riemenschneider
16660ab1df address review 2024-07-08 17:37:33 +02:00
Cornelius Riemenschneider
8df2e4952c address review 2024-07-08 17:27:17 +02:00
Owen Mansel-Chan
a774aacfa8 Add change note 2024-07-08 16:09:17 +01:00
Mathias Vorreiter Pedersen
9cfd06c761 C++: Increase the precision of 'cpp/unsafe-strncat' to high. 2024-07-08 16:06:58 +01:00
Owen Mansel-Chan
68929d1f73 Fix definition of ClearSanitizer 2024-07-08 16:05:17 +01:00
Owen Mansel-Chan
eec2aa82a6 Add failing tests for ClearSanitizer 2024-07-08 16:05:04 +01:00
Mathias Vorreiter Pedersen
962c73da16 C++: Promote 'cpp/unsafe-strncat' to Code Scanning. 2024-07-08 16:02:29 +01:00
Angela P Wen
80bd361607 Merge pull request #16926 from github/post-release-prep/codeql-cli-2.18.0
Post-release preparation for codeql-cli-2.18.0
2024-07-08 16:51:16 +02:00
Owen Mansel-Chan
b83147fa44 Add links on threat models to change note 2024-07-08 15:39:27 +01:00
Owen Mansel-Chan
8241d0b7ef Update QLDoc for ReverseDnsUserInput 2024-07-08 15:33:39 +01:00
Owen Mansel-Chan
07a25a233d Update threat model documentation 2024-07-08 15:32:47 +01:00
Cornelius Riemenschneider
bb78536804 Install script: Windows-compatible cleanup path.
Windows might need some retrying around deleting
the target directory.
2024-07-08 16:21:29 +02:00
Owen Mansel-Chan
64432215a9 Make "reverse-dns" pass validation 2024-07-08 15:16:14 +01:00
Owen Mansel-Chan
8526510783 Add ungrouped threat models to threat-model-grouping.model.yml 2024-07-08 15:15:40 +01:00
Mathias Vorreiter Pedersen
d5d04f2f4c C++: Add a 'cpp/unsafe-strncat' FP. 2024-07-08 15:13:00 +01:00
Geoffrey White
8818f63ca7 C++: Add some practical details to the examples. 2024-07-08 14:32:05 +01:00
Geoffrey White
80af5b7725 C++: Add a third example for cpp/world-writable-file-creation. 2024-07-08 14:32:04 +01:00
Geoffrey White
4f0d725acd C++: Add a 'good' example as well. 2024-07-08 14:32:03 +01:00
Geoffrey White
d52210d565 C++: Improve the example for cpp/return-stack-allocated-memory. 2024-07-08 14:32:01 +01:00
Geoffrey White
3c70583aa2 C++: Add close calls to examples for cpp/toctou-race-condition. 2024-07-08 14:32:00 +01:00
Geoffrey White
0288499801 C++: Rephrase the alert message for cpp/wrong-type-format-argument to be less prescriptive. 2024-07-08 14:31:59 +01:00
github-actions[bot]
ae3aba061b Post-release preparation for codeql-cli-2.18.0 2024-07-08 13:30:13 +00:00
Michael B. Gale
7ca57e114f Go: Add CODEQL_EXTRACTOR_GO_EXTRACT_VENDOR_DIRS env var
If set to `true`, this allows `vendor` directories to be extracted
2024-07-08 14:08:19 +01:00
Michael B. Gale
bc61a58000 Go: Add integration test for extracting vendored dependencies 2024-07-08 14:05:06 +01:00
Tamas Vajk
7387c565e4 C#: Restore Windows dependencies when Windows Forms or WPF usage is detected 2024-07-08 14:44:20 +02:00
Tamas Vajk
7fc1e13672 C#: Add buildless integration test with Windows Forms application 2024-07-08 14:08:15 +02:00
Paolo Tranquilli
0421ceff93 Merge pull request #16922 from github/redsun82/kotlin-wrapper
Kotlin: make wrapper cache downloaded zips
2024-07-08 13:53:35 +02:00
Paolo Tranquilli
a30e7d2cfd Kotlin: add all .kotlin_* in dev to .gitignore 2024-07-08 13:18:56 +02:00
Angela P Wen
dc20b0d19e Merge pull request #16921 from github/release-prep/2.18.0
Release preparation for version 2.18.0
2024-07-08 13:12:57 +02:00
Chris Smowton
d9573596c7 Merge pull request #16810 from smowton/smowton/feature/java-low-db-quality-query
Java: add diagnostic query indicating low database quality
2024-07-08 12:06:42 +01:00
aegilops
5a3328b07a Merge branch 'aegilops/js/insecure-helmet-middleware' of https://github.com/aegilops/codeql into aegilops/js/insecure-helmet-middleware 2024-07-08 11:31:15 +01:00
aegilops
2aff2a7385 Fixed code markup 2024-07-08 11:31:06 +01:00
Paul Hodgkinson
d896fdf9fa Merge branch 'main' into aegilops/js/insecure-helmet-middleware 2024-07-08 11:25:47 +01:00
Rasmus Wriedt Larsen
173cd13ded Python: Add test for impossible isinstance flow 2024-07-08 12:06:53 +02:00
aegilops
c003f265b0 Fixed missing li closing tag 2024-07-08 10:58:06 +01:00
Paolo Tranquilli
002e1eb730 Kotlin: make wrapper cache downloaded zips
Also removed the version check step, as a version not existing will give
a 404 any way later on, and that was adding a delay.

The cache is stored in a `.kotlinc_zips` and will be cleaned up by
`--clear`.
2024-07-08 11:57:07 +02:00
aegilops
1fe14e26b1 Split out "compromised" functionality 2024-07-08 10:56:12 +01:00
Chris Smowton
c4f32ec080 Trivial change to trigger CI 2024-07-08 10:51:24 +01:00
github-actions[bot]
b0d6778652 Release preparation for version 2.18.0 2024-07-08 09:10:51 +00:00
Owen Mansel-Chan
e2a6358048 Update tests so they still work 2024-07-07 00:24:28 +01:00
Owen Mansel-Chan
de5fc4e609 Add change notes 2024-07-07 00:24:27 +01:00
Owen Mansel-Chan
5347770608 Update Android app detection 2024-07-07 00:24:25 +01:00
Mathias Vorreiter Pedersen
0e6b2f0f53 C++: Accept query test changes. 2024-07-06 12:27:42 +01:00
Mathias Vorreiter Pedersen
8ccdc2518f C++: Accept test changes. 2024-07-06 12:27:41 +01:00
Mathias Vorreiter Pedersen
a747ffca07 C++: Address definitions should also handle ssa variables that are calls. 2024-07-06 12:27:35 +01:00
Owen Mansel-Chan
9c82966022 Move detection of Android app to one place 2024-07-05 23:47:56 +01:00
Mathias Vorreiter Pedersen
79919d3c58 C++: Add FP dataflow test. 2024-07-05 17:36:47 +01:00
Mathias Vorreiter Pedersen
31a5a7aebc Merge pull request #16913 from MathiasVP/add-iterator-to-expired-container-fp-3
C++: Add `cpp/iterator-to-expired-container` FP test
2024-07-05 16:26:08 +01:00
Mathias Vorreiter Pedersen
aad233b776 C++: Add FP test. 2024-07-05 15:52:10 +01:00
Koen Vlaswinkel
b7a67b1e51 Merge pull request #16910 from github/koesie10/python-exclude-test-files
Python: Exclude probable test files in model editor
2024-07-05 15:49:07 +02:00
Koen Vlaswinkel
779795b421 Python: Exclude probable test files in model editor 2024-07-05 11:06:22 +02:00
Geoffrey White
5d898727c0 C++: Add the examples to the test. 2024-07-04 17:11:11 +01:00
Geoffrey White
1343e4c9aa C++: Add another 'good' example for cpp/unsigned-difference-expression-compared-zero. 2024-07-04 17:11:10 +01:00
Geoffrey White
7abece46c7 C++: Add a 'good' example for cpp/unsigned-difference-expression-compared-zero. 2024-07-04 17:11:09 +01:00
Geoffrey White
4de43e1bfa C++: Add the examples to the test. 2024-07-04 17:11:08 +01:00
Geoffrey White
f64743e91d C++: Fix mistake in example for cpp/incorrect-allocation-error-handling. 2024-07-04 16:19:32 +01:00
Mathias Vorreiter Pedersen
4893785c68 C++: Accept test changes to GVN. 2024-07-04 15:15:46 +01:00
Mathias Vorreiter Pedersen
5d58cf6208 C++: Accept query test changes. 2024-07-04 15:15:38 +01:00
am0o0
fe1103d997 add stubs, upgrade test to inline test, update test files 2024-07-04 15:25:36 +02:00
Mathias Vorreiter Pedersen
b954845318 C++: Ignore the new 'InitializeGroup' instruction in dataflow. 2024-07-04 14:22:06 +01:00
Mathias Vorreiter Pedersen
6ef9dba2fb C++: Accept test changes. 2024-07-04 14:22:04 +01:00
Mathias Vorreiter Pedersen
89f0705585 C++: Sync identical files. 2024-07-04 14:22:03 +01:00
Mathias Vorreiter Pedersen
72b52cc814 C++: Insert Chi instructions after InitializeGroup instructions whose variable group's virtual variable is all aliased memory. 2024-07-04 14:22:02 +01:00
Mathias Vorreiter Pedersen
d1e1037586 C++: Accept test changes. 2024-07-04 14:22:00 +01:00
Mathias Vorreiter Pedersen
92e814b75e C++: Stub 'VariableGroup' and 'GroupedMemoryLocation' in unaliased SSA so that the pyrameterized files compile. 2024-07-04 14:21:59 +01:00
Mathias Vorreiter Pedersen
db525f5cee C++: Sync identical files. 2024-07-04 14:21:58 +01:00
Mathias Vorreiter Pedersen
03ec184ee0 C++: Add 'InitializeGroup' instructions to the successor relation. 2024-07-04 14:21:56 +01:00
Mathias Vorreiter Pedersen
c4d72e5b4f C++: No need to check if the offset is non-negative. It always is because of 'defBlock.getInstruction(oldOffset)' has a result. 2024-07-04 14:21:55 +01:00
Mathias Vorreiter Pedersen
cf8b2d55c5 C++: Hide away the 'multiply by two' hack in a predicate. 2024-07-04 14:21:53 +01:00
Mathias Vorreiter Pedersen
8db7ece8d4 C++: Fill in trivial parts of SSA. 2024-07-04 14:21:51 +01:00
Mathias Vorreiter Pedersen
2c4bf13d05 C++: Sync identical files. 2024-07-04 14:21:50 +01:00
Mathias Vorreiter Pedersen
c54dc49891 C++: Improve 'toString' on the 'InitializeGroup' instruction. 2024-07-04 14:21:49 +01:00
Mathias Vorreiter Pedersen
b185c67d4f C++: Handle overlap with grouped memory locations. 2024-07-04 14:21:47 +01:00
Mathias Vorreiter Pedersen
e7c43b3fcc C++: Return grouped memory locations from 'getOperandMemoryLocation' and 'getResultMemoryLocation'. 2024-07-04 14:21:46 +01:00
Mathias Vorreiter Pedersen
09c03d9a5f C++: The virtual variable of a variable that is contained in a grouped memory location is that grouped memory location (or all aliased memory if it escapes). 2024-07-04 14:21:45 +01:00
Mathias Vorreiter Pedersen
399d47d2cb C++: Cleanup 2024-07-04 14:21:43 +01:00
Mathias Vorreiter Pedersen
5e1c67f5f1 C++: Add a new 'MemoryLocation' that represents a set of allocations. 2024-07-04 14:21:42 +01:00
Paolo Tranquilli
3ae4cb2f9d Merge pull request #16906 from github/redsun82/swift-codespace
Swift: add `git lfs` installation to codespace configuration
2024-07-04 14:55:31 +02:00
Paolo Tranquilli
5c7bbc0287 Swift: add git lfs installation to codespace configuration 2024-07-04 14:28:22 +02:00
Rasmus Wriedt Larsen
0a32f9fed6 Python: Update query metadata 2024-07-04 14:09:37 +02:00
Rasmus Wriedt Larsen
8d1113cdaf Python: Fixup qhelp 2024-07-04 14:01:30 +02:00
Mathias Vorreiter Pedersen
c5c4f08bea C++: Rename from 'getAllocation' to 'getAnAllocation'. 2024-07-04 12:12:00 +01:00
Mathias Vorreiter Pedersen
0b84329e8c C++: Expose the 'AddressOperand' from both 'hasResultMemoryAccess' and 'hasOperandMemoryAccess' and add a boolean column indicating whether they relate to multiple 'Allocation's. 2024-07-04 12:11:59 +01:00
Mathias Vorreiter Pedersen
1c8cf3cd2c C++: Sync identical files. 2024-07-04 12:11:58 +01:00
Mathias Vorreiter Pedersen
ffa55b4bf8 C++: Disable special casing of Phi operands in alias analysis. Instead, we simply add flow through them. 2024-07-04 12:11:57 +01:00
Mathias Vorreiter Pedersen
ef8532982c C++: Sync identical files. 2024-07-04 12:11:56 +01:00
Mathias Vorreiter Pedersen
72679c82a9 C++: Add a new opcode and instruction. 2024-07-04 12:11:54 +01:00
Mathias Vorreiter Pedersen
4953e7e7fa C++: Add tests. 2024-07-04 12:11:50 +01:00
Erik Krogh Kristensen
1c0c51faaf Merge pull request #16904 from igfoo/igfoo/shouldExtract
JS: Remove call to shouldExtract
2024-07-04 12:44:54 +02:00
Tom Hvitved
d675304703 Merge pull request #16875 from hvitved/csharp/ssa-param-def
C#: Move implicit entry definitions inside method bodies in SSA construction
2024-07-04 10:51:06 +02:00
Tamás Vajk
456c649c7d Merge pull request #16895 from tamasvajk/feature/fix-glob-pattern-processing
C#: Fix glob pattern processing: allow `**/` to match empty string
2024-07-04 10:46:36 +02:00
Ian Lynagh
95a418aa14 JS: Remove call to shouldExtract
It always returns true nowadays.
2024-07-04 09:42:07 +01:00
Mathias Vorreiter Pedersen
8e18e7d4e6 Merge pull request #16791 from MathiasVP/collection-content-2
C++: Add support for `Element` content
2024-07-04 08:52:33 +01:00
Tom Hvitved
da0909c080 Merge pull request #16896 from hvitved/ssa/dataflow-integration-prep
SSA: Add `BasicBlock.{getNode/1,length/0}` to the input signature
2024-07-03 19:56:35 +02:00
Mathias Vorreiter Pedersen
356d928544 C++: Accept test changes. 2024-07-03 18:16:20 +01:00
Mathias Vorreiter Pedersen
af28dd8eb4 C++: Add bsl models for 'array::front' and 'array::back'. 2024-07-03 18:14:10 +01:00
Mathias Vorreiter Pedersen
f9d6c63cbb C++: Add more 'Argument[-1]' to 'ReturnValue' flow. 2024-07-03 17:27:22 +01:00
Mathias Vorreiter Pedersen
246f3fd3e2 C++: Fix 'emplace_after' model in bsl. 2024-07-03 17:21:10 +01:00
Ian Lynagh
ea16f72c6f Java: Add changenote for dropping $SEMMLE_DIST support 2024-07-03 17:12:04 +01:00
Ian Lynagh
3260966e3b Kotlin: Remove unused SEMMLE_DIST 2024-07-03 17:10:41 +01:00
Mathias Vorreiter Pedersen
5351c2734f C++: Fix 'assign' models. 2024-07-03 17:01:43 +01:00
Mathias Vorreiter Pedersen
6d05324724 C++: Make sure the 'emplace' functions that return iterators are modeled via Element content. 2024-07-03 16:47:18 +01:00
Mathias Vorreiter Pedersen
e03f8084e6 C++: Fix yml file name. 2024-07-03 16:04:14 +01:00
Mathias Vorreiter Pedersen
c4dabb94d6 C++: Add models for 'array::front' and 'array::back'. 2024-07-03 16:03:25 +01:00
Porcupiney Hairs
808af28618 Python : Arbitrary codde execution due to Js2Py
Js2Py is a Javascript to Python translation library written in Python. It allows users to invoke JavaScript code directly from Python.
The Js2Py interpreter by default exposes the entire standard library to it's users. This can lead to security issues if a malicious input were directly.

This PR includes a CodeQL query along with a qhelp and testcases to detect cases where an untrusted input flows to an Js2Py eval call.

This query successfully detects CVE-2023-0297 in `pyload/pyload`along with it's fix.
The databases can be downloaded from the links bellow.
```
https://file.io/qrMEjSJJoTq1
https://filetransfer.io/data-package/a02eab7V#link
```
2024-07-03 19:06:34 +05:30
Taus
b779341ba6 Merge pull request #16885 from github/tausbn/python-fix-bad-join-in-function-resolution-type-tracker
Python: Fix bad join in function resolution
2024-07-03 13:59:13 +02:00
Tamas Vajk
6a036f4e84 Improve code quality 2024-07-03 12:45:47 +02:00
Mathias Vorreiter Pedersen
d7eac4d567 C++: Add change note. 2024-07-03 11:33:52 +01:00
Mathias Vorreiter Pedersen
b8c01e2901 C++: Accept test changes. 2024-07-03 11:18:21 +01:00
Mathias Vorreiter Pedersen
5be948533c C++: Replace 'Element[*@]' with 'Element[@]'. 2024-07-03 11:18:13 +01:00
Rasmus Wriedt Larsen
f9536e9a66 Merge pull request #16883 from github/tausbn/python-fix-bad-join-in-import-resolution
Python: Fix bad join in `getImmediateModuleReference`
2024-07-03 11:40:01 +02:00
Tom Hvitved
4ae8720930 SSA: Add BasicBlock.{getNode/1,length/0} to the input signature 2024-07-03 11:32:35 +02:00
Owen Mansel-Chan
dfc59a45c2 Merge pull request #16894 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-07-03 10:17:16 +01:00
Mathias Vorreiter Pedersen
640c842969 Merge pull request #16892 from MathiasVP/fix-qldoc-on-GuardCondition
C++: Update QLDoc on `GuardCondition`
2024-07-03 09:25:13 +01:00
Mathias Vorreiter Pedersen
284007dbff C++: Fix more QLDoc. 2024-07-03 09:14:06 +01:00
am0o0
7e5f2e2a48 experimentalSinkModel to sinkModel, remove one path injection sink that already exist before 2024-07-03 08:55:12 +02:00
Tamas Vajk
b36db5ad11 C#: Fix glob pattern processing: allow **/ to match empty string 2024-07-03 08:09:34 +02:00
github-actions[bot]
13bb93ea20 Add changed framework coverage reports 2024-07-03 00:17:59 +00:00
Mathias Vorreiter Pedersen
4652003688 C++: Update QLDoc on 'GuardCondition' to reflect the fact that switch statements are supported. 2024-07-02 20:21:54 +01:00
Rasmus Wriedt Larsen
ce177c3450 Merge pull request #15655 from yoff/python/support-model-editor
Python: Support model editor
2024-07-02 16:28:58 +02:00
Tom Hvitved
8e8100fd34 Merge pull request #16887 from hvitved/ruby/local-flow-missing-steps
Ruby: Add missing local flow steps
2024-07-02 15:43:52 +02:00
Mathias Vorreiter Pedersen
6b025db824 C++: Add QLDoc to 'getParameterTypeName'. 2024-07-02 14:26:15 +01:00
Mathias Vorreiter Pedersen
c104a0a74c C++: Expand QLDoc on 'signatureMatches'. 2024-07-02 14:23:04 +01:00
Rasmus Wriedt Larsen
dc33f0de1d Python: Additional tests for model-editor
We currently have some problems with these files, that we should fix
later down the line. See PR comment for more details.
2024-07-02 14:28:46 +02:00
Tom Hvitved
19e910e1b5 Merge pull request #16801 from hvitved/ruby/element-reference-block
Ruby: Handle element references with blocks
2024-07-02 13:08:31 +02:00
Owen Mansel-Chan
c7ad0ad406 Merge pull request #16809 from owen-mc/go/mad-sources-beego
Go: Convert Beego sources to MaD
2024-07-02 09:36:48 +01:00
Michael Nebel
e05f835683 C#: Update model generator expected output. 2024-07-02 07:52:30 +01:00
Michael Nebel
5639ada3ed C#: Do not generate source models for Overriable callables that overrides or implements something. 2024-07-02 07:52:26 +01:00
Michael Nebel
70494d339d C#: Re-write some of the existing source model generation tests and introduce a new one for ToString. 2024-07-02 07:52:22 +01:00
Michael Nebel
a108b9c37d C#: Fix some bugs in the python script for the model generator. 2024-07-02 07:52:18 +01:00
Michael Nebel
25b20186af Merge pull request #16861 from michaelnebel/modelgen/sourcesinklift
C#/Java: Do not lift source and sink models.
2024-07-02 08:50:31 +02:00
Tamás Vajk
b4707abf4c Merge pull request #16871 from tamasvajk/fix/quality-issues
C#: Fix quality issues
2024-07-01 22:23:43 +02:00
Tom Hvitved
7fdc09c17f Ruby: Add missing local flow steps 2024-07-01 19:46:40 +02:00
aegilops
e2b37f97b0 Added dot to end of test message 2024-07-01 17:41:26 +01:00
am0o0
7df59ffe6c update tests, is not completed yet :) 2024-07-01 18:22:27 +02:00
Paul Hodgkinson
d289fb414e Merge branch 'main' into aegilops/polyfill-io-compromised-script 2024-07-01 17:15:07 +01:00
aegilops
73fc6bcdb1 Added some missing QLDoc 2024-07-01 17:10:24 +01:00
aegilops
b4d8c4889a Fixed wrong name for example HTML 2024-07-01 16:58:03 +01:00
aegilops
c985c9adb3 Added change note for polyfill.io query 2024-07-01 16:56:07 +01:00
aegilops
1744a98017 Added full stop to end of message 2024-07-01 16:53:22 +01:00
aegilops
ceda46e317 Fixed ending <p> tags 2024-07-01 16:52:28 +01:00
Rasmus Wriedt Larsen
2b2c381bf0 Merge pull request #16876 from GeekMasher/py-hardcoded-creds-mad
Python: Add Hardcoded Credentials MaD support
2024-07-01 17:25:13 +02:00
aegilops
a1b0703690 Added detection for specific Polyfill.io CDN compromise - edited existing library and added new query and tests 2024-07-01 16:21:34 +01:00
Owen Mansel-Chan
801edda9b2 Accept MaD edge provenance label changes/additions 2024-07-01 16:13:41 +01:00
Owen Mansel-Chan
247abf95ee Convert BeegoContextSource to MaD 2024-07-01 16:13:40 +01:00
Owen Mansel-Chan
84bb8a400b Convert BeegoInputRequestBodySource to MaD 2024-07-01 16:13:39 +01:00
Owen Mansel-Chan
194491f3fb Convert BeegoControllerSource to MaD 2024-07-01 16:13:38 +01:00
Owen Mansel-Chan
6bc0ffe429 Convert BeegoInputSource to MaD 2024-07-01 16:13:37 +01:00
Owen Mansel-Chan
2bbd9ab4eb Change definition of BeegoInputSafeUrlSource 2024-07-01 16:13:36 +01:00
Owen Mansel-Chan
8d8af320bf Add in missing summary models for Beego 2024-07-01 16:13:34 +01:00
am0o0
a6833945c1 remove additional taint steps and flow states 2024-07-01 16:07:44 +02:00
Taus
e5a15f34a4 Python: Fix bad join in function resolution
On a certain database, the evaluator was spending 17 seconds on a single
iteration, which is usually a bad sign.

Looking more closely, we find the following culprit:

```
(621s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#fb44303q after 17.8s:
79429084 ~0%     {3} r1 = JOIN `TypeTrackingImpl::TypeTracker.start/0#dispred#f8047cd1` WITH `DataFlowPublic::Node.asExpr/0#dispred#2845197a` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 't', Rhs.1
59018875 ~7%     {3}    | JOIN WITH LocalSources::LocalSourceNode#2491029a ON FIRST 1 OUTPUT Lhs.2, Lhs.1 't', Lhs.0 'result'
7929     ~1%     {3}    | JOIN WITH `PoorMansFunctionResolution::lastDecoratorCall/1#152a5a8f_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1 't', Rhs.1 'func', Lhs.2 'result'

277654   ~5%     {3} r2 = JOIN `TypeTrackingImpl::TypeTracker.start/0#dispred#f8047cd1` WITH `Function::Function.getDefinition/0#dispred#6279b12c` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 't', Rhs.1
                 {3}    | AND NOT `project#Function::Function.getADecorator/0#dispred#119184e3`(FIRST 1)
269725   ~0%     {3}    | SCAN OUTPUT In.2, In.1 't', In.0 'func'
270268   ~0%     {3}    | JOIN WITH `DataFlowPublic::Node.asExpr/0#dispred#2845197a_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 't', Lhs.2 'func'
270268   ~7%     {3}    | JOIN WITH LocalSources::LocalSourceNode#2491029a ON FIRST 1 OUTPUT Lhs.1 't', Lhs.2 'func', Lhs.0 'result'

278197   ~5%     {3} r3 = r1 UNION r2
                 return r3
```

This is clearly silly. We're creating a type tracker start spot for
_every expression_, and only then filtering them down to just final
decorator calls.

To fix this, I simply pushed the `.asExpr` into `lastDecoratorCall` and
made that `pragma[nomagic]`.

This resulted in a much more reasonable iteration:

```
(585s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#62ade299 after 2.1s:
61252093 ~0%     {2} r1 = JOIN `TypeTrackingImpl::TypeTracker.start/0#dispred#f8047cd1` WITH LocalSources::LocalSourceNode#2491029a CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 't'
7929     ~3%     {3}    | JOIN WITH `PoorMansFunctionResolution::lastDecoratorCall/1#152a5a8f_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1 't', Rhs.1 'func', Lhs.0 'result'

277654   ~5%     {3} r2 = JOIN `TypeTrackingImpl::TypeTracker.start/0#dispred#f8047cd1` WITH `Function::Function.getDefinition/0#dispred#6279b12c` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 't', Rhs.1
                 {3}    | AND NOT `project#Function::Function.getADecorator/0#dispred#119184e3`(FIRST 1)
269725   ~0%     {3}    | SCAN OUTPUT In.2, In.1 't', In.0 'func'
270268   ~0%     {3}    | JOIN WITH `DataFlowPublic::Node.asExpr/0#dispred#2845197a_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 't', Lhs.2 'func'
270268   ~5%     {3}    | JOIN WITH LocalSources::LocalSourceNode#2491029a ON FIRST 1 OUTPUT Lhs.1 't', Lhs.2 'func', Lhs.0 'result'

278197   ~5%     {3} r3 = r1 UNION r2
                 return r3
```

That's better, but can we do better still? Ideally, we'll join with
`lastDecoratorCall` _first_, and only then consider `LocalSourceNode`s.

Time to add some pragmas:

```
(6s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#049abau6 after 51ms:
247936 ~0%     {3} r1 = SCAN TypeTrackingImpl::Cached::MkTypeTracker#ff50e2d8 OUTPUT In.1, In.0, In.2 't'
2      ~0%     {3}    | JOIN WITH `num#Option::Option<TypeTrackingImpl::TypeTrackingInput::Content>::TNone#364b4b8a` ON FIRST 1 OUTPUT Lhs.1, Lhs.2 't', _
               {2}    | REWRITE WITH Tmp.2 := false, TEST InOut.0 = Tmp.2 KEEPING 2
1      ~0%     {1}    | SCAN OUTPUT In.1 't'

7929   ~0%     {3} r2 = JOIN r1 WITH `PoorMansFunctionResolution::lastDecoratorCall/1#152a5a8f` CARTESIAN PRODUCT OUTPUT Rhs.1 'result', Lhs.0 't', Rhs.0
7929   ~3%     {3}    | JOIN WITH LocalSources::LocalSourceNode#2491029a ON FIRST 1 OUTPUT Lhs.1 't', Lhs.2 'func', Lhs.0 'result'

277654 ~5%     {3} r3 = JOIN r1 WITH `Function::Function.getDefinition/0#dispred#6279b12c` CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 't', Rhs.1
               {3}    | AND NOT `project#Function::Function.getADecorator/0#dispred#119184e3`(FIRST 1)
269725 ~0%     {3}    | SCAN OUTPUT In.2, In.1 't', In.0 'func'
270268 ~0%     {3}    | JOIN WITH `DataFlowPublic::Node.asExpr/0#dispred#2845197a#fb_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 't', Lhs.2 'func'
270268 ~5%     {3}    | JOIN WITH LocalSources::LocalSourceNode#2491029a ON FIRST 1 OUTPUT Lhs.1 't', Lhs.2 'func', Lhs.0 'result'

278197 ~5%     {3} r4 = r2 UNION r3
               return r4
```

Perfect! (Here, the optimiser has for some reason decided to inline
`t.start()`, but this is not important.)

Iteration timings before:

```
(621s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#fb44303q after 17.8s:
(623s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i2#fb44303q after 1.9s:
(628s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i3#fb44303q after 5.2s:
(629s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i4#fb44303q after 696ms:
(629s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i5#fb44303q after 238ms:
(630s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i6#fb44303q after 401ms:
(630s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i7#fb44303q after 6ms:
(630s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i8#fb44303q after 3ms:
(630s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i9#fb44303q after 1ms:
(630s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i10#fb44303q after 525ms:
(631s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb/2@6a2459s7 after 518ms:
(631s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb_10#join_rhs/2@eab64fk2 after 42ms:
```

And after:

```
(585s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#62ade299 after 2.1s:
(585s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i2#62ade299 after 331ms:
(590s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i3#62ade299 after 4.8s:
(592s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i4#62ade299 after 1.9s:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i5#62ade299 after 504ms:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i6#62ade299 after 312ms:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i7#62ade299 after 6ms:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i8#62ade299 after 2ms:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i9#62ade299 after 1ms:
(593s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i10#62ade299 after 489ms:
(594s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb/2@7cac46aj after 522ms:
(594s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb_10#join_rhs/2@a15a372e after 41ms:
```

(Curiously, in the "before" run it appeared to run that tracker _twice_,
with the same performance characteristics the second time around. This
is not present in the "after" version.)

And finally with the pragma:

```
(596s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#7ef50eer after 636ms:
(596s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i2#7ef50eer after 180ms:
(598s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i3#7ef50eer after 1.9s:
(604s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i4#7ef50eer after 6.2s:
(606s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i5#7ef50eer after 1.4s:
(607s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i6#7ef50eer after 1.7s:
(607s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i7#7ef50eer after 55ms:
(607s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i8#7ef50eer after 8ms:
(607s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i9#7ef50eer after 2ms:
(608s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i10#7ef50eer after 619ms:
(609s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb/2@4cb536id after 566ms:
(609s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb_10#join_rhs/2@f0664dnr after 56ms:
(714s) Tuple counts for m#PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb/1@fe47420j after 14ms:
(718s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i1#769227t3 after 369ms:
(719s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i2#769227t3 after 623ms:
(724s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i3#769227t3 after 5.3s:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i4#769227t3 after 2.8s:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i5#769227t3 after 289ms:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i6#769227t3 after 285ms:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i7#769227t3 after 7ms:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i8#769227t3 after 3ms:
(727s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i9#769227t3 after 1ms:
(728s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01/3@i10#769227t3 after 672ms:
(731s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01_201#join_rhs/3@cacd816f after 2.5s:
(732s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb/2@14c0cfsk after 80ms:
(732s) Tuple counts for PoorMansFunctionResolution::poorMansFunctionTracker/1#c7f86fe2#fb_10#join_rhs/2@fc0f040d after 0ms:
```

Note the double evaluation again. This will need to be investigated
further.
2024-07-01 14:04:01 +00:00
Mathew Payne
96048f962e Update python/ql/src/Security/CWE-798/HardcodedCredentials.ql
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-07-01 14:29:00 +01:00
aegilops
fc6fba8d06 Fixed CWE tags 2024-07-01 14:25:47 +01:00
aegilops
d1d082982a More external references 2024-07-01 14:25:29 +01:00
am0o0
d31711bd89 merge all ne flow sources into one by extending current abstract class 2024-07-01 15:16:44 +02:00
am0o0
f1324a413a update qlhelp 2024-07-01 15:09:56 +02:00
am0o0
b360c8adb8 Update hardcodedCredentials query file to only exclude 'jwt key' kind from with the isTestFile predicate.
According to expected test results, with a new query, the jwt sinks of __test__/ dir have been exluded from query results.
2024-07-01 15:00:08 +02:00
Taus
446dbf67cc Python: Fix bad join in getImmediateModuleReference
The "most expensive predicates" report had the following line on a
certain database:

```
1m15s |    11 |   37s @ 4    | ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0@12bb4xdo
```

Investigating further revealed the following bad joins

```
(388s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i4#b2325xoe after 36.5s:
0         ~0%        {2} r1 = JOIN `ImportResolution::ImportResolution::sys_modules_module_with_name/1#134529bf#prev_delta` WITH `ImportResolution::ImportResolution::getReferenceToModuleName/1#bc5da225` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 'm'

74884348  ~0%        {3} r2 = JOIN `ImportResolution::ImportResolution::getModuleReference/1#28368ea4#prev_delta` WITH `ImportResolution::ImportResolution::potential_module_export/2#19340171` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0
5221604   ~0%        {3}    | JOIN WITH `Attributes::AttrRef.accesses/2#dispred#31929f12_120#join_rhs` ON FIRST 2 OUTPUT Rhs.2 'result', Lhs.2, Lhs.1
5219926   ~2%        {3}    | JOIN WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0 'result'
5300880   ~1%        {2}    | JOIN WITH `ImportResolution::ImportResolution::module_export/3#f2fc6a2a` ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'result'
42211     ~5%        {2}    | JOIN WITH `ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0#prev` ON FIRST 1 OUTPUT Lhs.1 'result', Rhs.1 'm'

957042    ~4%        {3} r3 = JOIN `ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0#prev_delta` WITH `ImportResolution::ImportResolution::module_export/3#f2fc6a2a_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1 'm'
957035    ~0%        {3}    | JOIN WITH `ImportResolution::ImportResolution::potential_module_export/2#19340171` ON FIRST 2 OUTPUT Lhs.1, Lhs.2 'm', Lhs.0
236753257 ~1%        {4}    | JOIN WITH `Attributes::AttrRef.accesses/2#dispred#31929f12_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 'm', Lhs.2, Rhs.2
199557145 ~2%        {4}    | JOIN WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT Lhs.2, Lhs.3, Lhs.1 'm', Lhs.0 'result'
1         ~0%        {2}    | JOIN WITH `ImportResolution::ImportResolution::getModuleReference/1#28368ea4#prev` ON FIRST 2 OUTPUT Lhs.3 'result', Lhs.2 'm'

15199013  ~1951%     {2} r4 = JOIN `ImportResolution::ImportResolution::getModuleReference/1#28368ea4#prev_delta` WITH `Module::Module.getPackageName/0#dispred#bb0c3872` ON FIRST 1 OUTPUT Lhs.1, Rhs.1
14707604  ~2136%     {3}    | JOIN WITH `Attributes::AttrRef.accesses/2#dispred#31929f12_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1, Rhs.2

14623588  ~2190%     {4} r5 = JOIN r4 WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT _, Lhs.0 'result', Lhs.1, Lhs.2
14623588  ~2058%     {2}    | REWRITE WITH Tmp.0 := ".", Out.0 := (In.2 ++ Tmp.0 ++ In.3) KEEPING 2

14623588  ~2139%     {5} r6 = JOIN r4 WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT _, Lhs.0 'result', Lhs.1, Lhs.2, _
14623588  ~2092%     {2}    | REWRITE WITH Tmp.0 := ".", Tmp.0 := (In.2 ++ Tmp.0 ++ In.3), Tmp.4 := ".__init__", Out.0 := (Tmp.0 ++ Tmp.4) KEEPING 2

29247176  ~2099%     {2} r7 = r5 UNION r6
199786001 ~6922%     {2}    | JOIN WITH `Module::isPreferredModuleForName/2#5fb427f9_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'result'
199756923 ~7024%     {2}    | JOIN WITH `Module::Module.getFile/0#dispred#53eb9b1b_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1 'result', Rhs.1 'm'

199799135 ~6954%     {2} r8 = r1 UNION r2 UNION r3 UNION r7
199793992 ~6954%     {2}    | AND NOT `ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0#prev`(FIRST 2)
                     return r8
```

Clearly, waiting to joining with `getModuleReference` last is not
healthy. To fix this, I opted to simply create a helper predicate for
the `accesses` construct.

After this change, here are the iteration timings

```
(327s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i1#74f41yqa after 1.2s:
(327s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i1#8a053ys7 after 1.3s:
(327s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i2#74f41yqa after 20ms:
(327s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i2#8a053ys7 after 20ms:
(337s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i4#74f41yqa after 8.5s:
(341s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i4#8a053ys7 after 3.2s:
(346s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i5#74f41yqa after 7.2s:
(349s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i6#74f41yqa after 3ms:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i5#8a053ys7 after 10s:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i8#74f41yqa after 37ms:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i9#74f41yqa after 0ms:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i10#74f41yqa after 0ms:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i11#74f41yqa after 1ms:
(352s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i12#74f41yqa after 1ms:
(353s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i6#8a053ys7 after 1ms:
(354s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i8#8a053ys7 after 7ms:
(354s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i9#8a053ys7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i10#8a053ys7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i11#8a053ys7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::getImmediateModuleReference/1#3553e6c0#reorder_1_0/2@i12#8a053ys7 after 0ms:
```

And the helper predicate itself is also quick to evaluate:

```
(327s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i1#74f41xqa after 0ms:
(327s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i1#8a053xs7 after 0ms:
(329s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i3#74f41xqa after 99ms:
(337s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i3#8a053xs7 after 98ms:
(338s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i4#74f41xqa after 679ms:
(341s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i4#8a053xs7 after 400ms:
(346s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i5#74f41xqa after 1ms:
(349s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i6#74f41xqa after 22ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i5#8a053xs7 after 1ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i7#74f41xqa after 1.4s:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i8#74f41xqa after 8ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i9#74f41xqa after 0ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i10#74f41xqa after 1ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i11#74f41xqa after 1ms:
(352s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i12#74f41xqa after 1ms:
(353s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i13#74f41xqa after 806ms:
(353s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i6#8a053xs7 after 7ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i7#8a053xs7 after 870ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i8#8a053xs7 after 2ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i9#8a053xs7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i10#8a053xs7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i11#8a053xs7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i12#8a053xs7 after 0ms:
(354s) Tuple counts for ImportResolution::ImportResolution::module_reference_accesses/3#8f45b418#reorder_1_2_0/3@i13#8a053xs7 after 276ms:
```

(I note that we appear to be evaluating this code twice, which is a bit
worrying. I'll leave that investigaton for later.)
2024-07-01 12:53:04 +00:00
am0o0
5a1877547f update test cases of __tests__/ dir
since we want to check if a jwt related sink is in this dir or not
2024-07-01 14:50:07 +02:00
am0o0
6ecd8b7ee8 add new default cred kind 2024-07-01 14:42:34 +02:00
Taus
d9b337cb2c Merge pull request #16804 from github/tausbn/python-fix-bad-join-in-dataflow-dispatch
Python: Fix bad join in `DataFlowDispatch`
2024-07-01 13:14:28 +02:00
Joe Farebrother
b81d41ba7b Add django header write models for direct subscript write 2024-07-01 11:26:54 +01:00
am0o0
fa8c457015 move the TextEncoder and Buffer jose.base64url taint steps to a local query taint step 2024-07-01 12:11:53 +02:00
am0o0
60aa711005 implement TextEncoderStep taint step with globalVarRef predicate 2024-07-01 11:59:05 +02:00
am0o0
65fdb8ccce move jose SharedTaintStep to a local taint step, add more additional steps with test cases, update test cases and expected test results 2024-07-01 11:38:17 +02:00
Mathias Vorreiter Pedersen
0b4459db75 C++: Add more QLDoc. 2024-07-01 10:13:32 +01:00
Arthur Baars
c6d02e4909 Merge pull request #16878 from github/aibaars/merge-3.14
Merge rc/3.14 into main
2024-07-01 11:04:57 +02:00
Tom Hvitved
c5c97aca50 C#: Move implicit entry definitions inside method bodies in SSA construction 2024-07-01 10:48:13 +02:00
Owen Mansel-Chan
0db4110449 Merge pull request #16879 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-30 13:59:16 +01:00
github-actions[bot]
26194eb65f Add changed framework coverage reports 2024-06-30 00:19:16 +00:00
Owen Mansel-Chan
60b9d19d72 Add explicit relation between "reverse-dns" and "all" 2024-06-29 21:29:21 +01:00
Owen Mansel-Chan
390fecbef6 Merge pull request #16866 from owen-mc/go/add-go-jose-to-library-coverage-frameworks
Go: Add Go JOSE to library coverage frameworks
2024-06-29 07:30:36 +01:00
Rasmus Lerchedahl Petersen
e40ae2e52d Python: adjust test expectations
MaD row numbers in provenance column
2024-06-28 21:56:11 +02:00
Arthur Baars
b12b33c8f9 Merge remote-tracking branch 'upstream/main' into 'rc/3.14' 2024-06-28 19:50:35 +02:00
Jeroen Ketema
a85f73972c Merge pull request #16870 from jketema/preproc-more
C++: Update test expectations
2024-06-28 19:01:12 +02:00
Mathew Payne
ed314b1799 docs: Add Change Notes 2024-06-28 14:42:35 +01:00
Mathew Payne
1cf9714272 feat(python): Add Hardcoded Credentials MaD support 2024-06-28 14:30:36 +01:00
Rasmus Lerchedahl Petersen
77a00873a9 Python: add tests for loggers 2024-06-28 15:25:17 +02:00
Rasmus Lerchedahl Petersen
5ddfe75a0d Python: Add value steps for sequence elements
It would be nice to simplify to a single sequence content type..
2024-06-28 15:10:08 +02:00
Rasmus Lerchedahl Petersen
59f953269a Python: remove strange sink
It is not clear from the code how this could happen and
I do not remember the path I saw, perhaps it was unreasonable.
2024-06-28 14:42:24 +02:00
yoff
bbc3ff2dfe Apply suggestions from code review
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-06-28 14:39:03 +02:00
Tom Hvitved
075a249f3b C#: Add SSA test for multi-bodied method 2024-06-28 14:27:51 +02:00
Jami
42925b56e3 Merge pull request #15921 from jcogs33/jcogs33/unsafe-url-forward-promotion-resource-and-file-methods
Java: add models for some resource-related methods
2024-06-28 08:05:50 -04:00
Erik Krogh Kristensen
60811116ab Merge pull request #16332 from erik-krogh/ts55
JS: upgrade TypeScript to 5.5
2024-06-28 13:59:52 +02:00
Tamas Vajk
199a9688af C#: Fix quality issues 2024-06-28 13:58:08 +02:00
Tamás Vajk
1cf5e89b96 Merge pull request #16747 from tamasvajk/buildless/binary-log-extractor-2
C#: Add binlog support to buildless with source generator support
2024-06-28 12:39:54 +02:00
Erik Krogh Kristensen
fd3089ee5a Merge pull request #14342 from maikypedia/maikypedia/javascript-cors
JS: Add Permissive CORS query (CWE-942)
2024-06-28 11:27:37 +02:00
Mathias Vorreiter Pedersen
72caadb7db Merge pull request #16869 from hvitved/shared/cfg/mermaid-output
Shared: Generate mermaid output in `View CFG` query
2024-06-28 10:21:02 +01:00
Tom Hvitved
e1c1314824 Shared: Generate mermaid output in View CFG query 2024-06-28 09:45:22 +02:00
Tamas Vajk
4db586f17d Add TSP diagnostic for binlog usage 2024-06-28 09:40:41 +02:00
Tamas Vajk
c8927447f5 Record diagnostics in binlog extraction test 2024-06-28 09:40:13 +02:00
Jami Cogswell
85a1e1a972 Java: update change note date 2024-06-27 22:11:01 -04:00
Jami Cogswell
be565288f2 Java: update more test cases due to shifted alert provenance line numbers 2024-06-27 22:08:38 -04:00
Jami Cogswell
c73af7f789 Java: update some test cases due to shifted alert provenance line numbers 2024-06-27 21:07:35 -04:00
Mathias Vorreiter Pedersen
4535043e90 C++: Accept test changes. 2024-06-27 20:15:58 +01:00
Mathias Vorreiter Pedersen
2ad8704325 C++: Add bsl models. 2024-06-27 19:48:27 +01:00
Maiky
d0cf2a978c Merge branch 'main' into maikypedia/javascript-cors 2024-06-27 20:24:42 +02:00
Jeroen Ketema
8defd27b49 C++: Update test expectations 2024-06-27 17:45:33 +02:00
yoff
40b7534210 Merge pull request #16860 from yoff/python/MaD-doc-fixup
Python: fix typo pointed out in review but missed by me
2024-06-27 17:02:39 +02:00
Rasmus Lerchedahl Petersen
6bc830dca4 Python: add qldoc 2024-06-27 16:55:29 +02:00
Rasmus Lerchedahl Petersen
9cca1b294c Python: Add test cases 2024-06-27 16:33:23 +02:00
Rasmus Lerchedahl Petersen
27301edc28 Python: address more review comments 2024-06-27 16:05:21 +02:00
Owen Mansel-Chan
98b2d1f2d7 Add Go JOSE to library coverage frameworks 2024-06-27 14:52:08 +01:00
Owen Mansel-Chan
5d7a6e3836 Merge pull request #16851 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-27 13:57:30 +01:00
yoff
c2141b62e0 Apply suggestions from code review
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-06-27 14:53:03 +02:00
Tamas Vajk
1e2d1ef715 Use dedicated API to get generated syntax trees 2024-06-27 14:49:29 +02:00
Tamas Vajk
0b41d5121a Compute unique identifier (folder path) for each compilation 2024-06-27 14:49:24 +02:00
Tamas Vajk
1ae40c95b1 Change binlog test to have colliding generated file locations 2024-06-27 14:49:20 +02:00
Tamas Vajk
b22f5f557a Fix failed extraction handling 2024-06-27 14:49:16 +02:00
Tamas Vajk
fb0520c74a C#: Adjust trap location, database ID and archiving of generated sources 2024-06-27 14:49:10 +02:00
Tamas Vajk
dcd84f47a4 Improve source archiving to handle non-existent files 2024-06-27 14:49:06 +02:00
Tamas Vajk
31ad195dc3 C#: Add binlog support to buildless with source generator support 2024-06-27 14:48:54 +02:00
Tamás Vajk
b2d2f2d0d8 Merge pull request #16858 from tamasvajk/fix/solution
C#: Fix solution file
2024-06-27 14:31:15 +02:00
Owen Mansel-Chan
50cc720117 Merge branch 'main' into workflow/coverage/update 2024-06-27 10:51:23 +01:00
Michael Nebel
9cb7018215 Java: Update the model generator expected test output. 2024-06-27 11:35:07 +02:00
Michael Nebel
e23ff3e499 Java: Sync files and make language specific implementation. 2024-06-27 11:27:08 +02:00
Rasmus Lerchedahl Petersen
da03237b32 Python: fix typo pointed out in review but missed by me 2024-06-27 11:21:28 +02:00
Michael Nebel
22e9ae2793 Java: Add some source/sink examples where lifting is applied. 2024-06-27 11:15:06 +02:00
Chris Smowton
5cee3927f0 Suspend compile checking of new query until a compatible CLI is released 2024-06-27 09:57:45 +01:00
Chris Smowton
27e2b00cd7 Add test for database quality diagnostic 2024-06-27 09:57:40 +01:00
Chris Smowton
80cb908289 Amend message 2024-06-27 09:57:35 +01:00
Chris Smowton
567ba9f9c3 Change note 2024-06-27 09:57:30 +01:00
Chris Smowton
df860d4128 autoformat 2024-06-27 09:57:25 +01:00
Chris Smowton
16a90aa180 autoformat 2024-06-27 09:57:19 +01:00
Chris Smowton
6292cacd74 Add link to build modes docs 2024-06-27 09:57:13 +01:00
Chris Smowton
d43762cae3 Apply suggestions from code review
Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com>
Co-authored-by: Chad Bentz <1760475+felickz@users.noreply.github.com>
2024-06-27 09:57:07 +01:00
Chris Smowton
f397ab2d72 Java: add diagnostic query indicating low database quality 2024-06-27 09:57:02 +01:00
Tamás Vajk
6c727b1e7d Merge pull request #16857 from tamasvajk/feature/stringformat
C#: Change `string.Format` calls to interpolated strings
2024-06-27 10:55:21 +02:00
Tamas Vajk
3e20d908c4 C#: Fix solution file 2024-06-27 10:53:39 +02:00
Chris Smowton
c5678ad156 Merge pull request #16847 from smowton/smowton/admin/java-diagnostic-test-expectations
Java: Adjust test expectations for Java diagnostic severity changes
2024-06-27 09:53:25 +01:00
Michael Nebel
f7ce4f39ea C#: Update expected source/sink model generator expected test output. 2024-06-27 10:42:37 +02:00
Michael Nebel
3180d8f752 C#: Add some source/sink examples where lifting is applied. 2024-06-27 10:27:50 +02:00
Michael Nebel
64ac52e918 C#: Only lift summary models in the model generator. 2024-06-27 09:54:00 +02:00
Tamas Vajk
0c34b4535a C#: Change string.Format calls to interpolated strings 2024-06-27 09:20:50 +02:00
Tamás Vajk
4a98436884 Merge pull request #16855 from tamasvajk/fix/integration-test
C#: Fix integration test expected file
2024-06-27 08:52:05 +02:00
Tamas Vajk
6b6d705b4f C#: Fix integration test expected file 2024-06-27 08:14:37 +02:00
Jami
901245ae3d Merge branch 'main' into jcogs33/unsafe-url-forward-promotion-resource-and-file-methods 2024-06-26 21:57:07 -04:00
github-actions[bot]
0a8c9da0ac Add changed framework coverage reports 2024-06-27 00:17:25 +00:00
Chris Smowton
f2cbf08d15 Adjust test expectations 2024-06-26 17:37:48 +01:00
Mathias Vorreiter Pedersen
e845204ec9 C++: Add tests of internal MaD predicates and accept test changes. 2024-06-26 14:10:31 +01:00
Mathias Vorreiter Pedersen
d38ce61e03 C++: Mention in the QLDoc that you cannot instantiate templates in the signature string. 2024-06-26 13:54:28 +01:00
Owen Mansel-Chan
272132a09a Merge pull request #16799 from owen-mc/go/mad/match-all-package-versions
Go: Make models-as-data package column match any version without "$ANYVERSION"
2024-06-26 13:46:49 +01:00
Rasmus Lerchedahl Petersen
a3076f4f72 Python: fix test expectations, add missing sanitizer 2024-06-26 13:27:32 +02:00
Anders Schack-Mulligen
9d8ee99c1c Merge pull request #16806 from aschackmull/dataflow/debug-stages
Dataflow: Add path-problem view of intermediate stages for debug purposes.
2024-06-26 12:53:12 +02:00
Michael Nebel
e1f65d1f8b Merge pull request #16836 from michaelnebel/csharp/bestlocation
C#: Be more consistent when picking between locations.
2024-06-26 12:46:50 +02:00
am0o0
361ad6be6a use abstract class for decompression flow steps 2024-06-26 12:45:31 +02:00
aegilops
f22778960b Fixed expected test results for Helmet query 2024-06-26 11:31:57 +01:00
Cornelius Riemenschneider
c4cc30fb7a Merge pull request #16839 from github/criemen/bazel-721
Bump to bazel 7.2.1.
2024-06-26 11:26:19 +02:00
Paolo Tranquilli
53a7d823ec Merge pull request #16841 from github/redsun82/kotlin
Kotlin: exclude `KotlinExtractorDbScheme.kt` generated by hand
2024-06-26 11:18:44 +02:00
Tamás Vajk
81f4786643 Merge pull request #16832 from tamasvajk/feature/update-dependencies
C#: Update (some) nuget dependencies
2024-06-26 11:12:26 +02:00
Michael Nebel
e258d9fa74 C#: Use the first best location from the list of locations. 2024-06-26 11:04:38 +02:00
Rasmus Lerchedahl Petersen
b261145f43 Python: fix compilation 2024-06-26 10:46:38 +02:00
Joe Farebrother
6538d22d3f Fix tornado model of httheaders.add. 2024-06-26 09:21:53 +01:00
Paolo Tranquilli
a52a412c24 Kotlin: exclude KotlinExtractorDbScheme.kt generated by hand 2024-06-26 09:05:09 +02:00
Owen Mansel-Chan
a30b34c4bd Used "fixed-version:" prefix in a test 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
418a56d385 Replace "$THISVERSION" suffix with "fixed-version:" prefix 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
081f32141c Accept review suggestion fixing a comment
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
d4e8e4c943 Add QLDoc for majorVersionSuffixRegex 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
46d0c6ff9c Use lookahead in regex to not match e.g. "/v2foo" 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
c8a3bedf44 Move major version suffix regex into one place 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
cb2ccef5fa Refactor suffix check 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
c045e77d61 Fix QLDoc for interpretPackage 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
7d11fc2c7d Fix bug in regex
I accidentally included a `$` at the end, so it only matched a major
version suffix at the end of the package path.
2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
a9afbfa993 Document version matching and "$THISVERSION" 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
3e2bbd38d4 Remove "$ANYVERSION" from models 2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
47d946fb1c Make MaD package match any version without $ANYVERSION
Note that if the package column contains major version suffix (like
"/v2") or if it ends with "$THISVERSION" (which is removed) then we
don't do any version matching.
2024-06-26 05:01:09 +01:00
Owen Mansel-Chan
ea0db4d55e Add predicate for package path without "/v2" etc 2024-06-26 05:01:09 +01:00
Rasmus Lerchedahl Petersen
571be8be3e Python: model more loggers 2024-06-26 01:00:38 +02:00
Rasmus Lerchedahl Petersen
eb32cbe8a5 Python: codecs.open 2024-06-26 00:57:59 +02:00
Rasmus Lerchedahl Petersen
bdc48088e6 Python: MaD summary models
Two of the generated summaries have been excluded:
 - ["re", "Member[split]", "Argument[0,pattern:]", "ReturnValue", "taint"]
   From the documentation, it is not clear why pattern should figure in the return value, as that is the part denoting split point and thus all those instances are filtered out.
   From the implementation
     Spit function: https://github.com/python/cpython/blob/3.12/Lib/re/__init__.py#L199
     _compile function being called by split: https://github.com/python/cpython/blob/3.12/Lib/re/__init__.py#L280
   We see that in case the pattern is already a compiled `Pattern`, it is returned directly from _compile and could thus be part of the return value from split. This is probably not possible to arrange for an attacker, and so an FP in practice.

 - ["urllib2", "Member[unquote]", "Argument[0,string:]", "ReturnValue", "taint"]
   urllib2 seems to be only in Python2 (e.g. https://docs.python.org/2.7/library/urllib2.html) and I cannot locate the function unquote.
2024-06-26 00:39:30 +02:00
Ian Lynagh
f9ae44ca5c Merge pull request #16736 from igfoo/igfoo/debugLoC
Java/Kotlin: Tag the LoC queries 'debug'
2024-06-25 22:57:36 +01:00
Cornelius Riemenschneider
37da3e1bb3 Bump to bazel 7.2.1. 2024-06-25 21:21:39 +02:00
am0o0
656dc4e276 use abstract class for decompression sinks 2024-06-25 18:09:27 +02:00
am0o0
13f697c056 relocate the query 2024-06-25 17:31:40 +02:00
Chris Smowton
2413332553 Merge pull request #16802 from github/smowton/admin/note-java-system-requirements
Java: document extraction system requirements
2024-06-25 15:53:09 +01:00
Ian Lynagh
c12adbeeaa Java/Kotlin: Tag the LoC queries 'debug'
This brings them into line with LinesOfCode.ql
2024-06-25 15:46:10 +01:00
Michael Nebel
d18915a1e4 C#: Update expected test output. 2024-06-25 16:02:58 +02:00
Michael Nebel
e15a47d58c C#: Update the extractor to use the BestOrDefault extension method to choose between multiple locations. 2024-06-25 16:02:54 +02:00
Michael Nebel
dd65d960be C#: Introduce a Location extension method to help pick a unique location. 2024-06-25 16:02:49 +02:00
Michael Nebel
8dc95ce9b0 Merge pull request #16722 from michaelnebel/csharp/modelgensourcesink
C#/Java: Respect manual neutrals, sources and sinks in model generation.
2024-06-25 15:55:06 +02:00
yoff
58b6b3f601 Merge pull request #16789 from yoff/python/document-models-as-data
python: Document MaD format
2024-06-25 15:46:28 +02:00
Arthur Baars
306e481c5d Merge pull request #16830 from github/post-release-prep/codeql-cli-2.17.6
Post-release preparation for codeql-cli-2.17.6
2024-06-25 15:26:05 +02:00
Tamas Vajk
5058727980 C#: Update (some) nuget dependencies 2024-06-25 15:24:08 +02:00
Anders Schack-Mulligen
1cc49af454 Dataflow: Address review comments. 2024-06-25 15:19:55 +02:00
Rasmus Lerchedahl Petersen
bc551174f9 Python: model copy.deepcopy as a value step 2024-06-25 14:53:06 +02:00
Rasmus Lerchedahl Petersen
501cda4e8c Python: model fnmatch.filter 2024-06-25 14:44:39 +02:00
Rasmus Lerchedahl Petersen
2118f233b9 Python: model optparse.OptionParser.parse_arg 2024-06-25 14:40:23 +02:00
Rasmus Lerchedahl Petersen
b80a711b27 python: undo changes to qlpack 2024-06-25 14:13:59 +02:00
Rasmus Lerchedahl Petersen
1e97600c4a Python: move models 2024-06-25 14:13:56 +02:00
Rasmus Lerchedahl Petersen
d410136852 python: compress models 2024-06-25 14:13:52 +02:00
Rasmus Lerchedahl Petersen
c004ffaca8 python: move model to Stdlib.yml
There is already a model there so we add to that one.

We did observe that this existing model was blocked by the external MaD model.
This is concerning and needs to be cleared up.
2024-06-25 14:13:48 +02:00
Rasmus Lerchedahl Petersen
281ac05868 python: add modelling for urlib.parse
- `quote` together with `re.compile` recover regex injection alerts on haiwen/seahub
- `quote_plus` recovers the URL redirection alert on DemocracyClub/EveryElection
- `unquote` recovers path injection alerts on `cloudera/hue`
- it was tedious finding justifications for the rest..
2024-06-25 14:13:44 +02:00
Rasmus Lerchedahl Petersen
df406b4fca python: Start modelling using MaD
- empty models for now
- `summaryModel` of `codeql/python-all` will be added to shortly.
2024-06-25 14:13:41 +02:00
Asger F
6a3bb4dd28 Merge pull request #16834 from asgerf/shared/capture-this-location
Shared: add location for 'this' CaptureContainer
2024-06-25 13:18:41 +02:00
Mathias Vorreiter Pedersen
17edfdf801 Merge pull request #16833 from MathiasVP/simplify-incorrect-allocation-error-handling
C++: Simplify `cpp/incorrect-allocation-error-handling`
2024-06-25 12:16:21 +01:00
Rasmus Lerchedahl Petersen
6524b8e25d Python: consistent double quotes in examples 2024-06-25 12:11:52 +02:00
Rasmus Lerchedahl Petersen
09905ee228 Python: double back-tics 2024-06-25 12:05:38 +02:00
Rasmus Lerchedahl Petersen
6d4e993dea Python: remove named parameter filename 2024-06-25 12:00:53 +02:00
Rasmus Lerchedahl Petersen
aa4fd1992e Python: compact types in type models 2024-06-25 11:59:55 +02:00
Rasmus Lerchedahl Petersen
b902dd5680 Python: add change note 2024-06-25 11:54:30 +02:00
Arthur Baars
046a5f0881 Merge branch 'rc/3.14' into post-release-prep/codeql-cli-2.17.6 2024-06-25 11:43:38 +02:00
Arthur Baars
624c574559 Merge pull request #16831 from smowton/smowton/admin/backport-maven-regex-fix
Backport Maven regex fix to rc/3.14
2024-06-25 11:42:54 +02:00
Jeroen Ketema
e0e5bdec8a Merge pull request #16818 from jketema/predef
C++: Update expected test results
2024-06-25 11:06:53 +02:00
Mathias Vorreiter Pedersen
921afb71e2 Update cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-06-25 10:03:53 +01:00
Owen Mansel-Chan
890da5377e Merge pull request #16819 from owen-mc/go/remove-dataflowtype-optimizer-bug-workaround
Go: Make DataFlowType a singleton (remove workaround)
2024-06-25 10:03:08 +01:00
Asger F
551743e000 Shared: add location for 'this' CaptureContainer
Only has an effect for debugging purposes
2024-06-25 10:34:28 +02:00
Mathias Vorreiter Pedersen
982f845be7 C++: Accept test changes. 2024-06-25 09:31:00 +01:00
Mathias Vorreiter Pedersen
bb8b0d0bf5 C++: Use the unary version of 'comparesEq' to handle both disjuncts. 2024-06-25 09:30:53 +01:00
Chris Smowton
5608e0141c Adjust and tolerate variability in test expectations 2024-06-25 09:02:58 +01:00
Tom Hvitved
25daaf9d47 Ruby: Add change note 2024-06-25 10:00:01 +02:00
Jeroen Ketema
285ed3630b C++: Update expected test results 2024-06-25 09:16:05 +02:00
github-actions[bot]
fd385736e6 Post-release preparation for codeql-cli-2.17.6 2024-06-25 06:39:45 +00:00
Joe Farebrother
0901b3d0a6 Add change note 2024-06-24 21:43:09 +01:00
Owen Mansel-Chan
8458bde51e Add comment that "reverse-dns" is an ungrouped threat model 2024-06-24 21:23:52 +01:00
Owen Mansel-Chan
9e25279cb8 Change category in change note to "majorAnalysis" 2024-06-24 21:23:51 +01:00
Owen Mansel-Chan
162245fb9a Fix unrelated test using reverse DNS as source 2024-06-24 21:23:50 +01:00
Owen Mansel-Chan
059ef42f41 Add change note 2024-06-24 21:23:49 +01:00
Owen Mansel-Chan
878867205e Fix taintsources test 2024-06-24 21:23:47 +01:00
Owen Mansel-Chan
91db2b6c9c Make new threat model kind "reverse-dns" 2024-06-24 21:23:46 +01:00
Joe Farebrother
d0f735ac28 Update tests for restframework 2024-06-24 20:52:09 +01:00
Arthur Baars
0508d4fa33 Merge pull request #16821 from github/release-prep/2.17.6
Release preparation for version 2.17.6
2024-06-24 21:17:34 +02:00
Dave Bartolomeo
1e46e431e8 Merge pull request #16823 from smowton/smowton/admin/maven-transfer-failure-test-expectations
Java: Adjust and tolerate variability in test expectations
2024-06-24 13:54:25 -04:00
Joe Farebrother
c404f00a9b Add additional header write models for aiohttp and tornado + added qldoc 2024-06-24 17:27:25 +01:00
Joe Farebrother
79c0ed6074 Add additional fastapi mheader write models 2024-06-24 17:27:21 +01:00
Joe Farebrother
5ced5c010c Add django header writes 2024-06-24 17:27:15 +01:00
Joe Farebrother
7704801e47 Change fastapi raw cookie header models to header write models 2024-06-24 17:27:12 +01:00
Joe Farebrother
a0201e9c4f Update tests for new cookie write from headers 2024-06-24 17:27:06 +01:00
Joe Farebrother
6b8080a5b3 Update concept tests for header writes 2024-06-24 17:27:02 +01:00
Joe Farebrother
d11f58f768 Add cookie header write concept from experimental. 2024-06-24 17:26:56 +01:00
Joe Farebrother
b71ba7c30f Move Header Write derrived concepts to Concepts 2024-06-24 17:26:51 +01:00
Paolo Tranquilli
d2a00fa773 Merge pull request #16822 from github/redsun82/nodejs-mirror
Bazel: add `nodejs` mirror
2024-06-24 17:59:08 +02:00
Chris Smowton
351b908f62 Adjust and tolerate variability in test expectations 2024-06-24 16:38:18 +01:00
Paolo Tranquilli
0669186713 Bazel: remove unneeded upstream rules_nodejs patch 2024-06-24 17:09:40 +02:00
Paolo Tranquilli
a02cf07833 Bazel: add nodejs mirror
This patches `rules_nodejs` with the contents of
https://github.com/bazelbuild/rules_nodejs/pull/3763
in order to allow specifying a mirror for nodejs, as nodejs.org has
hit us with intermittent downtimes.
2024-06-24 16:59:25 +02:00
Mathias Vorreiter Pedersen
5b1b60cc92 Merge pull request #16797 from MathiasVP/yml-for-allocation-and-deallocation
C++: Add extensible predicates to `Allocation` and `Deallocation`
2024-06-24 15:34:27 +01:00
github-actions[bot]
e32a587078 Release preparation for version 2.17.6 2024-06-24 14:33:10 +00:00
Anders Schack-Mulligen
25d520a7f1 Merge pull request #16785 from aschackmull/dataflow/stage3-notypes
Dataflow: Replace stage 3 type pruning with flow-insensitive type pruning.
2024-06-24 15:21:37 +02:00
Mathias Vorreiter Pedersen
36d59cef7e C++: Add 'bsl::free' as a deallocation function model. 2024-06-24 13:56:44 +01:00
Mathias Vorreiter Pedersen
82ed1ee671 Update cpp/ql/lib/change-notes/2024-06-20-extensible-allocation-deallocation.md
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-06-24 13:50:24 +01:00
Owen Mansel-Chan
d8df38c683 Make DataFlowType a singleton (remove workaround) 2024-06-24 13:43:10 +01:00
Mathias Vorreiter Pedersen
19b6d24bc2 Merge pull request #16816 from MathiasVP/fix-valuenumber-imports
C++: Fix value numbering imports
2024-06-24 13:37:38 +01:00
Anders Schack-Mulligen
fdf6e30888 Dataflow: Handle non-trivial type systems with stores into a top type. 2024-06-24 13:35:50 +02:00
Anders Schack-Mulligen
a26132e818 Dataflow: Replace stage 3 type pruning with flow-insensitive type pruning. 2024-06-24 13:35:50 +02:00
Anders Schack-Mulligen
3ede3af6f2 C#: Fix join-order. 2024-06-24 13:35:49 +02:00
Anders Schack-Mulligen
8c23e21073 Dataflow: Cache compatibleTypes. 2024-06-24 13:35:48 +02:00
Anders Schack-Mulligen
06a7e3f3ee Dataflow: Cache typeStrongerThan. 2024-06-24 13:35:48 +02:00
Anders Schack-Mulligen
bd99f32a4b Dataflow: Check types on ParamReturnNode. 2024-06-24 13:35:47 +02:00
Michael Nebel
24685a07c0 Java: Update model generator test expected output. 2024-06-24 13:07:42 +02:00
Michael Nebel
c687dcb094 Java: Sync files and make language specific implementation. 2024-06-24 13:07:39 +02:00
Michael Nebel
30249e4f2b Java: Add some spurious source and sink examples. 2024-06-24 13:07:34 +02:00
Michael Nebel
854674a71c C#: Update expected test output. 2024-06-24 13:07:30 +02:00
Michael Nebel
b27a9d948a C#: Exclude APIs with a manual source neutral from source model generation and allow source generation for all source kinds. 2024-06-24 13:07:14 +02:00
Michael Nebel
2657e7f56d C#: Add some source and sink modelling examples where a neutral exist. 2024-06-24 13:05:35 +02:00
Mathias Vorreiter Pedersen
00d772f980 C++: Fix value numbering imports. 2024-06-24 11:53:24 +01:00
Michael Nebel
abc7cc39d4 Merge pull request #16775 from michaelnebel/modelgen/refactorprinting
C#/Java: Parameterized module for model printing.
2024-06-24 12:51:07 +02:00
Michael Nebel
9cd16fd9d6 Java: Base the model printing on the shared implementation. 2024-06-24 11:52:50 +02:00
Michael Nebel
8630583856 C#/Java: Exclude the model printing implementation form sync files. 2024-06-24 11:50:57 +02:00
Michael Nebel
b7bc540325 C#: Adjust implementation to use the shared model printer. 2024-06-24 11:50:46 +02:00
Michael Nebel
65e150b416 Add parameterized module for MaD model printing. 2024-06-24 11:48:33 +02:00
Owen Mansel-Chan
f04a85e121 Merge pull request #16753 from owen-mc/go/misc-clean-up
Go: a few small clean ups
2024-06-24 10:47:21 +01:00
Michael Nebel
94d12edfdb Merge pull request #16759 from michaelnebel/modelgen/sourcesinkmodelgen
C#/Java: Introduce source and sink model generation sanitisers.
2024-06-24 11:47:11 +02:00
Rasmus Lerchedahl Petersen
4626e134fa Python: update doc to use operations module 2024-06-24 10:56:34 +02:00
Rasmus Lerchedahl Petersen
00fbada41d Python: recognize fabric.operations 2024-06-24 10:54:59 +02:00
Rasmus Lerchedahl Petersen
21a0f8af07 Python: address reviewer comments
- fix wording on `builtins`
- add named argument/parameter access path components
2024-06-24 10:48:53 +02:00
yoff
d603b48884 Apply suggestions from code review
Co-authored-by: Taus <tausbn@github.com>
2024-06-24 10:29:33 +02:00
Mathias Vorreiter Pedersen
a1743aa12e Merge pull request #16805 from MathiasVP/tc-in-temp-materialization
C++: Fix missing `asExpr` for temporary materializations with conversions
2024-06-23 13:38:01 +01:00
Porcupiney Hairs
a7cdf0e2fd CPP: Disabled SSL certificate verification
Disable SSL certificate verification can expose the communication to MITM attacks.

This PR adds a query to detect the same. This also include the tests and qhelp for the same.
2024-06-23 14:27:04 +05:30
Owen Mansel-Chan
513ec16691 Merge pull request #16796 from owen-mc/go/fix/package-vendor
Go: Fix bug removing "vendor/" from package paths
2024-06-22 07:54:18 +01:00
Mathias Vorreiter Pedersen
9a2c7d34af C++: Simplify 'parseParens'. 2024-06-21 15:45:43 +01:00
Jonathan Leitschuh
472cca9221 Align Java CommandInjectionRuntimeExec.ql Severity
Align severity with other command injection vulnerabilities:

- 4a448f445e/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql (L8)
- 4a448f445e/go/ql/src/Security/CWE-078/CommandInjection.ql (L7)
- 4a448f445e/swift/ql/src/queries/Security/CWE-078/CommandInjection.ql (L7)
- 4a448f445e/javascript/ql/src/Security/CWE-078/CommandInjection.ql (L7)
2024-06-21 10:29:27 -04:00
Jonathan Leitschuh
1728e5dfd5 Align Ruby NonConstantKernelOpen.ql Severity
Align severity with other command injection vulnerabilities:

 - 4a448f445e/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql (L8)
- 4a448f445e/go/ql/src/Security/CWE-078/CommandInjection.ql (L7)
- 4a448f445e/swift/ql/src/queries/Security/CWE-078/CommandInjection.ql (L7)
- 4a448f445e/javascript/ql/src/Security/CWE-078/CommandInjection.ql (L7)
2024-06-21 10:27:47 -04:00
Mathias Vorreiter Pedersen
2e74ae448c C++: Accept more test changes. 2024-06-21 14:04:08 +01:00
Mathias Vorreiter Pedersen
40fb59dc0b C++: Add gnu iterator models to regain TP. 2024-06-21 14:04:07 +01:00
Mathias Vorreiter Pedersen
c8f3c1a798 C++: Accept test changes. Nothing exciting to see here. 2024-06-21 14:04:06 +01:00
Mathias Vorreiter Pedersen
f507b51170 C++: Fix Code Scanning errors. 2024-06-21 14:04:05 +01:00
Mathias Vorreiter Pedersen
3e9862391b C++: No need for 'decodeUnknownContent' if we specify the MaD summary rows correctly. This avoids a bad join in a compiler-generated predicate. 2024-06-21 14:04:03 +01:00
Mathias Vorreiter Pedersen
6513c33d26 C++: Accept test changes. 2024-06-21 14:04:02 +01:00
Mathias Vorreiter Pedersen
1bb762bea9 C++: Accept test changes. 2024-06-21 13:35:10 +01:00
Mathias Vorreiter Pedersen
7d41e8ef73 C++: Perform a TC to skip conversions when special-casing materialization of temporaries. 2024-06-21 13:35:09 +01:00
Mathias Vorreiter Pedersen
3b585b4196 C++: Add test with missing flow. 2024-06-21 13:35:08 +01:00
Taus
4a448f445e Merge pull request #15715 from am0o0/am0o0-python-codeExec
Python: New command execution sinks
2024-06-21 14:26:33 +02:00
Anders Schack-Mulligen
accc73d1d0 Dataflow: Add debug graph for pruning stages. 2024-06-21 14:25:32 +02:00
Erik Krogh Kristensen
49f74bacf2 Merge pull request #16729 from mbaluda/main
JS: Extract SAP XSJS file types as Javascript
2024-06-21 14:23:55 +02:00
Taus
6db7e72fb8 Python: Fix bad join in DataFlowDispatch
A case of bad magic. Rather than evaluating separately whether a class
has a method of some name, the compiler opted to magick in the fact
that this was done as part of the `findFunctionAccordingToMro`
predicate. Hilarity ensued.

However, _we_ know that magic really isn't needed in this case (the
number of results is bounded by `Class.getAMethod` since methods have
only a single name), so by factoring it out into a helper predicate, we
can help the join-orderer along.

Before
```
(377s) Starting to evaluate predicate _DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev_DataFlowDispatch::getNextClassInMro/1#__#shared/3@i6#L3#f893bw2h (iteration 6)
(377s) Tuple counts for _DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev_DataFlowDispatch::getNextClassInMro/1#__#shared/3@i6#L3#f893bw2h after 16ms:
33363  ~0%     {2} r1 = SCAN `DataFlowDispatch::getNextClassInMro/1#e1ee596a#prev_delta` OUTPUT In.1, In.0 'arg1'
159696 ~4%     {3}    | JOIN WITH `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev` ON FIRST 1 OUTPUT Rhs.1 'arg0', Lhs.1 'arg1', Rhs.2 'arg2'
               return r1
(377s) Starting to evaluate predicate _Class::Class.getAMethod/0#dispred#66416e47_Function::Function.getName/0#dispred#033700ef_10#join_rh__#antijoin_rhs/3@i6#L4#f893bw2h (iteration 6)
(382s) Tuple counts for _Class::Class.getAMethod/0#dispred#66416e47_Function::Function.getName/0#dispred#033700ef_10#join_rh__#antijoin_rhs/3@i6#L4#f893bw2h after 4.4s:
1770825904 ~4%     {4} r1 = JOIN `_DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev_DataFlowDispatch::getNextClassInMro/1#__#shared` WITH `Function::Function.getName/0#dispred#033700ef_10#join_rhs` ON FIRST 1 OUTPUT Lhs.1 'arg0', Rhs.1, Lhs.0 'arg1', Lhs.2 'arg2'
34558      ~3%     {3}    | JOIN WITH `Class::Class.getAMethod/0#dispred#66416e47` ON FIRST 2 OUTPUT Lhs.0 'arg0', Lhs.2 'arg1', Lhs.3 'arg2'
                   return r1
...
(382s) Starting to evaluate predicate DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3/3@i6#f893b1xh (iteration 6)
(382s)                     - DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3_delta has 125138 rows (order for disjuncts: delta=<standard>).
(382s) Tuple counts for DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3/3@i6#f893b1xh after 12ms:
33363  ~0%     {2} r1 = SCAN `DataFlowDispatch::getNextClassInMro/1#e1ee596a#prev_delta` OUTPUT In.1, In.0 'cls'
159696 ~0%     {3}    | JOIN WITH `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev` ON FIRST 1 OUTPUT Lhs.1 'cls', Rhs.1 'name', Rhs.2 'result'
125138 ~1%     {3}    | AND NOT `_Class::Class.getAMethod/0#dispred#66416e47_Function::Function.getName/0#dispred#033700ef_10#join_rh__#antijoin_rhs`(FIRST 3)

0      ~0%     {3} r2 = JOIN `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev_delta` WITH `DataFlowDispatch::getNextClassInMro/1#e1ee596a#reorder_1_0#prev` ON FIRST 1 OUTPUT Lhs.1 'name', Lhs.2 'result', Rhs.1 'cls'
               {3}    | AND NOT `_Class::Class.getAMethod/0#dispred#66416e47_DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#__#antijoin_rhs`(FIRST 3)
0      ~0%     {3}    | SCAN OUTPUT In.2 'cls', In.0 'name', In.1 'result'

125138 ~1%     {3} r3 = r1 UNION r2
125138 ~1%     {3}    | AND NOT `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev`(FIRST 3)
               return r3
```

And now
```
(18s) Tuple counts for DataFlowDispatch::class_has_method/2#0d2ae9c0/2@ff66c1lr after 18ms:
202279 ~1%     {2} r1 = JOIN `Class::Class.getAMethod/0#dispred#66416e47_10#join_rhs` WITH `Function::Function.getName/0#dispred#033700ef` ON FIRST 1 OUTPUT Lhs.1 'cls', Rhs.1 'name'
               return r1
...
(490s) Tuple counts for DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3/3@i6#48b6c1xi after 54ms:
0      ~0%     {3} r1 = JOIN `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev_delta` WITH `DataFlowDispatch::getNextClassInMro/1#e1ee596a#reorder_1_0#prev` ON FIRST 1 OUTPUT Rhs.1 'cls', Lhs.1 'name', Lhs.2 'result'
0      ~0%     {3}    | AND NOT `DataFlowDispatch::class_has_method/2#0d2ae9c0`(FIRST 2)

33363  ~0%     {2} r2 = SCAN `DataFlowDispatch::getNextClassInMro/1#e1ee596a#prev_delta` OUTPUT In.1, In.0 'cls'
159696 ~0%     {3}    | JOIN WITH `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev` ON FIRST 1 OUTPUT Lhs.1 'cls', Rhs.1 'name', Rhs.2 'result'
125138 ~1%     {3}    | AND NOT `DataFlowDispatch::class_has_method/2#0d2ae9c0`(FIRST 2)

125138 ~1%     {3} r3 = r1 UNION r2
125138 ~1%     {3}    | AND NOT `DataFlowDispatch::findFunctionAccordingToMro/2#a610c0a3#prev`(FIRST 3)
               return r3
```
2024-06-21 12:16:27 +00:00
Anders Schack-Mulligen
bbdae5188d Dataflow: Add ArgNodeEx column to fwdFlowIsEntered. 2024-06-21 14:10:37 +02:00
Anders Schack-Mulligen
fa13861e53 Dataflow: Add Debug module with stage references. 2024-06-21 14:02:07 +02:00
Mathias Vorreiter Pedersen
47309df2a9 C++: Fix 'toString' on parameter and argument positions. 2024-06-21 12:47:46 +01:00
Mathias Vorreiter Pedersen
85da3d2f13 C++: Update MaD models. 2024-06-21 12:47:43 +01:00
Mathias Vorreiter Pedersen
b0bd7a983f C++: Add MaD syntax for an arbitrary number of dereferences. 2024-06-21 12:47:42 +01:00
Mathias Vorreiter Pedersen
4dc13e850e C++: Add summaries for std dequence containers. 2024-06-21 12:47:40 +01:00
Mathias Vorreiter Pedersen
716df0c7ce C++: Support a richer language in MaD summaries for selecting member functions. 2024-06-21 12:47:39 +01:00
Mauro Baluda
b75514c990 Merge branch 'github:main' into main 2024-06-21 13:36:38 +02:00
Chris Smowton
cfb48ace73 Java: document extraction system requirements
Note that a `java` binary is at least highly recommended for Java extraction, and in many circumstances a hard requirement. The same goes for `mvn` and `gradle`.
2024-06-21 11:53:36 +01:00
Kasper Svendsen
988d0671bb Merge pull request #16734 from kaspersv/kaspersv/doc-intern-sets-builtin
Document builtin InternSets module
2024-06-21 12:06:40 +02:00
Tom Hvitved
a8758c0160 Ruby: Handle element references with blocks 2024-06-21 12:04:55 +02:00
Tom Hvitved
d7ce2be040 Ruby: Up/downgrade scripts 2024-06-21 12:04:53 +02:00
Rasmus Lerchedahl Petersen
280a9b4408 Python: Support Model Editor 2024-06-21 11:47:51 +02:00
Tom Hvitved
dff3ce2a9f Merge pull request #16794 from hvitved/ruby/sinatra-flow
Ruby: Rework `Sinatra.FilterJumpStep`
2024-06-21 11:38:10 +02:00
Tom Hvitved
21c9f33419 Ruby: Bump tree-sitter-ruby 2024-06-21 10:17:59 +02:00
Mathias Vorreiter Pedersen
c357cc9f08 C++: Add change note. 2024-06-21 08:54:12 +01:00
Mathias Vorreiter Pedersen
69490c62cd C++: Add qlpack dependency. 2024-06-21 08:54:10 +01:00
Mathias Vorreiter Pedersen
6bf22bda58 C++: Replace allocation models with models from extensible predicates. 2024-06-21 08:54:09 +01:00
Tom Hvitved
8ea4f85de3 Ruby: Rework Sinatra.FilterJumpStep 2024-06-21 08:57:59 +02:00
Tom Hvitved
95c764eff6 Fix Sinatra test to properly output pathgraph 2024-06-21 08:57:19 +02:00
Erik Krogh Kristensen
db768960f4 Merge pull request #15060 from am0o0/amammad-js-envinjection
JS: Env Injection query
2024-06-20 21:27:21 +02:00
Erik Krogh Kristensen
555d7e5958 Merge pull request #14293 from am0o0/amammad-js-CodeInjection_dynamic_import
JS: Dynamic import as code injection sink
2024-06-20 21:19:57 +02:00
erik-krogh
0de4fd8430 add test for the better type-narrowing in TS 5.5 2024-06-20 20:55:44 +02:00
erik-krogh
9966be6975 update to the stable release of TypeScript 5.5 2024-06-20 20:47:43 +02:00
erik-krogh
b936f725b5 update to 5.5.1-rc 2024-06-20 20:43:01 +02:00
erik-krogh
a691ec01b3 add test for the inferred type predicates in TS5.5 2024-06-20 20:42:59 +02:00
erik-krogh
5336a1a251 upgrade TypeScript to 5.5-beta 2024-06-20 20:42:57 +02:00
Erik Krogh Kristensen
60ed51781e Merge pull request #16790 from github/max-schaefer-patch-1
JavaScript: Fix CodeQL alert in extractor
2024-06-20 20:20:00 +02:00
Erik Krogh Kristensen
e84028d01e Merge pull request #14088 from am0o0/amammad-js-JWT
JS: decoding JWT without signature verification
2024-06-20 20:13:40 +02:00
Mathias Vorreiter Pedersen
d308178781 C++: Add extensible predicate for allocation. 2024-06-20 16:26:52 +01:00
Mathias Vorreiter Pedersen
ce5ab4c4b7 C++: Add qlpack dependency. 2024-06-20 16:26:50 +01:00
Mathias Vorreiter Pedersen
3457551264 C++: Replace deallocation models with models from extensible predicates. 2024-06-20 16:26:49 +01:00
Jeroen Ketema
0e04a59c08 Merge pull request #16795 from jketema/test-cleanup
C++: Remove unneeded options from tests
2024-06-20 16:24:07 +02:00
Mathias Vorreiter Pedersen
e5c20b13cf C++: Add extensible predicate for deallocation. 2024-06-20 14:51:09 +01:00
Jeroen Ketema
4c4c15b425 C++: Remove unneeded options from tests 2024-06-20 14:21:34 +02:00
Owen Mansel-Chan
aa35bd771b Fix bug removing "vendor/" from package paths 2024-06-20 13:18:21 +01:00
Asger F
a36e39359f Merge pull request #16739 from RasmusWL/js-array-steps
JS: Allow many Array steps to be used in type-tracking
2024-06-20 11:39:46 +02:00
Rasmus Lerchedahl Petersen
a7386b6670 Python: include new documentation 2024-06-20 11:25:25 +02:00
Rasmus Lerchedahl Petersen
f0e68887d4 Python: autoformat 2024-06-20 10:59:39 +02:00
yoff
b4fdf3c342 Apply suggestions from code review
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-06-20 10:57:54 +02:00
Rasmus Wriedt Larsen
596102d3fb Update javascript/ql/lib/change-notes/2024-06-14-type-tracking-array-steps.md
Co-authored-by: Asger F <asgerf@github.com>
2024-06-20 10:07:49 +02:00
Owen Mansel-Chan
754fd8e84c Drop leading . from getQualifiedName for built-in functions
So it will be "panic" instead of ".panic".
2024-06-19 22:04:21 +01:00
Owen Mansel-Chan
68a661f3c7 Write out whole function names 2024-06-19 21:58:31 +01:00
Owen Mansel-Chan
b79711b17e Move deprecated notice to top of comment 2024-06-19 21:58:28 +01:00
aegilops
1ecd72727d Renamed README to CUSTOMIZING, removed details from qhelp and referenced md doc instead 2024-06-19 17:59:43 +01:00
aegilops
a07639f4f6 Set severity to 7.0, in line with other configuration queries 2024-06-19 17:43:41 +01:00
aegilops
26f1b36736 Fixed formatting 2024-06-19 17:41:58 +01:00
aegilops
252c9e9416 Added data extension to set defaults, updated help, added README to explain customization 2024-06-19 17:27:17 +01:00
Max Schaefer
2be171746b JavaScript: Fix CodeQL alert in extractor
This doesn't make a difference in practice because we only run the method on arrays of even length, but we might as well fix it.
2024-06-19 17:13:01 +01:00
Rasmus Lerchedahl Petersen
5cb37f5c4c python: Document MaD format
- add a few tests reflecting the documentation
- make the mentioned sink-kinds have an effect on relevant queries
2024-06-19 17:00:15 +02:00
Mathias Vorreiter Pedersen
901fac4282 C++: Support 'Element' content in flow summaries. 2024-06-19 13:40:06 +01:00
Mathias Vorreiter Pedersen
013ee9c15e C++: Add support for 'Element' content in dataflow. 2024-06-19 13:39:39 +01:00
Mathias Vorreiter Pedersen
c158f8054e C++: Get rid of all the 'StdContainer' taint models. 2024-06-19 13:36:19 +01:00
Michael Nebel
aa962f9b03 Java: Update expected output of model generation. 2024-06-19 14:10:59 +02:00
Michael Nebel
1185e28ea2 Java: Add some spurious source and sink model generation examples. 2024-06-19 14:10:56 +02:00
Michael Nebel
ed3f1e40db Java: Sync changes and make dummy language specific implementation. 2024-06-19 14:10:54 +02:00
Michael Nebel
99907471b2 C#: Update model generator expected output. 2024-06-19 14:10:52 +02:00
Michael Nebel
40204911bc C#: Only allow source propgatation upwards in the call stack if the call path consists of unique call targets (to avoid unwanted virtual dispatch). This severely tightens the generation of extrapolated sources. 2024-06-19 14:10:49 +02:00
Paul Hodgkinson
3a98edb60b Merge branch 'main' into aegilops/js/insecure-helmet-middleware 2024-06-19 12:53:32 +01:00
Tom Hvitved
6dbdc9e17f Merge pull request #16784 from github/redsun82/fix-warnings-in-ql-tests
C++/Java: Accept new warning format in ql tests
2024-06-19 13:05:50 +02:00
aegilops
d142f830da Change note and changed name of query in .ql file 2024-06-19 12:04:32 +01:00
aegilops
8a3cec4977 Fix formatting for check 2024-06-19 11:38:20 +01:00
Paolo Tranquilli
b7a2ea8981 CI: accept other diagnostic format related test changes 2024-06-19 11:33:50 +02:00
Paolo Tranquilli
59f8f8a394 Merge branch 'main' into redsun82/fix-warnings-in-ql-tests 2024-06-19 11:21:36 +02:00
aegilops
de96d3951d Renamed to helmetProperty everywhere 2024-06-19 10:15:06 +01:00
aegilops
f4691b1919 Changed to more-modern Dataflow libraries 2024-06-19 10:11:06 +01:00
aegilops
81ef255a87 Change to helmetProperty from helmetSetting variable name 2024-06-19 10:09:50 +01:00
Tamás Vajk
45ece48b6f Merge pull request #16776 from tamasvajk/fix/source-generator-folder
C#: Make sure no file is added twice to the compilation
2024-06-19 10:09:50 +02:00
Paolo Tranquilli
919ddccfdb C++/Java: Accept new warning format in ql tests 2024-06-19 09:13:18 +02:00
aegilops
da9e1e61a4 Moved examples into separate files 2024-06-18 19:50:06 +01:00
Edward Minnix III
7adfa6bbed Merge pull request #16709 from egregius313/egregius313/go/df/threat-models/refactor-queries
Go: Refactor queries to use `ThreatModelFlowSource` instead of `RemoteFlowSource`
2024-06-18 13:56:00 -04:00
Alex Ford
51f3f15e42 Ruby: remove outdated test comment 2024-06-18 17:51:49 +01:00
Alex Ford
d79a253c20 Ruby: remove unused import 2024-06-18 17:49:14 +01:00
Alex Ford
7380e29774 Ruby: changenote for rb/weak-sensitive-data-hashing 2024-06-18 17:48:51 +01:00
Alex Ford
d994959720 Ruby: add tests for rb/weak-sensitive-data-hashing 2024-06-18 17:47:32 +01:00
Alex Ford
81ec6861f9 Ruby: fix some SensitiveDataSource definitions 2024-06-18 17:46:52 +01:00
am0o0
eb1999f8b3 revert .vscode/settings.json :(( 2024-06-18 18:43:20 +02:00
am0o0
ccb923a436 fix formatting 2024-06-18 18:31:29 +02:00
Ed Minnix
5bbd003dfc Reword change note 2024-06-18 12:27:21 -04:00
Ed Minnix
b53712cae0 Change note 2024-06-18 12:27:19 -04:00
Ed Minnix
6a0be6ad09 ExternalAPIs 2024-06-18 12:27:18 -04:00
Ed Minnix
46e16b88bb Refactor experimental queries to use ThreadModelFlowSource 2024-06-18 12:27:17 -04:00
Ed Minnix
cfd5f53eb0 Refactor Customizations libraries to use ThreatModelFlowSource 2024-06-18 12:27:15 -04:00
Edward Minnix III
8997f2cdf2 Merge pull request #16697 from egregius313/egregius313/go/dataflow/threat-modeling
Go: Introduce Threat Modeling
2024-06-18 12:25:33 -04:00
Alex Ford
f217de9623 Ruby: Move SensitiveDataSource logic into a private module 2024-06-18 16:58:30 +01:00
am0o0
1f99559e9f Revert "update id of the query file"
This reverts commit 1f112467ce.
2024-06-18 17:33:07 +02:00
am0o0
cb39ae7dd3 revert .vscode/settings.json 2024-06-18 17:27:15 +02:00
am0o0
8a7fdfa6fe fix conflict 2024-06-18 17:18:59 +02:00
Taus
59a77a873c Merge pull request #16754 from github/tausbn/python-disregard-unused-imports-in-pytest-tests
Python: Disregard unused imports in `pytest` tests
2024-06-18 15:10:31 +02:00
Florin Coada
b7b35e5913 Merge pull request #16778 from github/coadaflorin/2.17.4-changedocs-patch
2.17.4 Changelog patch
2024-06-18 13:49:17 +01:00
Owen Mansel-Chan
9403bf25d8 Merge pull request #16667 from smowton/smowton/fix/global-variable-side-effect
Add support for flow through content of global variables
2024-06-18 13:41:57 +01:00
Florin Coada
34f5b676f1 2.17.4 Changelogs patch 2024-06-18 13:34:03 +01:00
Tamas Vajk
6c8e391a63 C#: Make sure no file is added twice to the compilation 2024-06-18 13:45:09 +02:00
Tamas Vajk
5170585515 C#: Add integration test with file added multiple times in the same compilation 2024-06-18 13:45:06 +02:00
Alex Ford
6a46fb54c5 Ruby: Add SensitiveDataSource abstract class 2024-06-18 12:11:28 +01:00
Michael Nebel
1c3ceacf04 C#: Some renaming and re-factoring. 2024-06-18 13:05:21 +02:00
Michael Nebel
dfaa40a1d2 C#: Update expected test output from model generation. 2024-06-18 13:05:17 +02:00
Michael Nebel
b5d6a6db7e C#: Use the same types as sanitizers for source and sink model as we use for summary model generation. 2024-06-18 13:05:12 +02:00
Michael Nebel
031e44b157 C#: Add some source/sink model generator test examples. 2024-06-18 13:05:07 +02:00
Max Schaefer
2c4a95bb5e Merge pull request #16777 from github/max-schaefer-patch-1
Swift: Add missing bracket in example
2024-06-18 11:39:42 +01:00
Alex Ford
6c3d90e8a0 Merge pull request #16650 from alexrford/rb/routing-improvements
Ruby: ActionDispatch - support `path => target` route format
2024-06-18 11:17:05 +01:00
Max Schaefer
9ca74de3e9 Swift: Add missing bracket in example 2024-06-18 11:00:59 +01:00
Joe Farebrother
33704779ea Merge pull request #16503 from joefarebrother/ruby-sensitive-sources
Ruby: Use additional sensitive data heuristics for CleartextSources
2024-06-18 10:57:55 +01:00
Michael Nebel
cd9d58fdc8 Merge pull request #16772 from michaelnebel/java/taintedpermissionthreatmodel
Java: Opt-in `java/tainted-permissions-check` to threat models.
2024-06-18 10:54:28 +02:00
Joe Farebrother
eee7f5a896 Use a combined regex for performance 2024-06-17 22:21:33 +01:00
Cornelius Riemenschneider
0f98d9e815 Merge pull request #16774 from github/criemen/cleanup
Remove unused bzl files.
2024-06-17 20:04:25 +02:00
Chris Smowton
4da5d6660a Add change note 2024-06-17 16:49:09 +01:00
Chris Smowton
38ee085782 Adjust test expectation 2024-06-17 16:46:49 +01:00
Chris Smowton
822f6eebfb Add support for flow through content of global variables 2024-06-17 16:42:23 +01:00
Ed Minnix
b4ecc81145 Fix provenance numbers in tests 2024-06-17 11:33:19 -04:00
Florin Coada
004451ee4b Merge pull request #16773 from github/changedocs/2.17.5
add 2.17.5 unified changelog
2024-06-17 16:09:37 +01:00
Ed Minnix
fa2c50616b Remove getSourceType definitions 2024-06-17 10:57:11 -04:00
Ed Minnix
b6adff6377 Fix jsoniter test 2024-06-17 10:51:13 -04:00
Ed Minnix
53dd269f9f Go: Threat model tests 2024-06-17 10:51:11 -04:00
Ed Minnix
7f19f449eb Change note 2024-06-17 10:51:10 -04:00
Ed Minnix
49fb372eb9 Add getSourceType declarations to existing remote flow sources 2024-06-17 10:51:09 -04:00
Ed Minnix
df6449cfc7 Go: Add the SourceNode and ThreatModelFlowSource classes 2024-06-17 10:51:07 -04:00
Ed Minnix
b697068e9a Go: Add threat modeling shared library 2024-06-17 10:51:06 -04:00
Michael Nebel
5686efd25c Update java/ql/src/change-notes/2024-06-17-tainted-permissions-check.md
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-06-17 16:47:22 +02:00
Alex Ford
f017821062 Ruby: rb/weak-sensitive-data-hashing qhelp 2024-06-17 15:29:53 +01:00
Alex Ford
d4203d9286 Ruby: minimal port of py/weak-sensitive-data-hashing 2024-06-17 15:27:00 +01:00
Cornelius Riemenschneider
f41bd41bd0 Remove unused bzl files. 2024-06-17 15:15:08 +02:00
Michael Nebel
197cdab43d Merge pull request #16752 from michaelnebel/shared/sourcesinkcallables
C#/Java: Add some (shared) helper classes for Neutrals, Sources and Sink
2024-06-17 14:58:27 +02:00
Anders Schack-Mulligen
0e8af39b77 Merge pull request #16719 from aschackmull/shared/fix-qldoc
Shared: Fix file-module qldoc.
2024-06-17 13:26:57 +02:00
Florin Coada
32202acc2d quick fix to remove multiple mentions of CodeQL pack upgrade 2024-06-17 12:19:01 +01:00
Anders Schack-Mulligen
96b6ddefe0 Merge pull request #16751 from aschackmull/java/sndlevelscope-fix
Java: Calculate 2nd level scopes for implicit instance accesses.
2024-06-17 13:10:46 +02:00
Michael Nebel
57925373c6 Address review comment. 2024-06-17 13:02:25 +02:00
Florin Coada
44cca056de add 2.17.5 unified changelog 2024-06-17 12:00:50 +01:00
Michael Nebel
833b4f90bf Java: Make source and sink callable adapters. 2024-06-17 12:53:08 +02:00
Michael Nebel
0fabca94db C#: Use the new shared classes for Source and Sink callables. 2024-06-17 12:53:06 +02:00
Michael Nebel
3d53ddf919 DataFlow: Add some shared classes for Neutrals, Source and Sink callables. 2024-06-17 12:53:03 +02:00
Michael Nebel
e1317ddcb6 Merge pull request #16768 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-17 11:51:35 +02:00
Anders Schack-Mulligen
b8b95fd81d Java: Add change note. 2024-06-17 11:46:54 +02:00
Michael Nebel
c3862660e4 Java: Add change note. 2024-06-17 11:07:29 +02:00
Michael Nebel
327dab69d0 Java: Opt-in the tainted permissions check query to threat models. 2024-06-17 11:02:08 +02:00
Jeroen Ketema
1d1a84962b Merge pull request #16765 from jketema/attrib-dup
C++: Add more tests that show we do not properly deduplicate attributes
2024-06-17 07:07:55 +02:00
github-actions[bot]
abe2deb6a6 Add changed framework coverage reports 2024-06-17 00:18:39 +00:00
Andrew Eisenberg
3d3a315456 Merge pull request #16766 from github/aeisenberg/requirements
Add powershell to list of requirements on windows
2024-06-14 15:15:28 -07:00
Andrew Eisenberg
d238b9198d Clarify that this applies to both autobuild and regular builds 2024-06-14 14:41:29 -07:00
Owen Mansel-Chan
b0afba49a2 Merge pull request #16761 from owen-mc/java/reverse-dns-get-loopback-address
Java: Exclude loopback address from reverse DNS source
2024-06-14 22:39:55 +01:00
Andrew Eisenberg
39a8af6519 Add powershell to list of requirements on windows 2024-06-14 14:30:47 -07:00
Jeroen Ketema
14b5114aa6 C++: Add more tests that show we do not properly deduplicate attributes 2024-06-14 17:44:05 +02:00
Paolo Tranquilli
daea773fce Python: tests with false positives around match 2024-06-14 17:28:35 +02:00
Jeroen Ketema
c0df22950b Merge pull request #16763 from jketema/attrib-dup
C++: Add test that show that routine attributes are not fully de-duplicated
2024-06-14 17:15:27 +02:00
Taus
b7b0f84e8b Python: Handle @pytest.fixture decorations with arguments as well
Not the prettiest of solutions, but it seems to work well enough.
2024-06-14 15:11:25 +00:00
Taus
c75e66c433 Merge pull request #16762 from github/redsun82/python-disregard-unused-imports-in-pytest-tests
Python: failing unused import test case
2024-06-14 16:57:53 +02:00
Owen Mansel-Chan
9aa0c9f1f3 Fix test expectations 2024-06-14 15:55:30 +01:00
Paolo Tranquilli
1046d03486 Python: update unused import test case for pytest 2024-06-14 16:55:05 +02:00
Jeroen Ketema
7d97463e4d C++: Add test that show that routine attributes are not fully de-duplicated 2024-06-14 16:43:29 +02:00
Ian Lynagh
079717bbc0 Merge pull request #16694 from igfoo/igfoo/PopulationSpecFile
Kotlin: Remove unused PopulationSpecFile
2024-06-14 15:06:39 +01:00
Rasmus Wriedt Larsen
3fc8401370 JS: Add change-note 2024-06-14 15:37:25 +02:00
Rasmus Wriedt Larsen
3f2befc3e5 JS: Support spread arguments in array.splice 2024-06-14 15:33:17 +02:00
Rasmus Wriedt Larsen
269f8ca2cd JS: Add splice(...arr) test 2024-06-14 15:19:56 +02:00
Rasmus Wriedt Larsen
68ccec3d43 JS: Prepare for new test 2024-06-14 15:18:47 +02:00
Taus
2f00a0d323 Python: Also test pytest fixture factories 2024-06-14 13:11:00 +00:00
Owen Mansel-Chan
6cfd9458b0 Add change note 2024-06-14 14:05:25 +01:00
Owen Mansel-Chan
7a13c31021 Exclude loopback address from reverse DNS source 2024-06-14 14:05:01 +01:00
Owen Mansel-Chan
5973f3fadc Add test for reverse DNS from loopback address 2024-06-14 14:04:47 +01:00
Owen Mansel-Chan
098b732937 Fix formatting of inline expectation test comment 2024-06-14 14:04:42 +01:00
Rasmus Wriedt Larsen
194ef607f7 JS: Updated .expected 2024-06-14 14:49:34 +02:00
Taus
78729180ad Python: Fix pytest fixture unused import FPs 2024-06-14 12:05:55 +00:00
Taus
f3a9c9a9dc Python: Add tests for pytest fixture unused import FPs 2024-06-14 12:03:43 +00:00
am0o0
4e1f7a930d fix invalid js file sample in qlhelp 2024-06-14 13:47:01 +02:00
Paolo Tranquilli
e2a47e7c18 Merge pull request #16720 from github/redsun82/kotlin
Kotlin: cleanup after internal changes
2024-06-14 13:28:22 +02:00
Cornelius Riemenschneider
c808953b1d Merge pull request #16723 from github/criemen/codeql-pack-group
`pkg.bzl`: Significantly restructure `codeql_pack` rule.
2024-06-14 13:19:00 +02:00
Michael Nebel
3525967143 Merge pull request #16701 from michaelnebel/csharp/modelgentaintmembers
C#/Java: Improve Sink and Summary model generation.
2024-06-14 12:30:50 +02:00
Tom Hvitved
c7b4f51077 Merge pull request #16758 from hvitved/ruby/shared-ci-trigger
Ruby: Trigger `ruby-build.yml` on changes to shared extractor
2024-06-14 12:00:18 +02:00
Michael B. Gale
039537f7ba Merge pull request #16727 from github/mbg/go/fix/too-many-go-mod-files-initialised 2024-06-14 10:14:57 +01:00
Tom Hvitved
be66ea2178 Ruby: Trigger ruby-build.yml on changes to shared extractor 2024-06-14 11:09:03 +02:00
Michael Nebel
a29446a566 C#/Java: Address review comments. 2024-06-14 10:46:19 +02:00
Cornelius Riemenschneider
58f69c9385 Make CodeQLPackInfo provider public. 2024-06-13 21:57:46 +02:00
Cornelius Riemenschneider
02100e58d9 Address review. 2024-06-13 21:55:56 +02:00
Cornelius Riemenschneider
ede0b5bdf4 Merge remote-tracking branch 'origin/main' into criemen/codeql-pack-group 2024-06-13 21:53:31 +02:00
Paolo Tranquilli
f9db7864e1 Change note: reword 2024-06-13 18:04:23 +02:00
Paolo Tranquilli
0198806658 Merge branch 'main' into redsun82/kotlin 2024-06-13 16:29:13 +02:00
am0o0
bb03a9faba format the query file 2024-06-13 14:54:29 +02:00
am0o0
f0a467e80b update tests 2024-06-13 14:52:22 +02:00
am0o0
84b9d4d1ac fix qlhelp errors 2024-06-13 14:32:41 +02:00
Mathias Vorreiter Pedersen
3d037e73f0 Merge pull request #16749 from MathiasVP/fix-fps-on-double-free
C++: Fix `ArrayExpr` FPs in `cpp/double-free`
2024-06-13 12:58:41 +01:00
Paolo Tranquilli
b8de2ea03b Merge pull request #16731 from github/redsun82/kotlin-fix-version-picker
Kotlin: expose kotlin version picker for internal packaging
2024-06-13 13:57:38 +02:00
Anders Schack-Mulligen
b47831af14 Java: Calculate 2nd level scopes for implicit instance accesses. 2024-06-13 13:57:18 +02:00
Michael B. Gale
1834a399d2 Merge pull request #16738 from github/mbg/go/remove-go-work
Go: Remove `go.work` file
2024-06-13 12:20:12 +01:00
Mathias Vorreiter Pedersen
4bbeda08d6 C++: Fix change note naming. 2024-06-13 11:10:00 +01:00
Mathias Vorreiter Pedersen
83108e3e25 C++: Add change note. 2024-06-13 11:03:52 +01:00
Mathias Vorreiter Pedersen
bcabc88649 C++: Accept test changes. 2024-06-13 10:59:46 +01:00
Mathias Vorreiter Pedersen
4079de125f C++: Fix FP by also excluding indirections of array expressions. 2024-06-13 10:59:39 +01:00
Mathias Vorreiter Pedersen
eec259279a C++: Add another FP test. We already have tests for this, but it doesn't hurt to have another one, I guess. 2024-06-13 10:57:49 +01:00
Mathias Vorreiter Pedersen
e244eef3b5 Merge pull request #16748 from MathiasVP/rc-3.14-mergeback-2
Mergeback from `rc/3.14`
2024-06-13 10:44:46 +01:00
Michael Nebel
7f7c5d7c94 Java: Update model generator expected test output. 2024-06-13 10:57:15 +02:00
Michael Nebel
e247d5b316 Java: Sync files and make dummy language specific implementation. 2024-06-13 10:55:17 +02:00
Michael Nebel
e56c185f32 Java: Add some model generator sink examples. 2024-06-13 10:49:57 +02:00
Mathias Vorreiter Pedersen
0150269503 Merge branch 'rc/3.14' into rc-3.14-mergeback-2 2024-06-13 09:14:40 +01:00
Mathias Vorreiter Pedersen
9384f6189e Merge pull request #16740 from MathiasVP/fix-join-in-ssa
SSA: Fix bad join in `lastRefRedefExt`
2024-06-13 09:06:20 +01:00
Paolo Tranquilli
11c37734c3 Kotlin: add change note for having fixed kotlin QL tests in release 2024-06-13 09:49:39 +02:00
Michael Nebel
854c6fa813 C#: Update expected test output after .NET 8 models update. 2024-06-13 09:24:13 +02:00
Michael Nebel
9ea2b463f0 C#: Update .NET 8 Runtime models. 2024-06-13 08:36:23 +02:00
Michael Nebel
78d23ee044 C#/Java: Allow the model generator to use 32GB of ram. 2024-06-13 08:35:52 +02:00
am0o0
11a416ea7c add FlowSources as a common source for all sinks, so we don't need States anymore 2024-06-13 03:30:07 +02:00
Maiky
8ba7ac678d Update javascript/ql/src/experimental/Security/CWE-942/CorsPermissiveConfigurationCustomizations.qll
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2024-06-12 19:38:13 +02:00
Maiky
4be5cf4e78 Update javascript/ql/src/experimental/Security/CWE-942/CorsPermissiveConfigurationCustomizations.qll
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2024-06-12 19:38:02 +02:00
Rasmus Wriedt Larsen
ec18786488 JS: Provide better model for Array.splice 2024-06-12 16:29:21 +02:00
Mathias Vorreiter Pedersen
5b3403c4b1 C++: Fix bad join in 'lastRefRedefExt'. 2024-06-12 15:24:58 +01:00
Michael B. Gale
e10e2899bd Go: Update comment in gen.py 2024-06-12 15:24:33 +01:00
Rasmus Wriedt Larsen
54a0e6dc45 JS: Add new test for Array.splice 2024-06-12 16:24:33 +02:00
Michael B. Gale
8629e00686 Go: Remove workspace from vendor/modules.txt 2024-06-12 15:22:56 +01:00
Rasmus Wriedt Larsen
9ed6da1072 JS: prepare to extend Array tests
Oh how I have enjoyed working with InlineExpectationTests for these sort
of things, not worrying about all the .expected files changing because
you add a few lines in the middle of your tests :D
2024-06-12 16:22:55 +02:00
Michael B. Gale
a90968d277 Go: Replace go work vendor with go mod vendor 2024-06-12 15:19:14 +01:00
Rasmus Wriedt Larsen
1027ca266d JS: Allow many Array steps to be used in type-tracking 2024-06-12 16:14:13 +02:00
Joe Farebrother
90d6f2ece3 Factor out nameIndicatesRelevantSensitiveData 2024-06-12 15:11:47 +01:00
Tom Hvitved
605fe54a06 Ruby: Remove two Cartesian products 2024-06-12 15:11:43 +01:00
Joe Farebrother
5f08371f19 Add change note 2024-06-12 15:11:39 +01:00
Joe Farebrother
07f03be8cc Add unit tests 2024-06-12 15:11:35 +01:00
Joe Farebrother
b0c03f6d68 Allow implicit read steps on sinks 2024-06-12 15:11:32 +01:00
Joe Farebrother
8b51ee8fe8 Use additional sensitive data heuristics in CleartextSources 2024-06-12 15:11:27 +01:00
Michael B. Gale
a04f08f026 Go: Remove go.work file 2024-06-12 15:10:28 +01:00
Tamás Vajk
a756f86847 Merge pull request #16732 from tamasvajk/refactor/extraction-states
C#: Refactor extractor state classes and simplify extraction code
2024-06-12 15:20:11 +02:00
Tamas Vajk
0df6a1c4b1 Fix quality issues 2024-06-12 14:48:16 +02:00
Michael Nebel
48739da565 C#: Update expected test output. 2024-06-12 14:16:31 +02:00
Michael Nebel
91ebeee429 C#: Perceive field and property reads as additional flow steps in sink extrapolation. 2024-06-12 14:16:26 +02:00
Michael Nebel
5aee35256d C#: Add member flow example. 2024-06-12 14:16:22 +02:00
Michael Nebel
4b62cb64ed C#: Update expected test output. 2024-06-12 14:16:17 +02:00
Michael Nebel
0bbf131fdb C#: Add some compound sink examples. 2024-06-12 14:16:12 +02:00
Kasper Svendsen
7c2ee80bc3 Document builtin InternSets module 2024-06-12 13:56:48 +02:00
Tamas Vajk
e3cbf1479a Fix quality issue 2024-06-12 13:25:34 +02:00
Arthur Baars
4ee80653e2 Merge pull request #16471 from Sim4n6/ruby-UBV
Ruby: Add some method calls as a Source
2024-06-12 12:42:08 +02:00
Tamas Vajk
3551386a1a Simplify standalone extractor 2024-06-12 12:30:08 +02:00
Owen Mansel-Chan
6af1ed9d75 Merge pull request #16730 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-12 11:22:29 +01:00
Tamas Vajk
cdca607828 Rename Extractor to ExtractionContext 2024-06-12 11:43:19 +02:00
Tamas Vajk
af2a78ea4d Reduce references to Extract class 2024-06-12 11:13:05 +02:00
Paolo Tranquilli
183a825841 Kotlin: expose kotlin version picker for internal packaging 2024-06-12 09:29:57 +02:00
github-actions[bot]
bbeebfae73 Add changed framework coverage reports 2024-06-12 00:17:31 +00:00
Joe Farebrother
f441c68f7e Merge pull request #16657 from joefarebrother/python-partial-ssrf-fp
Python: Add additional sanitizers to SSRF
2024-06-11 23:20:50 +01:00
Mauro Baluda
1db5e32e86 Extract SAP XSJS file types as Javascript 2024-06-11 23:53:41 +02:00
Mauro Baluda
45a48f360f Extract SAP XSJS file types as Javascript 2024-06-11 23:51:44 +02:00
Michael B. Gale
e9bd85e0ba Merge pull request #16704 from github/mbg/go/fix/build-scripts-running-more-than-once 2024-06-11 22:23:15 +01:00
Michael B. Gale
202d77d94f Merge pull request #16726 from github/mbg/go/log-one-line-for-stray-sources
Go: Only log one line for stray .go files
2024-06-11 22:16:21 +01:00
Owen Mansel-Chan
24c9062b35 Merge pull request #16671 from owen-mc/go/mad-builtin-taint-models-try-2
Go: Convert old-style models for built-ins to MaD
2024-06-11 19:45:34 +01:00
Michael B. Gale
d8d1ae632c Merge branch 'mbg/go/fix/build-scripts-running-more-than-once' into mbg/go/fix/too-many-go-mod-files-initialised 2024-06-11 18:31:03 +01:00
Michael B. Gale
0f56e408f8 Merge branch 'main' into mbg/go/fix/build-scripts-running-more-than-once 2024-06-11 18:29:41 +01:00
Michael B. Gale
864d629a13 Go: Prevent go.mod files from being added to every directory with stray source files 2024-06-11 18:24:11 +01:00
Michael B. Gale
20b7def543 Go: Only log one line for stray .go files 2024-06-11 18:06:08 +01:00
Geoffrey White
cf4736c8f6 Merge pull request #16545 from geoffw0/salvage
Swift: Salvage
2024-06-11 17:51:17 +01:00
Mathias Vorreiter Pedersen
67b327a0f7 Merge pull request #16725 from MathiasVP/rc-3.14-mergeback
Mergeback from `rc/3.14`
2024-06-11 17:37:40 +01:00
Tony Torralba
a299afaf51 Merge pull request #16712 from mbaluda/main
Java: Add `FileUtils` sinks to path injection
2024-06-11 17:50:08 +02:00
Paolo Tranquilli
3d3652c63f Merge branch 'main' into redsun82/kotlin 2024-06-11 17:25:10 +02:00
Cornelius Riemenschneider
92957a63ad Add prefix feature to codeql_pack_group.
Turns out we need this for our production targets.
2024-06-11 17:22:35 +02:00
Mathias Vorreiter Pedersen
3351b9547d Merge branch 'rc/3.14' into rc-3.14-mergeback 2024-06-11 16:21:08 +01:00
Owen Mansel-Chan
2ae7fa4897 Tests: accept expected changes 2024-06-11 16:20:06 +01:00
Owen Mansel-Chan
6fd2ab7cef Tests: Accept model renumbering in edge provenance 2024-06-11 16:18:18 +01:00
Mathias Vorreiter Pedersen
b88a1b2d1e Merge pull request #16724 from MathiasVP/cache-asexpr
C++: Cache `asExpr` (and `asIndirectExpr`) implementation predicates
2024-06-11 16:17:29 +01:00
Owen Mansel-Chan
700604a1c2 Convert old-style models for built-ins to MaD
These models are to cover the special cases where `append` can be used
with a second argument which is a string followed by `...`, and `copy`
can be used with a second argument which is a string. In this case the
taint is carried by the whole string, rather than in array elements.
2024-06-11 16:16:45 +01:00
Joe Farebrother
93f10fcf14 Add sanitizers for compiled regexes 2024-06-11 15:44:16 +01:00
Mathias Vorreiter Pedersen
6a6978398a C++: Add file QLDoc. 2024-06-11 15:39:45 +01:00
Mathias Vorreiter Pedersen
333df03f64 C++: Cache more things. 2024-06-11 15:39:43 +01:00
Mauro Baluda
a464a8e48e @mbaluda
Update provenance in test expectations
2024-06-11 15:15:50 +02:00
Tamas Vajk
11faf08ed0 Remove specific standalone/tracing extractor state classes 2024-06-11 14:16:35 +02:00
Geoffrey White
214db5c20d Swift: Make CI more happy. 2024-06-11 12:49:58 +01:00
Cornelius Riemenschneider
3cf719cb39 pkg.bzl: Significantly restructure codeql_pack rule.
This PR introduces a `codeql_pack_rule` that does the heavy lifting
of extracting arch- and common zip files for production dist building.
It also factors out the installer targets for individual packs,
as well as pack groups.

This changes the contract between the internal build system and the pack
definition significantly, which is why an accompanying internal PR is required.
No backwards compatibility layer is provided, as the PR as complex enough as-is.

The individual `codeql_pack` rules are now much simpler,
as they mostly stuff their inputs into a new `_CodeQLPackInfo` provider,
and let the installer and `codeql_pack_group` rules do the heavy lifting.
For working in the external repo with self-contained packs,
the per-pack installer targets are still available.
Internally, we'll only use the new `codeql_pack_group` targets
going forward, both for defining intree-dists and for building
the production zip files.
2024-06-11 13:15:05 +02:00
Cornelius Riemenschneider
3574b9fd4f Merge pull request #16716 from github/criemen/rust-bzlmod-new
Rust: Move to bzlmod.
2024-06-11 13:13:16 +02:00
Mauro Baluda
29e3816412 Apply suggestions from code review
Address reviewiew comments

Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-06-11 12:05:14 +02:00
Paolo Tranquilli
01416838a1 Merge branch 'main' into redsun82/kotlin 2024-06-11 11:57:19 +02:00
Cornelius Riemenschneider
4226270ef9 Merge branch 'main' into criemen/rust-bzlmod-new 2024-06-11 11:40:40 +02:00
Anders Schack-Mulligen
73caa48302 Merge pull request #16721 from aschackmull/dataflow/remove-unused-import
Dataflow: Remove unused import.
2024-06-11 09:54:05 +02:00
Chris Smowton
3172054073 Merge pull request #16717 from github/post-release-prep/codeql-cli-2.17.5
Post-release preparation for codeql-cli-2.17.5
2024-06-11 07:56:55 +01:00
Anders Schack-Mulligen
939ae4a561 Dataflow: Remove unused import. 2024-06-11 08:55:44 +02:00
Paolo Tranquilli
90db894d01 Kotlin: remove obsolete scripts and reword comments 2024-06-11 08:52:26 +02:00
Anders Schack-Mulligen
87316784ad Shared: Fix file-module qldoc. 2024-06-11 08:49:15 +02:00
Mauro Baluda
bb5ef3ccd9 Update provenance in test expectations 2024-06-10 19:57:37 +02:00
Mauro Baluda
e9dba59f11 Merge branch 'main' into main 2024-06-10 19:57:00 +02:00
Geoffrey White
ae0bf037ac Swift: Make CI happy. 2024-06-10 18:54:16 +01:00
Geoffrey White
2f33b9422b Merge branch 'main' into salvage 2024-06-10 18:31:46 +01:00
Geoffrey White
83860acdde Swift: Test BuiltinLiteralExpr. 2024-06-10 18:20:25 +01:00
Geoffrey White
f2b1e09650 Swift: Add some conversion test cases. 2024-06-10 17:25:25 +01:00
Michael B. Gale
317790eac3 Merge pull request #16703 from github/mbg/go/improve-version-selection-v2
Go: Use toolchain directives for version selection if available, and add tests (v2)
2024-06-10 16:03:00 +00:00
Mathias Vorreiter Pedersen
ec34007a88 Merge pull request #16714 from MathiasVP/handle-unlikely-in-guards-2
C++: Support `__builtin_expect` in `IRGuards`
2024-06-10 16:54:01 +01:00
github-actions[bot]
8a25081a0e Post-release preparation for codeql-cli-2.17.5 2024-06-10 15:33:08 +00:00
Tony Torralba
7336dd1ae5 Merge pull request #16482 from grakshith/rakshith/tune-java-crypto
Java: Add RSA/ECB/OEAP ciphers to the list of secure algorithms
2024-06-10 17:27:35 +02:00
Cornelius Riemenschneider
496fff4273 C#: Remove empty glob pattern. 2024-06-10 17:04:00 +02:00
Cornelius Riemenschneider
00319c5010 Upgrade bazel to 7.2.0.
This also bumps a bunch of external dependencies.
2024-06-10 17:03:59 +02:00
Cornelius Riemenschneider
092bc6445d Rust/bazel: Port to bzlmod.
This gets rid of our last workspace dependency.
In particular, this change also gets rid of the checked-in extra
lock files that took forever to generate.
2024-06-10 17:03:58 +02:00
Michael B. Gale
d4adc373c6 Replace if with else if in RequiredGoVersion 2024-06-10 15:48:29 +01:00
Chris Smowton
a160b891c8 Merge pull request #16715 from github/release-prep/2.17.5
Release preparation for version 2.17.5
2024-06-10 14:46:30 +01:00
github-actions[bot]
877bfa2468 Release preparation for version 2.17.5 2024-06-10 13:40:39 +00:00
Mathias Vorreiter Pedersen
c3bba38950 C++: Fix QLDoc. 2024-06-10 13:39:34 +01:00
Cornelius Riemenschneider
7ecf1f9010 Merge pull request #16713 from github/criemen/csharp-version-fallback
C#: Add fallback for branch detection.
2024-06-10 14:24:37 +02:00
Mathias Vorreiter Pedersen
1aea120e89 C++: Add change note. 2024-06-10 13:01:01 +01:00
Mathias Vorreiter Pedersen
b0c4fcec57 C++: Cleanup. 2024-06-10 12:53:07 +01:00
Mathias Vorreiter Pedersen
9e088f3e4a C++: Accept test changes. 2024-06-10 12:53:06 +01:00
Mathias Vorreiter Pedersen
84c1341b62 C++: Support builtin expect in IRGuards. 2024-06-10 12:53:04 +01:00
Mathias Vorreiter Pedersen
d76700497b C++: Add testcases using the builtin expect operation. 2024-06-10 12:47:45 +01:00
Mathias Vorreiter Pedersen
9c98652116 C++: Handle 'unlikely' in IRGuards. 2024-06-10 12:47:44 +01:00
Jeroen Ketema
000a81fd29 Merge pull request #16690 from MathiasVP/better-guards
C++: Fix missing results for `comparesEq` in `IRGuardCondition`
2024-06-10 13:32:10 +02:00
Sim4n6
7c0ce6486b Rerun the test learn 2024-06-10 12:21:10 +01:00
Cornelius Riemenschneider
027c7d0d43 C#: Add fallback for branch detection.
Apparently, when building a release build, we're getting `no-git`
as first part o the version string for the submodule.
If we do, fall back to the internal repo's branch name.
For releases, that's the same anyways.
Luckily, the commit SHA is correct.
2024-06-10 12:14:03 +02:00
Mauro Baluda
1d44f45be2 Update org.apache.commons.io.model.yml 2024-06-10 12:03:57 +02:00
Mathias Vorreiter Pedersen
7819cc1c36 C++: Add more QLDoc. 2024-06-10 10:58:52 +01:00
Mauro Baluda
71505f4003 Added more org.apache.commons.io.FileUtils-related sinks to the path injection query. 2024-06-10 11:29:51 +02:00
Tamás Vajk
06aa2664bf Merge pull request #16705 from tamasvajk/build/fix-attributes
C#: Add assembly attributes to assemblies built with Bazel
2024-06-10 09:26:31 +02:00
am0o0
412472e9a4 add zip4j 2024-06-08 01:14:04 +02:00
am0o0
240b4cd696 update tests 2024-06-08 01:05:55 +02:00
am0o0
ceea475c45 add new s3 and spring IO path injection sinks 2024-06-08 01:04:20 +02:00
am0o0
9db334d02f update select statement, update test cases 2024-06-07 21:26:20 +02:00
am0o0
2c9340331d update test cases expected results 2024-06-07 21:16:31 +02:00
am0o0
5e0a78c4c7 make predicate for env key and value nodes, use propertyRead/Write instead of API nodes to find env key and value assignments, fix a bug thanks to @erik-krogh 2024-06-07 21:15:30 +02:00
Michael B. Gale
e7a60b72f1 Go: Check dependencies per workspace 2024-06-07 16:22:41 +00:00
Michael B. Gale
b9586a81ef Go: Add functions for constructing go list commands 2024-06-07 16:22:40 +00:00
Michael B. Gale
6c0c3365cf Go: Fix vendor issues and go.sum files in separate loop 2024-06-07 16:22:39 +00:00
Michael B. Gale
d344f720aa Go: Add methods to GoModule for the tidy and vendor commands
These ensure that the module path is used automatically
2024-06-07 16:22:37 +00:00
aegilops
7ee5655f31 Merge branch 'aegilops/js/insecure-helmet-middleware' of https://github.com/aegilops/codeql into aegilops/js/insecure-helmet-middleware 2024-06-07 15:50:15 +01:00
aegilops
975811ae59 Change layout of qhelp example code 2024-06-07 15:50:06 +01:00
Paul Hodgkinson
43a140e62c Merge branch 'main' into aegilops/js/insecure-helmet-middleware 2024-06-07 15:46:18 +01:00
aegilops
7136763c37 Formatting 2024-06-07 15:36:39 +01:00
aegilops
465d64a810 Removed br tags 2024-06-07 15:34:45 +01:00
aegilops
29322f5ff0 Merge branch 'aegilops/js/insecure-helmet-middleware' of https://github.com/aegilops/codeql into aegilops/js/insecure-helmet-middleware 2024-06-07 15:32:23 +01:00
aegilops
f5d465f08a Added data extension to allow setting extra required Helmet features 2024-06-07 15:32:11 +01:00
Tamas Vajk
5f98f2aec9 Add assembly attributes to bazel build script 2024-06-07 15:42:12 +02:00
Cornelius Riemenschneider
6731bccc92 C#: Provide skeleton to generate an assemblyInfo file.
Each unit gets a unique assemblyInfo file, on top
of the ones for entrypoints that also gets the git info embedded.
2024-06-07 15:24:53 +02:00
Tamas Vajk
16f8be4ba4 C#: Add product name to assemblies 2024-06-07 15:24:21 +02:00
Tamas Vajk
beffc2a49d C#: Remove unneeded source folder from Bazel build scripts 2024-06-07 15:23:45 +02:00
Anders Schack-Mulligen
32260e2823 Merge pull request #16210 from aschackmull/dataflow/provenance-for-tests
Dataflow: Add support for pretty-printed alert provenance in tests
2024-06-07 14:53:56 +02:00
Michael B. Gale
881b2586e1 Go: Add tests for RequiredGoVersion 2024-06-07 12:20:44 +00:00
Michael B. Gale
504a233299 Go: Use Toolchain directives in go.mod files, if available 2024-06-07 12:20:43 +00:00
Michael B. Gale
1d6f09c750 Go: Refactor go.mod version retrieval into its own method 2024-06-07 12:20:42 +00:00
Michael B. Gale
44a16cef6c Go: Use Toolchain directives in go.work files, if available 2024-06-07 12:20:41 +00:00
Michael B. Gale
ea3a3db847 Merge pull request #16460 from github/mbg/go/semver-type
Go: Use new type for all semantic versions
2024-06-07 12:19:12 +00:00
Michael B. Gale
9d1c2c6ba1 Merge branch 'main' into mbg/go/semver-type 2024-06-07 12:09:10 +00:00
Anders Schack-Mulligen
9b1e4d7895 Go: Fix test failure. 2024-06-07 13:16:20 +02:00
Pierre
0ab67d1790 Merge pull request #16684 from github/sitedocs/2.17.4
Add changelog for 2.17.4
2024-06-07 02:50:38 -07:00
Anders Schack-Mulligen
7e980d9524 Add a bit more qldoc. 2024-06-07 11:47:50 +02:00
Anders Schack-Mulligen
0c47203580 Javascript: Add support for pretty-printed provenace in tests. 2024-06-07 11:47:49 +02:00
Anders Schack-Mulligen
68ddae2918 Python: Add support for pretty-printed provenace in tests. 2024-06-07 11:47:48 +02:00
Anders Schack-Mulligen
5d51b5b97b Ruby: Add support for pretty-printed provenace in tests. Convert one test. 2024-06-07 11:47:48 +02:00
Anders Schack-Mulligen
a26c01d7c7 Go: Add support for pretty-printed provenace in tests. Convert one test. 2024-06-07 11:47:45 +02:00
Anders Schack-Mulligen
0e8d72c126 C#: Add support for pretty-printed provenace in tests. Convert one test. 2024-06-07 11:45:16 +02:00
Anders Schack-Mulligen
4ec4da4c8c Dataflow/Java: Add support for pretty-printed provenace in tests. Convert one test. 2024-06-07 11:45:13 +02:00
Tamás Vajk
68a78fa3ed Merge pull request #16700 from tamasvajk/buildless/tsp-warning-config
C#: Add TSP warning if `buildless` option is used instead of `build-mode`
2024-06-07 11:07:16 +02:00
Michael Nebel
d5af71a6c9 Merge pull request #16647 from michaelnebel/csharp/idempotentsummarygeneration
C#: Make summary generation idempotent.
2024-06-07 10:38:25 +02:00
Tamas Vajk
9366eb8288 C#: Add TSP warning if buildless option is used instead of build-mode 2024-06-07 10:33:13 +02:00
Mathias Vorreiter Pedersen
7f62085be5 C++: Delete unused predicate. 2024-06-07 09:13:29 +01:00
Jeroen Ketema
456c046b09 Merge pull request #16693 from jketema/func-fix
C++: Correctly identify orphaned variables as static
2024-06-07 07:54:11 +02:00
am0o0
5a69bbf6b0 use isTestFile from ClassifyFiles module file instead previous where condition, update tests accordingly 2024-06-07 06:11:48 +02:00
am0o0
1033bf9c4c remove unused imports from javascript test cases 2024-06-07 06:04:12 +02:00
am0o0
b9e3b3310e update the remote flow based query thanks to @erik-krogh, update tests and separate the local and remote query tests 2024-06-07 06:01:49 +02:00
am0o0
273848c879 remove old comments 2024-06-07 05:40:17 +02:00
am0o0
a5363286f1 add implicit this 2024-06-07 05:37:58 +02:00
am0o0
184aa0480e Merge branch 'amammad-cpp-bombs' of https://github.com/amammad/codeql into amammad-cpp-bombs 2024-06-07 05:27:12 +02:00
Am
a5c9dc74bf Merge branch 'github:main' into amammad-cpp-bombs 2024-06-07 05:27:08 +02:00
am0o0
e37ceac3b1 merge all query files into one query file 2024-06-07 05:26:51 +02:00
Ian Lynagh
97cb0c89c8 Kotlin: Remove unused PopulationSpecFile 2024-06-06 21:14:28 +01:00
Mathias Vorreiter Pedersen
ed525fce70 C++: Accept test changes. 2024-06-06 20:38:31 +01:00
Mathias Vorreiter Pedersen
b5a3575130 C++: Make proper use of barrier guards in test. 2024-06-06 20:38:17 +01:00
Jeroen Ketema
4488518838 C++: Update expected test results 2024-06-06 21:12:34 +02:00
Jeroen Ketema
5ae8fe502a C++: Correctly identify orphaned variables as static 2024-06-06 20:35:26 +02:00
Jeroen Ketema
798357ffc6 C++: Add test case that shows that __func__ is not considered static 2024-06-06 20:31:45 +02:00
Mathias Vorreiter Pedersen
7b92554cf2 Merge branch 'main' into better-guards 2024-06-06 19:22:10 +01:00
Mathias Vorreiter Pedersen
9f4c1380e5 Merge pull request #16677 from MathiasVP/phi-input-nodes
C++: Extend barrier guards to handle phi inputs
2024-06-06 19:21:30 +01:00
Michael B. Gale
2662808629 Go: Output setup-go compatible pre-release identifiers 2024-06-06 17:14:45 +00:00
Mathias Vorreiter Pedersen
9564ae1ca4 C++: Accept more test changes. 2024-06-06 17:04:48 +01:00
Tom Hvitved
eae6406629 Merge pull request #16687 from hvitved/ruby/bump-ts-grammar
Ruby: Bump tree-sitter grammar
2024-06-06 17:44:18 +02:00
Mathias Vorreiter Pedersen
528afba919 C++: Accept test changes. 2024-06-06 16:32:29 +01:00
Mathias Vorreiter Pedersen
36aac3ffd8 C++: Get rid of 'relevantUnaryComparison' since it was excluding too much. The performance is most likely fine with that restriction. 2024-06-06 16:32:16 +01:00
Mathias Vorreiter Pedersen
703832f5a1 C++: Remove a column from a few predicates. 2024-06-06 16:30:32 +01:00
Mathias Vorreiter Pedersen
0298755975 C++: Add a test. 2024-06-06 16:22:23 +01:00
Mathias Vorreiter Pedersen
8aaa2a1079 C++: Improve comment. 2024-06-06 15:58:52 +01:00
Mathias Vorreiter Pedersen
f7b2d98c6e C++: Add tests to demonstrate that it's not barrier guard that's buggy. Rather, it's the GuardCondition library. 2024-06-06 15:35:16 +01:00
Mathias Vorreiter Pedersen
fa09d21c32 C++: Simplify. No need for the 'PhiInputNodeExt' class. 2024-06-06 15:33:38 +01:00
Asger F
6e0f3df573 Merge pull request #14120 from asgerf/dynamic/typemodel-istypeused
Dynamic: add TypeModel.isTypeUsed
2024-06-06 15:31:16 +02:00
Mathias Vorreiter Pedersen
5deb9002bf Merge pull request #16665 from geoffw0/yml
C++: Support for extension models (.yml)
2024-06-06 14:21:42 +01:00
Geoffrey White
8acb11924d C++: Remove redundant import. 2024-06-06 13:39:10 +01:00
am0o0
e4ffdb848e add tests for new where condition, update expected test results 2024-06-06 14:30:06 +02:00
Mathias Vorreiter Pedersen
314eb5db72 Merge pull request #16688 from MathiasVP/flow-through-builtin-bit-cast
C++: Fix IR generation for builtins and add flow through `__builtin_bit_cast`
2024-06-06 13:28:41 +01:00
am0o0
ee05ec0386 remove sanitnzer and add a where condition instead
use a simpler where condition(the former sanitizer) for overcoming performance problems
2024-06-06 14:16:41 +02:00
Geoffrey White
38acfcf42e C++: Doc tweaks addressing review comments. 2024-06-06 13:11:57 +01:00
am0o0
61a11c6512 Or to or in docs 2024-06-06 14:10:15 +02:00
am0o0
12df7dee17 Merge branch 'amammad-js-JWT' of https://github.com/amammad/codeql into amammad-js-JWT 2024-06-06 14:04:46 +02:00
Am
af016f9416 Merge branch 'github:main' into amammad-js-JWT 2024-06-06 15:33:26 +03:30
am0o0
8258e377dd use PascalCase for URLConstructorLabel 2024-06-06 14:00:56 +02:00
am0o0
d27a378008 change query-id to avoid duplicate ids 2024-06-06 13:59:58 +02:00
Geoffrey White
7aec488d8a C++: Permit ':' in models-as-data namespaces. 2024-06-06 12:53:42 +01:00
Geoffrey White
894497218d Shared: Recognize 'remote-sink' in ModelValidation.qll. 2024-06-06 12:49:13 +01:00
Geoffrey White
f9ef72eca6 C++: Fix typos. 2024-06-06 12:31:44 +01:00
Tom Hvitved
331f676832 Merge pull request #16523 from microsoft/jb1/chanely-insecure-sql-connection
Adding case to InsecureSQLConnection.ql when Encrypt set in initializer
2024-06-06 12:58:14 +02:00
Mathias Vorreiter Pedersen
31bc4263e7 C++: Fix QLDoc. 2024-06-06 10:52:37 +01:00
Paolo Tranquilli
ac6cc38b20 Merge pull request #16681 from github/redsun82/ripunzip
Ripunzip: provide installer
2024-06-06 11:52:04 +02:00
Paolo Tranquilli
2d42ea0f2f Merge pull request #16668 from github/criemen/pkg-js-fixup
JS: Use `resources/tools` from external repo, not internal.
2024-06-06 11:50:54 +02:00
Mathias Vorreiter Pedersen
bd9ece0bd3 C++: Add dataflow through '__builtin_bit_cast'. 2024-06-06 10:00:18 +01:00
Mathias Vorreiter Pedersen
48f2fd0460 C++: Accept IR changes. 2024-06-06 09:52:35 +01:00
Mathias Vorreiter Pedersen
d6352b47a1 C++: Fix IR generation for builtin operations. 2024-06-06 09:52:20 +01:00
Mathias Vorreiter Pedersen
f58757ff9d C++: Skip children we cannot translate when translating builtin operations. 2024-06-06 09:48:41 +01:00
Mathias Vorreiter Pedersen
af4d2f1ed3 C++: Add an IR test. 2024-06-06 09:48:03 +01:00
Tom Hvitved
523139259a Ruby: Update cargo-bazel-lock.json 2024-06-06 10:46:01 +02:00
Tom Hvitved
7122db0c45 Ruby: Bump tree-sitter grammar 2024-06-06 10:31:16 +02:00
Tom Hvitved
421c68a263 Merge pull request #16663 from hvitved/ruby/extraction-error-consistency
Ruby: Add consistency query for extraction errors
2024-06-06 10:29:56 +02:00
Tamás Vajk
0f09198bcd Merge pull request #16673 from tamasvajk/fix/logger-disposal
C#: Fix erroneous logger disposal
2024-06-06 09:13:27 +02:00
Sim4n6
dabc33bf66 simplify UnicodeBypassValidationQuery code 2024-06-05 22:45:49 +01:00
Erik Krogh Kristensen
2e5d9c34bf Merge pull request #16675 from mbaluda/main
Extract .xsaccess files as JSON
2024-06-05 20:19:40 +02:00
Chanel
7b5297b882 Merge branch 'main' into jb1/chanely-insecure-sql-connection 2024-06-05 09:02:13 -07:00
Chanel Young
716e2737d1 formatting 2024-06-05 09:01:10 -07:00
Owen Mansel-Chan
ef2f01613c Merge pull request #16676 from owen-mc/qldoc-external-flow
C/C#/Java/Swift: Cover all params in QLDoc of `modelCoverage`
2024-06-05 16:53:27 +01:00
Ian Lynagh
ac91a5167a Merge pull request #16682 from igfoo/igfoo/integ
Java integration tests: accept new output
2024-06-05 16:48:18 +01:00
Chris Smowton
e704bf353b Merge pull request #16685 from smowton/smowton/admin/ecj-change-note
Java: Add change note documenting ECJ improvements
2024-06-05 16:39:20 +01:00
Owen Mansel-Chan
3b51f1f722 Merge pull request #16683 from owen-mc/go/refactor-extractor
Go: Refactor findMethodWithGivenReceiver
2024-06-05 16:31:44 +01:00
Chris Smowton
79ae522349 Add change note documenting ECJ improvements 2024-06-05 15:12:33 +01:00
Michael B. Gale
c0142c1a91 Go: Add comment explaining why NewSemVer does not Canonicalise the result 2024-06-05 14:08:45 +00:00
Pierre
366fba8b33 Add changelog for 2.17.4 2024-06-05 16:03:50 +02:00
Michael B. Gale
f830dc6852 Merge branch 'main' into mbg/go/semver-type 2024-06-05 13:59:20 +00:00
Owen Mansel-Chan
fcf06c59aa Refactor findMethodWithGivenReceiver 2024-06-05 14:52:31 +01:00
Chris Smowton
e267031f59 Merge pull request #16680 from smowton/smowton/admin/add-ecj-tests
Java: add basic ECJ integration tests
2024-06-05 14:33:36 +01:00
Ian Lynagh
13dd87f04c Java integration tests: accept new output
This means the expected output is in the order that the new test driver
creates it in, which means future diffs will be smaller.
2024-06-05 14:14:44 +01:00
Paolo Tranquilli
61847bc58b Ripunzip: provide installer 2024-06-05 14:46:59 +02:00
Michael B. Gale
5dd7e136e5 Merge branch 'main' into mbg/go/semver-type 2024-06-05 12:22:16 +00:00
Sim4n6
7dcbbbac91 Refactor UnicodeBypassValidationQuery to remove unnecessary code 2024-06-05 13:05:34 +01:00
Chris Smowton
54347c2642 Java: add basic ECJ integration tests 2024-06-05 12:49:25 +01:00
Owen Mansel-Chan
44a56c420f Merge pull request #16558 from owen-mc/go/sync-external-flow
Go: sync ExternalFlow.qll
2024-06-05 11:31:34 +01:00
Jeroen Ketema
ff46e2c627 Merge pull request #16662 from jketema/gets
C++: Ignore `gets`'es with incorrect parameter counts
2024-06-05 11:50:04 +02:00
Mathias Vorreiter Pedersen
97f0c759c0 C++: Accept test changes. 2024-06-05 09:58:47 +01:00
Mathias Vorreiter Pedersen
44cc19cd6b C++: Handle phi inputs in barrier guards logic. 2024-06-05 09:58:45 +01:00
Mathias Vorreiter Pedersen
05d46a6793 C++: Also ignore phi input edges in 'AllocaInLoop.ql'. 2024-06-05 09:58:44 +01:00
Mathias Vorreiter Pedersen
0149fb640d C++: Simplify. 2024-06-05 09:58:43 +01:00
Mathias Vorreiter Pedersen
25179074c1 C++: Better toString on phi nodes. 2024-06-05 09:58:41 +01:00
Mathias Vorreiter Pedersen
85d0efcbed C++: Make the last use of a node before entering the phi node map to a phi input dataflow node. 2024-06-05 09:58:40 +01:00
Jeroen Ketema
6f8449cf75 C++: Add change note 2024-06-05 10:05:13 +02:00
Owen Mansel-Chan
6b2e86afea Accept review suggestion 2024-06-05 07:34:46 +01:00
Owen Mansel-Chan
63bec5ae3e Merge pull request #16678 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-05 07:31:57 +01:00
github-actions[bot]
c2bd050e08 Add changed framework coverage reports 2024-06-05 00:17:01 +00:00
Mauro Baluda
cc0271715b Merge branch 'main' into main 2024-06-04 23:27:10 +02:00
Mauro Baluda
0b9bafc9c3 Update AutoBuildTests.java 2024-06-04 21:07:57 +02:00
Mauro Baluda
168cba86c1 Add .xsaccess test data 2024-06-04 20:55:07 +02:00
Rakshith Gopalakrishna
798a736d16 fix: update changelog
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-06-04 11:20:05 -07:00
Rakshith Gopalakrishna
65af2556ed fix: remove rsa/ecb/* from getASecureAlgorithmName
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-06-04 11:20:05 -07:00
Rakshith Gopala krishna
97f9a882c6 fix: address PR comments 2024-06-04 11:20:05 -07:00
Rakshith Gopala krishna
0f63f0dda2 docs: add changenote 2024-06-04 11:20:05 -07:00
Rakshith Gopala krishna
80bf7cdb52 fix: remove the pkcs1 scheme 2024-06-04 11:20:05 -07:00
Rakshith Gopala krishna
dd223ed704 feat: add rsa/ecb/... variants to the list of secure algorithms 2024-06-04 11:20:05 -07:00
Paolo Tranquilli
ad2eacfd2f Merge pull request #16117 from github/redsun82/kotlin
Kotlin: build extractor with bazel
2024-06-04 20:13:00 +02:00
Mathias Vorreiter Pedersen
d020f93005 C++: This is never a definition. 2024-06-04 17:19:49 +01:00
Mathias Vorreiter Pedersen
3e53f3bd13 C++: Flow out of phi inputs to the phi node. 2024-06-04 17:19:47 +01:00
Mathias Vorreiter Pedersen
e04c75df24 C++: Introduce a new phi input dataflow node. 2024-06-04 17:19:46 +01:00
Mathias Vorreiter Pedersen
888a831a5c C++: Use 'ssaDefReachesReadExt' instead of 'ssaDefReachesRead'. 2024-06-04 17:19:45 +01:00
Mathias Vorreiter Pedersen
556dc282d2 C++: Use 'phiHasInputFromBlockExt' instead of 'phiHasInputFromBlock'. 2024-06-04 17:19:43 +01:00
Mathias Vorreiter Pedersen
ceccc9294c C++: Add a testcase that failed during development. 2024-06-04 17:19:41 +01:00
Mathias Vorreiter Pedersen
a9af28ede0 C++: Drive-by fix. This is not needed anymore after #16345 2024-06-04 17:19:40 +01:00
Mathias Vorreiter Pedersen
43c7ac36d9 C++: Add a test with spurious flow. 2024-06-04 17:19:36 +01:00
Owen Mansel-Chan
3fb5ad2a0d Cover all params in QLDoc of modelCoverage 2024-06-04 17:06:00 +01:00
Paolo Tranquilli
b7e16ca55d Kotlin: fix custom_plugin test 2024-06-04 17:59:13 +02:00
Paolo Tranquilli
e4653a80d4 Kotlin: remove kapt wrapper, probably unneeded 2024-06-04 17:55:19 +02:00
Mauro Baluda
8791e67789 Add .xsaccess test data 2024-06-04 17:50:08 +02:00
Mauro Baluda
576ee7892d Add .xsaccess test data 2024-06-04 17:36:05 +02:00
Mauro Baluda
7b3e9b4ec1 Extract .xsaccess files as JSON 2024-06-04 16:28:08 +02:00
Mauro Baluda
73b18129d9 Extract .xsaccess files as JSON 2024-06-04 16:23:05 +02:00
Paolo Tranquilli
10584b3a7a Kotlin: improve posix dev wrappers 2024-06-04 15:36:35 +02:00
Paolo Tranquilli
a48d71b42f Merge branch 'main' into redsun82/kotlin 2024-06-04 15:32:59 +02:00
Tamas Vajk
b8bc014297 Fix erroneous logger disposal 2024-06-04 15:12:44 +02:00
Paolo Tranquilli
8205f86365 Kotlin: use tools/bazel in integration test 2024-06-04 15:12:23 +02:00
Paolo Tranquilli
be5c82cb88 Kotlin: add other tools to dev wrapper 2024-06-04 15:11:59 +02:00
Tom Hvitved
e42de3de6f Ruby: Fix extraction errors 2024-06-04 14:54:02 +02:00
Paolo Tranquilli
c6039b345b Kotlin: update default kotlinc version 2024-06-04 14:39:16 +02:00
Paolo Tranquilli
e693c2719d Kotlin: remove unneeded patch 2024-06-04 14:39:02 +02:00
Paolo Tranquilli
e7cec01a81 Kotlin: make current_kotlin_version.py executable 2024-06-04 14:31:59 +02:00
Paolo Tranquilli
4c91bdce48 Kotlin: tgt -> target 2024-06-04 14:27:33 +02:00
Paolo Tranquilli
2fe0718e49 Explain .lfsconfig choice in the comment 2024-06-04 14:27:08 +02:00
Am
e3e59e02e5 Merge branch 'github:main' into amammad-js-CodeInjection_dynamic_import 2024-06-04 16:22:06 +04:00
Paolo Tranquilli
6a9cb90a57 Kotlin: rework header comment 2024-06-04 14:21:58 +02:00
Paolo Tranquilli
fcd326eb11 CI: reword comment 2024-06-04 14:14:23 +02:00
Owen Mansel-Chan
60970ff015 Merge pull request #16571 from owen-mc/go/remove-step-duplication-in-config
Go: remove flow step duplication in configs
2024-06-04 12:57:26 +01:00
Cornelius Riemenschneider
e8c1e50276 JS: Use resources/tools from external repo, not internal.
This was missing in https://github.com/github/codeql/pull/16656, so we couldn't actually
delete the resources in the internal repo.
2024-06-04 13:54:41 +02:00
Cornelius Riemenschneider
c8202341bb Merge pull request #16666 from tamasvajk/buildless/fix/quote-nuget-path
C#: Quote `nuget.exe` path
2024-06-04 13:29:05 +02:00
Tom Hvitved
ad99158838 Ruby: Fix/accept extraction errors 2024-06-04 12:55:44 +02:00
Tom Hvitved
858c7cead2 Ruby: Add consistency query for extraction errors 2024-06-04 12:55:42 +02:00
Tamas Vajk
c608675212 C#: Quote nuget.exe path 2024-06-04 12:49:32 +02:00
Owen Mansel-Chan
cbbdd01d5a Reinstate more descriptive QLDoc 2024-06-04 11:46:05 +01:00
Owen Mansel-Chan
7356e747e4 Add change note 2024-06-04 11:46:04 +01:00
Owen Mansel-Chan
6e67e724b4 Update documentation for receiver instead of -1 2024-06-04 11:46:02 +01:00
Owen Mansel-Chan
5c5949ba5e Add tests for neutral models 2024-06-04 11:46:01 +01:00
Owen Mansel-Chan
c964fc2dca Update expected results (only empty predicate names added) 2024-06-04 11:46:00 +01:00
Owen Mansel-Chan
18fa454d33 Replace Argument[-1] with Argument[receiver] 2024-06-04 11:45:59 +01:00
Owen Mansel-Chan
0870946e05 Add model validation to more tests 2024-06-04 11:45:58 +01:00
Owen Mansel-Chan
a8112ec62e Add neutralModel to empty.model.yml so it is defined somewhere 2024-06-04 11:45:57 +01:00
Owen Mansel-Chan
adfaae02e7 Cache interpretElement 2024-06-04 11:45:55 +01:00
Owen Mansel-Chan
479ea9f82c Remove unused predicate hasExternalSpecification 2024-06-04 11:45:54 +01:00
Owen Mansel-Chan
174712a472 Delete unused predicate paramsString
This is needed for other languages, but in Go you cannot have two
functions which are distinguished only by their parameter types.
2024-06-04 11:45:52 +01:00
Owen Mansel-Chan
40127583fb Make manual neutral summary models block generated summary models 2024-06-04 11:45:51 +01:00
Owen Mansel-Chan
5b04a71169 Non-trivial implementation of NeutralCallableAdapter 2024-06-04 11:45:49 +01:00
Owen Mansel-Chan
df8e04fcf9 Add predicate neutralElement matching summaryElement 2024-06-04 11:45:48 +01:00
Owen Mansel-Chan
209fe731a6 Change type of c to be more portable 2024-06-04 11:45:47 +01:00
Owen Mansel-Chan
e2008e14e2 Move summaryElement to FlowSummyImpl.qll 2024-06-04 11:45:45 +01:00
Owen Mansel-Chan
7f0f2d3438 Rename interpretSummary to summaryElement 2024-06-04 11:45:44 +01:00
Owen Mansel-Chan
961b09d63c Use methods of AccessPathToken more 2024-06-04 11:45:42 +01:00
Owen Mansel-Chan
9f7c47509a Expect "receiver" instead of "-1" 2024-06-04 11:45:41 +01:00
Owen Mansel-Chan
557adaf6f2 Update invalid model predicates 2024-06-04 11:45:40 +01:00
Owen Mansel-Chan
8e2e32742c Use neutralModel in various places 2024-06-04 11:45:38 +01:00
Owen Mansel-Chan
83672f545f Add neutralModel extensible predicate 2024-06-04 11:45:36 +01:00
Owen Mansel-Chan
a71e678bb9 Change imports 2024-06-04 11:45:33 +01:00
Owen Mansel-Chan
c3e1592815 Use AccessPath and AccessPathToken more 2024-06-04 11:45:27 +01:00
Owen Mansel-Chan
54a0c03e5d Rename canonicalPackageHasASubpackage to canonicalPkgLink 2024-06-04 11:45:25 +01:00
Owen Mansel-Chan
e81a98925a Remove QLDoc 2024-06-04 11:45:20 +01:00
Owen Mansel-Chan
797e5d0c8a Rename packageHasASubpackage to packageLink 2024-06-04 11:45:17 +01:00
Owen Mansel-Chan
7c94120eb7 Rename packageHasMaDCoverage to relevantPackage 2024-06-04 11:45:13 +01:00
Owen Mansel-Chan
89e7bab0b3 QLDoc 2024-06-04 11:45:06 +01:00
Tony Torralba
78552b8bca Merge pull request #16600 from atorralba/atorralba/java/more-file-sinks
Java: Add more File-related sinks to the path-injection query
2024-06-04 11:59:05 +02:00
Cornelius Riemenschneider
63116d2779 Merge pull request #16656 from github/criemen/pkg-javascript
Javascript: use `codeql_pack` for javascript extractor
2024-06-04 11:58:45 +02:00
Tamás Vajk
a1415e2b6d Merge pull request #16661 from tamasvajk/buildless/nuget-path-space
C#: Quote packages.config paths
2024-06-04 11:53:55 +02:00
Geoffrey White
38c47a4b11 C++: Add change notes. 2024-06-04 10:47:25 +01:00
Tamás Vajk
c06df5552b Merge pull request #16660 from tamasvajk/buildless/nuget-exe
C#: Prefer downloading nuget.exe over local instances
2024-06-04 11:25:03 +02:00
Geoffrey White
9c2b4c9446 C++: Update the doc examples for C/C++. 2024-06-04 10:21:06 +01:00
Geoffrey White
79e9198b20 C++: An empty models-as-data namespace / type is not 'dubious' in CPP. 2024-06-04 10:21:06 +01:00
Geoffrey White
f479649727 C++: Add Boost::Asio models. 2024-06-04 10:21:05 +01:00
Geoffrey White
7e5b7346c0 C++: Add flow test cases for Boost::Asio. 2024-06-04 10:21:05 +01:00
Geoffrey White
8a5b5d220a C++: Add source/sink test cases for Boost::Asio. 2024-06-04 10:21:05 +01:00
Geoffrey White
af6a08893a C++: Update the doc text for C/C++. 2024-06-04 10:20:59 +01:00
Jeroen Ketema
66077dc38d C++: Ignore gets'es with incorrect parameter counts 2024-06-04 11:15:07 +02:00
Joe Farebrother
6ff7fb2a70 Add change note 2024-06-04 09:52:57 +01:00
Michael Nebel
a83d50062e Merge pull request #16658 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-06-04 10:52:03 +02:00
Tamas Vajk
9af6cb8e4b Quote packages.config paths 2024-06-04 10:47:00 +02:00
Joe Farebrother
9331c2c33a Add tests 2024-06-04 09:39:37 +01:00
Tony Torralba
292395b80e Update test expectations 2024-06-04 10:35:16 +02:00
Tony Torralba
f16dd8c010 Apply code review suggestions. 2024-06-04 10:35:11 +02:00
Tony Torralba
f84c2a842d Java: Add more File-related sinks for path-injection 2024-06-04 10:35:07 +02:00
Tamas Vajk
2a62bfd0c2 C#: Add integration test with space in packages.config path 2024-06-04 10:33:03 +02:00
Rasmus Wriedt Larsen
839171e557 Merge pull request #16646 from RasmusWL/url-redirect-qhelp
Python: Update url-redirect qhelp with `https:/example.com` handling
2024-06-04 10:17:37 +02:00
Rasmus Wriedt Larsen
dd8b65130e Merge pull request #16598 from jorgectf/jorgectf/opml-models
Python: Add models for `opml`
2024-06-04 10:16:26 +02:00
Tamas Vajk
f4d3756894 C#: Prefer downloading nuget.exe over local instances 2024-06-04 09:58:04 +02:00
Tom Hvitved
16e9cede3c Merge pull request #16637 from hvitved/csharp/xml-validation-perf
C#: Improve performance of `MissingXMLValidation` query
2024-06-04 09:28:37 +02:00
Paolo Tranquilli
99f70a64e9 Kotlin: address review comments 2024-06-04 09:00:35 +02:00
Paolo Tranquilli
d1a2c0fbe4 Merge branch 'main' into redsun82/kotlin 2024-06-04 08:48:52 +02:00
Tom Hvitved
48455ec3c9 C#: Improve performance of MissingXMLValidation query 2024-06-04 08:35:53 +02:00
Tom Hvitved
e6dc36b2c4 Merge pull request #16636 from hvitved/tree-sitter/verbosity-fix
Tree-sitter: Verbosity fixes
2024-06-04 08:33:28 +02:00
Owen Mansel-Chan
133983678c Merge pull request #16619 from owen-mc/go/fix/response-writer-variadic
Go: Fix bug in ResponseWriter for variadic MaD
2024-06-04 05:36:58 +01:00
github-actions[bot]
922489c8e8 Add changed framework coverage reports 2024-06-04 00:17:08 +00:00
Joe Farebrother
6ac46b8436 Add additional sanitizers to SSRF for methods that restrict the contents of a string. 2024-06-03 23:23:25 +01:00
Paolo Tranquilli
7b8c11379d Javascript: use codeql_pack for javascript extractor 2024-06-03 23:14:44 +02:00
yoff
fe8f13e8dd Merge pull request #16654 from sidshank/sidshank/fix-incorrect-deprecation-comment
Python: Fixes an error in the deprecation notice for a taint tracking configuration
2024-06-03 21:46:35 +02:00
Cornelius Riemenschneider
5b6f38f821 Merge pull request #16623 from github/criemen/new-pkg
Bazel: Use new packaging rules
2024-06-03 20:15:56 +02:00
Sid Shankar
859e8db5f2 Fixes typo in deprecation notice 2024-06-03 16:31:29 +00:00
Cornelius Riemenschneider
8783dfbaac Merge branch 'main' into criemen/new-pkg 2024-06-03 18:15:45 +02:00
Ian Lynagh
b0865c2218 Merge pull request #16554 from igfoo/igfoo/k2rel
Kotlin: Accept Kotlin 2 test output, and use 2.0.0 on CI
2024-06-03 17:14:21 +01:00
Cornelius Riemenschneider
1bd7aef1b2 Fix search paths.
It turns out we still need to supply this option, so `codeql` goes looking
for the extractor paths specified in the `codeql-workspace.yml` file.
2024-06-03 16:33:17 +02:00
Ian Lynagh
986babb912 Kotlin: Accept 2.0 output for integration tests, and run some in 1.9 mode 2024-06-03 15:26:53 +01:00
Ian Lynagh
2bcf292dd6 Kotlin: Fix custom_plugin test with Kotlin 2.0.0 2024-06-03 15:26:53 +01:00
Ian Lynagh
acdf7df6a4 Kotlin: Fix typo 2024-06-03 15:26:53 +01:00
Ian Lynagh
839258897a Kotlin: Add test for generated throw statements 2024-06-03 15:26:52 +01:00
Ian Lynagh
f458ca9568 Kotlin: Bump supported version limit to 2.0.0x 2024-06-03 15:26:52 +01:00
Ian Lynagh
2d760c7cc7 Kotlin: Tweak comments test
The top comment now gets owned by the Compilation Unit. We could
explicitly stop this from happening instead, but I think it's
reasonable.
2024-06-03 15:26:52 +01:00
Ian Lynagh
6224670884 Kotlin: Accept 2.0.0's Kotlin 2 test output 2024-06-03 15:26:51 +01:00
Ian Lynagh
918bee07dd Kotlin: Accept Kotlin 1 test changes 1.9.0 -> 2.0.0 2024-06-03 15:26:51 +01:00
Ian Lynagh
2550e113a0 Kotlin: Set CI to use 2.0.0 release 2024-06-03 15:26:51 +01:00
Cornelius Riemenschneider
c30cc0f665 Fix formatting. 2024-06-03 16:10:41 +02:00
Cornelius Riemenschneider
b67309299f C#: Unified handling of in-tree extractor packs. 2024-06-03 16:07:13 +02:00
Cornelius Riemenschneider
dd267e126c Ql-for-ql: Unified handling of in-tree extractor packs. 2024-06-03 16:06:58 +02:00
Cornelius Riemenschneider
57f7602126 Go: Unified handling of in-tree extractor packs. 2024-06-03 16:06:44 +02:00
Cornelius Riemenschneider
5c77b8708c Ruby: Unified handling of in-tree extractor packs. 2024-06-03 16:06:24 +02:00
Cornelius Riemenschneider
7b72018e56 Swift: Unified handling of in-tree extractor packs. 2024-06-03 16:06:08 +02:00
Cornelius Riemenschneider
04f5f30489 Unified handling of in-tree extractor packs. 2024-06-03 16:05:46 +02:00
Cornelius Riemenschneider
b9da01a384 Merge remote-tracking branch 'origin/main' into criemen/new-pkg 2024-06-03 15:47:15 +02:00
Cornelius Riemenschneider
5875ec272d Merge pull request #16627 from github/criemen/pkg-fix-install
`pkg.bzl`: Fix install targets.
2024-06-03 15:31:43 +02:00
Geoffrey White
e87593af75 C++: Add the doc (copy from csharp). 2024-06-03 13:49:38 +01:00
Geoffrey White
94413c8c2e C++: Implement YML extension models. 2024-06-03 13:49:38 +01:00
Geoffrey White
34130d50d3 C++: Add library tests for YML extension models. 2024-06-03 13:49:26 +01:00
Paolo Tranquilli
51b000a424 Merge pull request #16649 from github/redsun82/bazel-lfs
Bazel: ignore non-default SSH endpoints in `git_lfs_probe.py`
2024-06-03 13:31:43 +02:00
Paolo Tranquilli
8479673419 Bazel: ignore non-default SSH endpoints in git_lfs_probe.py 2024-06-03 12:26:37 +02:00
Cornelius Riemenschneider
a42bdd9bb0 Update misc/bazel/pkg.bzl
Co-authored-by: Paolo Tranquilli <redsun82@github.com>
2024-06-03 10:53:08 +02:00
Cornelius Riemenschneider
0173cf56f5 Merge pull request #16645 from github/criemen/cmake
Cmake generator: Remove space in argument.
2024-06-03 10:46:42 +02:00
Michael Nebel
546b260330 C#: Update expected test output and remove spurious result. 2024-06-03 10:40:13 +02:00
Michael Nebel
46f5b13854 C#: Only dispatch to summarized callables with generated summaries in case there are no source dispatch possibilities. 2024-06-03 10:40:10 +02:00
Michael Nebel
eb0925be60 C#: There should at least be one manual summary for a non-source summarized callable. 2024-06-03 10:40:06 +02:00
Michael Nebel
213e3918df C#: Add some more external flow testcases (one with a spurious result). 2024-06-03 10:40:02 +02:00
Michael Nebel
b08a0a303f C#: Re-factor external models tests to use compiled code instead of emulating it. 2024-06-03 10:39:59 +02:00
Michael Nebel
88b978f0ec Merge pull request #16574 from michaelnebel/csharp/updatenetruntimemodels
C#: Re-generate .NET 8 Runtime models.
2024-06-03 10:33:10 +02:00
Rasmus Wriedt Larsen
121ca129bc Update qhelp with https:/example.com handling 2024-06-03 10:17:10 +02:00
Cornelius Riemenschneider
cff78cca5e Cmake generator: Remove space in argument.
This space breaks when upgrading bazelisk on Windows.
Somehow, a space inside the argument messes up some argument-parsin
somewhere. Porbably due to Windows argument parsing
being not well-defined in how it splits a string into argv.
Removing the space works around the problem.

If the space is included, cmake suddenly can't find the bazelisk
binary anymore, despite happily executing `info output_base` earlier.
2024-06-02 23:56:31 +02:00
Tom Hvitved
58ce3e805e Merge pull request #16633 from hvitved/dataflow/inline-pred
Data flow: Inline `isUnreachableInCall1`
2024-05-31 20:12:14 +02:00
Tom Hvitved
beeae69845 Tree-sitter: Verbosity fixes 2024-05-31 20:10:19 +02:00
Chuan-kai Lin
8d5bb21643 Merge pull request #16642 from github/post-release-prep/codeql-cli-2.17.4
Post-release preparation for codeql-cli-2.17.4
2024-05-31 09:08:03 -07:00
Alex Ford
1100b75a3c Ruby: handle routes with path/action pairs 2024-05-31 15:54:57 +01:00
github-actions[bot]
a19149032f Post-release preparation for codeql-cli-2.17.4 2024-05-31 14:49:11 +00:00
Paolo Tranquilli
58fb0270fb Merge pull request #16641 from github/redsun82/legacy-integration-test-marker
Mark all integration tests as legacy
2024-05-31 16:18:00 +02:00
Alex Ford
0473655752 Ruby: actiondispatch add hash arg testcase 2024-05-31 15:08:35 +01:00
Alex Ford
22858249f9 Ruby: actiondispatch test whitespace changes 2024-05-31 15:07:39 +01:00
Paolo Tranquilli
096a31dbef Mark all integration tests as legacy
This is in preparation for the new integration test framework. Tests
marked thus will be run by the current framework and ignored by the new
one.
2024-05-31 16:04:50 +02:00
Alex Ford
4644f08195 Ruby: Routing.qll - rename call as methodCall 2024-05-31 14:45:32 +01:00
Alex Ford
25f9449f53 Ruby: Routing.qll - rename method as httpMethod 2024-05-31 14:45:26 +01:00
Alex Ford
af9ed21c36 Ruby: Routing.qll - rename method as methodCall 2024-05-31 14:45:20 +01:00
Chuan-kai Lin
a7bbcf3eb8 Merge pull request #16640 from github/release-prep/2.17.4
Release preparation for version 2.17.4
2024-05-31 06:43:37 -07:00
github-actions[bot]
a22e70373a Release preparation for version 2.17.4 2024-05-31 13:40:51 +00:00
Anders Schack-Mulligen
06ce40c687 Merge pull request #16561 from aschackmull/java/typeflow-effectively-private
Java: Improve dispatch through TypeFlow of effectively private calls.
2024-05-31 15:11:18 +02:00
Michael Nebel
e2758f2abb C#: Update expected test output. 2024-05-31 15:06:16 +02:00
Owen Mansel-Chan
ca2faa7ef0 Merge pull request #16624 from owen-mc/go/append-taint-models
Go: Add back taint models for `append` and `copy`
2024-05-31 13:35:14 +01:00
Paolo Tranquilli
01c1acd43f Merge pull request #16632 from github/redsun82/bazel-fix
Bazel: fix non-swift macOS builds
2024-05-31 14:33:55 +02:00
Michael Nebel
d38894a5e5 C#: Update .NET 8 runtime models. 2024-05-31 14:19:48 +02:00
Paolo Tranquilli
25ab1a934d Merge branch 'main' into redsun82/bazel-fix 2024-05-31 14:03:20 +02:00
Paolo Tranquilli
67e2ea195f Merge pull request #16634 from github/redsun82/swift-integration-tests
Swift: remove integration test running in CI
2024-05-31 13:55:14 +02:00
Cornelius Riemenschneider
f27d48d03d Merge pull request #16622 from github/criemen/pkg-lib-nolang
`pkg.bzl`: Add features to support the nolang dist.
2024-05-31 13:15:23 +02:00
Paolo Tranquilli
959aa3515c Swift: remove integration test running in CI
They are being triggered by QLucie now, so there's no need to also
trigger them in the `codeql` specific CI.
2024-05-31 12:59:38 +02:00
Michael Nebel
8b75bb2ba9 C#: The model generator should consider System.Type and System.DateTime as sanitizers. 2024-05-31 12:50:18 +02:00
Michael Nebel
02f9aec517 C#: Add some spurious summary generation examples. 2024-05-31 12:50:14 +02:00
Michael Nebel
b628c2e121 C#: Update flow summaries expected output. 2024-05-31 12:50:10 +02:00
Michael Nebel
5e1801f7be C#: Update models based on review comments. 2024-05-31 12:50:06 +02:00
Michael Nebel
121378a262 C#: Add change-note. 2024-05-31 12:50:02 +02:00
Michael Nebel
0985a3a5f6 C#: Update expected test output. 2024-05-31 12:49:58 +02:00
Michael Nebel
9bb7575018 C#: Promote IDataRecord and IDbCommand to manual summaries such that they are used in conjunction with source code. 2024-05-31 12:49:53 +02:00
Michael Nebel
90538d4b4c C#: Update expected test output. 2024-05-31 12:49:48 +02:00
Michael Nebel
cd5168b570 C#: Limit the defintion of database flow source and use summaries for better paths and reduced result multiplicity. 2024-05-31 12:49:44 +02:00
Michael Nebel
38d246a3bd C#: Update flowsummaries expected output. 2024-05-31 12:49:40 +02:00
Michael Nebel
db0131d931 C#: Update .NET8 models. 2024-05-31 12:49:35 +02:00
Tom Hvitved
be4fce26c0 Merge pull request #16631 from hvitved/tree-sitter/multi-file-lists
Tree-sitter: Allow for multiple file lists in simple extractor
2024-05-31 12:47:11 +02:00
Paolo Tranquilli
bfc37fddff Bazel: move --build_tests_only from swift action to .bazelrc 2024-05-31 12:35:52 +02:00
Cornelius Riemenschneider
14988002fa Address review. 2024-05-31 12:35:03 +02:00
Tom Hvitved
42d87f6d19 Data flow: Inline isUnreachableInCall1 2024-05-31 12:25:11 +02:00
Paolo Tranquilli
3f19974bb6 Bazel: fix transition on non-macOS 2024-05-31 12:14:13 +02:00
Paolo Tranquilli
b3e29bd8b5 Bazel: add --build_tests_only in swift CI 2024-05-31 12:13:26 +02:00
Paolo Tranquilli
07f4288e1f Fix zipmerge build and test 2024-05-31 12:12:58 +02:00
Paolo Tranquilli
8e26f64f89 Bazel: fix non-swift macOS builds
This is meant to be cleaned up in a later PR with respect to the TODOs.
2024-05-31 11:49:36 +02:00
Tom Hvitved
d6a3765597 Tree-sitter: Allow for multiple file lists in simple extractor 2024-05-31 11:15:21 +02:00
Tony Torralba
2d3d49f957 Merge pull request #16628 from mbaluda/main
Disable csrf for ServerHttpSecurity
2024-05-31 10:31:28 +02:00
Mauro Baluda
48fc44baff Add release notes 2024-05-30 23:21:12 +02:00
Mauro Baluda
bbe888c2b3 Update SpringCsrfProtection.qll 2024-05-30 23:13:08 +02:00
Mauro Baluda
e2479a7ce2 Disable csrf for ServerHttpSecurity 2024-05-30 23:08:57 +02:00
Owen Mansel-Chan
d112073a13 Edit change note 2024-05-30 21:04:05 +01:00
Owen Mansel-Chan
ffc25add70 Accept test changes 2024-05-30 21:01:06 +01:00
Owen Mansel-Chan
a5c392ed4b Add back taint models for append and copy
This is needed when they are used with string arguments.
2024-05-30 21:01:03 +01:00
Cornelius Riemenschneider
e2cb5631d9 pkg.bzl: Fix install targets.
First, the labels used in this file need to be wrapped in `Label`,
so that we can use the installer target from the internal repo.
Second, when unpacking zips, the path passed to `ripunzip` included a trailing
`\n`, which caused `ripunzip` to fail.
2024-05-30 21:06:46 +02:00
Chuan-kai Lin
0369f8f5df Merge pull request #16625 from github/revert-16605-release-prep/2.17.4
Revert "Release preparation for version 2.17.4"
2024-05-30 10:08:31 -07:00
Chuan-kai Lin
b41835a7d9 Revert "Release preparation for version 2.17.4" 2024-05-30 09:25:15 -07:00
Cornelius Riemenschneider
e43b773d7c Fix comment to indicate the correct order in the zip dict. 2024-05-30 17:58:22 +02:00
Cornelius Riemenschneider
60cb8e7e8e Ruby: Move to new packaging rules. 2024-05-30 14:25:20 +02:00
Cornelius Riemenschneider
1158e92f12 Python: Move to the new packaging rules. 2024-05-30 14:25:18 +02:00
Cornelius Riemenschneider
dcd44859f5 Go: Move to new packaging rules. 2024-05-30 14:25:17 +02:00
Cornelius Riemenschneider
d66d7d8a3a C#: Move to new packaging rules. 2024-05-30 14:25:16 +02:00
Cornelius Riemenschneider
60b5317c5f C++: Move to new packaging rules. 2024-05-30 14:25:15 +02:00
Cornelius Riemenschneider
9f3310d3d2 pkg.bzl: Add features to support the nolang dist.
In order to build the language-independent parts of our dist with `pkg.bzl`,
we need two override features:
* A way to set the prefix in the zip files to the empty string, so that our top-level files
  stay top-level.
* A way to put `codeql.exe` into the arch-specific zip, despite it not being under `CODEQL_PLATFORM`.
This PR implements both.
2024-05-30 13:03:57 +02:00
Owen Mansel-Chan
61593aed7d Merge pull request #16617 from owen-mc/go/side-effects-on-global-variables
Go: Add tests (mostly failing) for writes to global variables
2024-05-30 08:02:45 +01:00
Cornelius Riemenschneider
2c4a216dd9 Merge pull request #16616 from github/redsun82/fix-pkg
Reinstate bazel packaging library with a backward compatibility fix
2024-05-29 23:02:30 +02:00
Owen Mansel-Chan
1d9a98614a Fix bug in ResponseWriter for variadic MaD
`getSummaryInputOrOutputNode` was giving the summary component stack for
arguments corresponding to variadic parameters. This will be a problem
when the models for variadic functions are converted to models-as-data.
2024-05-29 21:15:49 +01:00
Owen Mansel-Chan
7ff1eabfc3 Add tests (mostly failing) for writes to global variables
This was based on the equivalent for java:
https://github.com/github/codeql/pull/16500
2024-05-29 16:07:16 +01:00
am0o0
1f112467ce update id of the query file 2024-05-29 16:48:35 +02:00
am0o0
b9edcb7943 rename secondary to remote :), complete the previous commit changes 2024-05-29 16:47:37 +02:00
am0o0
52a809145e SecondaryCommandInjection to RemoteCommandExecution, change RemoteCommandExecution to module like SystemCommandExecution module 2024-05-29 16:18:55 +02:00
Paolo Tranquilli
655f079329 Swift: fix legacy extractor-pack-arch target 2024-05-29 16:17:59 +02:00
am0o0
fd9e6f48d7 fix the docs of secondary server cmd injection 2024-05-29 16:01:43 +02:00
am0o0
171486641e Ssh2.qll: fix a typo 2024-05-29 16:00:52 +02:00
am0o0
5299c4a845 fix the qhelp of secondary server cmd injectino 2024-05-29 16:00:06 +02:00
Paolo Tranquilli
2606d3f6d1 Reapply "Bazel: add codeql specific packaging library"
This reverts commit 31d6b9be4d.
2024-05-29 15:46:29 +02:00
am0o0
66cba89fdb Torch.qll: use better alternative instead of exists 2024-05-29 15:43:41 +02:00
am0o0
8c3994bc9c Paramiko.qll: improve docs 2024-05-29 15:42:29 +02:00
am0o0
b1242e464e Pandas.qll: remove unnecessary exists, fix class naming 2024-05-29 15:41:45 +02:00
Paolo Tranquilli
8509bcae58 Merge pull request #16615 from github/revert-16432-redsun82/pkg
Revert "Bazel: add codeql specific packaging library"
2024-05-29 15:39:23 +02:00
am0o0
fcd2bd6776 fabic.qll: remove test predicate and apply review changes 2024-05-29 15:37:11 +02:00
Paolo Tranquilli
31d6b9be4d Revert "Bazel: add codeql specific packaging library" 2024-05-29 15:27:10 +02:00
Paolo Tranquilli
3b246b2422 Merge pull request #16432 from github/redsun82/pkg
Bazel: add codeql specific packaging library
2024-05-29 12:58:47 +02:00
Paolo Tranquilli
1e6820b6ed Merge branch 'main' into redsun82/pkg 2024-05-29 12:02:31 +02:00
Paolo Tranquilli
336ec089cc Bazel: use extend(...) instead of += list(...) 2024-05-29 12:02:02 +02:00
Paolo Tranquilli
e8061ecd38 Bazel: fix _zipmerge rule 2024-05-29 11:59:18 +02:00
Tom Hvitved
775625968a Merge pull request #16602 from hvitved/dataflow/fix-bad-join
Data flow: Fix bad join
2024-05-29 09:53:56 +02:00
Paolo Tranquilli
5672ddf8f3 Fix bazel formatting 2024-05-29 09:53:31 +02:00
Anders Schack-Mulligen
2f95851537 Merge pull request #16603 from aschackmull/dataflow/location
Dataflow/Go: Add getLocation to DataFlowCall and DataFlowCallable for easier debugging.
2024-05-29 08:58:22 +02:00
Paolo Tranquilli
491e3a44be Merge branch 'main' into redsun82/pkg 2024-05-29 08:55:48 +02:00
Paolo Tranquilli
fbe1b56f2d Zipmerge: link test statically 2024-05-29 08:55:06 +02:00
Chuan-kai Lin
06fd16bbf5 Merge pull request #16607 from github/post-release-prep/codeql-cli-2.17.4
Post-release preparation for codeql-cli-2.17.4
2024-05-28 14:56:43 -07:00
github-actions[bot]
906b65d09c Post-release preparation for codeql-cli-2.17.4 2024-05-28 18:02:25 +00:00
Tom Hvitved
059ce1ba15 Data flow: Fix bad join
Before
```
Evaluated relational algebra for predicate _DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathApprox__#count_range@9acc2d7t with tuple counts:
              875   ~0%    {3} r1 = SCAN `num#DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::TCons1#055add5f` OUTPUT _, In.0, In.1
              875   ~0%    {3}    | REWRITE WITH Tmp.0 := 1, Out.0 := (InOut.2 - Tmp.0)
        113896125   ~1%    {3}    | JOIN WITH `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathApprox.len/0#dispred#e932df4d_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
        113896125   ~7%    {4}    | JOIN WITH `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathApprox.getFront/0#dispred#5d402e21` ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2, Rhs.1
             2404   ~9%    {5}    | JOIN WITH `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::Stage5::consCand/3#cd06ec82_021#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Lhs.0, Rhs.2, Lhs.3, _
             2404  ~14%    {5}    | REWRITE WITH Out.4 := 1
                           return r1

Evaluated relational algebra for predicate DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::count1to2unfold/1#9ad56f09@c47f87cq with tuple counts:
        365  ~0%    {2} r1 = JOIN `num#DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::TCons1#055add5f_102#join_rhs` WITH `__DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathAppro__#join_rhs` ON FIRST 2 OUTPUT Lhs.2, Rhs.2
                    return r1
```

After
```
Evaluated relational algebra for predicate DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::stage5ConsCand/4#ce755854@46e7620j with tuple counts:
        848899   ~5%    {3} r1 = SCAN `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathApprox.len/0#dispred#e932df4d` OUTPUT In.0, _, In.1
        848899   ~0%    {2}    | REWRITE WITH Tmp.1 := 1, Out.1 := (Tmp.1 + In.2) KEEPING 2
        848899   ~0%    {3}    | JOIN WITH `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::AccessPathApprox.getFront/0#dispred#5d402e21` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Rhs.1
         12961  ~14%    {4}    | JOIN WITH `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::Stage5::consCand/3#cd06ec82_201#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.2, Lhs.1
                        return r1

Evaluated relational algebra for predicate DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::stage5ConsCand/4#ce755854_0312_1#count_range@a0e570ci with tuple counts:
        11548  ~1%    {5} r1 = SCAN `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::stage5ConsCand/4#ce755854` OUTPUT In.0, In.3, In.1, In.2, _
        11548  ~3%    {5}    | REWRITE WITH Out.4 := 1
                      return r1

Evaluated relational algebra for predicate DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::count1to2unfold/1#9ad56f09@e0e6143p with tuple counts:
        3981  ~0%    {3} r1 = AGGREGATE `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::stage5ConsCand/4#ce755854_0312_1#count_range`, `DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::stage5ConsCand/4#ce755854_0312_1#count_range` ON  WITH COUNT OUTPUT In.0, In.1, Agg.0
         365  ~0%    {2}    | JOIN WITH `num#DataFlowImpl::Impl<ExceptionInformationExposure::ExceptionInformationExposure::C>::TCons1#055add5f` ON FIRST 2 OUTPUT Rhs.2, Lhs.2
                     return r1
```
2024-05-28 19:59:30 +02:00
Chuan-kai Lin
dc0db9a6c6 Merge pull request #16605 from github/release-prep/2.17.4
Release preparation for version 2.17.4
2024-05-28 08:57:38 -07:00
github-actions[bot]
33b4ae8bbb Release preparation for version 2.17.4 2024-05-28 15:44:32 +00:00
Paolo Tranquilli
332d178298 Zipmerge: allow test to be run from internal repo 2024-05-28 17:37:34 +02:00
Paolo Tranquilli
4094db40b8 Merge branch 'main' into redsun82/pkg 2024-05-28 17:28:24 +02:00
Paolo Tranquilli
45f1fdfaff Bazel: extract pack filtering logic out of _zipmerge 2024-05-28 17:24:20 +02:00
Pierre
06d6671c55 Merge pull request #16569 from github/sitedocs/2.17.3
Add changelogs for 2.17.2 and 2.17.3
2024-05-28 08:15:04 -07:00
Paolo Tranquilli
de484773f0 Zipmerge: print test outputs on CI 2024-05-28 16:29:41 +02:00
Paolo Tranquilli
2a62455822 Merge branch 'main' into redsun82/pkg 2024-05-28 16:15:48 +02:00
Paolo Tranquilli
5eb12b8503 Zipmerge: substitute stripped down slf4j jars with dummy ones 2024-05-28 16:15:20 +02:00
Michael Nebel
195ccb0018 Merge pull request #16484 from michaelnebel/csharp/superimplmodelgen
C#: Lift models.
2024-05-28 15:49:35 +02:00
Paolo Tranquilli
c3ccf4d5a3 Zipmerge: substitute CPython archives with dummy ones 2024-05-28 15:47:24 +02:00
Paolo Tranquilli
67d622fa9d Bazel: actually run the zipmerge tests 2024-05-28 15:44:53 +02:00
Paolo Tranquilli
9c1efb9f0e Bazel: expose compression_level in codeql_pack 2024-05-28 15:09:15 +02:00
Paolo Tranquilli
00ed00e1e5 Bazel: avoid unneeded operations if no imported zips are present 2024-05-28 15:01:35 +02:00
Paolo Tranquilli
e2206e62d6 Bazel: restrict codeql_pack zips to .zip files 2024-05-28 14:39:20 +02:00
Paolo Tranquilli
6b971617e7 Bazel: rename _process_path to _expand_path, and make its use clearer 2024-05-28 14:17:05 +02:00
Paolo Tranquilli
76fbb522d2 Bazel: use pack name for zip file name 2024-05-28 14:10:31 +02:00
Anders Schack-Mulligen
3b12f69dd9 Dataflow/Go: Add getLocation to calls and callables for easier debugging. 2024-05-28 13:47:08 +02:00
Michael Nebel
5a25967019 C#: Address review comments. 2024-05-28 13:38:23 +02:00
Paolo Tranquilli
6d798410ce Bazel: add --no-cleanup to installer script 2024-05-28 12:51:52 +02:00
Paolo Tranquilli
a8543d4a88 Zipmerge: port tests from internal repo 2024-05-28 12:01:57 +02:00
Paolo Tranquilli
afadc1f1eb Merge branch 'main' into redsun82/pkg 2024-05-28 11:21:19 +02:00
Paolo Tranquilli
f7bfe435c8 Swift: fix windows build again 2024-05-28 11:20:32 +02:00
Joe Farebrother
4c97b0c785 Merge pull request #16529 from joefarebrother/python-flask-session-interface
Python: Model Flask SessionInterface request parameter
2024-05-28 10:03:13 +01:00
Paolo Tranquilli
fe9a153f44 Merge branch 'main' into redsun82/pkg 2024-05-28 10:07:28 +02:00
Jeroen Ketema
174f212d4e Merge pull request #16589 from rvermeulen/rvermeulen/update-nospaceforzeroterminator-qlhelp
Rewrite recommendations for the query `cpp/no-space-for-terminator`
2024-05-28 09:52:20 +02:00
Paolo Tranquilli
fbf3b9ae7a Merge branch 'main' into redsun82/pkg 2024-05-27 18:16:39 +02:00
Paolo Tranquilli
392ef09d19 Zipmerge: make lib public for internal testing 2024-05-27 17:28:33 +02:00
Paolo Tranquilli
cde71a915b Bazel: address review comments 2024-05-27 17:00:39 +02:00
Paolo Tranquilli
2f95944244 Bazel: add documentation to install.py 2024-05-27 16:58:58 +02:00
Paolo Tranquilli
2f53c0e640 Bazel: fix codeql_pack installation on Windows 2024-05-27 16:09:42 +02:00
Paolo Tranquilli
6bbad22672 Codegen: make codegen work on windows 2024-05-27 16:05:38 +02:00
Jeroen Ketema
c936f964d3 Merge pull request #16599 from jketema/padding
C++: Make the padding test independent of the `predefined_macros` file
2024-05-27 15:36:06 +02:00
Tom Hvitved
69fb2bb97c Merge pull request #16597 from hvitved/tree-sitter/empty-location
Tree-sitter: Emit `empty_location` relation to avoid scan
2024-05-27 15:19:15 +02:00
Jeroen Ketema
c57c027f70 C++: Make the padding test independent of the predefined_macros file
The padding test is the only test that currently depends on the contents
of the `predefined_macros` flile that we ship with CodeQL for use with the
CodeQL tests. Explicitly specifying `__x86_64` makes the test independent of
the contents of the file.
2024-05-27 14:21:10 +02:00
Anders Schack-Mulligen
d88c498d49 Merge pull request #16456 from aschackmull/dataflow/callcontext-grouping
Dataflow: Implement call context grouping to improve performance
2024-05-27 14:11:11 +02:00
Paolo Tranquilli
821bd1f27b Merge branch 'main' into redsun82/kotlin 2024-05-27 13:17:06 +02:00
Paolo Tranquilli
2bec696114 Merge branch 'main' into redsun82/pkg 2024-05-27 13:13:12 +02:00
maikypedia
e96c3a36ad Move Apollo to experimental 2024-05-27 12:24:48 +02:00
Cornelius Riemenschneider
bd6e233b66 Merge pull request #16519 from github/criemen/bazel-csharp
Bazel-build for C# language pack
2024-05-27 12:08:21 +02:00
Paolo Tranquilli
1e7b3d0f6f Merge pull request #16588 from github/redsun82/ripunzip
Add ripunzip build workflow
2024-05-27 12:05:34 +02:00
maikypedia
cfd7c7a47c move change-note to javascript/ql/src/change-notes 2024-05-27 11:57:05 +02:00
Cornelius Riemenschneider
735bea624a Place the C++ autobuilder in the correct path. 2024-05-27 11:55:14 +02:00
Jorge
b786ea7e5f Add change note 2024-05-27 09:48:56 +00:00
Jorge
34230369bc Add OPML module to frameworks imports 2024-05-27 09:48:49 +00:00
Jorge
e992d86d38 Add OPML models 2024-05-27 09:48:10 +00:00
Anders Schack-Mulligen
51c48c767e Dataflow: Address review comments (take 2). 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
4ff37cc7b6 Dataflow: Address review comments. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
8085460e4a C++/Shared: Fix join order issues. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
5c635e982e C++/C#/Java: Update expected output. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
1432519cc2 Dataflow: Add totalorder predicates to all languages. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
5a259843bb Dataflow: Switch call context to a set representation. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
972b81bbd1 Util: Allow best-effort total orders with a reasonable fallback. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
b83416f3a1 Dataflow: Make two predicates private. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
52a232e91c Dataflow: Make CallContext type private to DataFlowImplCommon. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
947c2bf722 Dataflow: Move two declarations. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
1dd1f12919 Dataflow: Move Level1CallContext to DataFlowImplCommon 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
e1e6cd9b3d Dataflow: Simplify: remove Level1CallContextInput module 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
f6eb82ee15 Dataflow: Simplify. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
5ac96d009a Dataflow: Move viableImplNotCallContextReducedReverse to DataFlowImplCommon::CallContextSensitivity. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
740bb84423 Dataflow: Rename prunedViableImplInCallContextReverse to viableImplCallContextReducedReverse. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
0561c65b61 Dataflow: Rename noPrunedViableImplInCallContext to viableImplNotCallContextReduced. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
aa87243e3a Dataflow: Rename prunedViableImplInCallContext to viableImplCallContextReduced 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
ace369faa8 Dataflow: Share getCallContextCall in DataFlowImplCommon::CallContextSensitivity. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
b2e3d784f6 Dataflow: Share getCallContextReturn in DataFlowImplCommon::CallContextSensitivity. 2024-05-27 11:01:52 +02:00
Anders Schack-Mulligen
79b1cd7d3d Dataflow: Refactor getLocalCc to avoid reference to NodeEx. 2024-05-27 11:01:51 +02:00
Anders Schack-Mulligen
eb0b92350a Dataflow: Switch column order in viableImplCallContextReducedReverse. 2024-05-27 11:01:51 +02:00
Anders Schack-Mulligen
86e6d0b1e1 Dataflow: Switch local call contexts to use canonical representative. 2024-05-27 11:01:51 +02:00
Anders Schack-Mulligen
012e1b498d Dataflow: Remove duplicate definitions 2024-05-27 11:01:51 +02:00
Anders Schack-Mulligen
bc8ca1af86 Dataflow: Introduce NodeRegions for use in isUnreachableInCall. 2024-05-27 11:01:51 +02:00
Anders Schack-Mulligen
486eaad566 Shared: Add MakeSets module. 2024-05-27 11:01:51 +02:00
Paolo Tranquilli
f9674d1b3a Update .github/workflows/build-ripunzip.yml
Co-authored-by: Cornelius Riemenschneider <cornelius@github.com>
2024-05-27 11:01:05 +02:00
Paolo Tranquilli
546d644765 Swift: do not use codeql_pkg_files needlessly 2024-05-27 10:46:50 +02:00
Tom Hvitved
686879a2a3 Ruby: Add up/downgrade scripts 2024-05-27 10:39:22 +02:00
Tom Hvitved
94d2e9591d Tree-sitter: Emit empty_location relation to avoid scan 2024-05-27 10:39:21 +02:00
Cornelius Riemenschneider
44f666c90a Merge pull request #16585 from github/criemen/ruby-codeql-extractor-hack
Ruby: Change how we pull in `shared/tree-sitter-extractor` dependency
2024-05-27 10:32:16 +02:00
Paolo Tranquilli
0b7a4257d7 Bazel: use {CODEQL_PLATFORM} as discriminant between arch and generic contents 2024-05-27 10:31:19 +02:00
am0o0
71dfdfaa92 remove the debug query 2024-05-27 09:33:10 +02:00
am0o0
2b929c4d2d remove old expected test file 2024-05-25 20:45:34 +02:00
am0o0
1fc481ce81 v2: it is basically the first stable version :)) 2024-05-25 20:43:36 +02:00
am0o0
ea05b297a3 update expected test files 2024-05-25 19:40:37 +02:00
am0o0
c2f96a1352 fix a document 2024-05-25 19:35:20 +02:00
am0o0
14daf58767 update tests, add test cases for query with local sources 2024-05-25 18:17:56 +02:00
am0o0
8fde8c2db4 change test dir name 2024-05-25 13:54:31 +02:00
am0o0
b397f57357 change queries id according to new naming 2024-05-25 13:53:33 +02:00
am0o0
300c82a8ff use Verification instead of validation in files name 2024-05-25 13:52:32 +02:00
am0o0
76beffb04a change dir name 2024-05-25 13:49:34 +02:00
am0o0
f1533f40b6 change query files name 2024-05-25 13:49:01 +02:00
am0o0
d2d945c66d merge all JWT pkgs into one 2024-05-25 13:47:43 +02:00
am0o0
4af4040bd6 change duplicate query IDs 2024-05-25 13:29:16 +02:00
am0o0
f905ac10c4 add jsonWebToken library file to remove duplicate predicate declrations 2024-05-25 13:28:13 +02:00
am0o0
5d98ec33ab stash: add debug query 2024-05-25 13:06:41 +02:00
am0o0
d77513579f update tests 2024-05-25 12:15:25 +02:00
Am
2226f5126b Merge branch 'main' into amammad-js-hardcodedJWTKey 2024-05-25 13:40:46 +03:30
am0o0
4e365e242c fix conflict 2024-05-25 12:08:05 +02:00
am0o0
20c087ce39 update tests 2024-05-25 12:06:07 +02:00
am0o0
c299b5657a Revert "stash"
This reverts commit bdee99ae88.
2024-05-25 12:03:00 +02:00
am0o0
1860af075d fix conflict 2024-05-25 12:01:12 +02:00
Remco Vermeulen
6df4c8964b Rewrite recommendations
- Replace segmentation fault with crash that is platform agnostic (I think segmentation fault is not really a thing on Windows).
- Replace security vulnerability with malicious code execution. This provides a range of issues, because a crash (previously segmentation fault) could also be considered a security vulnerability. Namely a DOS.
- Removed the additional note on stack allocated arrays which seem confusing because we are always talking about buffers allocated on the heap.
2024-05-24 16:10:42 -07:00
Cornelius Riemenschneider
d30ed54bfd Merge branch 'main' into criemen/bazel-csharp 2024-05-24 18:02:20 +02:00
Paolo Tranquilli
5d4b61c365 Bazel: replace prebuilt ripunzip from workflow 2024-05-24 17:44:39 +02:00
Paolo Tranquilli
8d5fa9583e Add ripunzip build workflow 2024-05-24 17:37:59 +02:00
Cornelius Riemenschneider
b09f3c1c0d Don't build with cross any longer.
We've removed cross from the internal build when converting to bazel,
mirror that here.
2024-05-24 16:17:37 +02:00
Paolo Tranquilli
b9064c5446 Bazel: fail install on ripunzip failing 2024-05-24 15:50:16 +02:00
Cornelius Riemenschneider
8c46b61e85 Ruby: Change how we pull in shared/tree-sitter-extractor dependency
Previously, we pulled in the shared tree-sitter extractor via a `git`
dependency in `Cargo.toml` to address a `rules_rust` limitation (no `path`
dependencies outside of the cargo workspace)). This was a problem,
as that means we're cloning `github/codeql` _again_ for the build, which is
quite slow.

I found another way that is faster, and still produces correct builds
for both `cargo`` and `rules_rust`:
* Cargo depends on a fake crate that has the same dependencies as the real crate (thanks to `sync-files.py`). Therefore, cargo pulls in the right dependencies into the lockfile, which bazel targets
* For local builds, we override the path to that dependency in a cargo config, so we're pulling in the correct code
* rules_rust only uses `path` dependencies for collecting transitive dependencies, it never pulls in the code from there. So far that, we manually provide a `BUILD.bazel` file for the shared extractor, and depend on that.
2024-05-24 15:37:35 +02:00
Cornelius Riemenschneider
5fa1b57aaa Merge pull request #16586 from hvitved/rust-bump
Python: Use Rust 1.74
2024-05-24 15:30:15 +02:00
Paolo Tranquilli
f35f077c76 Swift: cleanup tools scripts in pack 2024-05-24 15:24:15 +02:00
Paolo Tranquilli
e990d75a8f Bazel: use codeql platform as arch zip filename 2024-05-24 15:23:51 +02:00
Paolo Tranquilli
ea01ae6534 Swift: fix integration test log upload 2024-05-24 14:29:22 +02:00
Paolo Tranquilli
fa2c626e49 Bazel: add fat macOS ripunzip binary 2024-05-24 14:29:02 +02:00
Paolo Tranquilli
dcbf42d29c Bazel: reorganize LFS files and add licensing information 2024-05-24 14:26:22 +02:00
Tom Hvitved
386bc1eb03 Bazel: repin 2024-05-24 13:53:55 +02:00
Tom Hvitved
7490472772 Update Python to use Rust 1.74 2024-05-24 13:05:39 +02:00
Michael Nebel
c59c7cf02a C#: Use manual sink callables as exclusion for extrapolated sinks. 2024-05-24 12:50:48 +02:00
Michael Nebel
d272d6a9ca C#: Assume that models should apply when a method is overridable except for the implicit methods on Object and ValueType. 2024-05-24 12:50:48 +02:00
Michael Nebel
ad55744877 C#: Add model generator test case for property. 2024-05-24 12:50:48 +02:00
Michael Nebel
057a420833 C#: Update expected test output. 2024-05-24 12:50:48 +02:00
Michael Nebel
a8feda2e2b C#: Introduce lifting of callables in the model generator. 2024-05-24 12:50:48 +02:00
Michael Nebel
0d397cea9f C#: Add some model generator tests related to lifting. 2024-05-24 12:50:48 +02:00
Michael Nebel
3ad29d843d C#: Re-factor model generator specific to align with Java. 2024-05-24 12:50:48 +02:00
Michael Nebel
95473c06fc Merge pull request #16520 from michaelnebel/csharp/fixsummarizedcallabledataflow
C#: Make the flow summary filtering in the adapter.
2024-05-24 12:48:03 +02:00
Paolo Tranquilli
e694968012 Fix change to .gitattributes done by mistake 2024-05-24 12:41:32 +02:00
Paolo Tranquilli
175f0dbb00 Swift: remove broken obsolete alias 2024-05-24 12:40:29 +02:00
Paolo Tranquilli
94d6feffed Swift: fix module 2024-05-24 12:35:41 +02:00
Paolo Tranquilli
8e132e90cc Bazel: add executable attribute to lfs_files 2024-05-24 12:35:17 +02:00
Paolo Tranquilli
1529b58089 Swift: add resource dir updater 2024-05-24 12:19:06 +02:00
Paolo Tranquilli
e8b857b79e Bazel/Swift: add zip imports to packs 2024-05-24 12:18:42 +02:00
Tom Hvitved
0dbce3d077 Merge pull request #16451 from hvitved/treesitter/codeql-verbosity
Tree-sitter: Respect verbosity defined in `CODEQL_VERBOSITY`
2024-05-24 11:24:01 +02:00
Paolo Tranquilli
4d93e8a732 Bazel: move codeql packaging rules away from some macros 2024-05-24 10:27:45 +02:00
Paolo Tranquilli
60cf77be7e Bazel: add codeql specific packaging library
This encapsulate arch specific logic, local installation and separation
of zip files into generic and arch-specific parts as required by the
internal build.
2024-05-24 10:27:44 +02:00
Tamás Vajk
8ae607cdce Merge pull request #16577 from tamasvajk/fix/adjust-compiler-arg-test
C#: Adjust compiler argument integration test
2024-05-24 09:24:21 +02:00
Erik Krogh Kristensen
c743abad54 Merge pull request #14294 from am0o0/amammad-js-CodeInjection_execa
JS: provide command execution sinks for execa package
2024-05-24 09:20:19 +02:00
Anders Schack-Mulligen
5a7174dcbb Merge pull request #16500 from aschackmull/java/static-field-side-effect
Java: Add support for flow through side-effects on static fields.
2024-05-24 09:19:31 +02:00
Michael Nebel
78d4745722 Merge pull request #16578 from michaelnebel/java/dontliftneutral
Java: Do not lift neutrals in Model generation.
2024-05-24 09:19:20 +02:00
Tamas Vajk
9aee2dc002 C#: Adjust compiler argument integration test 2024-05-24 08:39:08 +02:00
Michael Nebel
f5c654b669 Merge pull request #16579 from tamasvajk/fix/integration-test-2
C#: Fix integration test expected file
2024-05-24 08:16:37 +02:00
Dave Bartolomeo
6f67f9e887 Merge pull request #16564 from github/dbartol/v1
Update all pack versions to `1.0.0`
2024-05-23 17:32:27 -04:00
Dave Bartolomeo
f498e05099 Merge branch 'main' into dbartol/v1 2024-05-23 14:37:28 -04:00
Dave Bartolomeo
613ccaac1d Add change note to all v1.0.0 packs 2024-05-23 13:01:22 -04:00
Arthur Baars
b2c64eabd4 Merge pull request #16572 from github/aibaars-patch-2
Java: include link to `remote source` in TrustBoundaryViolation.ql
2024-05-23 18:16:11 +02:00
Philip Ginsbach
4fbbda508b Merge pull request #16580 from github/ginsbach/MonotonicAggregateModules
`monotonicAggregates` can apply to modules (see language spec)
2024-05-23 16:40:29 +01:00
Philip Ginsbach
1129df9cb7 'monotonicAggregates' can apply to modules (see language spec) 2024-05-23 16:20:54 +01:00
Tamas Vajk
5928ede324 C#: Fix integration test expected file 2024-05-23 16:47:35 +02:00
Michael Nebel
9cf0995720 Java: Update test expected output. 2024-05-23 16:33:04 +02:00
Michael Nebel
6f5bdfba65 Java: Do not lift neutrals and only generate for public endpoints. 2024-05-23 16:32:45 +02:00
Arthur Baars
b5b5fef642 Switch source and sink in TrustBoundaryViolation.ql 2024-05-23 15:53:12 +02:00
Arthur Baars
5c4eb3c943 Java: add change note 2024-05-23 13:06:01 +00:00
Michael Nebel
1e54422662 Java: Add neutral implementations. 2024-05-23 15:00:23 +02:00
Tamás Vajk
c0d623c056 Merge pull request #16567 from tamasvajk/refactor/static-extraction-state
C#: Refactor static compilation state
2024-05-23 14:49:33 +02:00
Anders Schack-Mulligen
4905612905 Merge pull request #16573 from aschackmull/java/dispatch-joinorder
Java: Fix join-order in viableImplInCallContext.
2024-05-23 14:48:25 +02:00
Arthur Baars
d540675b9e Update TrustBoundaryViolation.ql 2024-05-23 12:04:47 +00:00
Tom Hvitved
e4cd9d86f6 Tree-sitter: Respect verbosity defined in CODEQL_VERBOSITY 2024-05-23 13:38:35 +02:00
Anders Schack-Mulligen
1bc3f6b0e7 Java: Add change note. 2024-05-23 13:03:06 +02:00
Tom Hvitved
a523be4d0a Tree-sitter: Add set_tracing_level to shared extractor module 2024-05-23 12:58:53 +02:00
Anders Schack-Mulligen
bf3dbc24de Java: Add support for flow through side-effects on static fields. 2024-05-23 12:57:57 +02:00
Anders Schack-Mulligen
619913b553 Merge pull request #16552 from aschackmull/java/no-source-dispatch-for-exact-mad
Java: Remove source dispatch when there's an exact match from a manual model.
2024-05-23 12:56:58 +02:00
Paolo Tranquilli
7da7416bcd Merge pull request #16568 from github/redsun82/m1-opts
Swift: add flags and instructions for building on macOS ARM
2024-05-23 12:53:29 +02:00
Anders Schack-Mulligen
4b3e35ed52 Java: Fix join-order in viableImplInCallContext. 2024-05-23 12:49:57 +02:00
Owen Mansel-Chan
b2deea4606 Avoid duplicate additional flow steps in configs
`localTaintStep` includes a lot of steps which are already part of value
flow. Instead use `defaultAdditionalTaintStep`, which is just the extra
steps that are added for taint tracking.
2024-05-23 11:13:35 +01:00
Owen Mansel-Chan
7e5891b443 Remove unnecessary additional flow step
TaintTracking already adds taint steps for field reads
2024-05-23 11:08:29 +01:00
Owen Mansel-Chan
cf997fddf6 Trivial: improve parameter names
These names make more sense and match everywhere
else that this function signature is used.
2024-05-23 11:04:09 +01:00
Pierre
52a834dfa3 Add changelogs for 2.17.2 and 2.17.3 2024-05-23 11:26:16 +02:00
Anders Schack-Mulligen
70d3be0a3a Java: Fix test. 2024-05-23 11:24:11 +02:00
Geoffrey White
1f13e462b1 Swift: Change note. 2024-05-23 10:14:59 +01:00
Geoffrey White
06dea2d27f Swift: Use sensitive private info regex from the shared library, now that it has that. 2024-05-23 10:07:42 +01:00
Geoffrey White
0d4cd3e103 Swift: Add more sensitive data test cases. 2024-05-23 10:03:27 +01:00
Anders Schack-Mulligen
b519f13600 Java: Add change note. 2024-05-23 10:50:16 +02:00
Anders Schack-Mulligen
527dafa346 Java: Improve dispatch through TypeFlow of effectively private calls. 2024-05-23 10:50:16 +02:00
Anders Schack-Mulligen
f353065d26 Java: Allow overloading for exact model matches. 2024-05-23 10:50:01 +02:00
Anders Schack-Mulligen
0f864081cb Java: Remove source dispatch when there's an exact match from a manual model. 2024-05-23 10:50:00 +02:00
Paolo Tranquilli
90a152a2bc Swift: add flags and instructions for building on macOS ARM 2024-05-23 10:44:06 +02:00
Tamás Vajk
5cf7112d4c Merge pull request #16541 from tamasvajk/buildless/use-nuget-config-fallback
C#: Use nuget feeds from nuget.config in fallback restore
2024-05-23 10:43:03 +02:00
Owen Mansel-Chan
4567b17a58 Merge pull request #16566 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-05-23 09:42:51 +01:00
Cornelius Riemenschneider
303dc200c1 Add standalone dependency to autobuilder, following upstream changes. 2024-05-23 10:24:44 +02:00
Cornelius Riemenschneider
576ea325e8 Merge remote-tracking branch 'origin/main' into criemen/bazel-csharp 2024-05-23 10:21:19 +02:00
Tamas Vajk
7042f3222a Code quality improvements 2024-05-23 09:49:09 +02:00
Tamas Vajk
c58971e632 C#: Refactor static compilation state 2024-05-23 09:47:49 +02:00
Tom Hvitved
11da42b049 Merge pull request #16134 from hvitved/csharp/autobuild-buildless-process-indirection
C#: Avoid process creation indirection in auto-builder
2024-05-23 09:25:58 +02:00
Tom Hvitved
f517c00658 Merge pull request #16559 from hvitved/csharp/callable-always-returns-true
C#: Simplify logic in `JsonWebTokenHandlerLib.qll`
2024-05-23 09:25:19 +02:00
Owen Mansel-Chan
0cc868c742 Merge branch 'main' into workflow/coverage/update 2024-05-23 07:49:02 +01:00
Tony Torralba
d202355b07 Merge pull request #16553 from atorralba/atorralba/java/xxe-qhelp-reword
Java: Reword recommendation section of XXE query
2024-05-23 08:48:29 +02:00
erik-krogh
c80f48b23a Merge branch 'main' into amammad-js-CodeInjection_execa 2024-05-23 08:02:22 +02:00
github-actions[bot]
0f2d0c098f Add changed framework coverage reports 2024-05-23 00:16:44 +00:00
Joe Farebrother
2db1fbc713 Merge branch 'main' into python-flask-session-interface 2024-05-22 21:48:01 +01:00
Tom Hvitved
621de2b977 C#: Avoid process creation indirection in auto-builder 2024-05-22 20:05:16 +02:00
Dave Bartolomeo
ffe4c8c87b Update all pack versions to 1.0.0 2024-05-22 13:39:08 -04:00
Mathias Vorreiter Pedersen
3f66b635a4 Merge pull request #16562 from aschackmull/dataflow/update-qltest-expected
Dataflow: Fix qltests following https://github.com/github/codeql/pull/16511
2024-05-22 16:16:04 +01:00
Mathias Vorreiter Pedersen
1978922d9e Merge pull request #16563 from MathiasVP/avoid-cp
C++: Avoid a CP in `cpp/alloca-in-loop`
2024-05-22 15:58:46 +01:00
Mathias Vorreiter Pedersen
769d9317c7 C++: Avoid a CP between 'getExpr(node)' and 'this' in 'LoopWithAlloca'. 2024-05-22 15:15:40 +01:00
Mathias Vorreiter Pedersen
1a0d66b339 Merge pull request #16557 from MathiasVP/fix-unique-pointer-query-fp
C++: Fix `cpp/use-of-unique-pointer-after-lifetime-ends` FP
2024-05-22 15:09:54 +01:00
Anders Schack-Mulligen
987d5712b8 Python: Accept qltest .expected file changes. 2024-05-22 15:43:49 +02:00
Anders Schack-Mulligen
15a7c3faeb Java: Accept qltest .expected file changes. 2024-05-22 15:42:40 +02:00
Anders Schack-Mulligen
a650499a9c Java: Accept qltest .expected file changes (interesting). 2024-05-22 15:42:12 +02:00
Anders Schack-Mulligen
f931c8d836 Go: Accept qltest .expected file changes. 2024-05-22 15:39:47 +02:00
Anders Schack-Mulligen
8db9187698 Go: Accept qltest .expected file changes (interesting). 2024-05-22 15:38:01 +02:00
Anders Schack-Mulligen
e7f24318cd C++: Accept qltest .expected file changes. 2024-05-22 15:36:30 +02:00
Anders Schack-Mulligen
f977a4206a C++: Accept qltest .expected file changes (interesting). 2024-05-22 15:35:28 +02:00
Joe Farebrother
8ff0cb614b Apply review suggestion - Update change note
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-05-22 14:26:41 +01:00
Michael Nebel
2449074f3d C#: Remove the DataFlowSummarizedCallable as this narrowing is now handled in the adapter. 2024-05-22 15:11:41 +02:00
Mathias Vorreiter Pedersen
9907f0f827 C++: Exclude a cast to any integral type. 2024-05-22 13:42:07 +01:00
Tom Hvitved
39019b3b62 C#: Simplify logic in JsonWebTokenHandlerLib.qll 2024-05-22 14:24:32 +02:00
Anders Schack-Mulligen
bbebdfea8d Merge pull request #16511 from aschackmull/dataflow/configuration-provenance
Dataflow: Add provenance for configuration-specific steps.
2024-05-22 14:07:10 +02:00
Anders Schack-Mulligen
de5c69d0a1 Merge pull request #16551 from aschackmull/java/model-fixes
Java: Revise some jdk time-related models
2024-05-22 14:05:23 +02:00
Mathias Vorreiter Pedersen
09357e15b4 Merge pull request #16533 from MathiasVP/better-negation-guards-in-c
C++: Make `IRGuardCondition` handle `p` in `if(p)` and `if(!p)` better in C programs
2024-05-22 13:02:06 +01:00
Tom Hvitved
a992b67d97 Merge pull request #16556 from hvitved/dataflow/simplify
Data flow: Remove two redundant conjuncts
2024-05-22 13:58:04 +02:00
Tamás Vajk
c9f468578d Merge pull request #16521 from tamasvajk/impr/refactor-common-csproj-prop
C#: Refactor common msbuild properties
2024-05-22 13:38:31 +02:00
Mathias Vorreiter Pedersen
00a940fd58 Merge pull request #16524 from catenacyber/deref-null-result
Adds another rule for null deref
2024-05-22 12:37:39 +01:00
Mathias Vorreiter Pedersen
4b02f88089 C++: Add change note. 2024-05-22 12:37:08 +01:00
Mathias Vorreiter Pedersen
af81698fa8 C++: Fix FP and accept test changes. 2024-05-22 12:34:09 +01:00
Mathias Vorreiter Pedersen
91f860ba4f C++: Add 'cpp/use-of-unique-pointer-after-lifetime-ends' FP. 2024-05-22 12:33:34 +01:00
Paolo Tranquilli
eab940c45d Merge branch 'main' into redsun82/kotlin 2024-05-22 13:30:23 +02:00
Alex Ford
8119a27540 Merge pull request #16185 from alexrford/rb/conditions-arr0
Ruby: ActiveRecord - refine `conditions` argument as an SQLi sink
2024-05-22 12:19:10 +01:00
Michael Nebel
e4319db18d C#: Filter out unwanted summaries at the root. 2024-05-22 12:53:55 +02:00
Tom Hvitved
a006c29a00 Merge pull request #16481 from hvitved/treesitter/bump2
Tree-sitter: Bump to 0.22.6
2024-05-22 12:53:14 +02:00
Tom Hvitved
70cf16597b Data flow: Remove two redundant conjuncts 2024-05-22 12:45:11 +02:00
Anders Schack-Mulligen
a078dcf1f2 Merge pull request #16550 from aschackmull/java/zipslip-number-sanitizer
Java: Improve sanitizer for java/zipslip
2024-05-22 12:43:44 +02:00
Mathias Vorreiter Pedersen
eda815789b Update cpp/ql/src/experimental/Likely Bugs/DerefNullResult.ql 2024-05-22 11:21:04 +01:00
Cornelius Riemenschneider
24a14badbb Bazel: Remove some kwargs.pop invocations. 2024-05-22 12:09:18 +02:00
Cornelius Riemenschneider
09f60e3e45 C#: Address C# code comments. 2024-05-22 12:09:12 +02:00
Tony Torralba
5ec3335b07 Java: Reword recommendation section of XXE query 2024-05-22 11:34:19 +02:00
Anders Schack-Mulligen
a74cf6501a Java: update qltest expected files. 2024-05-22 11:13:06 +02:00
Michael Nebel
84e412fe36 Merge pull request #16477 from michaelnebel/csharp/madinlinetest
C#: Inline expectation for model generator test.
2024-05-22 11:05:23 +02:00
Anders Schack-Mulligen
ba97c3623a Java: Change most java.time.* df-generated taint models to neutrals. 2024-05-22 10:29:54 +02:00
Anders Schack-Mulligen
54f2316d00 Java: Add a neutral model. 2024-05-22 10:29:49 +02:00
Anders Schack-Mulligen
7828cb8f5a Java: Add change note. 2024-05-22 10:27:33 +02:00
Anders Schack-Mulligen
d82acf5866 Java: Add simple type sanitization to java/zipslip. 2024-05-22 10:23:30 +02:00
Tamás Vajk
855fe12c6c Merge pull request #16549 from tamasvajk/fix/tsp-diag
C#: Fix TSP diagnostic message
2024-05-22 10:10:26 +02:00
Anders Schack-Mulligen
012b861ffb Ruby: Accept qltest .expected file changes. 2024-05-22 10:08:59 +02:00
Anders Schack-Mulligen
c4ae18649e Ruby: Accept qltest .expected file changes (interesting). 2024-05-22 10:08:59 +02:00
Anders Schack-Mulligen
c2ec1bf561 Swift: Accept qltest .expected file changes. 2024-05-22 10:08:56 +02:00
Anders Schack-Mulligen
73b8314308 C#: Accept qltest .expected file changes. 2024-05-22 10:05:42 +02:00
Anders Schack-Mulligen
22c1d52381 Dataflow: Add provenance for configuration-specific steps. 2024-05-22 10:05:42 +02:00
Tamas Vajk
91aa182d53 C#: Fix TSP diagnostic message 2024-05-22 08:49:55 +02:00
Paolo Tranquilli
b744f9fab9 Merge pull request #16544 from github/redsun82/bazel-csharp-2
Bazel/C#: avoid zipmerge
2024-05-22 08:18:30 +02:00
Erik Krogh Kristensen
92df0a3d46 Merge pull request #16546 from erik-krogh/ts-big-file-fix
JS: fix that very large TypeScript files would crash the extractor
2024-05-22 07:41:58 +02:00
am0o0
0895f7d971 update qlref files 2024-05-21 22:48:17 +02:00
am0o0
c470c078dc move to experimental 2024-05-21 22:42:16 +02:00
erik-krogh
a30bac14e9 add change-note 2024-05-21 22:14:39 +02:00
Philippe Antoine
ab4b823c2e fixup unique assignment 2024-05-21 22:10:00 +02:00
Tom Hvitved
22aea47604 Repin 2024-05-21 20:59:54 +02:00
Tom Hvitved
a87ceed361 Merge pull request #16394 from hvitved/dataflow/synth-param-ret-node
Data flow: Synthesize parameter return nodes
2024-05-21 20:55:14 +02:00
Tom Hvitved
bc1283c715 Ruby: Reference official Tree-sitter grammar in Cargo.toml 2024-05-21 20:51:50 +02:00
erik-krogh
61c72361cd move the "isFileTooLarge" earlier in the pipeline, so we're only doing it once 2024-05-21 20:01:24 +02:00
erik-krogh
241f977488 fix that very large TypeScript files would crash the extractor 2024-05-21 19:52:43 +02:00
Paolo Tranquilli
3c52e3b7c5 Bazel/C#: adjust DefaultInfo in codeql_pkg_files_overlay 2024-05-21 16:32:24 +01:00
Geoffrey White
8dad622de2 Swift: Fix some inconsistencies. 2024-05-21 16:32:00 +01:00
Cornelius Riemenschneider
730d5425b3 C#: Add comment justifing turning off strict deps. 2024-05-21 17:30:27 +02:00
Cornelius Riemenschneider
767d427c1b C#: Re-implement the git version logic using an attribute. 2024-05-21 17:28:31 +02:00
Chuan-kai Lin
8a22e2283c Merge pull request #16424 from github/cklin/ruby-entities-reorder
Ruby: Use entities in reorder directives
2024-05-21 07:32:28 -07:00
Paolo Tranquilli
b19bf2f37a Bazel/C#: avoid zipmerge 2024-05-21 15:29:54 +01:00
Paul Hodgkinson
65dfd4c860 Merge branch 'main' into aegilops/js/insecure-helmet-middleware 2024-05-21 14:46:49 +01:00
aegilops
68e21a594a Fixed query help formatting issues 2024-05-21 14:35:18 +01:00
aegilops
bda794fde7 Fixed wrong filenames in the InsecureHelmet tests 2024-05-21 14:34:58 +01:00
Tom Hvitved
bebcd679a4 Address review comments 2024-05-21 14:51:52 +02:00
aegilops
83037b1195 Adjust structure to avoid warnings about message 2024-05-21 13:51:13 +01:00
Tom Hvitved
18f138e754 Add change note 2024-05-21 14:47:42 +02:00
Rasmus Wriedt Larsen
2451a6d3f6 Accept .expected changes 2024-05-21 14:47:42 +02:00
Tom Hvitved
454687d583 Data flow: Synthesize parameter return nodes 2024-05-21 14:47:42 +02:00
Asger F
0b78d1d953 Python: add qldoc 2024-05-21 14:40:35 +02:00
Asger F
3b211089d6 JS: Remove redundant import 2024-05-21 14:40:17 +02:00
Asger F
13d01f1ec4 Ruby/Python: add recursion guard 2024-05-21 14:40:15 +02:00
Asger F
14c71a351e Sync shared files 2024-05-21 14:38:55 +02:00
Asger F
6f19fc2fcd JS: Add isTypeUsed to avoid overpruning 2024-05-21 14:38:52 +02:00
Asger F
632cce2c16 JS: Add failing test due to overpruning 2024-05-21 14:20:13 +02:00
Asger F
43abc72780 JS: Add TypeModel.isTypeUsed
f
2024-05-21 14:19:56 +02:00
Tamas Vajk
182325dc5e Fix expected test files 2024-05-21 14:03:04 +02:00
Tamas Vajk
12494a0c5a C#: Use nuget feeds from nuget.config in fallback restore 2024-05-21 12:47:38 +02:00
yoff
358c7410c8 Merge pull request #16490 from yoff/python/rich-type-column-MaD
Python: Rich `type` column in MaD
2024-05-21 11:55:41 +02:00
Tom Hvitved
158dafa7d0 Python: Dummy change to trigger CI 2024-05-21 11:25:21 +02:00
Tom Hvitved
80364e9570 Ruby: Repin in Cargo.toml 2024-05-21 11:25:21 +02:00
Jeroen Ketema
bddc69e409 Merge pull request #16537 from jketema/memcmp
C++: Fix typo in `cpp/network-to-host-function-as-array-bound`
2024-05-21 11:14:48 +02:00
Tom Hvitved
bf2ae9890f Tree-sitter: Bump to 0.22.6 2024-05-21 11:14:06 +02:00
Jeroen Ketema
c8fec336ce C++: Fix typo in cpp/network-to-host-function-as-array-bound 2024-05-21 10:29:17 +02:00
Jeroen Ketema
1a60c01723 C++: Add memcmp test for cpp/network-to-host-function-as-array-bound 2024-05-21 10:27:38 +02:00
Joe Farebrother
01a6c5e82f Merge pull request #16446 from joefarebrother/shared-sensitive-heuristics
Ruby/Python/JS/Swift: Add category of Private information to shared sensitive data heuristics
2024-05-21 09:07:13 +01:00
Tom Hvitved
60ee7fb0d3 Merge pull request #16473 from hvitved/csharp/entity-framework-perf
C#: Fix performance issue in EntityFramework modelling
2024-05-21 10:03:21 +02:00
Tamás Vajk
1a20a624d6 Merge pull request #16498 from tamasvajk/buildless/use-nuget-from-path
C#: Use nuget.exe from the executing machine instead of always downlo…
2024-05-21 09:38:47 +02:00
Tamas Vajk
c9b4e83e73 Add empty Directory.Build.props to ql subdirectory 2024-05-21 09:30:25 +02:00
Cornelius Riemenschneider
731b9412df Fix integration test expectations. 2024-05-21 09:14:15 +02:00
Cornelius Riemenschneider
36922f2625 Remove GitInfo dependency.
GitInfo doesn't work with the bazel-based build.
Instead, we pull in the information from bazel,
which correctly works with the bazel cache.
2024-05-21 09:14:14 +02:00
Cornelius Riemenschneider
71372bc74c C#: Add Bazel-based build system.
This commits a bazel-based build system for C#
using `rules_dotnet`. External dependencies are managed
via `paket`, and updates to the generated bazel files
are done via `./update-deps.sh`.
We're providing our own (minimal) test runner for `xunit`
tests.
2024-05-21 09:14:13 +02:00
Paolo Tranquilli
9d21e2cda3 Merge pull request #16522 from github/redsun82/lfs
Bazel: allow LFS rules to use cached downloads without internet
2024-05-21 08:56:47 +02:00
Tamas Vajk
cecaa0de3a C#: Clear possibly inherited Directory.Build.props and Directory.Build.targets in stub generator 2024-05-21 08:55:19 +02:00
Tamas Vajk
6da0592ab6 C#: Refactor common msbuild properties 2024-05-21 08:55:12 +02:00
Tom Hvitved
d9019f9676 C#: Fix performance issue in EntityFramework modelling 2024-05-21 08:53:51 +02:00
erik-krogh
c166cb406a Merge branch 'main' into amammad-js-CodeInjection_execa 2024-05-21 08:48:12 +02:00
Mathias Vorreiter Pedersen
5893e38567 C++: Accept test changes. 2024-05-20 22:28:17 +01:00
Mathias Vorreiter Pedersen
0a550bb919 C++: Support 'if(!p)' for C programs in IRGuards. 2024-05-20 22:28:17 +01:00
Philippe Antoine
8ace9da14a fixup dataflow path and formatting 2024-05-20 21:31:47 +02:00
Mathias Vorreiter Pedersen
398b90a15d C++: Rename a few predicates. 2024-05-20 17:15:20 +01:00
Joe Farebrother
553500d9f2 Fix change note 2024-05-20 15:47:07 +01:00
Geoffrey White
13a7d9acb6 Merge pull request #16528 from geoffw0/docfix2
C++: Update an instance of the name 'Semmle' in a doc page.
2024-05-20 15:07:42 +01:00
aegilops
8300aeb0a0 Tests for InsecureHelmet 2024-05-20 12:05:42 +01:00
aegilops
3a885eaf9f Insecure Helmet middle configuration - frameguard or CSP to 'false' 2024-05-20 11:58:55 +01:00
Joe Farebrother
be573329d8 Add change note 2024-05-20 10:54:13 +01:00
Mathias Vorreiter Pedersen
c483a4bf04 Merge pull request #16527 from codeqlhelper/main
C++: Static variables are initialized to zero or null by compiler
2024-05-20 10:13:23 +01:00
Geoffrey White
0ba3cd96f5 C++: Update an instance of the name 'Semmle' in a doc page. 2024-05-20 10:02:50 +01:00
Joe Farebrother
7727e465f4 Model Flask SessionInterface request parameter 2024-05-20 09:46:54 +01:00
Mathias Vorreiter Pedersen
2f7766a557 C++: Autoformat. 2024-05-20 09:04:24 +01:00
Mathias Vorreiter Pedersen
df24e5982a C++: Add tests and accept test changes. 2024-05-20 09:01:42 +01:00
Mathias Vorreiter Pedersen
e8b9d7e6fa C++: Modify change note to be more aligned with existing change notes. 2024-05-20 08:52:18 +01:00
codeqlhelper
15667dcf1e Create 2024-05-19-avoid-reporting-static-variable.md 2024-05-19 21:55:35 +08:00
codeqlhelper
1d8d45b3aa Static variables are initialized to zero or null by compiler
Static variables are initialized to zero or null by compiler, no need to get an initializer of them
2024-05-19 21:48:43 +08:00
Erik Krogh Kristensen
bfc95c6f13 Merge pull request #16510 from erik-krogh/go-command
Go: Update the QHelp for `go/command-injection`.
2024-05-17 17:45:10 +02:00
Paolo Tranquilli
d01d657f89 Bazel: accept new SSH keys in git_lfs_probe.py 2024-05-17 16:39:18 +01:00
Philippe Antoine
73d306c8c8 Adds another rule for null deref 2024-05-17 17:35:07 +02:00
Paolo Tranquilli
170e2231d4 Bazel: allow LFS rules to use cached downloads without internet
If the cache is prefilled, LFS rules were still trying to query LFS
urls.

Now the strategy is to first try to fetch the files from the repository
cache (which is possible by providing an empty url list and `allow_fail`
to `repository_ctx.download`), and only run the LFS protocol if that
fails. Technically this is possible by enhancing `git_lfs_probe.py` with
a `--hash-only` flag.

This is also an optimization where no uneeded access is done (including
the slightly slow SSH call) if the repository cache is warm.
2024-05-17 16:24:38 +01:00
yoff
0ecefd6a24 Update python/ql/lib/change-notes/2024-05-17-maD-rich-type-column.md
Co-authored-by: Taus <tausbn@github.com>
2024-05-17 16:58:59 +02:00
Rasmus Lerchedahl Petersen
9534e56d1b Python: address review comments 2024-05-17 16:25:22 +02:00
Cornelius Riemenschneider
b639f60fa6 Merge pull request #16517 from github/criemen/paket-rewrite
C#: Reformat project files with `paket`.
2024-05-17 16:20:25 +02:00
Chuan-kai Lin
1a4c07a1ac Merge pull request #16425 from github/cklin/swift-entities-reorder
Swift: Use entities in reorder directives
2024-05-17 06:43:18 -07:00
Chuan-kai Lin
f1047606ad Merge pull request #16418 from github/cklin/cpp-entities-reorder
C++: Use entities in reorder directives
2024-05-17 06:43:07 -07:00
yoff
a7a12f17b5 Merge pull request #16512 from yoff/python/allow-provenance-in-additional-taint-steps
Python: Allow provenance in additional taint steps
2024-05-17 15:07:12 +02:00
Felicity Chapman
daf19a2468 Merge pull request #16496 from github/felicitymay/sphinx-config
Stop building the CodeQL for VS Code docs now they've been migrated
2024-05-17 13:37:36 +01:00
Paolo Tranquilli
ad1188be1f Merge pull request #16518 from github/redsun82/bazel-update
Bazel: update bazel to version 7.1.2
2024-05-17 12:14:48 +01:00
Cornelius Riemenschneider
a6ce24dc39 C#: Reformat project files with paket.
When running `dotnet paket update` or `dotnet paket install`, `paket`
forcefully reformats the project files. This is unfortunate.
One option is to accept these changes, as they're not harmful.
They do mean that each project includes the Paket restore targets individually,
instead of doing so via `Directory.Build.targets`.
Another option would be to not merge this PR, and then I'll document that
the changes to the csproj files should be ignored when running `paket` instead.
I don't really mind either way.
2024-05-17 12:19:53 +02:00
Paolo Tranquilli
cc4f8e038d Bazel: update bazel to version 7.1.2 2024-05-17 10:52:29 +01:00
Erik Krogh Kristensen
03cf9b702c Merge pull request #14291 from am0o0/amammad-js-CodeInjection_Shelljs
JS: Shelljs improvement
2024-05-17 11:14:11 +02:00
Rasmus Lerchedahl Petersen
a568873a8e Python: update test expectations 2024-05-17 10:59:49 +02:00
Rasmus Lerchedahl Petersen
92a5b6f6d6 python: add change note 2024-05-17 10:02:38 +02:00
Rasmus Lerchedahl Petersen
e66cce7fe1 python: add qldoc and refactor
The logic of which steps an `AdditionalTaintStep` has defined
is now pushed into the defitnion of `AdditionalTaintStep`.
2024-05-17 09:49:31 +02:00
Michael Nebel
e198d0105f C#: Re-factor the model generator tests. 2024-05-17 09:44:58 +02:00
Michael Nebel
adeff8c602 C#: Convert neutral capture test to inline expectation. 2024-05-17 09:44:58 +02:00
Michael Nebel
e3b6ee1aaf C#: Convert type based summary capture test to inline expectation. 2024-05-17 09:44:58 +02:00
Michael Nebel
a5fd433c20 C#: Convert sink capture test to inline expectation. 2024-05-17 09:44:58 +02:00
Michael Nebel
26f9297d62 C#: Convert source capture test to inline expectation. 2024-05-17 09:44:58 +02:00
Michael Nebel
404b39b6e6 C#: Convert summary capture test to inline expectation. 2024-05-17 09:44:57 +02:00
Michael Nebel
2cda1a207e C#: Add language specific part of the models as data inline expectation. 2024-05-17 09:44:57 +02:00
Michael Nebel
78b8a9259a Share the Models as Data inline expect predicates. 2024-05-17 09:44:57 +02:00
Michael Nebel
e483948c19 Merge pull request #16513 from michaelnebel/csharp/flowsummariestest
C#: Change the printed information in the Flow summaries tests.
2024-05-17 09:43:28 +02:00
erik-krogh
384649b336 changes based on review, and improve the new command-injection test 2024-05-17 08:38:54 +02:00
Chanel Young
5ee7004a62 fp case if encrypt set in initializer 2024-05-16 17:59:17 -07:00
Rasmus Lerchedahl Petersen
d4d6b48f98 python: add test for subclass instance method 2024-05-17 00:03:01 +02:00
Rasmus Lerchedahl Petersen
3d0c42f44d python: rewrite text models to use rich paths 2024-05-17 00:03:01 +02:00
Rasmus Lerchedahl Petersen
a88c007c05 python: Allow dotted paths in type column 2024-05-17 00:03:00 +02:00
Tamas Vajk
a79105e2ae C#: Use nuget.exe from the executing machine instead of always downloading it 2024-05-16 23:15:04 +02:00
erik-krogh
2848ccf0e2 fix frontend errors that Go complained about 2024-05-16 20:06:26 +02:00
erik-krogh
08c0d8ec60 autoformat go files 2024-05-16 19:59:40 +02:00
erik-krogh
9aeebc6f39 update the QHelp to add a "--" example 2024-05-16 19:49:22 +02:00
Owen Mansel-Chan
a8201a19ae Merge pull request #16506 from github/smowton/admin/gradle-version-detection-change-note
Java: Add change note for Gradle JDK version detection
2024-05-16 17:11:03 +01:00
Cornelius Riemenschneider
3a224871ee Merge pull request #16476 from github/criemen/update-deps
C#: Update non-Roslyn thirdparty dependencies
2024-05-16 17:58:10 +02:00
Alex Ford
19e2af8a1d Merge pull request #13556 from am0o0/amammad-ruby-bombs
Ruby: Decompression Bombs
2024-05-16 16:23:02 +01:00
Paolo Tranquilli
75709bf1ec Merge branch 'main' into redsun82/kotlin 2024-05-16 15:55:08 +01:00
Paolo Tranquilli
92699d18ac Merge pull request #16508 from github/redsun82/updated-prebuilt
Swift: update prebuilt package
2024-05-16 14:58:17 +01:00
am0o0
dcadda23cd update expected file 2024-05-16 15:15:27 +02:00
am0o0
f06c3fddd9 fix qhelp, fix duplicate query id 2024-05-16 15:12:31 +02:00
Michael Nebel
18fc92247b C#: Update flowsummaries expected output. 2024-05-16 15:09:04 +02:00
Michael Nebel
763d53afed C#: Remove the override and ext column from the summaries printing test. 2024-05-16 15:08:45 +02:00
Alex Ford
78dc6502f5 Merge branch 'main' into amammad-ruby-bombs 2024-05-16 13:53:31 +01:00
Michael Nebel
b1329fd806 Merge pull request #16362 from michaelnebel/java/removelocalqueries
Java: Remove local query variants.
2024-05-16 14:34:04 +02:00
am0o0
42a9962519 make shellJSMember predicate private, improve predicate document 2024-05-16 14:05:06 +02:00
Rasmus Lerchedahl Petersen
4378924785 Python: Example use of provenance for additional taint steps 2024-05-16 14:04:35 +02:00
Rasmus Lerchedahl Petersen
20ea9255a1 Python: Allow provenance in additional taint steps 2024-05-16 14:04:10 +02:00
yoff
ea3cc51286 Merge pull request #16194 from yoff/python/test-constructor-MaD-path
Python: test the MaD path for constructor calls
2024-05-16 13:52:30 +02:00
Cornelius Riemenschneider
47f679dc34 C#: Remove version constraints on most dependencies.
This means that `dotnet paket update` will pull in the
latest matching versions of all dependencies, except
the pinned roslyn versions.
GitInfo also remains pinned, as we're removing that
dependency when converting the build to bazel anyways.

This removes a whole bunch of transitive dependencies
we no longer need, resulting in a smaller distribution,
and hopefully a smaller build.
2024-05-16 13:51:36 +02:00
Cornelius Riemenschneider
8dc9c95be4 Merge pull request #16376 from github/criemen/dotnet-paket
C#/C++: Convert C# code to use `paket` package manager
2024-05-16 13:45:25 +02:00
Owen Mansel-Chan
2dd42f7aa5 Merge pull request #16509 from owen-mc/go/fix-missing-underlying-types
Go: make two barriers recognise named types whose underlying types are integer types
2024-05-16 12:41:42 +01:00
Owen Mansel-Chan
2b7394cd42 Merge pull request #16305 from github/go/value-flow-instead-of-taint-flow
Go: Use value flow instead of taint flow for `go/incorrect-integer-conversion`
2024-05-16 12:40:53 +01:00
Asger F
499c4df79b Merge pull request #13554 from am0o0/amammad-js-bombs
JS: Decompression Bombs
2024-05-16 13:25:41 +02:00
Erik Krogh Kristensen
a2994c073a Merge pull request #16507 from erik-krogh/up-insecure-randomness
JS: Update the insecure-randomness QHelp
2024-05-16 12:52:09 +02:00
Owen Mansel-Chan
8cc118f781 Add change note 2024-05-16 11:16:54 +01:00
Owen Mansel-Chan
b008f98782 Fix missing getUnderlyingType() calls
In both cases we also care about named types whose underlying type is
an integer type.
2024-05-16 11:10:15 +01:00
Paolo Tranquilli
451f601a65 Swift: update prebuilt package 2024-05-16 11:07:07 +01:00
Max Schaefer
98d2c848bb Merge pull request #16497 from github/max-schaefer/comparison-with-wider-type
Java: Add tests for `comparison-with-wider-type`.
2024-05-16 10:59:59 +01:00
Cornelius Riemenschneider
74e446ea3b Paket/C#: Only pull in the tool restore targt via InitialTargets. 2024-05-16 11:42:20 +02:00
erik-krogh
56dff8540f add an example of how to get a floating point value between 0 and 1 2024-05-16 11:15:07 +02:00
erik-krogh
066f3b61a2 RandomSource is deprecated, it's crypto now 2024-05-16 11:14:50 +02:00
Owen Mansel-Chan
410543f26b Add change note 2024-05-16 10:10:22 +01:00
Owen Mansel-Chan
e71cf0ff1d Use value flow instead of taint flow 2024-05-16 10:10:18 +01:00
Owen Mansel-Chan
5dbb91f508 Merge pull request #16504 from owen-mc/go/allow-array-reads-from-named-types
Go: allow read and store steps from named types
2024-05-16 09:47:54 +01:00
Tamás Vajk
c4d33fbede Merge pull request #16505 from tamasvajk/fix/pin-sdk-version-in-test
C#: Pin dotnet SDK version in integration test relying on razor sourc…
2024-05-16 10:18:17 +02:00
Chris Smowton
e8d064e291 Java: Add change note for Gradle JDK version detection 2024-05-16 09:15:47 +01:00
erik-krogh
ea2b73bda2 add a sanitizer that checks that the string does not start with "--" 2024-05-16 09:25:19 +02:00
Tamas Vajk
62faab320b C#: Pin dotnet SDK version in integration test relying on razor source generator 2024-05-16 09:00:53 +02:00
yoff
5076b1a214 Merge pull request #16135 from sylwia-budzynska/gradio-model
Python: Add Gradio models
2024-05-16 09:00:50 +02:00
erik-krogh
b9a7f6a8f7 add regexp check as a sanitizer for command-injection 2024-05-16 08:55:03 +02:00
erik-krogh
761f9cac97 make a new go/command-injection qhelp 2024-05-16 08:54:55 +02:00
erik-krogh
e2a4c2aa1b move the code samples for the Go command-injection queries to an examples/ folder 2024-05-16 08:54:54 +02:00
Owen Mansel-Chan
6ffa821aa3 Add change note 2024-05-16 00:41:28 +01:00
Owen Mansel-Chan
21ff705b73 Fix bug with read/store steps and named types 2024-05-16 00:35:45 +01:00
Owen Mansel-Chan
1af3374322 Add tests for data flow through ranged for loops
Including the case where the type of the domain is a named type rather
than an array type or map type or whatever.
2024-05-16 00:32:30 +01:00
Mathias Vorreiter Pedersen
533c5218dd Swift: Remove more beta references. 2024-05-15 22:56:50 +01:00
Mathias Vorreiter Pedersen
8f15b0b6c1 Swift: Remove beta label on documentation. 2024-05-15 22:54:34 +01:00
Cornelius Riemenschneider
1b22e0879a Paket/C#: Automatically restore tools for CSharp.sln.
This is not a general fix, as we not always build the
solution file, but this should improve the DX for
local developers that use the solution file.
2024-05-15 21:51:33 +02:00
Chris Smowton
4617c055e2 Merge pull request #16336 from smowton/smowton/admin/android-8-test
Java: Add Android Gradle Plugin 8 and Spring Boot 3 tests
2024-05-15 16:23:21 +01:00
Chris Smowton
a50584c665 Comment on Java version selection testing strategy 2024-05-15 14:52:09 +01:00
Chris Smowton
44edff7661 AGP 8 test: ignore and remove the .gradle directory 2024-05-15 14:52:09 +01:00
Chris Smowton
9c823d708d Expose toolchains to some Android tests, which would otherwise now try to upgrade to JDK17 2024-05-15 14:52:09 +01:00
Chris Smowton
c328957bf3 Add Spring Boot 3 test 2024-05-15 14:52:09 +01:00
Chris Smowton
7e13c88f1d Add Android 8 integration test 2024-05-15 14:52:09 +01:00
Sylwia Budzynska
72493a6bd1 Change classes to private
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-05-15 15:08:27 +02:00
Cornelius Riemenschneider
950e8c85e7 Paket: Prevent recursion into ql/csharp/ql directory. 2024-05-15 14:17:04 +02:00
Cornelius Riemenschneider
a158e40cc2 MSBuild: Move paket restore target inclusion to global file. 2024-05-15 14:17:02 +02:00
Cornelius Riemenschneider
90bb0ba33f Paket: Mark lockfile as generated. 2024-05-15 14:17:01 +02:00
Cornelius Riemenschneider
8f207e7a06 Add dotnet tool restore to local CI. 2024-05-15 14:16:47 +02:00
Max Schaefer
3c47c1137d Simplify query. 2024-05-15 12:49:45 +01:00
Max Schaefer
d406646414 Java: Add tests for comparison-with-wider-type. 2024-05-15 12:45:19 +01:00
Felicity Chapman
b32fb1d961 Fix another couple of links 2024-05-15 12:43:40 +01:00
Cornelius Riemenschneider
3f020a96e4 Remove unused dependency. 2024-05-15 13:37:05 +02:00
Cornelius Riemenschneider
25b7214064 C++: Move Windows autobuilder to paket dependencies. 2024-05-15 13:36:51 +02:00
Cornelius Riemenschneider
723850394d Add paket files to .gitignore. 2024-05-15 13:28:03 +02:00
Cornelius Riemenschneider
f1616d3c26 Add auto-generated paket restore targets. 2024-05-15 13:28:01 +02:00
Cornelius Riemenschneider
45167cf9f1 C#: Switch over dependencies in msbuild files to paket. 2024-05-15 13:28:00 +02:00
Cornelius Riemenschneider
04c26056a1 C#: Commit paket-based dependency tree. 2024-05-15 13:27:58 +02:00
Cornelius Riemenschneider
4a85cc98e5 C#: Add tool file for paket. 2024-05-15 13:27:56 +02:00
Michael B. Gale
81297aad8c Go: Use standard semver format in outputEnvironmentJson 2024-05-15 12:21:23 +01:00
Felicity Chapman
24da489bab Replace a few more old references 2024-05-15 12:14:10 +01:00
Felicity Chapman
c6ee25497e Replace old references to VS Code articles 2024-05-15 12:07:53 +01:00
Michael B. Gale
fabd7a9c51 Go: Better preserve original versions 2024-05-15 12:01:03 +01:00
Cornelius Riemenschneider
eb9c734120 Merge pull request #16487 from github/criemen/move-win-autobuilder
C++/C#: Move the Windows autobuilder into a subfolder in `ql/csharp`.
2024-05-15 12:55:10 +02:00
Owen Mansel-Chan
332a3dbc61 Merge pull request #16493 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-05-15 11:49:06 +01:00
Michael B. Gale
e0543d1d59 Go: Support all permutations of version prefixes and suffixes 2024-05-15 10:43:02 +01:00
Owen Mansel-Chan
253965096b Merge branch 'main' into workflow/coverage/update 2024-05-15 10:10:44 +01:00
Michael B. Gale
6652685f5a Go: Restore toolchain.IsInstalled check 2024-05-15 10:07:44 +01:00
Michael B. Gale
898383ccff Go: Fix comment in NewSemVer for empty string 2024-05-15 10:07:44 +01:00
Michael B. Gale
054efa648c Go: Move version constants to shared location 2024-05-15 10:03:35 +01:00
Michael B. Gale
9e618b6961 Go: Use SemVer type in autobuilder package 2024-05-15 10:03:35 +01:00
Michael B. Gale
a6d2aa3913 Go: Use SemVer type in project package 2024-05-15 10:03:32 +01:00
Michael B. Gale
010df54657 Go: Use SemVer type in toolchain package 2024-05-15 10:03:01 +01:00
Michael B. Gale
d171750678 Go: Add SemVer type to track valid semantic versions 2024-05-15 10:02:10 +01:00
Michael B. Gale
964b3f2339 Merge pull request #16480 from github/mbg/go/improve-script-fail-message
Go: Improve log messages in `buildWithoutCustomCommands`
2024-05-15 10:00:30 +01:00
Michael B. Gale
586e90043a Merge pull request #16462 from github/mbg/go/add-resolve-env-tests
Go: Add tests for `resolve build-environment`
2024-05-15 09:59:52 +01:00
Cornelius Riemenschneider
ab7d30a464 Merge branch 'main' into criemen/move-win-autobuilder 2024-05-15 10:58:01 +02:00
Michael B. Gale
38e1065b24 Go: Document return values for Autobuild 2024-05-15 09:38:31 +01:00
Mathias Vorreiter Pedersen
64b8f97d39 Merge pull request #16495 from MathiasVP/delete-duplicated-conjunction 2024-05-15 09:37:46 +01:00
Michael B. Gale
28c8611f93 Go: Add build-environment.expected for linux-only tests 2024-05-15 09:34:28 +01:00
Michael B. Gale
b44ad2d39f Go: Add missing diagnostics.expected file 2024-05-15 09:33:44 +01:00
Cornelius Riemenschneider
8ea1d1376f Update CODEOWNERS
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-05-15 10:18:31 +02:00
Michael B. Gale
7e10f212cd Go: Move resolve build-environment test into subdirectory 2024-05-15 08:54:24 +01:00
Mathias Vorreiter Pedersen
a1cb419902 C++: Delete duplicated case in IR generation. 2024-05-15 08:52:56 +01:00
Michael B. Gale
7cf61ffb18 Go: Add integration test for resolve build-environment 2024-05-15 08:51:54 +01:00
Michael B. Gale
eb2e587637 Go: Add build-environment.expected files 2024-05-15 08:41:31 +01:00
github-actions[bot]
c3caafcca1 Add changed framework coverage reports 2024-05-15 00:16:53 +00:00
Dave Bartolomeo
b49a61705c Merge pull request #16491 from github/post-release-prep/codeql-cli-2.17.3
Post-release preparation for codeql-cli-2.17.3
2024-05-14 19:33:20 -04:00
github-actions[bot]
32e8b5c667 Post-release preparation for codeql-cli-2.17.3 2024-05-14 21:14:08 +00:00
Owen Mansel-Chan
145873f562 Merge pull request #16413 from owen-mc/go/fix-builtin-models
Go: fix models for built-in functions
2024-05-14 21:03:05 +01:00
Dave Bartolomeo
b7f0b7afb5 Merge pull request #16489 from github/release-prep/2.17.3
Release preparation for version 2.17.3
2024-05-14 15:43:46 -04:00
yoff
538d556465 Merge branch 'main' into python/test-constructor-MaD-path 2024-05-14 21:30:58 +02:00
yoff
04c0475251 Merge pull request #16483 from yoff/python/MaD-instance-follow-subclass
Python: The MaD token `Instance` now follows subclasses
2024-05-14 21:30:43 +02:00
github-actions[bot]
100166fa53 Release preparation for version 2.17.3 2024-05-14 19:23:18 +00:00
Chris Smowton
d76182b945 Merge pull request #16468 from smowton/smowton/admin/add-buildless-timeout-tests
Java: add test cases for Maven and Gradle stalling in buildless mode
2024-05-14 19:13:03 +01:00
Chris Smowton
829707528b Merge pull request #16488 from smowton/smowton/admin/document-test-servers
Java: Add comments to tests that spawn an HTTP/S server
2024-05-14 18:11:20 +01:00
Chris Smowton
cf134331a9 Java: Add comments to tests that spawn an HTTP/S server 2024-05-14 17:48:35 +01:00
Chris Smowton
61cd93fcf3 Switch to a different black-hole IP, because Windows blocks 240.0.0.0/24 2024-05-14 17:36:50 +01:00
Chris Smowton
e699b18928 Java: add test cases for Maven and Gradle stalling in buildless mode 2024-05-14 17:36:49 +01:00
Chris Smowton
1b1367eec0 Merge pull request #16479 from smowton/smowton/admin/test-java-trust-store-inheritence
Java: Add test case for a custom Java trust store
2024-05-14 17:35:26 +01:00
Michael B. Gale
58ef9f4e3e Go: Run resolve build-environment in integration tests 2024-05-14 15:46:03 +01:00
Chris Smowton
8814e6e2bd Replace deprecated ssl.wrap_socket method 2024-05-14 15:14:27 +01:00
Owen Mansel-Chan
827d15aaa0 Test changes due to model renumbering 2024-05-14 14:40:57 +01:00
Owen Mansel-Chan
ab5e1f8a69 Fix models for min and max and improve tests
Although the documentation makes them look variadic (and generic), they
are actually special-cased in the compiler. Like all built-in functions
they don't have a signature type, but the type of `min(a, b, c)` is
`func(int, int, int) int` and not `func(int, ...int) int`.

Go doesn't allow open-ended ranges for argument indices in
models-as-data specifications (though Ruby and Python do), so I've used
`1..1000`.
2024-05-14 14:40:56 +01:00
Chuan-kai Lin
99335e5f29 Merge pull request #16421 from github/cklin/java-entities-reorder
Java: Use entities in reorder directives
2024-05-14 06:03:52 -07:00
Rasmus Lerchedahl Petersen
49ffa8bf07 Merge branch 'main' of https://github.com/github/codeql into python/test-constructor-MaD-path 2024-05-14 14:30:18 +02:00
Joe Farebrother
027e5e7291 Merge pull request #16300 from joefarebrother/python-pyramid
Python: Model the Pyramid framework
2024-05-14 13:24:19 +01:00
Joe Farebrother
904799b674 Merge pull request #16105 from joefarebrother/python-promote-header-injection
Python: Promote Header Injection query from experimental
2024-05-14 13:23:58 +01:00
Sylwia Budzynska
34c447939e Update test results 2024-05-14 14:23:36 +02:00
Cornelius Riemenschneider
869bf8afc6 C++/C#: Move the Windows autobuilder into a subfolder in ql/csharp.
This is a necessary preparation for moving the C# dependency management to `paket`,
which in turn is a necessary preparation for moving the C# build to bazel.

As we discovered in https://github.com/github/codeql/pull/16376,
`paket` tries to restore all projects recursively from the root folder.
If we support building C# code under both `ql/csharp` and `ql/cpp`, we need
to have a single lockfile under `ql`, as both codebases share the same set of dependencies
(and utilities from `ql/csharp/extractor`).
Then, `paket` will also try to restore things that look like "C# projects" in other languages'
folders, which is not what we want.
Therefore, we address this by moving all C# code into a common root directory, `ql/csharp`.

This needs an internal PR to adjust the buildsystem to look for the autobuilder in the new location.
2024-05-14 13:45:49 +02:00
Michael Nebel
79c6834aa3 Merge pull request #16374 from michaelnebel/java/narrowsuperimpl
Java: Improve finding best type for models and lifting.
2024-05-14 13:12:04 +02:00
Sylwia Budzynska
f72afdc7cb Merge branch 'main' into gradio-model 2024-05-14 12:41:00 +02:00
Óscar San José
e65a62c727 Merge pull request #16485 from github/oscarsj/fix-lfs-probe-auth-in-cs
make sure GITHUB_TOKEN exists and is not empty before using it in auth headers
2024-05-14 11:49:20 +02:00
Óscar San José
9105faa3fd make sure GITHUB_TOKEN exists and is not empty before using it in auth headers 2024-05-14 11:22:07 +02:00
Óscar San José
faa2dcee24 test GITHUB_TOKEN non-emptyness before using it in auth headers 2024-05-14 11:18:18 +02:00
Joe Farebrother
a62ce4c51d Merge pull request #16461 from joefarebrother/csharp-missing-cwe-metadata
C#: Add missing CWE tags
2024-05-14 09:32:06 +01:00
Óscar San José
5b572a2c2a make GITHUB_TOKEN in lfs_probe a fallback rather than an override 2024-05-14 10:24:02 +02:00
am0o0
c7adb32bc4 simply replace duplicate class references with classRef() in Fabric.qll 2024-05-14 09:51:47 +02:00
Anders Schack-Mulligen
ed0717af96 Merge pull request #16478 from aschackmull/java/hasqualifiedname
Java: Clean up some instances of getQualifiedName.
2024-05-14 09:19:25 +02:00
Rasmus Lerchedahl Petersen
52717f8500 python: The MaD token Instance now follows subclasses 2024-05-14 08:40:19 +02:00
Joe Farebrother
513a319149 Change cwe to 348 2024-05-13 22:38:47 +01:00
Chuan-kai Lin
b34fb7c26b Merge pull request #16423 from github/cklin/python-entities-reorder
Python: Use entities in reorder directives
2024-05-13 10:26:55 -07:00
Chuan-kai Lin
1758a1e04b Merge pull request #16422 from github/cklin/javascript-entities-reorder
JS: Use entities in reorder directives
2024-05-13 10:26:41 -07:00
Chuan-kai Lin
9456eaf5d3 Merge pull request #16420 from github/cklin/go-entities-reorder
Go: Use entities in reorder directives
2024-05-13 10:26:04 -07:00
Chuan-kai Lin
372746ffd4 Merge pull request #16419 from github/cklin/csharp-entities-reorder
C#: Use entities in reorder directives
2024-05-13 10:25:50 -07:00
Felicity Chapman
34f91f8129 Stop building the CodeQL for VS Code docs 2024-05-13 16:23:06 +01:00
Michael B. Gale
65c654e946 Go: Do not use a named return variable in buildWithoutCustomCommands 2024-05-13 15:33:52 +01:00
am0o0
37d33186e5 revert classRef deletion, fix secondaryserverCmdInjection expected test results 2024-05-13 15:02:04 +02:00
am0o0
fb3d34ce11 format Torch.qll 2024-05-13 14:43:43 +02:00
amammad
bdee99ae88 stash 2024-05-13 14:37:05 +02:00
Chris Smowton
10e1bfcee5 Add test case for a custom Java trust store 2024-05-13 12:43:06 +01:00
Michael B. Gale
4d5f05a8dd Go: Adjust log messages depending on whether build scripts were found or not 2024-05-13 12:42:00 +01:00
Michael B. Gale
1b9e8ae86f Go: Modify Autobuild to return an array of scripts that were run 2024-05-13 12:38:51 +01:00
Michael B. Gale
bbc359ebde Go: Improve messages in buildWithoutCustomCommands 2024-05-13 12:31:04 +01:00
Anders Schack-Mulligen
76e740bc1d Java: Clean up some instances of getQualifiedName. 2024-05-13 13:06:44 +02:00
Paolo Tranquilli
5eaaf02bf5 Merge pull request #16472 from github/redsun82/go-pre-commit
Go: disable pre-commit hook
2024-05-13 09:49:40 +02:00
Paolo Tranquilli
f125e732b0 Go: disable pre-commit hook 2024-05-13 09:27:35 +02:00
Paolo Tranquilli
c30ca4d9f6 Merge pull request #16398 from github/redsun82/go-make
Go: update `make` and CI to use `bazel`
2024-05-13 08:37:52 +02:00
am0o0
02b0b402d6 remove useless predicate
add missed FlowState
2024-05-12 19:29:37 +02:00
am0o0
484923e706 update test files 2024-05-12 18:21:17 +02:00
am0o0
be03e582c6 remove isBarrier 2024-05-12 18:17:47 +02:00
am0o0
9fffd7846a remove empty predicates, fix FP for zipFile 2024-05-12 18:16:57 +02:00
am0o0
c9daf914cb remove unused predicate 2024-05-12 14:09:55 +02:00
am0o0
3eb5778543 upgrade FlowState to new DecompressionState 2024-05-12 14:08:52 +02:00
am0o0
e23cbeda24 update to MethodCall 2024-05-12 13:54:21 +02:00
am0o0
4b68dd2315 add new additional taint steps, fix some comments 2024-05-12 13:51:08 +02:00
Am
9946e07f36 Merge branch 'github:main' into amammad-java-bombs 2024-05-12 13:17:02 +02:00
Sim4n6
7f153ed07b Add some method calls as a Source 2024-05-12 09:46:36 +01:00
Erik Krogh Kristensen
0d814e0e20 Merge pull request #16220 from erik-krogh/domainAnc
Go: Add an example specific to domain names in missing-regexp-anchor
2024-05-11 07:52:13 +02:00
Owen Mansel-Chan
f7e6bf7ef5 Two tests have different paths but same results 2024-05-10 23:41:00 +01:00
Owen Mansel-Chan
f8e17fe8cc Accept expected test changes 2024-05-10 23:40:59 +01:00
Owen Mansel-Chan
76946184de Accept MaD renumbering for edge provenance 2024-05-10 23:40:58 +01:00
Owen Mansel-Chan
e1c85e3581 Fix elementWrite to include flow summaries 2024-05-10 23:40:58 +01:00
Owen Mansel-Chan
8cc9838628 Add change note 2024-05-10 23:40:57 +01:00
Owen Mansel-Chan
d5aa08dbf3 Local flow steps for flow summaries for built-in functions 2024-05-10 23:40:57 +01:00
Owen Mansel-Chan
86e2b845f3 Add tests for copy (taint passes, value fails) 2024-05-10 23:40:56 +01:00
Owen Mansel-Chan
eab1569342 Update ExternalValueFlow to use value flow 2024-05-10 23:40:56 +01:00
Owen Mansel-Chan
c816412795 Create copy of ExternalTaintFlow called ExternalValueFlow 2024-05-10 23:40:55 +01:00
Owen Mansel-Chan
84b7319688 Rename test folder ExternalFlow to ExternalTaintFlow 2024-05-10 23:40:54 +01:00
Owen Mansel-Chan
f95ccd242f Remove old-style models of built-in functions 2024-05-10 23:40:54 +01:00
Owen Mansel-Chan
fcdac0aeb0 Add models for min and max built-in functions 2024-05-10 23:40:53 +01:00
Owen Mansel-Chan
1322ce35d6 Add model for built-in function copy 2024-05-10 23:40:53 +01:00
Owen Mansel-Chan
e857eedd4a Fix model for append - it is variadic 2024-05-10 23:40:52 +01:00
Erik Krogh Kristensen
462e564c19 apply suggestion from code review
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-05-10 18:59:55 +02:00
Ian Lynagh
e7092b403b Merge pull request #16401 from igfoo/igfoo/vars
Java/Kotlin: Remove support for some deprecated environment variables
2024-05-10 13:37:55 +01:00
Sylwia Budzynska
d6acea1d0c Fix tests 2024-05-10 12:41:47 +02:00
Sylwia Budzynska
52ceb7fb89 Apply suggestions from code review
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-05-10 12:07:32 +02:00
am0o0
90da07159e fix tests, chore on Find.ql 2024-05-10 08:51:23 +02:00
am0o0
a87d27b53e revert vscode settings.json file 2024-05-10 08:35:50 +02:00
am0o0
9435a62a86 revert vscode settings.json file 2024-05-10 08:34:08 +02:00
am0o0
0e80e867af fix actions reviews 2024-05-10 08:32:45 +02:00
am0o0
f93d4a0dd5 fix Fabric query library 2024-05-10 01:27:31 +02:00
am0o0
3a52cd186e Merge branch 'am0o0-python-codeExec' of https://github.com/amammad/codeql into am0o0-python-codeExec 2024-05-09 23:16:11 +02:00
Am
0043d93fc1 Merge branch 'github:main' into am0o0-python-codeExec 2024-05-09 23:15:56 +02:00
am0o0
9b4ea8877b Merge branch 'am0o0-python-codeExec' of https://github.com/amammad/codeql into am0o0-python-codeExec 2024-05-09 23:14:11 +02:00
Erik Krogh Kristensen
bcddef8f32 Merge pull request #16131 from erik-krogh/cpp-path
C++: Improve the cpp/path-injection qhelp
2024-05-09 22:21:51 +02:00
Owen Mansel-Chan
e721399eec Merge pull request #16464 from owen-mc/go/fix-broken-test
Go: Fix test expectations
2024-05-09 16:46:04 +01:00
Owen Mansel-Chan
674e65e134 Fix test expectations 2024-05-09 16:26:30 +01:00
Ian Lynagh
4d54c09a6f Java: Add changenote for dropping support for some old variables 2024-05-09 15:59:47 +01:00
Ian Lynagh
b5d6bb9097 Kotlin: Remove unused var SEMMLE_PLATFORM_TOOLS 2024-05-09 15:59:47 +01:00
Ian Lynagh
cfc419b639 Kotlin: Remove unused ODASA_HOME variable 2024-05-09 15:59:47 +01:00
Ian Lynagh
304ad33837 Kotlin: Remove unused ODASA_TOOLS variable 2024-05-09 15:59:47 +01:00
Ian Lynagh
231918f612 Kotlin: Remove redundant variable ODASA_JAVA_LAYOUT 2024-05-09 15:59:47 +01:00
Owen Mansel-Chan
526204dc43 Merge pull request #16458 from owen-mc/go/fix-mad-for-builtin-functions
Go: fix `hasQualifiedName` and models-as-data for built-in functions
2024-05-09 15:06:07 +01:00
Joe Farebrother
20a1e22c44 Add missing CWE tags 2024-05-09 10:33:48 +01:00
Joe Farebrother
da93a08639 Add change notes
No change note is needed for Swift, as the new heuristics are unused and thus should not affect any queries.
2024-05-09 10:03:20 +01:00
Joe Farebrother
f1ab3f40f3 Add unit tests 2024-05-09 09:47:44 +01:00
Joe Farebrother
9aff22c664 Fix typos in sensitive data regex 2024-05-09 09:39:03 +01:00
Jeroen Ketema
4dfcdbccd7 Merge pull request #16459 from jketema/handler-fix
C++: Fix destructor translation for handlers
2024-05-09 10:23:07 +02:00
Sarita Iyer
aab5da0435 Merge pull request #16320 from github/subatoi/deprecate-codeql-for-vs-code
[8th May 2024] Add deprecation notices to CodeQL for VS Code documentation
2024-05-08 17:00:42 -04:00
Jeroen Ketema
9e09c5a6cf C++: Fix copy and paste error in comment 2024-05-08 22:11:19 +02:00
Owen Mansel-Chan
279b2c7a95 Merge pull request #16457 from owen-mc/go/fix-implicitvarargsslice-type
Go: Fix `getType` on `ImplicitVarArgsSlice`
2024-05-08 20:52:01 +01:00
erik-krogh
811c175556 add example for domain names with sub-domains to missing-regexp-anchor 2024-05-08 20:50:43 +02:00
erik-krogh
a51d24cbab apply suggestions from code review, and the examples to the test 2024-05-08 19:34:50 +02:00
Jeroen Ketema
d68d2cca41 C++: Fix destructor translation for handlers 2024-05-08 19:26:56 +02:00
Jeroen Ketema
0cbedfb28c Merge pull request #16455 from jketema/if-fix
C++: Ensure destructors for ifs are called after both branches and for both if and constexpr if
2024-05-08 19:15:28 +02:00
Geoffrey White
49aba25852 Merge pull request #16445 from geoffw0/qhelp4
C++: Improve qhelp for DoubleFree.
2024-05-08 18:02:12 +01:00
Geoffrey White
53d4a10108 Update cpp/ql/src/Critical/DoubleFree.qhelp
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-05-08 17:15:08 +01:00
Mathias Vorreiter Pedersen
59fb9cc862 Merge pull request #16299 from MathiasVP/remove-base-address-as-ipa-key
C++: Remove an unnecessary column
2024-05-08 16:43:30 +01:00
Owen Mansel-Chan
4f10cb5fa0 Local flow tests: do not list summary models
This is so that when we don't change the test results every time we add
a summary model for a built-in function.
2024-05-08 16:13:37 +01:00
Owen Mansel-Chan
57ff30c5f3 Update tests: built-in models now work 2024-05-08 16:07:02 +01:00
Owen Mansel-Chan
1ccea884ff Add change note 2024-05-08 15:37:25 +01:00
Owen Mansel-Chan
f6f594e4b5 parse empty string as package name 2024-05-08 15:33:19 +01:00
Owen Mansel-Chan
fb74a2a170 Use "" in qualified name for entities without a package 2024-05-08 15:33:19 +01:00
Owen Mansel-Chan
4d42a88c3c Add change note 2024-05-08 15:31:22 +01:00
Owen Mansel-Chan
9842445b52 Fix getType on ImplicitVarArgsSlice
It was not defined for built-in functions or for functions called via
a function variable.
2024-05-08 15:22:27 +01:00
Rasmus Wriedt Larsen
694b3b0fce Merge pull request #16452 from RasmusWL/fix-warning
misc: Fix docstring warning
2024-05-08 16:07:10 +02:00
Michael B. Gale
8cba06a25c Merge pull request #16454 from github/mbg/go/fix/shadowed-variable 2024-05-08 14:13:18 +01:00
Geoffrey White
088f8297b6 C++: Use nullptr. 2024-05-08 14:04:21 +01:00
Joe Farebrother
ab23d0ad23 Merge branch 'main' into python-promote-header-injection 2024-05-08 13:49:00 +01:00
Jeroen Ketema
1a53b923a6 C++: Ensure destructors for ifs are called after both branches 2024-05-08 14:48:28 +02:00
Sylwia Budzynska
944f8842b7 Change getASuccessor() to getASubscript() 2024-05-08 14:44:06 +02:00
Michael Nebel
64145cf181 Java: Make it evident that we print signature of the lifted callable. 2024-05-08 14:42:53 +02:00
Michael Nebel
f00ad7c0e7 C#/Java: Invert api filtering logic. 2024-05-08 14:42:53 +02:00
Michael Nebel
5e2e224c9c Java: Updated expected test output. 2024-05-08 14:42:53 +02:00
Michael Nebel
e8120afef9 Java: Improve super implementation and ensure that lift produces a result. 2024-05-08 14:42:52 +02:00
Sylwia Budzynska
8bb4193704 Put GradioInterface models into GradioInput 2024-05-08 14:36:42 +02:00
Paolo Tranquilli
e359744b8b Go: bring back qhelp in action 2024-05-08 14:31:00 +02:00
Michael B. Gale
896fb87d1d Go: Fix err being shadowed in RunListWithEnv 2024-05-08 13:29:28 +01:00
Michael B. Gale
724d026238 Go: Move go list functions to toolchain package 2024-05-08 13:29:28 +01:00
Sylwia Budzynska
eaba798e34 Apply suggestions from code review
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-05-08 14:26:34 +02:00
Jeroen Ketema
52db1c1253 C++: Introduce abstract class to share code between if and constexpr if 2024-05-08 14:16:19 +02:00
Jeroen Ketema
fa06d88642 C++: Add forgotten getLastChild to TranslatedConstExprIfStmt 2024-05-08 14:07:29 +02:00
Rasmus Wriedt Larsen
24f8b5f203 misc: Fix docstring warning
When using a sufficiently new version of Python, it will give a warning
about the escape sequence `\_` in `¯\_(ツ)_/¯` not being a valid escape
:D fix is to make the docstring a raw string.

Thanks @owen-mc
2024-05-08 13:56:11 +02:00
Jeroen Ketema
7b89c6c7f7 Merge pull request #16450 from jketema/inconsistent
C++: Add IR tests demonstrating some inconsistencies that may occur
2024-05-08 13:32:01 +02:00
Jeroen Ketema
9bc04e7591 Merge pull request #16447 from jketema/destructors-loc
C++: Update test results after extractor changes
2024-05-08 13:03:46 +02:00
Michael Nebel
2a40a2a57f Java: Add some inheritance test cases for the model generator and updated expected test output. 2024-05-08 13:01:41 +02:00
Michael Nebel
c5403f4249 Merge pull request #16431 from michaelnebel/java/madinlinetest
Java: Models as Data inline like test.
2024-05-08 12:59:41 +02:00
Geoffrey White
3fd6bc9b5c C++: Fix qhelp format. 2024-05-08 11:46:07 +01:00
Geoffrey White
486226814a C++: Add a second example. 2024-05-08 11:40:29 +01:00
Paolo Tranquilli
12c28f3f68 Go: reorganize CI steps 2024-05-08 12:32:57 +02:00
Geoffrey White
871fd9aba3 Merge pull request #16405 from geoffw0/qhelp3
C++: Improve qhelp for StrncpyFlippedArgs.
2024-05-08 11:23:41 +01:00
Paolo Tranquilli
5b1b30a171 Apply suggestions from code review
Co-authored-by: Michael B. Gale <mbg@github.com>
2024-05-08 12:23:16 +02:00
Geoffrey White
880d56c576 Merge pull request #16404 from geoffw0/qhelp2
C++: Improve qhelp for WrongTypeFormatArguments.
2024-05-08 11:22:57 +01:00
Geoffrey White
9c8945f626 Merge pull request #16403 from geoffw0/qhelp1
C++: Improve qhelp for IncorrectNotOperatorUsage.
2024-05-08 11:22:15 +01:00
Jeroen Ketema
6575927630 C++: Add IR tests demonstrating some inconsistencies that may occur 2024-05-08 11:43:58 +02:00
Jeroen Ketema
2dcb55cc42 C++: Add bool operator to IR test 2024-05-08 11:38:50 +02:00
Joe Farebrother
23fbfcee27 Exclude new private heuristics from swift sensitive credential 2024-05-08 10:02:00 +01:00
Joe Farebrother
5f4bc4197b Add private category to sensitive data heuristics 2024-05-08 10:02:00 +01:00
Mathias Vorreiter Pedersen
65645821be C++: Remove the 'BaseSourceVariableInstruction' column as it's functionally determined by the address column. 2024-05-08 10:00:48 +01:00
Owen Mansel-Chan
0338ffd125 Merge pull request #16444 from owen-mc/shared/update-summary-through-step-value
Shared data flow: Make summaryThroughStepValue include param outputs
2024-05-08 09:53:30 +01:00
Jeroen Ketema
61580da14d C++: Update test results after extractor changes 2024-05-08 08:43:20 +02:00
erik-krogh
3989717878 Merge branch 'main' into cpp-path 2024-05-07 23:01:52 +02:00
erik-krogh
336c7de643 updates based on review 2024-05-07 22:58:49 +02:00
Erik Krogh Kristensen
8b91914826 Merge pull request #16417 from erik-krogh/dummyPass
JS: Remove some FPs from the hardcoded-credentials query
2024-05-07 18:00:58 +02:00
Geoffrey White
575b66a054 C++: Clarify the recommendation and example. 2024-05-07 16:52:50 +01:00
Geoffrey White
dd95a2abab C++: Move qhelp. 2024-05-07 16:35:21 +01:00
Owen Mansel-Chan
aab43afd81 Swift: accept test changes 2024-05-07 15:36:48 +01:00
Mathias Vorreiter Pedersen
99940a6084 Merge pull request #16440 from MathiasVP/fix-iterator-to-expired-container-fp-2
C++: Fix location of SSA def for local variable addresses
2024-05-07 14:39:13 +01:00
Owen Mansel-Chan
c11fac81fd Make summaryThroughStepValue include param outputs
This matches summaryThroughStepTaint.
2024-05-07 13:55:42 +01:00
Mathias Vorreiter Pedersen
85e71c30dc Merge pull request #16442 from MathiasVP/add-uninitialized-local-fp
C++: Add `cpp/uninitialized-local` FP
2024-05-07 13:35:02 +01:00
Ben Ahmady
c529988b43 Update README.md
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com>
2024-05-07 13:09:08 +01:00
Mathias Vorreiter Pedersen
8e95395382 C++: Accept more test changes. 2024-05-07 12:55:42 +01:00
Mathias Vorreiter Pedersen
61fb89721a C++: Add 'cpp/uninitialized-local' FP. 2024-05-07 12:19:06 +01:00
Jeroen Ketema
8198b1a6ef Merge pull request #16426 from jketema/destructors-ranged-based-cleanup
C++: Update test results after extractor changes
2024-05-07 13:11:00 +02:00
Paolo Tranquilli
ab3d21ce7e Merge pull request #16441 from github/redsun82/lfs
Bazel: make `git_lfs_probe.py` compatible with python 3.8
2024-05-07 13:04:43 +02:00
Paolo Tranquilli
9f27eb3eda Bazel: make git_lfs_probe.py compatible with python 3.8 2024-05-07 12:44:28 +02:00
Joe Farebrother
efda63d37a Update test output 2024-05-07 10:49:55 +01:00
Jeroen Ketema
4eea214cb4 C++: Update test results after extractor changes 2024-05-07 11:10:07 +02:00
Jeroen Ketema
b8f62ae4d5 Merge pull request #16436 from jketema/jketema/throw-wrong
C++: Add test case that shows that no destructors are attached to unwinds
2024-05-07 11:07:24 +02:00
Joe Farebrother
0f7325ec68 Rename test directory and add comment to clarity on the purpose of splitting them. 2024-05-07 09:40:55 +01:00
Michael Nebel
5fe3ab7890 Java: Prepare for inline test sharing with C#. 2024-05-07 10:38:24 +02:00
Mathias Vorreiter Pedersen
53c2d2f1e7 C++: Accept test changes. 2024-05-07 09:10:58 +01:00
Mathias Vorreiter Pedersen
07d51a55fd C++: Assign a meaningful definition location to the address of an SSA variable when it's available. 2024-05-07 09:10:58 +01:00
Mathias Vorreiter Pedersen
41b95a1938 Merge pull request #16416 from MathiasVP/add-iterator-to-expired-container-fp-2
C++: Add `cpp/iterator-to-expired-container` FP
2024-05-07 09:10:38 +01:00
Michael Nebel
cfb0a862c1 Merge pull request #16356 from michaelnebel/csharp/aligntelemetryimplementation
C#: Base telemetry Api Source/Sink nodes on abstract classes.
2024-05-07 09:16:38 +02:00
Jeroen Ketema
9b23635d0a C++: Add test case that shows that no destructors are attached to unwinds 2024-05-06 17:47:55 +02:00
Paolo Tranquilli
bbdc2752ac Merge branch 'main' into redsun82/go-make 2024-05-06 17:43:48 +02:00
Paolo Tranquilli
e546560d7c Kotlin: restore kotlin-compiler-embeddable-1.7.0.jar to the maven central version 2024-05-06 17:37:16 +02:00
Paolo Tranquilli
514e24ce62 Kotlin: bring back lazy LFS dependencies
This reverts commit d7ecaae245.

Problems with lazy LFS rules were solved by
https://github.com/github/codeql/pull/16393 and
https://github.com/github/codeql/pull/16434.
2024-05-06 17:31:50 +02:00
Paolo Tranquilli
239b6d8c8e Merge branch 'main' into redsun82/kotlin 2024-05-06 17:24:53 +02:00
Paolo Tranquilli
5c74bebe6c Merge pull request #16317 from github/redsun82/go
Go: add bazel build
2024-05-06 16:55:58 +02:00
Michael Nebel
757cf8d43a C#: Fix a comment typo. 2024-05-06 16:48:31 +02:00
Michael Nebel
b53fa0f7f3 Java: Ensure that it is the callable for the model origin that carries the comment containing the model. 2024-05-06 16:41:58 +02:00
Paolo Tranquilli
d85f81d699 Merge pull request #16435 from github/redsun82/buildifier
Bazel: move buildifier out of root `BUILD`
2024-05-06 16:41:25 +02:00
Paolo Tranquilli
7c7bdb2242 Merge pull request #16434 from github/redsun82/lfs
Bazel: fix lfs lazy rule when all objects are local
2024-05-06 16:40:59 +02:00
Paolo Tranquilli
92b3eda12d Bazel: move buildifier out of root BUILD
See https://github.com/github/codeql/pull/16428 for details as to why
this is necessary.
2024-05-06 16:00:05 +02:00
Michael Nebel
a8549d2e23 Java: Convert remaining tests to inline flow tests. 2024-05-06 15:54:01 +02:00
Paolo Tranquilli
54c9aea251 Bazel: fix lfs lazy rule when all objects are local 2024-05-06 15:47:43 +02:00
Paolo Tranquilli
e71d038d7f Go: specify Go runtime version in actions 2024-05-06 14:57:24 +02:00
Paolo Tranquilli
c123513311 Go: bring back test action
This reverts commit 9055d9567a.
2024-05-06 14:56:57 +02:00
Paolo Tranquilli
bab2dd4427 Go: bring back make and CI changes
This reverts commit 12b9b805e2.
2024-05-06 14:56:21 +02:00
Paolo Tranquilli
73df4fa920 Go: fix Windows installation 2024-05-06 14:55:35 +02:00
am0o0
4a2ab49efb better structure for pandas DataFrame, it is now much better readable and also we can find much more DataFrame objects 2024-05-06 14:36:10 +02:00
am0o0
8b93e815b9 minor test cases change: remove unused dict 2024-05-06 14:36:10 +02:00
amammad
6b9cc1a278 update Twisted document link 2024-05-06 14:36:10 +02:00
amammad
c4a38d0a2f add twisted SSH client as secondary server command injection sinks, add proper test cases 2024-05-06 14:36:10 +02:00
amammad
0a765cc94a add jsonpickle and pexpect libs in case of unsafe decoding and secondary command execution, add proper test cases 2024-05-06 14:36:10 +02:00
amammad
7e93102097 finalize Secondary server command injection queries and tests. 2024-05-06 14:36:10 +02:00
amammad
ead247469d add ssh client libraries, add SecondaryServerCmdInjectionCustomizations 2024-05-06 14:36:10 +02:00
amammad
4df73f9975 continue to convert paramiko query to a more general query,
the proxy command is not a secondary command execution
so we can add proxy command to SystemCommandExecution::Range, update QLDocs,
add a proper Paramiko test case
fix a typo
2024-05-06 14:36:10 +02:00
amammad
5fea71e5d6 convert paramiko query to SecondaryServerCmdInjection query, Add inline tests 2024-05-06 14:36:10 +02:00
amammad
6520e2fdfb update Fabric models, add new sink to Fabric, add proper test cases 2024-05-06 14:36:10 +02:00
amammad
2708e57e4b add pyTorch :) code execution sinks, add proper tests 2024-05-06 14:36:10 +02:00
amammad
cffdc5b452 add panas code execution sinks, add proper tests 2024-05-06 14:36:10 +02:00
Michael Nebel
95ddd6ec74 Java: Generalize the inline mad test to allow further re-use. 2024-05-06 13:57:18 +02:00
Michael Nebel
51e7f3be1a Java: Rename MaD to summary. 2024-05-06 13:03:38 +02:00
Paolo Tranquilli
5b184c179a Bazel/Go: add some comments 2024-05-06 12:48:01 +02:00
Paolo Tranquilli
cba4ba042c Merge branch 'main' into redsun82/go 2024-05-06 12:43:56 +02:00
Michael Nebel
a33393d452 Java: Delete old summary models expected output. 2024-05-06 11:02:04 +02:00
Michael Nebel
7cb8a6c52f Java: Inline models as data expected output as comments in the java files and add a test. 2024-05-06 11:01:23 +02:00
Michael Nebel
6815bcaa80 Java: Move param module into TestUtilities. 2024-05-06 10:19:39 +02:00
Michael Nebel
105984f7de Java: Make param module for MaD inline test. 2024-05-06 10:01:34 +02:00
Tom Hvitved
6233da3e40 Merge pull request #16399 from hvitved/csharp/unique-get-location
C#: Make `Element.getLocation` (mostly) functional
2024-05-05 20:18:19 +02:00
Chuan-kai Lin
e68165fcb7 Swift: Use entities in reorder directives 2024-05-03 11:18:42 -07:00
Chuan-kai Lin
cbc0261567 Ruby: Use entities in reorder directives 2024-05-03 11:18:15 -07:00
Chuan-kai Lin
535e6db40f Python: Use entities in reorder directives 2024-05-03 11:17:41 -07:00
Chuan-kai Lin
9b51e0e0ee JS: Use entities in reorder directives 2024-05-03 11:17:13 -07:00
Chuan-kai Lin
30b5d5092d Java: Use entities in reorder directives 2024-05-03 11:16:31 -07:00
Chuan-kai Lin
1dd3a0fd76 Go: Use entities in reorder directives 2024-05-03 11:16:08 -07:00
Chuan-kai Lin
077a2e3479 C#: Use entities in reorder directives 2024-05-03 11:15:42 -07:00
Chuan-kai Lin
ca9567debc C++: Use entities in reorder directives 2024-05-03 11:14:41 -07:00
Mathias Vorreiter Pedersen
5d5e31378b Merge pull request #16415 from MathiasVP/cleanup-ir-variables 2024-05-03 18:49:11 +01:00
Jeroen Ketema
5cde3fa697 Merge pull request #16414 from jketema/range-based-for-loop-destructor-fix
C++: Correctly handle destructors at the end of range-based for-loops in the IR
2024-05-03 19:38:45 +02:00
erik-krogh
39a8b49222 add qhelp recommendation that you can use an obvious placeholder value 2024-05-03 19:37:31 +02:00
erik-krogh
b209fc67cb test the change to hardcoded-credentials 2024-05-03 19:34:18 +02:00
Paolo Tranquilli
77128de105 Bazel/Go: make installer work from internal repo and on windows
It turns out everything that is needed for the installer to work on
windows is enabling runfiles. This also requires symlinks to avoid
excessive copying of files.
2024-05-03 17:45:57 +02:00
Mathias Vorreiter Pedersen
7a1b85aa56 C++: Add FP test. 2024-05-03 16:04:21 +01:00
Geoffrey White
eb0621ab7a Merge pull request #16406 from geoffw0/test1
C++: Add test case for reassignment to UseAfterFree.ql.
2024-05-03 15:32:58 +01:00
Geoffrey White
c0cf1c7c8c Merge pull request #16402 from geoffw0/stringlifetimedoc
C++: Improve UseOfStringAfterLifetimeEnds doc.
2024-05-03 15:04:07 +01:00
Paolo Tranquilli
17990da205 Update go/extractor/BUILD.bazel
Co-authored-by: Cornelius Riemenschneider <cornelius@github.com>
2024-05-03 15:58:43 +02:00
Mathias Vorreiter Pedersen
d5475c4a89 C++: Delete predicate that I introduced by mistake. 2024-05-03 14:48:01 +01:00
Paolo Tranquilli
471303bd7c Bazel/Go: remove unneeded comment 2024-05-03 14:56:17 +02:00
Paolo Tranquilli
2132c7bf96 Bazel/Go: make @codeql//go:gen runnable from internal repo 2024-05-03 14:52:17 +02:00
Mathias Vorreiter Pedersen
7ca54a6f94 C++: Sync identical files. 2024-05-03 13:51:04 +01:00
Mathias Vorreiter Pedersen
e8cb8b4f81 C++: Convert IR variables to an abstract base class and use final alias'ing to ensure that we don't accidentially extend the abstract base class. 2024-05-03 13:50:50 +01:00
Jeroen Ketema
ba64cf3016 C++: Correctly handle destructors at the end of range-based for-loops in the IR 2024-05-03 14:38:37 +02:00
Tom Hvitved
3c91333d0b Address review comment 2024-05-03 14:09:41 +02:00
erik-krogh
d9e8e0e00a use some more standard values for credentials-kind for NodeJS client credentials 2024-05-03 13:58:37 +02:00
erik-krogh
ff85db36e2 exclude credentials as kind key from hardcoded-credentials when the key looks like a dummy password 2024-05-03 13:58:11 +02:00
Paolo Tranquilli
8f0b88497a Bazel/Go: be more specific in go/extractor/BUILD.bazel comments 2024-05-03 13:15:08 +02:00
Paolo Tranquilli
31c427e64c Bazel/Go: add more explanation in gen.py 2024-05-03 13:15:08 +02:00
Michael Nebel
e64a2d6c9c C#: Align telemetry implementation with Java. 2024-05-03 12:48:14 +02:00
Geoffrey White
807e6795a7 Apply suggestions from code review
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2024-05-03 11:40:56 +01:00
Paolo Tranquilli
880262d462 Merge pull request #16393 from github/redsun82/lfs
Bazel: improved lazy lfs files
2024-05-03 12:37:41 +02:00
Michael Nebel
95ff5bae65 Merge pull request #16297 from michaelnebel/java/improveapitelemetry
Java: Identify more APIs as supported in the telemetry queries.
2024-05-03 12:34:19 +02:00
Paolo Tranquilli
6cbe16e0c2 Bazel: add progress reporting 2024-05-03 12:00:15 +02:00
Mathias Vorreiter Pedersen
75615f2817 Merge pull request #16373 from jketema/destructors-block-fix
C++: Update test results after extractor changes
2024-05-03 10:17:40 +01:00
Michael Nebel
c07bf65eb6 Update java/ql/lib/semmle/code/java/dataflow/FlowSources.qll
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-05-03 11:13:05 +02:00
Michael Nebel
8def1c2c13 Java: Address review comments and some other code quality improvements. 2024-05-03 11:11:52 +02:00
Rasmus Wriedt Larsen
1b90f22e84 Merge pull request #16400 from RasmusWL/accept-ci-fixes
.expected script: Handle multiple job failure URLs
2024-05-03 09:58:47 +02:00
Paolo Tranquilli
ecdf62376d Bazel: clean up git_lfs_probe.py 2024-05-03 09:21:57 +02:00
Geoffrey White
f5431abb10 C++: Fix strncpy reference link (the old link was broken). 2024-05-02 17:37:52 +01:00
Geoffrey White
73cc211779 C++: Fix qhelp error. 2024-05-02 17:36:35 +01:00
Geoffrey White
08e08a2b3a C++: Qhelp punctuation. 2024-05-02 17:32:24 +01:00
Geoffrey White
657402b42f C++: Fix % character in qhelp. 2024-05-02 17:31:09 +01:00
Geoffrey White
ecbf7aef18 C++: Fix qhelp formatting. 2024-05-02 17:26:24 +01:00
Geoffrey White
669fc925e0 C++: Fix qhelp formatting. 2024-05-02 17:24:20 +01:00
Geoffrey White
8a04840f93 C++: Improve qhelp for IncorrectNotOperatorUsage.ql, including mention of an alternative fix. 2024-05-02 17:17:55 +01:00
Geoffrey White
f4e4e238ba C++: Add test cases for IncorrectNotOperatorUsage.ql. 2024-05-02 17:17:55 +01:00
Geoffrey White
8f682ef4e4 C++: Improve quality of some qhelp references. 2024-05-02 17:08:26 +01:00
Paolo Tranquilli
96d69ca49c Merge branch 'main' into redsun82/lfs 2024-05-02 18:05:50 +02:00
Geoffrey White
8a261b7e7a C++: Update StrncpyFlippedArgs.qhelp. 2024-05-02 17:04:49 +01:00
Paolo Tranquilli
daea674095 Bazel: cover standard https git credentials in git_lfs_probe.py 2024-05-02 18:02:22 +02:00
Geoffrey White
315f439135 C++: Add test case for reassignment to UseAfterFree.ql. 2024-05-02 16:40:28 +01:00
Geoffrey White
06d8892e03 C++: Rename an example file. 2024-05-02 16:39:59 +01:00
Geoffrey White
e22159ab5d C++: Update WrongTypeFormatArguments.qhelp. 2024-05-02 16:34:56 +01:00
Geoffrey White
355c7d9b41 C++: Rename an example file. 2024-05-02 16:34:49 +01:00
Paolo Tranquilli
00baccbc15 Go: autoformat 2024-05-02 17:08:23 +02:00
Paolo Tranquilli
81dea9f89a Merge branch 'main' into redsun82/go 2024-05-02 17:03:09 +02:00
Paolo Tranquilli
76067cb12d Go: skip X:nocoverageredesign printing by autobuilder built with bazel 2024-05-02 17:02:48 +02:00
Geoffrey White
e4cf7df38f C++: Edits to the .qhelp based on suggestions. 2024-05-02 16:00:31 +01:00
Geoffrey White
b8b3689251 C++: Autoformat. 2024-05-02 15:49:56 +01:00
Geoffrey White
0693bf9e75 C++: Improve UseOfStringAfterLifetimeEnds qhelp, references and alert message. 2024-05-02 15:40:27 +01:00
Paolo Tranquilli
1aafc377ad Revert "Go: write test go runtime version in a specific file"
This reverts commit abcd9165b4.
2024-05-02 16:22:24 +02:00
Paolo Tranquilli
abcd9165b4 Go: write test go runtime version in a specific file 2024-05-02 16:09:11 +02:00
Paolo Tranquilli
0bc6934bfc Go: rename pkg_files to something less confusing 2024-05-02 15:44:06 +02:00
Paolo Tranquilli
4ae82ac215 Go: add explanatory comment to extractor BUILD file 2024-05-02 15:40:13 +02:00
Rasmus Wriedt Larsen
ccad70897d Add --dont-wait option 2024-05-02 15:39:07 +02:00
Paolo Tranquilli
318d954536 Go: make //go:gen not clear by default, and clean on --force 2024-05-02 15:38:47 +02:00
Rasmus Wriedt Larsen
3239af9973 Handle multiple job failure URLs
CI has changed how jobs are being run 🤷
2024-05-02 15:31:56 +02:00
Mathias Vorreiter Pedersen
f7113e0105 Merge pull request #16345 from MathiasVP/cleanup-ssa-and-iterator-flow
C++: Clean up SSA and stop relying on memory edges for iterator flow
2024-05-02 14:21:25 +01:00
Paolo Tranquilli
ca2d94b297 Fix go pattern in .pre-commit-config.yaml 2024-05-02 15:15:45 +02:00
Rasmus Wriedt Larsen
2cff081f2b Minor fixes to CI script.
I had problems with proper resolution of codeql_repo_dir with old python installation, this fixes it
2024-05-02 15:13:50 +02:00
Paolo Tranquilli
9055d9567a Go: remove unused action (will be re-added later) 2024-05-02 15:08:51 +02:00
Tamás Vajk
f99cb3f649 Merge pull request #16396 from tamasvajk/buildless/opt-out-feed-check
C#: Change nuget feed responsiveness checking to be opt-out
2024-05-02 15:04:28 +02:00
Tamás Vajk
dfdd79d8cf Merge pull request #16395 from tamasvajk/buildless/logs1
C#: Add file path to log messages in assets.json parsing
2024-05-02 15:03:57 +02:00
Tom Hvitved
8ec4f0b5bd C#: Update expected test output 2024-05-02 14:53:02 +02:00
Mathias Vorreiter Pedersen
b912918d8b C++: Fix QLDoc. 2024-05-02 13:32:52 +01:00
Harry Maclean
ef88f3ed09 Merge pull request #16377 from hmac/hmac-sanitization-fp
Ruby: Fix StringSubstitutionCall charpred
2024-05-02 13:31:01 +01:00
Tom Hvitved
f5d4b2e6cd C#: Make Element.getLocation (mostly) functional 2024-05-02 14:16:34 +02:00
Michael Nebel
8b0f3af5b1 Java: Update change-note. 2024-05-02 14:05:44 +02:00
Felicity Chapman
54793cfa01 Update a couple of reusables 2024-05-02 12:52:43 +01:00
Tamas Vajk
d909f2bc4f Fix expected test output 2024-05-02 13:32:01 +02:00
Felicity Chapman
7f27127301 Update docs/codeql/reusables/vs-code-deprecation-note.rst 2024-05-02 12:02:09 +01:00
Paolo Tranquilli
520a2c96ff Merge branch 'main' into redsun82/go 2024-05-02 12:41:51 +02:00
Paolo Tranquilli
12b9b805e2 Go: revert changes to make and CI to postpone them in a separate PR 2024-05-02 12:37:47 +02:00
Felicity Chapman
6eb07a7a7e Apply suggestions from code review
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-05-02 11:05:39 +01:00
Owen Mansel-Chan
9bfb189fa7 Merge pull request #16392 from owen-mc/external-flow/standardize-empty-model-yml
External flow: standardize `empty.model.yml`
2024-05-02 11:01:47 +01:00
Mathias Vorreiter Pedersen
322fa36359 C++: Fix QLDoc. 2024-05-02 10:37:49 +01:00
Mathias Vorreiter Pedersen
4a47e11a16 C++: Fix QLDoc. 2024-05-02 10:36:40 +01:00
Owen Mansel-Chan
83249cd9c2 Fix grammar in comment 2024-05-02 09:59:48 +01:00
Tamas Vajk
c6185b30ba C#: Change nuget feed responsiveness checking to be opt-out 2024-05-02 10:25:12 +02:00
Tamas Vajk
9ce08c586c C#: Add file path to log messages in assets.json parsing 2024-05-02 10:14:26 +02:00
Paolo Tranquilli
a8d3226e99 Merge branch 'main' into redsun82/go 2024-05-02 09:27:47 +02:00
Paolo Tranquilli
94212d103e Bazel/Go: remove apple_support
This was actually unnecessary, and requried a full Xcode installation
that we'd rather avoid.
2024-05-02 09:21:47 +02:00
Paolo Tranquilli
608791fd7f Bazel/Go: use native cross compilation for fat binaries 2024-05-02 09:21:43 +02:00
Harry Maclean
7d92ec5ddf Merge pull request #16378 from hmac/hmac-sanitization-wording
Ruby: fix wording in rb/request-without-cert-validation
2024-05-02 08:00:28 +01:00
Paolo Tranquilli
9157dee0db Bazel: integrate download_and_extract into lfs_smudge 2024-05-02 08:53:51 +02:00
Paolo Tranquilli
677520aa8e Bazel: improved lazy lfs files
This reintroduces lazy lfs file rules that were removed in
https://github.com/github/codeql/pull/16117, now improved.

The new rules will make the actual file download go through bazel's
download manager, which includes:
* caching into the repository cache
* sane limiting of concurrent downloads
* retries

The bulk of the work is done by `git_lfs_probe.py`, which will use the
LFS protocol (with authentication via SSH) to output short lived
download URLs that can be consumed by `repository_ctx.download`.
2024-05-02 06:38:26 +02:00
Owen Mansel-Chan
16dcc0969b Standardise comment explaining why extensible predicates must be defined 2024-05-01 22:00:01 +01:00
Owen Mansel-Chan
09e59ccf44 Name files with empty definitions of MaD extensible predicates to erowdmpty.model.yml 2024-05-01 21:39:38 +01:00
Mathias Vorreiter Pedersen
a8f2cbc2b1 Merge pull request #16331 from mario-campos/mario-campos/guarded-free
Cpp: new experimental query cpp/guarded-free
2024-05-01 17:32:44 +01:00
Harry Maclean
c00d0d302d Ruby: fix wording in rb/request-without-cert-validation 2024-05-01 17:25:58 +01:00
Mario Campos
5a7a1dc92e C++: forgot to import semmle.code.cpp.controlflow.Guards 2024-05-01 11:00:19 -05:00
Mario Campos
c480431ec0 C++: simplify cpp/guarded-free
This new form is more declarative by use of the `GuardCondition`. Thanks to the tireless effort of @MathiasVP!
2024-05-01 10:59:16 -05:00
Harry Maclean
f7fc2e0b00 Ruby: Fix StringSubstitutionCall charpred
Some missing parens meant this class targeted way more things than
intended.
2024-05-01 16:14:58 +01:00
Michael B. Gale
397e641f2f Merge pull request #16375 from github/mbg/go/allow-version-suffixes
Go: Allow version suffixes
2024-05-01 15:41:54 +01:00
Michael B. Gale
00cbfaf40e Go: Allow version suffixes 2024-05-01 15:00:45 +01:00
Michael Nebel
42653b5fec Java: Add change note about local query removal. 2024-05-01 13:07:22 +02:00
Michael Nebel
58bbfe694f Java: Deprecate the content of ExecTaintedLocalQuery as this is unused. 2024-05-01 13:07:21 +02:00
Michael Nebel
d9c7401ea2 Java: Deprecate the local content of UrlRedirectLocalQuery and remove the local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
ed7538d0b9 Java: Deprecate the local content of TaintedPathQuery and remove the local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
5b89bd23c7 Java: Deprecate the content of SqlTaintedLocalQuery and remove the local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
b68abab12a Java: Deprecate the content of ResponseSplittingLocalQuery and remove local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
d05c5e3d94 Java: Deprecate the content of NumericCastTaintedLocalQuery, remove the local query variant and update the non-local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
301a6cc191 Java: Deprecate the content of ImproperValidationOrArray and remove local query variants. 2024-05-01 13:07:21 +02:00
Michael Nebel
acd0fa4b7b Java: Deprecate the content of ExternallyControlledFormatStringLocalQuery and remove the externally controlled format string local query variant. 2024-05-01 13:07:21 +02:00
Michael Nebel
85a4dd0325 Java: Deprecate the local content of CommandLineQuery and remove the exec tainted local query variant. 2024-05-01 13:07:20 +02:00
Mathias Vorreiter Pedersen
dc4604f5a5 Merge pull request #16367 from MathiasVP/better-documentation-for-iterator-to-expired-container
C++: Improve documentation for `cpp/iterator-to-expired-container`
2024-05-01 11:56:27 +01:00
Mathias Vorreiter Pedersen
40b6e1624f Update cpp/ql/src/Security/CWE/CWE-416/IteratorToExpiredContainer.qhelp
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2024-05-01 11:41:23 +01:00
Mathias Vorreiter Pedersen
22e843abc6 Update cpp/ql/src/Security/CWE/CWE-416/IteratorToExpiredContainer.qhelp
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com>
2024-05-01 11:41:16 +01:00
Jeroen Ketema
3c70a2d7df C++: Update test results after extractor changes 2024-05-01 12:30:38 +02:00
Jeroen Ketema
541effb8cb Merge pull request #16369 from jketema/destructors-init-stmt
C++: Update IR tests after better handling of init statements in the extractor
2024-05-01 10:47:03 +02:00
Anders Schack-Mulligen
248ffa15a2 Merge pull request #16318 from aschackmull/dataflow/doublyboundedfasttc
Dataflow: Use doublyBoundedFastTC.
2024-05-01 09:48:23 +02:00
Michael Nebel
072f19008a Java: Deprecate the content of ArithmeticTaintedLocalQuery and remove the arithmetic tainted local query variant. 2024-05-01 08:59:51 +02:00
Michael Nebel
93988e5834 Java: Deprecate the content of XxeLocalQuery and remove the Xxe local query variant. 2024-05-01 08:59:50 +02:00
Michael Nebel
e0c2a43780 Java: Deprecate the content of XssLocalQuery and remove the Xss local query variant. 2024-05-01 08:59:50 +02:00
Jeroen Ketema
5843326b5c C++: Update IR tests after better handling of init statements in the extractor 2024-04-30 21:12:30 +02:00
Mathias Vorreiter Pedersen
3a2b0a2feb Merge pull request #16366 from MathiasVP/fix-ir-for-destructors-in-switch
C++: Fix IR destructor calls on `JumpStmt`s
2024-04-30 18:26:54 +01:00
Joe Farebrother
fd55713006 add changenote 2024-04-30 18:17:18 +01:00
Joe Farebrother
c6372d5822 Fix qldoc and remove PotentialViewCallable class 2024-04-30 18:13:06 +01:00
Mathias Vorreiter Pedersen
07dd6d5c8d C++: Align 'break' statements. 2024-04-30 16:40:23 +01:00
Mathias Vorreiter Pedersen
708d12624f C++: Update documentation on 'cpp/iterator-to-expired-container'. 2024-04-30 16:32:32 +01:00
Mathias Vorreiter Pedersen
3eddd3114f C++: Accept test changes. 2024-04-30 16:14:30 +01:00
Mathias Vorreiter Pedersen
61ce7252e6 C++: Update the alert message in 'cpp/iterator-to-expired-container'. 2024-04-30 16:12:54 +01:00
Mathias Vorreiter Pedersen
b86aeb68ae Merge pull request #16364 from MathiasVP/ir-guards-with-boolean
C++: Support `IRGuard`s with no implicit boolean conversion
2024-04-30 16:07:32 +01:00
Mathias Vorreiter Pedersen
cf025e1924 C++: Accept test changes. 2024-04-30 15:47:53 +01:00
Mathias Vorreiter Pedersen
a200ced2d6 C++: Fix IR generation for jump statements. 2024-04-30 15:46:46 +01:00
Mathias Vorreiter Pedersen
c04e59611b Merge pull request #16355 from MathiasVP/promote-iterator-to-expired-container-out-of-experimental
C++: Promote `cpp/iterator-to-expired-container` out of experimental
2024-04-30 15:45:56 +01:00
Mathias Vorreiter Pedersen
c5a87c95d8 C++: Add tests that incorrectly call destructors twice. 2024-04-30 15:39:00 +01:00
Joe Farebrother
4f22b91e73 Add tests for cases not yet supported 2024-04-30 15:20:09 +01:00
Henry Mercer
797f675285 Merge pull request #16365 from github/post-release-prep/codeql-cli-2.17.2
Post-release preparation for codeql-cli-2.17.2
2024-04-30 14:51:01 +01:00
Mathias Vorreiter Pedersen
c32c810ae7 C++: Add a test with a 'short' type. 2024-04-30 14:48:21 +01:00
Mathias Vorreiter Pedersen
32fe084630 Update cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-04-30 14:42:30 +01:00
Joe Farebrother
ba054bd428 Manually specify subclasses for redirect models 2024-04-30 14:33:46 +01:00
Ian Lynagh
0715c4ac5a Merge pull request #16341 from igfoo/igfoo/ODASA_BUILD_ERROR_DIR
Java: Remove support for deprecated ODASA_BUILD_ERROR_DIR env var
2024-04-30 13:18:51 +01:00
github-actions[bot]
99928b82ed Post-release preparation for codeql-cli-2.17.2 2024-04-30 12:15:35 +00:00
Rasmus Wriedt Larsen
377c6b4cc8 Merge pull request #12557 from felickz/patch-1
add  security-severity score to code scanning query list
2024-04-30 13:48:22 +02:00
Mathias Vorreiter Pedersen
2939c89f7a C++: Accept test changes. 2024-04-30 12:04:42 +01:00
Mathias Vorreiter Pedersen
bb6cc92728 C++: Support guards without implicit boolean conversions. 2024-04-30 12:04:35 +01:00
Mathias Vorreiter Pedersen
d736426529 C++: Support guards without implicit boolean conversions. 2024-04-30 11:45:58 +01:00
Mathias Vorreiter Pedersen
806d42852c C++: Add test in C file with pointer type guard. 2024-04-30 11:33:22 +01:00
Henry Mercer
8e251ee54f Merge pull request #16363 from github/release-prep/2.17.2
Release preparation for version 2.17.2
2024-04-30 11:29:06 +01:00
github-actions[bot]
5228d94d42 Release preparation for version 2.17.2 2024-04-30 10:25:51 +00:00
Geoffrey White
7d9f78b2de Merge pull request #16328 from geoffw0/pathinj
C++: Reduce duplication from cpp/path-injection
2024-04-30 10:06:40 +01:00
Paolo Tranquilli
2590d8a27f Merge branch 'main' into redsun82/go 2024-04-30 11:00:27 +02:00
Joe Farebrother
7df8b1ba51 Don't rely on specific parameter names, add qldoc 2024-04-30 09:45:11 +01:00
Erik Krogh Kristensen
7e839792da Merge pull request #16330 from erik-krogh/del-deps-apr-2024
All: delete outdated deprecations
2024-04-30 10:43:39 +02:00
Paolo Tranquilli
98106f31c1 Merge pull request #16358 from github/redsun82/registry-override
Bazel: add empty registry override
2024-04-30 09:09:46 +02:00
Paolo Tranquilli
52a015fb11 Bazel: remove further unneeded files 2024-04-30 09:07:11 +02:00
Ian Lynagh
676bcf39a5 Java: Remove support for deprecated ODASA_BUILD_ERROR_DIR env var 2024-04-29 18:02:28 +01:00
Paolo Tranquilli
a28f87fff0 Bazel: add empty registry override
This will unblock work in parallel on two separate PRs that require
patching different modules.
2024-04-29 18:01:09 +02:00
Mathias Vorreiter Pedersen
94364f724e C++: Remove CP between all sinks and all states in 'cpp/iterator-to-expired-container'. 2024-04-29 16:46:00 +01:00
Paolo Tranquilli
d4e0a5629d Kotlin: update wrapper location 2024-04-29 17:33:40 +02:00
Paolo Tranquilli
b83417301f Merge branch 'main' into redsun82/kotlin 2024-04-29 17:26:59 +02:00
Paolo Tranquilli
450f6518e2 Bazel: remove generic lazy lfs files 2024-04-29 17:26:48 +02:00
Paolo Tranquilli
d7ecaae245 Kotlin: back off from lazy LFS rules
Those have shown to cause problems with too many concurrent downloads.

This changes kotlinc dependencies fetching to:
* use `resource/kotlinc-dependencies` if available (which is the case
  for the internal repo)
* otherwise, download them from maven.

This means sha256 hashes need to be written down for bazel.
2024-04-29 17:26:25 +02:00
Harry Maclean
607ed2efb4 Merge pull request #16354 from hmac/hmac-incomplete-hostname-fp
Ruby: Reduce FPs for rb/incomplete-hostname-regexp
2024-04-29 14:40:44 +01:00
Michael Nebel
a304e2d8d6 Merge pull request #16248 from michaelnebel/csharp/groupsprojectbeforerestore
C#: Restore projects and collect dependencies for projects in the same folder sequentially.
2024-04-29 14:05:40 +02:00
Paolo Tranquilli
cb85a756a0 Bazel: patch apple_support to avoid registering its toolchain
This is done in order to avoid requiring a full Xcode installation, but
still being able to use other `apple_support` facilities, like
`universal_binary`.
2024-04-29 13:42:05 +02:00
Paolo Tranquilli
e7886d0e57 Bazel: add empty registry override 2024-04-29 13:39:30 +02:00
yoff
1c611fecde Merge pull request #16155 from yoff/python/MaD-method-arg-tests 2024-04-29 12:59:57 +02:00
Harry Maclean
51bc8e917e Ruby: Reduce FPs for rb/incomplete-hostname-regexp
Arguments in calls to `match[?]` should only be considered regular
expression interpretations if the `match` refers to the standard library
method, not a method in source code.
2024-04-29 11:19:34 +01:00
Mathias Vorreiter Pedersen
0fa5a1f274 C++: Add change note. 2024-04-29 11:17:53 +01:00
Paolo Tranquilli
15bb846a5f Go: add workaround for extractor pack windows installer 2024-04-29 12:17:47 +02:00
Mathias Vorreiter Pedersen
5c454bdd8c C++: Compute and add severity. 2024-04-29 11:09:42 +01:00
Mathias Vorreiter Pedersen
f194c70e8a C++: Set precision to medium. 2024-04-29 11:08:08 +01:00
Mathias Vorreiter Pedersen
179270ffc1 C++: Move 'cpp/iterator-to-expired-container' out of experimental. 2024-04-29 11:07:55 +01:00
Paolo Tranquilli
1f78882cdc Go: make windows checks happy 2024-04-29 11:27:16 +02:00
Paolo Tranquilli
f0f6c229f6 Go: fix regex in action for macOS 2024-04-29 11:16:30 +02:00
Paolo Tranquilli
2f6dd2ab81 Go: refactor workflows with shared action 2024-04-29 11:12:48 +02:00
Paolo Tranquilli
6ec223c515 Go: small cleanup in Makefile 2024-04-29 11:00:21 +02:00
Harry Maclean
8ccedd658a Merge pull request #16349 from hmac/hmac-uri-open
Ruby: Add URI.open example to rb/kernel-open qhelp
2024-04-29 09:42:39 +01:00
Mathias Vorreiter Pedersen
401717d739 C++: Add a missing taint step and accept test changes. 2024-04-29 09:38:42 +01:00
Mathias Vorreiter Pedersen
527409d05f C++: Fix iterator return types and accept test changes. 2024-04-29 09:38:42 +01:00
Mathias Vorreiter Pedersen
d3d2e2188d C++: Accept test changes. 2024-04-29 09:38:42 +01:00
Mathias Vorreiter Pedersen
141af7cc87 C++: Subclasses for both 'begin' and 'end'. 2024-04-29 09:38:42 +01:00
Mathias Vorreiter Pedersen
6e3dddede0 C++: Use iterator flow in dataflow. 2024-04-29 09:38:42 +01:00
Mathias Vorreiter Pedersen
683fe26034 C++: Add iterator flow based on dataflow SSA. 2024-04-29 09:38:41 +01:00
Mathias Vorreiter Pedersen
ea1b8a3999 C++: Implement 'getAnUltimateDefinition' on SSA definitions. 2024-04-29 09:38:41 +01:00
Mathias Vorreiter Pedersen
5f0efc19fa C++: Accept test changes. 2024-04-29 09:38:41 +01:00
Paolo Tranquilli
0dfd336729 Go: fix //go:gen on windows 2024-04-29 10:34:22 +02:00
Paolo Tranquilli
b0758fd109 Go: workaround for gazelle on macOS
See https://github.com/bazelbuild/bazel-gazelle/issues/1793 for details.
2024-04-29 10:29:53 +02:00
Michael Nebel
d62e888b86 C#: Code quality improvements. 2024-04-29 09:27:12 +02:00
Mathias Vorreiter Pedersen
50775d0c53 C++: Get rid of 'UseImpl' in TSsaDefOrUse so that it now only contains definitions. 2024-04-29 00:02:05 +01:00
Mathias Vorreiter Pedersen
9874d40d29 C++: Make 'getAddressOperand' available on 'DefImpl'. 2024-04-28 23:41:18 +01:00
Mathias Vorreiter Pedersen
044ee9b08a C++: Delete old iterator flow using memory edges. 2024-04-28 23:41:13 +01:00
Harry Maclean
8b23f6db10 Ruby: Add URI.open example to rb/kernel-open qhelp 2024-04-27 09:53:54 +01:00
Mathias Vorreiter Pedersen
3c2206728d Merge pull request #16333 from MathiasVP/fix-guards-on-pointers 2024-04-26 21:33:08 +01:00
Jeroen Ketema
8c87cb83bb Merge pull request #16342 from jketema/destructors-cleanup
C++: Don't emit destructor calls as part of 'TranslatedResultCopy' as this has already been done in some other 'TranslatedExpr'.
2024-04-26 22:05:00 +02:00
Mathias Vorreiter Pedersen
c9ce642e7a Merge pull request #16339 from MathiasVP/one-less-stage
C++: Remove a stage by properly caching `getResultIRType`
2024-04-26 16:52:16 +01:00
Mathias Vorreiter Pedersen
d18cdee0bc C++: Accept test changes. 2024-04-26 16:19:33 +01:00
Mathias Vorreiter Pedersen
b78537dd74 C++: Allow comparisons with pointer types in IRGuards. 2024-04-26 16:19:24 +01:00
Mathias Vorreiter Pedersen
e78091e9d0 C++: Sync identical files. 2024-04-26 16:19:02 +01:00
Mathias Vorreiter Pedersen
c10e00d389 C++: Add a subclass for constant instructions with pointer type. 2024-04-26 16:18:52 +01:00
Mathias Vorreiter Pedersen
bf61114284 C++: Add a test with pointer comparisons and float comparisons. 2024-04-26 16:17:45 +01:00
erik-krogh
800d7546fa change all the change-notes to breaking 2024-04-26 17:17:23 +02:00
Mathias Vorreiter Pedersen
d6c57de650 C++: Convert one of the tests to also test the 'absolute' versions of the GuardCondition predicates. 2024-04-26 16:11:19 +01:00
Paolo Tranquilli
d66494dcb0 Go: update go-tests-other-os.yml 2024-04-26 17:03:56 +02:00
Paolo Tranquilli
86d6b8ef21 Go: put back go setup 2024-04-26 16:54:14 +02:00
Mathias Vorreiter Pedersen
6147a38bea Merge pull request #16337 from MathiasVP/cache-second-level-scope
DataFlow: Cache `getSecondLevelScope`
2024-04-26 15:49:11 +01:00
Jeroen Ketema
67fb866efa C++: Update test results 2024-04-26 16:38:39 +02:00
Paolo Tranquilli
0f387eeac2 Go: add vendor update to //go:gen 2024-04-26 16:31:04 +02:00
Mathias Vorreiter Pedersen
4b0a217420 C++: Don't emit destructor calls as part of 'TranslatedResultCopy' as this has already been done in some other 'TranslatedExpr'. 2024-04-26 16:25:05 +02:00
Mario Campos
3195f0c828 Use more specific hasGlobalName() for stdlib function free(3)
Based on the CodeQL documentation's example of strncpy(3) and strlen(3): https://codeql.github.com/docs/codeql-language-guides/hash-consing-and-value-numbering/#example-query
2024-04-26 09:10:40 -05:00
Paolo Tranquilli
d98ccdfa06 Go: update workflow 2024-04-26 16:02:22 +02:00
Paolo Tranquilli
c8b02241af Merge branch 'main' into redsun82/go 2024-04-26 15:59:17 +02:00
Tamás Vajk
a707e14495 Merge pull request #16338 from tamasvajk/buildless/extractor-timing
C#: Store buildless extraction timing information and return in telem…
2024-04-26 15:59:01 +02:00
Paolo Tranquilli
146d84bbf8 Go: rework makefile 2024-04-26 15:20:33 +02:00
Tamas Vajk
1d45e3a558 C#: Store buildless extraction timing information and return in telemetry query 2024-04-26 14:59:31 +02:00
Mathias Vorreiter Pedersen
70e9c48a47 C++: Also implement the predicate in the raw stage. 2024-04-26 13:48:13 +01:00
Mathias Vorreiter Pedersen
dcc4ad2550 C++: Sync identical files. 2024-04-26 13:45:15 +01:00
Mathias Vorreiter Pedersen
54cadcfe9b C++: Forward to a cached predicate in a cached module instead of caching the predicate in 'Instruction.qll' to include it in the cached stage of the other predicates. 2024-04-26 13:44:45 +01:00
Rasmus Lerchedahl Petersen
3716b8c6a0 Python: update test to reflect correct behaviour
also add comments
2024-04-26 14:21:15 +02:00
Rasmus Lerchedahl Petersen
9f7edf378e Python: fix tests
The way to expose the `self` arguemnt
is to call an instance method on the class,
not on the instance...
2024-04-26 14:21:15 +02:00
Rasmus Lerchedahl Petersen
4f46ce1133 Python: add test for Argument[0, self, self:] for instance methods 2024-04-26 14:21:15 +02:00
Rasmus Lerchedahl Petersen
862942f3d8 python: extra test
suggested by @RasmusWL
2024-04-26 14:19:10 +02:00
Rasmus Lerchedahl Petersen
adc82b553b Python: more realistic summaries 2024-04-26 14:19:10 +02:00
Rasmus Lerchedahl Petersen
c2252e12ac python: sync files 2024-04-26 14:19:09 +02:00
Rasmus Lerchedahl Petersen
bab6ecf3bb Python: test the MaD path for constructor calls 2024-04-26 14:19:09 +02:00
Michael Nebel
f95b33049e Java: Improve the Api sources and sinks implementation. 2024-04-26 14:12:41 +02:00
Mathias Vorreiter Pedersen
2482519cd3 DataFlow: Cached second level scope. 2024-04-26 13:09:59 +01:00
Asger F
e44d4c45aa Merge pull request #16323 from asgerf/js/expose-internal-module-naming
JS: Expose InternalModuleNaming
2024-04-26 13:57:26 +02:00
Paolo Tranquilli
bfa189e2ac Go: use a dbscheme generated during the build in extractor-pack 2024-04-26 13:48:44 +02:00
Paolo Tranquilli
19b2e56d02 Go: group BUILD and dbscheme generation target 2024-04-26 13:38:10 +02:00
erik-krogh
14d88eb3ce add change-notes 2024-04-26 12:56:28 +02:00
Michael Nebel
b754706e44 Java: Update SupportedExternalApi expected test output. 2024-04-26 12:39:46 +02:00
Michael Nebel
9db32f4d26 Java: Identify more APIs as supported in the telemetry queries (as QL defined sinks). 2024-04-26 12:39:46 +02:00
Michael Nebel
acb2bbb2a3 Java: Identify more APIs as supported in the telemetry queries (as QL defined sources). 2024-04-26 12:39:46 +02:00
Michael Nebel
06f987ad58 Java: Add test example of a supported sink defined in QL. 2024-04-26 12:39:46 +02:00
Paolo Tranquilli
925a2cca7e Go: create whole extractor pack with bazel 2024-04-26 12:01:23 +02:00
Paolo Tranquilli
3ad9c026a5 Go: remove go_sdk.host
It's not required, and it can't work from the internal repository.
2024-04-26 11:20:47 +02:00
Paolo Tranquilli
7d9a68bf17 Go: wrap gazelle to regenerate from scratch and add header 2024-04-26 11:19:22 +02:00
Paolo Tranquilli
a841a2b0a2 Merge branch 'main' into redsun82/kotlin 2024-04-26 10:38:28 +02:00
erik-krogh
0468c5d0bf delete some tests of the old GVN library 2024-04-26 07:58:35 +02:00
erik-krogh
e55f2c5309 reinroduce GLobalValueNumbering.qll, that one was supposed to stay 2024-04-26 06:52:57 +02:00
Mario Campos
d7c784ef2f Initial commit of experimental query cpp/guarded-free. 2024-04-25 16:29:37 -05:00
erik-krogh
fb376a1cfd revert the deletion of explorationLimit. It'll be deleted along with the entire class later 2024-04-25 22:31:11 +02:00
erik-krogh
baa31e1469 delete outdated deprecations 2024-04-25 22:19:28 +02:00
Jeroen Ketema
8d962a5c28 Merge pull request #16322 from jketema/child-stmt
C++: Print destructors for children of statements that are again statements
2024-04-25 22:17:35 +02:00
Jeroen Ketema
389df35fb7 Merge branch 'main' into child-stmt 2024-04-25 21:47:06 +02:00
Geoffrey White
aa80dd41da Merge pull request #16329 from geoffw0/multibyte
C++: Fix typo.
2024-04-25 17:26:40 +01:00
Geoffrey White
553871678a C++: Change note. 2024-04-25 16:52:01 +01:00
Geoffrey White
15123a7b40 C++: Reduce duplication. 2024-04-25 16:49:22 +01:00
Geoffrey White
bbd80ec7a4 C++: Add some more test cases. 2024-04-25 16:44:52 +01:00
Florin Coada
1d421b3b28 Merge pull request #16326 from github/changedocs/2.17.1
Update codeql-changelog index.rst to include codeql-cli-2.17.1
2024-04-25 16:08:41 +01:00
Joe Farebrother
2a0459838b Add models for responses 2024-04-25 15:55:59 +01:00
Michael B. Gale
a87b991d78 Merge pull request #16325 from github/mbg/go/use-parse-instead-of-parselax 2024-04-25 15:20:36 +01:00
Geoffrey White
0fb71e24cb C++: Fix typo. 2024-04-25 14:52:56 +01:00
Florin Coada
14d04903dc Update codeql-changelog index.rst to include codeql-cli-2.17.1 2024-04-25 14:40:44 +01:00
Michael Nebel
181a063bb9 C#: Update expected test output. 2024-04-25 15:38:39 +02:00
Michael Nebel
131d0b911f C#: Inline dependency collection from asset files per group. 2024-04-25 15:35:08 +02:00
Michael Nebel
0124b0749f C#: Do not run dotnet restore in parallel for projects in the same folder. 2024-04-25 15:35:07 +02:00
Michael Nebel
6daf80cdd0 C#: Add integration test with multiple project files that have disjoint dependencies. 2024-04-25 15:35:07 +02:00
Tamás Vajk
9c139b591f Merge pull request #16321 from tamasvajk/buildless/log-messages
C#: Improve log messages
2024-04-25 15:12:37 +02:00
Michael B. Gale
b8cfff6d19 Go: Use Parse instead of ParseLax, since we need toolchain directives 2024-04-25 14:10:26 +01:00
Michael B. Gale
f33d7ee80d Go: Add unit tests for hasInvalidToolchainVersion 2024-04-25 14:09:47 +01:00
Michael B. Gale
15a6308c72 Go: Refactor condition for EmitInvalidToolchainVersion into separate function 2024-04-25 14:04:00 +01:00
Joe Farebrother
86d1e5b646 Add additional type tracking for request attributes 2024-04-25 13:58:36 +01:00
Tamas Vajk
dd9183c345 Code quality improvements 2024-04-25 14:38:26 +02:00
Asger F
d0c9e3f7ad JS: Expose InternalModuleNaming 2024-04-25 13:33:17 +02:00
Asger F
9082972842 Merge pull request #16061 from RasmusWL/js-extractor-fix
JS: More robust CommonJS/ES2015 detection logic for extractor
2024-04-25 13:26:56 +02:00
Jeroen Ketema
05819a52ef C++: Print destructors for children of statements that are again statements 2024-04-25 13:25:42 +02:00
Nick Rolfe
116873c9b0 Merge pull request #16314 from github/nickrolfe/rb-sensitive
Ruby: do fewer regexp matches in SensitiveActions
2024-04-25 11:56:41 +01:00
Rasmus Wriedt Larsen
290b0fc4ab Merge pull request #16308 from asgerf/js/model-generation-quote
JS: Fix naming issue in generated models
2024-04-25 11:36:36 +02:00
Paolo Tranquilli
8e1d77bcb2 Bazel: format file 2024-04-25 11:05:57 +02:00
Paolo Tranquilli
1e622e168c Merge branch 'main' into redsun82/kotlin 2024-04-25 11:05:19 +02:00
Paolo Tranquilli
332d118d93 Merge pull request #16315 from github/redsun82/buildifier
Bazel: introduce buildifier formatting
2024-04-25 10:48:18 +02:00
Owen Mansel-Chan
82bbecc9c4 Merge pull request #16307 from owen-mc/go/fix/incomplete-hostname-regex
Go: fix flow through string concatenation in `go/incomplete-hostname-regex`
2024-04-25 09:43:51 +01:00
Tamas Vajk
15c1fd9425 C#: Improve log messages 2024-04-25 10:39:53 +02:00
Ben Ahmady
be9009d653 Use clearer filename 2024-04-25 08:16:48 +00:00
Ben Ahmady
037211c4a4 Add formatting fixes 2024-04-25 08:10:27 +00:00
Rasmus Wriedt Larsen
13ff9412a4 Merge pull request #16252 from RasmusWL/move-dataflow-tests
Python: Move dataflow tests out of experimental
2024-04-25 10:05:06 +02:00
Jeroen Ketema
9d24b5afa6 Merge pull request #16319 from jketema/ir-comment-fix
C++: Fix comment in IR test
2024-04-25 09:59:58 +02:00
Ben Ahmady
8cba276b87 Deprecate the CodeQL for VS Code docs in favour of docs.github.com version 2024-04-25 07:59:33 +00:00
Paolo Tranquilli
4ca8faa9c9 Go: introduce universal binaries on macOS 2024-04-25 09:27:59 +02:00
Paolo Tranquilli
393f6b7666 Go: add gazelle-generated BUILD files 2024-04-25 08:53:26 +02:00
Jeroen Ketema
95ec4e8d26 C++: Fix comment in IR test 2024-04-24 21:47:47 +02:00
Tom Hvitved
17e0cc5648 Merge pull request #16313 from hvitved/dataflow/fix-bad-join3
Data flow: Fix bad join
2024-04-24 17:09:14 +02:00
Paolo Tranquilli
196b6d7a1d CI: simplify reporting 2024-04-24 16:43:38 +02:00
Paolo Tranquilli
9def57250d CI: make reporting better 2024-04-24 16:35:50 +02:00
Paolo Tranquilli
9af9873e04 CI: add names to steps 2024-04-24 16:20:54 +02:00
Paolo Tranquilli
9f5782b67b Bazel: introduce buildifier formatting
This introduces tooling and enforcement for formatting bazel files.

The tooling is provided as a bazel run target from
[keith/buildifier-prebuilt](https://github.com/keith/buildifier-prebuilt).

This is used in a [`pre-commit`](https://pre-commit.com/) hook for those
having that installed. In turn this is used in a CI check. Relying on a
`pre-commit` action gives us easy checking that buildifying did not
change anything in the files and printing the diff, without having to
hand-roll the check ourselves.

This enforcement will make usage of gazelle easier, as gazelle itself
might reformat files, even outside of `go`. Having them properly
formatted will allow gazelle to leave them unchanged, without needing
to configure awkward exclude directives.
2024-04-24 15:49:48 +02:00
Alex Ford
98a6d0fa26 Ruby: add another SQLi AR conditions test case 2024-04-24 14:46:53 +01:00
Alex Ford
6b0e7961fa Ruby: prepare test case whitespace 2024-04-24 14:39:06 +01:00
Owen Mansel-Chan
c61177cf42 Add change note 2024-04-24 14:21:59 +01:00
Owen Mansel-Chan
4140942479 Update tests 2024-04-24 14:19:33 +01:00
Owen Mansel-Chan
fd306ed79b Exclude constant names from sources to avoid duplicate results 2024-04-24 14:19:30 +01:00
Owen Mansel-Chan
8962307291 Add second good go file to tests 2024-04-24 14:19:29 +01:00
Owen Mansel-Chan
0000c72329 Remove attempt at avoiding duplicate alerts 2024-04-24 14:19:26 +01:00
Owen Mansel-Chan
3ef7a0932a Add flow through string concatenation 2024-04-24 14:19:25 +01:00
Tamás Vajk
f29d2c21bd Merge pull request #16312 from tamasvajk/fix/buildless/file-lookup
C#: Fix `global.json` and `packages.config` lookup
2024-04-24 15:05:55 +02:00
Joe Farebrother
53f69d9966 Reduce query tests with cases covered by concept tests 2024-04-24 14:05:42 +01:00
Joe Farebrother
8fb2faa89b Add additional info to concept tests 2024-04-24 14:05:41 +01:00
Joe Farebrother
2b935e575a Add concept tests + fix typo 2024-04-24 14:05:41 +01:00
Joe Farebrother
ec4c820391 Fix deprecation 2024-04-24 14:05:41 +01:00
Joe Farebrother
1dce2eb325 Rename to response splitting 2024-04-24 14:05:40 +01:00
Joe Farebrother
49e5f8a1a5 Add tests for instances of the header write concept 2024-04-24 14:05:40 +01:00
Joe Farebrother
f3b27d611a Add test case for validated wsgiref servers + fix typo 2024-04-24 14:05:40 +01:00
Joe Farebrother
f57ba3e642 Add change note 2024-04-24 14:05:40 +01:00
Joe Farebrother
d4a072818f Add more tests 2024-04-24 14:05:40 +01:00
Joe Farebrother
eeef062f7c Implement sinks for wsgiref + allow lists in bulk header updates + local flow 2024-04-24 14:05:39 +01:00
Joe Farebrother
9d56f3eb68 Fix qldoc formatting 2024-04-24 14:05:39 +01:00
Joe Farebrother
cf8db4e425 Update instances of experimental concept to the main one, and anotate missing experimental test results. 2024-04-24 14:05:39 +01:00
Joe Farebrother
daa31b5bb7 Add documentation 2024-04-24 14:05:38 +01:00
Joe Farebrother
8636a50190 Fix qldoc + remove deprecation from experimental concepts (as they are still used in another experimental query) 2024-04-24 14:05:38 +01:00
Joe Farebrother
fa28d94363 Added a sanitizer for replacing newlines. 2024-04-24 14:05:38 +01:00
Joe Farebrother
dbbc944f32 Correct spelling 2024-04-24 14:05:38 +01:00
Joe Farebrother
a88ad62c00 Implemented sinks for bulk header updates, and added corresponding tests. 2024-04-24 14:05:38 +01:00
Joe Farebrother
3e9341ff8a Model class instantiation for werkzueg headers 2024-04-24 14:05:37 +01:00
Joe Farebrother
b9984beb16 Add test cases 2024-04-24 14:05:37 +01:00
Joe Farebrother
68d90918cf Add to header write concept a specification of whether the name or value arg allows newlines.
Ported sink defenitions from Flask and Werzeug from experimental to main.
Removed experimental sink definitions for Django, as neither name nor value are vulnerable.
2024-04-24 14:05:37 +01:00
Joe Farebrother
25ffcb2fde Split into customizations file 2024-04-24 14:05:37 +01:00
Joe Farebrother
6021d9238c Move headers injection query and concept from experimental to main 2024-04-24 14:05:37 +01:00
Tamás Vajk
3b44b131b9 Merge pull request #16311 from tamasvajk/fix/resx
C#: Do not download `Microsoft.CodeAnalysis.ResxSourceGenerator` when…
2024-04-24 13:49:55 +02:00
Tamas Vajk
4a97f95890 Improve code quality 2024-04-24 13:47:25 +02:00
Paolo Tranquilli
a23327c399 Merge branch 'main' into HEAD 2024-04-24 13:39:44 +02:00
Paolo Tranquilli
4aa0a8ebae Kotlin: make wrapper more robust for windows 2024-04-24 13:39:32 +02:00
Tamás Vajk
84ea3a9a2c Merge pull request #16310 from tamasvajk/buildless/nuget_versions
C#: Add integration test with multiple versions of the same nuget pac…
2024-04-24 13:33:27 +02:00
Nick Rolfe
8f2e51faa6 Ruby: do fewer regexp matches in SensitiveActions 2024-04-24 12:32:49 +01:00
Owen Mansel-Chan
f828f8ea65 Merge pull request #16250 from owen-mc/go/rename-untrusted-flow-source
Go: Rename `UntrustedFlowSource` to `RemoteFlowSource` to match other language libraries
2024-04-24 11:37:00 +01:00
Tom Hvitved
95d579d9de Data flow: Fix bad join
```
Evaluated relational algebra for predicate _DataFlowImpl::Impl<HardcodedDataInterpretedAsCodeQuery::HardcodedDataInterpretedAsCodeFlow::C>::ret__#count_range@d112335l with tuple counts:
            285176  ~2%    {3} r1 = SCAN `_DataFlowDispatch::DataFlowCall.getEnclosingCallable/0#dispred#b7b78b19_DataFlowImpl::Impl<Hardcoded__#shared` OUTPUT In.1, In.0, In.2
        3265592261  ~3%    {5}    | JOIN WITH `DataFlowImpl::Impl<HardcodedDataInterpretedAsCodeQuery::HardcodedDataInterpretedAsCodeFlow::C>::returnCallEdge1/4#d02cae42_2301#join_rhs` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Rhs.2, Lhs.1, Rhs.3
             39070  ~8%    {6}    | JOIN WITH `DataFlowImplCommon::Cached::viableImplInCallContextExt/2#58e931ad` ON FIRST 3 OUTPUT Lhs.0, Lhs.3, Lhs.1, Lhs.2, Lhs.4, _
             39070  ~0%    {6}    | REWRITE WITH Out.5 := 1
                           return r1
```
2024-04-24 12:22:28 +02:00
Tamas Vajk
f3daba510b C#: Fix global.json and packages.config lookup 2024-04-24 11:57:45 +02:00
Tamas Vajk
88e67715a1 C#: Do not download Microsoft.CodeAnalysis.ResxSourceGenerator when there are no resx files to process 2024-04-24 11:53:29 +02:00
Tamas Vajk
53eb753346 C#: Add integration test with multiple versions of the same nuget package 2024-04-24 11:50:43 +02:00
Mathias Vorreiter Pedersen
037114b336 Merge pull request #16309 from geoffw0/newtests
C++: Add test cases
2024-04-24 10:06:51 +01:00
Nick Rolfe
af72c0848e Merge pull request #16306 from github/nickrolfe/js-sensitive
JS: do fewer regexp matches in SensitiveActions
2024-04-24 09:49:44 +01:00
Tamás Vajk
de58ee5a22 Merge pull request #16225 from tamasvajk/buildless/resx
C#: Add resource generator
2024-04-24 10:10:45 +02:00
Tom Hvitved
a1a93c7331 Merge pull request #16304 from hvitved/csharp/fix-bad-join
C#: Fix a bad join
2024-04-24 08:11:25 +02:00
Asger F
db07c162e4 JS: Allow generated models to use (package) 2024-04-23 20:25:55 +02:00
Asger F
9d00f660f1 Update ModelGeneration.expected 2024-04-23 20:08:21 +02:00
Owen Mansel-Chan
0311888fd4 Update change note
Co-authored-by: Michael B. Gale <mbg@github.com>
2024-04-23 19:07:02 +01:00
Asger F
e4f23b31c6 JS: Add quotes around package name to correct parsing 2024-04-23 20:04:23 +02:00
Geoffrey White
57a53891e9 C++: Effect of recent QL changes. 2024-04-23 18:12:05 +01:00
Geoffrey White
b6703bc25c C++: Add test cases inspired by QA results differences. 2024-04-23 18:06:12 +01:00
Nick Rolfe
003d208574 JS: do fewer regexp matches in SensitiveActions 2024-04-23 15:31:38 +01:00
Tom Hvitved
d8d7688f88 C#: Fix another bad join 2024-04-23 15:39:59 +02:00
Paolo Tranquilli
c014cd84f4 Bazel: fix kotlin wrapper version dependency 2024-04-23 15:15:38 +02:00
Paolo Tranquilli
5b143cee96 Kotlin: make wrapper install quietly unless --select is explicit
This allows `kotlinc -version` to always produce something parseable.
2024-04-23 15:15:38 +02:00
Paolo Tranquilli
072e2edd34 Merge branch 'main' into redsun82/kotlin 2024-04-23 14:29:33 +02:00
Anders Schack-Mulligen
830b83f653 Dataflow: Use doublyBoundedFastTC. 2024-04-23 13:07:20 +02:00
Mathias Vorreiter Pedersen
3592e76269 Merge pull request #16302 from MathiasVP/fieldflowbranchlimit-follow-up-1
C++: `fieldFlowBranchLimit` follow-up (1)
2024-04-23 11:35:49 +01:00
Tom Hvitved
6aa4c5c187 C#: Fix a bad join 2024-04-23 11:47:55 +02:00
Michael B. Gale
fb8ee07b43 Merge pull request #16262 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/two-go-mods-not-nested/src/subdir1/golang.org/x/net-0.23.0 2024-04-23 10:44:54 +01:00
Michael B. Gale
4ccff1a630 Merge pull request #16263 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/ninja-sample/src/golang.org/x/net-0.23.0 2024-04-23 10:44:17 +01:00
Michael B. Gale
4b7160d4b2 Merge pull request #16267 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/go-mod-without-version/src/golang.org/x/net-0.23.0 2024-04-23 10:43:43 +01:00
Michael B. Gale
5cce5008a3 Merge pull request #16264 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir2/golang.org/x/net-0.23.0 2024-04-23 10:42:53 +01:00
Michael B. Gale
5b6ce56ca2 Merge pull request #16268 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/single-go-mod-not-in-root/src/subdir/golang.org/x/net-0.23.0 2024-04-23 10:42:24 +01:00
Michael B. Gale
2b81b6c323 Merge pull request #16265 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/mixed-layout/src/module/golang.org/x/net-0.23.0 2024-04-23 10:41:50 +01:00
Mathias Vorreiter Pedersen
a39d8b7c7c C++: Ensure that each node type gets mapped to an instruction by 'getAnInstruction'. 2024-04-23 09:44:30 +01:00
Mathias Vorreiter Pedersen
553c09ada3 Merge pull request #16301 from MathiasVP/proper-coroutine-cfg-support-2
C++: Implement proper coroutine support in IR
2024-04-23 09:19:15 +01:00
Anders Schack-Mulligen
b2f09949df Merge pull request #15599 from aschackmull/dataflow/fieldflowbranchlimit-v2
Dataflow: update fieldFlowBranchLimit semantics
2024-04-23 10:08:05 +02:00
Rasmus Wriedt Larsen
1bc085c8f7 Python: Fixup for callGraphConfig 2024-04-23 09:42:35 +02:00
Rasmus Wriedt Larsen
bb00d6919a Python: Move dataflow TestUtil to importable location 2024-04-23 09:40:59 +02:00
Rasmus Wriedt Larsen
e0e405bb31 Python: replace dataflow-test location in files 2024-04-23 09:40:59 +02:00
Rasmus Wriedt Larsen
ce711f7d2f Python: Move dataflow tests out of experimental 2024-04-23 09:40:44 +02:00
Rasmus Wriedt Larsen
19974f04c9 Merge pull request #16245 from github/tausbn/python-rename-StrConst-to-StringLiteral
Python: Rename `StrConst` to `StringLiteral`
2024-04-23 09:35:24 +02:00
Mathias Vorreiter Pedersen
c1755603a8 Update TranslatedExpr.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-04-23 07:25:25 +01:00
Mathias Vorreiter Pedersen
24cf75a37c C++: Accept test changes. 2024-04-22 21:38:13 +01:00
Mathias Vorreiter Pedersen
8169e7ce68 C++: Add proper translation of 'co_await' and 'co_yield'. 2024-04-22 21:38:13 +01:00
Mathias Vorreiter Pedersen
8383bc1629 C++: Add getters for the other children of 'co_return' and 'co_yield'. 2024-04-22 21:38:13 +01:00
Jeroen Ketema
35d1a9202b Merge pull request #16298 from jketema/reuse-val
C++: Update expected test results after extractor changes
2024-04-22 21:14:42 +02:00
Paolo Tranquilli
aaa29d8982 Remove unneeded slash in kotlinc.bat 2024-04-22 18:13:55 +02:00
Joe Farebrother
f85ee38e04 Add instance taint steps for requests 2024-04-22 16:03:39 +01:00
Paolo Tranquilli
f685843a52 Merge branch 'main' into redsun82/kotlin 2024-04-22 16:47:56 +02:00
Mathias Vorreiter Pedersen
799c380e5f Merge pull request #16255 from MathiasVP/fix-more-fps-in-iterator-to-expired-container
Fix more FPs in `cpp/iterator-to-expired-container`
2024-04-22 14:25:51 +01:00
Tamas Vajk
f20812d8ad Code quality improvement 2024-04-22 15:12:01 +02:00
Tamas Vajk
05f3c64172 Fix code review findings 2024-04-22 14:46:24 +02:00
Joe Farebrother
88e3227ed0 Add pyramid models 2024-04-22 13:27:18 +01:00
Taus
81246cd41a Python: Add missing QLDoc for isUnicode 2024-04-22 12:08:53 +00:00
Taus
bab461ffd1 Python: Add change note 2024-04-22 12:00:09 +00:00
Taus
58eaddf627 Python: Update all .expected files
I'm beginning to realise why I didn't do the `toString` overriding way
back when. Thankfully, now that all of our tests are in the same place,
this is actually not a terrible ordeal.
2024-04-22 12:00:09 +00:00
Taus
d51fcd4f2a Python: Change Str to StringLiteral
As far as I can tell, this was the only occurrence of `Str` as a type
throughout the entire library.
2024-04-22 12:00:09 +00:00
Taus
b484aee39e Python: Autoformat everything
Of course, `StringLiteral` being much longer than `StrConst` meant a
bunch of files changed formatting.
2024-04-22 12:00:09 +00:00
Taus
1c68c987b0 Python: Change all remaining occurrences of StrConst
Done using
```
git grep StrConst | xargs sed -i 's/StrConst/StringLiteral/g'
```
2024-04-22 12:00:09 +00:00
Taus
f6487d7b13 Python: Rename StrConst to StringLiteral
Does a few things:
- Renames `StrConst` to `StringLiteral`, and deprecates the former.
- Also deprecates `Str`.
- Adds an override of `StringLiteral::toString` making it output
`"StringLiteral"` rather than the inherited `"Str"`. This ensures that
the AST viewer shows these nodes as the former type, not the latter.

There are a large number of uses of `StrConst` in the codebase. These
will be fixed in a later commit.
2024-04-22 12:00:09 +00:00
Jeroen Ketema
76637b0d03 C++: Update expected test results 2024-04-22 13:01:10 +02:00
Mathias Vorreiter Pedersen
77a7e007e3 Merge branch 'main' into fix-more-fps-in-iterator-to-expired-container 2024-04-22 10:42:06 +01:00
Jeroen Ketema
bea7b94537 Merge pull request #16296 from jketema/test-fix
C++: Fix aliased IR test
2024-04-22 11:34:13 +02:00
Jeroen Ketema
19d0d7bbc0 C++: Fix aliased IR test 2024-04-22 11:08:01 +02:00
Jeroen Ketema
c5bdd5bbd7 Merge pull request #16289 from jketema/reuse-improve
C++: Improve handling of re-use expressions
2024-04-22 10:34:35 +02:00
Jeroen Ketema
bcde7151e8 C++: Address review comment 2024-04-22 10:23:03 +02:00
Paolo Tranquilli
7952f0e237 Merge branch 'main' into redsun82/kotlin 2024-04-22 08:30:22 +02:00
Jeroen Ketema
2c76b13451 C++: Improve handling of re-used qualifier in delete expressions 2024-04-21 16:16:24 +02:00
Anders Schack-Mulligen
874d9d14bc Merge pull request #16290 from aschackmull/java/oscheck-perf
Java: Fix join-order.
2024-04-19 16:55:56 +02:00
Mathias Vorreiter Pedersen
bcedf687ff Merge pull request #16246 from MathiasVP/parameter-nodes-for-functions-without-bodies
C++: Add Parameter nodes for functions without bodies
2024-04-19 15:54:38 +01:00
Tom Hvitved
57796d6d02 Merge pull request #16249 from hvitved/csharp/no-compilation-clone
C#: Do not call `CSharpCompilation.Clone`
2024-04-19 16:28:23 +02:00
Anders Schack-Mulligen
c45fd4080d Java: Fix join-order.
The TC was being fully materialised but all we need is unary
reachability.
2024-04-19 15:41:35 +02:00
Michael B. Gale
9d83c91deb Merge pull request #16261 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/single-go-work-not-in-root/src/modules/subdir1
2024-04-19 12:04:56 +01:00
Michael B. Gale
3c22bf4a25 Merge pull request #16260 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/make-sample/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/make-sample/src
2024-04-19 12:04:31 +01:00
Michael B. Gale
3c0bb6f4e5 Merge pull request #16259 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/bazel-sample-2/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/bazel-sample-2/src
2024-04-19 12:04:05 +01:00
Michael B. Gale
1648b427c2 Merge pull request #16258 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/bazel-sample-1/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/bazel-sample-1/src
2024-04-19 12:03:38 +01:00
Michael B. Gale
e443c65c75 Merge pull request #16266 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/two-go-mods-one-failure/src/subdir1
2024-04-19 12:02:45 +01:00
Michael B. Gale
220abc4d36 Merge pull request #16270 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/single-go-mod-in-root/src
2024-04-19 12:02:15 +01:00
Michael B. Gale
7d4ce0a79a Merge pull request #16269 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0
2024-04-19 12:01:48 +01:00
Michael B. Gale
ac9b77a3ac Merge pull request #16271 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/single-go-mod-and-go-files-not-under-it/src/subdir
2024-04-19 12:01:12 +01:00
Michael B. Gale
abfbb47390 Merge pull request #16276 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/mixed-layout/src/workspace/subdir
2024-04-19 12:00:37 +01:00
Michael B. Gale
e7e7e4197e Merge pull request #16274 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/go-mod-sample/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/go-mod-sample/src
2024-04-19 12:00:10 +01:00
Michael B. Gale
e9a9f56ea5 Merge pull request #16273 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/two-go-mods-nested-one-in-root/src
2024-04-19 11:59:14 +01:00
Michael B. Gale
03d7f5ec73 Merge pull request #16275 from github/dependabot/go_modules/go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1/golang.org/x/net-0.23.0
Bump golang.org/x/net from 0.0.0-20200505041828-1ed23360d12c to 0.23.0 in /go/ql/integration-tests/all-platforms/go/two-go-mods-nested-none-in-root/src/subdir0/subdir1
2024-04-19 11:57:41 +01:00
Mathias Vorreiter Pedersen
ba99d49b61 Merge pull request #16187 from MathiasVP/cfg-for-coroutines
C++: Placeholder CFG for coroutines
2024-04-19 11:31:55 +01:00
Owen Mansel-Chan
ea2cf27432 Merge pull request #16234 from owen-mc/go/incorrect-integer-conversion-type-switch-fp
Go: Fix FPs in `go/incorrect-integer-conversion` query
2024-04-19 11:26:17 +01:00
dependabot[bot]
bd1731b420 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:03 +00:00
dependabot[bot]
31bea7e0ca Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:03 +00:00
dependabot[bot]
e01e8a0842 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:02 +00:00
dependabot[bot]
6c057ddc81 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:02 +00:00
dependabot[bot]
3c401d3a4f Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:01 +00:00
dependabot[bot]
cf1cddc8ca Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:01 +00:00
dependabot[bot]
2e50d61446 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:01 +00:00
dependabot[bot]
dae187eb0b Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:00 +00:00
dependabot[bot]
7f195d0257 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:00 +00:00
dependabot[bot]
a8162baada Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:00 +00:00
dependabot[bot]
6e50357224 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:46:00 +00:00
dependabot[bot]
ef53184c10 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:59 +00:00
dependabot[bot]
9d38c255f5 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:58 +00:00
dependabot[bot]
4de4525528 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:57 +00:00
dependabot[bot]
b9940f260f Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:57 +00:00
dependabot[bot]
58b0bed7f3 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:56 +00:00
dependabot[bot]
02af978e8d Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:56 +00:00
dependabot[bot]
9609dc4030 Bump golang.org/x/net
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20200505041828-1ed23360d12c to 0.23.0.
- [Commits](https://github.com/golang/net/commits/v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-19 09:45:55 +00:00
Mathias Vorreiter Pedersen
4aee6d506d C++: Accept test changes 2024-04-19 09:17:37 +01:00
Asger F
ac34b922ec Merge pull request #16241 from asgerf/js/re-export
JS: Improve support for `export * as ...` declarations
2024-04-19 10:03:17 +02:00
Tom Hvitved
18acad516b Merge pull request #16251 from hvitved/dataflow/fix-bad-join2
Data flow: Fix a bad join
2024-04-19 09:49:41 +02:00
Mathias Vorreiter Pedersen
cedc84df8f C++: Fix FPs by only having one dataflow config. This means we preserve the call context all the way though from the source to the sink. 2024-04-19 08:27:41 +01:00
Mathias Vorreiter Pedersen
2b9c96d7cc C++: Add testcase. 2024-04-19 08:26:50 +01:00
Anders Schack-Mulligen
595014966a Dataflow: Add change note. 2024-04-19 08:46:04 +02:00
Tom Hvitved
339c40c2b7 Data flow: Fix bad join 2024-04-18 21:30:32 +02:00
Mathias Vorreiter Pedersen
a108fcd2b4 Merge pull request #16242 from MathiasVP/fix-tostring-on-nodes
C++: Fix `toString` on non-`ExprNode`s
2024-04-18 15:47:06 +01:00
Owen Mansel-Chan
79b4890794 Also rename .expected files 2024-04-18 14:17:04 +01:00
Mathias Vorreiter Pedersen
bcda4a1377 C++: Add change note. 2024-04-18 13:02:56 +01:00
Owen Mansel-Chan
dc985c2c98 Add change note 2024-04-18 12:55:59 +01:00
Mathias Vorreiter Pedersen
45b1a5e29b Merge branch 'main' into fix-tostring-on-nodes 2024-04-18 12:48:25 +01:00
Mathias Vorreiter Pedersen
58832a546a C++: Accept test changes. 2024-04-18 12:33:27 +01:00
Mathias Vorreiter Pedersen
9f8c9615fc C++: Use the unconverted expression available for a non-'ExprNode' when one exists. 2024-04-18 12:33:20 +01:00
Owen Mansel-Chan
b6f6bdc6f4 Make RemoteFlowAsSource private
`UntrustedFlowAsSource` should have been private. Since we are deprecating them anyway
we may as well make the replacement private (and make it use `instanceof`). The deprecation
comments have been updated.
2024-04-18 12:31:38 +01:00
Mathias Vorreiter Pedersen
b43aae18e0 C++: Accept test changes. 2024-04-18 12:01:01 +01:00
Mathias Vorreiter Pedersen
06f52c2854 C++: Make the new nodes parameter nodes. 2024-04-18 12:01:00 +01:00
Mathias Vorreiter Pedersen
98a3f2da7d C++: Add new dataflow nodes for parameters without any Instructions associated with them. 2024-04-18 12:01:00 +01:00
Mathias Vorreiter Pedersen
111ad8b525 C++: Refactor parameter nodes into an abstract class that's easier to extend. 2024-04-18 12:01:00 +01:00
Owen Mansel-Chan
a49b43fdf6 Add deprecated version of renamed public classes 2024-04-18 11:49:54 +01:00
Owen Mansel-Chan
317c335269 Rename test query files 2024-04-18 11:49:42 +01:00
Owen Mansel-Chan
db06c08141 Rename UntrustedSource to RemoteSource
Including renaming some files (in the experimental folder).
2024-04-18 11:49:30 +01:00
Owen Mansel-Chan
f39301f533 Fix "an remote" and similar
Preserve case, allow for "a `Remote" etc.
2024-04-18 11:49:18 +01:00
Owen Mansel-Chan
a6646021d0 Rename Untrusted Flow to Remote Flow
Not matching case but preserving original case.
2024-04-18 11:49:05 +01:00
Owen Mansel-Chan
d967b2baa3 Rename UntrustedFlowAsSource to RemoteFlowAsSource 2024-04-18 11:48:04 +01:00
Asger F
decd576a6b Merge pull request #15386 from asgerf/js/graph-export
JS: Add library for exporting graphs as type models
2024-04-18 11:56:17 +02:00
Mathias Vorreiter Pedersen
622f69e1a1 Merge pull request #16238 from MathiasVP/fix-terator-to-expired-container-fp 2024-04-18 10:24:13 +01:00
Asger F
3c885f3969 JS: Fix bug in MkClassInstance use-nodes
This only worked when the RHS was a SourceNode, which is not generally the case
2024-04-18 10:06:11 +02:00
Tom Hvitved
3c83262d58 C#: Do no call CSharpCompilation.Clone 2024-04-18 09:45:26 +02:00
Tamás Vajk
77d0df4fb6 Merge pull request #16247 from tamasvajk/feature/adjust-known-types
C#: Adjust known type telemetry query
2024-04-18 09:26:09 +02:00
Tamas Vajk
c11adc8c28 C#: Adjust known type telemetry query 2024-04-18 08:49:48 +02:00
Mathias Vorreiter Pedersen
43df0cd5f4 C++: Add a failing test. 2024-04-17 21:47:32 +01:00
Mathias Vorreiter Pedersen
a1267d732e Merge pull request #16139 from MathiasVP/enable-sound-ir
C++: Enable sound IR
2024-04-17 21:46:51 +01:00
Owen Mansel-Chan
a4df20da85 Rename UntrustedFlowSource to RemoteFlowSource
Relaxed match case requirement. Again skipped one instance in an old
change note.
2024-04-17 21:40:46 +01:00
Owen Mansel-Chan
81eaa6e327 Rename UntrustedFlowSource to RemoteFlowSource
Relaxed whole word requirement. Again skipped one instance in an old
change note.
2024-04-17 21:35:50 +01:00
Owen Mansel-Chan
5fba9895c6 Rename UntrustedFlowSource to RemoteFlowSource
Only the whole word. Skipped one instance in an old change note.
2024-04-17 21:27:32 +01:00
Asger F
64321b314f Merge branch 'main' into js-extractor-fix 2024-04-17 20:55:54 +02:00
Asger F
da33c220a6 JS: Update test output 2024-04-17 20:11:11 +02:00
Owen Mansel-Chan
212a0f27ff Add change note 2024-04-17 16:32:53 +01:00
Owen Mansel-Chan
2f56ec7fe0 Fix QLDoc 2024-04-17 16:32:49 +01:00
Owen Mansel-Chan
80c3993ddc Remove redundant test
It was introduced in https://github.com/github/codeql-go/pull/718 in
response to https://github.com/github/codeql-go/issues/717, to check
that we don't have type assertions as sinks. We now have other tests
covering type assertions.
2024-04-17 16:32:41 +01:00
Owen Mansel-Chan
3ad2d90014 Make type switches tranform flow state 2024-04-17 16:32:36 +01:00
Owen Mansel-Chan
611f98bca4 Make type assertions transform the flow state 2024-04-17 16:32:30 +01:00
Owen Mansel-Chan
544660322f Refactor flow state transforming barriers 2024-04-17 16:32:25 +01:00
Owen Mansel-Chan
f08a598821 Add tests for FPs: type switches, type assertions 2024-04-17 16:32:13 +01:00
Michael Nebel
4d3d07a964 Merge pull request #16215 from michaelnebel/csharp/telemetryissupported
C#: Take more sources and sinks into account when reporting in the te…
2024-04-17 15:29:46 +02:00
Tamas Vajk
7b5f2c7d94 Fix expected test result on Windows 2024-04-17 15:12:51 +02:00
Paolo Tranquilli
3678e51f0b Merge branch 'main' into redsun82/kotlin 2024-04-17 15:09:27 +02:00
Tamás Vajk
dc4cc74cbb Merge pull request #16240 from tamasvajk/fix/cleanup
C#: Fix cleanup logic in dependency manager
2024-04-17 14:53:40 +02:00
Asger F
eab96988bf JS: Add test for use steps 2024-04-17 14:46:00 +02:00
Asger F
2dcb5fbd16 Ensure props are included in MkMemberLabel 2024-04-17 14:46:00 +02:00
Asger F
3eb4e39251 JS: Also do this for use-steps and exclude pseudo-properties 2024-04-17 14:45:58 +02:00
Tamas Vajk
6f782f3f62 C#: Fix cleanup logic in dependency manager 2024-04-17 14:17:47 +02:00
Asger F
55b9724f59 JS: Add store step into namespace re-export specifier 2024-04-17 14:14:12 +02:00
Asger F
0a7af90454 JS: Add test with ESModule re-exports 2024-04-17 14:14:12 +02:00
Tamas Vajk
41e666c724 Parse and use RootNamespace from project files 2024-04-17 14:01:52 +02:00
Henry Mercer
902f0f91b0 Merge pull request #16218 from github/henrymercer/remove-ml-powered-queries
JS: Remove ML-powered queries
2024-04-17 12:54:05 +01:00
Tamas Vajk
88f6e04339 Make Resx extraction opt-in 2024-04-17 13:49:05 +02:00
Tamas Vajk
b560ab1a73 Fix condition for running dotnet source generators 2024-04-17 13:44:03 +02:00
Tamas Vajk
3626c814ac Run dotnet source generators on files grouped by projects 2024-04-17 13:40:03 +02:00
Asger F
5e7026c6c6 JS: Use AccessPath as parameter type 2024-04-17 13:31:51 +02:00
Alexander Eyers-Taylor
da3fa22cbd Merge pull request #16228 from github/post-release-prep/codeql-cli-2.17.1
Post-release preparation for codeql-cli-2.17.1
2024-04-17 11:24:34 +01:00
Tamas Vajk
bef556e208 Improve log messages 2024-04-17 11:46:27 +02:00
Tamas Vajk
5a5fc79b3b Fix regex to recognize prerelease version string 2024-04-17 11:46:27 +02:00
Tamas Vajk
9926c817de Code quality improvements 2024-04-17 11:46:26 +02:00
Tamas Vajk
53902c824d Fix integration tests 2024-04-17 11:46:26 +02:00
Tamas Vajk
3c5675b3fb WIP: Hardcode namespace for Resx generation 2024-04-17 11:46:26 +02:00
Mathias Vorreiter Pedersen
592ca06159 C++: Accept test changes. 2024-04-17 10:10:54 +01:00
Mathias Vorreiter Pedersen
96ba3ec88e C++: Rename predicate. 2024-04-17 10:10:54 +01:00
Mathias Vorreiter Pedersen
eb2790ae63 C++: Fix 'case 2' in 'destroyedToBeginSink' now that we're working with the sink instead of the source. 2024-04-17 10:10:39 +01:00
Mathias Vorreiter Pedersen
d22e2bae8e C++: Select the post-update node in 'getADestroyedNode'. 2024-04-17 10:10:39 +01:00
Mathias Vorreiter Pedersen
b2974ba1c6 C++: Factor body of isSink into its own predicate. 2024-04-17 10:10:21 +01:00
Tamas Vajk
3154a11b43 List members in resx test 2024-04-17 10:47:44 +02:00
Mathias Vorreiter Pedersen
b201fd0bdd Merge pull request #16232 from MathiasVP/add-iterator-to-expired-container-fp
C++: Add `cpp/iterator-to-expired-container` FP test
2024-04-17 09:44:32 +01:00
Tamas Vajk
1ff4c0daf3 Restore and use Microsoft.CodeAnalysis.ResxSourceGenerator 2024-04-17 10:41:47 +02:00
Michael Nebel
bc0e580683 C#: Address review comments. 2024-04-17 09:34:27 +02:00
Asger F
f78ea26c3b Merge pull request #16161 from RasmusWL/js/strict-mode
JS: Parser: Never run in strict mode
2024-04-17 09:21:29 +02:00
Asger F
93a9c62e29 Merge branch 'main' into js/graph-export 2024-04-17 09:19:59 +02:00
Michael Nebel
7434a58afc Merge pull request #16236 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-04-17 09:09:48 +02:00
Asger F
ed80e4e284 JS: Change note 2024-04-17 08:41:27 +02:00
Asger F
c4eeda1560 JS: Bump EXTRACTOR_VERSION 2024-04-17 08:34:26 +02:00
github-actions[bot]
7faf3a8b8e Add changed framework coverage reports 2024-04-17 00:16:33 +00:00
Taus
dd97e70ffc Merge pull request #16233 from github/tausbn/python-fix-flags-test 2024-04-17 00:35:11 +02:00
Mathias Vorreiter Pedersen
1847a6deb0 Merge pull request #16203 from MathiasVP/break-bigstep-at-store
C++: Break dataflow big-step on right-hand side of assignments
2024-04-16 23:04:17 +01:00
Mathias Vorreiter Pedersen
fdddec74d3 Merge branch 'main' into break-bigstep-at-store 2024-04-16 21:08:33 +01:00
Chad Bentz
f77f91ef49 move security-severity to end of column list in csv
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-04-16 16:02:15 -04:00
Taus
bf8307f78d Python: Fix flags test
In 25cb52aa52 I accidentally introduced an extra `not` where none existed before. Whoops!
2024-04-16 21:17:34 +02:00
Asger F
3335d48154 Sync files 2024-04-16 20:26:41 +02:00
Asger F
c0db40d11a Merge branch 'js/graph-export' of github.com:asgerf/codeql into js/graph-export 2024-04-16 20:25:11 +02:00
Asger F
be64daf265 Merge branch 'main' into js/graph-export 2024-04-16 20:23:33 +02:00
Asger F
ee5cb6f3d8 Update shared/mad/codeql/mad/dynamic/GraphExport.qll 2024-04-16 20:10:51 +02:00
Asger F
844b29b637 Update shared/mad/codeql/mad/dynamic/GraphExport.qll
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-04-16 20:09:26 +02:00
Sid Shankar
5c50ed036c Merge pull request #16231 from github/tausbn/python-temporarily-remove-crlf-test
Python: Remove test with CRLF line endings
2024-04-16 13:54:06 -04:00
Mathias Vorreiter Pedersen
62299dc95a C++: Add FP test. 2024-04-16 18:19:33 +01:00
Taus
48e367cb11 Python: Remove test with CRLF line endings
These were causing `git` to behave strangely, leaving files that were
impossible to reset. In the future we should probably generate these
problematic test files on the fly, so that they don't have to exist in
the repo, but in the short run, it's easier to just remove them so as to
not block other users of the repo.
2024-04-16 17:18:20 +00:00
Mathias Vorreiter Pedersen
8f82db07d3 Merge pull request #16230 from MathiasVP/fix-join-in-global-use-before-init
C++: Use interpolation to avoid a bad join order
2024-04-16 18:17:11 +01:00
Paolo Tranquilli
c5f6c65ff1 Merge branch 'main' into redsun82/kotlin 2024-04-16 18:23:33 +02:00
Mathias Vorreiter Pedersen
ba9267df5b Merge branch 'main' into break-bigstep-at-store 2024-04-16 17:15:58 +01:00
Cornelius Riemenschneider
4cb0695646 Merge pull request #16229 from github/criemen/rules-pkg
Upgrade rules_pkg to 0.10.1.
2024-04-16 18:03:00 +02:00
Mathias Vorreiter Pedersen
c3cf425079 C++: Use interpolation to avoid a bad join order. 2024-04-16 16:24:08 +01:00
Mathias Vorreiter Pedersen
dd656d34be Merge branch 'main' into break-bigstep-at-store 2024-04-16 15:33:21 +01:00
Taus
c647f30576 Merge pull request #16212 from github/tausbn/python-add-copy-of-internal-tests
Python: Add copy of internal tests
2024-04-16 16:32:31 +02:00
Mathias Vorreiter Pedersen
7155af50be C++: Accept more test changes. 2024-04-16 15:32:24 +01:00
Cornelius Riemenschneider
6ba27dc863 Upgrade rules_pkg to 0.10.1. 2024-04-16 16:29:56 +02:00
github-actions[bot]
622e176a16 Post-release preparation for codeql-cli-2.17.1 2024-04-16 14:21:32 +00:00
Paolo Tranquilli
a7411700ef Merge branch 'main' into redsun82/kotlin 2024-04-16 16:13:31 +02:00
Michael Nebel
4a4f9b3942 C#: Update expected test output. 2024-04-16 16:05:16 +02:00
Michael Nebel
e7bfd7df62 C#: Take more sources and sinks into account when reporting in the telemetry queries. 2024-04-16 16:05:16 +02:00
Michael Nebel
543032a3de C#: Add ParallelSink QL Doc. 2024-04-16 16:05:16 +02:00
Michael Nebel
f69737b407 C#: Move parallelsink to the library qlpack. 2024-04-16 16:05:16 +02:00
Michael Nebel
c720fb2c34 C#: Add HtmlString test, which is supported as it is a known sink defined in QL. 2024-04-16 16:05:16 +02:00
Michael Nebel
4886bb1116 Merge pull request #16227 from michaelnebel/csharp/fixmadid
C#: Update MaD id in expected file.
2024-04-16 16:04:47 +02:00
Mathias Vorreiter Pedersen
8888ee9fa8 Merge pull request #16149 from codeqlhelper/main
C++: Improvements to reduce false alarms
2024-04-16 15:03:31 +01:00
Chris Smowton
69d8fa6e4a Merge pull request #16188 from smowton/smowton/admin/maven-buildless-missing-host-tolerance-test
Java: add test for a Maven project with an unreachable repository
2024-04-16 14:53:22 +01:00
Michael Nebel
ae0e25e5b1 C#: Update MaD id in expected file. 2024-04-16 15:37:46 +02:00
Mathias Vorreiter Pedersen
2627a3dcb7 Merge pull request #15371 from geoffw0/mad
C++: Implement models-as-data
2024-04-16 14:33:12 +01:00
Mathias Vorreiter Pedersen
e1884c193b C++: Add tests (and fix a missing quote in the alert message). 2024-04-16 14:20:19 +01:00
Mathias Vorreiter Pedersen
6cb5db2387 C++: Improve change note comments. 2024-04-16 13:55:55 +01:00
Mathias Vorreiter Pedersen
439afd97ba C++: Small performance optimization. 2024-04-16 13:54:58 +01:00
Mathias Vorreiter Pedersen
132bb9f1d6 C++: Address (my own) review comments. 2024-04-16 13:53:27 +01:00
Michael Nebel
58635bdbd6 Merge pull request #16121 from michaelnebel/csharp/modelgenexcludeset
C#: Exclude properties with both a getter and setter as candidates for modelling.
2024-04-16 14:49:07 +02:00
Tamas Vajk
79fe5f851b C#: Add resource generator 2024-04-16 14:30:53 +02:00
Tom Hvitved
e99c78e027 Merge pull request #16226 from hvitved/csharp/exclude-delegate-dynamic-calls-extraction-info
C#: Exclude delegate and dynamic calls from extractor telemetry
2024-04-16 14:23:38 +02:00
Tom Hvitved
75b1e14098 Merge pull request #16205 from samgiz/samgiz-tiny-docs-fix
Tiny docs fix
2024-04-16 13:57:38 +02:00
Paolo Tranquilli
306f0f172d Kotlin: accept --select default in kotlinc wrapper to select the default version 2024-04-16 13:55:20 +02:00
Paolo Tranquilli
27ab4875fd Kotlin: simplify kotlinc wrapper 2024-04-16 13:37:06 +02:00
Alexander Eyers-Taylor
0daa6c2c1d Merge pull request #16219 from github/release-prep/2.17.1
Release preparation for version 2.17.1
2024-04-16 12:02:14 +01:00
Tom Hvitved
6bf05eb29a C#: Exclude delegate and dynamic calls from extractor telemetry 2024-04-16 12:53:39 +02:00
Paolo Tranquilli
aee3c0d249 Add license and notice information to patched registry 2024-04-16 12:33:00 +02:00
Mathias Vorreiter Pedersen
fb9fc14f3d C++: Accept test changes in paths. 2024-04-16 11:09:22 +01:00
Mathias Vorreiter Pedersen
8630630c45 C++: Use 'asDefinition' instead of checking for a 'Store' instruction. 2024-04-16 11:00:57 +01:00
Paolo Tranquilli
735b3410aa Merge branch 'main' into redsun82/kotlin 2024-04-16 11:49:21 +02:00
Mathias Vorreiter Pedersen
54957d6ea4 Merge branch 'main' into enable-sound-ir 2024-04-16 10:46:59 +01:00
Joe Farebrother
f57e0cb71e Merge pull request #16209 from joefarebrother/csharp-missing-precision
C#: Add missing query precision
2024-04-16 10:46:27 +01:00
Rasmus Wriedt Larsen
ec862ebc72 Merge pull request #16196 from michaelnebel/misc/expected-changes-usageinfo
Print usage information for accept-expected-changes script in case PR…
2024-04-16 11:38:24 +02:00
Tamás Vajk
9671e05148 Merge pull request #16213 from tamasvajk/buildless/source-generators
C#: Move source code generators to dedicated classes
2024-04-16 11:08:28 +02:00
Joe Farebrother
3567c30020 Set precision to high 2024-04-16 09:41:46 +01:00
Tamas Vajk
407837afc4 C#: Refactor dotnet source generator execution 2024-04-16 10:20:23 +02:00
Tom Hvitved
ff55ed84f4 Merge pull request #16181 from hvitved/dynamic/deprecate-csv-models
Dynamic languages: Deprecate models-as-data CSV interface
2024-04-16 10:06:30 +02:00
Tamas Vajk
13a71a4f6d C#: Move source code generators to dedicated classes 2024-04-16 09:28:50 +02:00
Michael Nebel
3105697c7f Merge pull request #16200 from michaelnebel/csharp/dependencylogging
C#: Logging
2024-04-16 08:24:36 +02:00
Geoffrey White
fc7fef3dd8 Swift: Add dataflow tests for dictionaries. 2024-04-15 18:50:41 +01:00
github-actions[bot]
9bfe4ea90a Release preparation for version 2.17.1 2024-04-15 17:34:47 +00:00
Geoffrey White
0c88d05a65 Swift: QLDoc BuiltinLiteralExpr subclasses and add BuiltinLiteral.getValueString. 2024-04-15 18:23:32 +01:00
Henry Mercer
8747438613 JS: Remove ML-powered queries 2024-04-15 17:35:32 +01:00
Alexander Eyers-Taylor
feeaef14be Merge pull request #16217 from github/alexet/fix-change-note
Go: Fix broken changenote metadata
2024-04-15 17:32:20 +01:00
Michael B. Gale
d9bd547f06 Merge pull request #16216 from github/mbg/go/respect-gotoolchain
Go: Respect `GOTOOLCHAIN` in `GetEnvGoVersion` if already set
2024-04-15 17:04:27 +01:00
Alexander Eyers-Taylor
43572fe9ae Go: Fix broken changenote metadata 2024-04-15 16:55:23 +01:00
Michael B. Gale
c0d2b89de0 Go: Respect GOTOOLCHAIN in GetEnvGoVersion if already set 2024-04-15 16:28:24 +01:00
Taus
82057e2e46 Python: Autoformat tests
I guess these were never considered back when we switched to
autoformatting everything.
2024-04-15 15:27:21 +00:00
Michael B. Gale
ce73c29962 Merge pull request #16214 from github/mbg/go/use-shared-integration-test-code
Go: Use shared integration test code
2024-04-15 16:25:28 +01:00
Taus
25cb52aa52 Python: Fix inefficient string comparison 2024-04-15 15:23:07 +00:00
Michael B. Gale
7a0aad87a4 Go: Use shared library for integration tests 2024-04-15 14:46:53 +01:00
Michael B. Gale
4673fff65b Go: Add db and runFunction to go_integration_test 2024-04-15 14:46:53 +01:00
Michael B. Gale
caaccb7709 Go: Run go clean -modcache in finally for integration tests
This ensures that the temporary GOPATH is cleaned up correctly in case of an integration test failure as well
2024-04-15 14:46:53 +01:00
Paolo Tranquilli
8c705adbe9 Kotlin/Bazel: fix java release to 8 for java code 2024-04-15 15:38:06 +02:00
Paolo Tranquilli
bd631c5e00 Merge branch 'main' into redsun82/kotlin 2024-04-15 15:37:33 +02:00
Anders Schack-Mulligen
3c69f8f607 Java: Count second level scopes for fieldFlowBranchLimit. 2024-04-15 15:17:43 +02:00
Anders Schack-Mulligen
2f0987e980 Dataflow: Add dummy DataFlowSecondLevelScope implementations.
These could be an empty type, but Unit was available and it probably
doesn't matter.
2024-04-15 15:16:30 +02:00
Anders Schack-Mulligen
db6d27bd2b C++: Count return dispatch based on 2nd level scopes. 2024-04-15 15:13:08 +02:00
Anders Schack-Mulligen
9e39be5aea C++: Update qltest. 2024-04-15 15:13:05 +02:00
Anders Schack-Mulligen
b87b8329a0 Dataflow: Use default fieldFlowBranchLimit in qltests. 2024-04-15 15:13:03 +02:00
Anders Schack-Mulligen
f945687a93 Dataflow: Simplify branch and join. 2024-04-15 15:13:01 +02:00
Anders Schack-Mulligen
82afbbc17b Dataflow: Adjust fieldFlowBranchLimit count (block less) and adjust return edge condition (block more) 2024-04-15 15:12:58 +02:00
Anders Schack-Mulligen
a99849d897 Merge pull request #16211 from aschackmull/dataflow/alert-provenance-update-change-note
Dataflow: Amend change note for alert provenance.
2024-04-15 15:00:49 +02:00
Anders Schack-Mulligen
1389c7220b Dataflow: Amend change note. 2024-04-15 14:35:39 +02:00
Taus
8ec414d454 Python: Add copy of internal Python 3 tests
Again, mostly extractor tests, and a single library test.
2024-04-15 12:30:01 +00:00
Taus
b22b4c5b85 Python: Add copy of internal Python 2 tests
These are mostly extractor tests, which now live in `2/extractor-tests`,
and a single library tests that was added to the existing directory.
2024-04-15 12:26:45 +00:00
Taus
e45f6e9b24 Python: Add copy of extractor tests
These get to live next to the existing library and query tests, and are
run as part of both the Python 2 and Python 3 language tests.
2024-04-15 12:22:07 +00:00
Paolo Tranquilli
5bb2cba66c Merge branch 'main' into redsun82/kotlin 2024-04-15 14:08:13 +02:00
Paolo Tranquilli
6a83bf9de5 Merge pull request #16208 from github/redsun82/kotlin-wrapper
Kotlin/Bazel: provide wrapper for managing versions of `kotlinc`
2024-04-15 13:33:10 +02:00
Paolo Tranquilli
1b5675eb21 Kotlin/Bazel: tweak wrapper 2024-04-15 13:31:29 +02:00
Paolo Tranquilli
e53ef4acd2 Kotlin/Bazel: fix wrapper on Windows 2024-04-15 13:13:31 +02:00
Michael Nebel
d5073df24c Merge pull request #16186 from michaelnebel/csharp/suppressnullablefix
C#: Fix issue with suppress nullable warning directly on a method call.
2024-04-15 13:11:03 +02:00
Michael Nebel
8915241166 C#: Reduce nuget and razor logging. 2024-04-15 13:01:12 +02:00
Michael Nebel
336a18a1d9 C#: Make Started log as Debug. 2024-04-15 13:01:12 +02:00
Michael Nebel
ddfed6ea65 C#: Changing logging of dotnet commands to Debug except for dotnet --info and friends. 2024-04-15 13:01:12 +02:00
Michael Nebel
72ffcf5f9c C#: Replace some LogInfo with LogDebug. 2024-04-15 13:01:12 +02:00
Michael Nebel
f7e5fe7040 C#: Inline some calls. 2024-04-15 13:01:03 +02:00
Paolo Tranquilli
b07fa70133 Kotlin/Bazel: provide wrapper for managing versions of kotlinc
By adding `java/kotlinc-extractor/deps/dev` to `PATH`, one gets a
`kotlinc` wrapper that takes care of downloading and extracting the
desired version of `kotlinc` on demand. The desired version can be
selected with `kotlinc --select x.y.z`, or left to the current default
of `1.9.0`.

Moreover, this default version is integrated with the Bazel build, so
that when using this wrapper, changes in the selected version will be
picked up to define the default single version kotlin extractor build,
without needing to do anything else (like `bazel fetch --force` or
similar).

Selected and installed version data is stored in `.gitignore`d files
in the same directory, and can be cleared with `kotlinc --clear`.
2024-04-15 10:48:57 +02:00
Tamás Vajk
611cf231a7 Merge pull request #16195 from tamasvajk/depManager/refactoring
C#: Split `DependencyManager` into multiple classes
2024-04-15 10:25:08 +02:00
Geoffrey White
1c66e26e92 C++: Autoformat. 2024-04-15 09:06:49 +01:00
Joe Farebrother
6e130d24cd C#: Add missing query precision 2024-04-15 08:42:26 +01:00
Tamas Vajk
69c43094ba Fix review findings 2024-04-15 09:32:18 +02:00
Paolo Tranquilli
9d1901c049 Merge branch 'main' into redsun82/kotlin 2024-04-15 08:27:34 +02:00
Paolo Tranquilli
bdc8a7f59d Revert "Use fetchexclude=* in .lfsconfig rather than fetchinclude"
This reverts commit a834101d7e.

Using `fetchinclude` allows for easier local customization of what to
fetch, because fetchexlude has precedence over fetchinclude.
2024-04-15 08:26:19 +02:00
Zigmas Bitinas
5125468307 Tiny docs fix
Noticed the mistake when browsing the docs [here](https://codeql.github.com/codeql-standard-libraries/ruby/codeql/ruby/security/CodeInjectionCustomizations.qll/module.CodeInjectionCustomizations$CodeInjection$FlowState.html)
2024-04-13 21:18:36 +01:00
Mathias Vorreiter Pedersen
f3a5ce5efc C++: Accept more test changes. 2024-04-13 11:03:15 +01:00
Mathias Vorreiter Pedersen
6f08790065 C++: Accept test changes. 2024-04-13 01:00:48 +01:00
Mathias Vorreiter Pedersen
2cbc59b7a1 C++: Always show the right-hand side of assignment in paths. 2024-04-13 01:00:38 +01:00
Geoffrey White
9302b167d8 C++: Fix further merge conflicts. 2024-04-12 19:38:38 +01:00
Mathias Vorreiter Pedersen
0bed22178c Merge pull request #16201 from MathiasVP/add-consistency
C++: Add new AST consistency check
2024-04-12 17:46:48 +01:00
Geoffrey White
e13b3ed5e7 C++ and Swift: Fix merge conflicts. 2024-04-12 17:30:46 +01:00
Mathias Vorreiter Pedersen
aac1070aca C++: Consistent naming. 2024-04-12 17:00:46 +01:00
Mathias Vorreiter Pedersen
413d3abbd7 C++: Add new AST consistency check. 2024-04-12 16:57:19 +01:00
Mathias Vorreiter Pedersen
116664588b Merge pull request #16125 from MathiasVP/destructors-for-unconditional-unnamed
C++: Generate IR for destruction of unconditionally constructed temporaries
2024-04-12 16:26:03 +01:00
Alex Ford
91bca4a2c3 Ruby: limit ActiveRecord conditions sink to first array element 2024-04-12 15:32:16 +01:00
Alex Ford
2950890180 Ruby: add more ActiveRecord conditions arg test cases 2024-04-12 15:31:28 +01:00
Alex Ford
f98479dca3 Ruby: prepare test case whitespace 2024-04-12 15:30:42 +01:00
Paolo Tranquilli
b36cabb396 Anchor .gitattributes entries at root where it makes sense 2024-04-12 16:04:15 +02:00
Paolo Tranquilli
92a5f3da75 Merge branch 'main' into redsun82/kotlin 2024-04-12 16:02:39 +02:00
Paolo Tranquilli
3614d3d52b Merge pull request #16199 from github/redsun82/add-shared-triggers-to-swift-ci
Swift: add `shared/**` to CI triggers
2024-04-12 16:00:18 +02:00
Paolo Tranquilli
de4ffbb552 Swift: add shared/** to CI triggers
Not being triggered by changes in shared was making it possible to not
notice changes in `shared` having effect on Swift tests. For example
[this PR](https://github.com/github/codeql/pull/15501) introduced a
test change that was fixed [here](https://github.com/github/codeql/pull/16197).
2024-04-12 15:46:01 +02:00
Paolo Tranquilli
67946614e3 Merge pull request #16197 from github/redsun82/accept-swift-tests
Swift: accept new test results
2024-04-12 15:34:00 +02:00
Geoffrey White
e29ce5f5d5 Merge branch 'main' into mad 2024-04-12 14:30:44 +01:00
Geoffrey White
1df1f0dbc2 C++: Use 'concat' in the variable.ql test. 2024-04-12 14:22:21 +01:00
Geoffrey White
0235e9962e C++: Accept test changes (related to getAQlClass). 2024-04-12 14:19:37 +01:00
Chad Bentz
78ddb998a2 Merge branch 'main' into patch-1 2024-04-12 09:09:43 -04:00
Tamas Vajk
e3fe9f7ca5 Move Nuget restore logic from DependencyManager to dedicated class 2024-04-12 15:04:45 +02:00
Asger F
3949ae4123 Update shared/mad/codeql/mad/dynamic/GraphExport.qll
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-04-12 15:00:24 +02:00
Asger F
330229c463 Update javascript/ql/lib/semmle/javascript/frameworks/data/ModelsAsData.qll
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-04-12 15:00:17 +02:00
Paolo Tranquilli
70e72aadd5 Swift: accept new test results 2024-04-12 14:57:59 +02:00
Paolo Tranquilli
a78124b2d5 Bazel/Kotlin: use a wrapper to get the current kotlin version 2024-04-12 14:47:21 +02:00
Michael Nebel
52be6579b7 Print usage information for accept-expected-changes script in case PR auto detection fails. 2024-04-12 14:31:25 +02:00
Michael Nebel
1c8298ae08 C#: Update expected test output. 2024-04-12 14:24:30 +02:00
Paolo Tranquilli
5c2d9fe9a1 Merge branch 'main' into redsun82/kotlin 2024-04-12 14:01:04 +02:00
Paolo Tranquilli
24c7ad5d28 Bazel/Kotlin: use plain kotlinc instead of result of repository_ctx.which 2024-04-12 14:00:46 +02:00
Tamas Vajk
5406fac834 C#: Move all file lookup to separate class 2024-04-12 13:58:49 +02:00
Michael Nebel
d88a813038 C#: Re-generate .NET models. 2024-04-12 13:49:26 +02:00
Michael Nebel
254c6c3344 C#: Address review comments. 2024-04-12 13:48:13 +02:00
Tom Hvitved
e7dc120456 Add deprecation comments 2024-04-12 13:40:15 +02:00
Tom Hvitved
ceb5b4c56e Python: No longer use models-as-data CSV interface 2024-04-12 13:40:15 +02:00
Tom Hvitved
9d8b93ed45 JS: No longer use models-as-data CSV interface 2024-04-12 13:40:15 +02:00
Tom Hvitved
fdb77457b3 Sync files 2024-04-12 13:40:14 +02:00
Tom Hvitved
04de315e0e Ruby: Deprecate models-as-data CSV interface 2024-04-12 13:40:14 +02:00
Michael Nebel
dc34cb0aae C#: Update all MaD ids in the tests. 2024-04-12 13:24:18 +02:00
Tamás Vajk
91f2ea572c Merge pull request #16164 from tamasvajk/buildless/nuget-feed-fallback-feed-check
C#: Check fallback nuget feeds before trying to use them in the fallb…
2024-04-12 13:17:06 +02:00
Chris Smowton
bdd6fba06a Java: add test for a Maven project with an unreachable repository 2024-04-12 12:03:38 +01:00
Paolo Tranquilli
0ad8ed3822 Kotlin/Bazel: use kotlinc.bat instead of kotlinc.exe on Windows 2024-04-12 12:15:26 +02:00
Paolo Tranquilli
65df2bb16d Bazel/Kotlin: add .exe to kotlinc on windows 2024-04-12 11:56:33 +02:00
Paolo Tranquilli
b8010f27e7 Merge branch 'main' into redsun82/kotlin 2024-04-12 11:56:16 +02:00
Asger F
15eabb42ef JS: Address review comments 2024-04-12 11:35:34 +02:00
Michael Nebel
f799962146 C#: Update expected test output. 2024-04-12 11:35:08 +02:00
Michael Nebel
cb3a59446c C#: Remove redundant neutral summaries for ProcessStartInfo. 2024-04-12 11:31:59 +02:00
Michael Nebel
e70a49a771 C#: Add some manual models for ProcessStartInfo. 2024-04-12 11:31:59 +02:00
Michael Nebel
db48461ebc C#: Add change note. 2024-04-12 11:31:59 +02:00
Michael Nebel
ac2769c142 C#: Update the Telemetry queries such that properties with both get and set are no longer interesting. 2024-04-12 11:31:59 +02:00
Michael Nebel
829557fdda C#: Update expected test output. 2024-04-12 11:31:59 +02:00
Michael Nebel
c12c2a534c C#: Update the model editor code to disregard properties in case both a getter and a setter is present. 2024-04-12 11:31:58 +02:00
Michael Nebel
5323af33d2 C#: Update flow summaries expected test output. 2024-04-12 11:31:58 +02:00
Michael Nebel
96ef6809a7 C#: Update .NET Runtime models. 2024-04-12 11:31:58 +02:00
Michael Nebel
312b96aa8b C#: Update expected test output. 2024-04-12 11:31:57 +02:00
Michael Nebel
8cc4f86e7d C#: Only attempt to generate models for properties that does not both have a get and a set accessor. 2024-04-12 11:31:57 +02:00
Michael Nebel
32595b92a2 C#: Add some property test cases. 2024-04-12 11:31:57 +02:00
Michael Nebel
cbb5d433b1 C#: Add change note. 2024-04-12 11:23:16 +02:00
Michael Nebel
a2bb3dd78b C#: Update expected test output. 2024-04-12 11:23:03 +02:00
Paolo Tranquilli
9114131128 Bazel: add settings required by internal repo 2024-04-12 11:19:43 +02:00
Paolo Tranquilli
2d16192bab CI: fix typo in kotlin-build.yml 2024-04-12 11:19:43 +02:00
Joe Farebrother
5cebcadc56 Merge pull request #15987 from joefarebrother/ruby-mass-reassignment
Ruby: Add query for insecure mass assignment
2024-04-12 10:18:41 +01:00
Michael Nebel
19b7574c9c C#: Fix issue with suppress nullable warning directly on a method call. 2024-04-12 11:16:37 +02:00
Michael Nebel
1e59def89d C#: Add some suppress nullable warning testcases and update expected output. 2024-04-12 11:16:37 +02:00
Anders Schack-Mulligen
854dfb35c1 Merge pull request #15501 from aschackmull/dataflow/alert-provenance
Dataflow: Support alert provenance
2024-04-12 11:14:20 +02:00
Paolo Tranquilli
9c3a615794 CI: add non-blocking kotlin extractor build check
This is to check that the build from `codeql` works. The "official"
build will still be checked from the internal repo with QLucie, once
we integrate the bazel build there.
2024-04-12 10:59:17 +02:00
Paolo Tranquilli
bc89742979 Kotlin: fix space indentation in OdasaOutput.java 2024-04-12 10:50:02 +02:00
Paolo Tranquilli
c64d02d6df Undo .gitattributes formatting, move LFS entry 2024-04-12 10:44:18 +02:00
Paolo Tranquilli
a834101d7e Use fetchexclude=* in .lfsconfig rather than fetchinclude 2024-04-12 10:41:46 +02:00
Paolo Tranquilli
4822de3313 Kotlin/Bazel: add fail printouts to _default_version 2024-04-12 10:19:10 +02:00
Anders Schack-Mulligen
b4e23d9487 Dataflow: Address review comments 2024-04-12 09:20:45 +02:00
Anders Schack-Mulligen
31a86574bb Dataflow: Add change note. 2024-04-12 09:20:42 +02:00
Anders Schack-Mulligen
b7ee5597a0 Swift: Update expected output (interesting). 2024-04-12 09:20:40 +02:00
Anders Schack-Mulligen
2c43d0c5a4 Ruby: Update expected output (interesting). 2024-04-12 09:20:38 +02:00
Anders Schack-Mulligen
7cc8fd00aa Ruby: Update expected output (uninteresting). 2024-04-12 09:20:35 +02:00
Anders Schack-Mulligen
cbcdf1f8b5 Python: Update expected output (interesting). 2024-04-12 09:20:33 +02:00
Anders Schack-Mulligen
bfcfedab8c Python: Update expected output (uninteresting). 2024-04-12 09:20:30 +02:00
Anders Schack-Mulligen
f85ff9defc Java: Update expected output (interesting). 2024-04-12 09:20:28 +02:00
Anders Schack-Mulligen
c2f5731e8d Java: Update expected output (uninteresting). 2024-04-12 09:20:26 +02:00
Anders Schack-Mulligen
20e91f9cac Go: Update expected output (uninteresting). 2024-04-12 09:20:23 +02:00
Anders Schack-Mulligen
c3946a92ff C#: Update expected output (interesting) 2024-04-12 09:20:21 +02:00
Anders Schack-Mulligen
647f9aba82 C#: Update some expected output (uninteresting). 2024-04-12 09:20:18 +02:00
Anders Schack-Mulligen
c355737d30 C++: Update expected output. 2024-04-12 09:20:16 +02:00
Anders Schack-Mulligen
fdfb4a1a18 JS: Adapt to shared ApiGraphModels.qll changes. 2024-04-12 09:20:13 +02:00
Anders Schack-Mulligen
44147b9520 JS: Sync. 2024-04-12 09:20:11 +02:00
Anders Schack-Mulligen
a8fc100108 Python: Add alert provenance plumbing. 2024-04-12 09:20:08 +02:00
Anders Schack-Mulligen
f202661912 C++: Add alert provenance plumbing. 2024-04-12 09:20:06 +02:00
Anders Schack-Mulligen
6991f5452f Ruby: Add alert provenance plumbing. 2024-04-12 09:20:04 +02:00
Anders Schack-Mulligen
82e6fbbd22 Swift: Add alert provenance plumbing. 2024-04-12 09:20:01 +02:00
Anders Schack-Mulligen
ba6039946b Go: Add alert provenance plumbing. 2024-04-12 09:19:59 +02:00
Anders Schack-Mulligen
004bda1ee0 C#: Add alert provenance plumbing. 2024-04-12 09:19:56 +02:00
Anders Schack-Mulligen
eafc0075fd Legacy dataflow: Sync. 2024-04-12 09:19:54 +02:00
Anders Schack-Mulligen
2925e45434 Java/Dataflow: Propagate MaD-id/model-id to PathGraph. 2024-04-12 09:19:51 +02:00
Paolo Tranquilli
b8c063ed2a Merge branch 'main' into redsun82/kotlin 2024-04-12 08:19:14 +02:00
Paolo Tranquilli
fc62ed5af0 Kotlin/Bazel: port custom_plugin test to use bazel 2024-04-12 08:18:53 +02:00
Joe Farebrother
06d7b3ce80 Use cfg nodes 2024-04-11 22:30:41 +01:00
Sid Shankar
1015ee9872 Merge pull request #16189 from github/sidshank/check-python-executable-name-option-on-win
Python: Modifies check for py launcher
2024-04-11 16:16:23 -04:00
Aditya Sharad
790ee4a906 Merge pull request #16163 from github/mbg/docs/macos14
Docs: Add macOS 14 to list of supported operating systems
2024-04-11 11:26:39 -07:00
Sid Shankar
e33c5706f8 Modifies check for py launcher
This commit modifies the check for the "py" launcher on windows. We now look for the launcher only if the python_executable_name extractor option is not specified.
2024-04-11 12:59:41 -04:00
Geoffrey White
13100b19bc C++: Fix unintentionally changing the type of AdditionalCallTarget.viableTarget. 2024-04-11 17:07:20 +01:00
Geoffrey White
66f88d9c71 C++: Restrict the AST cases in TReturnKind. 2024-04-11 16:52:15 +01:00
Paolo Tranquilli
3d1465439a Bazel/Kotlin: tentatively fix version detection on Windows 2024-04-11 17:39:09 +02:00
Paolo Tranquilli
59fdbdbb20 Kotlin/Bazel: move defaults to separate bazel package
This makes calling specific targets in `java/kotlin-extractor` not
depend on `@kotlin_extractor_defaults`, avoiding its overhead.
2024-04-11 17:31:37 +02:00
Paolo Tranquilli
7f495b1851 Bazel/kotlin: make version detection more robust 2024-04-11 17:17:57 +02:00
Paolo Tranquilli
c18b556f3d Kotlin/Bazel: remove 2.0.255-SNAPSHOT version 2024-04-11 16:50:09 +02:00
Mathias Vorreiter Pedersen
477322d21d C++: Accept test changes. 2024-04-11 15:44:44 +01:00
Mathias Vorreiter Pedersen
846eac8be9 C++: Add a placeholder for 'getOpcode'. 2024-04-11 15:44:33 +01:00
Paolo Tranquilli
3b75d63c18 Merge branch 'main' into redsun82/kotlin 2024-04-11 16:40:57 +02:00
Paolo Tranquilli
54156650d7 Bazel/Kotlin: make _embeddable_source more robust 2024-04-11 16:40:37 +02:00
Paolo Tranquilli
f0fc8110a0 Bazel/Kotlin: add 2.0.0-RC1, remove 2.0.0-Beta4 2024-04-11 16:39:23 +02:00
Mathias Vorreiter Pedersen
8842b974f0 C++: Accept test changes. 2024-04-11 15:34:34 +01:00
Mathias Vorreiter Pedersen
65b69fe353 C++: Mark 'CoYieldExpr' as a unary expression in IR construction. 2024-04-11 15:34:29 +01:00
Paolo Tranquilli
02257eead0 Bazel: use triple slash in --registry
`file://%workspace%` works on POSIX systems, but not on Windows.
`file:///` works on both.
2024-04-11 16:28:49 +02:00
Mathias Vorreiter Pedersen
2a914770ea C++: Accept test changes. 2024-04-11 15:27:45 +01:00
Mathias Vorreiter Pedersen
d030f0b5d2 C++: Add a placeholder for 'getOpcode'. 2024-04-11 15:27:38 +01:00
Mathias Vorreiter Pedersen
33364a8ab6 C++: Accept test changes. 2024-04-11 14:28:44 +01:00
Mathias Vorreiter Pedersen
d8bd18f369 C++: IR translation of 'co_return' statements. 2024-04-11 14:28:15 +01:00
Michael B. Gale
f7262b7e6d Merge pull request #16184 from github/mbg/go/integration-tests-lib
Go: Add integration test library
2024-04-11 14:26:03 +01:00
Paolo Tranquilli
fe35902222 Merge branch 'main' into redsun82/kotlin 2024-04-11 15:07:39 +02:00
Ian Lynagh
3c1286385d Merge pull request #16177 from igfoo/igfoo/kt2.0.0-rc1
Kotlin: Add 2.0.0-RC1 support (and remove 2.0.0-Beta4)
2024-04-11 14:01:58 +01:00
Tamas Vajk
c004f92365 Apply code review findings 2024-04-11 14:47:20 +02:00
Tamas Vajk
da91cea153 Add unit tests for dotnet nuget list source calls 2024-04-11 14:45:43 +02:00
Tamas Vajk
743e77d0d4 Improve logging, expose inherited feeds in integration test 2024-04-11 14:45:43 +02:00
Tamas Vajk
8d0856f97e Fix failing test 2024-04-11 14:45:36 +02:00
Tamas Vajk
0f7fc90fe0 C#: Check fallback nuget feeds before trying to use them in the fallback restore process 2024-04-11 14:43:32 +02:00
Mathias Vorreiter Pedersen
3e1359b92e C++: Accept test changes. 2024-04-11 13:31:48 +01:00
Mathias Vorreiter Pedersen
4c4d2415e9 C++: Mark 'CoAwaitExpr' as a unary expression in IR construction. 2024-04-11 13:30:33 +01:00
Mathias Vorreiter Pedersen
161f586510 Merge pull request #16097 from MathiasVP/add-coroutine-tests
C++: Add coroutine tests
2024-04-11 13:11:26 +01:00
Mathias Vorreiter Pedersen
aa94ee5b96 C++: Accept test changes. 2024-04-11 12:27:33 +01:00
Michael B. Gale
9c26cdd0bb Go: Add integration test library 2024-04-11 12:27:31 +01:00
Erik Krogh Kristensen
c00e2075a4 Merge pull request #16111 from erik-krogh/rb-url
RB: Improve QHelp for `rb/url-redirect`, and fix an FP.
2024-04-11 13:03:35 +02:00
Mathias Vorreiter Pedersen
3a18da730e Merge branch 'main' into add-coroutine-tests 2024-04-11 11:59:07 +01:00
Ian Lynagh
58f825fcb8 Kotlin: Drop our 2.0.255-SNAPSHOT version
It's now older than 2.0.0-RC1
2024-04-11 11:58:59 +01:00
Ian Lynagh
9c573dbee3 Kotlin: Update expected result for kotlin-version-too-new test 2024-04-11 11:58:59 +01:00
Ian Lynagh
7ce7685b91 Kotlin: FirMetadataSource.File.files has been removed
In new versions, but not old versions, we want FirMetadataSource.File.fir
instead.
2024-04-11 11:58:59 +01:00
Ian Lynagh
1698ccff9a Kotlin: Add 2.0.0-RC1 support (and remove 2.0.0-Beta4) 2024-04-11 11:58:59 +01:00
Tom Hvitved
982765ced3 Merge pull request #16176 from hvitved/csharp/adjust-conditional-locations
C#: Adjust conditional access locations
2024-04-11 12:47:51 +02:00
Owen Mansel-Chan
d4bb4d4faa Merge pull request #16120 from owen-mc/go/fix/type-switch-control-flow
Go: Fix data flow through variable defined in type switch guard
2024-04-11 11:39:40 +01:00
Owen Mansel-Chan
1e8315d797 Merge pull request #16180 from owen-mc/go/tweak-go-tainted-path-additions
Go: Tweak go tainted path additions
2024-04-11 11:17:30 +01:00
Mathias Vorreiter Pedersen
736d59c42d Merge branch 'main' into destructors-for-unconditional-unnamed 2024-04-11 09:53:31 +01:00
Mathias Vorreiter Pedersen
34a0c02f70 Merge branch 'main' into enable-sound-ir 2024-04-11 09:48:45 +01:00
Joe Farebrother
ec973ac1f3 Use not exists 2024-04-11 09:38:41 +01:00
Tony Torralba
e6fdc75450 Merge pull request #16129 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-04-11 10:21:13 +02:00
Owen Mansel-Chan
a7c5e849f4 Expand ReplaceAll in sanitizer 2024-04-11 07:35:56 +01:00
Owen Mansel-Chan
c3fefa8f69 Add extra sanitizer Part.FileName() 2024-04-11 07:35:45 +01:00
Owen Mansel-Chan
21189af294 Improve QLDoc and refactor QL 2024-04-11 07:34:58 +01:00
github-actions[bot]
c4c81b77cf Add changed framework coverage reports 2024-04-11 00:16:51 +00:00
Mathias Vorreiter Pedersen
5c4e02a1da Merge branch 'main' into enable-sound-ir 2024-04-10 23:56:16 +01:00
Mathias Vorreiter Pedersen
0e610ba535 Merge pull request #16179 from MathiasVP/delete-noisy-test 2024-04-10 23:53:50 +01:00
Joe Farebrother
0a3d73d902 Add flow steps and sanitizers for permit calls 2024-04-10 21:47:07 +01:00
Erik Krogh Kristensen
844e78dce5 remove redundant cast
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com>
2024-04-10 20:02:49 +02:00
Mathias Vorreiter Pedersen
313501aa29 C++: Delete a noisy test that's not very helpful. 2024-04-10 18:54:50 +01:00
Mathias Vorreiter Pedersen
21bc8c4324 C++: Accept test changes. 2024-04-10 18:32:15 +01:00
Geoffrey White
19b14e166d C++: Reduce code duplication. 2024-04-10 17:44:55 +01:00
Mathias Vorreiter Pedersen
3d96206783 Merge branch 'main' into enable-sound-ir 2024-04-10 17:39:13 +01:00
Mathias Vorreiter Pedersen
7172e2f445 Merge branch 'main' into destructors-for-unconditional-unnamed 2024-04-10 17:34:08 +01:00
Geoffrey White
959300f963 C++: Fixes for internals that are now private. 2024-04-10 17:32:10 +01:00
Geoffrey White
41ce4ffe4b C++: Fix some QLDoc holes. 2024-04-10 17:21:48 +01:00
Geoffrey White
eca112c3bc C++: More autoformatting. 2024-04-10 17:21:05 +01:00
Geoffrey White
250cb30c05 Swift: Autoformat. 2024-04-10 17:21:02 +01:00
Geoffrey White
dd96095a30 Apply suggestions from code review
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2024-04-10 17:20:35 +01:00
Paolo Tranquilli
85968e343a Merge pull request #16178 from github/redsun82/swift-deps-extension-all
Bazel: `swift/third_party/load.bzl` cleanup and `bazel mod tidy` enablement
2024-04-10 17:59:51 +02:00
Mathias Vorreiter Pedersen
33f6b6a940 Merge pull request #16175 from MathiasVP/more-iterator-models
C++: Add alias and side-effect models for more iterator functions
2024-04-10 16:55:10 +01:00
Jeroen Ketema
b9b2aa3580 Merge pull request #16138 from jketema/coroutine3
C++: Update expected test results
2024-04-10 17:48:48 +02:00
Rasmus Wriedt Larsen
d5160927f5 Merge branch 'main' into js/strict-mode 2024-04-10 17:33:01 +02:00
Rasmus Wriedt Larsen
c4e674b8d2 Merge pull request #16173 from RasmusWL/remove-lib-stubs
Python: Remove deprecated stubs for points-to tests
2024-04-10 17:12:16 +02:00
Erik Krogh Kristensen
d33e8adae4 Merge pull request #16174 from erik-krogh/no-arr-ruby-shell
RB: don't mention arrays in the qhelp for rb/shell-command-constructed-from-input
2024-04-10 17:08:24 +02:00
Paolo Tranquilli
24ef424d04 Merge branch 'main' into redsun82/kotlin 2024-04-10 16:57:30 +02:00
Owen Mansel-Chan
1c0ef90e96 Merge pull request #15865 from owen-mc/go/extractor/no-intermediate-string-values
Go: extractor: do not store intermediate values in long string concatenations
2024-04-10 15:31:51 +01:00
Michael Nebel
b79d738f64 Merge pull request #15993 from michaelnebel/csharp/assemblycachefiltering
C#: Exclude Semmle.* dlls when using the executing runtime.
2024-04-10 16:22:22 +02:00
Tom Hvitved
1c344d6735 C#: Adjust conditional access locations 2024-04-10 16:21:58 +02:00
Geoffrey White
925ee825ff C++: Add change notes. 2024-04-10 15:18:43 +01:00
Owen Mansel-Chan
dc3ea6c418 Merge pull request #11703 from Kwstubbs/go-taintedpath-additions
Go: Add and Modify Sanitizers For TaintedPath
2024-04-10 15:13:13 +01:00
Paolo Tranquilli
05f5879a2c Bazel: swift/third_party/load.bzl cleanup and bazel mod tidy enablement 2024-04-10 16:11:20 +02:00
Mathias Vorreiter Pedersen
0ed0731024 C++: Reduce comment duplication. 2024-04-10 15:04:29 +01:00
Geoffrey White
36db493723 C++: Autoformat. 2024-04-10 15:02:19 +01:00
Geoffrey White
cbab24ba45 C++: Sort Models.qll. 2024-04-10 14:59:13 +01:00
Geoffrey White
e0f866f19d Merge branch 'main' into mad 2024-04-10 14:58:52 +01:00
Mathias Vorreiter Pedersen
9c9ed13ede C++: More comments. 2024-04-10 14:57:40 +01:00
Mathias Vorreiter Pedersen
1ae22d0781 C++: Improve comment based on PR feedback. 2024-04-10 14:55:29 +01:00
Owen Mansel-Chan
5ec3934ac8 Merge branch 'main' into go/extractor/no-intermediate-string-values 2024-04-10 14:51:22 +01:00
Paolo Tranquilli
5df1abcd26 Bazel/Kotlin: use "all" for extension metadata direct dependencies 2024-04-10 15:41:27 +02:00
Paolo Tranquilli
1a7f25af35 Merge pull request #16167 from github/redsun82/kotlin-patched-registry
Bazel: move patching of `rules_kotlin` to a registry override
2024-04-10 15:30:40 +02:00
Paolo Tranquilli
35a2ed87b6 Bazel/Kotlin: patch jdep emission 2024-04-10 15:29:44 +02:00
Tom Hvitved
7c43ca7001 C#: Add more conditional access tests 2024-04-10 15:25:00 +02:00
Mathias Vorreiter Pedersen
a7c98e3d94 C++: Accept test changes. 2024-04-10 14:19:06 +01:00
Mathias Vorreiter Pedersen
d98ed2d3cf C++: Add alias and side effect models for more iterator functions. 2024-04-10 14:19:06 +01:00
Michael Nebel
ef68e33449 C#: Address review comments. 2024-04-10 14:48:02 +02:00
erik-krogh
4ae25c2d34 don't mention arrays in the qhelp for rb/shell-command-constructed-from-input, because there are no array 2024-04-10 14:26:00 +02:00
Owen Mansel-Chan
0e67aa5baa Merge pull request #16172 from owen-mc/go/perf/synth-location
Go: Avoid magic in `TSynthLocation` definition
2024-04-10 13:02:18 +01:00
Owen Mansel-Chan
f45305ec3f Merge pull request #16170 from owen-mc/go/add-comments-in-extractor
Go: Add comments in extractor with link to online documentation
2024-04-10 12:50:18 +01:00
Paolo Tranquilli
a15681a181 Bazel: ease update of local registry 2024-04-10 13:22:18 +02:00
Paolo Tranquilli
5bdd724221 Bazel: move patching of rules_kotlin to a registry override 2024-04-10 13:22:18 +02:00
Michael Nebel
ff498f616a C#: Some renaming. 2024-04-10 13:20:57 +02:00
Rasmus Wriedt Larsen
9615e2ded9 Python: Remove deprecated stubs for points-to tests
I grep'ed through all our options files, and couldn't find any tests
that relies on these anymore 👍
2024-04-10 13:12:36 +02:00
Rasmus Wriedt Larsen
78ca691912 Python: remove deprecated points-to test for zope 2024-04-10 13:12:17 +02:00
Rasmus Wriedt Larsen
3db560158a Merge pull request #16169 from RasmusWL/mad-remoteflowsource
Python: Fix `RemoteFlowSourceFromCsv`
2024-04-10 13:06:42 +02:00
Mathias Vorreiter Pedersen
59936c8642 Merge pull request #16151 from MathiasVP/use-shared-typeflow-lib
C++: Use the shared typeflow library
2024-04-10 12:02:03 +01:00
Michael Nebel
3b42dc25a1 C#: Also use AssemblyLookupLocation for framework dlls. 2024-04-10 12:56:48 +02:00
Owen Mansel-Chan
a18a4fb62e Avoid magic in TSynthLocation definition
This improves performance, because in this case magic is not beneficial.
2024-04-10 11:47:13 +01:00
Michael Nebel
99f0ed26e9 C#: Make the assembly lookup case insensitive on the dll file extension and log if no dlls are found in a directory. 2024-04-10 12:45:28 +02:00
Michael Nebel
9eb13833fa C#: Code quality improvements. 2024-04-10 12:45:18 +02:00
Michael Nebel
2bea927d43 C#: Update expected test output. 2024-04-10 12:41:39 +02:00
Michael Nebel
d04bf6b6d6 C#: Don't include Semmle.* dlls, if the executing runtime is used as framework. 2024-04-10 12:41:39 +02:00
Michael Nebel
646b272b4e C#: Move the AssemblyPath class to its own file. 2024-04-10 12:41:39 +02:00
Michael Nebel
6299d9cecd C#: Introduce AssemblyPath and re-factor AssemblyCache to use this instead of strings. 2024-04-10 12:41:29 +02:00
Michael Nebel
bee54e4247 C#: Add desktop runtime dependencies integration test. 2024-04-10 12:35:52 +02:00
Owen Mansel-Chan
b4829addf7 Add comments with link to online doc 2024-04-10 10:48:23 +01:00
Rasmus Wriedt Larsen
4fed3cf12d Python: Fix RemoteFlowSourceFromCsv 2024-04-10 11:31:34 +02:00
Paolo Tranquilli
c9565b3657 Bazel/Kotlin: fix version comparison logic, add default version printing 2024-04-10 11:29:58 +02:00
Joe Farebrother
976ca48317 Review suggestions - rename sink class and add barrier out 2024-04-10 10:17:19 +01:00
Paolo Tranquilli
aca8d047ca Bazel: fix .bazelrc 2024-04-10 10:24:15 +02:00
Paolo Tranquilli
3bdab70451 Bazel: rename exported.bazelrc to .bazelrc.exported
This makes the `.bazelrc` files be near each other in the directory
listing.
2024-04-10 10:18:10 +02:00
Dave Bartolomeo
996f535f0b Merge pull request #16103 from github/dbartol/javadoc-record
Allow `@param` tags to apply to record parameters
2024-04-09 14:21:45 -04:00
Geoffrey White
138975e4a8 C++: Add ZMQ summary models. 2024-04-09 18:10:15 +01:00
Geoffrey White
783ce48538 C++: Add test cases for ZMQ summary models. 2024-04-09 18:08:56 +01:00
Mathias Vorreiter Pedersen
8a92a4250f C++: Autoformat. 2024-04-09 17:53:33 +01:00
Dave Bartolomeo
b9cfeaf614 Add test case 2024-04-09 12:41:32 -04:00
Taus
3656376cc4 Merge pull request #16064 from github/max-schaefer/fix-unexploitable-types
Automodel: Filter unexploitable types in application mode.
2024-04-09 17:14:53 +02:00
Mathias Vorreiter Pedersen
a53ef495ee C++: Simplify 'hasExactBufferType' and add comments. 2024-04-09 16:04:20 +01:00
Felicity Chapman
5253c96aa2 Merge pull request #16162 from github/felicitymay/threat-models-csharp
Make duplicated content clear
2024-04-09 15:47:44 +01:00
Paolo Tranquilli
e7c680e963 Kotlin: reuse generated dbscheme in embeddable, and tweak comments 2024-04-09 16:33:17 +02:00
Mathias Vorreiter Pedersen
291cc0a671 C++: Anonymous namespaces provide internal linkage. 2024-04-09 15:25:13 +01:00
Owen Mansel-Chan
5e4a5c1571 Merge pull request #16160 from owen-mc/java/delete-jdk-internal-models
Java: Delete models for JDK internal packages
2024-04-09 15:01:16 +01:00
Mathias Vorreiter Pedersen
2a7420ce11 Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TypeFlow.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-04-09 15:00:23 +01:00
Geoffrey White
1264e6e292 C++: Fit the function pointer tests better with what is and isn't working. 2024-04-09 14:57:15 +01:00
Paolo Tranquilli
662fd5c04a Add explanatory comment to .lfsconfig 2024-04-09 15:48:23 +02:00
Paolo Tranquilli
9c73a9a1db Bazel: move shared bazelrc settings to a exported.bazelrc file
This will be `importe`d by the `semmle-code` `.bazelrc` file.
2024-04-09 15:48:23 +02:00
Max Schaefer
deb78b248b Apply suggestions from code review
Co-authored-by: Taus <tausbn@github.com>
2024-04-09 14:38:17 +01:00
Tom Hvitved
6c9a0e4a9a Merge pull request #16154 from hvitved/ruby/redundant-implicit-read
Ruby: Remove two redundant `allowImplicitRead` predicates
2024-04-09 15:38:05 +02:00
Jeroen Ketema
46c44b4dc0 C++: Update QLDoc of IRDeclarationEntry to reflect current reality 2024-04-09 15:15:41 +02:00
Jeroen Ketema
e821a62b44 C++: Update expected test results 2024-04-09 15:15:41 +02:00
Rasmus Wriedt Larsen
6f1a9d4574 Merge pull request #16159 from RasmusWL/fix-integration-tests
Python: Fixup integration tests after no dep inst
2024-04-09 15:08:20 +02:00
Michael B. Gale
0c3c20ece1 Docs: Add macOS 14 to list of supported operating systems 2024-04-09 14:06:24 +01:00
Felicity Chapman
e6d63b980d Make duplicated content clear 2024-04-09 14:05:42 +01:00
Mathias Vorreiter Pedersen
e9cd2dc9e1 C++: Implement 'lambdaCreation' and 'lambdaCall' for models-as-data. 2024-04-09 14:05:32 +01:00
Rasmus Wriedt Larsen
16e2ac898f JS: Parser: Remove direct this.strict assignment 2024-04-09 14:58:14 +02:00
Geoffrey White
4d5f158652 C++: Pivot ReturnKind solution to derive types from SSA + AST, rather than SSA + MAD. 2024-04-09 13:49:21 +01:00
Rasmus Wriedt Larsen
6ce38be3cc Merge pull request #16112 from github/tausbn/python-various-extractor-fixups
Python: Various extractor fixups
2024-04-09 14:46:23 +02:00
Paolo Tranquilli
4b205ff96d Apply suggestions from code review
Co-authored-by: Cornelius Riemenschneider <cornelius@github.com>
2024-04-09 14:44:44 +02:00
Asger F
f5355cfa98 Dynamic: Sync ApiGraphModels.qll 2024-04-09 14:37:20 +02:00
Rasmus Wriedt Larsen
1985dd629d JS: Parser: Never run in strict mode
This initial change is a bit of a hacky way to achieve our goals (since
it doesn't rewrite all the uses of this.strict), but it is easy to
understand is correct. Let's accept test changes NOW, and ensure that
later changes don't change things further.
2024-04-09 14:37:07 +02:00
Asger F
82101434fd Dynamic: Add hasPrettyName() 2024-04-09 14:32:59 +02:00
Asger F
8cb80d6014 JS: Switch from hasLocationInfo to Location 2024-04-09 14:32:59 +02:00
Asger F
81b96a8041 JS: Ensure MkClassInstance exists for base classes 2024-04-09 14:32:58 +02:00
Asger F
29a61458e0 JS: Add test case showing problem with chains going through internal classes 2024-04-09 14:32:58 +02:00
Asger F
56ebe6c727 JS: More re-export logic to handle subclass export 2024-04-09 14:32:58 +02:00
Asger F
f2ea88aa4c JS: Add test showing missing re-export of base class relationship 2024-04-09 14:32:58 +02:00
Asger F
9313564e64 JS: Add subclassing test and fix lack of subclassing handling 2024-04-09 14:32:58 +02:00
Asger F
ef7767b6cd JS: Add partial test for subclassing 2024-04-09 14:32:58 +02:00
Asger F
3022c59654 JS: Add access path alias test 2024-04-09 14:32:58 +02:00
Asger F
ab3c03d2d6 JS: Add test where root export object is a function 2024-04-09 14:32:58 +02:00
Asger F
f4e05cc621 JS: Add tests with semi-internal class problem 2024-04-09 14:32:58 +02:00
Asger F
946f0b4dc4 JS: Add test for class with aliases 2024-04-09 14:32:58 +02:00
Asger F
348c95ebe1 JS: Add a test case with fluent flow 2024-04-09 14:32:58 +02:00
Asger F
c55e03c588 Dynamic/JS: Add support for re-exporting type models 2024-04-09 14:32:58 +02:00
Asger F
acef9b7111 Dynamic/JS: Add library for exporting models 2024-04-09 14:32:58 +02:00
Michael Nebel
bd1de179b3 Merge pull request #15887 from michaelnebel/csharp/qualifiedname
C#: Fully qualified name.
2024-04-09 14:26:36 +02:00
Owen Mansel-Chan
ae8240a695 Delete models for JDK internal packages 2024-04-09 13:23:03 +01:00
Rasmus Wriedt Larsen
e9e7ccddce Python: delete force-enable-library-extraction integration test 2024-04-09 14:02:34 +02:00
Rasmus Wriedt Larsen
a0d6324f68 Python: Fix ignore-venv integration test
Now that we no longer support the fallback option
(https://github.com/github/codeql/pull/16127)
2024-04-09 14:01:10 +02:00
Rasmus Wriedt Larsen
bb4952f557 Revert "Python: Disable failing integration tests"
This reverts commit 8c2455fc11.
2024-04-09 14:00:25 +02:00
Paolo Tranquilli
11729aaf6e Kotlin: add licensing links about kotlin dependencies 2024-04-09 13:55:30 +02:00
Owen Mansel-Chan
322d9fe105 Update change note wording
Co-authored-by: Chris Smowton <smowton@github.com>
2024-04-09 12:46:26 +01:00
Paolo Tranquilli
4a4bd16eab Java/Kotlin: prepare for internal bazel packaging 2024-04-09 13:27:27 +02:00
Paolo Tranquilli
7b2dc325ec Merge pull request #16153 from github/redsun82/setup-swift-fix
CI: apply `setup-swift` workaround
2024-04-09 13:15:39 +02:00
Taus
29b843f772 Merge pull request #16158 from github/tausbn/python-disable-failing-integration-tests
Python: Disable failing integration tests
2024-04-09 13:12:48 +02:00
Geoffrey White
13734d4e62 C++: Improve indirectionForModelledFunction. 2024-04-09 12:06:03 +01:00
Geoffrey White
70bb29581d C++: Test failures. 2024-04-09 11:53:33 +01:00
Taus
8c2455fc11 Python: Disable failing integration tests
These failures were likely caused by
https://github.com/github/codeql/pull/16127

My guess is that they can probably be deleted altogether, but as the
failures are blocking other development, I have opted to simply disable
them for the time being.
2024-04-09 10:49:30 +00:00
Tamás Vajk
239776ba21 Merge pull request #16124 from tamasvajk/buildless/nuget-feed-precheck
C#: Validate all nuget feeds to respond in reasonable time
2024-04-09 12:12:06 +02:00
Owen Mansel-Chan
a65b02eb28 Update test expectations 2024-04-09 10:59:06 +01:00
Owen Mansel-Chan
f89fb8eb57 Add change note 2024-04-09 10:59:00 +01:00
Owen Mansel-Chan
6ae07a2c43 Add location for implicitly declared variables 2024-04-09 10:58:55 +01:00
Owen Mansel-Chan
ffdb610d93 Add new IR::Instruction MkTypeSwitchImplicitVariable
It represents the implicit declaration of a variable at the beginning of a case clause
2024-04-09 10:58:49 +01:00
Owen Mansel-Chan
4ffc4f5c62 Add test for dataflow through switches 2024-04-09 10:58:42 +01:00
Owen Mansel-Chan
0ed330056d Add extra CFG test for type switch 2024-04-09 10:55:52 +01:00
Owen Mansel-Chan
8df23522f0 Delete redundant test 2024-04-09 10:55:40 +01:00
Mathias Vorreiter Pedersen
448a9015c0 C++: Compute the number of indirections from MaD using a new predicate. 2024-04-09 10:33:06 +01:00
Mathias Vorreiter Pedersen
21592563cb C++: Define 'ReturnKind's in terms of SSA instead of 'Function'. 2024-04-09 10:32:31 +01:00
Tom Hvitved
5f8eb7b138 Merge pull request #16110 from hvitved/dataflow/param-flow-no-expects-content
Data flow: Block flow at `expectsContents` nodes in `parameterValueFlow`
2024-04-09 11:26:24 +02:00
yoff
1048cf7c5e Merge pull request #15711 from RasmusWL/tt-content
Python: Add type tracking for content
2024-04-09 10:37:43 +02:00
Mathias Vorreiter Pedersen
c325a79206 C++: Ensure 'isConditionalTemporaryDestructorCall' only holds when the reused expression is a temporary. 2024-04-09 09:32:54 +01:00
Michael Nebel
10d96ee02f C#: Address review comments. 2024-04-09 10:31:48 +02:00
Mathias Vorreiter Pedersen
17c8fa3e84 Update cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com>
2024-04-09 09:27:44 +01:00
Tom Hvitved
e6984aa865 Ruby: Remove two redundant allowImplicitRead predicates 2024-04-09 10:10:25 +02:00
Tamas Vajk
80995ec1d7 Improve comments on environment variable names 2024-04-09 09:51:45 +02:00
codeqlhelper
ac7a25734b Merge branch 'main' into main 2024-04-09 15:42:58 +08:00
Paolo Tranquilli
e3d676f91b CI: apply tentative setup-swift fix 2024-04-09 09:37:21 +02:00
Erik Krogh Kristensen
44fba68015 Merge pull request #16128 from erik-krogh/java-info
Java: add link to the source variable in the alert-message for `java/implicit-cast-in-compound-assignment`
2024-04-09 08:55:09 +02:00
Mathias Vorreiter Pedersen
386580fc94 C++: Accept test changes. 2024-04-08 21:26:12 +01:00
Mathias Vorreiter Pedersen
b2002a981a C++: Use the shared typeflow library to determine whether a pointer points to a buffer or an object. 2024-04-08 21:25:05 +01:00
Mathias Vorreiter Pedersen
c389611e5c C++: Add spurious dataflow test. 2024-04-08 21:24:59 +01:00
erik-krogh
8cb6598f50 fixing that I put a type on the wrong thing in the alert-message 2024-04-08 20:51:19 +02:00
codeqlhelper@gmail.com
334c0d0449 ... 2024-04-09 02:06:06 +08:00
codeqlhelper
fc26e148fd Create 2024-04-09-reduce-FP.md 2024-04-09 02:00:52 +08:00
Geoffrey White
e3ce7c608b C++: Fix indirection ambiguity in the test. 2024-04-08 18:27:51 +01:00
Geoffrey White
087d689997 C++: Additional test cases. 2024-04-08 18:18:30 +01:00
codeqlhelper
af2a7eadc3 Reduce false alarms of InconsistentNullnessTesting.ql
We should ignore `checked` in a macro to avoid too many false alarms,
2024-04-09 00:07:40 +08:00
codeqlhelper
fb15a4ea11 Reduce the false alarms of GlobalUseBeforeInit.ql 2024-04-09 00:03:05 +08:00
Geoffrey White
c0c1ab7006 C++: Fix code scanning warnings. 2024-04-08 16:05:55 +01:00
Geoffrey White
31a246b554 Swift: Remove similar non-functional case from Swift as well. 2024-04-08 16:05:50 +01:00
Geoffrey White
06d369ba11 C++: Remove untested PostUpdateNode code for now, and field cases that don't work anyway. 2024-04-08 16:05:18 +01:00
Geoffrey White
b2b2c2016c C++: Update more QLDoc. 2024-04-08 16:04:23 +01:00
Mathias Vorreiter Pedersen
4fa53b63ae Merge branch 'main' into destructors-for-unconditional-unnamed 2024-04-08 15:42:35 +01:00
Mathias Vorreiter Pedersen
9c25ce4079 C++: Add testcase with two destructor calls without a temporary object expression at the top-level. 2024-04-08 15:35:33 +01:00
Mathias Vorreiter Pedersen
e08790d21e Merge pull request #16146 from MathiasVP/missing-destructor-for-parameter
C++: Add example with missing destructor call on parameter
2024-04-08 15:33:00 +01:00
Jami
5792f7b770 Merge branch 'main' into jcogs33/unsafe-url-forward-promotion-resource-and-file-methods 2024-04-08 10:26:42 -04:00
Sylwia Budzynska
5d946586b8 Add tests 2024-04-08 15:39:54 +02:00
Paolo Tranquilli
b71ffc658b Bazel: properly fix lfs smudge script 2024-04-08 15:22:54 +02:00
Paolo Tranquilli
60febcdf1e Revert "Bazel: fix lfs to do checkout rather than smudging"
This reverts commit fd77f1a7cb.
2024-04-08 14:54:15 +02:00
Mathias Vorreiter Pedersen
b581a9ba04 C++: Add example with missing destructor calls on parameters passed by value. 2024-04-08 13:49:05 +01:00
Paolo Tranquilli
a970c2d11c Kotlin: move empty zip from git to internal bazel repo rule 2024-04-08 14:37:53 +02:00
Asger F
f08e8b1d5e Merge pull request #16136 from asgerf/js/instance-to-subclasses
JS: Make getInstance() propagate to subclasses
2024-04-08 14:37:42 +02:00
Jeroen Ketema
ad1139d3af Merge pull request #16116 from jketema/cpp-version-in-doc
C++: Update supported compiler versions based on frontend documentation
2024-04-08 14:09:40 +02:00
Mathias Vorreiter Pedersen
febd06063a C++: Add testcase where two destructor calls are remapped to a temporary object expression. 2024-04-08 13:03:51 +01:00
Paolo Tranquilli
e963b84a5a Kotlin: fix error in building extractor from internal repo 2024-04-08 14:03:15 +02:00
Michael Nebel
fc689efd1b C#: Add debug version of the getFullyQualifiedName predicate. 2024-04-08 13:47:59 +02:00
Michael Nebel
8fbfafc1d7 C#: Dont cache the deprecated getFullyQualifiedName predicate. 2024-04-08 13:46:45 +02:00
Michael Nebel
b677e89f35 C#: Deprecate getFullyQualifiedNameWithTypes. 2024-04-08 13:46:45 +02:00
Michael Nebel
8fa9191434 C#: Deprecate the getFullyQualifiedName predicate. 2024-04-08 13:46:44 +02:00
Michael Nebel
2fb9c2db6f C#: Remove deprecated qualifiedName predicates. 2024-04-08 13:46:44 +02:00
Tamas Vajk
d7f8b96158 Improve logging 2024-04-08 13:15:33 +02:00
Tamas Vajk
95896bc95f Make sure diagnostic directory exists 2024-04-08 13:15:32 +02:00
Tamas Vajk
6a5520c85d Add integration test for unreachable nuget feeds 2024-04-08 13:15:32 +02:00
Tamas Vajk
7051db5e1c Fix code review findings 2024-04-08 13:15:32 +02:00
Tamas Vajk
9aa85f2d13 C#: Validate all nuget feeds to respond in reasonable time 2024-04-08 13:15:20 +02:00
Geoffrey White
ec515f967d C++: Update QLDoc. 2024-04-08 11:57:35 +01:00
erik-krogh
642a134035 add tests for the fixes in the qhelp, and fix an FP that appeared 2024-04-08 12:00:27 +02:00
erik-krogh
59c72b683c update the url-redirect QHelp 2024-04-08 12:00:27 +02:00
Tom Hvitved
aa24c29395 Merge pull request #16122 from hvitved/ruby/cfg-may-raise-issue
Ruby: Fix CFG for nodes that may raise
2024-04-08 11:20:49 +02:00
Mathias Vorreiter Pedersen
9917c3c5ba C++: Add change note. 2024-04-08 10:10:31 +01:00
Mathias Vorreiter Pedersen
fae002fbb7 C++: Accept test changes. 2024-04-08 10:10:31 +01:00
Mathias Vorreiter Pedersen
4831ee65b6 C++: Enable sound IR. 2024-04-08 10:10:31 +01:00
Mathias Vorreiter Pedersen
b8e6632bf1 Merge pull request #16140 from MathiasVP/alias-model-for-fopen
C++: Add alias models for `fopen` and friends
2024-04-08 10:09:54 +01:00
Paolo Tranquilli
fd77f1a7cb Bazel: fix lfs to do checkout rather than smudging
On Windows `git lfs smudge` was not working as expected.
2024-04-08 10:57:24 +02:00
Rasmus Wriedt Larsen
dfe2f1a52b Merge pull request #16127 from RasmusWL/remove-dep-inst-fallback
Python: Extractor: Remove dependency installation fallback
2024-04-08 10:43:50 +02:00
Asger F
ad9838d0fe JS: Add change note 2024-04-08 10:02:28 +02:00
Asger F
6e931000c2 JS: Rewrite docs for API::Node#getInstance() 2024-04-08 10:02:22 +02:00
Asger F
d829dd435f JS: Update docs 2024-04-08 10:00:06 +02:00
Paolo Tranquilli
38a7bc0580 Bazel: optimize LFS to use symlinks when the file is not an LFS pointer 2024-04-08 09:26:19 +02:00
erik-krogh
018b066b95 autoformat 2024-04-08 07:15:33 +02:00
erik-krogh
ca4f667053 add fallback if I can't easily determine the variable 2024-04-08 07:14:48 +02:00
erik-krogh
8b220cc1b3 also get the variable for array accesses 2024-04-08 07:14:48 +02:00
erik-krogh
795b767b6e add link to the source variable in the alert-message for java/implicit-cast-in-compound-assignment 2024-04-08 07:14:48 +02:00
Mathias Vorreiter Pedersen
d40fa4cfba C++: Accept test changes. 2024-04-07 15:50:16 +01:00
Mathias Vorreiter Pedersen
8a6a60e59b C++: Also handle destructor calls on converted expressions in PrintAST. 2024-04-07 15:49:50 +01:00
Mathias Vorreiter Pedersen
fcd0e9999c C++: Accept test changes. 2024-04-07 15:49:27 +01:00
Mathias Vorreiter Pedersen
89eaadd76f C++: Move destructor calls from expressions with a temporary object conversion to the temporary object conversion. 2024-04-07 15:48:38 +01:00
Mathias Vorreiter Pedersen
a0de95dc44 C++: Add testcases that produces an 'missingOperandType' and 'missingPhiOperand' consistency errors. 2024-04-07 14:26:30 +01:00
Mathias Vorreiter Pedersen
557555eb71 C++: Make Code Scanning happy. 2024-04-05 19:03:03 +01:00
Mathias Vorreiter Pedersen
777755a241 C++: Add alias models for 'fopen'. 2024-04-05 19:02:23 +01:00
Mathias Vorreiter Pedersen
45e71543b4 C++: Accept test changes. 2024-04-05 18:08:25 +01:00
Mathias Vorreiter Pedersen
54e4103e71 C++: Fix another multiple parents problem. 2024-04-05 18:07:53 +01:00
Mathias Vorreiter Pedersen
955f9c735c C++: Add a failing testcase. 2024-04-05 18:05:30 +01:00
Mathias Vorreiter Pedersen
2256c4c008 Merge pull request #15728 from MathiasVP/shared-typeflow-library
Java/Shared: Refactor `TypeFlow.qll` into a shared library
2024-04-05 16:24:17 +01:00
Mathias Vorreiter Pedersen
c85db2a026 Merge pull request #16137 from MathiasVP/swift-5.10-support-fix
Docs: Remove Swift version in footnote
2024-04-05 14:59:39 +01:00
Mathias Vorreiter Pedersen
d114d09d73 Docs: Remove Swift version in footnote. 2024-04-05 14:52:19 +01:00
Mathias Vorreiter Pedersen
4c01c06f0c C++: Accept test changes. 2024-04-05 14:49:22 +01:00
Mathias Vorreiter Pedersen
f1d2dac648 C++: Fix a bug where the destructor attached to a 'new' expression would
have multiple parents (the 'new' expression, the call to 'operator new',
and the size expression). This happens because the latter two are
'TranslatedExpr's that return the 'new' expression as their expression
even though they don't technically represent the translation of this
expression.
To prevent this bug we tell the IR construction that the latter two
handle their destructors explicitly which means that IR construction
doesn't try to synthesize them.
2024-04-05 14:46:27 +01:00
Mathias Vorreiter Pedersen
b042366c8e C++: Add a failing testcase. 2024-04-05 14:41:11 +01:00
Asger F
cd84fa4bee JS: Make getInstance() propagate to subclasses 2024-04-05 15:12:02 +02:00
Sylwia Budzynska
112992585a Add change note 2024-04-05 14:56:06 +02:00
Sylwia Budzynska
84d69566c9 Fix decorator QLdoc 2024-04-05 14:51:30 +02:00
Sylwia Budzynska
ca7789d73c Fix QLdoc 2024-04-05 14:40:17 +02:00
Mathias Vorreiter Pedersen
27688bf154 Shared: Rename 'joinStep' to 'joinStepNotNull' to prevent name clashes. Rename 'sccJoinStep' to 'sccJoinStepNotNull' to match the new name. 2024-04-05 13:25:29 +01:00
Mathias Vorreiter Pedersen
bae633ad24 Shared: Make 'erasedHaveIntersection' more identical to the Java version. 2024-04-05 13:19:21 +01:00
Sylwia Budzynska
bed0d5678d Add Gradio models 2024-04-05 14:14:21 +02:00
Mathias Vorreiter Pedersen
9deeb67af4 Update shared/typeflow/codeql/typeflow/internal/TypeFlowImpl.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-04-05 13:10:08 +01:00
Mathias Vorreiter Pedersen
ba347bdcf2 Merge pull request #16133 from MathiasVP/swift-5.10-support-docs
Docs: Mark Swift version 5.10 as supported
2024-04-05 13:07:09 +01:00
Mathias Vorreiter Pedersen
bffa262a2c Shared: Make 'getAStrictAncestor' private. 2024-04-05 13:04:26 +01:00
Mathias Vorreiter Pedersen
96e205a4a6 Docs: Mark Swift 5.10 as supported. 2024-04-05 12:59:07 +01:00
Mathias Vorreiter Pedersen
a2c29fe094 Shared: nomagicify 'getASourceSupertype'. 2024-04-05 12:57:11 +01:00
Mathias Vorreiter Pedersen
3f6967829e Update shared/typeflow/codeql/typeflow/internal/TypeFlowImpl.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-04-05 12:53:23 +01:00
Mathias Vorreiter Pedersen
1775bdee5f Java: Remove redundant qualifiers. 2024-04-05 12:52:04 +01:00
Mathias Vorreiter Pedersen
26cf8df8d6 Update java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-04-05 12:50:26 +01:00
Mathias Vorreiter Pedersen
3f63d3a865 Update java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-04-05 12:49:40 +01:00
Mathias Vorreiter Pedersen
1acbb84444 Shared/Java: Make the 'isNull' interface slightly prettier. 2024-04-05 11:58:43 +01:00
Pierre
e5b7957e4a Merge pull request #16130 from github/sitedocs/2.17.0
Add changelog for 2.17.0
2024-04-05 12:46:45 +02:00
Taus
ef9f99b3be Python: Remove unparse.py 2024-04-05 12:30:40 +02:00
Taus
599f573a4a Python: Preserve comments and docstrings in extractor 2024-04-05 12:30:40 +02:00
Taus
752d28c1b9 Python: Update repinning instructions
This aligns us better with the corresponding instructions for
the Ruby extractor.
2024-04-05 12:30:40 +02:00
Taus
7bec41096c Python: Rename tsg-build target to tsp-build
The latter makes more sense, as it's actually building
`tree-sitter-python`.
2024-04-05 12:30:40 +02:00
Mathias Vorreiter Pedersen
bb2c690bdd C++: Accept test changes. 2024-04-05 09:49:38 +01:00
Mathias Vorreiter Pedersen
d279e3f17a C++: Suppress destructor calls for the right-hand side of logical operations since these are also conditional. 2024-04-05 09:47:11 +01:00
Mathias Vorreiter Pedersen
e63a607eb3 C++: Add another test with conditional construction. 2024-04-05 09:41:50 +01:00
Pierre
268141822d Merge branch 'main' into sitedocs/2.17.0 2024-04-05 09:39:18 +02:00
erik-krogh
6d3244d01c update expected outputs with an FP 2024-04-05 09:36:44 +02:00
erik-krogh
3ab73c8552 C++: Improve the cpp/path-injection qhelp 2024-04-05 09:36:39 +02:00
Pierre
9e49c5f185 Add changelogs for 2.16.6 (to this branch) and 2.17.0 (new) 2024-04-05 09:34:27 +02:00
Pierre
0604b4cc14 Changelog mergeback for versions prior to 2.17.0 2024-04-05 09:33:51 +02:00
Owen Mansel-Chan
e10333bf2b Merge pull request #14919 from github/java/jdk-model-autogeneration
Java: add dataflow-generated models for JDK17
2024-04-04 21:12:55 +01:00
Owen Mansel-Chan
32ea94e625 Merge pull request #16123 from owen-mc/go/misc-trivial-fixes
Go: miscellaneous trivial fixes
2024-04-04 21:09:15 +01:00
Mathias Vorreiter Pedersen
b6ddb97e40 C++: Accept test changes. 2024-04-04 20:02:02 +01:00
Mathias Vorreiter Pedersen
f098b8eb82 C++: Make sure the edge kind out of a throw is an 'ExceptionEdge' even if destructors are called. 2024-04-04 20:01:52 +01:00
Geoffrey White
bdc3d10cdb C++: QLDoc SummaryCall, SourceCallable and SummarizedCallable. 2024-04-04 17:13:59 +01:00
Geoffrey White
49ef677b1d C++: Additional test case for function pointers. 2024-04-04 16:53:29 +01:00
Geoffrey White
144c19db74 C++: Add a test of SummaryCalls, SummarizedCallables and sourceCallables. 2024-04-04 16:50:50 +01:00
Paolo Tranquilli
7aefd22e34 Kotlin: tweak BUILD.bazel file, add documentation 2024-04-04 17:32:23 +02:00
Paolo Tranquilli
44f3c0289a Kotlin: revert accidental modification of kotlin_plugin_versions.py 2024-04-04 17:31:40 +02:00
Mathias Vorreiter Pedersen
587ae07579 C++: Accept query test changes. 2024-04-04 16:23:41 +01:00
Mathias Vorreiter Pedersen
8f11cb64ec C++: Accept test changes. 2024-04-04 16:03:06 +01:00
Mathias Vorreiter Pedersen
180888616b C++: Properly handle the case where a TranslatedElement has no children. 2024-04-04 16:02:01 +01:00
Mathias Vorreiter Pedersen
805b4d6465 C++: Add a failing testcase. 2024-04-04 16:01:25 +01:00
Paolo Tranquilli
cbdb1ebb5a Merge branch 'main' into redsun82/kotlin 2024-04-04 16:56:07 +02:00
Rasmus Wriedt Larsen
4faff83aa0 Python: Extractor: Remove dependency installation fallback 2024-04-04 16:49:55 +02:00
Dave Bartolomeo
2336e14627 Remove expectation of spurious diagnostic 2024-04-04 10:31:05 -04:00
Mathias Vorreiter Pedersen
774efb5f3f Merge branch 'main' into destructors-for-unconditional-unnamed 2024-04-04 15:04:34 +01:00
Asger F
b8b8e2b991 Merge pull request #16054 from asgerf/js/call-graph-improvement2
JS: more implied receiver steps
2024-04-04 15:54:06 +02:00
Mathias Vorreiter Pedersen
0b7070feec C++: Accept test changes. 2024-04-04 14:51:16 +01:00
Mathias Vorreiter Pedersen
73602dca92 C++: Also suppress destructor calls on throwing ternary expressions. 2024-04-04 14:51:11 +01:00
Paolo Tranquilli
3a0a219ce7 Kotlin: remove obsolete 1.4.32 version 2024-04-04 15:49:37 +02:00
Mathias Vorreiter Pedersen
a6a0e20176 C++: Accept test changes. 2024-04-04 14:45:20 +01:00
Mathias Vorreiter Pedersen
796fcfec6c C++: Handle conversions in 'isInConditionalEvaluation'. 2024-04-04 14:44:16 +01:00
Erik Krogh Kristensen
0cfac605bd Merge pull request #16100 from erik-krogh/fix-js-rb-typo
RB: fix language specifier typo in qhelp for rb/multi-char-san
2024-04-04 15:42:45 +02:00
Mathias Vorreiter Pedersen
56a132fa8e C++: Accept test changes. 2024-04-04 14:41:24 +01:00
Mathias Vorreiter Pedersen
a756f14e77 C++: Only report implicit destructors if we need to translate them. 2024-04-04 14:41:23 +01:00
Paolo Tranquilli
5d6baea174 Kotlin: add aliases for default versions 2024-04-04 15:34:48 +02:00
Tamas Vajk
e42639852c C#: Move nuget related DependencyManager methods to separate file 2024-04-04 14:25:09 +02:00
Tom Hvitved
ce3b359813 Ruby: Fix CFG for nodes that may raise 2024-04-04 13:27:29 +02:00
Tom Hvitved
6d2d9654b5 Ruby: Add CFG test 2024-04-04 13:27:29 +02:00
Paolo Tranquilli
55ff7109fa Kotlin: support embeddable build in bazel 2024-04-04 12:53:14 +02:00
Mathias Vorreiter Pedersen
d4e2d37311 C++: Add a simple test that fails. 2024-04-04 11:29:25 +01:00
Mathias Vorreiter Pedersen
cf996f8600 C++: Accept test changes. 2024-04-04 11:28:33 +01:00
Robert Marsh
17e8c95e7f C++: suppress destructors on conditional temporaries 2024-04-04 11:28:10 +01:00
Mathias Vorreiter Pedersen
894d934de8 C++: Accept test changes. 2024-04-04 11:28:01 +01:00
Owen Mansel-Chan
7fc5265168 Misc small tidy-ups mostly suggested by linter 2024-04-04 10:51:22 +01:00
Owen Mansel-Chan
68321dd9ec Use nil for optional argument to packages.Visit 2024-04-04 10:51:13 +01:00
Owen Mansel-Chan
d9fe39d5ae Extractor: add comment about tw.Package.TypesInfo.Defs 2024-04-04 10:37:31 +01:00
Owen Mansel-Chan
720961787b Improve QLDoc for CaseClause 2024-04-04 10:37:25 +01:00
Jeroen Ketema
a8f27af6d8 Merge pull request #16119 from jketema/coroutine2
C++: Add more missing variable declaration tests
2024-04-04 11:35:52 +02:00
Robert Marsh
75c453fd30 C++: Unsuppress temporary destructors in IR 2024-04-04 10:29:59 +01:00
Paolo Tranquilli
5313288b8e LFS: do non-matching fetchinclude rather than explicit fetchexclude 2024-04-04 11:02:29 +02:00
Jeroen Ketema
70491c4a8d C++: Add more missing variable declaration tests 2024-04-04 10:54:09 +02:00
Tom Hvitved
c03b74545d Merge pull request #16115 from hvitved/dataflow/fix-bad-join
Data flow: Fix bad join
2024-04-04 10:51:22 +02:00
Paolo Tranquilli
47ff1c1ee6 Kotlin: working standalone extractor built with bazel 2024-04-04 10:23:26 +02:00
Jeroen Ketema
55d1f43239 C++: Update supported compiler versions based on frontend documentation 2024-04-04 10:18:56 +02:00
Tom Hvitved
79440f6734 Data flow: Fix bad join
```
Evaluated relational algebra for predicate DataFlowImpl::Impl<PolynomialReDoSQuery::PolynomialReDoSFlow::C>::storeEx/5#34133ef9@0425e0m7 with tuple counts:
           2209132     ~1%    {6} r1 = SCAN `DataFlowImpl::Impl<PolynomialReDoSQuery::PolynomialReDoSFlow::C>::storeExUnrestricted/5#3a86a98e` OUTPUT In.1, In.0, In.1, In.2, In.3, In.4
        4338565685     ~1%    {6}    | JOIN WITH `DataFlowPublic::ContentSet.getAReadContent/0#dispred#e4acf74e_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
          34811200  ~1428%    {5}    | JOIN WITH `project#DataFlowImpl::Impl<PolynomialReDoSQuery::PolynomialReDoSFlow::C>::readSetEx/3#35ac556a` ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5
                              return r1
```
2024-04-04 10:02:02 +02:00
Tom Hvitved
c2f91a5ccf Merge pull request #16104 from hvitved/csharp/more-compiler-generated
C#: Mark more expressions as compiler generated
2024-04-04 09:09:16 +02:00
Tom Hvitved
fc02938687 Merge pull request #16088 from hvitved/csharp/library-property-store
C#: Include all non-source-code properties in data flow
2024-04-04 09:04:00 +02:00
Tamás Vajk
7beb73729d Merge pull request #16036 from tamasvajk/autobuilder/disposable
C#: Properly dispose diagnostic writer objects
2024-04-04 08:21:11 +02:00
Tom Hvitved
813f5b99e7 C#: Update PrintAST query 2024-04-03 20:03:02 +02:00
Tom Hvitved
d93d6585d9 C#: Mark more expressions as compiler generated 2024-04-03 20:03:02 +02:00
Tom Hvitved
c2d771b334 Ruby: Reduce alerts produced by MassAssignment.ql 2024-04-03 19:58:51 +02:00
Tom Hvitved
3c96bf6b22 Fix bad join 2024-04-03 19:41:37 +02:00
Erik Krogh Kristensen
35f61d9de4 Merge pull request #16107 from erik-krogh/fix-log-injection-typo
RB: Tiny fixes to log-injection QHelp
2024-04-03 18:29:37 +02:00
Paolo Tranquilli
c242466d31 Kotlin: first support for Kotlin extractor build 2024-04-03 16:30:57 +02:00
Tom Hvitved
2d4cf55c87 Merge pull request #15985 from hvitved/ruby/phi-barrier-guards
Ruby: Extend barrier guards to handle phi inputs
2024-04-03 15:22:39 +02:00
Tom Hvitved
7871fb8ce6 Data flow: Block flow at expectsContents nodes in parameterValueFlow 2024-04-03 15:19:34 +02:00
Tom Hvitved
137594cf36 Ruby: Add regression test 2024-04-03 15:19:34 +02:00
Geoffrey White
a8742ea111 C++: PascalCase and US spelling fixes. 2024-04-03 14:17:55 +01:00
Owen Mansel-Chan
fe24710c96 Improve QLDoc of Entity.getDeclaration 2024-04-03 14:09:37 +01:00
Owen Mansel-Chan
c7f2e991ed Improve QLDoc for TypeAssertExpr
Include information about the type assert `x.(type)` used in type switches.
2024-04-03 13:59:04 +01:00
Owen Mansel-Chan
698debfa20 Extractor: explicitly deal with extracting x.(type) in type switches 2024-04-03 13:58:58 +01:00
Tamás Vajk
9be2b9cbdb Merge pull request #16108 from tamasvajk/cleanup/utils
C#: Remove unused classes from `Util` project
2024-04-03 14:24:58 +02:00
Tamás Vajk
362a109e04 Remove redundant implemented interface
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2024-04-03 14:23:36 +02:00
Tom Hvitved
8b78463f25 Merge pull request #16087 from hvitved/dataflow/store-step-exploration
Data flow: Do not require stores to have matching reads in flow exploration
2024-04-03 14:10:28 +02:00
Tom Hvitved
550e251d68 Data flow: Do not require stores to have matching reads in flow exploration 2024-04-03 13:28:24 +02:00
Tamas Vajk
75894d581c C#: Remove unused classes from Util project 2024-04-03 12:15:37 +02:00
Tom Hvitved
1dc13cc169 Merge pull request #15923 from hvitved/shared-xml-impl
Properly shared `XML.qll` implementation
2024-04-03 11:39:50 +02:00
Tom Hvitved
64e82bb00e C#: Include all non-source-code properties in data flow 2024-04-03 10:22:36 +02:00
Tom Hvitved
cccb11f697 Merge pull request #16091 from hvitved/csharp/system-diagnostics-modules
C#: Neutralize some `System.Diagnostics` generated models
2024-04-03 10:21:56 +02:00
Tamas Vajk
fbec197d4a Move TSP diagnostics related classes to separate files 2024-04-03 10:13:44 +02:00
Tamas Vajk
305fa84186 Change IDiagnosticsWriter to implement IDisposable 2024-04-03 10:08:46 +02:00
Tamas Vajk
0f980e2b97 C#: Properly dispose diagnostic writer objects 2024-04-03 09:47:24 +02:00
erik-krogh
ec32bdce63 fix unsanitized -> sanitized typo, and don't add a new variable just to remove newlines 2024-04-03 09:19:18 +02:00
Tamás Vajk
d7e514913f Merge pull request #16039 from tamasvajk/fix/buildless-references
C#: Reword public mentions of C# buildless
2024-04-03 09:19:13 +02:00
Paolo Tranquilli
341816c280 Kotlin: add dependencies as lazy LFS files 2024-04-03 08:35:34 +02:00
Paolo Tranquilli
0da4130bb9 Bazel: add LFS rules 2024-04-03 08:35:19 +02:00
Dave Bartolomeo
ce98353d22 Allow @param tags to apply to record parameters 2024-04-02 15:15:11 -04:00
Chuan-kai Lin
1f27eb3658 Merge pull request #16102 from github/post-release-prep/codeql-cli-2.17.0
Post-release preparation for codeql-cli-2.17.0
2024-04-02 11:47:23 -07:00
github-actions[bot]
19797fdd27 Post-release preparation for codeql-cli-2.17.0 2024-04-02 18:20:44 +00:00
Chuan-kai Lin
839ca60f90 Merge pull request #16099 from github/release-prep/2.17.0
Release preparation for version 2.17.0
2024-04-02 11:07:43 -07:00
erik-krogh
572d3ba542 fix language specifier typo in qhelp for rb/multi-char-san 2024-04-02 19:40:46 +02:00
github-actions[bot]
c511de2eae Release preparation for version 2.17.0 2024-04-02 17:15:41 +00:00
Chuan-kai Lin
b87cf3c41a Merge pull request #16098 from github/revert-16085-release-prep/2.17.0
Revert "Release preparation for version 2.17.0"
2024-04-02 10:11:15 -07:00
Chuan-kai Lin
6c649c898e Revert "Release preparation for version 2.17.0" 2024-04-02 10:06:20 -07:00
Mathias Vorreiter Pedersen
4baa9ad8c8 C++: Accept test changes. 2024-04-02 18:02:43 +01:00
Mathias Vorreiter Pedersen
baa508d336 C++: Add some simple coroutine tests. 2024-04-02 18:02:43 +01:00
Geoffrey White
db60360293 C++: Add a test case where a function has a MAD model *and* an implementation. 2024-04-02 17:50:00 +01:00
Geoffrey White
9c4567bd6d Swift: Additional models-as-data doc change I missed out in the other PR - neither CPP nor Swift support 'Parameter' with no argument in an access path. 2024-04-02 16:18:25 +01:00
Geoffrey White
f2ef4ad6ac C++: Update for the provenance changes. 2024-04-02 16:15:08 +01:00
Geoffrey White
57beb73bf7 C++: Update for the dataflow hasLocationInfo -> getLocation change made on main. 2024-04-02 16:15:06 +01:00
Geoffrey White
f1ead2554f C++: Trivial merge fixes. 2024-04-02 16:15:05 +01:00
Geoffrey White
33164c8a43 Merge branch 'main' into mad 2024-04-02 16:14:53 +01:00
Michael B. Gale
48f93438d8 Merge pull request #16096 from github/mbg/go/revert-auto-version-fixing
Go: Revert `go version` call in `LoadGoModules`
2024-04-02 16:01:45 +01:00
Geoffrey White
11acb499bb Merge pull request #16042 from geoffw0/maddoc
Remove [potentially] untrue claims about models-as-data
2024-04-02 16:01:31 +01:00
Rasmus Wriedt Larsen
a22b9947c0 Python: Revert IterableSequenceNode as LocalSourceNode
When looking things over a bit more, we could actually exclude the steps
that would never be used instead. A much more involved solution, but
more performance oriented and clear in terms of what is supported (at
least until we start supporting type-tracking with more than depth 1
access-path, if that ever happens)
2024-04-02 16:51:00 +02:00
Michael B. Gale
55fa245194 Go: Revert go version call in LoadGoModules 2024-04-02 15:20:56 +01:00
Mathias Vorreiter Pedersen
0bf742b82d Merge pull request #16089 from MathiasVP/fix-double-free-join
C++: Fix join order in 'cpp/double-free'.
2024-04-02 14:15:51 +01:00
Asger F
2feb00bb2e Merge pull request #13303 from asgerf/js/use-server-and-client
JS: Move Directive subclasses into module and support "use client/server"
2024-04-02 15:13:45 +02:00
Michael Nebel
c378d6a661 Merge pull request #16027 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-04-02 14:08:09 +02:00
Tom Hvitved
368a500d93 C#: Neutralize some System.Diagnostics generated models 2024-04-02 13:58:55 +02:00
Felicity Chapman
75eee04f3e Merge pull request #15890 from intrigus-lgtm/patch-9
[cpp-docs] Fix 404 link in guards library doc.
2024-04-02 12:49:03 +01:00
Rasmus Wriedt Larsen
8707a63edb Python: Add comments around storeStepCommon 2024-04-02 13:26:26 +02:00
Rasmus Wriedt Larsen
20202aba90 Python: Deprecate AttributeName 2024-04-02 13:21:46 +02:00
Ian Lynagh
e610573411 Merge pull request #16078 from igfoo/igfoo/exprs_changes
Kotlin 2: Accept more changes
2024-04-02 12:19:17 +01:00
Ian Lynagh
e5999f76b0 Merge pull request #16079 from igfoo/igfoo/del
Kotlin 2: Accept some more location changes
2024-04-02 12:18:58 +01:00
Harry Maclean
409f46ef7b Merge pull request #14308 from hmac/hmac-rb-csrf-not-enabled
Ruby: Add a query for CSRF protection not enabled
2024-04-02 11:30:36 +01:00
Jeroen Ketema
3c8c45872e Merge pull request #16060 from jketema/qual-fix
C++: Output destructor calls for delete expressions
2024-04-02 11:49:51 +02:00
Henry Mercer
9409d7fdca Merge pull request #16066 from github/henrymercer/ql-run-diagnostics
QL: Run diagnostics and summary metrics in code scanning
2024-04-02 10:45:50 +01:00
Mathias Vorreiter Pedersen
352e7de07d C++: Accept test changes. 2024-04-02 10:43:10 +01:00
Jeroen Ketema
01183800a6 C++: Fix formatting 2024-04-02 11:38:19 +02:00
Jeroen Ketema
9190bf25ce C++: Add example to QLDoc 2024-04-02 11:35:43 +02:00
Rasmus Wriedt Larsen
f33222c83b JS: Add change-note 2024-04-02 11:10:53 +02:00
Mathias Vorreiter Pedersen
bd0ddec630 C++: Fix join order in 'cpp/double-free'. 2024-04-02 09:59:53 +01:00
Jeroen Ketema
a5d4fad806 C++: Output destructor calls for delete expressions 2024-04-02 10:32:03 +02:00
Tom Hvitved
a8dac17aec Merge pull request #16016 from hvitved/csharp/remove-lgtm-autobuilder-options
C#: Remove support for legacy LGTM options in autobuilder
2024-04-02 10:03:10 +02:00
Erik Krogh Kristensen
332c1e3b8a Merge pull request #16026 from erik-krogh/htmlSafeSan
RB: Add barrier guard for `.html_safe?` to the XSS queries
2024-04-02 07:54:19 +02:00
Erik Krogh Kristensen
0fd89549da Merge pull request #16033 from github/dependabot/cargo/ql/regex-1.10.4
Bump regex from 1.10.3 to 1.10.4 in /ql
2024-04-02 07:52:17 +02:00
Erik Krogh Kristensen
58bf0b709f Merge pull request #16077 from github/dependabot/cargo/ql/chrono-0.4.37
Bump chrono from 0.4.35 to 0.4.37 in /ql
2024-04-02 07:51:49 +02:00
github-actions[bot]
55987d9c1f Add changed framework coverage reports 2024-04-02 00:16:19 +00:00
Chuan-kai Lin
0bc9318400 Merge pull request #16086 from github/post-release-prep/codeql-cli-2.17.0
Post-release preparation for codeql-cli-2.17.0
2024-04-01 08:41:39 -07:00
github-actions[bot]
8e61c6625b Post-release preparation for codeql-cli-2.17.0 2024-04-01 15:27:42 +00:00
Chuan-kai Lin
6475034b09 Merge pull request #16085 from github/release-prep/2.17.0
Release preparation for version 2.17.0
2024-04-01 06:53:52 -07:00
github-actions[bot]
ec97d9a304 Release preparation for version 2.17.0 2024-04-01 13:46:57 +00:00
Owen Mansel-Chan
fdafaa2ff4 Change note: update numbers of models added 2024-04-01 14:04:01 +01:00
Owen Mansel-Chan
e3fb40a842 Adjust change note 2024-04-01 14:03:53 +01:00
Owen Mansel-Chan
a5979e209a Add change note 2024-04-01 14:03:47 +01:00
Owen Mansel-Chan
fa614df3f4 Tests fixed by model for CharBuffer.wrap(char[]) 2024-04-01 14:03:42 +01:00
Owen Mansel-Chan
2d24fe011b Accept that lots of sinks are now summaries as well 2024-04-01 14:03:36 +01:00
Owen Mansel-Chan
9067a337b0 Test fixed by model for BasicAttributes(String, Object) 2024-04-01 14:03:30 +01:00
Owen Mansel-Chan
776c9d9eb2 Accept changes to top jdk apis test 2024-04-01 14:03:23 +01:00
Owen Mansel-Chan
52e6ea30e7 Accept more capture summary models
This line is added because `FileOutputStream`'s constructor is now modeled as propagating taint, not just as a sink.
| p;PrivateFlowViaPublicInterface$SPI;true;openStream;();;Argument[this];ReturnValue;taint;df-generated |
2024-04-01 14:03:00 +01:00
Owen Mansel-Chan
919436efbb Remove df-gen models we have deliberately modeled
Manual models always take precedence over generated models, so there is
no point in keeping the generated models.

These manual models were deliberately written to take precedence over
the corresponding df-gen models.
2024-04-01 13:59:36 +01:00
Jami
d889e3cf98 Merge pull request #14854 from jcogs33/jcogs33/unsafe-url-forward-promotion
Java: Promote Unsafe URL Forward query from experimental
2024-03-29 16:34:06 -04:00
Geoffrey White
fa26b55452 C++: Add models-as-data models for ZMQ networking library + wiring. 2024-03-28 21:50:07 +00:00
Geoffrey White
16f9ad06ef C++: Add a test for ZMQ network library sources as well. 2024-03-28 21:50:07 +00:00
Geoffrey White
891f05c5ae C++: Add a test for simple sinks involving ZMQ networking library. 2024-03-28 21:50:07 +00:00
Geoffrey White
5618001c3f C++: More QLDoc refinement. 2024-03-28 21:50:07 +00:00
Jami
2f8c4df309 docs wording updates
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-03-28 16:15:05 -04:00
James Fletcher
5b1cae5fc2 Merge pull request #16076 from github/jf205-patch-1
Make customizing-library-models-for-javascript.rst visible to search and the docs TOC
2024-03-28 17:05:32 +00:00
Calum Grant
ef2e2e4067 Merge pull request #16071 from github/calumgrant/cpp-analysis
Add C++ analysis in separate workflow
2024-03-28 17:53:53 +01:00
Ian Lynagh
3acdc73f22 Kotlin 2: Accept some more location changes 2024-03-28 16:15:37 +00:00
Ian Lynagh
568fba6940 Kotlin 2: Accept some more test changes 2024-03-28 15:28:36 +00:00
Ian Lynagh
0fdc71bf57 Kotlin 2: Accept a test change
For

    if(r != null) {
        val r2: Rectangle = r

in Kotlin 2 mode, there is no IMPLICIT_NOTNULL check in Kotlin 2 mode:

    then: BLOCK type=kotlin.Unit origin=null
      VAR name:r2 type:java.awt.Rectangle [val]
-       TYPE_OP type=java.awt.Rectangle origin=IMPLICIT_NOTNULL typeOperand=java.awt.Rectangle
-         GET_VAR 'val r: @[FlexibleNullability] java.awt.Rectangle? [val] declared in <root>.foo' type=@[FlexibleNullability] java.awt.Rectangle? origin=null
+       GET_VAR 'val r: @[FlexibleNullability] java.awt.Rectangle? [val] declared in <root>.foo' type=@[FlexibleNullability] java.awt.Rectangle? origin=null
      VAR name:height type:kotlin.Int [val]
        GET_FIELD 'FIELD IR_EXTERNAL_JAVA_DECLARATION_STUB name:height type:kotlin.Int visibility:public' type=kotlin.Int origin=null
          receiver: GET_VAR 'val r2: java.awt.Rectangle [val] declared in <root>.foo' type=java.awt.Rectangle origin=null
2024-03-28 15:23:27 +00:00
Ian Lynagh
96723b1a8f Kotlin 2: Accept some loc changes 2024-03-28 15:11:19 +00:00
Ian Lynagh
24c4c3e068 Kotlin 2: Accept a test change
With:

    open class Root {}
    class Subclass1: Root() {}

    fun typeTests(x: Root, y: Subclass1) {
        val y1: Subclass1 = if (x is Subclass1) { x } else { y }
    }

we now get a slightly different AST, which means we no longer need to
insert a StmtExpr:

     BRANCH
       if: TYPE_OP type=kotlin.Boolean origin=INSTANCEOF typeOperand=<root>.Subclass1
         GET_VAR 'x: <root>.Root declared in <root>.typeTests' type=<root>.Root origin=null
-      then: TYPE_OP type=<root>.Subclass1 origin=IMPLICIT_CAST typeOperand=<root>.Subclass1
-        BLOCK type=<root>.Root origin=null
+      then: BLOCK type=<root>.Subclass1 origin=null
+        TYPE_OP type=<root>.Subclass1 origin=IMPLICIT_CAST typeOperand=<root>.Subclass1
           GET_VAR 'x: <root>.Root declared in <root>.typeTests' type=<root>.Root origin=null
2024-03-28 15:07:30 +00:00
Michael B. Gale
73f71d8ace Merge pull request #15979 from github/mbg/go/deal-with-incorrect-versions 2024-03-28 14:16:14 +00:00
Michael B. Gale
f6c22d466f Update toolchain_test.go
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-28 13:32:02 +00:00
Sid Shankar
aeacfb82c1 Merge pull request #16073 from hmac/ruby-re-add-mad-docs
Ruby: Re-add MaD docs
2024-03-28 09:18:04 -04:00
Paolo Tranquilli
2fa2a5a53c Merge pull request #15984 from github/alexdenisov/swift-5.10
Swift: upgrade to 5.10
2024-03-28 13:58:39 +01:00
Geoffrey White
03d0d984e3 C++: Remove duplicate TDataFlowCallable's and fix three places where we assumed a source callable (two of them would have caused lost results). 2024-03-28 11:39:43 +00:00
Michael B. Gale
977ac71b26 Update toolchain_test.go
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-28 11:15:30 +00:00
Ian Lynagh
5dcd635403 Merge pull request #15961 from igfoo/igfoo/MissingEnumInSwitch
Java: Limit the amount of results that MissingEnumInSwitch produces per switch
2024-03-28 11:13:45 +00:00
Paolo Tranquilli
a34bb2608d Swift: fix ql format 2024-03-28 11:57:33 +01:00
Paolo Tranquilli
ece0d1f477 Swift: add upgrade/downgrade scripts 2024-03-28 11:54:18 +01:00
Paolo Tranquilli
bfce01cef6 Swift: add change note for Swift 5.10 upgrade 2024-03-28 11:38:39 +01:00
James Fletcher
d57e8efaf2 Update codeql-for-javascript.rst 2024-03-28 10:28:37 +00:00
Geoffrey White
a55f07ac68 C++: QLDoc FlowSummaryNode. 2024-03-28 10:17:39 +00:00
Jeroen Ketema
3d8ac1441a Merge pull request #16074 from jketema/reuse-val-cat
C++: Add value category column to the expr_reuse relation
2024-03-28 10:14:32 +01:00
dependabot[bot]
07f9614dc2 Bump chrono from 0.4.35 to 0.4.37 in /ql
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.35 to 0.4.37.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.35...v0.4.37)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-28 03:07:21 +00:00
Jami Cogswell
e90f55a05f Java: move change note to lib 2024-03-27 20:56:19 -04:00
Jami Cogswell
e58e5fb825 Java: add change note 2024-03-27 20:51:13 -04:00
Jami Cogswell
b35f318910 Java: update models 2024-03-27 20:39:34 -04:00
Jeroen Ketema
9eb51a9b9e C++: Add value category column to the expr_reuse relation 2024-03-27 22:49:40 +01:00
Jeroen Ketema
9e47909208 Merge pull request #16065 from geoffw0/codeowners
C++: Divide CODEOWNERS responsibilities.
2024-03-27 22:22:15 +01:00
Harry Maclean
3690f294da Ruby: add MaD doc to TOC tree 2024-03-27 21:02:25 +00:00
Ian Lynagh
b6a1266ade Java: Accept test changes for MissingEnumInSwitch Oxford commas 2024-03-27 18:48:22 +00:00
Harry Maclean
ce0edcc265 Ruby: Make MaD doc visible to search
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com>
2024-03-27 17:29:18 +00:00
James Fletcher
04edd6ec69 Update docs/codeql/codeql-language-guides/codeql-for-javascript.rst 2024-03-27 17:08:47 +00:00
James Fletcher
121fed63a0 Update codeql-for-javascript.rst 2024-03-27 17:06:31 +00:00
James Fletcher
fbc0f57280 Update customizing-library-models-for-javascript.rst 2024-03-27 16:58:11 +00:00
Paolo Tranquilli
e9957aa4a6 Swift: make result a child in ThenStmt 2024-03-27 17:53:36 +01:00
Geoffrey White
103932fec8 C++: Resolve discussed TODO comment. 2024-03-27 16:44:50 +00:00
Geoffrey White
507ada1951 C++: Sort out the localFlow / simpleLocalFlow confusion (and the same for taint). 2024-03-27 16:05:35 +00:00
Harry Maclean
f6e2e1319b Ruby: Link to MaD docs from Ruby doc page
Also remove an internal link from the docs.
2024-03-27 15:30:05 +00:00
Harry Maclean
e6ba0a34f4 Revert "Ruby: remove customizing-library-models-for-ruby.rst"
This reverts commit 5b46256fdb.
2024-03-27 15:24:30 +00:00
Michael B. Gale
45b41bb506 Go: Mirror stdout/stderr output in InstallVersion 2024-03-27 15:18:24 +00:00
Michael B. Gale
6b1d1d427c Go: Add integration test for incorrect version format logic 2024-03-27 15:16:32 +00:00
Michael B. Gale
6ea99825be Go: Add unit test to sanity check HasGoVersion 2024-03-27 15:15:40 +00:00
Michael B. Gale
ab255d70b5 Go: Fix semver-related logic bugs 2024-03-27 15:15:20 +00:00
Ian Lynagh
fda3c92612 Java: Add a changenote for the MissingEnumInSwitch change 2024-03-27 15:12:55 +00:00
Ian Lynagh
59ae6dd5f5 Java: Add a couple of Oxford commas 2024-03-27 15:07:58 +00:00
Michael B. Gale
86bf4fbbc0 Go: Make diagnostic names static 2024-03-27 14:22:58 +00:00
Jami Cogswell
40c932a5f9 Java: move UrlForward.qll code to UrlForwardQuery.qll 2024-03-27 10:12:28 -04:00
Max Schaefer
5b07e14fb3 Merge pull request #16055 from github/max-schaefer/go-open-redirect-qhelp
Go: Improve QHelp for `go/unvalidated-url-redirection`.
2024-03-27 13:56:48 +00:00
Paolo Tranquilli
0243d9f2b9 Swift: accept explicit any in existential type name 2024-03-27 13:49:15 +01:00
Jami Cogswell
2391fe7d89 Java: use InlineFlowTest instead of InlineExpectationsTest 2024-03-27 08:44:17 -04:00
Paolo Tranquilli
d9c40488bb Swift: add ThenStmt to control flow 2024-03-27 13:37:24 +01:00
Paolo Tranquilli
b8e38288e3 Swift: add extraction of ThenStmt
These are currently added implicitly by the compiler in the context of
`if`/`switch` expressions. In the future, there might be explicit
`then <expr>` statement useful for cases where one would like to add
more than one statement in the branch, to mark what value to actually
use.

See https://forums.swift.org/t/pitch-multi-statement-if-switch-do-expressions/68443
2024-03-27 13:26:04 +01:00
Max Schaefer
32ebd4eebb Automodel: Filter unexploitable types in application mode.
We already did this in framework mode.
2024-03-27 12:22:24 +00:00
Arthur Baars
ba89f1b6b1 Merge pull request #15896 from github/aibaars/java-update-output
Java: update expected output
2024-03-27 13:19:52 +01:00
Jami Cogswell
121b24ea7c Java: remove parentheses 2024-03-27 08:16:06 -04:00
Owen Mansel-Chan
311512c768 Remove df-gen models for incidentally modelled APIs
Manual models always take precedence over generated models, so there is
no point in keeping the generated models.

These APIs happened to have been modelled between model generation and
merging this PR.
2024-03-27 12:15:08 +00:00
Owen Mansel-Chan
f03a56f7e0 Run generation script
The command line was:
python3 /Users/owen-mc/workspace/codeql-home/codeql/java/ql/src/utils/modelgenerator/GenerateFlowModel.py /Users/owen-mc/db/java/openjdk17 --with-summaries --with-neutrals
2024-03-27 12:15:00 +00:00
Jami Cogswell
35fbc95cc7 Java: remove redundant line 2024-03-27 08:09:40 -04:00
Mathias Vorreiter Pedersen
7bb2b57394 Merge pull request #15964 from rdmarsh2/rdmarsh2/cpp/temp-destructors-extended
C++: IR translation for destruction of temporaries with extended lifetimes
2024-03-27 11:58:48 +00:00
Calum Grant
03bf804a68 Add C++ analysis in separate workflow 2024-03-27 11:44:58 +00:00
Mathias Vorreiter Pedersen
8711232a38 Merge pull request #16069 from jketema/var-templ
C++: Add `VariableTemplateInstantiation` class
2024-03-27 11:31:35 +00:00
Paolo Tranquilli
2382f76317 Swift: ignore experimental ThenStmt 2024-03-27 12:23:37 +01:00
Paolo Tranquilli
f9d10cec08 Swift: fix DeclTranslator.cpp compile errors 2024-03-27 12:21:28 +01:00
Ian Lynagh
6cd94cf253 Merge pull request #16059 from igfoo/igfoo/exprs
Kotlin 2: Accept more location changes
2024-03-27 11:17:07 +00:00
Jeroen Ketema
050682c477 C++: Update expected test results 2024-03-27 12:03:37 +01:00
Paolo Tranquilli
8e9b4336da Merge branch 'main' into alexdenisov/swift-5.10 2024-03-27 11:35:14 +01:00
Jeroen Ketema
27c6e2421c C++: Add VariableTemplateInstantiation class
This adds some uniformity, as we already had `FunctionTemplateInstantiation` and
`ClassTemplateInstantiation` classes.
2024-03-27 11:35:13 +01:00
Tony Torralba
b617667b0e Merge pull request #16062 from atorralba/atorralba/java/more-neutrals
Java: Add more neutrals and improve `java.net.URL` models
2024-03-27 10:41:38 +01:00
Geoffrey White
30c9ec1926 C++: Adjust following discussion. 2024-03-27 09:23:48 +00:00
Tony Torralba
7a0446740b Update java/ql/lib/ext/java.net.model.yml
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-27 09:09:48 +01:00
Henry Mercer
568442d5f8 QL: Run diagnostics and summary metrics in code scanning
Add diagnostics and summary metric queries to the code scanning suite.
2024-03-26 18:11:50 +00:00
Arthur Baars
497325455a Java: update expected output 2024-03-26 18:40:22 +01:00
Geoffrey White
b4a6f75ad7 C++: Divide CODEOWNERS responsibilities. 2024-03-26 17:35:07 +00:00
Mathias Vorreiter Pedersen
3e9602854a Merge pull request #16063 from MathiasVP/taint-inheriting-content-for-cpp
C++: Add `TaintInheritingContent`
2024-03-26 17:28:52 +00:00
Mathias Vorreiter Pedersen
3bfaab9182 C++: Remove debugging conjunct. 2024-03-26 17:01:06 +00:00
Mathias Vorreiter Pedersen
6a8c592900 Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/FlowSteps.qll
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-03-26 16:59:18 +00:00
Mathias Vorreiter Pedersen
d610d721a4 C++: Add file QLDoc. 2024-03-26 16:47:39 +00:00
Mathias Vorreiter Pedersen
e3744c435a C++: Add change note. 2024-03-26 16:44:16 +00:00
Mathias Vorreiter Pedersen
ec3d041c8d C++: Accept test changes. 2024-03-26 16:40:18 +00:00
Mathias Vorreiter Pedersen
bd2ecd3346 C++: Add test. 2024-03-26 16:38:28 +00:00
Mathias Vorreiter Pedersen
2075716df7 C++: Add 'TaintInheritingContent'. 2024-03-26 16:37:22 +00:00
Tony Torralba
d786ea90a4 Java: Add more neutrals
Adds more neutral models to help the model generator ignore certain callables.

Also improves the precision of certain URL models by using synthetic fields so that the parts of a URL are tainted separately.
2024-03-26 17:31:11 +01:00
Rasmus Wriedt Larsen
df463e51c1 JS: Extractor: Fix experimental flag value for NodeJSDetectorTests 2024-03-26 17:02:47 +01:00
Rasmus Wriedt Larsen
60944a9bcb JS: Accept new trap files
As I see it, these all seem to have invalid code initially anyway, but
this is definitely something a JS expert should review :)
2024-03-26 17:01:57 +01:00
Rasmus Wriedt Larsen
1d51d182ec JS: Extractor: Explain how to make replaceExpectedOutput work now with bazel 2024-03-26 17:01:57 +01:00
Rasmus Wriedt Larsen
04a0740ccb JS: Extractor: More robust ES2015 checking
Created shared AbstractDetector to not duplicate all the tedious logic
;)

I took inspiration from the tests in  `javascript/extractor/tests/esnext/input/dynamic-import.js`
2024-03-26 17:01:57 +01:00
Rasmus Wriedt Larsen
cd84500c56 JS: Extractor: Separate base detector logic into own file
Should hopefully make it easier to review these changes to have it split into its' own commit :)
2024-03-26 17:01:57 +01:00
Henry Mercer
2de62dfcdd Merge pull request #16058 from github/henrymercer/merge-back-rc-3.13
Merge `rc/3.13` back to `main`
2024-03-26 14:57:31 +00:00
Ian Lynagh
c5604c97bd Kotlin 2: Accept more location changes 2024-03-26 14:10:28 +00:00
Henry Mercer
0646744928 Merge branch 'main' into henrymercer/merge-back-rc-3.13 2024-03-26 12:59:12 +00:00
Michael B. Gale
cf9e2dcea1 Merge pull request #16056 from github/mbg/go/changenote-for-dependency-improvement
Go: Add changenote for `CODEQL_EXTRACTOR_GO_FAST_PACKAGE_INFO` change
2024-03-26 12:50:19 +00:00
Henry Mercer
f89109df7c Merge pull request #16048 from github/post-release-prep/codeql-cli-2.16.6
Post-release preparation for codeql-cli-2.16.6
2024-03-26 12:23:11 +00:00
Geoffrey White
8fbbc2b6d8 C++: Improve QLDoc. 2024-03-26 11:21:25 +00:00
Max Schaefer
d7258f76d3 Go: Improve QHelp for go/unvalidated-url-redirection.
The example showed a different (and better) fix from what the help claimed, but the suggestion also had a subtle bug that I fixed at the same time.
2024-03-26 10:57:36 +00:00
Michael B. Gale
f84609dbc4 Go: Add changenote for CODEQL_EXTRACTOR_GO_FAST_PACKAGE_INFO change 2024-03-26 10:51:57 +00:00
Tamás Vajk
0c5ea975a4 Merge pull request #16021 from tamasvajk/feature/add-buildless-telemetry
C#: Add high level diagnostic messages for buildless extraction (star…
2024-03-26 11:03:20 +01:00
Asger F
22b56a4a40 JS: More implied receiver steps 2024-03-26 10:23:08 +01:00
Asger F
f2939bd05b JS: Add test case 2024-03-26 10:23:08 +01:00
Asger F
f8641dd82d JS: Fix use of deprecated alias 2024-03-26 09:39:39 +01:00
Asger F
a0b49b23f5 JS: Add UseServer and UseClient directives 2024-03-26 09:39:39 +01:00
Asger F
1d22e65851 JS: Move Directive subclasses into Directive module 2024-03-26 09:39:37 +01:00
Dave Bartolomeo
a950de36a0 Merge pull request #16050 from github/dbartol/more-test-fixes
Remove unused data extension in test
2024-03-25 20:50:09 -04:00
Dave Bartolomeo
c11b8f9d51 Remove unused data extension in test 2024-03-25 19:14:54 -04:00
Max Schaefer
ff23f572d0 Merge pull request #16038 from github/max-schaefer/string-break-qhelp
Go: Improve QHelp for `go/unsafe-quoting`.
2024-03-25 20:10:02 +00:00
Max Schaefer
5bc710b406 Apply suggestions from code review
Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-03-25 19:48:56 +00:00
Dave Bartolomeo
98bf5269a0 Merge pull request #16040 from github/dbartol/qltest-model
Use correct model pack name in qltest data extension
2024-03-25 15:29:16 -04:00
Chris Smowton
f5ebd3d501 Merge pull request #16047 from github/smowton/admin/update-java-supported-version
Update Java version supported to 22
2024-03-25 18:42:35 +00:00
Geoffrey White
ce52cbb428 C++: Disambiguate *n1..n2 doc. 2024-03-25 18:22:28 +00:00
github-actions[bot]
f67b5f9158 Post-release preparation for codeql-cli-2.16.6 2024-03-25 18:17:15 +00:00
Geoffrey White
76780d74d9 C++: Unify four implementations of repeatStars. Note that the recursive approach is faster for very large strings (well over 100 stars), while the concat approach appears to be faster for short strings and does not require an upper bound. 2024-03-25 18:10:21 +00:00
Geoffrey White
95db7aa776 C++: Clean up argument / parameter position logic. 2024-03-25 18:10:21 +00:00
Chris Smowton
757b9bb5fa Update Java version supported to 22 2024-03-25 18:01:30 +00:00
Chris Smowton
6fc99e3ad6 Merge pull request #16023 from smowton/smowton/feature/jdk22-support
Java: support Java 22 language features
2024-03-25 17:58:50 +00:00
Geoffrey White
58737b1d7e C++: We *could* support .Argument with no index, but I'm not convinced we can do so efficiently, so lets not. 2024-03-25 17:08:15 +00:00
Geoffrey White
0a33a6e79b C++: Another test case - Arguments with no specified index. 2024-03-25 17:00:46 +00:00
Henry Mercer
3d82318839 Merge pull request #16045 from github/release-prep/2.16.6
Release preparation for version 2.16.6
2024-03-25 16:59:13 +00:00
github-actions[bot]
71ab804274 Release preparation for version 2.16.6 2024-03-25 16:58:08 +00:00
Geoffrey White
cf35fd4dee C++: Improve ExternalFlow.qll doc. 2024-03-25 16:52:09 +00:00
Geoffrey White
cdafb26423 C++: Fix test failures. 2024-03-25 16:51:36 +00:00
Chris Smowton
dcebcc35b6 Rename getPatternAtIndex 2024-03-25 16:36:38 +00:00
Chris Smowton
568bddc4a9 Add test cases for cases falling directly out of switch blocks 2024-03-25 16:31:40 +00:00
Chris Smowton
17193ac11b Distinguish record patterns that do or don't declare identifiers 2024-03-25 16:31:40 +00:00
Chris Smowton
a4401963f5 Use getAPattern 2024-03-25 16:31:39 +00:00
Chris Smowton
f347784ec2 autoformat 2024-03-25 16:31:39 +00:00
Chris Smowton
3d9bc6fc89 Note pattern-cases may be missing some type-accesses 2024-03-25 16:31:39 +00:00
Chris Smowton
5e0961b348 Account for new possible child index gap 2024-03-25 16:31:39 +00:00
Chris Smowton
9fa2f19990 Add test for guards in the presence of fall-through between pattern and constant cases 2024-03-25 16:31:39 +00:00
Chris Smowton
c48e64e536 Add tests for the combination of anonymous labels and a guard 2024-03-25 16:31:39 +00:00
Chris Smowton
1e0766dffa Add tests for case statement type test dominance against anonymous labels and fall-through 2024-03-25 16:31:39 +00:00
Chris Smowton
f2ff6c476a Add printast tests for anonymous variables 2024-03-25 16:31:38 +00:00
Chris Smowton
5cb5ee026c Fix pretty-printing of anonymous vars and multiple patterns; add test 2024-03-25 16:31:38 +00:00
Chris Smowton
f317f782ae Add test for control-flow with mixed patterns, constants and fall-through 2024-03-25 16:31:38 +00:00
Chris Smowton
6cf956d07a Add CFG test for anonymous variables and fall-throughs with pattern cases 2024-03-25 16:31:38 +00:00
Chris Smowton
cc8dcf63b0 Convert test to use an anonymous local 2024-03-25 16:31:38 +00:00
Chris Smowton
ee36e3b72b autoformat 2024-03-25 16:31:38 +00:00
Chris Smowton
403e86878c Don't mistake a rule case for a fall-through edge 2024-03-25 16:31:37 +00:00
Chris Smowton
5243a62a41 Accept test changes 2024-03-25 16:31:37 +00:00
Chris Smowton
c0874ab04b Fix pattern-case variable pretty-printer 2024-03-25 16:31:37 +00:00
Chris Smowton
f66811048d Fix next-normal-statement predicate 2024-03-25 16:31:37 +00:00
Chris Smowton
bc0724e2b3 Add change note 2024-03-25 16:31:37 +00:00
Chris Smowton
d5443b3f10 Remove dead code 2024-03-25 16:31:37 +00:00
Chris Smowton
29e93edf90 Dataflow: restrict pattern-case flow to unique patterns. 2024-03-25 16:31:37 +00:00
Chris Smowton
00c7dd5f92 Fix a stray use of getPattern 2024-03-25 16:31:36 +00:00
Chris Smowton
e59487a324 Don't regard cases with multiple patterns as conducting a type test 2024-03-25 16:31:36 +00:00
Chris Smowton
c7cb885e71 Add missing javadoc and getUniquePattern predicate 2024-03-25 16:31:36 +00:00
Chris Smowton
f44becea7f Implement multiple pattern case and fall-through pattern case support 2024-03-25 16:31:36 +00:00
Chris Smowton
c283894b4b Fix typo 2024-03-25 16:31:36 +00:00
Chris Smowton
33b807f3bb Parameters and local variables: add isAnonymous predicate 2024-03-25 16:31:36 +00:00
Joe Farebrother
fb19288981 Address review comments - Fix docs typo and add a reference 2024-03-25 15:46:45 +00:00
Geoffrey White
b2a301c206 Swift: Remove claims about 'Annotated'. 2024-03-25 15:45:37 +00:00
Geoffrey White
4a4c77e81d Remove claims about models-as-data that require you to select a parameter from non-Java languages. We believe this is only possible in Java. 2024-03-25 15:41:00 +00:00
Edward Minnix III
7377cbb46e Merge pull request #15930 from egregius313/egregius313/csharp/mad/database/dapper-sources
C#: Sources for the `Dapper` database library
2024-03-25 11:21:51 -04:00
Rasmus Wriedt Larsen
d516db6abc Merge pull request #15903 from yoff/python/test-MaD-keyword-argument
Python: test MaD syntax for keyword argument
2024-03-25 15:51:49 +01:00
Dave Bartolomeo
d805bbcd27 Use correct model pack name in qltest data extension 2024-03-25 10:31:11 -04:00
Tamas Vajk
78912d5eea C#: Reword public mentions of C# buildless 2024-03-25 14:33:51 +01:00
Max Schaefer
120fb93c23 Go: Improve QHelp for go/unsafe-quoting. 2024-03-25 13:32:51 +00:00
Paolo Tranquilli
dea922958b Merge pull request #16034 from github/redsun82/swift-move-integration-tests-to-internal
Swift: prepare integration tests for internal running
2024-03-25 14:08:47 +01:00
Paolo Tranquilli
9c9f4b956e Swift: fix db in diagnostics_test_utils.py 2024-03-25 13:53:27 +01:00
Tamas Vajk
2f0b54c801 Refactor buildless telemetry logging 2024-03-25 12:48:27 +01:00
Geoffrey White
88ea9197d9 C++: Add more tests for uncommon cases. 2024-03-25 11:40:15 +00:00
Ian Lynagh
55226c48a6 Merge pull request #16022 from igfoo/igfoo/k2_exprs
Kotlin 2: Accept more location changes
2024-03-25 11:38:15 +00:00
Tamas Vajk
b94d33d78d Add buildless failed diagnostic 2024-03-25 12:27:36 +01:00
Paolo Tranquilli
7f53509022 Merge branch 'main' into redsun82/swift-move-integration-tests-to-internal 2024-03-25 12:22:00 +01:00
Geoffrey White
46b8e3be66 C++: Fix another mistake in the test. 2024-03-25 11:20:55 +00:00
Geoffrey White
dec5fc0f48 C++: Switch MAD syntax from *Argument[0] style to Argument[*0] style. 2024-03-25 11:20:55 +00:00
Geoffrey White
40270e1f70 C++: Fix mistake in test model. 2024-03-25 11:20:55 +00:00
Geoffrey White
b598b4ac45 C++: Fix for field content indirection (1-based). 2024-03-25 11:20:55 +00:00
Geoffrey White
73e95d67b9 C++: Implement Field indirection. 2024-03-25 11:20:55 +00:00
Geoffrey White
393bd7277c C++: Add some negative test cases for indirection. 2024-03-25 11:20:55 +00:00
Geoffrey White
af4320df50 C++: Modify a summary test case to only test the summary model, not a source model as well. 2024-03-25 11:20:55 +00:00
Geoffrey White
14deb06e80 C++: Implement Argument + Parameter indirection. 2024-03-25 11:20:55 +00:00
Paolo Tranquilli
6707fc3a7c Swift: remove wrong flag in runner.py 2024-03-25 12:20:13 +01:00
Geoffrey White
638bfff09d C++: Implement ReturnValue indirection (this version only worked with a small change to the shared library parsing to permit '*' in the token name; we no longer need this, so I rebased it out). 2024-03-25 11:20:09 +00:00
Paolo Tranquilli
148033e020 Swift: fix assertion diagnostics test 2024-03-25 12:05:22 +01:00
Tamas Vajk
5ab5244171 Change public messages to not include 'buildless' 2024-03-25 11:59:29 +01:00
Chris Smowton
10afb1cd93 Merge pull request #16030 from smowton/smowton/admin/buildless-wording-update
Java: Update buildless test expectations
2024-03-25 10:57:56 +00:00
Paolo Tranquilli
ca5d85c57e Merge branch 'main' into redsun82/swift-move-integration-tests-to-internal 2024-03-25 11:56:48 +01:00
Paolo Tranquilli
0fa40af131 Swift: fix last references to old integration test location 2024-03-25 11:49:19 +01:00
Rasmus Wriedt Larsen
0515b12305 JS: Add example of bad NodeJS detection
Notice the TRAP lines

```
is_module(#20001)
is_es2015_module(#20001)
```
2024-03-25 11:36:21 +01:00
Max Schaefer
ffbe3e6ed4 Merge pull request #16020 from github/max-schaefer/go-path-injection-qhelp
Go: Update query help for `go/path-injection` to include example fixes.
2024-03-25 10:25:36 +00:00
Owen Mansel-Chan
f2db9ce312 Merge pull request #16028 from owen-mc/java/sensitive-log-whitelist-tokenimage
Java: whitelist variable name `tokenImage` for `java/sensitive-log` as it's used in code generated by JavaCC
2024-03-25 10:02:19 +00:00
Paolo Tranquilli
5a771ad2cf Swift: bump python version 2024-03-25 10:42:16 +01:00
Tamás Vajk
d6374f65e4 Merge pull request #15957 from tamasvajk/feature/limit-message-extraction
C#: Limit extracted compilation and extraction messages
2024-03-25 10:30:10 +01:00
Paolo Tranquilli
762b4ce42e Swift: prepare integration tests for internal running
This harmonizes Swift integration tests with the rest of the repository,
to prepare for the internal integration test runner to run them. The
stripped down runner is kept compatible, so that current CI can still
use it now. Maybe it will be kept for developer use.

This PR includes:
* moving the integration tests inside `ql`
* editing `qlpack.yml` so that the internal runner can use it
* change database directory to be `test-db` rather than `db`
2024-03-25 10:17:55 +01:00
dependabot[bot]
0c73340e47 Bump regex from 1.10.3 to 1.10.4 in /ql
Bumps [regex](https://github.com/rust-lang/regex) from 1.10.3 to 1.10.4.
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.10.3...1.10.4)

---
updated-dependencies:
- dependency-name: regex
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 03:31:03 +00:00
Owen Mansel-Chan
ac6c4add14 Apply suggestions from code review
Co-authored-by: Chris Smowton <smowton@github.com>
2024-03-24 20:20:37 +00:00
Chris Smowton
d8686e02a8 Update test expectations 2024-03-24 17:57:27 +00:00
Owen Mansel-Chan
821f399193 Add change note 2024-03-23 23:51:52 +00:00
Owen Mansel-Chan
f4b3bae88b Add test for ParseException use of tokenImage 2024-03-23 23:48:16 +00:00
Owen Mansel-Chan
4832dc51ed Whitelist variable name tokenImage 2024-03-23 21:33:02 +00:00
Owen Mansel-Chan
63a04c056a Add test with tokenImage as used in JavaCC 2024-03-23 21:30:33 +00:00
erik-krogh
051120e958 add qldoc for ReflectedXssSanitizers 2024-03-22 17:58:25 +01:00
erik-krogh
c60cec36d4 add calls to .html_safe? as a shared XSS sanitizer 2024-03-22 17:46:39 +01:00
Aditya Sharad
1a8932bc28 Merge pull request #16024 from github/changedocs/2.16.5
Update CodeQL CLI to version 2.16.5
2024-03-22 09:32:52 -07:00
Erik Krogh Kristensen
45ce988943 Merge pull request #16002 from erik-krogh/tarBlank
JS: change the precision of the `js/unsafe-external-link` query to `low`
2024-03-22 17:12:58 +01:00
Florin Coada
c653f1ce8c Add CodeQL 2.16.5 changelog 2024-03-22 15:28:54 +00:00
Joe Farebrother
592acb94d2 Add missing .s to qldoc 2024-03-22 15:28:34 +00:00
Max Schaefer
034ed17227 Apply suggestions from code review
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-03-22 15:24:29 +00:00
Jeroen Ketema
d9b0a5918c Merge pull request #16018 from jketema/tls-precision
C++: Add precision to `cpp/boost/tls-settings-misconfiguration` and `cpp/boost/use-of-deprecated-hardcoded-security-protocol`
2024-03-22 16:17:34 +01:00
Jeroen Ketema
453cdfa513 C++: Add change note 2024-03-22 15:52:52 +01:00
Joe Farebrother
a6ee19ca2d Fix query id 2024-03-22 14:36:47 +00:00
Ian Lynagh
63e34c4dec Kotlin 2: Accept more location changes 2024-03-22 14:09:20 +00:00
Joe Farebrother
01f712476b Add change note and update severity 2024-03-22 14:07:11 +00:00
Joe Farebrother
b74145349b Add test cases 2024-03-22 14:07:11 +00:00
Joe Farebrother
507a6102a2 Reorganise into Custimizations file + add some more sinks on ActiveRecord methods 2024-03-22 14:07:04 +00:00
Joe Farebrother
a8aac318d0 Add qhelp 2024-03-22 14:04:52 +00:00
Joe Farebrother
89838981b7 Add test cases 2024-03-22 14:04:52 +00:00
Joe Farebrother
0f45a53adc Add mass assignment query 2024-03-22 14:04:52 +00:00
Edward Minnix III
1785086ccb Merge pull request #15784 from egregius313/egregius313/csharp/dataflow/sources/file
C#: Add source models for `file` threat model/source kind for .NET standard library
2024-03-22 09:50:30 -04:00
Michael Nebel
a07ee8e961 C#: Update the AsList model to a value flow model. 2024-03-22 14:40:25 +01:00
Tamas Vajk
178a45af25 C#: Add high level diagnostic messages for buildless extraction (start, success) 2024-03-22 14:27:36 +01:00
Max Schaefer
bc9396e0e6 Address suggestions from review. 2024-03-22 13:19:36 +00:00
Michael B. Gale
f48e295f4a Merge pull request #16019 from p-/p--weak-enc-ecb-qhelp
C#: add hint regarding ECB to weak encryption QHelp
2024-03-22 13:09:08 +00:00
Michael Nebel
ca72b0583d C#: Update source and sink expected test output. 2024-03-22 13:59:47 +01:00
Erik Krogh Kristensen
7d968184fd improve the change-note
Co-authored-by: Asger F <asgerf@github.com>
2024-03-22 13:58:34 +01:00
Ed Minnix
4b13ad1310 Fix flow summary tests 2024-03-22 13:46:20 +01:00
Ed Minnix
9ed8ca27a1 Fix test and model 2024-03-22 13:46:19 +01:00
Ed Minnix
1f04229def Fix typo 2024-03-22 13:46:19 +01:00
Ed Minnix
73b4e8fe6a Add WithElement identifier to AsList method 2024-03-22 13:46:19 +01:00
Ed Minnix
9b23bfa038 Execute methods which return objects
The `Execute` method returns `int` for "number of rows affected". But
some of the other `Execute*` methods return objects.
2024-03-22 13:46:19 +01:00
Ed Minnix
5885938eaf Use wildcard signatures for Query methods 2024-03-22 13:46:19 +01:00
Ed Minnix
8223781978 Fix FlowSummaries tests 2024-03-22 13:46:19 +01:00
Ed Minnix
5ca6b40c34 Change note 2024-03-22 13:46:18 +01:00
Ed Minnix
23aeb1d878 Add tests 2024-03-22 13:46:18 +01:00
Ed Minnix
98285b5171 Add AsList summary 2024-03-22 13:46:18 +01:00
Ed Minnix
87ad170067 Dapper source models 2024-03-22 13:46:18 +01:00
Ian Lynagh
01475fd8ba Merge pull request #16011 from igfoo/igfoo/legacy_vars
Java/Kotlin: Remove references to legacy ODASA_SNAPSHOT env var
2024-03-22 12:38:37 +00:00
Max Schaefer
4e4cd52f63 Go: Update query help for go/path-injection to include example fixes. 2024-03-22 11:45:59 +00:00
Peter Stöckli
d62d68a40b C#: add hint regarding ECB to weak encryption QHelp 2024-03-22 12:08:30 +01:00
Rasmus Wriedt Larsen
69f6e1e263 Merge pull request #16010 from RasmusWL/perf
Python: Two small join-order fixes
2024-03-22 11:36:17 +01:00
Jeroen Ketema
adfb3c3d50 C++: Simplify cpp/boost/tls-settings-misconfiguration 2024-03-22 11:22:11 +01:00
yoff
c520cb6d58 Merge branch 'main' into python/test-MaD-keyword-argument 2024-03-22 10:56:08 +01:00
Rasmus Lerchedahl Petersen
eef60c9ad2 python: add test for "ReturnValue.TupleElement[0,1]"
also synchronise files
2024-03-22 10:54:12 +01:00
Jeroen Ketema
fb4ed39d89 Merge pull request #16017 from jketema/destructors21
C++: Add destructor test cases for AV Rule 114
2024-03-22 10:50:27 +01:00
Jeroen Ketema
a770bddff0 C++: Add precision to cpp/boost/tls-settings-misconfiguration and cpp/boost/use-of-deprecated-hardcoded-security-protocol
Also clean up the names of the queries while here.
2024-03-22 10:48:18 +01:00
Jeroen Ketema
3f0ce98ccb C++: Add destructor test cases for AV Rule 114 2024-03-22 10:25:47 +01:00
Tom Hvitved
9d124197e8 C#: Remove support for legacy LGTM options in autobuilder 2024-03-22 10:09:24 +01:00
Tamas Vajk
205d6a3bc5 Extract total number of diagnostic per ID and compilation 2024-03-22 08:55:41 +01:00
Tamas Vajk
fa7f437e71 Code quality improvement 2024-03-22 08:16:11 +01:00
Jeroen Ketema
eca6c00003 Merge pull request #16014 from jketema/destructors20
C++: Handle destructors of range-based for-loop, if, and switch initializer statements
2024-03-21 21:04:23 +01:00
Ed Minnix
c7a746e3dc Flow summary tests 2024-03-21 13:15:45 -04:00
Ed Minnix
3e3eceea5f Typo 2024-03-21 13:06:34 -04:00
Ed Minnix
e2c2d574f8 Add FileInfo::OpenText 2024-03-21 13:06:33 -04:00
Ed Minnix
46a9bb9804 Change note 2024-03-21 13:06:31 -04:00
Ed Minnix
08611f0c9c Fix flow summary tests 2024-03-21 13:06:30 -04:00
Ed Minnix
e14e47cd73 Fix Stream::Read(Span<byte>) model 2024-03-21 13:06:28 -04:00
Ed Minnix
d6f085373e System.IO.Stream::ReadExactly models 2024-03-21 13:06:27 -04:00
Ed Minnix
2a73677fd2 Missing Stream::ReadAsync overload 2024-03-21 13:06:26 -04:00
Ed Minnix
a698684fec System.IO.Stream::ReadAtLeast 2024-03-21 13:06:24 -04:00
Ed Minnix
3e29a8d2a1 System.IO files test 2024-03-21 13:06:23 -04:00
Ed Minnix
d387e6d068 Fix flow-summary tests 2024-03-21 13:06:21 -04:00
Ed Minnix
9232fafde1 Add System.IO.Stream::Read(Span<Byte>) model 2024-03-21 13:06:20 -04:00
Ed Minnix
a8c5e4e0f2 FileInfo source models 2024-03-21 13:06:18 -04:00
Ed Minnix
bb9b0eabf2 Add BufferedStream summary models 2024-03-21 13:06:17 -04:00
Ed Minnix
a5b801b31f Add File reading methods 2024-03-21 13:06:15 -04:00
Arthur Baars
c219b1a3c7 Merge pull request #16013 from github/rc/3.13
Merge rc/3.13 into main
2024-03-21 16:04:58 +01:00
Rasmus Wriedt Larsen
93f940aa9c Python: Join-order improvement for DataFlowDispatch::TrackAttrReadInput
I was surprised to see that this predicate actually gets evaluated 3 times

- Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@c15596yu was evaluated in 74 iterations totaling 165ms (delta sizes total: 113119).
- Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@3459ejws was evaluated in 30 iterations totaling 76ms (delta sizes total: 32555).
- Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@5ac22jwq was evaluated in 30 iterations totaling 108ms (delta sizes total: 32555).

It does however fit with it being used in exactly 3 places: https://github.com/search?q=repo%3Agithub%2Fcodeql+%2FattrReadTracker%5C%28%2F&type=code -- so I assume it's because each use forces a new evaluation. Although that's something we could look into solving, for now I'm just trying to fix the join-order.

Initial

```
Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@3459ejws was evaluated in 30 iterations totaling 76ms (delta sizes total: 32555).
        7068090   ~0%    {2} r1 = SCAN Attributes::AttrRead#class#f6c3f431 OUTPUT In.0, In.0
                         {2}    | AND NOT `DataFlowDispatch::TrackAttrReadInput::start/2#67f26627#prev`(FIRST 2)
        3901178   ~5%    {2}    | SCAN OUTPUT In.1, In.1
        3901178   ~0%    {3}    | JOIN WITH `Attributes::AttrRef.getObject/0#dispred#d7cd0a97` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1

          13615   ~1%    {2} r2 = JOIN r1 WITH `DataFlowDispatch::classTracker/1#d11f2237#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

             94   ~2%    {2} r3 = JOIN r1 WITH `DataFlowDispatch::superCallTwoArgumentTracker/2#d18be99f#reorder_2_0_1#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

          18846   ~1%    {2} r4 = JOIN r1 WITH `DataFlowDispatch::classInstanceTracker/1#d73ecef4#prev_delta_1#join_rhs` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

          32555   ~1%    {2} r5 = r2 UNION r3 UNION r4
                         return r5
```

==>

```
Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@f2517jwq was evaluated in 30 iterations totaling 12ms (delta sizes total: 32704).
        186719  ~121%    {1} r1 = SCAN `DataFlowDispatch::classInstanceTracker/1#d73ecef4#prev_delta` OUTPUT In.1

        164342  ~158%    {1} r2 = SCAN `DataFlowDispatch::classTracker/1#d11f2237#reorder_1_0#prev_delta` OUTPUT In.0

            96    ~0%    {1} r3 = SCAN `DataFlowDispatch::superCallTwoArgumentTracker/2#d18be99f#reorder_2_0_1#prev_delta` OUTPUT In.0

        351157   ~80%    {1} r4 = r1 UNION r2 UNION r3
         88074   ~14%    {1}    | JOIN WITH `Attributes::AttrRef.getObject/0#dispred#d7cd0a97_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
         41789   ~18%    {2}    | JOIN WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT Lhs.0, Lhs.0
                         {2}    | AND NOT `DataFlowDispatch::TrackAttrReadInput::start/2#67f26627#prev`(FIRST 2)
         32883    ~2%    {2}    | SCAN OUTPUT In.1, In.1
                         return r4
```

AND

initial

```
Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@c15596yu was evaluated in 74 iterations totaling 165ms (delta sizes total: 113119).
        17434622   ~0%    {2} r1 = SCAN Attributes::AttrRead#class#f6c3f431 OUTPUT In.0, In.0
                          {2}    | AND NOT `DataFlowDispatch::TrackAttrReadInput::start/2#67f26627#prev`(FIRST 2)
         9483976   ~4%    {2}    | SCAN OUTPUT In.1, In.1
         9483976   ~0%    {3}    | JOIN WITH `Attributes::AttrRef.getObject/0#dispred#d7cd0a97` ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1

           19258   ~1%    {2} r2 = JOIN r1 WITH `DataFlowDispatch::classInstanceTracker/1#d73ecef4#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

            1654   ~1%    {2} r3 = JOIN r1 WITH `DataFlowDispatch::superCallNoArgumentTracker/1#0a2e8a06#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

            1314   ~4%    {2} r4 = JOIN r1 WITH `DataFlowDispatch::clsArgumentTracker/1#47339327#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

              94   ~2%    {2} r5 = JOIN r1 WITH `DataFlowDispatch::superCallTwoArgumentTracker/2#d18be99f#reorder_2_0_1#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

           77217   ~0%    {2} r6 = JOIN r1 WITH `DataFlowDispatch::selfTracker/1#f157aa27#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

           13632   ~1%    {2} r7 = JOIN r1 WITH `DataFlowDispatch::classTracker/1#d11f2237#reorder_1_0#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

          113169   ~0%    {2} r8 = r2 UNION r3 UNION r4 UNION r5 UNION r6 UNION r7
                          return r8
```
==>

```
Pipeline standard for DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@d732e6yt was evaluated in 74 iterations totaling 31ms (delta sizes total: 113129).
        186719  ~150%    {1} r1 = SCAN `DataFlowDispatch::classInstanceTracker/1#d73ecef4#reorder_1_0#prev_delta` OUTPUT In.0

          1669    ~0%    {1} r2 = SCAN `DataFlowDispatch::superCallNoArgumentTracker/1#0a2e8a06#reorder_1_0#prev_delta` OUTPUT In.0

          3425   ~15%    {1} r3 = SCAN `DataFlowDispatch::clsArgumentTracker/1#47339327#prev_delta` OUTPUT In.1

            96    ~0%    {1} r4 = SCAN `DataFlowDispatch::superCallTwoArgumentTracker/2#d18be99f#reorder_2_0_1#prev_delta` OUTPUT In.0

        123310    ~0%    {1} r5 = SCAN `DataFlowDispatch::selfTracker/1#f157aa27#reorder_1_0#prev_delta` OUTPUT In.0

        164342  ~581%    {1} r6 = SCAN `DataFlowDispatch::classTracker/1#d11f2237#reorder_1_0#prev_delta` OUTPUT In.0

        479561   ~94%    {1} r7 = r1 UNION r2 UNION r3 UNION r4 UNION r5 UNION r6
        169424    ~2%    {1}    | JOIN WITH `Attributes::AttrRef.getObject/0#dispred#d7cd0a97_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
        116290    ~0%    {2}    | JOIN WITH Attributes::AttrRead#class#f6c3f431 ON FIRST 1 OUTPUT Lhs.0, Lhs.0
                         {2}    | AND NOT `DataFlowDispatch::TrackAttrReadInput::start/2#67f26627#prev`(FIRST 2)
        113160    ~0%    {2}    | SCAN OUTPUT In.1, In.1
                         return r7
```
2024-03-21 15:55:58 +01:00
Jeroen Ketema
98de4e209b C++: Handle destructors of if and switch initializer statements 2024-03-21 15:47:11 +01:00
Jeroen Ketema
9cc287dff1 C++: Handle destructors of range-based for-loop initializer statements 2024-03-21 15:47:11 +01:00
Cornelius Riemenschneider
be245dd4b2 Merge pull request #16012 from github/criemen/swift-linux-sandbox
Swift genrule: Replace local with no-sandbox.
2024-03-21 15:06:47 +01:00
Rasmus Wriedt Larsen
bfa8515b28 Python: Apply suggestions from code review
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-21 14:51:45 +01:00
Cornelius Riemenschneider
79094e4b89 Swift genrule: Replace local with no-sandbox.
This allows the bazel cache to cache this genrule invocation.
It shouldn't depend on system-specific binaries, so
I believe this is correct.
This is the only part of our build where we otherwise
need to recompute parts after pulling in a full cache.
2024-03-21 13:51:22 +00:00
Ian Lynagh
1b3605754f Java: Add a changenote for dropping ODASA_SNAPSHOT support 2024-03-21 13:38:54 +00:00
Tamás Vajk
0aa7de295b Merge pull request #16004 from tamasvajk/feature/adjust-incorrect-compare-to
C#: Simplify the output of `cs/wrong-compareto-signature` to remove e…
2024-03-21 14:38:54 +01:00
Ian Lynagh
33fe5abf94 Kotlin: Remove references to legacy ODASA_SNAPSHOT env var 2024-03-21 13:29:40 +00:00
Henry Mercer
4e3a6e2140 Merge pull request #15874 from github/henrymercer/mark-loc-as-telemetry
Show lines of code data in debug mode only
2024-03-21 12:20:09 +00:00
Rasmus Wriedt Larsen
cff63ad5d5 Python: Fix small join-order problem for call-graph
problem is:
```
           14294  ~33%    {1} r23 = r21 UNION r22
           13626   ~0%    {2}    | JOIN WITH `DataFlowPublic::Node.getEnclosingCallable/0#dispred#be95825a` ON FIRST 1 OUTPUT Rhs.1, Lhs.0
        11871493   ~2%    {2}    | JOIN WITH `DataFlowPublic::Node.getEnclosingCallable/0#dispred#be95825a_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Lhs.1
         6810938   ~3%    {2}    | JOIN WITH num#DataFlowPublic::TCfgNode#2cd2fb22_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
               0   ~0%    {4}    | JOIN WITH `DataFlowDispatch::resolveMethodCall/4#3067f1f1#reorder_0_3_1_2#prev` ON FIRST 2 OUTPUT Rhs.3, Lhs.1, Lhs.0, Rhs.2
               0   ~0%    {4}    | JOIN WITH num#DataFlowDispatch::CallTypeClassMethod#3508c3e5 ON FIRST 1 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.1
               0   ~0%    {4}    | JOIN WITH `DataFlowDispatch::resolveCall/3#454c02d8#reorder_1_0_2#prev` ON FIRST 3 OUTPUT Lhs.3, Lhs.1, Lhs.0, Lhs.2
               0   ~0%    {5}    | JOIN WITH num#DataFlowDispatch::TSelfArgumentPosition#de6d64b8 CARTESIAN PRODUCT OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.0, Rhs.0
```
that is, it does cartesian product of DataFlowPublic::Node.getEnclosingCallable

After fix

```
        14294  ~33%    {1} r23 = r21 UNION r22
            0   ~0%    {4}    | JOIN WITH `DataFlowDispatch::resolveMethodCall/4#3067f1f1#reorder_3_0_1_2#prev` ON FIRST 1 OUTPUT Rhs.3, Lhs.0, Rhs.1, Rhs.2
            0   ~0%    {4}    | JOIN WITH num#DataFlowDispatch::CallTypeClassMethod#3508c3e5 ON FIRST 1 OUTPUT Lhs.3, Lhs.2, Lhs.0, Lhs.1
            0   ~0%    {4}    | JOIN WITH `DataFlowDispatch::resolveCall/3#454c02d8#reorder_1_0_2#prev` ON FIRST 3 OUTPUT Lhs.1, Lhs.3, Lhs.0, Lhs.2
            0   ~0%    {5}    | JOIN WITH num#DataFlowPublic::TCfgNode#2cd2fb22 ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Lhs.2, Lhs.3
            0   ~0%    {5}    | JOIN WITH `DataFlowPublic::Node.getEnclosingCallable/0#dispred#be95825a` ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.2, Lhs.3, Lhs.4
            0   ~0%    {4}    | JOIN WITH `DataFlowPublic::Node.getEnclosingCallable/0#dispred#be95825a` ON FIRST 2 OUTPUT Lhs.0, Lhs.2, Lhs.3, Lhs.4
            0   ~0%    {5}    | JOIN WITH num#DataFlowDispatch::TSelfArgumentPosition#de6d64b8 CARTESIAN PRODUCT OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.0, Rhs.0
```

Overall stats

(old)
Pipeline standard for DataFlowDispatch::getCallArg/5#21589076@b30c7vxg was evaluated in 51 iterations totaling 54ms (delta sizes total: 38247).

==>

(new)
Pipeline standard for DataFlowDispatch::getCallArg/5#21589076@c1559vxu was evaluated in 51 iterations totaling 28ms (delta sizes total: 38247).
2024-03-21 12:31:58 +01:00
Jeroen Ketema
ccc5a80d93 Merge pull request #16008 from jketema/destructors19
C++: Handle `getInitializingExpr` in PrintAST
2024-03-21 12:22:48 +01:00
Rasmus Wriedt Larsen
2aa5ae41fb Python: Fix join-order problem in SqlAlchemy
No major performance impact, more of a learning example for myself (had +3000 join order badness).

Initial tuple counts

```
Evaluated recursive predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@594cfx2g in 1ms on iteration 1 (delta size: 4).
Evaluated relational algebra for predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@594cfx2g on iteration 1 running pipeline base with tuple counts:
        37793   ~0%    {3} r1 = JOIN `ApiGraphs::API::Node.getACall/0#dispred#312deb92_10#join_rhs` WITH DataFlowPublic::CallCfgNode#b8ddbf81 ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
            0   ~0%    {2}    | JOIN WITH `SqlAlchemy::SqlAlchemy::Connection::classRef/0#565fc3ad` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

           30   ~0%    {5} r2 = JOIN DataFlowPublic::CallCfgNode#b8ddbf81 WITH `DataFlowPublic::MethodCallNode.calls/2#dispred#1dd1e0f4#ffb` ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Rhs.1, Rhs.2, _
                       {4}    | REWRITE WITH NOT [NOT [Tmp.4 := "begin", TEST InOut.3 = Tmp.4], NOT [Tmp.4 := "connect", TEST InOut.3 = Tmp.4]] KEEPING 4
           21   ~0%    {3}    | SCAN OUTPUT In.2, In.0, In.1
            4   ~0%    {2}    | JOIN WITH `SqlAlchemy::SqlAlchemy::Engine::instance/0#1828baef` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

            4   ~0%    {2} r3 = r1 UNION r2
                       return r3
```

which is fixed by the only_bind_out

```
Evaluated recursive predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@49effxtg in 0ms on iteration 1 (delta size: 0).
Evaluated relational algebra for predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@49effxtg on iteration 1 running pipeline base with tuple counts:
        0  ~0%    {1} r1 = JOIN `SqlAlchemy::SqlAlchemy::Connection::classRef/0#565fc3ad` WITH `ApiGraphs::API::Node.getACall/0#dispred#312deb92` ON FIRST 1 OUTPUT Rhs.1
        0  ~0%    {2}    | JOIN WITH DataFlowPublic::CallCfgNode#b8ddbf81 ON FIRST 1 OUTPUT Lhs.0, Rhs.1
                  return r1
```

We also had this initial problem

```
Evaluated recursive predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@594cfx2g in 1ms on iteration 4 (delta size: 0).
Evaluated relational algebra for predicate SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0@594cfx2g on iteration 4 running pipeline standard with tuple counts:
        48722   ~6%    {2} r1 = DataFlowPublic::CallCfgNode#b8ddbf81 AND NOT SqlAlchemy::SqlAlchemy::Connection::ConnectionConstruction#45e716e0#prev(FIRST 2)

        48722   ~3%    {3} r2 = SCAN r1 OUTPUT In.0, _, In.1
        48722   ~1%    {3}    | REWRITE WITH Out.1 := "connect"
           16   ~0%    {3}    | JOIN WITH `DataFlowPublic::MethodCallNode.calls/2#dispred#1dd1e0f4#ffb_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
            0   ~0%    {2}    | JOIN WITH `SqlAlchemy::SqlAlchemy::Connection::instance/0#5ed87c17#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

        48722   ~3%    {3} r3 = SCAN r1 OUTPUT In.0, _, In.1
        48722   ~2%    {3}    | REWRITE WITH Out.1 := "execution_options"
            9   ~0%    {3}    | JOIN WITH `DataFlowPublic::MethodCallNode.calls/2#dispred#1dd1e0f4#ffb_021#join_rhs` ON FIRST 2 OUTPUT Rhs.2, Lhs.0, Lhs.2
            0   ~0%    {2}    | JOIN WITH `SqlAlchemy::SqlAlchemy::Connection::instance/0#5ed87c17#prev_delta` ON FIRST 1 OUTPUT Lhs.1, Lhs.2

            0   ~0%    {2} r4 = r2 UNION r3
                       return r4
```

which is fixed by `connectionConstruction_helper`

```
Evaluated recursive predicate SqlAlchemy::SqlAlchemy::Connection::helper/0#62cfc178#b@4f295yef in 1ms on iteration 4 (delta size: 0).
Evaluated relational algebra for predicate SqlAlchemy::SqlAlchemy::Connection::helper/0#62cfc178#b@4f295yef on iteration 4 running pipeline standard with tuple counts:
         4  ~0%    {1} r1 = JOIN `SqlAlchemy::SqlAlchemy::Connection::instance/1#029b4c87#prev_delta` WITH `TypeTrackingImpl::TypeTracker::end/0#2ac2cfd4` ON FIRST 1 OUTPUT Lhs.1
        16  ~0%    {1}    | JOIN WITH `LocalSources::Cached::hasLocalSource/2#8b3ee0ec_10#join_rhs` ON FIRST 1 OUTPUT Rhs.1
         0  ~0%    {3}    | JOIN WITH `DataFlowPublic::MethodCallNode.calls/2#dispred#1dd1e0f4#ffb_102#join_rhs` ON FIRST 1 OUTPUT Rhs.1, Rhs.2, _
         0  ~0%    {2}    | REWRITE WITH NOT [NOT [Tmp.2 := "connect", TEST InOut.1 = Tmp.2], NOT [Tmp.2 := "execution_options", TEST InOut.1 = Tmp.2]] KEEPING 2
         0  ~0%    {1}    | JOIN WITH DataFlowPublic::CallCfgNode#b8ddbf81 ON FIRST 1 OUTPUT Lhs.0
         0  ~0%    {1}    | AND NOT `SqlAlchemy::SqlAlchemy::Connection::helper/0#62cfc178#b#prev`(FIRST 1)
                   return r1
```
2024-03-21 11:55:49 +01:00
Jeroen Ketema
4c4ebd907e C++: Update more expected test results 2024-03-21 11:54:29 +01:00
Jeroen Ketema
a3ae304dfe C++: Handle getInitializingExpr in PrintAST 2024-03-21 11:32:23 +01:00
Jeroen Ketema
33c524d9fd Merge pull request #16003 from jketema/destructors18
C++: Add tests showing missing destructors for initialization statements
2024-03-21 11:28:54 +01:00
Tamas Vajk
9d655520cc Code quality improvement 2024-03-21 11:26:45 +01:00
Mathias Vorreiter Pedersen
dc5ee7c8b4 Merge pull request #16007 from MathiasVP/fix-tls-settings-misconfiguration
C++: Fix `cpp/boost/tls-settings-misconfiguration` FPs
2024-03-21 10:16:37 +00:00
Mathias Vorreiter Pedersen
7fb64268bd Merge pull request #15997 from MathiasVP/simplify-guard-in-missing-check-scanf
C++: Simplify use of guard conditions in `cpp/missing-check-scanf`
2024-03-21 10:16:12 +00:00
Tamas Vajk
d0c09f43a9 Add change note 2024-03-21 11:13:42 +01:00
Paolo Tranquilli
eb7f07dc3f Merge pull request #15967 from github/redsun82/test
Swift: add `-headerpad_max_install_names` to link options
2024-03-21 11:11:53 +01:00
Tom Hvitved
c0f80ecd2f Merge pull request #15994 from hvitved/csharp/no-trap-stack-in-buildless
C#: Avoid using TRAP stack in buildless mode
2024-03-21 10:46:08 +01:00
erik-krogh
54a1c25276 change the precision of the js/unsafe-external-link query to low 2024-03-21 10:32:15 +01:00
Tamas Vajk
9da8cb1165 C#: Simplify the output of cs/wrong-compareto-signature to remove entity locations 2024-03-21 10:27:55 +01:00
Jeroen Ketema
06313b9bb6 Merge pull request #15998 from MathiasVP/simplify-guard-in-incorrectly-check-scanf
C++: Simplify use of guard conditions in `cpp/incorrectly-checked-scanf`
2024-03-21 10:10:03 +01:00
Jeroen Ketema
84646cd795 C++: Add tests showing missing destructors for initialization statements
Incidentially this also shows that for contructs like `if (char x = ...)`, so
there is an initialization but not initializer statement, the initialization
is not displayed in the AST, although the IR does contain the initialization.
2024-03-21 09:40:00 +01:00
Michael Nebel
6619be3137 Merge pull request #15940 from michaelnebel/csharp/sourcesinktests
C#: Source- and sink tests.
2024-03-21 08:12:16 +01:00
Jeroen Ketema
ec071cde51 Merge pull request #15991 from jketema/destructors17
C++: Handle destruction of temporaries in expressions with a `thow` at the root
2024-03-21 07:47:09 +01:00
Jeroen Ketema
9300b04def C++: Update test results 2024-03-21 00:05:30 +01:00
Henry Mercer
a76832f4e0 Mark LOC queries as debug instead 2024-03-20 21:18:55 +00:00
Tom Hvitved
8f56edea80 Merge pull request #15966 from hvitved/treesitter-split-up-node-info-table
Tree-sitter: Split up `ast_node_info` table into two tables
2024-03-20 20:38:18 +01:00
Mathias Vorreiter Pedersen
0ef8c7d87f C++: Accept test changes. 2024-03-20 18:05:14 +00:00
Mathias Vorreiter Pedersen
1330c885c8 C++: Use 'asIndirectExpr' in the sink of 'ExistsAnyFlowConfig. 2024-03-20 18:04:59 +00:00
Mathias Vorreiter Pedersen
f31bb1391d C++: Simplify 'checkedForEof'. 2024-03-20 16:59:39 +00:00
Mathias Vorreiter Pedersen
5476f42d2c C++: Simplify use of 'GuardCondition's in 'cpp/missing-check-scanf'. 2024-03-20 16:44:43 +00:00
Mathias Vorreiter Pedersen
e3be2057d3 Merge pull request #15996 from MathiasVP/missing-check-scanf-path-problem
Make `cpp/missing-check-scanf` a `path-problem` query
2024-03-20 16:42:47 +00:00
Mathias Vorreiter Pedersen
96cd259eda C++: Add change note. 2024-03-20 14:56:39 +00:00
Mathias Vorreiter Pedersen
14aff5c94c C++: Convert 'cpp/missing-check-scanf' to a path-problem query. 2024-03-20 14:54:53 +00:00
Mathias Vorreiter Pedersen
0fe3072a65 Merge pull request #15988 from MathiasVP/clean-up-missing-check-scanf
C++: Rewrite 'cpp/missing-check-scanf' to use standard dataflow configs
2024-03-20 14:50:08 +00:00
Mathias Vorreiter Pedersen
ebac171b2b Java/Shared: Rename 'joinStep0' to 'joinStep'. 2024-03-20 14:40:16 +00:00
Mathias Vorreiter Pedersen
6a65c46b2e Java/Shared: Share more 'isNull' computations. 2024-03-20 14:36:12 +00:00
Mathias Vorreiter Pedersen
90fbacc7bf Java/Shared: Use getLocation instead of hasLocationInfo. 2024-03-20 14:29:48 +00:00
Michael Nebel
969676975d C#: Address review comments. 2024-03-20 15:28:56 +01:00
Michael B. Gale
616015fddf Merge pull request #15935 from github/mbg/go/speed-up-dependencies 2024-03-20 14:26:46 +00:00
Tom Hvitved
79dc7fcc04 C#: Avoid using TRAP stack in buildless mode 2024-03-20 15:21:36 +01:00
Taus
1d38ca371b Merge pull request #15845 from github/tausbn/python-extractor-fix-build
Python: Build external extractor
2024-03-20 15:18:59 +01:00
Michael B. Gale
648543f2fb Merge pull request #15989 from github/mbg/docs/go-1.22
Docs: Add Go 1.22 to supported versions range
2024-03-20 14:04:26 +00:00
Michael B. Gale
c74d6348f9 Go: Run go with a valid toolchain version if we have found an invalid one 2024-03-20 13:55:37 +00:00
Michael B. Gale
0d527b2f75 Go: Keep track of all installed toolchains that we know of 2024-03-20 13:52:06 +00:00
Jeroen Ketema
1fd11928eb Merge pull request #15978 from jketema/destructors16
C++: Handle destructors at temporary object lifetime expressions
2024-03-20 14:24:10 +01:00
Ian Lynagh
9086ec8b13 Merge pull request #15973 from igfoo/igfoo/exprs
Kotlin 2: Accept more test changes
2024-03-20 13:13:56 +00:00
Michael B. Gale
96a6dd72cd Go: Move go version command construction into its own function 2024-03-20 13:08:59 +00:00
Michael B. Gale
c71ba0361e Docs: Add Go 1.22 to supported versions range 2024-03-20 12:12:20 +00:00
Mathias Vorreiter Pedersen
c9dbb7c5a9 C++: Rewrite 'cpp/missing-check-scanf' to use standard dataflow configurations. 2024-03-20 12:01:57 +00:00
Michael B. Gale
06134467e9 Go: Make CODEQL_EXTRACTOR_GO_FAST_PACKAGE_INFO true by default 2024-03-20 12:01:49 +00:00
Ian Lynagh
3fa7532b43 Kotlin 2: Accept more test changes 2024-03-20 11:46:58 +00:00
Cornelius Riemenschneider
8fbd743e9e Merge pull request #15971 from github/criemen/bazel-7-1
Upgrade to bazel 7.1
2024-03-20 12:27:03 +01:00
Mathias Vorreiter Pedersen
7ff2998c88 Merge pull request #15980 from MathiasVP/guards-lt
C++: Support `<` reasoning for `switch` statements in Guards library
2024-03-20 10:40:39 +00:00
Mathias Vorreiter Pedersen
3a7b80da47 C++: Respond to review comments. 2024-03-20 10:12:29 +00:00
Mathias Vorreiter Pedersen
9179f0bda6 Merge pull request #15969 from MathiasVP/disable-some-constant-folding
C++: Disable _some_ constant folding in IR
2024-03-20 09:25:06 +00:00
Arthur Baars
1d956e1039 Merge pull request #15974 from github/dbartol/rc3.13-mergeback
Mergeback from `rc/3.13`
2024-03-20 10:13:32 +01:00
erik-krogh
db3bf0e482 use the sanitizers from ReflectedXSS in unsafe-html-construction 2024-03-20 10:11:07 +01:00
Jeroen Ketema
3ee965f2b9 C++: Update test results 2024-03-20 10:05:35 +01:00
Tom Hvitved
90779f4413 Ruby: Extend barrier guards to handle phi inputs 2024-03-20 10:02:20 +01:00
Tom Hvitved
0f0acc0428 Ruby: Add barrier guard flow tests 2024-03-20 09:25:20 +01:00
Alex Denisov
1cfde49297 Swift: remove unused patches 2024-03-20 09:24:25 +01:00
Alex Denisov
589a5039c8 Swift: update Swift 5.10 dependencies 2024-03-20 09:23:12 +01:00
Tony Torralba
0bb86fc087 Merge pull request #15983 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-20 09:00:34 +01:00
Paolo Tranquilli
10efcc2bb4 Swift: add -headerpad_max_install_names to link options 2024-03-20 08:35:33 +01:00
github-actions[bot]
f6f7073520 Add changed framework coverage reports 2024-03-20 00:15:31 +00:00
Mathias Vorreiter Pedersen
97aa301ac9 C++: Accept more test changes. 2024-03-19 17:33:23 +00:00
Mathias Vorreiter Pedersen
88bfb81b1f C++: Add change note. 2024-03-19 17:14:07 +00:00
Taus
d12ac1e7ce Python: Use tsp instead of tree-sitter-python 2024-03-19 17:11:40 +00:00
Taus
38169a981d Python: Shorten tree-sitter-python directory name
The current name results in a path that is more than 260 characters long,
and this causes issues for the build on Windows.
2024-03-19 17:11:40 +00:00
Taus
6f388acdd8 Python: Rename tsg_python_crate_index to py_deps
This aligns us a bit more with Ruby.
2024-03-19 17:11:40 +00:00
Taus
04c9ed37a7 Python: Fix reference in unit test
The referenced file lives in the internal repo, so this is perhaps a bit
of a hack, but I think it should be fine in the short run.
2024-03-19 17:11:40 +00:00
Taus
cac5a8236e Python: Fix CLI integration tests
Two issues:

- Tests relying on existing query machinery (i.e. `import python`) were not resolving
  correctly due to a bad `qlpack.yml` file.
- The diagnostics output tests needed an updated import to account for their new location.
2024-03-19 17:11:40 +00:00
Taus
0550c46766 Python: Fix Bazel build 2024-03-19 17:11:40 +00:00
Taus
5fed8bc57b Python: Add codeql-extractor.yml 2024-03-19 17:11:40 +00:00
Taus
016aedab0a Python: Move Python language pack tooling to external repo
This is essentially the contents of `language-packs/python/tools` with some minor
modifications to account for the changed location.

Of note: we explicitly exclude the `recorded-call-graph-metrics` director that
was already present in `python/tools`. When we revisit this directory for some
cleanup (e.g. to get rid of the `lgtm` references), we'll probably want to switch
to an explicit list of sources to include.
2024-03-19 17:11:40 +00:00
Taus
cdc879ee89 Python: Fix up some bazel references 2024-03-19 17:11:40 +00:00
Mathias Vorreiter Pedersen
1411ee5b26 C++: Extend tests to also test the new predicates and accept test changes. 2024-03-19 17:09:22 +00:00
Mathias Vorreiter Pedersen
a78080cc0e C++: Implement less-than logic for guard conditions when comparing to constants. 2024-03-19 17:06:26 +00:00
Mathias Vorreiter Pedersen
8b85735cdc C++: Generalize predicates from booleans to abstract values. 2024-03-19 17:03:59 +00:00
Dave Bartolomeo
bf46fa27d6 Merge remote-tracking branch 'origin/main' into dbartol/rc3.13-mergeback 2024-03-19 13:02:15 -04:00
Mathias Vorreiter Pedersen
aeb667c6ca Merge pull request #15976 from MathiasVP/guards-eq-follow-up
C++: Fix interface for `GuardCondition.comparesEq` and `GuardCondition.ensuresEq`
2024-03-19 16:45:38 +00:00
Mathias Vorreiter Pedersen
6bf1611f10 C++: Fix comments. 2024-03-19 16:26:37 +00:00
Michael B. Gale
be027e217e Go: Emit diagnostic for invalid toolchain versions 2024-03-19 16:26:06 +00:00
Mathias Vorreiter Pedersen
357a2ba733 C++: Sync identical files. 2024-03-19 16:24:11 +00:00
Mathias Vorreiter Pedersen
458ee13345 C++: Add constant analysis for bitwise operations now that these are no longer constant folded by IR construction. 2024-03-19 16:23:57 +00:00
yoff
ee411cc53a Merge pull request #15936 from yoff/python/test-conflicting-summaries
Python: No `fieldFlowBranchLimit` for `SummarizedCallable`s
2024-03-19 16:56:56 +01:00
Robert Marsh
467f4e11a1 C++: Change note for IR translation of destruction of temporaries with extended lifetimes 2024-03-19 15:55:36 +00:00
Robert Marsh
5a30ad162a C++: Add a comment for ReusedExpr IR translation 2024-03-19 15:54:52 +00:00
Robert Marsh
3d4f7d880d C++: unsuppress destructoion of temporaries with extended lifetimes 2024-03-19 15:54:42 +00:00
Robert Marsh
ba10ea8121 C++: ReuseExpr IR translation 2024-03-19 15:50:28 +00:00
Michael Nebel
d3aa2eed64 C#: Fix test. 2024-03-19 16:30:24 +01:00
Jeroen Ketema
f5fed84bb2 Merge pull request #15968 from jketema/destructors15
C++: Fabricate destructors for temporaries that occur in dynamic initializations
2024-03-19 16:16:43 +01:00
Owen Mansel-Chan
b8608a1b1c Merge pull request #15946 from owen-mc/java/more-manual-models
Java: more manual models
2024-03-19 15:00:27 +00:00
Mathias Vorreiter Pedersen
c640bd67e9 C++: Fix tests for guards. 2024-03-19 14:43:16 +00:00
Mathias Vorreiter Pedersen
6ce3f35ef5 C++: Fix API for guards. 2024-03-19 14:43:10 +00:00
Dave Bartolomeo
311ba8ea1b Merge from main to resolve conflicts 2024-03-19 10:41:31 -04:00
Harry Maclean
219cd4e415 Merge pull request #14426 from hmac/hmac-ar-scopes
Ruby: Track flow into ActiveRecord scopes
2024-03-19 14:19:14 +00:00
Chris Smowton
f8124222cc Merge pull request #15959 from smowton/smowton/admin/jdk22-test-changes
JDK22 upgrade test changes
2024-03-19 14:02:46 +00:00
Harry Maclean
7e479e3c8e Ruby: Fix Hash#keys flow summary 2024-03-19 13:47:45 +00:00
Tom Hvitved
ee3e38f0eb Simplify test interface in FlowSummaryImpl.qll 2024-03-19 14:35:00 +01:00
Owen Mansel-Chan
7371f5e508 Provenance should be "df-manual" 2024-03-19 13:33:49 +00:00
Mathias Vorreiter Pedersen
597f0082e7 Merge pull request #15958 from MathiasVP/ir-guards-from-switch-statements-2
C++: Implement guards logic for switch statements
2024-03-19 13:21:45 +00:00
Michael Nebel
70c6744944 Java/Go/Swift: Sync changes. 2024-03-19 14:20:43 +01:00
Michael Nebel
d24f032d97 C#: Update other tests. 2024-03-19 14:20:43 +01:00
Michael Nebel
b39842501a C#: Update sink test expected output. 2024-03-19 14:20:42 +01:00
Michael Nebel
e32902ad47 C#: Update source expected test output. 2024-03-19 14:20:42 +01:00
Michael Nebel
5b37ee4ec7 Re-factor TestOutput into a param module. 2024-03-19 14:20:42 +01:00
Mathias Vorreiter Pedersen
54262a53c3 Revert "C++: Accept test changes."
This reverts commit f36b48346e.
2024-03-19 13:18:01 +00:00
Mathias Vorreiter Pedersen
a88d8b260d C++: Only ignore constant folding for certain binary operations. 2024-03-19 13:17:49 +00:00
Mathias Vorreiter Pedersen
a97891cbc1 C++: Add QLDoc to 'getNumberOfBinaryOperands' (and rename it to 'getNumberOfNestedBinaryOperands'). 2024-03-19 12:56:15 +00:00
Mathias Vorreiter Pedersen
f36b48346e C++: Accept test changes. 2024-03-19 12:50:43 +00:00
Harry Maclean
df1845379a Merge pull request #15965 from hmac/hmac-symbol-constant
Ruby: remove isString from TSymbol
2024-03-19 12:50:27 +00:00
Michael Nebel
90db9b330f C#: Add MaD source and sink test query to shared library. 2024-03-19 13:45:38 +01:00
Cornelius Riemenschneider
42c5066cae Upgrade to bazel 7.1 2024-03-19 13:40:45 +01:00
Harry Maclean
22ddf2129b Ruby: remove isString from TSymbol 2024-03-19 12:27:34 +00:00
Tom Hvitved
2e370e2ded Python: Switch to shared XML.qll implementation 2024-03-19 13:17:53 +01:00
Tom Hvitved
61ef9e2e5c JS: Switch to shared XML.qll implementation 2024-03-19 13:17:50 +01:00
Tom Hvitved
a6c147134a Java: Switch to shared XML.qll implementation 2024-03-19 13:15:45 +01:00
Tom Hvitved
754b491d09 C++: Switch to shared XML.qll implementation 2024-03-19 13:14:42 +01:00
Tom Hvitved
529e901fb1 C#: Switch to shared XML.qll implementation 2024-03-19 13:14:42 +01:00
Tom Hvitved
7055cd8239 Make XML.qll a parameterized module 2024-03-19 13:14:42 +01:00
Tom Hvitved
ccfbd2956c Copy existing XML.qll into new a new codeql/xml pack 2024-03-19 13:14:42 +01:00
Tom Hvitved
31e04631d1 QL4QL: Regenerate DB scheme and stats 2024-03-19 13:04:12 +01:00
Tom Hvitved
865026f22b Ruby: Add up/downgrade scripts (sigh) 2024-03-19 13:04:12 +01:00
Tom Hvitved
72ff494739 Ruby: Regenerate dbscheme and stats 2024-03-19 13:04:07 +01:00
Mathias Vorreiter Pedersen
1af1ba48a9 C++: Accept test changes. 2024-03-19 11:46:51 +00:00
Mathias Vorreiter Pedersen
4d3076ae7e C++: Don't constant fold small binary operations. 2024-03-19 11:46:51 +00:00
Mathias Vorreiter Pedersen
e16e1c7e83 C++: Add tests. 2024-03-19 11:26:32 +00:00
Jeroen Ketema
06dbb4e9ef Merge pull request #15937 from jketema/destructors14
C++: Handle destructors of temporaries with extended lifetimes
2024-03-19 12:07:05 +01:00
Mathias Vorreiter Pedersen
d7afd7b2e1 C++: Accept test changes. 2024-03-19 10:54:35 +00:00
Mathias Vorreiter Pedersen
350b239ed6 C++: Fix cartesian product in 'simple_comparison_eq'. 2024-03-19 10:29:43 +00:00
Jeroen Ketema
d47e2690b8 C++: Update test results after extractor changes 2024-03-19 11:18:36 +01:00
Jeroen Ketema
fd49871b9a C++: Handle destructors of temporaries with extended lifetimes 2024-03-19 10:56:44 +01:00
Tom Hvitved
cee6f003fd Tree-sitter: Split up ast_node_info table into two tables 2024-03-19 10:52:37 +01:00
Mathias Vorreiter Pedersen
0c3d9f75f4 C++: Add change note. 2024-03-19 09:41:58 +00:00
yoff
f025430431 Merge pull request #15319 from Sim4n6/main
[Python] Add Unicode DoS (qhelp, tests and the query)
2024-03-19 10:00:30 +01:00
Rasmus Wriedt Larsen
d78efdb67b Merge pull request #15883 from RasmusWL/js-cg-tests
JS: show test changes after #15823
2024-03-19 09:58:20 +01:00
Harry Maclean
dde148ee7e Ruby: add changenote 2024-03-19 08:40:30 +00:00
Harry Maclean
32b80f8cb1 Ruby: Add tests for hash flow 2024-03-19 08:38:14 +00:00
Tom Hvitved
5ab1047b14 Merge pull request #15882 from hvitved/js/dataflow-node-get-location
JS: Add `DataFlow::Node.getLocation`
2024-03-19 09:21:00 +01:00
Chris Smowton
9a8ec36a4f Accept test changes 2024-03-19 07:55:08 +00:00
Mathias Vorreiter Pedersen
aa1d5c5e41 Merge pull request #15960 from MathiasVP/unitialized-local-as-path
C++: Convert `cpp/uninitialized-local` to a `path-problem` query
2024-03-18 21:18:17 +00:00
Erik Krogh Kristensen
a3da6c886b Merge pull request #15895 from erik-krogh/url-java-qhelp
Java: update the url-redirection in the same style as the C# qhelp
2024-03-18 21:10:07 +01:00
yoff
44ab36f238 Merge pull request #15729 from yoff/python/hardcoded-credentials-without-pointsto
python: Rewrite `HardcodedCredentials` away from `PointsTo`
2024-03-18 20:48:30 +01:00
Tom Hvitved
fc55567d90 Merge pull request #15853 from hvitved/dataflow/get-location
Data flow: Replace `hasLocationInfo` with `getLocation`
2024-03-18 20:21:46 +01:00
Tom Hvitved
8899d66132 Merge pull request #15734 from hvitved/dataflow/hidden-subpath
Data flow: Account for hidden `subpath` wrappers
2024-03-18 20:17:16 +01:00
Michael B. Gale
3649af3f05 Go: Add test for go/autobuilder/invalid-go-toolchain-version diagnostic 2024-03-18 17:56:59 +00:00
Harry Maclean
187a68bf76 Ruby: Add flow summary for Hash#keys 2024-03-18 17:56:10 +00:00
Harry Maclean
e895f96a3a Ruby: Taint flow to second block param in map
When `map` is called on a hash, the values in the hash are passed to the
second parameter of the block.
2024-03-18 17:55:02 +00:00
Mathias Vorreiter Pedersen
b66b8785c4 Merge branch 'main' into unitialized-local-as-path 2024-03-18 17:42:53 +00:00
Chris Smowton
35a309fd40 Merge pull request #15897 from smowton/smowton/admin/test-for-gradle-wrapper-without-gradle
Java: add test for partial gradle wrapper without gradle on the path
2024-03-18 17:07:20 +00:00
Owen Mansel-Chan
764e99bda7 Fix model for java.util.Scanner#findall(String)
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-18 16:56:20 +00:00
Owen Mansel-Chan
e10ce8875f Merge pull request #15947 from owen-mc/java/fix-model-provenance-to-df-manual
Fix model provenance to df-manual
2024-03-18 16:54:39 +00:00
Mathias Vorreiter Pedersen
9c2b2160ce Merge pull request #15939 from MathiasVP/experimental-surprising-lifetimes-for-range-based-for-loop
C++: Add an experimental query for surprising lifetimes from range-based for loops
2024-03-18 16:43:11 +00:00
Mathias Vorreiter Pedersen
40dbc6fdd9 C++: Accept test changes. 2024-03-18 16:27:18 +00:00
Mathias Vorreiter Pedersen
032678a367 C++: Extend tests to also test the new predicates. 2024-03-18 16:27:10 +00:00
Mathias Vorreiter Pedersen
dbd47b387a C++: Add AST wrappers for the new predicates. 2024-03-18 16:26:36 +00:00
Mathias Vorreiter Pedersen
decede51dc C++: Use the new predicate in 'ScanfChecks.qll'. 2024-03-18 16:07:57 +00:00
Mathias Vorreiter Pedersen
44045d3eed C++: Add guards logic for constant comparisons. 2024-03-18 16:07:57 +00:00
Mathias Vorreiter Pedersen
a21eea4ee0 C++: Generalize more predicates from booleans to abstract values. 2024-03-18 16:07:57 +00:00
Arthur Baars
e812682991 Merge pull request #15955 from github/post-release-prep/codeql-cli-2.16.5
Post-release preparation for codeql-cli-2.16.5
2024-03-18 16:58:01 +01:00
Mathias Vorreiter Pedersen
b944f3b411 C++: Fix FP. 2024-03-18 15:57:20 +00:00
Mathias Vorreiter Pedersen
e373341f62 C++: Add more tests. 2024-03-18 15:57:17 +00:00
Ian Lynagh
60b5e49905 Java: Limit the amount of results that MissingEnumInSwitch produces per switch
The tool status page warns:
    An analysis file contained multiple alerts that included more related
    locations than our allowed limit of 100.
    These alerts correspond to the rule java/missing-case-in-switch.
    Only 100 locations were stored for these alerts.
2024-03-18 15:56:21 +00:00
Ian Lynagh
916b1e959e Java: Add a test for MissingEnumInSwitch 2024-03-18 15:56:10 +00:00
Chris Smowton
af7b1bc425 Java: add test for partial gradle wrapper without gradle on the path
Note I had to mimic the actual absence of Gradle by testing the case where it fails, but have manually verified a missing binary works too.
2024-03-18 15:37:39 +00:00
Mathias Vorreiter Pedersen
668239f355 C++: Convert tabs to spaces. 2024-03-18 15:16:10 +00:00
Mathias Vorreiter Pedersen
bd0969b87b C++: Add change note. 2024-03-18 15:04:19 +00:00
Mathias Vorreiter Pedersen
4a55b6fbdf C++: Make 'cpp/uninitialized-local' a path-problem query. 2024-03-18 15:02:33 +00:00
Harry Maclean
80ae017aa1 Ruby: Track flow into ActiveRecord scopes 2024-03-18 15:01:37 +00:00
Tom Hvitved
0cecbf5239 Update 2024-02-28-hidden-subpaths.md
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-18 15:36:01 +01:00
Joe Farebrother
4177c38ed4 Merge pull request #15907 from joefarebrother/ruby-uploaded-file
Ruby: Model ActiveDispatch::Http::UploadedFile
2024-03-18 14:02:33 +00:00
Tamas Vajk
322fb6c507 Change integration test to return stable results 2024-03-18 14:53:49 +01:00
Tom Hvitved
7a3b8ebb3a Address review comments 2024-03-18 14:49:35 +01:00
Tom Hvitved
40089e8088 Add change note 2024-03-18 14:49:35 +01:00
Tom Hvitved
e53357d376 Update expected test output 2024-03-18 14:49:32 +01:00
Tom Hvitved
d7c9bfa08b Data flow: Account for hidden subpath wrappers 2024-03-18 14:47:11 +01:00
Sim4n6
1af8167354 updated the .expected file 2024-03-18 13:26:20 +00:00
Tamas Vajk
d749335f54 C#: Limit extracted compilation and extraction messages 2024-03-18 14:24:34 +01:00
Tom Hvitved
d83500de5d Address review comments 2024-03-18 14:24:07 +01:00
Tamas Vajk
e8e1dc0390 C#: Add integration test with extraction and compilation messages 2024-03-18 14:23:40 +01:00
github-actions[bot]
aebe9f6992 Post-release preparation for codeql-cli-2.16.5 2024-03-18 12:16:26 +00:00
Rasmus Wriedt Larsen
c82f5dad56 JS: show test changes after #15823 2024-03-18 13:09:37 +01:00
Rasmus Wriedt Larsen
28c3d35e9b Merge commit '7c35309732dd2aa4dc0b4e2949922272ad448854' into js-cg-tests 2024-03-18 13:08:46 +01:00
Rasmus Wriedt Larsen
f9309cec0b JS: Add tests before #15823 changes 2024-03-18 13:08:39 +01:00
Mathias Vorreiter Pedersen
7b6accd33a Update cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-03-18 12:01:51 +00:00
Mathias Vorreiter Pedersen
457d71d7bc Update cpp/ql/src/experimental/Security/CWE/CWE-416/IteratorToExpiredContainer.ql
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com>
2024-03-18 12:01:44 +00:00
Arthur Baars
dbf16827bf Merge pull request #15951 from github/aibaars/changenotes-fixes
Fix minor formatting issues in changenotes
2024-03-18 12:56:50 +01:00
Tamás Vajk
7429fa7b96 Merge pull request #15952 from tamasvajk/buildless/impr1
C#: Add logging for source file parsing
2024-03-18 12:27:27 +01:00
Tamás Vajk
f63c9fa07f Merge pull request #15953 from tamasvajk/buildless/impr2
C#: Iterate text files only once
2024-03-18 12:26:38 +01:00
Ian Lynagh
d2bb951ecd Merge pull request #15943 from igfoo/igfoo/k2locs
Kotlin 2: Accept more location changes
2024-03-18 11:26:08 +00:00
Owen Mansel-Chan
7fb05f4a76 Fix duplicate "df-" in "df-df-manual" 2024-03-18 11:17:55 +00:00
Mathias Vorreiter Pedersen
575af1a5f9 Merge branch 'main' into experimental-surprising-lifetimes-for-range-based-for-loop 2024-03-18 11:11:32 +00:00
Mathias Vorreiter Pedersen
1d12e0c9d9 Merge pull request #15941 from MathiasVP/ir-guards-from-switch-statements
C++: Handle `switch` statements in the guards library
2024-03-18 11:07:10 +00:00
Mathias Vorreiter Pedersen
e0476b555d Merge pull request #15934 from MathiasVP/ir-models-for-iterators
C++: Add alias and side-effect models to `begin` and `end` functions
2024-03-18 11:06:59 +00:00
Arthur Baars
769e3469a4 Merge pull request #15954 from github/release-prep/2.16.5
Release preparation for version 2.16.5
2024-03-18 11:56:14 +01:00
Mathias Vorreiter Pedersen
0be329dbdc C++: Delete duplicated code. 2024-03-18 10:33:40 +00:00
github-actions[bot]
0a6243d07b Release preparation for version 2.16.5 2024-03-18 10:14:07 +00:00
Mathias Vorreiter Pedersen
51db2b0bc4 C++: Convert tabs to spaces in ir.cpp. 2024-03-18 10:11:37 +00:00
Tamas Vajk
881c426631 C#: Iterate text files only once 2024-03-18 11:06:44 +01:00
Tamas Vajk
3a8d468983 C#: Add logging for source file parsing 2024-03-18 11:02:29 +01:00
Arthur Baars
a810165e35 Fix minor formatting issues in changenotes 2024-03-18 10:57:05 +01:00
Tom Hvitved
a13391bda1 Merge pull request #15802 from hvitved/dataflow/variable-capture-overlapping-paths
Variable capture: Avoid overlapping and false-positive data flow paths
2024-03-18 10:45:55 +01:00
Rasmus Lerchedahl Petersen
2a0c451d2d python: No fieldFlowBranchLimit for SummarizedCallables
Like https://github.com/github/codeql/pull/15689 for Ruby.
2024-03-18 10:29:36 +01:00
Rasmus Lerchedahl Petersen
45c65b48aa python: make it a real package
so python2 also respects it
2024-03-18 08:49:31 +01:00
Jami Cogswell
a8eb1d10f6 Java: remove experimental tests 2024-03-17 22:35:27 -04:00
Jami Cogswell
658fffeac1 Java: remove experimental files 2024-03-17 22:03:59 -04:00
Owen Mansel-Chan
754d4cd959 Fix model provenance to df-manual 2024-03-17 14:36:47 +00:00
Owen Mansel-Chan
23a58a0835 Add df-manual models related to existing df-manual models 2024-03-17 14:21:05 +00:00
Owen Mansel-Chan
fc367042ef Fix df-manual model with wrong parameter type 2024-03-17 14:21:01 +00:00
Ian Lynagh
a53d5d832d Kotlin 2: Accept more loc changes 2024-03-15 18:08:53 +00:00
Ian Lynagh
c4c843968e Kotlin 2: Accept more loc changes 2024-03-15 18:07:39 +00:00
Ian Lynagh
57d17d85f2 Kotlin 2: Accept more loc changes 2024-03-15 18:07:12 +00:00
Ian Lynagh
6c0885c24d Kotlin 2: Accept more loc changes 2024-03-15 18:06:45 +00:00
Jami Cogswell
55f7369df0 Java: performance fix 2024-03-15 14:06:36 -04:00
Ian Lynagh
5580daf60e Kotlin 2: Accept more loc changes 2024-03-15 18:06:13 +00:00
Ian Lynagh
1d2b31f0be Kotlin 2: Accept more loc changes 2024-03-15 18:05:46 +00:00
Ian Lynagh
5552fe3c34 Kotlin 2: Accept more loc changes 2024-03-15 18:05:09 +00:00
Ian Lynagh
28f98d0344 Kotlin 2: Accept more location changes 2024-03-15 18:04:28 +00:00
Ian Lynagh
354cdf44aa Kotlin 2: Accept more location changes 2024-03-15 18:03:55 +00:00
Ian Lynagh
f4542f6160 Kotlin2 : Accept some more location changes 2024-03-15 18:02:54 +00:00
Mathias Vorreiter Pedersen
e23e3d7fb4 C++: Run tests without the extractor and analysis changes. 2024-03-15 17:35:47 +00:00
Mathias Vorreiter Pedersen
a8718f99a1 C++: Add qhelp for 'cpp/iterator-to-expired-container'. 2024-03-15 17:35:47 +00:00
Mathias Vorreiter Pedersen
3a8db49573 C++: Add tests for 'cpp/iterator-to-expired-container'.
NOTE: This is with the yet-to-be-merged changes to the extractor and IR generation.
2024-03-15 17:35:17 +00:00
Mathias Vorreiter Pedersen
f4f417c3f9 C++: Fix QLoc. 2024-03-15 17:19:36 +00:00
Mathias Vorreiter Pedersen
b5e59492bf C++: Add change note. 2024-03-15 17:17:05 +00:00
Mathias Vorreiter Pedersen
fb218150e1 C++: Change the testcase so that it outputs the controlling values for switch statements as well. 2024-03-15 17:05:42 +00:00
Mathias Vorreiter Pedersen
07ebbb0591 C++: Accept test changes. 2024-03-15 17:04:27 +00:00
Mathias Vorreiter Pedersen
34decd3cf1 C++: Add more general public predicates to work with abstract values. 2024-03-15 17:03:45 +00:00
Mathias Vorreiter Pedersen
f4eb5f5a2d C++: Convert 'getBranchSuccessor' to use abstract values. 2024-03-15 17:03:45 +00:00
Mathias Vorreiter Pedersen
b7292fbc67 C++: Introduce 'AbstractValue' similar to what C# has. 2024-03-15 17:03:45 +00:00
Mathias Vorreiter Pedersen
2af68d37d0 C++: Include 'SwitchInstruction's as 'IRGuardCondition's. 2024-03-15 17:03:45 +00:00
Mathias Vorreiter Pedersen
704f1fad46 C++: Add switches as testcases for guard conditions. 2024-03-15 17:02:32 +00:00
Max Schaefer
daee22d38c Merge pull request #15933 from github/max-schaefer/go-incomplete-hostname-regex
Go: Mention raw string iterals in QHelp for `go/incomplete-hostname-regexp`.
2024-03-15 15:07:10 +00:00
Edward Minnix III
8ae64e992c Merge pull request #15929 from egregius313/egregius313/csharp/mad/source-node-clases-for-models
C#: Add classes extending `SourceNode` for local and stored source models
2024-03-15 11:06:14 -04:00
Joe Farebrother
8c5fff2d11 Update names and qldoc for params taint predicates 2024-03-15 14:43:29 +00:00
Mathias Vorreiter Pedersen
23cf99734a C++: Add a new experimental query ' cpp/iterator-to-expired-container'. 2024-03-15 14:29:29 +00:00
Mathias Vorreiter Pedersen
f7c29e6bfb C++: Expose some previously private classes from our models so they can be used in queries. 2024-03-15 14:21:39 +00:00
Rasmus Lerchedahl Petersen
cfbc3f73ec Pyhton: add test for conflicting summaries
We noticed that when
- a function has more than one summary (with different charpred)
- one summary is subsumed by a subpath (or something happens around the function being extracted)
- the function is called multiple times(we needed at least three)
one of the summaries would no longer lead to flow.
2024-03-15 15:13:39 +01:00
Sim4n6
3acdd3382c Update the expected file 2024-03-15 14:17:23 +01:00
Sim4n6
26a16b7857 use of a single var "op" of type Cmpop 2024-03-15 14:17:23 +01:00
Sim4n6
a717bf1b9d Fix p tag in UnicodeDoS.qhelp 2024-03-15 14:17:23 +01:00
Sim4n6
af19a0342e Fix UnicodeDoS vulnerability in CWE-770 code 2024-03-15 14:17:23 +01:00
Sim4n6
085d803b14 Fix UnicodeDoS vulnerability in CWE-770 2024-03-15 14:17:23 +01:00
Sim4n6
31dc542111 Update request parameter name in good_1() function 2024-03-15 14:17:23 +01:00
Sim4n6
70ebc58b4c Refactor Unicode normalization code 2024-03-15 14:17:23 +01:00
Sim4n6
3d8868a6c3 Add routes for bad_5 and bad_6, and fix routes for good_3 and good_4 2024-03-15 14:17:23 +01:00
Sim4n6${{7*'7'}}
658b88e62f Update python/ql/src/experimental/Security/CWE-770/UnicodeDoS.ql
update the Config API

Co-authored-by: yoff <lerchedahl@gmail.com>
2024-03-15 14:17:23 +01:00
Sim4n6
1f767b887e Add some comments and docs 2024-03-15 14:17:23 +01:00
Sim4n6
5cc9170249 Add UnicodeDoS sink for werkzeug secure_filename 2024-03-15 14:17:23 +01:00
Sim4n6
342465057c Add Unicode DoS (CWE-770) 2024-03-15 14:17:23 +01:00
Mathias Vorreiter Pedersen
19c9ea7e20 C++: Implement alias and side effect models for iterators. 2024-03-15 12:13:43 +00:00
Mathias Vorreiter Pedersen
a51fe4a00e C++: Make the vector and iterator classes in 'ir.cpp' more realistic. This matches the one we use for dataflow tests. 2024-03-15 12:10:48 +00:00
Max Schaefer
d3e0a90ae5 Go: Mention raw string iterals in QHelp for go/incomplete-hostname-regexp. 2024-03-15 11:22:40 +00:00
Tom Hvitved
693c28a821 Merge pull request #15931 from hvitved/ql/remove-missing-override-query
QL4QL: Remove `MissingOverride` query
2024-03-15 11:28:41 +01:00
Owen Mansel-Chan
8e52483beb Add df-manual models in manually modeled classes 2024-03-15 10:10:23 +00:00
Tom Hvitved
80649786c3 QL4QL: Remove MissingOverride query 2024-03-15 11:06:15 +01:00
Tom Hvitved
e7b00a7b42 Ruby: Add post-update argument nodes for string constants 2024-03-15 10:47:39 +01:00
Rasmus Wriedt Larsen
7eb4419342 Python: Restrict type-tracking content to only be precise
At least for now :)
2024-03-15 10:24:57 +01:00
Rasmus Wriedt Larsen
6babb2ff90 Python: Accept .expected for typetracking-summaries 2024-03-15 10:24:33 +01:00
Rasmus Wriedt Larsen
00f2a6a65e Python: Update ssa-compute test expectations 2024-03-15 10:14:45 +01:00
Tony Torralba
171ff4d161 Merge pull request #15928 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-15 09:24:57 +01:00
Ed Minnix
71cf948650 Classes extending SourceNode for local and stored source models
Queries such as `cs/sql-injection` cast their source to a `SourceNode`
in order to describe them. For example:

```ql
import semmle.code.csharp.security.dataflow.flowsources.FlowSources

string getSourceType(DataFlow::Node source) {
   result = source.(SourceNode).getSourceType()
}
```

Models as data source models are not included in `SourceNode` by
default, they must be wrapped with a class extending `SourceNode`.

This adds such classes, which wrap the
`sourceNode(DataFlow::Node,string)` predicate and assigns a
`getSourceType`.
2024-03-14 22:23:54 -04:00
github-actions[bot]
7f05743212 Add changed framework coverage reports 2024-03-15 00:16:16 +00:00
Joe Farebrother
f464f1b94e Accept test output + fix qldoc typo 2024-03-14 22:25:37 +00:00
Joe Farebrother
b4ed77343b Add change note + fix qldoc 2024-03-14 22:25:36 +00:00
Joe Farebrother
3e61be1b6a Add test cases 2024-03-14 22:25:36 +00:00
Joe Farebrother
5333c75919 Model additional string attributes 2024-03-14 22:25:36 +00:00
Joe Farebrother
8c31b612ca Model UploadedFile original_filename and read 2024-03-14 22:25:35 +00:00
Mathias Vorreiter Pedersen
6dddae0154 Merge pull request #15925 from MathiasVP/rename-dataflowutil-class
C++: Follow-up to #15918
2024-03-14 18:15:14 +00:00
Tony Torralba
ee3efbadae Merge pull request #15924 from atorralba/atorralba/go/hardcoded-credentials-fix
Go: Consider more strings as hardcoded credentials
2024-03-14 16:52:34 +01:00
Tamás Vajk
945121de1b Merge pull request #15922 from tamasvajk/buildless/namespace-extraction
C#: Handle namespace resolution error more gracefully
2024-03-14 16:19:48 +01:00
Michael Nebel
2280469564 Merge pull request #15902 from michaelnebel/csharp/uncontrolledformatstring
C#: Remove hard-coded local sources from the uncontrolled-format-string query.
2024-03-14 15:21:31 +01:00
Mathias Vorreiter Pedersen
7fdea27d33 C++: Rename 'IndirectTemporaryExpr' to 'IndirectOperandExprNode'. 2024-03-14 11:46:15 +00:00
Owen Mansel-Chan
2bd08838d4 Add manual neutral models for java.lang.ClassLoader 2024-03-14 11:40:06 +00:00
Owen Mansel-Chan
5b734c76b6 Add manual neutral models for java.util.Locale and its subclasses 2024-03-14 11:39:59 +00:00
Tony Torralba
20691e409c Add change note 2024-03-14 11:56:43 +01:00
Mathias Vorreiter Pedersen
9aefdca7a7 Merge pull request #15875 from MathiasVP/bring-back-type-barriers-in-non-constant-format
C++: Clean up `cpp/non-constant-format`
2024-03-14 10:51:23 +00:00
Tony Torralba
30d906d42a Merge pull request #15906 from atorralba/atorralba/java/jdk-neutrals
Java: Add more neutral JDK models
2024-03-14 11:07:06 +01:00
Geoffrey White
19cc620f18 C++: Effect of 'Fix dataflow node <> expression problem on prvalues' from main. 2024-03-14 09:47:38 +00:00
Rasmus Wriedt Larsen
7a3ee0f5f8 Python: Make IterableSequenceNode LocalSourceNode
We do this to remove the inconsistencies, and to be ready for a future
where type-tracking support content tracker of depth > 1.

It works because targets of loadSteps needs to be LocalSourceNodes

predicate loadStep(Node nodeFrom, LocalSourceNode nodeTo, Content content) {
2024-03-14 10:46:29 +01:00
Geoffrey White
f208594067 Merge branch 'main' into mad 2024-03-14 09:44:45 +00:00
Rasmus Wriedt Larsen
6ffaad1bc8 Python: Expand type-tracking tests with nested tuples
I was initially surprised to see that this didn't work, until I
remembered that type-tracking only works with content of depth 1.
2024-03-14 10:44:25 +01:00
Rasmus Wriedt Larsen
af8cef5b53 Python: Fixup deprecated type-tracker API 2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
2b09b084e0 Python: Add change-note 2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
7de304bf16 Python: Add proper type-tracking tests for content
Instead of just relying on the call-graph tests
2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
fa0c4e18fc Python: Expand dict-content tt test even more
While it might be useful to track content to any lookup, it's not
something we do right now.
2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
4d78762ba8 Python: Ignore consistency failure 2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
8a7ffac19c Python: Accept consistency failure 2024-03-14 10:43:28 +01:00
Rasmus Wriedt Larsen
92729dbbd6 Python: Support iterable unpacking in type-tracking 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
0cf3fe4a4c Python: Expand dict update tests 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
dac2b57bb0 Python: type-track through dict-updates 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
73fe596753 Python: type-tracking through dictionary construction 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
ece8245a4b Python: type-track through tuple content 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
a95bb7c86b Python: Expand function reference in content test 2024-03-14 10:42:38 +01:00
Rasmus Wriedt Larsen
7721fb3331 Python: Setup shared read/store steps 2024-03-14 10:42:37 +01:00
Rasmus Wriedt Larsen
636cf611ae Python: Allow general content in type-tracker
This should not result in many changes, since store/load steps are still
only implemented for attributes.
2024-03-14 10:42:37 +01:00
Rasmus Wriedt Larsen
fc8caa66c8 Python: Prepare for general content in type-tracker
Due to the char-pred of Content, this change should keep exactly the
same behavior as before.
2024-03-14 10:42:37 +01:00
Mathias Vorreiter Pedersen
dacf7d73d9 Merge pull request #15918 from MathiasVP/fix-as-expr-for-temps
C++: Fix dataflow node <> expression problem on prvalues
2024-03-14 09:38:46 +00:00
Tony Torralba
87b2dcc892 Adjust test expectations 2024-03-14 10:25:04 +01:00
Mathias Vorreiter Pedersen
a24432bacc Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll 2024-03-14 09:23:33 +00:00
Mathias Vorreiter Pedersen
c375497fa5 Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll 2024-03-14 09:16:04 +00:00
Tony Torralba
d8c0ab8e1f Go: Consider more strings as hardcoded credentials 2024-03-14 10:11:39 +01:00
Tony Torralba
9d44045e6f Adjust test expectations 2024-03-14 09:41:34 +01:00
Tony Torralba
eecab9122a Recognize the model generator involvement in the models' provenances 2024-03-14 08:56:23 +01:00
Tony Torralba
5b88b8a3ed A few more neutrals 2024-03-14 08:53:58 +01:00
Tony Torralba
36f6a6fb10 Model more EnumSet methods as neutrals 2024-03-14 08:46:43 +01:00
Tamas Vajk
b5f349bd2c C#: Handle namespace resolution error more gracefully 2024-03-14 08:37:22 +01:00
Jeroen Ketema
b2e0485c94 Merge pull request #15908 from jketema/destructors12
C++: suppress destructors with reuse expressions until proper support is added
2024-03-14 07:41:59 +01:00
Jami Cogswell
e285cf232c Java: add resource-related methods as path-injection sinks and as summaries 2024-03-13 22:48:57 -04:00
Mathias Vorreiter Pedersen
a839c92979 C++: Fix mapping issue between dataflow nodes and expressions when the expression is a prvalue. 2024-03-13 22:59:09 +00:00
Mathias Vorreiter Pedersen
2fc0922b29 Merge branch 'main' into bring-back-type-barriers-in-non-constant-format 2024-03-13 22:46:35 +00:00
Mathias Vorreiter Pedersen
d1c253b519 C++: Accept test changes. 2024-03-13 22:41:32 +00:00
Mathias Vorreiter Pedersen
61597f5ac7 C++: This commit does two things:
1. It fixes a logic error in the cannotContainString predicate.
2. It reverts the changes to the `isSource` predicate that required the external
function to be within the source root.

The change to `isSource` was meant to fix the a performance problem that occurred
because of the logic error in the cannotContainString predicate. However, now that
the logic error is fixed this is no longer necessary 🎉
2024-03-13 22:40:06 +00:00
erik-krogh
ef8368cfc4 fix typo 2024-03-13 22:37:13 +01:00
Jami Cogswell
1b01f26d09 Java: adjust BarrierPrefix to handle prepended chars 2024-03-13 16:28:45 -04:00
Jami Cogswell
5ac453eb38 Java: add spurious test case for StringBuilder.append 2024-03-13 16:28:45 -04:00
Jami Cogswell
04d27f2d65 Java: adjust prefix barriers 2024-03-13 16:28:44 -04:00
Jami Cogswell
e99cea340b Java: update UrlPathBarrier to include FollowsBarrierPrefix 2024-03-13 16:28:44 -04:00
Jami Cogswell
c5a59d6c51 Java: add QLDoc 2024-03-13 16:28:44 -04:00
Jami Cogswell
7310c155e2 Java: rename SpringUrlForwardSink 2024-03-13 16:28:44 -04:00
Jami Cogswell
a002674587 Java: clean up comments on test cases 2024-03-13 16:28:44 -04:00
Jami Cogswell
a8075969d8 Java: add QLDocs to UrlPathBarrier code 2024-03-13 16:28:44 -04:00
Jami Cogswell
042dcf9cd9 Java: some updates to UrlPathBarrier code 2024-03-13 16:28:44 -04:00
Jami Cogswell
052452b186 Java: create UrlDecodeMethod 2024-03-13 16:28:44 -04:00
Jami Cogswell
d220b3a298 Java: some updates to test cases 2024-03-13 16:28:43 -04:00
Jami Cogswell
d9772c1880 Java: update change note 2024-03-13 16:28:43 -04:00
Jami Cogswell
43b49628fc Java: use new 'SimpleTypeSanitizer', and update some non-extending subtype relationships 2024-03-13 16:28:43 -04:00
Jami Cogswell
2708e53c7f Java: remove redundant imports 2024-03-13 16:28:43 -04:00
Jami Cogswell
f573032b2e Java: remove todo comments from ext files 2024-03-13 16:28:43 -04:00
Jami Cogswell
911a61df22 Java: initial update of barrier and test cases to remove FN 2024-03-13 16:28:42 -04:00
Jami Cogswell
c8ec301793 Java: add change note 2024-03-13 16:28:42 -04:00
Jami Cogswell
e75c96c0f9 Java: combine test cases; add test for StaplerResponse.forward 2024-03-13 16:28:41 -04:00
Jami Cogswell
5fa63ab5c2 Java: update/add some TODO comments 2024-03-13 16:28:41 -04:00
Jami Cogswell
c331393cfd Java: update qhelp 2024-03-13 16:28:41 -04:00
Jami Cogswell
09bc21dbd3 Java: rename 'UnsafeUrlForward' to 'UrlForward' 2024-03-13 16:28:41 -04:00
Jami Cogswell
6e7c05467b Java: update query metadata and alert message 2024-03-13 16:28:41 -04:00
Jami Cogswell
5a9d7552b3 Java: add some comments and minor code reorg 2024-03-13 16:28:41 -04:00
Jami Cogswell
1da1e896cb Java: convert SpringModelAndViewSink to MaD 2024-03-13 16:28:41 -04:00
Jami Cogswell
8d66097483 Java: switch StaplerResponse.forward from request-forgery sink to url-forward sink 2024-03-13 16:28:41 -04:00
Jami Cogswell
42e3825ea3 Java: convert RequestDispatcherSink to MaD 2024-03-13 16:28:40 -04:00
Jami Cogswell
4ff884e26c Java: remove more path-injection related classes (will maybe add some of these back in a separate PR) 2024-03-13 16:28:40 -04:00
Jami Cogswell
2a682995ae Java: move MaD models to correct files, delete ones that already exist 2024-03-13 16:28:40 -04:00
Jami Cogswell
915e106ab3 Java: remove path-injection related models and tests for now 2024-03-13 16:28:40 -04:00
Jami Cogswell
35a083ae9e Java: update test cases to use inline expectations 2024-03-13 16:28:40 -04:00
Jami Cogswell
2793f28428 Java: move config to Query.qll file 2024-03-13 16:28:40 -04:00
Jami Cogswell
0d38a9625e Java: copy files from experimental 2024-03-13 16:28:39 -04:00
Jeroen Ketema
866a3934d4 C++: suppress destructors with reuse expressions until proper support is added 2024-03-13 20:17:00 +01:00
Tom Hvitved
54fa8181da Address review comment 2024-03-13 20:03:01 +01:00
Jeroen Ketema
67b3670d06 Merge pull request #15901 from jketema/destructors11
C++: Introduce re-use expressions in the database scheme
2024-03-13 18:27:28 +01:00
Geoffrey White
8d3fc735ea C++: Fix compilation issue in UseAfterFree.qll. 2024-03-13 17:03:00 +00:00
Geoffrey White
f52b6e0449 C++: Add more test cases for taint through qualifier fields. 2024-03-13 16:20:12 +00:00
Geoffrey White
6019a38266 C++: Add more test cases for indirection (4). 2024-03-13 16:20:08 +00:00
Geoffrey White
23da0c16c7 C++: Add more test cases for indirection (3). 2024-03-13 16:20:04 +00:00
Geoffrey White
7c4927c2e3 C++: Add more test cases for indirection (2). 2024-03-13 16:19:58 +00:00
Tony Torralba
039bea1625 Java: Add more neutral JDK models
This is similar to https://github.com/github/codeql/pull/15766, in the sense that it adds neutral models to prevent the model generator from generating summaries for them. These models were spotted while evaluating https://github.com/github/codeql/pull/14919.
2024-03-13 16:59:38 +01:00
Geoffrey White
fcda0c9819 C++: Add more test cases for indirection (1). 2024-03-13 15:35:28 +00:00
Geoffrey White
c17a36ec07 C++: Add more test cases for taint through qualifiers. 2024-03-13 15:30:13 +00:00
Mathias Vorreiter Pedersen
b638d4d0ba Merge pull request #15900 from MathiasVP/glib-alloc-and-dealloc
C++: Add models for `GLib` allocation and deallocation
2024-03-13 15:29:46 +00:00
Geoffrey White
92d57ab504 C++: Correct some existing cases that are in fact indirect. 2024-03-13 15:26:21 +00:00
Erik Krogh Kristensen
bd121b98ae Merge pull request #15893 from erik-krogh/more-filter-taint
JS: allow more flow through .filter()
2024-03-13 16:19:28 +01:00
Rasmus Lerchedahl Petersen
533b63743b Python: test MaD syntax for keyword argument
use the combined positional/keyword syntax as
that is what we will probably mostly use.
2024-03-13 15:28:34 +01:00
Tom Hvitved
6c0ed28e6b Python: Implement new data flow interface 2024-03-13 14:41:57 +01:00
Tom Hvitved
02ae2d1520 Java: Implement new data flow interface 2024-03-13 14:41:57 +01:00
Tom Hvitved
e4a4c18166 Go: Implement new data flow interface 2024-03-13 14:41:57 +01:00
Michael Nebel
560b355e0c C#: Remove hard-coded local sources from the uncontrolled-format-string query. 2024-03-13 14:26:30 +01:00
Erik Krogh Kristensen
53502a8662 Merge pull request #15510 from yoff/ts-54
JS: Add support for TS 5.4
2024-03-13 14:22:24 +01:00
Jeroen Ketema
8d5eab401d C++: Introduce re-use expressions in the database scheme 2024-03-13 13:28:27 +01:00
Tom Hvitved
16cef92106 JS: Add DataFlow::Node.getLocation 2024-03-13 13:06:16 +01:00
Mathias Vorreiter Pedersen
8d504d8b32 Merge pull request #15899 from jketema/destructors10
C++: Add IR tests for the destruction of temporaries
2024-03-13 11:56:04 +00:00
Mathias Vorreiter Pedersen
465c3c18e3 C++: Add change note. 2024-03-13 11:49:26 +00:00
Asger F
c5a02dae2b Merge pull request #15768 from asgerf/js/amd-pseudo-deps
JS: Do not treat AMD pseudo-dependencies as imports
2024-03-13 12:49:17 +01:00
Mathias Vorreiter Pedersen
3ea39a2553 C++: Add some query tests. 2024-03-13 11:39:34 +00:00
Mathias Vorreiter Pedersen
bcd36b1994 C++: Recognize glib allocations and deallocations. 2024-03-13 11:39:15 +00:00
Geoffrey White
9aad43f649 C++: Add indirect test models. 2024-03-13 11:34:36 +00:00
Ian Lynagh
adefdfd59f Merge pull request #15889 from igfoo/igfoo/k2exprs
Kotlin 2: Accept more changes in the exprs test
2024-03-13 11:34:10 +00:00
erik-krogh
129286aa1c allow more flow through .filter() 2024-03-13 12:03:00 +01:00
Jeroen Ketema
3ef1ab49ea C++: Add IR tests for the destruction of temporaries 2024-03-13 12:00:02 +01:00
erik-krogh
013ed7adb3 Java: update the url-redirection in the same style as the C# qhelp 2024-03-13 11:58:16 +01:00
yoff
b5c0fbb827 Merge pull request #15776 from RasmusWL/tt-consistency
Python: Add type-tracking consistency query
2024-03-13 11:11:07 +01:00
Tom Hvitved
4085c8ec8f Merge pull request #15866 from hvitved/ruby/orm-tracking-ap-limit
Ruby: Lower access path limit to 1 for `OrmTracking`
2024-03-13 10:57:09 +01:00
Harry Maclean
806f42ef72 Ruby: Update change note 2024-03-13 09:54:17 +00:00
Harry Maclean
dd5eb982ec Merge pull request #15524 from hmac/hmac-process-spawn
Ruby: Add some more command injection sinks
2024-03-13 09:53:10 +00:00
Tony Torralba
2fd2b4c874 Merge pull request #15891 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-13 09:51:22 +01:00
github-actions[bot]
cff2cdb9e4 Add changed framework coverage reports 2024-03-13 00:15:53 +00:00
Edward Minnix III
c190dd21db Merge pull request #15877 from egregius313/egregius313/csharp/mad/sources/windows-registry
C#: Add source models for values from the Windows registry
2024-03-12 16:41:42 -04:00
Edward Minnix III
d54489931c Merge pull request #15869 from egregius313/egregius313/java/fix/parcelfiledescriptor-open-sink
Java: Add path-injection sink for `ParcelFileDescriptor::open`
2024-03-12 16:39:20 -04:00
intrigus-lgtm
f70a39e72f [cpp-docs] Fix 404 link in guards library doc. 2024-03-12 19:59:26 +01:00
Erik Krogh Kristensen
863e3f79e5 Merge pull request #15731 from erik-krogh/java-url
Java: More sanitizers for request-forgery
2024-03-12 19:31:52 +01:00
Geoffrey White
cbacd51337 C++: Make Argument[-1] refer to *this rather than this. 2024-03-12 17:51:43 +00:00
Geoffrey White
22d5e9bbfb C++: Add test cases involving pointer qualifiers. 2024-03-12 17:47:11 +00:00
Ian Lynagh
0e94aa0eb5 Kotlin 2: Accept more changes in the exprs test 2024-03-12 16:42:37 +00:00
Ian Lynagh
8d1ee10981 Merge pull request #15876 from igfoo/igfoo/buildless-java-complete
Java: Accept test changes
2024-03-12 16:12:58 +00:00
Tamás Vajk
be2ce17376 Merge pull request #15881 from tamasvajk/buildless/fix-fallback
C#: Deduplicate not yet restored package names
2024-03-12 16:08:16 +01:00
Mathias Vorreiter Pedersen
ab6e2f9364 C++: Accept test regression. 2024-03-12 15:04:49 +00:00
erik-krogh
f613823047 add explicit QLDoc that any method named "contains" is matched 2024-03-12 15:25:27 +01:00
Geoffrey White
900c8b71d8 C++: Complete the SummaryCall class. 2024-03-12 14:23:00 +00:00
erik-krogh
35aae0a981 move changenote to src/ 2024-03-12 15:22:57 +01:00
Erik Krogh Kristensen
b53ae77c56 expand change-note
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-03-12 15:22:17 +01:00
Mathias Vorreiter Pedersen
51f5740707 C++: Exclude functions that aren't declared inside the source root. This fixes performance on ImageMagick. 2024-03-12 14:20:16 +00:00
Mathias Vorreiter Pedersen
6a563c161e C++: Simplify the definition of 'isNonConst'. On ImageMagick I get the same exact sources before and after. 2024-03-12 14:20:09 +00:00
Mathias Vorreiter Pedersen
179a7d500e C++: Handle 'wchar_t' types that may be defined as unsigned short in C. This brings back SAMATE results. 2024-03-12 14:19:48 +00:00
erik-krogh
f2d6640003 fix ambiguous import. It could refer both to a module or a file 2024-03-12 15:15:50 +01:00
erik-krogh
c1fd7a6190 autoformat 2024-03-12 15:09:45 +01:00
Geoffrey White
a27949cffa C++: Set certain = true in storeStepImpl. 2024-03-12 14:08:20 +00:00
Tamas Vajk
b07b0762f2 Adjust based on code review feedback 2024-03-12 15:07:58 +01:00
erik-krogh
74876ff49b add change-note 2024-03-12 15:07:36 +01:00
erik-krogh
52f71e4553 small fixes based on review 2024-03-12 15:07:29 +01:00
Ian Lynagh
c2aa334465 Java: Accept test changes 2024-03-12 14:03:02 +00:00
Tom Hvitved
695e728ed5 Ruby: Lower access path limit to 1 for OrmTracking 2024-03-12 14:58:29 +01:00
Tom Hvitved
dddba3228b Merge pull request #15867 from hvitved/dataflow/ap-limit
Data flow: Add `ConfigSig::accessPathLimit`
2024-03-12 14:57:51 +01:00
erik-krogh
6be0ed1dc3 narrow the version specifier used for TypeScript 2024-03-12 13:42:58 +01:00
Tom Hvitved
d7790faece Address review comments 2024-03-12 13:34:55 +01:00
erik-krogh
95a5ec7f27 add test that the new Object.groupBy method has a type 2024-03-12 13:22:11 +01:00
Owen Mansel-Chan
33c17313b4 Add test for not extracting values for intermediate string concatenations 2024-03-12 11:59:10 +00:00
Michael Nebel
50851210ea Merge pull request #15794 from michaelnebel/csharp/removecil
C#: Delete the CIL extractor.
2024-03-12 12:48:41 +01:00
Mathias Vorreiter Pedersen
1a42e55095 Merge pull request #15820 from MathiasVP/add-type-confusion-query
C++: Add a new query for detecting type confusion vulnerabilities
2024-03-12 10:29:22 +00:00
Tom Hvitved
0e0b73a5e6 Address review comment 2024-03-12 11:22:04 +01:00
Michael Nebel
eb62c033aa C#: Remove the cil extractor option. 2024-03-12 11:12:56 +01:00
Michael Nebel
f59aaf1d75 C#: Add change note. 2024-03-12 11:12:55 +01:00
Michael Nebel
2e5155d1f8 C#: Remove all CIL related tests. 2024-03-12 11:12:55 +01:00
Michael Nebel
af06202241 C#: Cleanup implementation. 2024-03-12 11:12:55 +01:00
Michael Nebel
bf27f203d5 C#: Remove CIL extractor projects. 2024-03-12 11:12:55 +01:00
Tamas Vajk
1633673cc2 C#: Deduplicate not yet restored package names 2024-03-12 09:22:38 +01:00
Kevin Stubbings
5acc15bfff fix grammar 2024-03-11 20:13:08 -07:00
Kevin Stubbings
30fe4168e3 Removed filepath.base sanitizer 2024-03-11 15:08:10 -07:00
Angela P Wen
ca12348ecb Merge pull request #15880 from github/sitedocs/2.16.4-2
Add changelog for 2.16.4
2024-03-11 14:59:53 -07:00
Kevin Stubbings
c4c0b22bc7 Formattinga and change notes 2024-03-11 14:54:30 -07:00
Kevin Stubbings
c9b49d3760 resolve feedback 2024-03-11 14:54:28 -07:00
Kevin Stubbings
530c76ca8b Add New Sanitizers and Modify Old Ones 2024-03-11 14:53:29 -07:00
Pierre
d1f8336be6 Add changelog for 2.16.4 2024-03-11 22:21:25 +01:00
Ed Minnix
7745c2c2b7 Change note 2024-03-11 17:00:12 -04:00
Tom Hvitved
8d767862dc Swift: Implement new data flow interface 2024-03-11 20:56:38 +01:00
Tom Hvitved
1c57e99686 C++: Implement new data flow interface 2024-03-11 20:56:38 +01:00
Tom Hvitved
257686eb9a C#: Implement new data flow interface 2024-03-11 20:56:38 +01:00
Tom Hvitved
4291290277 Ruby: Implement new data flow interface 2024-03-11 20:56:38 +01:00
Tom Hvitved
e82e3180f0 Data flow: Replace hasLocationInfo with getLocation 2024-03-11 20:56:38 +01:00
Mathias Vorreiter Pedersen
9854ed4b89 C++: Delete comment. 2024-03-11 18:54:53 +00:00
Mathias Vorreiter Pedersen
2345907a52 C++: Reintroduce the 'cannotContainString' optimization that was removed in #15516. 2024-03-11 18:49:03 +00:00
Mathias Vorreiter Pedersen
f97b6e2848 C++: Stop conflating pointers and indirections in the query. 2024-03-11 18:48:19 +00:00
Mathias Vorreiter Pedersen
32e532ff3c C++: Some cleanup to avoid conflating the case of a function returning something as a return value, and a function updating one of its arguments. 2024-03-11 18:42:42 +00:00
Ed Minnix
bc745dfd5e Windows registry sources 2024-03-11 13:55:34 -04:00
erik-krogh
9f410eb2d6 Merge branch 'main' into ts-54 2024-03-11 18:07:52 +01:00
Joe Farebrother
9c51514bd9 Merge pull request #15857 from joefarebrother/ruby-activerecord-from
Ruby: Model second argument of `ActiveRecord` `from`
2024-03-11 16:49:52 +00:00
Henry Mercer
c325ff8a23 Mark lines of code queries as telemetry queries
The new file coverage metrics are available in all supported GHES
versions. This PR tags lines of code queries as telemetry queries. Lines
of code information will still be available in the SARIF file, but it
will no longer be displayed in the logging output of the CLI.

The one exception is the metric queries for Java/Kotlin that provides
separate lines of code information for Java and Kotlin. I've kept these
since separate file coverage information for languages like Java and
Kotlin is only available for GHES 3.12 and later.
2024-03-11 16:40:31 +00:00
Rasmus Lerchedahl Petersen
d73f43477f update ts to released version 54 2024-03-11 16:32:19 +01:00
Tony Torralba
04436208ab Merge pull request #15843 from atorralba/atorralba/go/uncontrolled-allocation-size
Go: Promote `go/uncontrolled-allocation-size` from experimental
2024-03-11 16:12:27 +01:00
Michael Nebel
5749fdbc46 Merge pull request #15868 from michaelnebel/csharp/csharp12releasenote
C#: Overall change note for C# 12 / .NET 8 support.
2024-03-11 16:08:24 +01:00
Tony Torralba
ff2d78d2c8 Update go/ql/src/Security/CWE-770/UncontrolledAllocationSize.ql 2024-03-11 15:53:40 +01:00
Ed Minnix
76aeee2820 Change note 2024-03-11 10:34:15 -04:00
Ed Minnix
61dbe26858 Add sinks for android.os.ParcelFileDescriptor 2024-03-11 10:31:51 -04:00
Mathias Vorreiter Pedersen
7b0df57d7a C++: Remove the two configurations that depend on flow state to speed up performance on ChakraCore. 2024-03-11 13:56:22 +00:00
Michael Nebel
f571ebdaf4 C#: Overall change note for C# 12 / .NET 8 support. 2024-03-11 14:43:14 +01:00
Rasmus Wriedt Larsen
800351c7b7 Merge branch 'main' into tt-consistency 2024-03-11 14:12:09 +01:00
yoff
e6e6a4e9c8 Merge pull request #15841 from RasmusWL/missing-use-use2
Python: Add example of missing use-use flow
2024-03-11 13:59:57 +01:00
yoff
adbcbefaa9 Merge pull request #15551 from yoff/python/avoid-duplicate-model-inclusions
python: Remove `TaintStepFromSummary`
2024-03-11 13:52:20 +01:00
Geoffrey White
026a13b4db C++: Change Node/Node0.getEnclosingCallable back to returning Declaration. 2024-03-11 12:22:55 +00:00
Tom Hvitved
da66281fef Sync files 2024-03-11 13:02:04 +01:00
Tom Hvitved
7a39f077d9 Data flow: Add ConfigSig::accessPathLimit 2024-03-11 13:01:58 +01:00
Rasmus Wriedt Larsen
4ac8dd72a7 Merge pull request #15855 from yoff/python/add-MaD-test-tuple-output
Python: Add test for `ReturnValue.TupleElement[n]`
2024-03-11 12:05:31 +01:00
Owen Mansel-Chan
da8cc13506 go extractor: avoid long string concatenations
When we see "a" + "b" + "c" + "d", do not add a
row to the constvalues table for the intermiediate
strings "ab" and "abc". We still have entries for
the string literals ("a", "b", "c", and "d") and
the whole string concatenation ("abcd").
2024-03-11 10:53:26 +00:00
Mathias Vorreiter Pedersen
73c4fe08fa Merge pull request #15835 from MathiasVP/initial-def-of-addresses
C++: Provide an initial SSA definition of the address of a variable
2024-03-11 10:42:01 +00:00
Geoffrey White
4bc272da73 C++: Doc correction and TODOs for interpretOutput, interpretInput. 2024-03-11 10:16:46 +00:00
Erik Krogh Kristensen
00c228540e Merge pull request #15836 from github/dependabot/cargo/ql/chrono-0.4.35
Bump chrono from 0.4.34 to 0.4.35 in /ql
2024-03-11 11:13:15 +01:00
Tamás Vajk
35a8e7cbf0 Merge pull request #15854 from tamasvajk/buildless/change-assembly-id
C#: Change ID of buildless output assembly
2024-03-11 10:03:40 +01:00
Rasmus Wriedt Larsen
42acd9c22c Merge pull request #15695 from github/tausbn/python-add-copy-method-as-copy-step
Python: Add `.copy()` method call as copy step
2024-03-11 09:43:34 +01:00
Michael Nebel
6485dcc0fc Merge pull request #15859 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-11 09:10:52 +01:00
Tony Torralba
a09eb9f4c5 Update go/ql/src/Security/CWE-770/UncontrolledAllocationSize.ql
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-03-11 08:58:59 +01:00
Edward Minnix III
7fe378e831 Merge pull request #15756 from egregius313/egregius313/csharp/dataflow/threat-model/remove-addlocalsource
C#: Remove `AddLocalSource` classes from queries
2024-03-10 22:56:28 -04:00
Ed Minnix
3fdc7e95df Add local models to CodeInjection tests 2024-03-10 22:20:54 -04:00
Ed Minnix
8187b00562 Change note 2024-03-10 22:20:52 -04:00
Ed Minnix
d300736c7e Remove AddLocalSource classes 2024-03-10 22:20:51 -04:00
Edward Minnix III
58f2777532 Merge pull request #15629 from egregius313/egregius313/csharp/dataflow/threat-modeling/remove-stored-query-variants
C#: Remove `Stored` variants of queries
2024-03-10 22:17:03 -04:00
github-actions[bot]
589a34241c Add changed framework coverage reports 2024-03-11 00:16:32 +00:00
Owen Mansel-Chan
820c14577a Merge pull request #13553 from am0o0/amammad-go-bombs
Go: Decompression Bombs
2024-03-10 13:48:04 +00:00
Edward Minnix III
e7852f520f Merge pull request #15605 from egregius313/egregius313/csharp/dataflow/sources/commandargs-and-environment
C#: Add more `environment` and `commandargs` sources for the C# Standard Library
2024-03-08 14:10:09 -05:00
Geoffrey White
e8d0f1fa3e C++: Comments. 2024-03-08 18:25:01 +00:00
Edward Minnix III
5440dbf70d Merge pull request #15758 from egregius313/egregius313/csharp/docs/threat-modeling-in-mad-docs
C#: Add references to threat modeling to C# Models-as-Data documentation
2024-03-08 11:50:51 -05:00
am0o0
43df6a2c07 add comments for already implemented io.Read and io.WriteTo Sinks.
remove some sinks about `"decompressor"` which was added wrongly.
change `GeneralReadIoSink` type from module to class.
separate `KlauspostGzipAndPgzip` `KlauspostPgzip` and `KlauspostGzip`.
2024-03-08 20:05:46 +04:00
am0o0
66130d208e convert abstract predicate isAdditionalFlowStep to non-abstract 2024-03-08 19:30:41 +04:00
Joe Farebrother
dbd33d1cf0 Model Argument[1] of ActiveRecord from 2024-03-08 14:04:01 +00:00
Tamas Vajk
9b5cfc9026 Change assembly population in buildless 2024-03-08 15:02:30 +01:00
Rasmus Lerchedahl Petersen
3601773856 python: support encoding lower bound 2024-03-08 14:59:28 +01:00
Rasmus Wriedt Larsen
adf5a4b1e4 Python: Fix internal consistency failures 2024-03-08 14:13:47 +01:00
Tom Hvitved
9ee2314ef6 Merge pull request #15847 from hvitved/ruby/orm-field-as-source-no-args
Ruby: Exclude calls with arguments from `OrmFieldAsSource`
2024-03-08 13:52:34 +01:00
Asger F
7c35309732 Merge pull request #15823 from asgerf/js/lift-cg-restriction
JS: Call graph improvements
2024-03-08 13:40:38 +01:00
Rasmus Wriedt Larsen
87b6592dbc Python: Accept inconsistency for missing use-use flow
At least until we have a proper fix
2024-03-08 13:34:26 +01:00
Rasmus Wriedt Larsen
8fe483d9d8 Python: Add example of missing use-use flow
(see PR for more detailed description)
2024-03-08 13:26:01 +01:00
Asger F
245cd5c0b5 Merge pull request #15760 from asgerf/js/summarised-tt-store-steps
JS: Summarise store steps for type tracking
2024-03-08 13:16:25 +01:00
Asger F
ac4601cb8f Update javascript/ql/lib/semmle/javascript/dataflow/internal/CallGraphs.qll
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com>
2024-03-08 13:01:38 +01:00
Ian Lynagh
a9bab18804 Merge pull request #15848 from igfoo/igfoo/deleg2
Kotlin 2: Accept some more loc changes in exprs test
2024-03-08 11:49:11 +00:00
Michael Nebel
36a775502f Merge pull request #15851 from microsoft/54-csharp-add-missing-mad-for-httprequestmessage-upstream
csharp update MaD for HttpRequestMessage
2024-03-08 12:39:08 +01:00
Michael Nebel
7c46e9fcf4 Merge pull request #15838 from michaelnebel/csharp/deleteirqueries
C#: Remove IR queries.
2024-03-08 11:29:23 +01:00
Tamas Vajk
33eb69164c C#: Change ID of buildless output assembly 2024-03-08 11:20:04 +01:00
Rasmus Lerchedahl Petersen
6d8d106d91 Python: add test for ReturnValue.TupleElement[n] 2024-03-08 11:18:51 +01:00
Asger F
546b0a9a89 Merge pull request #15763 from asgerf/js/escaping-instance-detection
JS: Improve detection of classes with escaping instances
2024-03-08 11:13:50 +01:00
Asger F
fc5b9e2796 JS: Expand test case 2024-03-08 10:34:39 +01:00
Tom Hvitved
24e35f6f3d Update expected test output 2024-03-08 10:00:43 +01:00
Tom Hvitved
63bb772ef9 Variable capture: Avoid overlapping and false-positive data flow paths 2024-03-08 10:00:42 +01:00
Tom Hvitved
e793a1e9fe Ruby: Add variable capture spurious flow test 2024-03-08 10:00:42 +01:00
Tom Hvitved
2896bfbd9f Merge pull request #15821 from hvitved/dataflow/clears-content-store
Data flow: Allow for direct stores into nodes with `clearsContent`
2024-03-08 09:59:29 +01:00
Ed Minnix
7f950d8e0d Fix ExpandEnvironmentVariables test case 2024-03-07 21:48:05 -05:00
Lindsay Simpkins
7dd175d938 change note 2024-03-07 17:16:17 -08:00
Mathias Vorreiter Pedersen
761f6d3a7e C++: Disable field flow from the 'cpp/type-confusion' query to fix performance on ChakraCore. 2024-03-07 15:24:04 -08:00
Lindsay Simpkins
feb1ca29cc csharp update MaD for HttpRequestMessage 2024-03-07 15:00:05 -08:00
Chris Smowton
e4f680d476 Merge pull request #15778 from smowton/smowton/admin/test-multi-release-jars
Java: Add tests for multi-release jars under Java 11 and 17
2024-03-07 22:59:35 +00:00
Mathias Vorreiter Pedersen
a548316747 C++: Accept test changes. 2024-03-07 13:55:31 -08:00
Mathias Vorreiter Pedersen
4f9bdca4f0 C++: Optimize. 2024-03-07 13:08:26 -08:00
Chris Smowton
2321eecb9e Add tests for multi-release jars under Java 11 and 17 2024-03-07 21:07:49 +00:00
Mathias Vorreiter Pedersen
cedbfbe7ea C++: Use a more generous definition of compatible types. 2024-03-07 10:50:20 -08:00
Ian Lynagh
e74606eba3 Kotlin 2: Accept some more loc changes 2024-03-07 18:40:59 +00:00
Ian Lynagh
79c5ad93b0 Kotlin 2: Accept a loc change
This is a bit of an odd location for the IrVariableImpl as it includes a
comment, but the comment is already included in the corrresponding
IrLocalDelegatedPropertyImpl so it's not clearly wrong:

 Element: 16 59 (2:4 - 2:47) class org.jetbrains.kotlin.ir.declarations.impl.IrLocalDelegatedPropertyImpl
-Element: 29 42 (2:17 - 2:30) class org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl
+Element: 16 59 (2:4 - 2:47) class org.jetbrains.kotlin.ir.declarations.impl.IrVariableImpl

So just accept the change.
2024-03-07 18:37:00 +00:00
Michael Nebel
f2e467d8ea C#: Cleanup identical-files. 2024-03-07 19:22:47 +01:00
Michael Nebel
5b48bc4a3e C#: Delete the experimental IR queries. 2024-03-07 19:22:47 +01:00
Michael Nebel
48fcec82d6 Merge pull request #15736 from michaelnebel/csharp/disconnectfromdotnet
C#: Deprecate dotnet and CIL in QL.
2024-03-07 19:17:05 +01:00
Ed Minnix
608a3f907c Add type signature for methods with no overloads 2024-03-07 12:32:06 -05:00
Ed Minnix
1f64f5f8c9 Change note 2024-03-07 12:32:05 -05:00
Ed Minnix
f8c805de6b Microsoft.Extensions.Configuration models 2024-03-07 12:32:04 -05:00
Ed Minnix
ec6e17360d Replace Main-method parameters with ThreatModelFlowSource 2024-03-07 12:30:08 -05:00
Ed Minnix
a3f6bfe1df commandargs sources 2024-03-07 12:30:06 -05:00
Ed Minnix
51afe12ae1 Environment variable sources 2024-03-07 12:20:48 -05:00
Ed Minnix
b0eb0e1f1e Move common source kinds to "shared" 2024-03-07 12:20:45 -05:00
maikypedia
699d8d4719 x 2024-03-07 18:15:22 +01:00
Tom Hvitved
85782ff1d4 Ruby: Exclude calls with arguments from OrmFieldAsSource 2024-03-07 17:34:01 +01:00
Mathias Vorreiter Pedersen
9e77b89885 Update TypeConfusion.qhelp
Co-authored-by: hubwriter <hubwriter@github.com>
2024-03-07 08:33:49 -08:00
Tamás Vajk
1fa151db7c Merge pull request #15844 from tamasvajk/buildless/sdk-version-parsing
C#: Improve `global.json` file parsing
2024-03-07 17:03:12 +01:00
Tom Hvitved
76564edc93 Address review comment 2024-03-07 16:50:28 +01:00
Edward Minnix III
92b086d36f Merge pull request #15798 from egregius313/egregius313/csharp/mad/fix-textreader-models
C#: Change `System.IO.TextReader` models to transfer taint to out parameter
2024-03-07 10:40:28 -05:00
Chris Smowton
c9474050c8 Merge pull request #15839 from smowton/smowton/admin/jdk22-extractor-upgrade-test-changes
Java: Explicitly import Lock class
2024-03-07 15:05:50 +00:00
Tamas Vajk
ea38bf5ebc C#: Improve global.json file parsing 2024-03-07 15:35:10 +01:00
Tony Torralba
138ce42cf6 Fix qhelp 2024-03-07 15:22:46 +01:00
Tony Torralba
7d74125508 Go: Promote go/uncontrolled-allocation-size 2024-03-07 15:17:49 +01:00
Taus
5202792163 Merge pull request #15754 from github/tausbn/python-copy-extractor-to-external-repo
Python: Copy Python extractor to `codeql` repo
2024-03-07 15:15:28 +01:00
Geoffrey White
b71b43a2fb Merge pull request #15705 from geoffw0/qldoc3
Shared: Fill some QLDoc holes
2024-03-07 14:12:51 +00:00
Taus
4b0689b6ba Python: Add warnOnImplicitThis: true to qlpack.yml 2024-03-07 13:59:16 +00:00
Taus
6dec323cfc Python: Copy Python extractor to codeql repo 2024-03-07 13:59:16 +00:00
Rasmus Wriedt Larsen
4dd8f6e618 Python: Add example of missing use-use flow
(see PR for more detailed description)
2024-03-07 14:25:55 +01:00
Asger F
81b04863b2 JS: Change note 2024-03-07 13:35:50 +01:00
Tom Hvitved
22b168beee Data flow: Allow for direct stores into nodes with clearsContent 2024-03-07 12:47:12 +01:00
Ian Lynagh
67612e60b5 Merge pull request #15829 from igfoo/igfoo/expr-del-2
Kotlin 2: Accept more loc changes in exprs test
2024-03-07 11:18:03 +00:00
Ian Lynagh
7bbc18f114 Merge pull request #15799 from igfoo/igfoo/kotlin-upper-bound
Kotlin: Docs: Give upper bound as 1.9.2x rather than 1.9.20
2024-03-07 11:17:51 +00:00
Asger F
c7295a09cd JS: Benign test output update 2024-03-07 11:55:56 +01:00
Anders Schack-Mulligen
f3a381f10d Merge pull request #15822 from aschackmull/dataflow/perf-fixes
Dataflow: Misc performance fixes
2024-03-07 11:47:36 +01:00
Chris Smowton
dae20ca50c Explicitly import Lock 2024-03-07 09:54:17 +00:00
Tamás Vajk
6d5fd3c9de Merge pull request #15827 from tamasvajk/buildless/impr-progress-reporting
C#: Improve buildless progress reporting
2024-03-07 10:00:06 +01:00
Michael Nebel
73040bd30f C#: Use fully qualified name with types instead of label in IR queries. 2024-03-07 09:40:34 +01:00
Michael Nebel
990dec67d0 C#: Address more review comments. 2024-03-07 09:40:34 +01:00
Michael Nebel
43ee62ad64 C#: Update the NoDisposeCallOnLocalIDisposable and expected output. 2024-03-07 09:40:34 +01:00
Michael Nebel
eda345a5b8 C#: Address review comments. 2024-03-07 09:40:34 +01:00
Michael Nebel
e3380aa545 C#: Add change note. 2024-03-07 09:40:34 +01:00
Michael Nebel
7f6c84dda8 C#: Fix bad join order. 2024-03-07 09:40:34 +01:00
Michael Nebel
35b93063f9 C#: Deprecate dotnet and cil. 2024-03-07 09:40:34 +01:00
Michael Nebel
16375b0fe7 C#: Remove CIL dataflow tests. 2024-03-07 09:40:34 +01:00
Michael Nebel
37677142b9 C#: Update QL tests. 2024-03-07 09:40:33 +01:00
Michael Nebel
58a1353ddc C#: Clean up implementation and remove CIL dataflow implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
1638183d18 C#: Copy dotnet.Variable implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
6178acc070 C#: Copy dotnet.Type implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
81ce8dc02d C#: Copy dotnet.Parameterizable implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
92447dc743 C#: Copy dotnet.Namespace implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
7ba25b23a5 C#: Copy dotnet.Generics implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
eb5cb2a7bf C#: Copy dotnet.Expr implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
215808d7e9 C#: Copy dotnet.Declaration implementation. 2024-03-07 09:40:33 +01:00
Michael Nebel
cdf3d47031 C#: Copy dotnet.Element implementation. 2024-03-07 09:40:32 +01:00
Michael Nebel
c606ab09a5 C#: Copy dotnet.Callable implementation. 2024-03-07 09:40:32 +01:00
Michael Nebel
d7dc73e18b C#: Remove the CIL related parts of the Disposal tests. 2024-03-07 09:40:32 +01:00
Mathias Vorreiter Pedersen
b876117ecc C++: Add more QLDoc. 2024-03-06 22:25:04 -08:00
Mathias Vorreiter Pedersen
01fc7432cb C++: Add more tests. 2024-03-06 22:17:33 -08:00
Mathias Vorreiter Pedersen
bf84f3a936 C++: Add FN. 2024-03-06 21:19:17 -08:00
Mathias Vorreiter Pedersen
3295d5cb9f C++: Add more QLDoc. 2024-03-06 21:17:57 -08:00
Mathias Vorreiter Pedersen
fc9919a5b6 C++: Add a test that exercise the 'last field' check. 2024-03-06 21:17:55 -08:00
Mathias Vorreiter Pedersen
c2db5f490e C++: Add more FNs and FPs to show examples of where the 'successor typing' strategy fails. 2024-03-06 21:16:51 -08:00
Mathias Vorreiter Pedersen
cd57cd0d8a C++: Add qhelp reference. 2024-03-06 21:15:27 -08:00
Mathias Vorreiter Pedersen
cf4c8eb517 C++: Add more tests. 2024-03-06 21:15:25 -08:00
Mathias Vorreiter Pedersen
6dc0fa515d C++: Add change note. 2024-03-06 21:11:36 -08:00
Mathias Vorreiter Pedersen
8ae6fa5366 C++: Add a new query 'cpp/type-confusion' for detecting type confusion vulnerabilities. 2024-03-06 21:11:32 -08:00
dependabot[bot]
f0a5183a3f Bump chrono from 0.4.34 to 0.4.35 in /ql
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.34 to 0.4.35.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.34...v0.4.35)

---
updated-dependencies:
- dependency-name: chrono
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 03:59:07 +00:00
Angela P Wen
31f1f50a64 Merge pull request #15834 from github/post-release-prep/codeql-cli-2.16.4
Post-release preparation for codeql-cli-2.16.4
2024-03-06 18:40:08 -08:00
Mathias Vorreiter Pedersen
4c9876b008 C++: Accept test changes. 2024-03-06 18:18:36 -08:00
Mathias Vorreiter Pedersen
cf162aa412 C++: Add an explicit definition of the address of an IRVariable. 2024-03-06 18:18:33 -08:00
Mathias Vorreiter Pedersen
84797b9091 C++: Refactor the address out of 'DefImpl' and into a new abstract class 'OperandBasedDef'. 2024-03-06 18:15:52 -08:00
Mathias Vorreiter Pedersen
cc754858c6 C++: Add a testcase with missing flow out of the address of 'a' and to the argument of 'sink'. 2024-03-06 18:15:49 -08:00
Mathias Vorreiter Pedersen
a60afef923 C++: Add a local flow test file for IR dataflow. 2024-03-06 18:10:08 -08:00
github-actions[bot]
dc9092c9ec Post-release preparation for codeql-cli-2.16.4 2024-03-06 22:19:33 +00:00
Angela P Wen
2daf50500c Merge pull request #15833 from github/release-prep/2.16.4
Release preparation for version 2.16.4
2024-03-06 13:00:06 -08:00
github-actions[bot]
2f058ffb4d Release preparation for version 2.16.4 2024-03-06 20:56:51 +00:00
Angela P Wen
711c474049 Merge pull request #15832 from github/revert-15814-release-prep/2.16.4
Revert "Release preparation for version 2.16.4"
2024-03-06 12:53:52 -08:00
Angela P Wen
ce31f8641a Revert "Release preparation for version 2.16.4" 2024-03-06 12:07:33 -08:00
Ian Lynagh
e58b6e86b2 Kotlin 2: Accept more loc changes in exprs test 2024-03-06 17:57:44 +00:00
Geoffrey White
23fd3f62ac C++: Add models-as-data case to allowParameterReturnInSelf. 2024-03-06 16:12:46 +00:00
Geoffrey White
26ef1bc249 Swift: comment models-as-data implementation. 2024-03-06 16:12:46 +00:00
Geoffrey White
18d9573b6a C++: Add summaryLocalStep as well. 2024-03-06 16:12:46 +00:00
Geoffrey White
0edfafeb06 Shared: Correct and clarify doc for SemBound.getExpr. 2024-03-06 16:00:36 +00:00
Ed Minnix
a87df5459f Fix flow summary tests 2024-03-06 10:39:32 -05:00
Ed Minnix
527041348e Add comment about Memory<T> 2024-03-06 10:39:31 -05:00
Ed Minnix
e065390185 Add .Element modifier to Memory<T> arguments in MaD models 2024-03-06 10:39:30 -05:00
Ed Minnix
27ba51cf9d Change note 2024-03-06 10:39:28 -05:00
Ed Minnix
94a941115f Fix FlowSummaries test results 2024-03-06 10:39:27 -05:00
Ed Minnix
ca55b92281 Change System.IO.TextReader models to transfer taint to out parameter instead of return value
Some of the `System.IO.TextReader` models transfered taint to
`ReturnValue`, when there is a more relevant out-parameter/array.
2024-03-06 10:39:25 -05:00
Owen Mansel-Chan
0ebe045cd8 Merge pull request #15819 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-06 15:35:14 +00:00
Tamas Vajk
c4f2bbda2a Simplify task counter incrementing 2024-03-06 16:12:14 +01:00
Tamas Vajk
34308eee8d C#: Improve buildless progress reporting 2024-03-06 16:11:19 +01:00
Geoffrey White
8c0f02ac4b C++: Add summary jumpStep, readStep, storeStep. 2024-03-06 14:51:48 +00:00
Owen Mansel-Chan
4e5a6d770a Merge branch 'main' into workflow/coverage/update 2024-03-06 13:43:05 +00:00
Owen Mansel-Chan
f1115af146 Merge pull request #15130 from Malayke/main
Go: new query for detect DOS vulnerability
2024-03-06 11:32:57 +00:00
Tony Torralba
f4c2e65614 Merge pull request #15812 from atorralba/atorralba/go/squirrel-sinks
Go: Add SQLi sinks for Squirrel
2024-03-06 12:09:19 +01:00
Asger F
a54a73c9a2 JS: Detect more FunctionStyleClasses 2024-03-06 11:37:20 +01:00
Anders Schack-Mulligen
caa45058ae Dataflow: Improve join-order.
Join with the functional getApprox before filtering with revFlow as this
is always better.
2024-03-06 11:29:08 +01:00
Anders Schack-Mulligen
55e6255e05 Dataflow: Extend the first join to also include argApa.
Improves from
2024-03-04 13:29:20] Evaluated non-recursive predicate DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowThroughIntoCall/6#b44155c7@6dd478n9 in 126ms (size: 398332).
Evaluated relational algebra for predicate DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowThroughIntoCall/6#b44155c7@6dd478n9 with tuple counts:
              1  ~0%    {2} r1 = SCAN `DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::TAccessPathApproxNone#dom#04382804` OUTPUT _, _
              1  ~0%    {0}    | REWRITE WITH Tmp.0 := true, Tmp.1 := false, TEST Tmp.0 != Tmp.1 KEEPING 0
          83798  ~0%    {4}    | JOIN WITH `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::returnFlowsThrough/8#ffafcf14` CARTESIAN PRODUCT OUTPUT Rhs.0, Rhs.3, Rhs.1, Rhs.2
        4044102  ~3%    {7}    | JOIN WITH `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowIntoCallApaTaken/6#d989a8d1#cpe#12346_2013#join_rhs` ON FIRST 1 OUTPUT Rhs.2, Lhs.2, Lhs.3, Rhs.3, Lhs.1, Lhs.0, Rhs.1
         398332  ~3%    {6}    | JOIN WITH `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::fwdFlow/9#00ae2fc8#2` ON FIRST 4 OUTPUT Lhs.6, Lhs.0, Lhs.5, _, Lhs.2, Lhs.4
         398332  ~1%    {6}    | REWRITE WITH Out.3 := true
                        return r1
to
[2024-03-04 15:20:26] Evaluated non-recursive predicate DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowThroughIntoCall/6#b44155c7@97bd358u in 35ms (size: 398332).
Evaluated relational algebra for predicate DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowThroughIntoCall/6#b44155c7@97bd358u with tuple counts:
         83798   ~0%    {7} r1 = SCAN `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::returnFlowsThrough/9#53894c55` OUTPUT In.0, In.1, In.2, In.3, In.4, _, _
                        {5}    | REWRITE WITH Tmp.5 := true, Tmp.6 := false, TEST Tmp.5 != Tmp.6 KEEPING 5
         83798   ~3%    {5}    | SCAN OUTPUT In.0, In.3, In.4, In.1, In.2
        416847   ~2%    {7}    | JOIN WITH `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::flowIntoCallApaTaken/6#d989a8d1#cpe#12346_2301#join_rhs` ON FIRST 2 OUTPUT Rhs.3, Lhs.3, Lhs.4, Lhs.1, Lhs.2, Lhs.0, Rhs.2
        398332   ~3%    {6}    | JOIN WITH `project#DataFlowImpl::Impl<TaintedPath::TaintedPath::C>::Stage5::fwdFlow/9#00ae2fc8#2` ON FIRST 4 OUTPUT Lhs.6, Lhs.0, Lhs.5, _, Lhs.2, Lhs.4
        398332   ~1%    {6}    | REWRITE WITH Out.3 := true
                        return r1
2024-03-06 11:29:08 +01:00
Owen Mansel-Chan
316273c7f3 Merge branch 'main' into workflow/coverage/update 2024-03-06 10:14:46 +00:00
Jeroen Ketema
66d2a8499d Merge pull request #15816 from MathiasVP/remove-ssa-pruning-stage
C++: Remove the pruning stage from dataflow SSA
2024-03-06 11:04:05 +01:00
Malayke
02bab4c15a Update go/ql/src/experimental/CWE-770/DenialOfService.ql
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-06 17:57:20 +08:00
Anders Schack-Mulligen
0dbe8c3d8a Merge pull request #15140 from hvitved/dataflow/pruned-ctx-sensitivity
Data flow: prune context-sensitivity relations
2024-03-06 10:04:48 +01:00
Jeroen Ketema
d13ea0b6c9 Merge pull request #15817 from github/rdmarsh2/suppress-expr-destructors
C++: Suppress implicit destructors on expr in preparation for destructors on temporaries
2024-03-06 09:54:50 +01:00
Jeroen Ketema
6972f9b31d C++: Update syntax-zoo expected test results 2024-03-06 09:34:47 +01:00
Harry Maclean
350dab4621 Merge pull request #15722 from hmac/mad-sinks 2024-03-06 08:18:19 +00:00
Edward Minnix III
6ba6b12b9f Docs review suggestion
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-03-05 22:31:25 -05:00
github-actions[bot]
b71074f9c4 Add changed framework coverage reports 2024-03-06 00:16:26 +00:00
Robert Marsh
fbbd57b34f C++: Suppress epxr destructors in preparation for temporaries 2024-03-05 21:12:12 +00:00
Mathias Vorreiter Pedersen
f400228037 C++: Remove the pruning stage from SSA. 2024-03-05 12:55:55 -08:00
Angela P Wen
727a38a409 Merge pull request #15814 from github/release-prep/2.16.4
Release preparation for version 2.16.4
2024-03-05 10:16:21 -08:00
github-actions[bot]
661e68dab5 Release preparation for version 2.16.4 2024-03-05 18:13:58 +00:00
Geoffrey White
3657269d3e C++: Autoformat. 2024-03-05 17:35:05 +00:00
Geoffrey White
d1fc700735 C++: Fill out some QLDoc. 2024-03-05 17:34:48 +00:00
Geoffrey White
7675f153ce C++: Add SummaryOutNode class. 2024-03-05 17:32:54 +00:00
Angela P Wen
7e2a775a2a Merge pull request #15813 from github/revert-15801-release-prep/2.16.4
Revert "Release preparation for version 2.16.4"
2024-03-05 09:20:42 -08:00
Joe Farebrother
dcc6f83d3b Merge pull request #15782 from joefarebrother/ruby-typhoeus
Ruby: Model `Typhoeus::Request.new`
2024-03-05 16:55:38 +00:00
Angela P Wen
967963a653 Revert "Release preparation for version 2.16.4" 2024-03-05 08:53:33 -08:00
Joe Farebrother
7027b7fe82 Apply review suggestions: Use getInstance and clarify predicate name/qldoc. Also fix changenote formatting. 2024-03-05 16:34:48 +00:00
Tamás Vajk
b4fdd4e222 Merge pull request #15808 from tamasvajk/buildless/package-source-telemetry
C#: Add package source error count to DB
2024-03-05 17:20:38 +01:00
Michael B. Gale
eaef544a26 Merge pull request #15810 from github/mbg/go/fix-initialised-module-names 2024-03-05 15:34:07 +00:00
Tony Torralba
e78e71c875 List Squirrel builders explicitly 2024-03-05 16:05:22 +01:00
Michael B. Gale
40ff75db07 Go: Update list of expected files for single-go-mod-and-go-files-not-under-it test 2024-03-05 14:56:51 +00:00
Ian Lynagh
edd383afc1 Merge pull request #15803 from igfoo/igfoo/del1
Kotlin 2: Accept more location changes
2024-03-05 14:41:05 +00:00
Tony Torralba
a264ea23c6 Go: Add SQLi sinks for Squirrel 2024-03-05 15:35:34 +01:00
Tamas Vajk
2b99b83857 C#: Add package source error count to DB 2024-03-05 15:32:08 +01:00
Michael B. Gale
a8d240dd72 Go: Add integration test for mixed layout project 2024-03-05 14:08:16 +00:00
Michael B. Gale
ac394dc80c Go: Better check for path prefixes 2024-03-05 13:46:33 +00:00
Owen Mansel-Chan
8e43c5c683 Merge pull request #15811 from owen-mc/go/limit-password-heuristics
Go: Only check strings of length <= 100 for dummy password with <= 2 unique characters
2024-03-05 13:42:26 +00:00
Michael B. Gale
b1e0bc03ab Go: Fix check for whether it is safe to initialise a go.mod file in a given directory 2024-03-05 12:48:21 +00:00
Michael B. Gale
367ecf75d5 Go: Use import path for auto-generated Go module names 2024-03-05 12:48:21 +00:00
Michael B. Gale
2aa093c95c Go: Move getImportPath to shared util package 2024-03-05 12:48:19 +00:00
Owen Mansel-Chan
4dde1fb117 Only check strings of length <= 100 for dummy password with <= 2 unique characters 2024-03-05 11:45:17 +00:00
Harry Maclean
148241183a Ruby: update changenote 2024-03-05 10:20:25 +00:00
Harry Maclean
91cb2a37fd Ruby: Model Process.exec 2024-03-05 10:19:22 +00:00
Tom Hvitved
bd7b2c4cc6 Update expected output 2024-03-05 10:44:13 +01:00
Tom Hvitved
d5c34264ad Data flow: Prune call-context sensitivity relations 2024-03-05 10:44:12 +01:00
Harry Maclean
179aaa1342 Ruby: model Open4.popen4ext 2024-03-05 09:35:18 +00:00
Tom Hvitved
5be75e91fc Merge pull request #15796 from hvitved/csharp/variable-capture-follow-up
C#: Variable capture follow-up
2024-03-05 09:58:23 +01:00
Harry Maclean
87f3b43576 Ruby: remove deprecated private class 2024-03-05 08:28:16 +00:00
Tony Torralba
a78e04eb34 Merge pull request #15795 from atorralba/atorralba/go/macaron-sources
Go: Add Macaron sources
2024-03-05 09:08:58 +01:00
Tony Torralba
05aaf2bb67 Merge pull request #15805 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-05 08:53:41 +01:00
github-actions[bot]
84f3771cdd Add changed framework coverage reports 2024-03-05 00:15:54 +00:00
Robert Marsh
28e1e3a13a C++: remove skeleton for IR destructors on expressions 2024-03-04 21:54:18 +00:00
Ian Lynagh
6e09dcc16a Kotlin 2: Accept more loc changes in exprs 2024-03-04 19:06:32 +00:00
Ian Lynagh
22e6c676c3 Kotlin 2: Accept loc change for a string literal in expr test 2024-03-04 19:02:40 +00:00
Ian Lynagh
b7d2e54bbd Kotlin 2: exprs test: Accept loc change for ClassWithDelegate 2024-03-04 19:00:40 +00:00
Ian Lynagh
00ab1a3129 Kotlin 2: exprs test: Accept loc change for MyClass 2024-03-04 19:00:38 +00:00
Angela P Wen
92e91f596f Merge pull request #15801 from github/release-prep/2.16.4
Release preparation for version 2.16.4
2024-03-04 10:57:55 -08:00
Tom Hvitved
a92e394a7c C#: Variable capture follow-up 2024-03-04 19:36:30 +01:00
github-actions[bot]
a67218a027 Release preparation for version 2.16.4 2024-03-04 17:42:08 +00:00
Angela P Wen
19539ab6d8 Merge pull request #15800 from github/angelapwen/fix-ruby-changenotes
Fix Markdown formatting on Ruby changenotes
2024-03-04 08:52:13 -08:00
Angela P Wen
2b2ea597ce Fix formatting on changenotes 2024-03-04 16:42:38 +00:00
Tony Torralba
7286f56718 Change tests to inline expectations 2024-03-04 17:29:12 +01:00
Owen Mansel-Chan
331f308997 Merge pull request #13692 from Marcono1234/patch-1
Mention needed imports at top of "Analyzing data flow in Java"
2024-03-04 15:32:18 +00:00
Ian Lynagh
97275157e6 Kotlin: Docs: Give upper bound as 1.9.2x rather than 1.9.20
I think that this will be clearer.
2024-03-04 15:21:05 +00:00
Owen Mansel-Chan
e124b07611 Merge branch 'main' into patch-1 2024-03-04 14:44:23 +00:00
Owen Mansel-Chan
dcc2b2c50d Merge pull request #15057 from aydinnyunus/main
Web Cache Deception Vulnerability on Go Frameworks
2024-03-04 14:36:39 +00:00
Owen Mansel-Chan
c0974934bc Fix test expectations again 2024-03-04 14:05:04 +00:00
Owen Mansel-Chan
39a802fb98 Add new columns to test expectations 2024-03-04 13:45:54 +00:00
yoff
00e77a3ddb Merge pull request #15720 from RasmusWL/nosql-precision
Python: Add precision to NoSQL query
2024-03-04 14:44:46 +01:00
yoff
569bb991d4 Merge pull request #15775 from RasmusWL/scope-consistency
Python: Add consistency check for `PhaseDependentFlow`
2024-03-04 14:43:13 +01:00
Owen Mansel-Chan
6a1bb9bfb0 Merge branch 'main' into main 2024-03-04 13:42:53 +00:00
Tom Hvitved
357638baa8 C#: Update variable capture test 2024-03-04 14:39:48 +01:00
Owen Mansel-Chan
0bf0c069c6 Fix formatting 2024-03-04 13:39:44 +00:00
yoff
a9ce2e10ad Merge pull request #15781 from RasmusWL/dict-update
Python: Fix missing DictionaryElementContents
2024-03-04 14:37:34 +01:00
Tony Torralba
fc12537699 Go: Add Macaron sources 2024-03-04 14:29:56 +01:00
Ian Lynagh
ab288d0d4c Merge pull request #15712 from igfoo/igfoo/k2ref
Kotlin 2: Accept changes in library-tests/reflection
2024-03-04 13:19:56 +00:00
Michael B. Gale
e5de4f2d67 Merge pull request #15789 from github/mbg/go/autobuilder-review-comments 2024-03-04 13:19:29 +00:00
Ian Lynagh
73fe20f33b Merge pull request #15713 from igfoo/igfoo/past
Kotlin 2: Accept some PrintAst changes in library-tests/exprs
2024-03-04 13:12:49 +00:00
Max Schaefer
1f3a3492ae Merge pull request #15792 from github/max-schaefer-patch-1
Java: Fix sink type in hudson.model.yml
2024-03-04 13:08:47 +00:00
Owen Mansel-Chan
910725939f Update QLDoc 2024-03-04 13:06:23 +00:00
Ian Lynagh
9bad1e60db Merge pull request #15765 from igfoo/igfoo/deleg
Kotlin 2: Accept loc changes in library-tests/exprs/delegatedProperties
2024-03-04 13:02:34 +00:00
Michael B. Gale
9b5bf519a1 Update go/extractor/project/project.go
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-04 12:25:40 +00:00
Owen Mansel-Chan
279605b486 Merge pull request #15786 from owen-mc/java/sensitive-logging-query-exclude-null-in-variable-name
Java: sensitive logging query exclude null in variable name
2024-03-04 12:14:42 +00:00
Michael B. Gale
acf2f761a6 Go: Improve log message for InitGoModForLegacyProject 2024-03-04 12:14:24 +00:00
Michael B. Gale
1a13a0e4c9 Go: Log discovered Go modules in case workspace files can't be read/parsed 2024-03-04 12:14:24 +00:00
Michael B. Gale
52b273ae23 Go: Include workspace count in success message 2024-03-04 12:14:24 +00:00
Michael B. Gale
8055c5d9e3 Go: Avoid extra loop to track unsuccessfulProjects 2024-03-04 12:14:23 +00:00
Michael B. Gale
020eb4aed7 Go: Use slices.Concat for bazelPaths 2024-03-04 12:14:23 +00:00
Michael B. Gale
040a288bb3 Go: Update comment to replace Go.mod with go.mod 2024-03-04 12:14:23 +00:00
Michael B. Gale
37212737fb Go: Delete unused AnyGoFilesOutsideDirs 2024-03-04 12:14:22 +00:00
Michael B. Gale
ac484e5a04 Merge pull request #15793 from github/mbg/go/autobuilder-refactor-changelog
Go: Add changenote for autobuilder refactor
2024-03-04 12:10:24 +00:00
Michael B. Gale
a8ae2e2525 Go: Add changenote for autobuilder refactor 2024-03-04 12:02:51 +00:00
Geoffrey White
50ad45944c Update shared/dataflow/codeql/dataflow/DataFlow.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-04 12:02:01 +00:00
Geoffrey White
5def2887e7 Shared: Add an example for SemBound.getExpr. 2024-03-04 11:59:52 +00:00
Max Schaefer
52a36ce41c Java: Fix sink type in hudson.model.yml 2024-03-04 11:53:37 +00:00
Michael B. Gale
4dd23d4767 Merge pull request #15791 from github/mbg/go/use-1.22-for-extractor
Go: Use Go 1.22 for the extractor
2024-03-04 11:53:37 +00:00
Michael B. Gale
726e0928ed Merge pull request #15790 from github/mbg/go/allow-1.22
Go: Allow 1.22 as a supported version
2024-03-04 11:49:33 +00:00
Chris Smowton
83cef78200 Merge pull request #15783 from github/smowton/fix/extractor-information-fractional-percentage
Java: extractor information: tolerate fractional percentages
2024-03-04 11:09:42 +00:00
Michael B. Gale
0e9a7c84d1 Go: Update go.work.sum 2024-03-04 10:59:23 +00:00
Michael B. Gale
ff82eb95f5 Go: Use 1.22 in go.mod 2024-03-04 10:58:51 +00:00
Michael B. Gale
6563414370 Go: Allow 1.22 as a supported version 2024-03-04 10:56:03 +00:00
Rasmus Wriedt Larsen
fbf6727809 Python: Add change-note 2024-03-04 11:46:38 +01:00
Rasmus Wriedt Larsen
16cb6c2044 Python: Fix validTest expectations
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-03-04 11:41:47 +01:00
Rasmus Wriedt Larsen
85a45b0155 Python: Fix comment
Co-authored-by: yoff <lerchedahl@gmail.com>
2024-03-04 11:40:17 +01:00
Michael B. Gale
0c93641b54 Merge pull request #15361 from github/mbg/go/legacy-gopath-mode-deprecated
Go: Update autobuilder to deal with the upcoming deprecation of the legacy GOPATH mode
2024-03-04 10:23:37 +00:00
Harry Maclean
ce1d0d2375 Merge pull request #15780 from p-/p--method-injection
Ruby: sinks for code injection via calls to `method`
2024-03-04 10:02:40 +00:00
Joe Farebrother
31687afd5d Fix performance 2024-03-04 09:47:12 +00:00
Asger F
4ab7acedb6 JS: Do not track instance methods 2024-03-04 10:36:13 +01:00
Owen Mansel-Chan
038afc4008 Merge pull request #15772 from owen-mc/java/model-generator-exclude-tostring
Java: do not generate models for `toString` and lambda flow methods
2024-03-04 07:57:48 +00:00
Owen Mansel-Chan
037c76d840 Update change note
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-03-04 07:49:18 +00:00
Michael Nebel
11142df4d0 Merge pull request #15764 from michaelnebel/csharp/csharptracerrunapp
C#: Don't inject compiler flags when dotnet is used to execute an application.
2024-03-04 08:13:11 +01:00
Owen Mansel-Chan
7a96b11a0a Add change note 2024-03-03 21:41:05 +00:00
Owen Mansel-Chan
19ac9e089a Add test 2024-03-03 21:03:41 +00:00
Owen Mansel-Chan
c7efde3b7a Remove variables with "null" in their name as sources 2024-03-03 20:55:04 +00:00
Merdan Aziz
72e6853792 address the review comments 2024-03-03 20:36:43 +08:00
Michael B. Gale
9c2322dd82 Merge pull request #15362 from github/mbg/go/add-go-work 2024-03-03 11:59:18 +00:00
Malayke
7072ab9364 Update go/ql/src/experimental/CWE-770/DenialOfServiceGood.go
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-03-03 18:09:33 +08:00
Owen Mansel-Chan
114c17ad57 Add more methods of java.util.Comparator 2024-03-02 20:55:30 +00:00
Chris Smowton
040395485e Update ExtractorInformation.expected 2024-03-02 10:20:45 +00:00
Owen Mansel-Chan
bf22c6dae0 Merge pull request #15766 from owen-mc/java/add-neutral-models
Java: add neutral models
2024-03-02 06:00:33 +00:00
Asger F
f5d014baa5 JS: Remove allocation site restriction in CG 2024-03-01 23:20:35 +01:00
Ed Minnix
59b14f6a69 Fix test expectations (merge conflict) 2024-03-01 12:52:03 -05:00
Ed Minnix
45e1be875c Fix test expectations 2024-03-01 12:52:00 -05:00
Ed Minnix
4dc605354c Second-order SQL injection 2024-03-01 12:51:59 -05:00
Ed Minnix
1ba3efb111 Change note updates 2024-03-01 12:51:58 -05:00
Ed Minnix
e84a509976 Modify test cases 2024-03-01 12:51:56 -05:00
Ed Minnix
c3671c7625 Fix change note 2024-03-01 12:51:55 -05:00
Ed Minnix
be3c1ed0be Change note 2024-03-01 12:51:53 -05:00
Ed Minnix
c95abd47ce Remove stored variants of queries 2024-03-01 12:51:51 -05:00
Geoffrey White
cb1c68260e Shared: QLDoc for ContentApprox and getContentApprox. 2024-03-01 17:36:53 +00:00
Geoffrey White
c663809cc7 Update shared/rangeanalysis/codeql/rangeanalysis/RangeAnalysis.qll
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-01 17:06:48 +00:00
Geoffrey White
0e24ed14da Apply suggestions from code review
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-01 17:04:34 +00:00
Chris Smowton
0bb6a64e81 Java: extractor information: tolerate fractional percentages 2024-03-01 16:49:29 +00:00
Owen Mansel-Chan
0a8dfbafe4 Accept suggestion to put models under the right heading
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-03-01 16:05:28 +00:00
Geoffrey White
d1a2048134 C++: Add SummaryPostUpdateNode class. 2024-03-01 16:03:37 +00:00
Geoffrey White
340a17dd74 C++: Attempt to QLDoc OutNode better. 2024-03-01 16:03:37 +00:00
Geoffrey White
dbf0b98791 C++: Add some test cases involving function pointers. 2024-03-01 15:56:44 +00:00
Geoffrey White
f649939d78 C++: Allow flow through (previously missing) summary taint steps. 2024-03-01 15:56:44 +00:00
Ian Lynagh
fd82a06b93 Merge pull request #15777 from igfoo/igfoo/label-kot
CI: Kotlin: Label Kotlin test changes as "Kotlin"
2024-03-01 15:38:01 +00:00
Joe Farebrother
5a1c0f60e6 Fix qldoc typo 2024-03-01 15:12:16 +00:00
Peter Stöckli
4adc373dfe Ruby: more test cases for code injection via method 2024-03-01 16:01:07 +01:00
Joe Farebrother
4b1626c83a Add change note 2024-03-01 14:59:24 +00:00
Peter Stöckli
3418ec8a81 Ruby: Update method code injection sinks change note
Co-authored-by: Harry Maclean <hmac@github.com>
2024-03-01 15:54:58 +01:00
Michael B. Gale
bda8a804ec Go: Add go.work file 2024-03-01 14:50:00 +00:00
Joe Farebrother
65b30c1dff Add tests and qldoc 2024-03-01 14:46:55 +00:00
Rasmus Wriedt Larsen
d99a763ef7 Python: add change-note 2024-03-01 15:24:33 +01:00
Joe Farebrother
a08b292099 Add models for Typhoeus::Request 2024-03-01 14:23:24 +00:00
Owen Mansel-Chan
5399d88d15 Accept test change: slight change in gen vs man modelgen stats 2024-03-01 14:22:00 +00:00
Rasmus Wriedt Larsen
eeda4355f1 Python: Fix missing DictionaryElementContent 2024-03-01 15:21:13 +01:00
Peter Stöckli
e43c368222 Ruby: change note for methode code injection sinks 2024-03-01 15:20:32 +01:00
Rasmus Wriedt Larsen
30b7fadbb8 Python: Add test 2024-03-01 15:19:56 +01:00
Owen Mansel-Chan
6e63df9e32 Accept test change: toString method no longer generated 2024-03-01 14:16:14 +00:00
Owen Mansel-Chan
0e1c45e84b Accept test change: some more APIs have manual models now 2024-03-01 14:08:42 +00:00
Owen Mansel-Chan
df64e0bc5f Add neutral summary models for java.security.MessageDigest#digest 2024-03-01 14:08:31 +00:00
Owen Mansel-Chan
f89fedcbaf Add some neutral models for java.util 2024-03-01 14:07:45 +00:00
Peter Stöckli
a693c6d9b4 Ruby: sinks for code injection via calls to method 2024-03-01 14:42:22 +01:00
Michael Nebel
a97510a2fc Merge pull request #15419 from github/egregius313/csharp/dataflow/threat-modeling/refactor-to-threatmodelflowsource
C#: Refactor C# queries to use `ThreatModelFlowSource` instead of `RemoteFlowSource`
2024-03-01 14:40:40 +01:00
Tom Hvitved
15d1105d8d Merge pull request #15779 from hvitved/csharp/build-mode-none
C#: Add `build_modes: none` to `codeql-extractor.yml`
2024-03-01 14:34:08 +01:00
Rasmus Wriedt Larsen
7c60562132 Python: Ignore IterableSequenceNode inconsistencies 2024-03-01 14:22:18 +01:00
Rasmus Wriedt Larsen
7e3e5db3db Python: Add example of consistency failure 2024-03-01 14:21:16 +01:00
Rasmus Wriedt Larsen
bcd5c08ebd Python: Ignore match-related inconsistencies 2024-03-01 14:15:32 +01:00
Rasmus Wriedt Larsen
5d212514c6 Python: Add example of consistency failure 2024-03-01 14:07:08 +01:00
Mathias Vorreiter Pedersen
9133a13fc7 Merge pull request #15628 from microsoft/cpp-non-constant-format-as-path-query
Cpp non constant format as path query
2024-03-01 13:05:44 +00:00
Rasmus Wriedt Larsen
1658a1cb80 Python: Ignore SynthDictSplatArgumentNode failures 2024-03-01 14:00:06 +01:00
Rasmus Wriedt Larsen
bff95c4c1b Python: Add example of consistency failure 2024-03-01 13:58:33 +01:00
Tom Hvitved
6d9f3d4a3e C#: Add build_modes: none to codeql-extractor.yml 2024-03-01 13:54:57 +01:00
Owen Mansel-Chan
10f6329b3e Add manual neutral models for java.util.stream
See comment in java/ql/src/Metrics/Summaries/TopJdkApis.qll

   * Note: the following top JDK APIs are not modeled with MaD:
   * `java.util.stream.Collectors#joining(CharSequence)`: cannot be modeled completely without a model for `java.util.stream.Stream#collect(Collector)` as well
   * `java.util.stream.Collectors#toMap(Function,Function)`: specialized collectors flow
   * `java.util.stream.Stream#collect(Collector)`: handled separately on a case-by-case basis as it is too complex for MaD
2024-03-01 12:32:04 +00:00
Owen Mansel-Chan
f907fd21ad Add manual neutral models for java.text.Format and java.text.MessageFormat
See comment in java/ql/src/Metrics/Summaries/TopJdkApis.qll

   * Note: the following top JDK APIs are not modeled with MaD:
   * `java.text.Format#format(Object)`: similar issue as `Object.toString`; depends on the object being passed as the argument
   * `java.text.MessageFormat#format(String,Object[])`: similar issue as `Object.toString`; depends on the object being passed as the argument
2024-03-01 12:31:59 +00:00
Owen Mansel-Chan
0e95f41900 Add manual neutral models for java.lang
See comment in java/ql/src/Metrics/Summaries/TopJdkApis.qll

   * Note: the following top JDK APIs are not modeled with MaD:
   * `java.lang.System#getProperty(String)`: needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
   * `java.lang.System#setProperty(String,String)`: needs to be modeled by regular CodeQL matching the get and set keys to reduce FPs
2024-03-01 12:31:49 +00:00
Michael Nebel
ac4ad0cbc0 C#: Add test where build should not be interpreted as a SDK sub command. 2024-03-01 13:24:04 +01:00
Michael Nebel
24572848f3 C#: Move helper function to other repo to allow sharing. 2024-03-01 13:24:04 +01:00
Michael Nebel
07fc84de8c C#: Don't inject compiler flags when dotnet is used to execute an application. 2024-03-01 13:24:04 +01:00
Tom Hvitved
cb128da5aa Merge pull request #15762 from hvitved/csharp/fetch-dotnet-dependency-fetching
C#: Fetch .NET in dependency manager instead of autobuilder
2024-03-01 13:19:20 +01:00
Owen Mansel-Chan
bb97df1d71 do not generate models for lambda flow methods 2024-03-01 12:11:40 +00:00
Tom Hvitved
20ff7def73 Address review comment 2024-03-01 12:54:47 +01:00
Ian Lynagh
86b4f27d12 CI: Kotlin: Label Kotlin test changes as "Kotlin" 2024-03-01 11:26:56 +00:00
Geoffrey White
1fece75f15 Apply suggestions from code review
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com>
2024-03-01 11:10:26 +00:00
Mathias Vorreiter Pedersen
a7547d516a Merge branch 'main' into cpp-non-constant-format-as-path-query 2024-03-01 11:08:58 +00:00
Florin Coada
1719fd8acb Merge pull request #15769 from github/coadaflorin/changelog-2.16.3-updates
Match changelog updates with public unified changelog
2024-03-01 10:57:02 +00:00
Joe Farebrother
0f1106b2f6 Merge pull request #15753 from joefarebrother/ruby-i18n-translation
Ruby: Model Rails translation methods
2024-03-01 10:35:12 +00:00
Geoffrey White
2e5f7dc8fc C++: QLDoc (mostly placeholder). 2024-03-01 09:59:31 +00:00
Geoffrey White
8faad92cfd C++: Define DataFlowCallable.getUnderlyingCallable and use it to fix some issues. 2024-03-01 09:59:31 +00:00
Owen Mansel-Chan
bbf3fa7506 do not generate models for toString 2024-03-01 09:59:27 +00:00
Joe Farebrother
abdae2c437 Apply reveiw suggestion - update change note
Co-authored-by: Harry Maclean <hmac@github.com>
2024-03-01 09:57:28 +00:00
Joe Farebrother
bf2174ffce Add change note 2024-03-01 09:57:28 +00:00
Joe Farebrother
0b7b7ea1b8 Add test cases and improve controller model 2024-03-01 09:57:24 +00:00
Joe Farebrother
ef0a1d2873 Implement models for translation methods 2024-03-01 09:52:53 +00:00
Rasmus Wriedt Larsen
ff5f794750 Python: Exclude synth preupdate nodes from tt-consistency
... and that should be it 👍 (so that's why I'm allowing the tests to
run on all data-flow nodes again)
2024-03-01 10:27:29 +01:00
Tony Torralba
e0515269c5 Merge pull request #15774 from atorralba/atorralba/java/mapentry-copyof-provenance
Java: Fix provenance of Map.Entry.copyOf models
2024-03-01 10:26:22 +01:00
Mathias Vorreiter Pedersen
4e913592fa Merge branch 'main' into cpp-non-constant-format-as-path-query 2024-03-01 09:26:00 +00:00
Mathias Vorreiter Pedersen
2eb8d13439 C++: Accept test changes. 2024-03-01 09:25:25 +00:00
Rasmus Wriedt Larsen
bbe8c6dcaa Python: Remove synth postupdate nodes from tt-consistency 2024-03-01 10:23:50 +01:00
Rasmus Wriedt Larsen
9f01ea68f7 Python: Add type-tracking consistency query
For now I'm only ignoring stdlib nodes, so it's easy for reviewer to see
why we need to have more excludes :)
2024-03-01 10:19:49 +01:00
Florin Coada
a8816a6d1c Update java/ql/src/change-notes/released/0.8.9.md
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-03-01 09:18:22 +00:00
Florin Coada
d54e3d73ab Update java/ql/src/CHANGELOG.md
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com>
2024-03-01 09:18:14 +00:00
Rasmus Wriedt Larsen
d182eae868 Python: Add consistency check for PhaseDependentFlow
This would have found the problem in
https://github.com/github/codeql/pull/15755.

As highlighted in the comment in the code, it's not a perfect solution
since we don't have an automatic way to ensure we don't introduce a new
PhaseDependentFlow use with a new step relation and forget to add it to
this consistency check... but I think this consistency check still adds
value!
2024-03-01 10:01:08 +01:00
Tony Torralba
664dac6b28 Merge pull request #15773 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-03-01 09:22:47 +01:00
Tony Torralba
dd1dbdf4ec Java: Fix provenance of Map.Entry.copyOf models 2024-03-01 09:00:13 +01:00
github-actions[bot]
148bc26b09 Add changed framework coverage reports 2024-03-01 00:17:57 +00:00
Owen Mansel-Chan
54031a8187 Merge pull request #15767 from owen-mc/java/add-summary-models
Java: add a few summary models
2024-02-29 21:21:23 +00:00
Tom Hvitved
a8468a6178 C#: Better handle multiple global.json files 2024-02-29 20:27:52 +01:00
Mathias Vorreiter Pedersen
1466f11a92 C++: Add change note. 2024-02-29 18:39:59 +00:00
Geoffrey White
a499919239 Shared: More helpful QLDoc for simpleLocalFlowStep. 2024-02-29 17:13:40 +00:00
Paolo Tranquilli
6d90877c52 Merge pull request #15536 from github/redsun82/bazel-cmake
Bazel/CMake: auto detect all `cc_binary`/`cc_test` targets
2024-02-29 18:13:40 +01:00
Geoffrey White
f834768720 Shared: Improve QLDoc for forceHighPrecision. 2024-02-29 17:09:31 +00:00
Geoffrey White
9d2dc7a3cc Shared: Format. 2024-02-29 17:09:16 +00:00
Ed Minnix
f488f23a48 Add LocalFlowSource back to UncontrolledFormatString 2024-02-29 12:06:59 -05:00
Geoffrey White
88e3bc6865 Update shared/dataflow/codeql/dataflow/DataFlow.qll
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2024-02-29 17:03:30 +00:00
Edward Minnix III
89bdb7f437 Remove discussion of local flow in change note
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2024-02-29 12:03:19 -05:00
Ed Minnix
86ceeebd89 Change handling of LocalSource in queries
1. Change `LocalSource` to extend `DataFlow::Node`, thus removed from
   the definiton of `Source`
2. Add a private class `AddLocalSource` which extends `Source`. This
   allows us to currently preserve the inclusion of local sources, while
   making it easier to remove it in the future.
2024-02-29 12:03:17 -05:00
Ed Minnix
3563c7ef03 Modify deprecated RemoteSource classes to extend DataFlow::Node directly.
Since `ThreatModelFlowSource` contains `RemoteFlowSource` by default, we
can safely remove the `RemoteSource` from the default of the queries.
2024-02-29 12:03:16 -05:00
Ed Minnix
e64826db1b Add threat-model configuration for UncontrolledFormatString test 2024-02-29 12:03:14 -05:00
Ed Minnix
af749e221b Remove commented out code 2024-02-29 12:03:13 -05:00
Ed Minnix
f237d2aeda Refactor to use ThreatModelFlowSource 2024-02-29 12:03:12 -05:00
Ed Minnix
5198f52351 Add references to changed queries in change note 2024-02-29 12:03:11 -05:00
Ed Minnix
22e8da2928 Update change note date 2024-02-29 12:03:09 -05:00
Ed Minnix
eb81946adc Change note changes to mention local sources as well 2024-02-29 12:03:08 -05:00
Ed Minnix
b4dabee770 Remove unnecessary flowsources.Remote imports
Since `FlowSources` now re-exports `Remote`, these can be safely removed.
2024-02-29 12:03:07 -05:00
Ed Minnix
434fa20646 Refactor to using ThreatModelFlowSource 2024-02-29 12:03:05 -05:00
Ed Minnix
1086abca63 Refactor to using ThreatModelFlowSource 2024-02-29 12:03:04 -05:00
Ed Minnix
b76795fd28 Refactor to using ThreatModelFlowSource 2024-02-29 12:03:03 -05:00
Ed Minnix
fd3738b10e Refactor to using SourceNode::getSourceType 2024-02-29 12:03:01 -05:00
Ed Minnix
31d4d0ca57 Move getSourceType to SourceNode 2024-02-29 12:03:00 -05:00
Ed Minnix
75772664f2 Change note 2024-02-29 12:02:58 -05:00
Ed Minnix
f388a0f10c Deprecate direct uses of RemoteFlowSource and replace with ThreatModelFlowSource 2024-02-29 12:02:57 -05:00
Ed Minnix
bd0137a721 Deprecated direct use of RemoteFlowSource and use ThreatModelFlowSource instead 2024-02-29 12:02:55 -05:00
Chris Smowton
051d63a5a9 Merge pull request #15740 from smowton/smowton/feature/call-and-type-telemetry
Java: add extraction quality telemetry; improve stringification of some erroneous expressions
2024-02-29 16:51:51 +00:00
Tony Torralba
47bf556223 Merge pull request #15709 from atorralba/atorralba/java/enable-widget-taint-steps
Java: Re-enable Widget.qll flow steps
2024-02-29 17:33:05 +01:00
Owen Mansel-Chan
7b5f51b1e2 Change summary models to neutral models for javax.crypto.Cipher 2024-02-29 16:22:27 +00:00
Geoffrey White
445b82b4e1 Shared: Explain 'guard'. 2024-02-29 16:07:20 +00:00
Geoffrey White
70465b22c7 Shared: Remove @ annotations. 2024-02-29 16:00:43 +00:00
Geoffrey White
98289b52d6 Shared: Explain SsaPhiNode a bit more. 2024-02-29 15:45:43 +00:00
Geoffrey White
8151f3024d Shared: Pinch better doc for isEquality from a related Guards class in csharp. 2024-02-29 15:41:51 +00:00
Chris Smowton
ef9544cbef Adjust test expectations now signature type-accesses are named 2024-02-29 15:33:29 +00:00
Chris Smowton
903e4f59f0 Exclude error types from contradictory-type-check query 2024-02-29 14:59:46 +00:00
Chris Smowton
140c3189e3 Adjust test expectations 2024-02-29 14:59:46 +00:00
Chris Smowton
3bd0c3b2c2 Switch test to using a qlref to the real telemetry query 2024-02-29 14:59:46 +00:00
Chris Smowton
ef82ea7541 Add change note 2024-02-29 14:59:46 +00:00
Chris Smowton
551006c15e Make predicate private 2024-02-29 14:59:46 +00:00
Chris Smowton
ffa998eb4a Autoformat 2024-02-29 14:59:45 +00:00
Chris Smowton
b6507e795a Add test for a buildless project that doesn't compile cleanly 2024-02-29 14:59:45 +00:00
Chris Smowton
5d55265910 Add telemetry for untyped expressions and missing call targets 2024-02-29 14:59:45 +00:00
Chris Smowton
1fd459e8fc Improve stringification of some erroneous expressions 2024-02-29 14:59:45 +00:00
Alexander Eyers-Taylor
6c8105fd1c Merge pull request #15568 from github/alexet/kotlin-jdk-change
Kotlin: Compile tests using the same jdk as the java tests.
2024-02-29 14:48:03 +00:00
Paolo Tranquilli
0a137c7b02 Bazel/Cmake: share build options 2024-02-29 15:35:21 +01:00
Florin Coada
8d1965db59 match changelog to unified changelog 2024-02-29 14:33:14 +00:00
Florin Coada
cfdf163b40 Update changelog to match unified changelog 2024-02-29 14:32:57 +00:00
Paolo Tranquilli
81facd2fd6 Merge branch 'main' into redsun82/bazel-cmake 2024-02-29 14:28:00 +01:00
Mathias Vorreiter Pedersen
e620bfa9c6 Merge pull request #15761 from MathiasVP/fewer-variablenodes
C++: Restrict `VariableNode`s to only be global-like variables
2024-02-29 13:12:20 +00:00
Asger F
13e3a5158e JS: Fix qldoc 2024-02-29 13:59:25 +01:00
Alex Eyers-Taylor
d892a04506 Kotlin: Compile tests using the same jdk as the java tests. 2024-02-29 12:23:56 +00:00
Owen Mansel-Chan
939d6f973f Add summary models for javax.crypto.Cipher 2024-02-29 12:20:47 +00:00
Owen Mansel-Chan
65bc62c10a Add summary model for Map$Entry#copyOf 2024-02-29 12:20:43 +00:00
Ian Lynagh
b0a13fb661 Kotlin 2: Accept loc changes in library-tests/exprs/delegatedProperties 2024-02-29 12:11:07 +00:00
Mathias Vorreiter Pedersen
4474b54662 C++: Add more QLDoc. 2024-02-29 12:09:50 +00:00
Mathias Vorreiter Pedersen
46b47db78e C++: Rename IPA branch. 2024-02-29 12:02:13 +00:00
yoff
7beafc933d Merge pull request #15755 from RasmusWL/it-fix
Python: Fix module level flow for iterable unpacking
2024-02-29 12:52:44 +01:00
Tom Hvitved
0e93f5ac1a Merge pull request #15733 from hvitved/ruby/desugar-hidden
Ruby: Rework hidden synthetic data-flow nodes
2024-02-29 11:24:01 +01:00
Tom Hvitved
62382fc5a2 C#: Fetch .NET in dependency manager instead of autobuilder 2024-02-29 11:23:36 +01:00
Asger F
6a0adff1dc JS: More precise detection of classes with escaping instances 2024-02-29 11:15:37 +01:00
Asger F
eeaa2bcc55 JS: Add test for class instance escaping into dependency 2024-02-29 11:14:23 +01:00
Florin Coada
840ca9118e Merge pull request #15750 from github/changedocs/2.16.3
Codeql 2.16.3 changelogs
2024-02-29 09:46:31 +00:00
Michael Nebel
a3b39c8210 Merge pull request #15752 from michaelnebel/csharp/updatesupportedlanguages
C#: Claim suppport for C# 12 / .NET 8.
2024-02-29 10:41:42 +01:00
Asger F
853397361f JS: Do not treat AMD pseudo-dependencies as file paths 2024-02-29 10:23:28 +01:00
Asger F
052a8e7f81 JS: Avoid spurious recursion in AMD 2024-02-29 10:23:28 +01:00
Asger F
f384afbaf6 JS: Also summarize loadStore steps 2024-02-29 10:11:16 +01:00
Asger F
3ad83cc098 JS: Summarise store steps for type tracking 2024-02-29 10:10:39 +01:00
Asger F
7cd84c8f0a JS: Add type-tracking test 2024-02-29 10:10:07 +01:00
Michael Nebel
14d046ef18 Merge pull request #15710 from michaelnebel/csharp/refreadonlyparameters
C# 12: Ref readonly parameters.
2024-02-29 09:59:12 +01:00
Tom Hvitved
c6426d8858 C#: Move BuildScript.cs and friends to Semmle.Util 2024-02-29 08:49:20 +01:00
Ed Minnix
6b310bb825 Fix reference 2024-02-28 21:39:16 -05:00
Florin Coada
0d017a9343 Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst
Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-02-28 22:07:04 +00:00
Florin Coada
62f4d8e53e Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst
Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-02-28 22:06:46 +00:00
Florin Coada
b1deeaff05 Update docs/codeql/codeql-overview/codeql-changelog/codeql-cli-2.16.3.rst
Co-authored-by: Felicity Chapman <felicitymay@github.com>
2024-02-28 22:06:29 +00:00
Ed Minnix
2a70437a12 Add references to threat modeling 2024-02-28 14:34:01 -05:00
Mathias Vorreiter Pedersen
a7f0966fcb C++: Restrict 'VariableNode's to only be global-like variables (which is the only place where use them for). 2024-02-28 19:12:38 +00:00
Ed Minnix
4b9340816c Add threat-modeling section to C# MaD docs 2024-02-28 13:27:19 -05:00
Ed Minnix
9ab3837cdc Make threat model beta notice more general 2024-02-28 13:26:01 -05:00
Mathias Vorreiter Pedersen
2fd57f6ee7 Shared: Remove cached annotation. 2024-02-28 16:24:21 +00:00
Felicity Chapman
ca1a27dc75 Merge pull request #15748 from github/13332-codeql-model-editor-csharp
Minor updates to CodeQL for VS Code docs for expansion of support for model editing
2024-02-28 15:56:32 +00:00
Rasmus Wriedt Larsen
8079788a5f Python: Add change-note 2024-02-28 16:44:25 +01:00
Rasmus Wriedt Larsen
cdf4dd16f0 Python: Fix module level flow for iterable unpacking
(and for * patterns in match)

Since `PhaseDependentFlow` uses the following predicate, that relies on
.getScope() to be present for there to be any importTimeFlow (flow at
toplevel scope), it's important that data-flow nodes implement `.getScope`.

```
private predicate isTopLevel(Node node) { node.getScope() instanceof Module }
```

By implementing getScope, we can now rely on default implementation of
`getEnclosingCallable` in DataFlow::Node:

```
  /** Gets the enclosing callable of this node. */
  DataFlowCallable getEnclosingCallable() { result = getCallableScope(this.getScope()) }
```
2024-02-28 16:39:08 +01:00
Felicity Chapman
377ef59c3a Merge branch 'main' into 13332-codeql-model-editor-csharp 2024-02-28 15:33:27 +00:00
Felicity Chapman
efff0149d0 Update formatting of 'tip' 2024-02-28 15:33:07 +00:00
Koen Vlaswinkel
ab11068d6d Merge pull request #15749 from github/koesie10/update-testing-vscode-docs
Update documentation for testing CodeQL queries in VS Code
2024-02-28 16:29:54 +01:00
Rasmus Wriedt Larsen
e4699e092d Python: Add test for iterable unpacking on module level
Currently doesn't work :O
2024-02-28 16:10:29 +01:00
Koen Vlaswinkel
6aeef17f99 Rename Test Explorer to Testing view 2024-02-28 16:00:15 +01:00
Tom Hvitved
297a17975d Merge pull request #15665 from hvitved/csharp/variable-capture
C#: Adopt shared variable capture library
2024-02-28 15:13:03 +01:00
Michael Nebel
9563705eb3 C#: Add change note. 2024-02-28 14:53:15 +01:00
Michael Nebel
bb282b94dd C#: Claim suppport for C# 12 / .NET 8. 2024-02-28 14:41:38 +01:00
Michael Nebel
f6b1d1f235 C#: Add upgrade and downgrade scripts. 2024-02-28 14:09:59 +01:00
Florin Coada
b76449714a codeql 2.16.3 changelogs 2024-02-28 13:07:48 +00:00
Koen Vlaswinkel
5226c77abf Update documentation for testing CodeQL queries in VS Code 2024-02-28 13:47:11 +01:00
Michael Nebel
00d311205b C#: Update expected test output. 2024-02-28 13:44:28 +01:00
Michael Nebel
794bc44a41 C#: Add test query predicate for ref readonly parameters. 2024-02-28 13:44:28 +01:00
Michael Nebel
692d7036a0 C#: Add extractor and QL library support for ref readonly parameters. 2024-02-28 13:44:28 +01:00
Michael Nebel
a86de9de2f C#: Update comment in DB Scheme. 2024-02-28 13:44:28 +01:00
Michael Nebel
18c7e73805 C#: Add test for parameter modifiers. 2024-02-28 13:44:28 +01:00
Michael Nebel
d8bff14365 C#: Adjust locations for the parameter default value tests. 2024-02-28 13:44:28 +01:00
Michael Nebel
4bbaf687ad Merge pull request #15723 from michaelnebel/csharp/experimentalattribute
C# 12: Experimental attribute.
2024-02-28 13:06:09 +01:00
Jeroen Ketema
ae97a23c27 Merge pull request #15213 from jketema/frontend-update
C++: Accept test changes after frontend upgrade
2024-02-28 13:00:02 +01:00
Felicity Chapman
c247dee11a Delete docs/codeql/reusables/beta-note-model-packs-java.rst
This was accidentally reintroduced during merge conflict resolution.
2024-02-28 11:49:50 +00:00
Felicity Chapman
053e172d94 Merge branch 'main' into 13332-codeql-model-editor-csharp 2024-02-28 11:43:02 +00:00
Felicity Chapman
897786dc99 Minor updates to model editor article 2024-02-28 11:28:59 +00:00
Michael Nebel
65ec80967e Merge pull request #15696 from michaelnebel/csharp/compilergeneratedstmt
C#: Compiler generated statements.
2024-02-28 12:06:39 +01:00
Jeroen Ketema
00ad7854dc C++: Accept test changes after frontend upgrade
* The `specifiers2` tests have a different result now due to the implementation
  of CWG 2387.
* The `special_members/generated_copy` has improved results as the frontend has
  improved support for deleted copy constructors.
2024-02-28 11:29:57 +01:00
Michael Nebel
3c15b21385 C#: Add change note. 2024-02-28 11:25:23 +01:00
Michael Nebel
7535a15fda C#: Add tests and update expected test output. 2024-02-28 11:22:12 +01:00
Michael Nebel
95dc2f71d3 C#: Add ExperimentalAttribute class. 2024-02-28 11:20:43 +01:00
Mathias Vorreiter Pedersen
7be76405f5 Merge pull request #15741 from MathiasVP/fix-ir-inconsistencies-from-returning-routine-types
C++: Fix IR inconsistencies from routine types
2024-02-28 09:13:53 +00:00
Erik Krogh Kristensen
0358e81117 Merge pull request #15746 from github/dependabot/cargo/ql/rayon-1.9.0
Bump rayon from 1.8.1 to 1.9.0 in /ql
2024-02-28 10:11:50 +01:00
dependabot[bot]
cc178ab58f Bump rayon from 1.8.1 to 1.9.0 in /ql
Bumps [rayon](https://github.com/rayon-rs/rayon) from 1.8.1 to 1.9.0.
- [Changelog](https://github.com/rayon-rs/rayon/blob/main/RELEASES.md)
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.8.1...rayon-core-v1.9.0)

---
updated-dependencies:
- dependency-name: rayon
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-28 03:24:58 +00:00
Edward Minnix III
a743683d4f Merge pull request #15563 from egregius313/egregius313/csharp/docs/mad-docs
C#: Models as Data Documentation
2024-02-27 13:45:09 -05:00
Mathias Vorreiter Pedersen
b8c141f292 C++: Accept test changes. 2024-02-27 17:58:52 +00:00
Mathias Vorreiter Pedersen
ddd5113c02 C++: Ensure that we can construct an 'IRType' from a 'RoutineType'. 2024-02-27 17:58:52 +00:00
Mathias Vorreiter Pedersen
892f97cd7a C++: Add testcase with invalid IR from constructing a 'RoutineType'. 2024-02-27 17:58:52 +00:00
Mathias Vorreiter Pedersen
0335a4f4ce Merge pull request #15735 from MathiasVP/ir-for-vacuous-destructor-calls
C++: IR construction for `VacuousDestructorCall`s
2024-02-27 17:58:30 +00:00
Geoffrey White
0df10bda0c C++: Post-merge fixup. 2024-02-27 17:32:59 +00:00
Geoffrey White
1da611cc02 Merge branch 'main' into mad 2024-02-27 17:29:45 +00:00
Geoffrey White
bc42e2bc35 C++: Workaround to get the tests passing again. 2024-02-27 17:28:38 +00:00
Felicity Chapman
f9c2b4d23c MVP changes for C# library expansion support 2024-02-27 16:47:13 +00:00
Chris Smowton
7c7c10ea11 Merge pull request #15739 from github/smowton-patch-1
Add change note for https://github.com/github/codeql/pull/15646
2024-02-27 16:07:29 +00:00
Max Schaefer
f2935caa5c Merge pull request #15732 from github/max-schaefer/more-sink-types
Automodel: Add four more sink types.
2024-02-27 15:52:45 +00:00
Mathias Vorreiter Pedersen
bba152da13 Merge branch 'main' into ir-for-vacuous-destructor-calls 2024-02-27 15:42:46 +00:00
Chris Smowton
9f84653283 Merge pull request #15613 from smowton/smowton/fix/golang-map-range-read-dataflow
Golang: fix flow from a map value via a range statement
2024-02-27 15:42:43 +00:00
Chris Smowton
aedd3badf7 Add change note for https://github.com/github/codeql/pull/15646 2024-02-27 15:41:43 +00:00
Chris Smowton
5ea30e95a5 Merge pull request #15646 from smowton/smowton/fix/notice-self-sufficient-mvnw
Java: Add tests for Maven wrapper
2024-02-27 15:29:50 +00:00
Mathias Vorreiter Pedersen
f7b2de800b Merge pull request #15506 from rdmarsh2/rdmarsh2/cpp/ir-synthetic-destructors
C++: Add implicit destructors for named variables to the IR
2024-02-27 15:12:46 +00:00
Tom Hvitved
914a605a87 Ruby: Rework hidden synthetic data-flow nodes 2024-02-27 15:33:58 +01:00
Tom Hvitved
994d990f37 Ruby: Add another data flow test 2024-02-27 15:33:58 +01:00
Mathias Vorreiter Pedersen
dc3b78dd7c C++: Accept more test changes. 2024-02-27 14:30:19 +00:00
Chris Smowton
a6480a4ca1 Autoformat again / tabify 2024-02-27 13:55:26 +00:00
Mathias Vorreiter Pedersen
4a501e5b3c C++: Accept test changes. 2024-02-27 13:53:43 +00:00
Mathias Vorreiter Pedersen
9eaa4e19ad C++: Add IR construction for vacuous destructor calls. 2024-02-27 13:53:42 +00:00
Chris Smowton
74448c092a Autoformat / uglify 2024-02-27 13:49:12 +00:00
Chris Smowton
e62a0805db Add test for map literal 2024-02-27 13:44:52 +00:00
Mathias Vorreiter Pedersen
fbb0ffcadd C++: Add testcase with invalid IR from vacuous destructor call. 2024-02-27 12:53:46 +00:00
Joe Farebrother
3ab6f222d0 Merge pull request #15718 from joefarebrother/ruby-arel-sqlliteral
Ruby: Model Arel::Nodes::SqlLiteral.new
2024-02-27 12:43:47 +00:00
Anders Schack-Mulligen
df5e753ee0 Merge pull request #15570 from aschackmull/java/cache-interpretelement
Java: Cache interpretElement.
2024-02-27 13:39:56 +01:00
Geoffrey White
540c20e143 Merge pull request #15700 from geoffw0/extensions
Swift: Workaround for TypeDecl.getFullName issue.
2024-02-27 11:14:33 +00:00
Harry Maclean
d0e7fbc871 Ruby: Add changenote 2024-02-27 09:47:51 +00:00
Anders Schack-Mulligen
699dddcfbe Merge pull request #15725 from aschackmull/dataflow/summary-join-fix
Dataflow: Prevent bad join in FlowSummaryImpl::Private::Steps::summaryLocalStep.
2024-02-27 10:32:38 +01:00
erik-krogh
b4b5ae2a2c add some request-forgery sanitizers, inspired from C# 2024-02-27 10:05:26 +01:00
Tom Hvitved
bbeee8f38d Merge pull request #15717 from hvitved/csharp/view-cfg
Shared `View CFG` implementation
2024-02-27 09:13:18 +01:00
am0o0
b20b733172 better structure for pandas DataFrame, it is now much better readable and also we can find much more DataFrame objects 2024-02-27 09:38:43 +04:00
Chris Smowton
f7cdcd4981 Force Maven wrapper tests to run sequentially 2024-02-26 22:28:55 +00:00
Chris Smowton
03f01a0121 Add tests for Maven wrapper 2024-02-26 22:28:55 +00:00
Robert Marsh
a513598a4d C++: Change note for IR named destructors. 2024-02-26 19:41:56 +00:00
Geoffrey White
408a550467 Merge pull request #15727 from geoffw0/qldoc4
C++: Mark internal files in the old dataflow library as deprecated
2024-02-26 17:45:05 +00:00
Mathias Vorreiter Pedersen
690fdc076d Shared: Add change note. 2024-02-26 17:13:32 +00:00
Mathias Vorreiter Pedersen
1d4c889ab8 Java: Use the shared type-flow library. 2024-02-26 17:13:32 +00:00
Mathias Vorreiter Pedersen
9ec17e6338 Shared: Pull out the shared parts of Java's type flow library into a shared module. 2024-02-26 17:13:27 +00:00
Geoffrey White
2e66392353 C++: Update deprecated note to respect identical files. 2024-02-26 16:38:27 +00:00
Rasmus Lerchedahl Petersen
3eb9491cb4 python: rewrite HardcodedCredentials away from PointsTo
- `ModuleValue.attr` and `ClassValue.lookup` are approximated by `Function.getName`
- `ClassValue.getName` is apprximated by `Class.getName`
- `Module::named` is approximated by `Module.getName`
- `Value::named` is approximated by `Builtins::likelyBuiltin`
- `FunctionValue.getNamedArgumentForCall` is approximated by `ArgumentNode.argumentOf`
2024-02-26 17:18:40 +01:00
Joe Farebrother
cb733dcf85 Simplify model defenition 2024-02-26 14:59:03 +00:00
Cornelius Riemenschneider
4bb725cbf5 Merge pull request #15656 from github/criemen/ruby-bazel
Ruby: Start building the language pack using bazel.
2024-02-26 15:52:28 +01:00
Cornelius Riemenschneider
234623ec0d Merge pull request #15726 from github/criemen/js
JS: Remove empty build target.
2024-02-26 15:50:31 +01:00
Geoffrey White
5c4543f167 C++: Mark internal files in the old dataflow library as deprecated (the public imports already are). 2024-02-26 14:49:10 +00:00
Cornelius Riemenschneider
e9b5394cd5 JS: Remove empty build target.
The `resources` folder never existed, this was probably introduced
as a copy-paste mistake. Remove the rule.
2024-02-26 15:26:44 +01:00
Harry Maclean
6ff0054e52 Merge pull request #13431 from am0o0/amammad-ruby-YAMLunsafeLoad
Ruby: add seperate additional steps between `YAML.parse*` methods and `to_ruby`
2024-02-26 13:40:48 +00:00
Tom Hvitved
f92c106972 Merge pull request #15724 from hvitved/csharp-change-note
C#: Add change note
2024-02-26 14:35:38 +01:00
Harry Maclean
8212f5de1b Ruby: Update test 2024-02-26 13:10:27 +00:00
Harry Maclean
b86643fab2 Ruby: doc fixes 2024-02-26 12:57:21 +00:00
Michael Nebel
cba247788a C#: Add change note. 2024-02-26 13:51:07 +01:00
Michael Nebel
f9934ed5e7 C#: Add downgrade script. 2024-02-26 13:51:07 +01:00
Michael Nebel
4dd368f7a6 C#: Add upgrade script. 2024-02-26 13:51:07 +01:00
Michael Nebel
80513d846d C#: Update PrintAst test expected outputs. 2024-02-26 13:51:07 +01:00
Michael Nebel
ff32cf90fd C#: Add a test for compiler generated statements. 2024-02-26 13:51:06 +01:00
Michael Nebel
e6f4263eff C#: Do not print compiler generated statements. 2024-02-26 13:51:06 +01:00
Michael Nebel
bf4e3a7d1c C#: Merge expr_compiler_generated and compiler_generated and add compiler generated statements. 2024-02-26 13:51:06 +01:00
Tom Hvitved
dd0c721e8c C#: Add change note 2024-02-26 13:48:19 +01:00
Anders Schack-Mulligen
20bb631456 Dataflow: Prevent bad join. 2024-02-26 13:45:19 +01:00
Tom Hvitved
606a8fed0c Merge pull request #15406 from hvitved/csharp/no-stats-experiment
C#: Remove all DB stats
2024-02-26 13:40:37 +01:00
Harry Maclean
8a670fe9a2 Ruby: formatting 2024-02-26 12:26:04 +00:00
Michael Nebel
e5e0b4c537 C#: Add some examples of uses of the Experimental attribute and update the expected test output. 2024-02-26 13:15:55 +01:00
Michael Nebel
bc98712da5 C#: Add one more using statement to the attributes test file. 2024-02-26 13:14:03 +01:00
amammad
32f5667bb6 revert YAML.qll and yaml sinks to previous PR, make a separate experimental query only for yaml 2024-02-26 12:12:03 +00:00
amammad
c582ea626d update expected test file 2024-02-26 12:10:04 +00:00
amammad
1c1a6f13df fix QLDoc style 2024-02-26 12:05:35 +00:00
amammad
9c5c8c8362 fix test file 2024-02-26 12:05:35 +00:00
amammad
464e2e4291 fix qldoc and test files 2024-02-26 12:04:52 +00:00
amammad
18fa91bde4 add transform method that is an alias for to_ruby 2024-02-26 11:59:41 +00:00
amammad
a75a004942 add more additional steps, change parse* sinks to reciever of them 2024-02-26 11:59:41 +00:00
amammad
474a4f8abd thanks @asgerf for informing me that Successor wants to be deprecated and thank him that providing the solution 2024-02-26 11:59:41 +00:00
amammad
1410574f76 make seperate steps for YAML.parse* and use getAsuccessor*() to reach final to_ruby method call, All parts have Rewritten with API graphs exclusively 2024-02-26 11:59:35 +00:00
Harry Maclean
f7b8e8af41 Ruby: Include request forgery sinks from MaD 2024-02-26 11:34:11 +00:00
Harry Maclean
8bed3fbed4 Ruby: Add basic model for Terrapin library 2024-02-26 11:32:41 +00:00
Harry Maclean
9d13a1ff51 Ruby: Add model for Process.spawn 2024-02-26 11:26:38 +00:00
Harry Maclean
d1847566b6 Ruby: Ql4QL fix 2024-02-26 11:26:38 +00:00
Harry Maclean
beef9965cc Ruby: Model Open4 library
Also remove duplicate modeling of Process.spawn.
2024-02-26 11:26:38 +00:00
Harry Maclean
a03c06802e Ruby: Add some more command injection sinks 2024-02-26 11:26:38 +00:00
Cornelius Riemenschneider
1657b314c1 Re-pin ruby extractor deps. 2024-02-26 11:21:23 +00:00
Cornelius Riemenschneider
688b9955a0 Address review, start accomodating bzlmod. 2024-02-26 11:21:23 +00:00
Cornelius Riemenschneider
b82ffd40e7 Fix windows CI build.
As we're now checking out the `codeql` repo in a sub-path,
we need to enable long paths on Windows.
2024-02-26 11:21:23 +00:00
Cornelius Riemenschneider
fd85c44129 Ruby: Start building the language pack using bazel.
This PR introduces a bazel and `rules_rust`-based build system
for the ruby extractor and language pack.
This replacese the existing, `cargo` and `cross`-based build system.

For local development, nothing changes, and the existing `cargo`-based
build still keeps working as-is.

We no longer need to use `cross` to compile our Linux binaries,
as we now can link against our hermetic C++ toolchain, which ships
with an old enough glibc, so that we don't run into symbol version issues
when deploying the binaries to older systems.
Besides the one change in dependency (explained in detail in `Cargo.toml`
and in https://github.com/github/codeql/pull/15595), nothing ought to
change in how we build the extractor.
2024-02-26 11:21:22 +00:00
Joe Farebrother
386defc3c7 Update test output 2024-02-26 11:21:03 +00:00
Anders Schack-Mulligen
c22cbf5b01 Merge pull request #15721 from aschackmull/workflows/format-check-shared
Workflows: Run format check on shared.
2024-02-26 12:12:29 +01:00
Joe Farebrother
fb06e9f6b2 Merge pull request #15719 from joefarebrother/ruby-changenote-formatting
Ruby: Fix change note formatting
2024-02-26 11:12:01 +00:00
Harry Maclean
dd092fd18f Ruby: Fix CSRF test 2024-02-26 11:02:54 +00:00
Jeroen Ketema
acf3a99dff Merge pull request #15716 from jketema/command-line-options
C++: Update test after extractor changes
2024-02-26 12:01:03 +01:00
Rasmus Wriedt Larsen
4ede553b21 Merge pull request #15365 from RasmusWL/lgtm_index_filter_handling
Tree sitter extractor: Proper handling of `LGTM_INDEX_FILTERS`
2024-02-26 11:59:45 +01:00
Tom Hvitved
5f5bcf686d Update csharp/ql/lib/semmle/code/csharp/AnnotatedType.qll
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2024-02-26 11:35:28 +01:00
Anders Schack-Mulligen
dab8e237e6 Workflows: Run format check on shared. 2024-02-26 11:33:00 +01:00
Tom Hvitved
5b1fb8789a C#: Implement View CFG query 2024-02-26 11:23:49 +01:00
Tom Hvitved
5b6e76c030 Move View CFG implementation from Ruby/Swift into shared library 2024-02-26 11:23:49 +01:00
Rasmus Wriedt Larsen
1cfac50749 Python: Add precision to NoSQL query
Due to this, it was not part of any query suite :O
2024-02-26 11:23:43 +01:00
Joe Farebrother
403a1ac483 Fix change note formatting 2024-02-26 10:21:26 +00:00
Joe Farebrother
2257df5c6f Model Arel::Nodes::SqlLiteral.new 2024-02-26 10:09:33 +00:00
Tom Hvitved
8fbe62ccae Swift: Implement getExtension and getStem 2024-02-26 10:33:57 +01:00
Jeroen Ketema
788100d475 C++: Update test after extractor changes 2024-02-26 10:04:42 +01:00
Tom Hvitved
03a125de38 Merge pull request #15562 from Marcono1234/patch-2
Ruby: Fix formatting in changelog
2024-02-26 10:03:29 +01:00
Tom Hvitved
4bd79c0eb3 Add change note 2024-02-26 09:58:23 +01:00
Rasmus Wriedt Larsen
07223031e8 Merge branch 'main' into lgtm_index_filter_handling 2024-02-26 09:56:02 +01:00
Tom Hvitved
acd52192d1 C#: Adopt shared variable capture library 2024-02-26 09:53:30 +01:00
Tom Hvitved
7197c64e2d C#: Add more variable capture tests 2024-02-26 09:53:29 +01:00
erik-krogh
0056067a17 Merge branch 'main' into ts-54 2024-02-25 21:20:43 +01:00
erik-krogh
083f56921c update to 5.4.1-rc 2024-02-25 21:20:41 +01:00
am0o0
a636c47c84 minor test cases change: remove unused dict 2024-02-25 23:57:58 +04:00
amammad
4321c5c2da update Twisted document link 2024-02-25 17:53:19 +04:00
amammad
7dd1389b9e add twisted SSH client as secondary server command injection sinks, add proper test cases 2024-02-25 17:52:24 +04:00
amammad
ab219902a9 add jsonpickle and pexpect libs in case of unsafe decoding and secondary command execution, add proper test cases 2024-02-25 17:15:35 +04:00
amammad
3e6b4a161b finalize Secondary server command injection queries and tests. 2024-02-25 14:24:42 +04:00
amammad
95c9a3fc9a add ssh client libraries, add SecondaryServerCmdInjectionCustomizations 2024-02-25 12:50:12 +04:00
amammad
385c3ba7ff continue to convert paramiko query to a more general query,
the proxy command is not a secondary command execution
so we can add proxy command to SystemCommandExecution::Range, update QLDocs,
add a proper Paramiko test case
fix a typo
2024-02-25 01:18:34 +04:00
amammad
70282f9ebe convert paramiko query to SecondaryServerCmdInjection query, Add inline tests 2024-02-24 18:10:13 +04:00
amammad
d234a53c50 update Fabric models, add new sink to Fabric, add proper test cases 2024-02-24 17:43:51 +04:00
amammad
076faa3a4e add pyTorch :) code execution sinks, add proper tests 2024-02-24 15:55:33 +04:00
amammad
3d7db0e46b add panas code execution sinks, add proper tests 2024-02-24 14:44:06 +04:00
Tom Hvitved
2683e40038 Merge pull request #15708 from hvitved/share-ide-contextual
Share `getFileBySourceArchiveName` implementation
2024-02-23 19:56:33 +01:00
Chris Smowton
12213a0a08 Add test 2024-02-23 18:39:16 +00:00
Ian Lynagh
bfea40fca0 Kotlin 2: Accept some PrintAst changes in library-tests/exprs 2024-02-23 18:39:06 +00:00
Chris Smowton
d57160db5c Direct map stores via a post-update node 2024-02-23 16:37:26 +00:00
Robert Marsh
da5e3d64ac C++: autoformat 2024-02-23 16:20:42 +00:00
Robert Marsh
dd97584eff C++: fix for duplicated parent of ReturnVoid statements 2024-02-23 16:19:34 +00:00
Ian Lynagh
1abd81ec34 Kotlin 2: Accept loc changes in library-tests/reflection 2024-02-23 13:52:05 +00:00
Ian Lynagh
f43e929d1a Kotlin: More generated elements in Kotlin 2 in library-tests/reflection 2024-02-23 13:45:58 +00:00
Paolo Tranquilli
6b63492d6b Merge pull request #15699 from github/criemen/bazel7-2
Upgrade to bazel 7.0.2.
2024-02-23 14:15:00 +01:00
Tamás Vajk
72f73553ca Merge pull request #15692 from tamasvajk/buildless/no-dotnet-sdk
C#: Download latest dotnet SDK when missing
2024-02-23 13:24:46 +01:00
Tony Torralba
759b74791c Java: Re-enable Widget.qll flow steps
The library Widget.qll was accidentally removed from the global context when its sources were migrated to models-as-data in #13136. This re-adds it so that its flow steps are enabled again.
2024-02-23 13:07:35 +01:00
Harry Maclean
f5be407989 Ruby: deprecate old ProtectFromForgeryCall class 2024-02-23 12:02:26 +00:00
Ian Lynagh
047a8b400e Merge pull request #15703 from igfoo/igfoo/k2mf
Kotlin: Accept changes in library-tests/multiple_files
2024-02-23 11:49:05 +00:00
Ian Lynagh
ee967e62e1 Merge pull request #15704 from igfoo/igfoo/k2ministdlib
Kotlin: Remove the Kotlin 2 ministdlib test
2024-02-23 11:48:55 +00:00
Owen Mansel-Chan
3dc6918356 Merge pull request #15648 from github/workflow/coverage/update
Update CSV framework coverage reports
2024-02-23 11:48:17 +00:00
Harry Maclean
7b3f1a0982 Ruby: fix comment 2024-02-23 11:14:52 +00:00
Harry Maclean
081c1201ed Ruby: Make csrf query more specific
CSRF protection only needs to be explicitly enabled on Rails
applications < 5.2 _or_ those that don't include a `load_defaults` call
with a version >= 5.2.
2024-02-23 11:13:17 +00:00
Harry Maclean
3ee425cc47 Ruby: Identify ActionController::API
`ActionController::API < ActionController::Base` is a base controller
class, so we should recognise it as such.
2024-02-23 11:13:17 +00:00
Harry Maclean
32b775fdc3 Ruby: reduce duplicate alerts for csrf query
Only generate an alert on the top-most vulnerable Rails controller in
the controller tree.
2024-02-23 11:13:17 +00:00
Harry Maclean
1fbf177b54 Ruby: QLDoc fix 2024-02-23 11:13:16 +00:00
Harry Maclean
3499d169f9 Ruby: Add missing QLDoc 2024-02-23 11:13:16 +00:00
Harry Maclean
0597b2ed1b Ruby: recognise csrf_meta_tag
csrf_meta_tag is an alias for csrf_meta_tags, retained for backwards
compatibility.
2024-02-23 11:13:16 +00:00
Harry Maclean
f19a5a9837 Ruby: Add tests for Gemfile modeling 2024-02-23 11:13:16 +00:00
Harry Maclean
3c69ab10f2 Ruby: Restrict rb/csrf-protection-not-enabled
This query only applies to codebases using Ruby on Rails < 5.2, or where
there is no call to `csrf_meta_tags` in the base ERb template.
2024-02-23 11:13:15 +00:00
Harry Maclean
581072721c Ruby: Add change note 2024-02-23 11:13:15 +00:00
Harry Maclean
6d6f8ba512 Ruby: Make CSRF query more sensitive
Generate an alert for every controller class that doesn't have or
inherity a `protect_from_forgery` setting.
2024-02-23 11:13:15 +00:00
Harry Maclean
49d826f667 Ruby: Add a query for CSRF protection not enabled
Specifically in Rails apps, we look for root ActionController classes
without a call to `protect_from_forgery`.
2024-02-23 11:13:14 +00:00
Erik Krogh Kristensen
a0f91fbc15 Merge pull request #15706 from erik-krogh/pol-reg
ReDoS: Restrict some edges related to upper/lower-case when constructing possible attack strings for polynomial-redos.
2024-02-23 12:06:17 +01:00
Tom Hvitved
62b16c0fa3 Share getFileBySourceArchiveName implementation 2024-02-23 11:25:49 +01:00
Tamas Vajk
20f795c03a Code quality improvements 2024-02-23 11:20:15 +01:00
Michael Nebel
1a155b3a30 Merge pull request #15667 from michaelnebel/csharp/syntheticconstructorbody
C#: Add synthetic bodies and inititializers for default constuctors.
2024-02-23 11:14:00 +01:00
Tom Hvitved
94113521d1 Merge pull request #15689 from hvitved/ruby/no-field-branch-limit-summarized-callable
Ruby: No `fieldFlowBranchLimit` for `SummarizedCallable`s
2024-02-23 10:47:22 +01:00
Tom Hvitved
d8645cc960 Merge pull request #15694 from hvitved/csharp/assignable-definition-node
C#: Use separate `newtype` branch for `AssignableDefinitionNode`
2024-02-23 10:45:04 +01:00
github-actions[bot]
b2b5aa18b2 Add changed framework coverage reports 2024-02-23 00:16:49 +00:00
Tom Hvitved
303a2bb63a C#: Update expected test output 2024-02-22 21:04:55 +01:00
Tom Hvitved
ea7d9c97fd C#: Use separate newtype branch for AssignableDefinitionNode 2024-02-22 21:04:55 +01:00
Ian Lynagh
8d358a9f64 Kotlin: Remove the Kotlin 2 ministdlib test
Upstream doesn't plan to fix it before the K2 release:
    https://youtrack.jetbrains.com/issue/KT-62183/K2-no-stdlib-doesnt-behave-as-expected

I've made a ticket to remind us to return to this later.
2024-02-22 19:01:22 +00:00
Geoffrey White
573763a4b3 Shared: More revisions, manual and aided by further discussion with Copilot. 2024-02-22 18:59:35 +00:00
Ian Lynagh
cf441d1a30 Kotlin: Accept changes in library-tests/multiple_files
I think that this is a regression, but one that we're not likely to fix
soon, so let's just accept the output for now. I've opened a ticket to
remind us to return to this.
2024-02-22 18:57:12 +00:00
Robert Marsh
6f7f68fee8 Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors 2024-02-22 18:10:13 +00:00
Geoffrey White
797fee9c9e Swift: Change note. 2024-02-22 17:54:53 +00:00
Mathias Vorreiter Pedersen
63a5b49846 Merge pull request #15633 from MathiasVP/model-experiments
C++: Assume modelled functions always override buffers by default
2024-02-22 18:48:24 +01:00
Geoffrey White
47a9a8b82a Swift: MAke TypeDecl.getFullName robust to when there's an ExtensionDecl extending more than one thing. 2024-02-22 17:39:57 +00:00
Geoffrey White
515e93522f Swift: Make ExtensionDecl.toString robust to when there's more than one extended thing. 2024-02-22 17:39:57 +00:00
Cornelius Riemenschneider
d2e6746e7f Upgrade to bazel 7.0.2. 2024-02-22 17:51:17 +01:00
Robert Marsh
942a4ed925 C++: move handlesDestructorsExplicitly up to TranslatedReturnStmt 2024-02-22 16:46:19 +00:00
Robert Marsh
ebe6ee5257 C++: accept test changes from extractor fixes 2024-02-22 16:44:19 +00:00
Mathias Vorreiter Pedersen
c7ee5b2912 Merge branch 'main' into model-experiments 2024-02-22 16:40:17 +00:00
Harry Maclean
fbc689227d Merge pull request #15604 from p-/p--rails-more-request-sources
Ruby: add additional sources on the request object of Rails
2024-02-22 16:35:59 +00:00
Tamas Vajk
50f9354ca8 Remove redundant using 2024-02-22 17:14:02 +01:00
Tamas Vajk
e176b32a83 Remove environment dictionary passing 2024-02-22 17:12:38 +01:00
Paolo Tranquilli
6c5e5966c3 Merge pull request #15583 from github/redsun82/bzlmod
Bazel: use bzlmod
2024-02-22 17:06:59 +01:00
Tamas Vajk
648c06ce27 Simplify dotnet SDK check in autobuilder 2024-02-22 16:44:46 +01:00
Mathias Vorreiter Pedersen
0bf29f0a62 Merge branch 'main' into model-experiments 2024-02-22 15:05:53 +00:00
Paolo Tranquilli
b7df26e6c9 Bazel: make codeql compatible with workspace setup 2024-02-22 15:50:02 +01:00
Paolo Tranquilli
b1e0287a7c Merge branch 'main' into redsun82/bzlmod 2024-02-22 15:35:41 +01:00
Ben Rodes
47f94e2ebe Merge branch 'main' into cpp-non-constant-format-as-path-query 2024-02-22 06:24:18 -08:00
Ian Lynagh
2b4b512611 Merge pull request #15693 from igfoo/igfoo/kot2b4
Kotlin: Update to 2.0.0-Beta4
2024-02-22 14:06:32 +00:00
Joe Farebrother
2ebb80b632 Merge pull request #15548 from joefarebrother/android-local-auth-keys
Java: Add query for insecurely generated keys for local authentication.
2024-02-22 14:04:17 +00:00
Joe Farebrother
67e8f17c4c Merge pull request #15619 from joefarebrother/ruby-activerecord-connection
Ruby: Add additional sql sinks for ActiveRecord connection methods
2024-02-22 14:02:31 +00:00
Joe Farebrother
1f409b0456 Merge pull request #15671 from joefarebrother/ruby-activerecord-extra-args
Ruby: Consider additional arguments to certain `ActiveRecord` methods as sql injection sinks.
2024-02-22 14:01:56 +00:00
Tamas Vajk
c0d82cb73e Minor improvement to not start dotnet process when it is known to fail 2024-02-22 14:58:00 +01:00
Tom Hvitved
c55354b544 Merge pull request #15688 from hvitved/ruby/multi-variable-capture
Ruby: Fix bug in `allowParameterReturnInSelf`
2024-02-22 14:51:09 +01:00
Mathias Vorreiter Pedersen
350d5bf0ce C++: Update QLDoc on 'modeledFlowBarrier'. 2024-02-22 13:30:39 +00:00
Tamas Vajk
8e64880e86 Fix and add unit tests 2024-02-22 14:27:28 +01:00
Mathias Vorreiter Pedersen
671904d58c C++: Fix QLoc on 'PartialFlowFunction'. 2024-02-22 13:27:10 +00:00
Mathias Vorreiter Pedersen
aca3970c33 C++: Fix QLoc on 'isPartialWrite'. 2024-02-22 13:25:13 +00:00
Taus
f1392712ee Python: Add .copy() as a copy step 2024-02-22 13:09:27 +00:00
Taus
5125973f9b Python: Add test case for .copy() as a copy step 2024-02-22 13:01:03 +00:00
Paolo Tranquilli
fe6b27bcf8 Merge branch 'main' into redsun82/bzlmod 2024-02-22 13:45:09 +01:00
Michael Nebel
a24a57c586 C#: Update most other test cases to reflect the synthesized constructor calls and bodies. 2024-02-22 13:33:30 +01:00
Michael Nebel
a4ab163532 C#: Update test output for cfg tests. 2024-02-22 13:33:29 +01:00
Michael Nebel
d19c83228e C#: Do not bind comments to compiler generated statements. 2024-02-22 13:33:29 +01:00
Michael Nebel
cf9c3d5dd1 C#: Remove un-needed code as we extract synthetic default constructors. 2024-02-22 13:33:29 +01:00
Michael Nebel
14de39a854 C#: Also add synthetic bodies and inititializers for default constructors. 2024-02-22 13:33:29 +01:00
Ian Lynagh
245ce2208e Kotlin: Update to 2.0.0-Beta4 2024-02-22 12:33:00 +00:00
erik-krogh
bf22f4a870 update expected output 2024-02-22 13:21:11 +01:00
Michael Nebel
7ce7b58ce0 Merge pull request #15657 from michaelnebel/csharp/recordflow
C#: Use primary constructors for record types for dataflow.
2024-02-22 13:18:29 +01:00
erik-krogh
e74e5b3613 try to restrict the edges we follow (related to upper/lower-case) when contructing possible attack-strings for polynomial-redos 2024-02-22 13:15:17 +01:00
Felicity Chapman
95ce0cd640 Merge pull request #15691 from github/felicitymay-patch-1
Remove period from 'name' for Java query
2024-02-22 11:50:21 +00:00
Tamas Vajk
976c627d52 C#: Download latest dotnet SDK when missing 2024-02-22 12:07:15 +01:00
Paolo Tranquilli
3bea642d5c Bazel: fix typo 2024-02-22 11:58:02 +01:00
Paolo Tranquilli
fd485d06aa Merge branch 'main' into redsun82/bzlmod 2024-02-22 11:54:14 +01:00
Paolo Tranquilli
0471287cdd Bazel: remove unstable lock file 2024-02-22 11:53:47 +01:00
Felicity Chapman
4810657515 Remove period from 'name'
This is an error for the Docs content linter and does not match the style guide for query help.
2024-02-22 10:50:45 +00:00
Mathias Vorreiter Pedersen
d953a9a523 Merge pull request #15662 from jketema/destructors6
C++: Support destructors for range-based for-loops
2024-02-22 11:41:39 +01:00
Paolo Tranquilli
f1bdd6bdda Bazel: switch to erroring out by default on outdated lock file 2024-02-22 11:26:39 +01:00
Michael Nebel
f2c849c737 C#: Simplify. 2024-02-22 11:19:34 +01:00
Michael Nebel
2afcc611ce C#: Fix formatting. 2024-02-22 11:18:00 +01:00
Paolo Tranquilli
b66153be97 Merge branch 'main' into redsun82/bzlmod 2024-02-22 11:15:07 +01:00
Paolo Tranquilli
a14c2ae8ab Bazel: bump rules_python to 0.31.0 2024-02-22 11:14:53 +01:00
Joe Farebrother
ef124695a5 Apply suggestions from documentation review
Co-authored-by: Sam Browning <106113886+sabrowning1@users.noreply.github.com>
2024-02-22 10:11:49 +00:00
Paolo Tranquilli
67222f8f7e Bazel: add module lock file 2024-02-22 11:09:15 +01:00
Paolo Tranquilli
cda4ca68f8 Bazel: tweak .bazelrc 2024-02-22 11:08:50 +01:00
Paolo Tranquilli
7410522660 Bazel: bump version to 6.5.0 2024-02-22 11:08:33 +01:00
Ian Lynagh
b405c5fc02 Merge pull request #15683 from igfoo/igfoo/expr
Kotlin: Accept some Kotlin 2 location changes
2024-02-22 10:00:01 +00:00
Joe Farebrother
92bdd637a3 Address reveiw comment - add create nd remove select_insert 2024-02-22 09:55:46 +00:00
Michael Nebel
21aa025db2 Update csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPrivate.qll
Co-authored-by: Tom Hvitved <hvitved@github.com>
2024-02-22 10:40:54 +01:00
Tom Hvitved
ebee35b385 Ruby: No fieldFlowBranchLimit for SummarizedCallables 2024-02-22 10:27:25 +01:00
Tom Hvitved
23869fc8e6 Ruby: Fix bug in allowParameterReturnInSelf 2024-02-22 09:43:52 +01:00
Tom Hvitved
007d08ea63 Ruby: Add another variable capture test 2024-02-22 09:39:01 +01:00
Tamás Vajk
9ecac04709 Merge pull request #15680 from tamasvajk/buildless/no-mono-fallback-impr
C#: Improve fallback nuget package restore in buildless
2024-02-22 08:40:16 +01:00
Paolo Tranquilli
c15d3ab08a Merge branch 'main' into redsun82/bzlmod 2024-02-22 06:05:37 +01:00
Robert Marsh
875ab74c28 Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors
Fixes conflicts in C++ IR tests and Stmt.qll
2024-02-21 21:34:49 +00:00
Robert Marsh
66743fb0db C++: refactor TranslatedReturnStmt 2024-02-21 20:50:30 +00:00
Robert Marsh
e0c7849f52 C++: fix incorrect use of getChildInternal 2024-02-21 20:35:58 +00:00
Ian Lynagh
218a3877d2 Merge pull request #15682 from igfoo/igfoo/propStackOverflow
Java: Properties: Add a test that used to give a stack overflow
2024-02-21 19:35:32 +00:00
Asger F
db10c229de Merge pull request #15663 from asgerf/js/endpoint-naming2
JS: Improvements to endpoint naming
2024-02-21 19:36:57 +01:00
amammad
1927530517 update tests after branch update 2024-02-21 22:15:23 +04:00
Am
376c6ea09a Merge branch 'main' into amammad-go-bombs 2024-02-21 21:42:25 +03:30
Geoffrey White
7b85bb4c95 Shared: Autoformat. 2024-02-21 17:54:00 +00:00
Geoffrey White
4367b7813c Shared: Use more standard QLDoc phrasing. 2024-02-21 17:54:00 +00:00
Geoffrey White
d1c0294551 Shared: Delete hallucinated return values. 2024-02-21 17:54:00 +00:00
Geoffrey White
5e401abccb Shared: Undo changes to existing QLDoc. 2024-02-21 17:53:59 +00:00
Geoffrey White
2f1d4b923e Shared: Generate some QLDoc using the "GitHub Copilot: Generate Docs" command. 2024-02-21 17:53:59 +00:00
Benjamin Rodes
8d35db0fe6 Making argv filter positional. 2024-02-21 12:25:35 -05:00
Ian Lynagh
e6f70385f4 Kotlin: Accept more loc changes in library-tests/exprs 2024-02-21 17:23:03 +00:00
Ian Lynagh
006b682333 Kotlin: Accept more loc changes in library-tests/exprs 2024-02-21 17:18:06 +00:00
Ian Lynagh
36b304d9a1 Kotlin: Accept some locations in library-tests/exprs 2024-02-21 17:13:50 +00:00
Ian Lynagh
212d5def16 Kotlin: Accept more loc changes in library-tests/exprs
These are more instances of the same changes as the previous 2 commits
2024-02-21 17:04:49 +00:00
Ian Lynagh
1b98dc16ba Kotlin: Accept some more loc changes in library-tests/exprs 2024-02-21 17:02:59 +00:00
Ian Lynagh
5ecdc29808 Kotlin: Accept some loc changes in library-tests/exprs
These aren't ideal, but I think they will be improve once we handle
pre/post inc/decrement properly.
2024-02-21 17:00:23 +00:00
Jeroen Ketema
f9d391d087 C++: Support destructors for range-based for-loops 2024-02-21 17:26:32 +01:00
Paolo Tranquilli
3ca9d70100 Bazel: drop experimental from bzlmod flag 2024-02-21 16:53:08 +01:00
Paolo Tranquilli
61bfe7e520 Bazel: rename internal module to semmle_code 2024-02-21 16:51:39 +01:00
Paolo Tranquilli
cb5e3c336d Merge branch 'main' into redsun82/bzlmod 2024-02-21 16:47:36 +01:00
Robert Marsh
339c89019a Merge pull request #15681 from jketema/destructors6b
C++: Add IR test where the for loop should call destructors at the end of its body
2024-02-21 10:20:46 -05:00
Tamás Vajk
e13d6cdd57 Merge pull request #15678 from tamasvajk/fix/integration-test-paths
C#: Modify reported assembly paths in integration tests
2024-02-21 15:26:36 +01:00
Paolo Tranquilli
3df3fbc65b Merge branch 'main' into redsun82/bzlmod 2024-02-21 15:01:19 +01:00
Ian Lynagh
9948052fb6 Java: Properties: Add a test that used to give a stack overflow 2024-02-21 13:51:53 +00:00
Jeroen Ketema
11dc467add C++: Add test where the for loop should call destructors at the end of its body 2024-02-21 14:42:23 +01:00
Jeroen Ketema
8bbfb82f8e Merge pull request #15670 from jketema/destructors7
C++: Add IR tests for destruction of static locals
2024-02-21 12:54:38 +01:00
Ian Lynagh
204be4a809 Merge pull request #15669 from igfoo/igfoo/operator-overloads
Kotlin 2: Accept changes in library-tests/operator-overloads
2024-02-21 11:36:16 +00:00
Ian Lynagh
3c35683e25 Merge pull request #15668 from igfoo/igfoo/interface-delegate
Kotlin 2: Accept location changes in library-tests/interface-delegate
2024-02-21 11:35:59 +00:00
Tamas Vajk
0c46b493c3 C#: Improve fallback nuget package restore in buildless
Fallback cases coming from `<PackageReference />` and `packages.config` are now differentiated. In the latter case we're restoring the package through projects that target `net481`.
2024-02-21 11:58:02 +01:00
Paolo Tranquilli
31959eaf1f Merge branch 'main' into redsun82/bzlmod 2024-02-21 11:20:55 +01:00
Michael Nebel
a0b44c0fc1 C#: Update other tests expected output. 2024-02-21 10:57:22 +01:00
Michael Nebel
0d32192f62 C#: Update expected test output. 2024-02-21 10:57:22 +01:00
Michael Nebel
b76a27bba2 C#: Make a store step from explicit parameter nodes on primary constructors to the property of the same name for record types. 2024-02-21 10:57:22 +01:00
Anders Schack-Mulligen
71f8ccf45f Merge pull request #15654 from aschackmull/java/static-init-vec-query-perf
Java: Switch helper flow from Global to SimpleGlobal in StaticInitializationVectorQuery.
2024-02-21 10:51:16 +01:00
Michael Nebel
132b8baa57 C#: Delete summarized callable implementation for record flow and update expected output. 2024-02-21 10:33:19 +01:00
Michael Nebel
009ea1bcfd C#: Add test examples for record flow and update expected test output. 2024-02-21 10:31:07 +01:00
Jeroen Ketema
57cb7f8218 C++: Update tests after extractor changes related to static variables 2024-02-21 10:22:59 +01:00
Jeroen Ketema
c1f18edfed C++: Add IR tests for destruction of static locals 2024-02-21 10:22:59 +01:00
Michael Nebel
f072e41d50 Merge pull request #15652 from michaelnebel/csharp/constructorflow
C#: Read-only property flow.
2024-02-21 10:12:46 +01:00
Tamas Vajk
e1e29f277c C#: Modify reported assembly paths in integration tests 2024-02-21 09:39:19 +01:00
Michael Nebel
060133d3e9 C#: Add change note. 2024-02-21 09:34:21 +01:00
Tamás Vajk
70a2d16b1a Merge pull request #15600 from tamasvajk/buildless/no-mono-dlls
C# Change desktop dotnet assembly lookup to fall back to nuget reference assemblies
2024-02-21 08:36:41 +01:00
Paolo Tranquilli
c5ed96b4f8 Merge branch 'main' into redsun82/bzlmod 2024-02-21 06:22:10 +01:00
Chris Smowton
f2e04c0cb2 Merge pull request #15672 from github/post-release-prep/codeql-cli-2.16.3
Post-release preparation for codeql-cli-2.16.3
2024-02-20 21:59:55 +00:00
amammad
4c769f2b09 update tests 2024-02-21 01:10:35 +04:00
amammad
3307457deb use implements predicate for io interfaces,
so we can reduce many repetitive parts of query
2024-02-21 01:07:31 +04:00
amammad
13b0a9a842 New testcase 's2Reader.ReadByte()' 2024-02-21 01:05:57 +04:00
amammad
905420143b call functions in the same order as the function declarations 2024-02-21 00:19:51 +04:00
Edward Minnix III
c5dbaa6bfd Docs team review suggestions
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com>
2024-02-20 14:17:06 -05:00
Ed Minnix
8be9b8b818 Add note about collapsing multiple rows into one 2024-02-20 14:17:05 -05:00
Ed Minnix
e2511cdbe4 Add neutral model note to C# documentation 2024-02-20 14:17:04 -05:00
Ed Minnix
8058096d7d Add note about neutrals to Java documentation 2024-02-20 14:17:02 -05:00
Edward Minnix III
6665248c19 Review suggestions
Co-authored-by: Michael Nebel <michaelnebel@github.com>
2024-02-20 14:17:01 -05:00
Ed Minnix
ae59ea3152 Oxford comma 2024-02-20 14:17:00 -05:00
Ed Minnix
3f10dd06f2 Correct indices in example 2024-02-20 14:16:59 -05:00
Ed Minnix
65db990c97 Remove threat model mentions 2024-02-20 14:16:57 -05:00
Ed Minnix
bb86ce5749 Remove references to model editor 2024-02-20 14:16:56 -05:00
Ed Minnix
698109ae10 Introduce C# MaD documentation 2024-02-20 14:16:55 -05:00
Ed Minnix
77ef63a051 Modify Java docs to use common models-as-data beta notice 2024-02-20 14:16:53 -05:00
Ed Minnix
54d7805e4a Modify Java threat model link to be Java-specific 2024-02-20 14:16:51 -05:00
yoff
d3ee5f65db Merge pull request #15550 from yoff/python/remove-pointsto-from-module-getAnExport
python: remove a use of points-to
2024-02-20 19:04:46 +01:00
github-actions[bot]
37f8fa3413 Post-release preparation for codeql-cli-2.16.3 2024-02-20 16:50:47 +00:00
Joe Farebrother
10da4d14d9 Add addtional arguments as sinks to certain methods 2024-02-20 16:35:29 +00:00
Pierre
2da00986c0 Merge pull request #15664 from alexrford/rb/rm-library-models-cust-docs
Ruby: remove `customizing-library-models-for-ruby.rst`
2024-02-20 17:03:18 +01:00
Ian Lynagh
fbf70c688f Kotlin 2: Accept changes in library-tests/operator-overloads
This also brings the Kotlin 2 output back in line with the Kotlin 1
output.
2024-02-20 15:41:22 +00:00
Ian Lynagh
67d0415942 Kotlin 2: Accept loc changes in library-tests/interface-delegate
We lose a location here, but this makes the Kotlin 2 results more
similar to the Kotlin 1 results.
2024-02-20 15:27:43 +00:00
Pierre
0d734983b4 Merge branch 'main' into rb/rm-library-models-cust-docs 2024-02-20 16:20:41 +01:00
Michael Nebel
d6f657cfd7 C#: Update expected test output. 2024-02-20 15:55:19 +01:00
Michael Nebel
e4d41194b4 C#: Include store steps into readonly properties. 2024-02-20 15:55:19 +01:00
Michael Nebel
3112bf4682 C#: Add some test property inititialization test cases and update expected output. 2024-02-20 15:55:19 +01:00
Geoffrey White
5787dcc82d C++: Make getStaticCallTarget() return a DataFlowCallable. 2024-02-20 14:49:51 +00:00
Geoffrey White
356214c11b C++: Implement SummaryReturnNode. 2024-02-20 14:48:02 +00:00
Geoffrey White
5683092d6a C++: Implement SummaryParameterNode. 2024-02-20 14:48:02 +00:00
Geoffrey White
1ace9ee50f C++: Create a proper class for DataFlowCallable, that includes summarized callables. 2024-02-20 14:48:02 +00:00
Geoffrey White
e1a5a84253 C++: Create a proper class for DataFlowCall, that includes summarized callables. 2024-02-20 14:48:02 +00:00
Max Schaefer
75f66c2191 Add four more sink types. 2024-02-20 13:48:20 +00:00
Anders Schack-Mulligen
5a348a5048 Dataflow: SimpleGlobal / Typetracker perf fix. 2024-02-20 14:40:28 +01:00
Alex Ford
5b46256fdb Ruby: remove customizing-library-models-for-ruby.rst 2024-02-20 13:12:23 +00:00
Asger F
29ffeb6da5 JS: Fix qldoc 2024-02-20 14:00:32 +01:00
Paolo Tranquilli
2cc762b85a Merge branch 'main' into redsun82/bzlmod 2024-02-20 13:55:57 +01:00
Rasmus Lerchedahl Petersen
22e72d2fed python: Move the rewrite out to Scope.qll 2024-02-20 10:39:29 +01:00
Rasmus Lerchedahl Petersen
de727bf1b5 Revert "python: remove a use of points-to"
This reverts commit 5cb71ce7e5.
2024-02-20 10:23:31 +01:00
Paolo Tranquilli
ec3cc6376f Merge branch 'main' into redsun82/bzlmod 2024-02-19 16:42:08 +01:00
Paolo Tranquilli
0787cc5e51 Merge branch 'main' into redsun82/bzlmod 2024-02-19 15:07:42 +01:00
Paolo Tranquilli
f842eee784 Swift: use includes in picosha2 2024-02-19 14:06:18 +01:00
Paolo Tranquilli
d0e169ebda Merge branch 'main' into redsun82/bzlmod 2024-02-19 14:05:43 +01:00
Anders Schack-Mulligen
66010b5c96 Java: Switch helper flow from Global to SimpleGlobal in StaticInitializationVectorQuery. 2024-02-19 14:04:43 +01:00
Asger F
c324b2aed8 JS: Refactor 2024-02-19 13:59:49 +01:00
Asger F
eb7d0244c2 JS: Global names don't have to be defined in externs 2024-02-19 13:59:49 +01:00
Asger F
493b37774f JS: More precise isFunctionSource 2024-02-19 13:59:49 +01:00
Asger F
6d597bea0d JS: Refactor 2024-02-19 13:59:49 +01:00
Asger F
8a5b907912 JS: Handle wrapper functions more gracefully 2024-02-19 13:59:48 +01:00
Asger F
d96f29d6c2 JS: Disallow return steps in getASinkNode 2024-02-19 13:59:48 +01:00
Asger F
51bed86778 Update EndpointNaming.expected 2024-02-19 13:59:46 +01:00
Asger F
29258ad8c2 WIP new aliasing rule 2024-02-19 13:59:15 +01:00
Asger F
4ef1ac9250 JS: Accept bad test output 2024-02-19 13:59:12 +01:00
Asger F
15bc3c282f JS: Add test with wrapper function 2024-02-19 13:58:40 +01:00
Tamas Vajk
216d6c0827 Change separator character used in environment variable 2024-02-19 13:58:09 +01:00
Paolo Tranquilli
b174aa65a3 Bazel: empty out WORKSPACE.bazel 2024-02-19 10:30:48 +01:00
Paolo Tranquilli
f41b70af78 Merge branch 'main' into redsun82/bzlmod 2024-02-19 08:35:55 +01:00
Robert Marsh
2494b7d801 C++: fix for IR CFG problem with return in if 2024-02-16 21:08:21 +00:00
Geoffrey White
6e13b877bb C++: Add FlowSummaryNode and test it. 2024-02-16 18:06:57 +00:00
Robert Marsh
2c8ed6479a C++: test for return in if 2024-02-16 17:55:34 +00:00
Benjamin Rodes
639642fb67 Formatting. 2024-02-16 11:19:02 -05:00
Benjamin Rodes
0410ed734b Adding exclusion for main's argv (I believe this and other changes were accidentally removed in prior merge with other non-const branches) 2024-02-16 11:18:06 -05:00
Benjamin Rodes
9f3dd6300f Fixing query to use path graph. 2024-02-16 11:11:48 -05:00
Paolo Tranquilli
32d6c5ac3d Javascript: fix project layout for bazel tests
On Windows, the project layout needs to match `codeql~override`, while
on POSIX we must keep on matching `ql`. We work around this by using
`*ql*` in the project layout, which matches both.
2024-02-16 17:10:20 +01:00
Paolo Tranquilli
1626344560 Merge branch 'main' into redsun82/bzlmod 2024-02-16 17:10:02 +01:00
Benjamin Rodes
aa7c677e13 Merge branch '51-2cppnon-constant-format-alter-not-const-source' into cpp-non-constant-format-as-path-query
# Conflicts:
#	cpp/ql/src/Likely Bugs/Format/NonConstantFormat.ql
2024-02-16 10:49:05 -05:00
Michael B. Gale
008585eeba Go: Include arguments in RunCmd error messages 2024-02-16 15:17:24 +00:00
Michael B. Gale
8886092cd0 Go: Try to ignore errors in go mod vendor calls 2024-02-16 15:15:58 +00:00
Mathias Vorreiter Pedersen
be54a41593 C++: Accept query test changes. 2024-02-16 15:01:50 +01:00
Tamas Vajk
c68d36eb79 Remove restored framework packages when user specified framework folders 2024-02-16 14:42:39 +01:00
Mathias Vorreiter Pedersen
b407c86d03 C++: Make Code Scanning happy. 2024-02-16 13:51:34 +01:00
Mathias Vorreiter Pedersen
57c1bf5835 C++: Add file-level QLDoc. 2024-02-16 13:47:02 +01:00
Mathias Vorreiter Pedersen
497592a4d4 C++: Add change note. 2024-02-16 13:36:25 +01:00
Tamas Vajk
ce0159c005 Add dotnet core dependencies to the integration test 2024-02-16 13:35:18 +01:00
Geoffrey White
e187a4a7d6 C++: Add flow summaries to simpleLocalFlowStep. 2024-02-16 12:31:17 +00:00
Tamas Vajk
7e912f0de0 Rename integration test 2024-02-16 13:31:08 +01:00
Mathias Vorreiter Pedersen
9b2019db6b C++: Accept test changes. 2024-02-16 13:10:41 +01:00
Mathias Vorreiter Pedersen
499ab0892f C++: Currently, to catch flow in an example such as:
```cpp
char* source();
void sink(const char*);
int sprintf(char *, const char *, ...);

void call_sprintf(char* path, char* data) {
        sprintf(path, "%s", "abc"); // (1)
        sprintf(path, "%s", data); // (2)
}

void foo() {
        char path[10];
        call_sprintf(path, source()); // (3)
        sink(path);
}
```
we identify that the `*path [post update]` node at `// (2)` is a
`ReturnNodeExt` and since `*data` flows to that node flow will be carried
out to `*path [post update]` at // (3) and thus reach `sink(path)`.

The reason `*path [post update]` at `// 2` is recognized as a `ReturnNodeExt`
is because it satisfies the following condition (which is identified by the
shared dataflow library):
There is flow from the parameter node `*path` to the pre-update node of the
post-update node `*path [post update]` at `// (2)`.

However, when we start recognizing that the call to `sprintf(path, ...)` at
`// (1)` overrides the value of `*path` and no longer provide use-use flow out
of `*path` the `*path [post update]` node at `// (2)` is no longer recognized
as a `ReturnNodeExt` (because it doesn't satisfy the above criteria).

Thus, we need to identify the flow above without relying on the dataflow
library's summary mechanism. That is, instead of relying on the dataflow
library's mechanism to summarize the `*data -> *path` flow for `call_sprintf`
we need to:
- Ensure that the write to `*path` at `// (2)` is recognized as the "final"
write to the parameter, and
- Ensure that there's flow out of that parameter and back to
`*path [post update]` at `// (3)`.

Luckiky, we do all of this already to support flow out of writes to parameters
that don't have post-update nodes. For example, in something like:
```cpp
void set(int* x, int y) {
  *x = y;
}

void test() {
  int x;
  set(&x, source());
  sink(x);
}
```
So in order to make the original example work, all we need to do is to remove
the restrictions on this mechanism so that the same mechanism that makes the
above example work also makes the original example work!
2024-02-16 13:09:45 +01:00
Joe Farebrother
9ad05fe51c Address reveiws - Add BAD example to doc, add doc example to tests and fix typo. 2024-02-16 12:00:51 +00:00
Mathias Vorreiter Pedersen
7e9bf2a880 C++: Add a model for 'partial updating' and extend models appropriately. 2024-02-16 12:56:19 +01:00
Mathias Vorreiter Pedersen
24a63ae94d C++: Block flow by default. 2024-02-16 12:56:19 +01:00
Mathias Vorreiter Pedersen
625c47fa9c C++: Add a testcase. 2024-02-16 12:56:19 +01:00
Tamas Vajk
1e75c73825 Fix failing integration test 2024-02-16 12:50:13 +01:00
Tamas Vajk
f8b29ad70e Introduce environment variable to specify framework assembly locations 2024-02-16 11:54:19 +01:00
Tamas Vajk
d358f8e4f2 Move undocumented environment variable names to a common location 2024-02-16 11:15:53 +01:00
Tamas Vajk
b996f7b3ce Change environment variable for opt-out web view extraction 2024-02-16 11:15:53 +01:00
Tamas Vajk
8f0f6963bb Change desktop dotnet assembly lookup to fall back to nuget reference assemblies 2024-02-16 11:15:53 +01:00
Tamas Vajk
04f0fb0483 Add integration test with mono assemblies as references 2024-02-16 11:15:52 +01:00
Benjamin Rodes
d6b0746b30 The non-constant format query is now a path query. Minor changes to the output alert to be more precise on what is being alerted. Minor changes to the query itself to avoid redundancies with argv. 2024-02-15 12:14:52 -05:00
Michael B. Gale
4d28c0d2a9 Go: Call go mod vendor to synchronise vendor directory when it exists 2024-02-15 16:19:07 +00:00
Joe Farebrother
e36b9f4d3c Add tests and change note 2024-02-15 15:26:20 +00:00
Joe Farebrother
37eb81097f Add additional sinks for connection methods 2024-02-14 22:42:03 +00:00
Michael B. Gale
6267506a77 Go: Postpone go.mod creation until necessary 2024-02-14 19:12:36 +00:00
Michael B. Gale
1055e773ef Go: Export InitGoModForLegacyProject 2024-02-14 19:12:35 +00:00
Michael B. Gale
4387c73d12 Go: Fix missing word in comment for discoverWorkspace 2024-02-14 19:12:35 +00:00
Michael B. Gale
6dbb5c5fdb Go: Refactor Autobuild to use pairs of scripts and tools from a reusable array 2024-02-14 19:12:35 +00:00
Michael B. Gale
e2c673417f Go: Only call EmitNewerGoVersionNeeded at most once 2024-02-14 19:12:35 +00:00
Michael B. Gale
6eac48caba Go: Refactor greatest version logic into dedicated function 2024-02-14 19:12:34 +00:00
Michael B. Gale
a9d8643f5a Go: check for extracted files in go-files-found-not-processed test 2024-02-14 19:12:34 +00:00
Michael B. Gale
a26d11bcea Go: Revert expected diagnostics for go-files-found-not-processed 2024-02-14 19:12:34 +00:00
Michael B. Gale
058bf32ad0 Go: Initialise Go modules for stray source files outside of existing modules 2024-02-14 19:12:34 +00:00
Michael B. Gale
d99ad01efa Go: Add module files which don't belong to a workspace, if there are workspaces 2024-02-14 19:12:34 +00:00
Michael B. Gale
251888a0bd Go: Tell extractor to extract subdirectories as well 2024-02-14 19:12:33 +00:00
Michael B. Gale
925e99cdb2 Go: Use GoFilesOutsideDirs to find stray source files 2024-02-14 19:12:33 +00:00
Michael B. Gale
f0df7cd5c5 Go: Add GoFilesOutsideDirs function 2024-02-14 19:12:33 +00:00
Michael B. Gale
d4ea45bdaf Go: Add comment to AnyGoFilesOutsideDirs and use slices.Contains 2024-02-14 19:12:33 +00:00
Michael B. Gale
843f7694fd Go: Only relocate project to temp dir if there is only one workspace 2024-02-14 19:12:32 +00:00
Michael B. Gale
3a982de16f Go: Workspaces only support mod=readonly 2024-02-14 19:12:32 +00:00
Michael B. Gale
9c3667dbf7 Go: Improve go.work file(s) found log message 2024-02-14 19:12:32 +00:00
Michael B. Gale
fd54350ba8 Go: Fix comment for getBuildRoots 2024-02-14 19:12:32 +00:00
Michael B. Gale
f084829154 Go: Only fail autobuilder if all projects cannot be extracted 2024-02-14 19:12:31 +00:00
Michael B. Gale
20836c7088 Go: Add test for multiple modules, where one cannot be extracted 2024-02-14 19:12:31 +00:00
Michael B. Gale
fbd7946cfd Go: Fall back to ./... if there are no modules
Fixes issues for `dep` and `glide`
2024-02-14 19:12:31 +00:00
Michael B. Gale
0b8a917584 Go: Fix crash if WorkspaceFile.Go is nil 2024-02-14 19:12:30 +00:00
Michael B. Gale
46c553e802 Go: Add test case for go.mod file without a Go version 2024-02-14 19:12:30 +00:00
Michael B. Gale
a961e276c1 Go: Initialise filesToRemove to an empty array 2024-02-14 19:12:30 +00:00
Michael B. Gale
51eb487022 Go: Handle filepath.Rel failure 2024-02-14 19:12:30 +00:00
Michael B. Gale
c96735e17a Go: Remove auto-generated go.mod files when done 2024-02-14 19:12:30 +00:00
Michael B. Gale
db1d24a900 Go: Update expected diagnostics for go-files-not-processed 2024-02-14 19:12:29 +00:00
Michael B. Gale
e79f5905e7 Go: Fix checks for dep and glide not working correctly 2024-02-14 19:12:29 +00:00
Michael B. Gale
ec902827f6 Go: Initialise go.mod for stray source files 2024-02-14 19:12:29 +00:00
Michael B. Gale
b9e96e4a27 Fixup: closing curly brace 2024-02-14 19:12:29 +00:00
Michael B. Gale
21fbb1b051 Go: Only initialise module if there are source files 2024-02-14 19:12:28 +00:00
Michael B. Gale
f48b1e57d7 Go: Check for relative paths warning even if go mod tidy is successful 2024-02-14 19:12:28 +00:00
Michael B. Gale
aa5e14f59f Go: Replace BuildInfo with GoWorkspace 2024-02-14 19:12:28 +00:00
Michael B. Gale
8b376e7a35 Go: Include ModMode in GoWorkspace 2024-02-14 19:12:28 +00:00
Michael B. Gale
025fbc874f Go: Move definition of GoVersionInfo 2024-02-14 19:12:28 +00:00
Michael B. Gale
bdae54714a Go: Change getDepMode to return GoWorkspaces 2024-02-14 19:12:27 +00:00
Michael B. Gale
64122ba867 Go: Include DependencyInstallerMode in GoWorkspace 2024-02-14 19:12:27 +00:00
Michael B. Gale
7392440475 Go: Move DependencyInstallerMode up 2024-02-14 19:12:27 +00:00
Michael B. Gale
b5ae8ace0d Go: Add a function for go mod init 2024-02-14 19:12:27 +00:00
Michael B. Gale
1bf747ef3a Go: Create go.mod file if necessary in project discovery 2024-02-14 19:12:27 +00:00
Michael B. Gale
254634075f Go: Add shared TidyModule function 2024-02-14 19:12:26 +00:00
Michael B. Gale
f013d9d373 Go: Use new workspace/module discovery 2024-02-14 19:12:26 +00:00
Michael B. Gale
fc75e44238 Go: Allow GetBuildInfo to return multiple BuildInfo objects 2024-02-14 19:12:26 +00:00
Michael B. Gale
4f5c43a3c6 Go: Add new functions for discovering workspaces and modules 2024-02-14 19:12:26 +00:00
Michael B. Gale
3f53186ad1 Go: Add helper functions for discovering go.work and go.mod files 2024-02-14 19:12:25 +00:00
Michael B. Gale
60879bd367 Go: Introduce new types for representing logical workspaces 2024-02-14 19:12:25 +00:00
Michael B. Gale
82bd1d7b0b Go: Add SupportsWorkspaces function 2024-02-14 19:12:25 +00:00
Michael B. Gale
237bf5653a Go: Move getEnvGoSemVer to toolchain.go 2024-02-14 19:12:25 +00:00
Michael B. Gale
bd36847ca2 Go: Emit relative path import diagnostic if prompted by go mod tidy
The corresponding integration test now successfully extracts the project
2024-02-14 19:12:25 +00:00
Michael B. Gale
c2571160c3 Go: Rename findGoModFiles to getBuildRoot 2024-02-14 19:12:24 +00:00
Michael B. Gale
0488d1d295 Go: Move getDirs into util and document/rename 2024-02-14 19:12:24 +00:00
Michael B. Gale
df212807a0 Go: Try to initialise go.mod file for legacy projects 2024-02-14 19:12:24 +00:00
Chris Smowton
7ed73bc4ed change note 2024-02-14 15:45:03 +00:00
Chris Smowton
9016997b51 Golang: fix flow from a map value via a range statement 2024-02-14 14:56:24 +00:00
Asger F
d94d4591da JS: Name instance methods using API nodes instead of special-casing 2024-02-14 15:08:19 +01:00
Asger F
c4a0f36a08 JS: Fix handling of unknown properties
These would shorten the expected distance to a node, but would never be usable as an edge, meaning we failed to pick a preferred predecessor.
2024-02-14 15:08:19 +01:00
Asger F
3ff950660b JS: Add test with unknown property name 2024-02-14 15:08:19 +01:00
Asger F
9838da5395 JS: Simplify isExported 2024-02-14 15:08:19 +01:00
Asger F
a3dc19fd31 JS: Check privacy earlier 2024-02-14 15:08:19 +01:00
Asger F
5c454944a9 JS: Add test for private fields 2024-02-14 15:08:19 +01:00
Asger F
2a91bb8c54 JS: Add test showing ambiguous predecessor 2024-02-14 15:08:19 +01:00
Robert Marsh
7e23ccd383 Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors 2024-02-13 15:45:51 +00:00
Robert Marsh
128bc99f90 C++: delete some FIXMEs that turned out fine 2024-02-13 15:34:36 +00:00
Peter Stöckli
2f7b946c9f Ruby: add sources on request object of Rails 2024-02-13 15:52:18 +01:00
Robert Marsh
b9785ea7b2 C++: autoformat 2024-02-13 01:07:41 +00:00
Robert Marsh
f791b0ebbf C++: Model for smart pointer destructors 2024-02-13 01:00:46 +00:00
Robert Marsh
b6cf64cff3 C++: simplify TranslatedBlock::getLastChild 2024-02-13 00:46:53 +00:00
Robert Marsh
7d8872bb99 C++: Fix for multiple for-loop variables with destructors 2024-02-13 00:40:19 +00:00
Robert Marsh
6663420d39 C++: test for multiple for loop variables with destructors 2024-02-13 00:35:56 +00:00
Robert Marsh
b94c4a6e1b C++: fix for destructor of while-loop condition 2024-02-13 00:13:22 +00:00
Robert Marsh
bac7e46b0f C++: tests for destructors after a while-loop condition 2024-02-12 23:55:42 +00:00
Tom Hvitved
15cf695188 C#: Fix various bad joins 2024-02-12 19:49:53 +01:00
Tom Hvitved
90f3670f3d C#: Remove all DB stats 2024-02-12 19:49:29 +01:00
Paolo Tranquilli
a944443d39 Merge branch 'main' into redsun82/bzlmod 2024-02-12 16:03:50 +01:00
Paolo Tranquilli
c0eeb7a34e Bazel: reference (and locally stub) internal module 2024-02-12 15:58:43 +01:00
Joe Farebrother
3a4a841844 Add change note + update severity 2024-02-12 14:01:27 +00:00
Joe Farebrother
16a7d68780 Add documentation 2024-02-12 13:58:01 +00:00
Joe Farebrother
2eb93b7a3b Add unit tests 2024-02-12 13:49:45 +00:00
Joe Farebrother
d8985f9f5b Move tests for local auth to a folder 2024-02-12 13:49:45 +00:00
Joe Farebrother
c79a3eb6ae Add query for insecure key generation 2024-02-12 13:49:44 +00:00
Paolo Tranquilli
53539226a8 Bazel: use internal codeql module 2024-02-12 14:27:55 +01:00
Paolo Tranquilli
19bb8fe22d Bazel: use bzlmod 2024-02-12 10:55:40 +01:00
Marcono1234
d814decc17 Ruby: Fix formatting in changelog 2024-02-10 00:23:57 +01:00
Robert Marsh
d1160f86e1 C++: Autoformat for named destructors in IR 2024-02-09 22:35:12 +00:00
Robert Marsh
1b571f8992 C++: Accept test changes 2024-02-09 22:32:08 +00:00
Geoffrey White
0c3aa7b7f2 C++: Add an inline test for interpretElement matching. 2024-02-09 18:57:05 +00:00
Geoffrey White
8bdb67cc15 C++: Allow member variables to be picked as input nodes. 2024-02-09 14:24:37 +00:00
Mathias Vorreiter Pedersen
4eae191430 C++: Accept test changes. 2024-02-09 14:07:57 +00:00
Mathias Vorreiter Pedersen
4728cf5a12 C++: Allow the 'x' in 'x = source()' to be marked as a sink in MaD. 2024-02-09 14:07:48 +00:00
Anders Schack-Mulligen
8fc4fae7d2 Java: Cache interpretElement. 2024-02-09 14:43:36 +01:00
Mathias Vorreiter Pedersen
cd41a1ca8c C++: Accept test changes. 2024-02-09 13:27:40 +00:00
Mathias Vorreiter Pedersen
3719e10ce8 C++: Add a case for global or namespace variables in 'interpretElement0'. 2024-02-09 13:27:32 +00:00
Mathias Vorreiter Pedersen
52a1d905f1 C++: Qualified import of 'cpp' to make the file compile. 2024-02-09 13:25:17 +00:00
Rasmus Lerchedahl Petersen
580e68d5de python: add support for lower bound position 2024-02-09 13:51:16 +01:00
Rasmus Lerchedahl Petersen
45bb4a0ee5 python: remove TaintStepFromSummary
as it should be covered by `SummarizedCallableFromModel`

Also move things around, to look more like the Ruby code.
2024-02-08 12:48:15 +01:00
Rasmus Lerchedahl Petersen
5cb71ce7e5 python: remove a use of points-to
This is used by `Scope::isPublic` which in turn is called by the framework model for `setuptools`.

On my current quesry, this had a dramatic effect on the most expensive predicates:

Before
```
Most expensive predicates for completed query FindUses.ql:
        time  | evals |   max @ iter | predicate
        ------|-------|--------------|----------
         1m9s |  2933 | 123ms @ 422  | PointsTo::Expressions::equalityEvaluatesTo/4#ebe72212@cab7d3xr
        43.1s |       |              | FlowSummaryImpl::Private::Steps::summaryLocalStep/3#900fb25e#ffb@8aa78a38
        41.3s |  2936 |  2.1s @ 409  | PointsTo::InterProceduralPointsTo::scope_entry_value_transfer_from_earlier/4#acb2199d@cab7ddxr
        30.2s |  2946 |  67ms @ 847  | PointsTo::PointsToInternal::multi_assignment_points_to/4#28782e93@cab7d0yr
        29.7s |  2930 |  1.9s @ 30   | Extensions::ReModulePointToExtension.pointsTo_helper/1#a84effde@cab7dn4w
        24.9s |  2933 |  84ms @ 414  | PointsTo::Expressions::inequalityEvaluatesTo/4#f0ecfab4@cab7d2xr
        17.9s |  2582 | 306ms @ 31   | MRO::ClassListList.getItem/1#b6c27115#reorder_2_0_1@cab7dw6r
         9.4s |   661 | 991ms @ 1    | SsaCompute::AdjacentUses::varBlockReaches/3#1824ad86@2b6af692
         9.2s |  2738 |  26ms @ 664  | MRO::ClassList.containsSpecial/0#c967dabb#fb@cab7dg4w
         8.9s |  2946 |  12ms @ 917  | PointsTo::Types::getBase/2#0ab04984@cab7du1w
         7.4s |  2946 | 287ms @ 3    | PointsTo::PointsToInternal::points_to_candidate/4#0a587a42@cab7d80w
         7.1s |  2934 |  14ms @ 2    | Constants::ConstantObjectInternal.attribute/3#6d9e12fc@cab7d6zr
         6.8s |  2946 |   9ms @ 48   | PointsTo::InterProceduralPointsTo::callsite_points_to/4#72419c70@cab7dqxr
         6.6s |   234 | 341ms @ 17   | ApiGraphs::API::Impl::rhs/3#2255afc6@a41b31w3
         6.6s |  2946 |  86ms @ 5    | PointsTo::Types::six_add_metaclass/4#f926a4cb@cab7da0w
         6.2s |  2930 | 341ms @ 30   | Extensions::RangeIterationVariableFact.pointsTo/3#662720c9#cpe#124@cab7di2w
         5.9s |   287 |  61ms @ 4    | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@cc7b56yn
         5.8s |       |              | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52_201#join_rhs@415f35h0
         5.6s |       |              | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@2c1fcdq1
         5.3s |       |              | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@22590ca9
         5.2s |   233 | 276ms @ 21   | ApiGraphs::API::Impl::use/3#e6c88b66@a41b30w3
         5.1s |  2945 | 177ms @ 4    | PointsTo::PointsToInternal::pointsTo/4#d99f16c6@cab7dj0w
         4.7s |       |              | Flow::ControlFlowNode.toString/0#dispred#e1af144b@410c23a7
         4.6s |   277 |  2.2s @ 6    | DataFlowDispatch::getCallArg/5#21589076@cc7b5vxn
         4.5s |       |              | DataFlowImplCommon::Cached::viableParam/3#61239ead@cc05a1fv
         4.3s |       |              | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52@cb992b2h
         4.1s |       |              | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#shared@6ae639js
           4s |       |              | Files::Location.toString/0#dispred#7e7e0516@b72abbo2
         3.7s |       |              | locations_ast_234501#join_rhs@0859685o
         3.7s |    10 |  1.7s @ 1    | ObjectInternal::ObjectInternal.toString/0#dispred#0b2e9429@6e8a4yh7
         3.6s |  2942 |  63ms @ 94   | PointsTo::InterProceduralPointsTo::call_points_to_from_callee/4#394022a8@cab7d90w
         3.6s |   232 | 213ms @ 18   | ApiGraphs::API::Impl::trackDefNode/2#8e3c4e6d@a41b33w3
         3.6s |  2933 |   7ms @ 884  | PointsTo::Types::getInheritedMetaclass/2#097d39df#bff@cab7dr1w
         3.6s |  2946 |  1.3s @ 13   | PointsTo::PointsToInternal::ssa_node_refinement_points_to/4#8ea6486b@cab7dnxr
         3.5s |  1319 | 387ms @ 3    | SsaCompute::SsaDefinitions::reachesEndOfBlock/4#214bd902@fce54web
         3.5s |  1320 | 385ms @ 2    | SsaCompute::SsaDefinitions::reachesEndOfBlockRec/4#63bb2cd4@fce54xeb
         3.4s |  4861 | 478ms @ 2    | SsaCompute::SsaComputeImpl::ssaDefReachesRank/4#f19c6fee@cc8515rd
         3.3s |       |              | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#higher_order_body@47ba63n6
         3.3s |       |              | DataFlowPublic::Node.toString/0#dispred#af9c307a@4d16e7m6
         3.3s |  2946 |  28ms @ 3    | PointsTo::PointsToInternal::reachableEdge/3#d3f53c12@cab7do7w
         2.9s |   233 | 110ms @ 19   | ApiGraphs::API::Impl::trackUseNode/2#a0b4384d@a41b32w3
         2.8s |    31 |  2.2s @ 9    | _Class::Class.getAMethod/0#dispred#66416e47_DataFlowDispatch::findFunctionAccordingToMroKnownStartin__#antijoin_rhs@L6#cc7b5
         2.8s |  2737 |  21ms @ 444  | MRO::ClassListList.removedClassParts/4#de59b06f#reorder_2_3_4_0_1@cab7d06w
         2.8s |  1322 | 462ms @ 4    | SsaCompute::Liveness::liveAtExit/2#b6aa63f4@6fd4cx73
         2.8s |  2946 | 187ms @ 5    | PointsTo::Expressions::builtinCallPointsTo/5#3aa7f48b@cab7dwwr
         2.8s |  2939 |  41ms @ 7    | PointsTo::PointsToInternal::use_points_to/4#ff1d0edd@cab7df0w
         2.7s |  2946 |  20ms @ 92   | PointsTo::Conditionals::evaluates/5#736734b2#fbffff#reorder_5_0_2_1_3_4@cab7dp5w
         2.6s |  2946 | 152ms @ 5    | Constants::callToBool/2#0b9b1e8d@cab7dn7w
         2.5s |   287 |  24ms @ 4    | DataFlowDispatch::resolveClassInstanceCall/3#6e09c292@cc7b53xn
         2.4s |  2946 |  31ms @ 5    | PointsTo::AttributePointsTo::variableAttributePointsTo/5#60adcc49@cab7dpwr

[2024-02-08 10:44:37] Total evaluation times for this run:
        * Wall-clock duration of evaluation run: 1231.1 seconds
        * Total time spent evaluating predicates: 1167.1 seconds
```

After
```
Most expensive predicates for completed query FindUses.ql:
        time  | evals |   max @ iter | predicate
        ------|-------|--------------|----------
        41.6s |       |              | FlowSummaryImpl::Private::Steps::summaryLocalStep/3#900fb25e#ffb@85aaaac1
         9.2s |   661 | 905ms @ 1    | SsaCompute::AdjacentUses::varBlockReaches/3#1824ad86@2b6af692
         7.6s |   234 | 502ms @ 19   | ApiGraphs::API::Impl::rhs/3#2255afc6@ce6d11wc
         6.7s |       |              | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52_201#join_rhs@fd1dc5mi
           6s |   287 |  80ms @ 113  | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@925826yr
         5.7s |       |              | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@851052bl
         5.6s |   233 | 289ms @ 21   | ApiGraphs::API::Impl::use/3#e6c88b66@ce6d10wc
         5.4s |       |              | FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8@f2c42d17
         4.8s |   277 |  2.4s @ 6    | DataFlowDispatch::getCallArg/5#21589076@92582vxr
         4.7s |       |              | DataFlowImplCommon::Cached::viableParam/3#61239ead@ac08e0nf
         4.7s |       |              | DataFlowImplCommon::LambdaFlow::viableParamNonLambda/3#3123cc52@82ff50ql
         4.6s |       |              | Files::Location.toString/0#dispred#7e7e0516@b72abbo2
         4.3s |       |              | Flow::ControlFlowNode.toString/0#dispred#e1af144b@410c23a7
         4.2s |   232 | 249ms @ 19   | ApiGraphs::API::Impl::trackDefNode/2#8e3c4e6d@ce6d13wc
         3.8s |       |              | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#shared@0ac73425
         3.6s |  1319 | 354ms @ 1    | SsaCompute::SsaDefinitions::reachesEndOfBlock/4#214bd902@fce54web
         3.6s |  1320 | 381ms @ 2    | SsaCompute::SsaDefinitions::reachesEndOfBlockRec/4#63bb2cd4@fce54xeb
         3.4s |       |              | _AstExtended::AstNode.getLocation/0#dispred#6b4dcb62_10#join_rhs_DataFlowPublic::Node.getLocation/0#__#higher_order_body@9e946ea8
         3.4s |  4861 | 474ms @ 2    | SsaCompute::SsaComputeImpl::ssaDefReachesRank/4#f19c6fee@cc8515rd
         3.1s |    31 |  2.5s @ 9    | _Class::Class.getAMethod/0#dispred#66416e47_DataFlowDispatch::findFunctionAccordingToMroKnownStartin__#antijoin_rhs@L6#92582
           3s |    53 | 114ms @ 48   | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@9ab38jw0
           3s |   233 | 126ms @ 20   | ApiGraphs::API::Impl::trackUseNode/2#a0b4384d@ce6d12wc
           3s |       |              | locations_ast_234501#join_rhs@0859685o
           3s |       |              | DataFlowPublic::Node.toString/0#dispred#af9c307a@a2145cqf
         2.8s |   234 | 206ms @ 21   | _ApiGraphs::API::Impl::MkDef#51c2f877#prev_ApiGraphs::API::Impl::trackDefNode/1#7e78e336#prev_delta___#antijoin_rhs#1@L9#ce6d1
         2.8s |  1322 | 447ms @ 4    | SsaCompute::Liveness::liveAtExit/2#b6aa63f4@6fd4cx73
         2.7s |   230 | 176ms @ 28   | ApiGraphs::API::Impl::MkDef#51c2f877@ce6d1w9c
         2.5s |   287 |  50ms @ 112  | DataFlowDispatch::resolveClassInstanceCall/3#6e09c292@925823xr
         2.4s |   234 | 246ms @ 19   | _ApiGraphs::API::Impl::MkDef#51c2f877#prev_ApiGraphs::API::Impl::trackDefNode/1#7e78e336#prev_delta___#antijoin_rhs@L4#ce6d1
         2.3s |       |              | TaintTrackingPrivate::localAdditionalTaintStep/2#a2ec8c9d@e31201hd
         2.2s |    53 |  72ms @ 15   | DataFlowDispatch::TrackAttrReadInput::start/2#67f26627@96b28jwo
         2.2s |       |              | SensitiveDataSources::SensitiveDataModeling::sensitiveString/1#fdc3ad40@41f6ee2g
           2s |       |              | DataFlowImplCommon::Cached::viableParamArg/3#4c55eddb@8f7f25oq
           2s |       |              | Flow::ControlFlowNode.getExprChild/1#e757d179#bbf@db51e8ed
         1.9s |       |              | project#FlowSummaryImpl::Private::Steps::viableParam/4#49c13ab8#2@e36c2dr8
         1.9s |       |              | DataFlowPublic::Node.hasLocationInfo/5#dispred#b79d995f@6e929dfv
         1.7s |    15 | 433ms @ 1    | PoorMansFunctionResolution::poorMansFunctionTracker/2#75430e01@e5202dnv
         1.7s |       |              | #ImportResolution::ImportResolution::allowedEssaImportStep/2#f4117c61Plus#swapped@60d9daea
         1.7s |    29 | 633ms @ 6    | _Class::Class.getAMethod/0#dispred#66416e47_Function::Function.getName/0#dispred#033700ef_10#join_rh__#antijoin_rhs@L4#92582
         1.5s |   233 |  79ms @ 24   | ApiGraphs::API::Impl::trackUseNode/1#1af3a9ea@ce6d16wc
         1.5s |       |              | ApiGraphs::API::Impl::edge/3#8453bf65@1bd8a6ja
         1.5s |       |              | ApiGraphs::API::Node.getAValueReachableFromSource/0#dispred#9a406fb1@5dbb806u
         1.3s |  1323 | 178ms @ 13   | SsaCompute::Liveness::liveAtEntry/2#bab3ea7c@6fd4cw73
         1.3s |       |              | SsaCompute::SsaComputeImpl::defUseRank/4#782a2f48@0f27919s
         1.3s |       |              | DataFlowDispatch::LibraryCallable.getACall/0#dispred#66a01171#fb@96b65frd
         1.3s |       |              | ApiGraphs::API::Node.getAValueReachableFromSource/0#dispred#9a406fb1_10#join_rhs@c1dd43nv
         1.3s |       |              | FlowSummaryImpl::Private::SummaryNode.toString/0#dispred#d499e234@63bd684g
         1.2s |       |              | DataFlowDispatch::LibraryCallable.getACall/0#dispred#66a01171#fb@eaebb27g
         1.2s |       |              | _DataFlowPublic::Node#da3b6093_DataFlowPublic::Node.asExpr/0#dispred#2845197a_py_exprs#antijoin_rhs@fcd8c3kj
         1.2s |       |              | #ImportResolution::ImportResolution::allowedEssaImportStep/2#f4117c61Plus#swapped@c3f634us

[2024-02-08 11:43:50] Total evaluation times for this run:
        * Wall-clock duration of evaluation run: 636.9 seconds
        * Total time spent evaluating predicates: 562.4 seconds
```
2024-02-08 12:20:56 +01:00
Robert Marsh
174966164d Merge branch 'main' into rdmarsh2/cpp/ir-synthetic-destructors 2024-02-07 18:25:12 +00:00
Geoffrey White
a354ab84e9 C++: More robust InterpretNode.asCall. 2024-02-07 18:00:57 +00:00
Geoffrey White
e98485df7f Update cpp/ql/lib/semmle/code/cpp/dataflow/internal/FlowSummaryImpl.qll
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com>
2024-02-07 17:53:22 +00:00
Paolo Tranquilli
b105d0cf9a Bazel/CMake: be more lenient with aquery
It turns out `bazel aquery` is not so well behaved on Windows, so we
need to accept that it reports errors and exits with an error.
2024-02-07 16:25:54 +01:00
Paolo Tranquilli
9cfef6e42f Bazel/CMake: auto detect all cc_binary/cc_test targets 2024-02-07 11:11:30 +01:00
Robert Marsh
5653c3f972 C++: Update IR test expectations for named destructors 2024-02-06 21:04:52 +00:00
Geoffrey White
f6b412e1c9 C++: Use hasQualifiedName. 2024-02-06 17:48:42 +00:00
Geoffrey White
d1e040e27c C++: Bug fix for subclasses. 2024-02-06 17:45:14 +00:00
Geoffrey White
a9b2876b71 C++: Delete commented out code. 2024-02-06 17:34:15 +00:00
Geoffrey White
66d8943c08 C++: Minor bug fix. 2024-02-06 17:20:14 +00:00
Geoffrey White
25200b47ea C++: Implement the namespace field. 2024-02-06 16:35:48 +00:00
Geoffrey White
a5527903e9 C++: Fix some mistakes in the MAD definitions for the tests. 2024-02-06 16:34:07 +00:00
Robert Marsh
40e06b7877 C++: suppress destructor calls on delete in IR generation
This avoids an issue with duplicated qualifiers that was causing broken control flow
2024-02-06 14:55:00 +00:00
Geoffrey White
7514037464 C++: Add test cases for MAD sources, sinks and summaries in namespaces. 2024-02-06 12:12:28 +00:00
Robert Marsh
8013c2a074 C++: QLDoc and naming updates for implicit destructors in IR 2024-02-05 19:14:56 +00:00
Robert Marsh
bbabf1dfcc C++: add test for constructors in C++17 decl-in-if 2024-02-05 18:41:18 +00:00
Robert Marsh
2d010f69c6 C++: Test for destructors in declaration as if condition 2024-02-02 17:39:27 +00:00
Robert Marsh
984c7ab85a C++: test for declarations in if statement 2024-02-02 17:39:26 +00:00
Robert Marsh
4513fd1b52 C++: test for destructors in range-based for 2024-02-02 17:39:26 +00:00
Robert Marsh
820f4a5571 C++: custom destructor handling for for loops 2024-02-02 17:39:23 +00:00
Robert Marsh
85d1d079c8 C++: Add implicit named destructosrs to the IR CFG 2024-02-02 17:36:02 +00:00
Robert Marsh
3a404cec67 C++: Add getLastInstruction to IR generation 2024-02-02 17:10:47 +00:00
Robert Marsh
47720e0998 C++: generate instructions for destructor calls in IR 2024-02-02 17:05:40 +00:00
Rasmus Lerchedahl Petersen
3b1751dc8a Update supported versions 2024-02-02 11:45:21 +01:00
Rasmus Lerchedahl Petersen
f433039a25 Add change note 2024-02-02 11:23:35 +01:00
Rasmus Lerchedahl Petersen
f275531542 Add support for TS 5.4-beta 2024-02-02 11:03:44 +01:00
Geoffrey White
649af822fd C++: Fix the issue with missing return kinds when function bodies are not in the database. 2024-02-01 17:04:20 +00:00
Geoffrey White
5caa49aeab C++: Remove unused case for now, and add QLDoc. 2024-02-01 15:51:50 +00:00
Mathias Vorreiter Pedersen
2bea0adb92 C++: Solve non-monotonic issue by unfolding dataflow-related predicates until we get to the SSA implementations of them. 2024-02-01 13:14:02 +00:00
Geoffrey White
cfc1a3db22 C++: Document Node0Impl, remove a debug change. 2024-02-01 13:13:50 +00:00
GitHub Security Lab
df10a7e7f0 Merge branch 'main' into amammad-js-bombs 2024-01-25 11:23:38 +01:00
Geoffrey White
e0d70e3008 C++: Resolve the TODO / unwanted change in shared code and get more results. 2024-01-24 18:09:34 +00:00
Geoffrey White
a727255a82 C++: Add a couple more test cases and correct test models again. 2024-01-24 15:18:49 +00:00
Geoffrey White
c10f41b168 C++: Use getClassAndName. 2024-01-23 15:02:59 +00:00
Geoffrey White
4c1f433073 C++: Move getIndirectionIndex to ReturnKind. 2024-01-23 14:52:44 +00:00
Geoffrey White
963e0a730d C++: Fix some off-by-one mistakes in the test. 2024-01-18 17:38:32 +00:00
Geoffrey White
42571069bf C++: Autoformat. 2024-01-18 16:01:06 +00:00
Geoffrey White
017369c6f2 C++: Remove redundant import (identified by QL-for-QL). 2024-01-18 15:59:32 +00:00
Geoffrey White
cc2b61186e C++: Document TReturnKind, NormalReturnKind and IndirectReturnKind better. 2024-01-18 13:24:57 +00:00
Geoffrey White
dd27ef7d3c C++: Add MAD source definitions for the new taint sources and update the (real) test. 2024-01-18 13:24:57 +00:00
Geoffrey White
833165f86c C++: Update the (synthetic) test. 2024-01-18 13:24:57 +00:00
Geoffrey White
c85262cfd0 C++: Add the shared MAD pack to CPP. 2024-01-18 13:24:57 +00:00
Geoffrey White
a8863e44db C++: Port implementation to CPP. 2024-01-18 13:24:57 +00:00
Geoffrey White
3aacc5ffde C++: Copy FlowSummaryImpl.qll from Swift. 2024-01-18 13:01:16 +00:00
Geoffrey White
fbf9545338 C++: Copy ExternalFlow.qll from Swift. 2024-01-18 13:01:16 +00:00
Geoffrey White
303882350b C++: Add some test cases for new (real) taint sources to be defined using models-as-data. 2024-01-18 13:01:16 +00:00
Geoffrey White
9611e4ce19 C++: Add tests for (synthetic) models-as-data sources and sinks. 2024-01-18 13:01:16 +00:00
Rasmus Wriedt Larsen
f20d4e22fe Handle only exclude 2024-01-18 13:54:45 +01:00
Rasmus Wriedt Larsen
54c7c5e8be Tree sitter extractor: Proper handling of LGTM_INDEX_FILTERS
If someone had used `LGTM_INDEX_FILTERS=exclude:**/*\ninclude:*.rb`
before, we would have mistakenly excluded all files :|
(LGTM_INDEX_FILTERS is a prioritized list where later matches take
priority over earlier ones)

This change is needed to support adding `exclude:**/*` as the first
filter if `paths` include a glob, which currently causes bad behavior in
the Python extractor. However, we can first introduce that change once
this PR has been merged.

I realize this change can cause more folders and files to be traversed
(since they are not just skipped with --exclude). We plan to make a
better long term fix which should bring back the previous performance.
2024-01-18 11:44:31 +01:00
Chad Bentz
b12f4d97f8 Merge branch 'main' into patch-1 2024-01-17 09:25:28 -05:00
amammad
a47c702171 change TN to GOOD instead of using hasValueFlow 2024-01-15 22:08:35 +04:00
amammad
65ac94320e fix Typo in tests 2024-01-15 01:14:54 +04:00
amammad
073f65d586 Merge branch 'amammad-go-bombs' of https://github.com/amammad/codeql into amammad-go-bombs 2024-01-15 01:12:40 +04:00
amammad
3c79faf37a minor change for resolving rebase conflicts 2024-01-15 01:06:36 +04:00
amammad
2fe10942da minor change for resolving rebase conflicts 2024-01-15 01:02:55 +04:00
amammad
3fcb0ee228 move MultipartAndFormRemoteSource to DecompressionBombs.qll 2024-01-15 01:01:51 +04:00
amammad
b2edf6cf3e add Inline Expectations Test, update tests accordingly 2024-01-15 00:27:06 +04:00
amammad
a1c384c57b change Decompression bombs Query structure 2024-01-15 00:22:55 +04:00
amammad
0efb00724d Add hasFlowToComparison to all sinks as a sanitizer 2024-01-15 00:05:11 +04:00
maikypedia
78e7793e01 Move to experimental 2024-01-09 01:11:58 +01:00
maikypedia
7662b2bd24 format 2023-12-19 13:23:05 +01:00
Malayke
22cb9ed063 Merge branch 'main' into main 2023-12-18 22:07:45 +08:00
Maiky
191766a47b Use config.getCorsConfiguration().getOrigin())
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2023-12-18 12:38:39 +01:00
Maiky
4f68f60db2 Apply review
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2023-12-18 12:37:05 +01:00
amammad
79edc5c261 add sanitizer to all Read methods, add Inline tests, improve tests 2023-12-18 12:34:56 +01:00
Malayke
c90fcd19cc Merge branch 'main' into main 2023-12-18 18:38:20 +08:00
Malayke
8d8126f849 Merge branch 'github:main' into main 2023-12-18 17:52:28 +08:00
amammad
a72bd7efcc add GOOD and BAD comment to sinks, some chore improvements on tests 2023-12-17 20:07:16 +01:00
amammad
87b1028aab fix pgzip missed sink, apply isBarrier directly to CopyN sink, add new flow state for pgzip 2023-12-17 19:55:50 +01:00
Malayke
ac465b9234 Merge branch 'github:main' into main 2023-12-16 18:02:14 +08:00
Yunus AYDIN
8a7c3c19fe Merge branch 'main' into main 2023-12-15 09:05:50 +03:00
Yunus AYDIN
ec5a8b49c8 add httprouter example code and stub.go 2023-12-15 00:54:39 +03:00
Chad Bentz
ee3085e15e Update generate-code-scanning-query-list.py 2023-12-14 14:09:14 -05:00
Yunus AYDIN
ac3cb7f6c4 update camelcase 2023-12-14 15:29:28 +03:00
Yunus AYDIN
a17c704f46 update expected file 2023-12-14 15:27:27 +03:00
Yunus AYDIN
d899267acb add httprouter example code 2023-12-14 00:23:09 +03:00
Yunus AYDIN
5f6de79c09 Fix select query, Add httprouter library and update test files 2023-12-14 00:19:11 +03:00
Yunus AYDIN
a09505afc2 Update rules 2023-12-13 20:01:53 +03:00
Yunus AYDIN
5148054612 Update go/ql/src/experimental/CWE-525/WebCacheDeceptionLib.qll
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2023-12-13 19:36:07 +03:00
Yunus AYDIN
221e281f73 Update go/ql/src/experimental/CWE-525/WebCacheDeception.ql
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2023-12-13 19:35:59 +03:00
Yunus AYDIN
0ea27c6e9b Update go/ql/src/experimental/CWE-525/WebCacheDeception.ql
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2023-12-13 19:35:53 +03:00
Yunus AYDIN
da275b374f Update go/ql/src/experimental/CWE-525/WebCacheDeception.ql
Co-authored-by: Owen Mansel-Chan <62447351+owen-mc@users.noreply.github.com>
2023-12-13 19:35:36 +03:00
Yunus AYDIN
a47ffc6833 Remove unnecessary rules 2023-12-13 01:52:06 +03:00
Yunus AYDIN
bb2083d10a Remove database directory and add WebCacheDeceptionLib.qll 2023-12-13 01:50:56 +03:00
Yunus AYDIN
bc81201c2e Update expected file 2023-12-12 00:07:51 +03:00
Malayke
7121282b27 add new query for detect DOS 2023-12-11 23:05:04 +08:00
amammad
572777f11b fix a bug in stubs 2023-12-10 22:18:49 +01:00
Yunus AYDIN
cf8f2a38c3 Update expected file 2023-12-11 00:03:50 +03:00
amammad
102f09aa23 extend tests 2023-12-10 20:33:00 +01:00
amammad
18d0b28024 v1 2023-12-10 20:27:21 +01:00
Yunus AYDIN
a6b092d8c1 Update rules ids 2023-12-10 22:26:05 +03:00
Yunus AYDIN
4d97c42ee5 Remove debugging select on go-chi.ql 2023-12-10 22:18:48 +03:00
Yunus AYDIN
501f617eaa Update qhelp and and go-chi 2023-12-10 22:07:17 +03:00
Yunus AYDIN
34fb1c4a9f Add go-chi middleware stub to vendor 2023-12-10 22:06:23 +03:00
Am
59195cccdd Merge branch 'main' into amammad-go-bombs 2023-12-10 18:12:10 +01:00
amammad
bb5017121f Merge branch 'main' into amammad-go-bombs 2023-12-10 18:11:49 +01:00
amammad
737f3e8899 fix stubs 2023-12-10 18:10:23 +01:00
Yunus AYDIN
0813199c7f Update vendor directory and go files 2023-12-10 01:24:29 +03:00
Yunus AYDIN
a925c23d14 Add go.mod and modules.txt 2023-12-09 23:36:50 +03:00
Yunus AYDIN
6bd3c8c07b Format Document 2023-12-09 23:36:13 +03:00
Yunus AYDIN
6378c5e22f Update Fiber Rule for checking files 2023-12-09 23:35:42 +03:00
Yunus AYDIN
63123f3984 Add GoChi Rule 2023-12-09 23:34:48 +03:00
Yunus AYDIN
ba4f8612eb Add GoChi Test Cases 2023-12-09 23:33:18 +03:00
Yunus AYDIN
ad1284853b remove unnecessary file 2023-12-09 19:49:21 +03:00
Yunus AYDIN
eb25d0df66 Add test cases 2023-12-09 19:44:58 +03:00
Yunus AYDIN
85636ccab7 Add Web Cache Deception QHelp and Example Code Snippet for Vulnerable Go Fiber usage 2023-12-09 19:12:20 +03:00
amammad
2cb0afee73 fix some qldocs and some spells 2023-12-08 11:12:57 +01:00
maikypedia
87cac2a4e3 Express Argument has to be Cors 2023-12-07 23:01:41 +01:00
amammad
1547cd0546 added inline tests, move to experimental dir 2023-12-05 18:59:46 +01:00
amammad
2c4d2d3069 Merge branch 'main' into amammad-js-CodeInjection_execa 2023-12-05 18:38:09 +01:00
amammad
67fb802f29 fix conflict 2023-12-05 18:37:50 +01:00
Maiky
83cbbd7043 Apply docstring changes
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2023-12-05 09:05:29 +01:00
amammad
0d0dc5158c stash 2023-12-01 15:03:03 +01:00
Maiky
e6c7fc0ead Fixes CI 2023-11-29 19:45:08 +02:00
Maiky
6a3cdc90e2 Add change-node 2023-11-27 20:58:47 +02:00
Maiky
3bcb411d1a Using Express::RouteSetup 2023-11-27 20:31:19 +02:00
Maiky
f623db461a Change qldoc 2023-11-27 19:51:13 +02:00
Maiky
bb6ef72e67 getArgument returns Cors::Cors 2023-11-27 19:36:49 +02:00
Maiky
aa24ce5532 Apply suggestions from code review
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com>
2023-11-27 17:48:21 +02:00
amammad
48a9b107b9 add query to detect strapi CVe too 2023-11-24 10:47:17 +01:00
amammad
1aa4494dbc stash 2023-11-24 10:09:21 +01:00
Maiky
4ef4c92e2c Move Customizations and Query 2023-11-23 21:29:09 +01:00
Maiky
abd53e98a9 Fix minor issues 2023-11-23 13:17:54 +01:00
Maiky
413c11171e Move to /experimental 2023-11-23 11:00:47 +01:00
Maiky
d661f7f482 Add Flow Labels 2023-11-22 19:50:16 +01:00
amammad
2097a001b9 apply code review suggestions, fix qldoc, add experimental additional taint steps that can improve performance 2023-11-22 10:01:51 +01:00
amammad
97eb7b7b72 update example to include more logical vulnerable pattern, add documentations for ql classes 2023-11-22 09:27:55 +01:00
amammad
5cc4206e00 add a temporary Query file to demonstrate unsuccessful usage of two DataFlow configs 2023-11-22 08:30:59 +01:00
amammad
fabde6e0ff fix tests and remove tarfile tar.Reader as sink 2023-11-21 20:54:38 +01:00
amammad
75e01d3648 Thanks to @owen-mc that provided a good solution of that I couldn't solve that myself 2023-11-21 20:15:27 +01:00
amammad
0652afced3 update tests, updated qldoc and examples, upgrade all libraries to path-problem, update jsonwebtoken source and sinks 2023-11-07 08:25:25 +01:00
amammad
b8c800608e add an extended Class of string for FlowState 2023-11-06 11:01:01 +01:00
amammad
7af4b8de7b fix isBarrier according to code review 2023-11-06 10:58:00 +01:00
amammad
e421c49440 fix multipart mistake :( 2023-11-06 10:53:52 +01:00
amammad
bd1ee9b937 fix tests 2023-11-02 21:26:05 +01:00
amammad
1fc18bee5d Merge branch 'main' into amammad-go-bombs 2023-11-02 23:33:27 +03:30
amammad
a1a49bdddf Merge branch 'main' into amammad-go-bombs 2023-11-02 21:01:13 +01:00
amammad
761aede2df perfomed review suggestions, make Decompression Sink simpler, uncomment the isBarrier, fix some naming issues in tests 2023-11-02 21:01:05 +01:00
amammad
01fb29e8dc remove my Hardcoded secret key query in favor of CWE-798:HardcodedCredentials 2023-11-02 16:29:36 +01:00
amammad
a9c8bc082f delete CWE-321 2023-11-02 16:27:31 +01:00
amammad
faa483a282 move to CWE-347, update comments of tests 2023-11-02 16:24:58 +01:00
amammad
e1d42fad2c move new secret key sinks to existing CredentialsNode class,
add new additional global taint and dataflow steps
update tests of CWE-798
add a new sanitizer for `semmle.javascript.security.dataflow.HardcodedCredentialsQuery`
2023-11-02 16:09:01 +01:00
amammad
9da815a5c0 move to new CWE-321 directory, make saparate query files for each JWT pkg, create a path query for jsonwebtoken package which is not work correctly 2023-11-02 14:13:52 +01:00
Chad Bentz
53e96e5adf Merge branch 'main' into patch-1 2023-10-25 10:00:16 -04:00
amammad
ee4d87bd96 remove hardcoded JWT secret-key query 2023-10-19 11:57:53 +02:00
amammad
8e0f52cebc remove noverification query 2023-10-19 11:57:06 +02:00
amammad
2e4e5ef480 fix a comment 2023-10-17 10:42:40 +02:00
amammad
7891e64d3e add sanitizers to hardcoded query 2023-10-17 10:37:27 +02:00
Maiky
acac534ed0 Forgot .js 2023-10-16 19:29:57 +02:00
Maiky
07ad596f77 Add coverage for express 2023-10-16 16:48:32 +02:00
amammad
59fb479895 update tests 2023-10-14 12:28:58 +02:00
amammad
e34cc42441 fix a mistake 2023-10-14 12:18:13 +02:00
amammad
7fcf39277d modularize 2023-10-14 12:04:25 +02:00
amammad
3899f2cdf3 upgrade execa scripts 2023-10-12 10:44:57 +02:00
amammad
ac5e9c75e1 fix a mistake: remove vendor dir from go root directory 2023-10-12 08:06:45 +02:00
amammad
7d60f03131 fix tests 2023-10-11 18:04:35 +02:00
amammad
8e5be13466 fix conflict 2023-10-11 18:02:55 +02:00
amammad
261cabde67 better comments 2023-10-11 17:44:12 +02:00
amammad
b24c6fd579 for demonstration 2023-10-11 17:34:33 +02:00
amammad
46616d6b42 fix a qldoc isuse 2023-10-11 14:53:08 +02:00
amammad
de2ee4d289 stash I can't especify the argument and command differences with new API 2023-10-11 14:36:56 +02:00
amammad
4cd3618dcd Merge branch 'main' into amammad-js-CodeInjection_execa 2023-10-11 13:27:26 +02:00
amammad
c630300374 fix a tests 2023-10-11 13:18:55 +02:00
amammad
d63b33bb08 fix a tests 2023-10-11 13:16:30 +02:00
amammad
8768eb64e6 Merge branch 'amammad-ruby-bombs' of https://github.com/amammad/codeql into amammad-ruby-bombs 2023-10-11 12:40:03 +02:00
Maiky
c0e6d7c049 Merge branch 'github:main' into maikypedia/javascript-cors 2023-10-11 12:20:42 +02:00
amammad
609bb762fe fix a bug,modularize 2023-10-11 12:04:11 +02:00
amammad
90017712a6 Merge remote-tracking branch 'origin/main' into amammad-ruby-bombs 2023-10-11 10:45:16 +02:00
amammad
32859eb057 move to experimental 2023-10-10 22:46:44 +02:00
amammad
14d1e08051 reformat 2023-10-10 22:34:26 +02:00
amammad
4198f61c16 fix a qldoc isuse 2023-10-10 22:21:43 +02:00
amammad
6f73e9c3ba revert for in additional steps 2023-10-10 22:12:37 +02:00
amammad
9053ceb3b7 revert a unexpected test file 2023-10-10 21:37:59 +02:00
amammad
e13050b64e revert a unexpected test file 2023-10-10 21:35:52 +02:00
amammad
3f41a42c38 remove unused classes 2023-10-08 11:08:05 +02:00
amammad
15671682c5 remove unused flowLable, update path query alert message 2023-10-08 11:06:13 +02:00
amammad
00b6e1f0b0 fix tests 2023-10-08 11:03:19 +02:00
amammad
41e7b91d78 fix flowLabels 2023-10-08 11:00:07 +02:00
amammad
6789273ab1 remove a test predicate 2023-10-07 12:05:44 +02:00
amammad
aff6f00450 comments improvement,separate module file, fix tests 2023-10-07 12:02:39 +02:00
Marcono1234
b8f6877aba Merge branch 'main' into patch-1 2023-10-07 03:46:12 +02:00
amammad
13577f71d6 fix tests, add more comments 2023-10-06 22:34:31 +02:00
amammad
5a49f6bb9b fix tests 2023-10-06 22:10:57 +02:00
amammad
f5efddc011 comments improvement 2023-10-06 21:12:59 +02:00
amammad
e45268cd4d improve and fix bugs and add Form Flow Sources test files 2023-10-06 21:01:42 +02:00
amammad
21f477a674 revert go/vendor/ :( 2023-10-06 19:39:18 +02:00
amammad
d4b2ca5cee add vendor for tests, update test results, revert go/vendor/modules.txt :( 2023-10-06 19:34:13 +02:00
Maiky
ed066281b9 Add documentation string for CorsPermissiveConfiguration 2023-10-06 18:22:31 +02:00
amammad
31cae204f6 make DecompressionBombs module and extention points 2023-10-06 18:14:05 +02:00
amammad
5bc21a6178 delete old tests 2023-10-06 16:09:05 +02:00
amammad
7d961e1af2 do review improvements 2023-10-06 16:07:10 +02:00
amammad
eef8137166 add Dice package, add global taint steps by SharedTaintStep, use getASuccessor 2023-10-06 10:58:26 +02:00
amammad
faaddd4dfe updates for FormParsers and ReadableStream modules, add separate module for Readable Streams, BusBoy RemoteFlowSources is covering more sources now!, modularize 2023-10-05 21:46:58 +02:00
Maiky
816eebbb51 Add .qhelp and apply some review changes 2023-10-02 18:05:39 +02:00
amammad
e81a4fc330 remove CLI sources Library file and local sources for lower FPs 2023-10-01 05:44:13 +10:00
amammad
00d1b11b0b chore fix document example 2023-10-01 02:45:51 +10:00
amammad
d99c0a2382 update tests 2023-10-01 02:25:38 +10:00
amammad
9245e1c2a4 remove CLI sources Library file & qldoc warnings 2023-10-01 00:37:56 +10:00
amammad
863fa364e2 remove CLI sources Library file & unused file system sinks 2023-09-30 20:11:14 +10:00
amammad
bb8063c0f4 remove CLI sources & unused imports 2023-09-30 06:07:44 +10:00
amammad
2ab10262fc V3: better sinks, replace sinks arguments to sinks method accesses 2023-09-30 06:06:34 +10:00
amammad
83cffea1a1 v3 2023-09-30 05:56:39 +10:00
amammad
3e9c3e6987 remove inputStream and its subclasses module which has no impact on query now! 2023-09-30 04:28:37 +10:00
amammad
c1b9310ec2 add comments for modules & remote local sources 2023-09-30 04:28:02 +10:00
amammad
2961b79fb9 add multipart sources 2023-09-30 03:09:02 +10:00
amammad
2e7529cc70 remove local sources 2023-09-30 02:41:47 +10:00
Maiky
142ab01b48 Remove comment line 2023-09-29 18:32:12 +02:00
Maiky
e171123589 Add initial query for CWE-942 2023-09-29 18:25:58 +02:00
amammad
f41bc1f631 revert nodeJSLib 2023-09-28 20:37:21 +10:00
amammad
75f0fc4a98 fix a mistake 2023-09-28 20:34:58 +10:00
amammad
921198ed30 add separate query for sinks that accepts data: URL 2023-09-28 20:33:38 +10:00
amammad
f6737b3d90 fix FP 2023-09-25 21:09:19 +10:00
amammad
2c74dc23c9 add second order command execution sinks to tests 2023-09-22 20:00:36 +10:00
amammad
344869f0d7 change commandExecution sink to CodeInjection sink 2023-09-22 19:37:17 +10:00
amammad
a20ca78599 V1 2023-09-22 19:23:34 +10:00
amammad
f1a7f0a7e8 V1 2023-09-22 19:21:41 +10:00
amammad
06114d91d8 V1 2023-09-22 19:19:52 +10:00
amammad
e1d5c9d45b fix grammar mistake 2023-09-15 06:32:23 +10:00
amammad
5a3a8d781a fix some flowstate bug which Had caused to FP 2023-09-15 02:09:40 +10:00
amammad
08f78a2df4 fix some flowstate bug which Had caused to FP 2023-09-15 01:56:46 +10:00
amammad
d44c9d3e74 stash 2023-09-08 05:51:21 +10:00
amammad
905fa10c88 Merge branch 'github:main' into amammad-ruby-bombs 2023-09-07 20:41:45 +10:00
amammad
0f540f4c25 add sources to detect CVE completely 2023-09-07 18:25:48 +10:00
amammad
f6f99fb459 remove parameter as source 2023-09-07 17:47:55 +10:00
amammad
4191b07b1f Merge branch 'github:main' into amammad-ruby-bombs 2023-09-06 20:17:49 +10:00
amammad
9877294b1c V2, this version is really better than V1 2023-09-06 07:08:01 +10:00
amammad
c76d0d364d fix a mistake ioutil => io/ioutil 2023-09-06 03:38:06 +10:00
amammad
193693565c add Inflater 2023-08-31 23:21:33 +10:00
amammad
77dcd68a86 v2 2023-08-31 21:26:25 +10:00
amammad
7a577ddd98 change Source to ConstantString, it seems that we have some duplicate results now, ConstantString is suggested as a better alternative for finding constant sources 2023-08-30 20:47:43 +10:00
amammad
d06444e639 upgrade additional steps 2023-08-30 05:03:19 +10:00
amammad
369bc50709 fix comments 2023-08-30 04:53:58 +10:00
amammad
3f64cc82eb fix qhelps 2023-08-29 22:42:21 +10:00
amammad
664890ab33 V1 2023-08-29 22:40:11 +10:00
amammad
4f04dc8f6e add test cases 2023-08-29 21:34:02 +10:00
amammad
65b97745c2 V1 2023-08-29 21:23:02 +10:00
Chad Bentz
6f60eb9e1a Merge branch 'main' into patch-1 2023-08-09 14:31:26 -04:00
amammad
f79bd2a071 added remote flow sources related to multipart upload, added flag package command line source 2023-08-06 06:49:35 +10:00
Chad Bentz
845f384df6 Merge branch 'main' into patch-1 2023-08-04 17:57:53 -04:00
amammad
7ce825c5ea convert to module based dataflow 2023-07-31 22:43:45 +10:00
amammad
ab7e797fff it seems that I must use both isSink and isSource with flow states! 2023-07-31 20:00:59 +10:00
amammad
26f1091d5f fix a mistake :( 2023-07-31 19:48:21 +10:00
amammad
56d0254d2b fix ReadAll argumrnt number 2023-07-31 19:37:28 +10:00
amammad
4ee54738fa fix a mistake :( 2023-07-31 19:36:21 +10:00
amammad
260c111932 put comment about detecting https://github.com/advisories/GHSA-jpxj-2jvg-6jv9 2023-07-31 19:32:22 +10:00
amammad
1b598c8683 v1.2 make better sinks 2023-07-31 19:26:18 +10:00
amammad
f1918fb4e0 v1.1 2023-07-31 05:11:09 +10:00
Marcono1234
09fa2a7d50 Move imports to usage sections 2023-07-15 16:59:46 +02:00
Marcono1234
94e9848d61 Mention needed imports at top of "Analyzing data flow in Java"
Currently the guide just starts using the classes from these libraries
without having mentioned that you have to import the libraries first.
2023-07-08 18:56:37 +02:00
amammad
e0798b29da stash: change sinks to zip handles and sources to the zip handle initializers 2023-07-04 18:28:00 +10:00
amammad
065c527615 update Miniz 2023-07-04 07:19:33 +10:00
amammad
16be908cb3 add Miniz 2023-07-04 06:56:30 +10:00
amammad
56bc32ff91 add libarchive 2023-07-04 01:17:22 +10:00
amammad
d4d505d7af complete the minizip query 2023-07-03 20:39:08 +10:00
amammad
042133a991 add queries for more popular libs 2023-07-03 09:12:37 +10:00
amammad
516fdf627a update stream pipe 2023-06-28 00:09:39 +10:00
amammad
c7a7594821 merge all ql files into one 2023-06-27 01:56:23 +10:00
amammad
45499b03d2 change qury file name same as qhelp name 2023-06-26 21:23:22 +10:00
amammad
37af588492 update CVE instance in qhelp 2023-06-26 21:16:16 +10:00
amammad
9540c58c4a make one ql file 2023-06-26 20:55:11 +10:00
amammad
8a80a734d8 fix an accident :) 2023-06-26 20:20:00 +10:00
amammad
9e33b47cbd added more additional steps 2023-06-26 17:46:22 +10:00
amammad
e2fe0e11f0 fix formatting error/warnings 2023-06-26 17:14:46 +10:00
amammad
f715a3437b better examples 2023-06-26 05:29:16 +10:00
amammad
3ddc9a8b31 fix warnings, more sinks,sources,comments 2023-06-26 05:26:30 +10:00
amammad
3bd45a8536 fix query identifier 2023-06-26 03:01:19 +10:00
amammad
ae98510f77 add more source and sinks and sanitizers 2023-06-26 00:21:55 +10:00
amammad
effb8024a4 fix yargs bug 2023-06-25 23:30:24 +10:00
amammad
c16a2827d7 fix format warnings/errors 2023-06-25 23:24:12 +10:00
amammad
430375e2f0 fix a commit mistake 2023-06-25 20:28:45 +10:00
amammad
4a37da3593 V1 2023-06-25 20:26:21 +10:00
amammad
fbfc959f82 V1 Bombs 2023-06-25 01:21:09 +10:00
amammad
796075f9dc V1 Bombs 2023-06-25 00:59:21 +10:00
amammad
21b5571bff V1.1 add additional steps for read methods which I can summarize every single declared sanitizer on the sink whitin isSink predicate 2023-06-25 00:35:37 +10:00
amammad
7354db873a V1 Bombs 2023-06-24 08:57:57 +10:00
amammad
307187f6c1 V1 2023-06-23 06:06:37 +10:00
Chad Bentz
39c52c9ecf add security-severity to code scanning query list 2023-03-16 11:27:23 -04:00
14825 changed files with 974628 additions and 582872 deletions

View File

@@ -1,9 +1,28 @@
common --enable_platform_specific_config
# because we use --override_module with `%workspace%`, the lock file is not stable
common --lockfile_mode=off
# when building from this repository in isolation, the internal repository will not be found at ..
# where `MODULE.bazel` looks for it. The following will get us past the module loading phase, so
# that we can build things that do not rely on that
common --override_module=semmle_code=%workspace%/misc/bazel/semmle_code_stub
build --repo_env=CC=clang --repo_env=CXX=clang++
build:linux --cxxopt=-std=c++20
build:macos --cxxopt=-std=c++20 --cpu=darwin_x86_64
build:windows --cxxopt=/std:c++20 --cxxopt=/Zc:preprocessor
# we use transitions that break builds of `...`, so for `test` to work with that we need the following
test --build_tests_only
# this requires developer mode, but is required to have pack installer functioning
startup --windows_enable_symlinks
common --enable_runfiles
# with the above, we can avoid building python zips which is the default on windows as that's expensive
build --nobuild_python_zip
common --registry=file:///%workspace%/misc/bazel/registry
common --registry=https://bcr.bazel.build
common --@rules_dotnet//dotnet/settings:strict_deps=false
common --experimental_isolated_extension_usages
try-import %workspace%/local.bazelrc

11
.bazelrc.internal Normal file
View File

@@ -0,0 +1,11 @@
# this file should contain bazel settings required to build things from `semmle-code`
common --registry=file:///%workspace%/ql/misc/bazel/registry
common --registry=https://bcr.bazel.build
# See bazelbuild/rules_dotnet#413: strict_deps in C# also appliy to 3rd-party deps, and when we pull
# in (for example) the xunit package, there's no code in this at all, it just depends transitively on
# its implementation packages without providing any code itself.
# We either can depend on internal implementation details, or turn of strict deps.
common --@rules_dotnet//dotnet/settings:strict_deps=false
common --experimental_isolated_extension_usages

View File

@@ -1 +1 @@
6.3.1
8.0.0rc1

14
.devcontainer/swift/root.sh Normal file → Executable file
View File

@@ -3,6 +3,16 @@ set -xe
BAZELISK_VERSION=v1.12.0
BAZELISK_DOWNLOAD_SHA=6b0bcb2ea15bca16fffabe6fda75803440375354c085480fe361d2cbf32501db
# install git lfs apt source
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash
# install gh apt source
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
apt-get update
export DEBIAN_FRONTEND=noninteractive
apt-get -y install --no-install-recommends \
@@ -10,7 +20,9 @@ apt-get -y install --no-install-recommends \
uuid-dev \
python3-distutils \
python3-pip \
bash-completion
bash-completion \
git-lfs \
gh
# Install Bazel
curl -fSsL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64

View File

@@ -1,5 +1,7 @@
set -xe
git lfs install
# add the workspace to the codeql search path
mkdir -p /home/vscode/.config/codeql
echo "--search-path /workspaces/codeql" > /home/vscode/.config/codeql/config

39
.gitattributes vendored
View File

@@ -50,27 +50,40 @@
*.dll -text
*.pdb -text
java/ql/test/stubs/**/*.java linguist-generated=true
java/ql/test/experimental/stubs/**/*.java linguist-generated=true
/java/ql/test/stubs/**/*.java linguist-generated=true
/java/ql/test/experimental/stubs/**/*.java linguist-generated=true
/java/kotlin-extractor/deps/*.jar filter=lfs diff=lfs merge=lfs -text
# Force git not to modify line endings for go or html files under the go/ql directory
go/ql/**/*.go -text
go/ql/**/*.html -text
/go/ql/**/*.go -text
/go/ql/**/*.html -text
# Force git not to modify line endings for go dbschemes
go/*.dbscheme -text
/go/*.dbscheme -text
# Preserve unusual line ending from codeql-go merge
go/extractor/opencsv/CSVReader.java -text
/go/extractor/opencsv/CSVReader.java -text
# For some languages, upgrade script testing references really old dbscheme
# files from legacy upgrades that have CRLF line endings. Since upgrade
# resolution relies on object hashes, we must suppress line ending conversion
# for those testing dbscheme files.
*/ql/lib/upgrades/initial/*.dbscheme -text
# Generated test files - these are synced from the standard JavaScript libraries using
# `javascript/ql/experimental/adaptivethreatmodeling/test/update_endpoint_test_files.py`.
javascript/ql/experimental/adaptivethreatmodeling/test/endpoint_large_scale/autogenerated/**/*.js linguist-generated=true -merge
javascript/ql/experimental/adaptivethreatmodeling/test/endpoint_large_scale/autogenerated/**/*.ts linguist-generated=true -merge
/*/ql/lib/upgrades/initial/*.dbscheme -text
# Auto-generated modeling for Python
python/ql/lib/semmle/python/frameworks/data/internal/subclass-capture/*.yml linguist-generated=true
/python/ql/lib/semmle/python/frameworks/data/internal/subclass-capture/*.yml linguist-generated=true
# auto-generated bazel lock file
/ruby/extractor/cargo-bazel-lock.json linguist-generated=true
/ruby/extractor/cargo-bazel-lock.json -merge
# auto-generated files for the C# build
/csharp/paket.lock linguist-generated=true
# needs eol=crlf, as `paket` touches this file and saves it as crlf
/csharp/.paket/Paket.Restore.targets linguist-generated=true eol=crlf
/csharp/paket.main.bzl linguist-generated=true
/csharp/paket.main_extension.bzl linguist-generated=true
# ripunzip tool
/misc/ripunzip/ripunzip-* filter=lfs diff=lfs merge=lfs -text
# swift prebuilt resources
/swift/third_party/resource-dir/*.zip filter=lfs diff=lfs merge=lfs -text

View File

@@ -9,3 +9,5 @@ paths-ignore:
- '/python/'
- '/javascript/ql/test'
- '/javascript/extractor/tests'
- '/rust/ql/test'
- '/rust/ql/integration-tests'

15
.github/labeler.yml vendored
View File

@@ -15,12 +15,12 @@ Java:
- change-notes/**/*java.*
JS:
- any: [ 'javascript/**/*', '!javascript/ql/experimental/adaptivethreatmodeling/**/*' ]
- any: [ 'javascript/**/*' ]
- change-notes/**/*javascript*
Kotlin:
- java/kotlin-extractor/**/*
- java/ql/test/kotlin/**/*
- java/ql/test-kotlin*/**/*
Python:
- python/**/*
@@ -30,10 +30,18 @@ Ruby:
- ruby/**/*
- change-notes/**/*ruby*
Rust:
- rust/**/*
- change-notes/**/*rust*
Swift:
- swift/**/*
- change-notes/**/*swift*
Actions:
- actions/**/*
- change-notes/**/*actions*
documentation:
- "**/*.qhelp"
- "**/*.md"
@@ -46,6 +54,3 @@ documentation:
# Since these are all shared files that need to be synced, just pick _one_ copy of each.
"DataFlow Library":
- "shared/dataflow/**/*"
"ATM":
- javascript/ql/experimental/adaptivethreatmodeling/**/*

14
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,14 @@
### Pull Request checklist
#### All query authors
- [ ] A change note is added if necessary. See [the documentation](https://github.com/github/codeql/blob/main/docs/change-notes.md) in this repository.
- [ ] All new queries have appropriate `.qhelp`. See [the documentation](https://github.com/github/codeql/blob/main/docs/query-help-style-guide.md) in this repository.
- [ ] QL tests are added if necessary. See [Testing custom queries](https://docs.github.com/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries) in the GitHub documentation.
- [ ] New and changed queries have correct query metadata. See [the documentation](https://github.com/github/codeql/blob/main/docs/query-metadata-style-guide.md) in this repository.
#### Internal query authors only
- [ ] Autofixes generated based on these changes are valid, only needed if this PR makes significant changes to `.ql`, `.qll`, or `.qhelp` files. See [the documentation](https://github.com/github/codeql-team/blob/main/docs/best-practices/validating-autofix-for-query-changes.md) (internal access required).
- [ ] Changes are validated [at scale](https://github.com/github/codeql-dca/) (internal access required).
- [ ] Adding a new query? Consider also [adding the query to autofix](https://github.com/github/codeml-autofix/blob/main/docs/updating-query-support.md#adding-a-new-query-to-the-query-suite).

74
.github/workflows/build-ripunzip.yml vendored Normal file
View File

@@ -0,0 +1,74 @@
name: Build runzip
on:
workflow_dispatch:
inputs:
ripunzip-version:
description: "what reference to checktout from google/runzip"
required: false
default: v1.2.1
openssl-version:
description: "what reference to checkout from openssl/openssl for Linux"
required: false
default: openssl-3.3.0
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-13, windows-2019]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
repository: google/ripunzip
ref: ${{ inputs.ripunzip-version }}
# we need to avoid ripunzip dynamically linking into libssl
# see https://github.com/sfackler/rust-openssl/issues/183
- if: runner.os == 'Linux'
name: checkout openssl
uses: actions/checkout@v4
with:
repository: openssl/openssl
path: openssl
ref: ${{ inputs.openssl-version }}
- if: runner.os == 'Linux'
name: build and install openssl with fPIC
shell: bash
working-directory: openssl
run: |
./config -fPIC --prefix=$HOME/.local --openssldir=$HOME/.local/ssl
make -j $(nproc)
make install_sw -j $(nproc)
- if: runner.os == 'Linux'
name: build (linux)
shell: bash
run: |
env OPENSSL_LIB_DIR=$HOME/.local/lib64 OPENSSL_INCLUDE_DIR=$HOME/.local/include OPENSSL_STATIC=yes cargo build --release
mv target/release/ripunzip ripunzip-linux
- if: runner.os == 'Windows'
name: build (windows)
shell: bash
run: |
cargo build --release
mv target/release/ripunzip ripunzip-windows
- name: build (macOS)
if: runner.os == 'macOS'
shell: bash
run: |
rustup target install x86_64-apple-darwin
rustup target install aarch64-apple-darwin
cargo build --target x86_64-apple-darwin --release
cargo build --target aarch64-apple-darwin --release
lipo -create -output ripunzip-macos \
-arch x86_64 target/x86_64-apple-darwin/release/ripunzip \
-arch arm64 target/aarch64-apple-darwin/release/ripunzip
- uses: actions/upload-artifact@v4
with:
name: ripunzip-${{ runner.os }}
path: ripunzip-*
- name: Check built binary
shell: bash
run: |
./ripunzip-* --version

28
.github/workflows/buildifier.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: Check bazel formatting
on:
pull_request:
paths:
- "**.bazel"
- "**.bzl"
branches:
- main
- "rc/*"
permissions:
contents: read
jobs:
check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check bazel formatting
uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507
with:
extra_args: >
buildifier --all-files 2>&1 ||
(
echo -e "In order to format all bazel files, please run:\n bazel run //misc/bazel/buildifier"; exit 1
)

View File

@@ -16,11 +16,12 @@ on:
- "shared/**/*.qll"
- "!**/experimental/**"
- "!ql/**"
- "!rust/**"
- ".github/workflows/check-change-note.yml"
jobs:
check-change-note:
env:
env:
REPO: ${{ github.repository }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -33,7 +34,7 @@ jobs:
!contains(github.event.pull_request.labels.*.name, 'no-change-note-required')
run: |
change_note_files=$(gh api "repos/$REPO/pulls/$PULL_REQUEST_NUMBER/files" --paginate --jq '.[].filename | select(test("/change-notes/.*[.]md$"))')
if [ -z "$change_note_files" ]; then
echo "No change note found. Either add one, or add the 'no-change-note-required' label."
exit 1

View File

@@ -56,7 +56,9 @@ jobs:
# uses a compiled language
- run: |
dotnet build csharp
cd csharp
dotnet tool restore
dotnet build .
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@main

View File

@@ -28,7 +28,7 @@ jobs:
with:
key: all-queries
- name: check formatting
run: find */ql -type f \( -name "*.qll" -o -name "*.ql" \) -print0 | xargs -0 -n 3000 -P 10 codeql query format -q --check-only
run: find shared */ql -type f \( -name "*.qll" -o -name "*.ql" \) -print0 | xargs -0 -n 3000 -P 10 codeql query format -q --check-only
- name: compile queries - check-only
# run with --check-only if running in a PR (github.sha != main)
if : ${{ github.event_name == 'pull_request' }}

View File

@@ -0,0 +1,55 @@
name: "Code scanning - C++"
on:
push:
branches:
- main
- 'rc/*'
pull_request:
branches:
- main
- 'rc/*'
paths:
- 'swift/**'
- '.github/codeql/**'
- '.github/workflows/cpp-swift-analysis.yml'
schedule:
- cron: '0 9 * * 1'
jobs:
CodeQL-Build:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
pull-requests: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@main
# Override language selection by uncommenting this and choosing your languages
with:
languages: cpp
config-file: ./.github/codeql/codeql-config.yml
- name: "[Ubuntu] Remove GCC 13 from runner image"
shell: bash
run: |
sudo rm -f /etc/apt/sources.list.d/ubuntu-toolchain-r-ubuntu-test-jammy.list
sudo apt-get update
sudo apt-get install -y --allow-downgrades libc6=2.35-* libc6-dev=2.35-* libstdc++6=12.3.0-* libgcc-s1=12.3.0-*
- name: "Build Swift extractor using Bazel"
run: |
bazel clean --expunge
bazel run //swift:create-extractor-pack --nouse_action_cache --noremote_accept_cached --noremote_upload_local_results --spawn_strategy=local
bazel shutdown
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@main

View File

@@ -29,45 +29,6 @@ permissions:
contents: read
jobs:
qlupgrade:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/fetch-codeql
- name: Check DB upgrade scripts
run: |
echo >empty.trap
codeql dataset import -S ql/lib/upgrades/initial/semmlecode.csharp.dbscheme testdb empty.trap
codeql dataset upgrade testdb --additional-packs ql/lib
diff -q testdb/semmlecode.csharp.dbscheme ql/lib/semmlecode.csharp.dbscheme
- name: Check DB downgrade scripts
run: |
echo >empty.trap
rm -rf testdb; codeql dataset import -S ql/lib/semmlecode.csharp.dbscheme testdb empty.trap
codeql resolve upgrades --format=lines --allow-downgrades --additional-packs downgrades \
--dbscheme=ql/lib/semmlecode.csharp.dbscheme --target-dbscheme=downgrades/initial/semmlecode.csharp.dbscheme |
xargs codeql execute upgrades testdb
diff -q testdb/semmlecode.csharp.dbscheme downgrades/initial/semmlecode.csharp.dbscheme
qltest:
if: github.repository_owner == 'github'
runs-on: ubuntu-latest-xl
strategy:
fail-fast: false
matrix:
slice: ["1/2", "2/2"]
steps:
- uses: actions/checkout@v4
- uses: ./csharp/actions/create-extractor-pack
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
key: csharp-qltest-${{ matrix.slice }}
- name: Run QL tests
run: |
codeql test run --threads=0 --ram 50000 --slice ${{ matrix.slice }} --search-path extractor-pack --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
GITHUB_TOKEN: ${{ github.token }}
unit-tests:
strategy:
matrix:
@@ -81,10 +42,11 @@ jobs:
dotnet-version: 8.0.101
- name: Extractor unit tests
run: |
dotnet tool restore
dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Util.Tests
dotnet test -p:RuntimeFrameworkVersion=8.0.1 extractor/Semmle.Extraction.Tests
dotnet test -p:RuntimeFrameworkVersion=8.0.1 autobuilder/Semmle.Autobuild.CSharp.Tests
dotnet test -p:RuntimeFrameworkVersion=8.0.1 "${{ github.workspace }}/cpp/autobuilder/Semmle.Autobuild.Cpp.Tests"
dotnet test -p:RuntimeFrameworkVersion=8.0.1 autobuilder/Semmle.Autobuild.Cpp.Tests
shell: bash
stubgentest:
runs-on: ubuntu-latest
@@ -100,6 +62,6 @@ jobs:
# Update existing stubs in the repo with the freshly generated ones
mv "$STUBS_PATH/output/stubs/_frameworks" ql/test/resources/stubs/
git status
codeql test run --threads=0 --search-path extractor-pack --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries -- ql/test/library-tests/dataflow/flowsources/aspremote
codeql test run --threads=0 --search-path "${{ github.workspace }}" --check-databases --check-undefined-labels --check-repeated-labels --check-redefined-labels --consistency-queries ql/consistency-queries -- ql/test/library-tests/dataflow/flowsources/aspremote
env:
GITHUB_TOKEN: ${{ github.token }}

View File

@@ -37,7 +37,7 @@ jobs:
run: |
DATABASE="${{ runner.temp }}/java-database"
codeql database analyze --format=sarif-latest --output=metrics-java.sarif -- "$DATABASE" ./java/ql/src/Metrics/Summaries/FrameworkCoverage.ql
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: metrics-java.sarif
path: metrics-java.sarif
@@ -64,7 +64,7 @@ jobs:
run: |
DATABASE="${{ runner.temp }}/csharp-database"
codeql database analyze --format=sarif-latest --output=metrics-csharp.sarif -- "$DATABASE" ./csharp/ql/src/Metrics/Summaries/FrameworkCoverage.ql
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: metrics-csharp.sarif
path: metrics-csharp.sarif

View File

@@ -71,21 +71,21 @@ jobs:
run: |
python base/misc/scripts/library-coverage/compare-folders.py out_base out_merge comparison.md
- name: Upload CSV package list
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: csv-framework-coverage-merge
path: |
out_merge/framework-coverage-*.csv
out_merge/framework-coverage-*.rst
- name: Upload CSV package list
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: csv-framework-coverage-base
path: |
out_base/framework-coverage-*.csv
out_base/framework-coverage-*.rst
- name: Upload comparison results
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: comparison
path: |
@@ -97,7 +97,7 @@ jobs:
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
- name: Upload PR number
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: pr
path: pr/
@@ -117,7 +117,7 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.pull_request.number }}
- name: Upload comment ID (if it exists)
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: comment
path: comment/

View File

@@ -30,7 +30,7 @@ jobs:
run: |
python script/misc/scripts/library-coverage/generate-timeseries.py codeqlModels
- name: Upload timeseries CSV
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: framework-coverage-timeseries
path: framework-coverage-timeseries-*.csv

View File

@@ -34,12 +34,12 @@ jobs:
run: |
python script/misc/scripts/library-coverage/generate-report.py ci codeqlModels script
- name: Upload CSV package list
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: framework-coverage-csv
path: framework-coverage-*.csv
- name: Upload RST package list
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: framework-coverage-rst
path: framework-coverage-*.rst

View File

@@ -7,8 +7,9 @@ on:
- .github/workflows/go-tests-other-os.yml
- .github/actions/**
- codeql-workspace.yml
env:
GO_VERSION: '~1.22.0'
- MODULE.bazel
- .bazelrc
- misc/bazel/**
permissions:
contents: read
@@ -18,72 +19,17 @@ jobs:
name: Test MacOS
runs-on: macos-latest
steps:
- name: Set up Go ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache: false
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Set up CodeQL CLI
uses: ./.github/actions/fetch-codeql
- name: Enable problem matchers in repository
shell: bash
run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;'
- name: Build
run: |
cd go
make
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
key: go-qltest
- name: Test
run: |
cd go
make test cache="${{ steps.query-cache.outputs.cache-dir }}"
- name: Run tests
uses: ./go/actions/test
test-win:
if: github.repository_owner == 'github'
name: Test Windows
runs-on: windows-latest-xl
steps:
- name: Set up Go ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache: false
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Set up CodeQL CLI
uses: ./.github/actions/fetch-codeql
- name: Enable problem matchers in repository
shell: bash
run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;'
- name: Build
run: |
cd go
make
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
key: go-qltest
- name: Test
run: |
cd go
make test cache="${{ steps.query-cache.outputs.cache-dir }}"
- name: Run tests
uses: ./go/actions/test

View File

@@ -3,6 +3,7 @@ on:
push:
paths:
- "go/**"
- "shared/**"
- .github/workflows/go-tests.yml
- .github/actions/**
- codeql-workspace.yml
@@ -12,12 +13,13 @@ on:
pull_request:
paths:
- "go/**"
- "shared/**"
- .github/workflows/go-tests.yml
- .github/actions/**
- codeql-workspace.yml
env:
GO_VERSION: '~1.22.0'
- MODULE.bazel
- .bazelrc
- misc/bazel/**
permissions:
contents: read
@@ -28,51 +30,9 @@ jobs:
name: Test Linux (Ubuntu)
runs-on: ubuntu-latest-xl
steps:
- name: Set up Go ${{ env.GO_VERSION }}
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
cache: false
id: go
- name: Check out code
uses: actions/checkout@v4
- name: Set up CodeQL CLI
uses: ./.github/actions/fetch-codeql
- name: Enable problem matchers in repository
shell: bash
run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;'
- name: Build
run: |
cd go
make
- name: Check that all Go code is autoformatted
run: |
cd go
make check-formatting
- name: Compile qhelp files to markdown
run: |
cd go
env QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown
- name: Upload qhelp markdown
uses: actions/upload-artifact@v3
- name: Run tests
uses: ./go/actions/test
with:
name: qhelp-markdown
path: go/qhelp-out/**/*.md
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
key: go-qltest
- name: Test
run: |
cd go
make test cache="${{ steps.query-cache.outputs.cache-dir }}"
run-code-checks: true

28
.github/workflows/kotlin-build.yml vendored Normal file
View File

@@ -0,0 +1,28 @@
name: "Kotlin Build"
on:
pull_request:
paths:
- "java/kotlin-extractor/**"
- "misc/bazel/**"
- "misc/codegen/**"
- "*.bazel*"
- .github/workflows/kotlin-build.yml
branches:
- main
- rc/*
- codeql-cli-*
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
bazel query //java/kotlin-extractor/...
# only build the default version as a quick check that we can build from `codeql`
# the full official build will be checked by QLucie
bazel build //java/kotlin-extractor

View File

@@ -38,14 +38,20 @@ jobs:
path: codeql-main
ref: main
- uses: ./codeql-main/.github/actions/fetch-codeql
# compute the shortname of the project that does not contain any special (disk) characters
- run: |
echo "SHORTNAME=${SLUG//[^a-zA-Z0-9_]/}" >> $GITHUB_OUTPUT
env:
SLUG: ${{ matrix.slug }}
id: shortname
- name: Download database
env:
SLUG: ${{ matrix.slug }}
GH_TOKEN: ${{ github.token }}
SHORTNAME: ${{ steps.shortname.outputs.SHORTNAME }}
run: |
set -x
mkdir lib-dbs
SHORTNAME=${SLUG//[^a-zA-Z0-9_]/}
gh api -H "Accept: application/zip" "/repos/${SLUG}/code-scanning/codeql/databases/java" > "$SHORTNAME.zip"
unzip -q -d "${SHORTNAME}-db" "${SHORTNAME}.zip"
mkdir "lib-dbs/$SHORTNAME/"
@@ -93,14 +99,14 @@ jobs:
name="diff_${basename/.model.yml/""}"
(diff -w -u $m $t | diff2html -i stdin -F $MODELS/$name.html) || true
done
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: models
name: models-${{ steps.shortname.outputs.SHORTNAME }}
path: tmp-models/**/**/*.model.yml
retention-days: 20
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: diffs
name: diffs-${{ steps.shortname.outputs.SHORTNAME }}
path: tmp-models/*.html
# An html file is only produced if the generated models differ.
if-no-files-found: ignore

View File

@@ -59,7 +59,7 @@ jobs:
find java -name "*.model.yml" -print0 | xargs -0 git add
git status
git diff --cached > models.patch
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: patch
path: models.patch

View File

@@ -17,8 +17,11 @@ jobs:
post_comment:
runs-on: ubuntu-latest
steps:
- name: Download artifact
run: gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment"
- name: Download artifacts
run: |
gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-pr-number"
gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-body"
gh run download "${WORKFLOW_RUN_ID}" --repo "${GITHUB_REPOSITORY}" --name "comment-id"
env:
GITHUB_TOKEN: ${{ github.token }}
WORKFLOW_RUN_ID: ${{ github.event.workflow_run.id }}

View File

@@ -36,9 +36,9 @@ jobs:
- run: echo "${PR_NUMBER}" > pr_number.txt
env:
PR_NUMBER: ${{ github.event.number }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: comment
name: comment-pr-number
path: pr_number.txt
if-no-files-found: error
retention-days: 1
@@ -78,9 +78,9 @@ jobs:
exit "${EXIT_CODE}"
- if: ${{ !cancelled() }}
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: comment
name: comment-body
path: comment_body.txt
if-no-files-found: error
retention-days: 1
@@ -94,9 +94,9 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}
PR_NUMBER: ${{ github.event.number }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: comment
name: comment-id
path: comment_id.txt
if-no-files-found: error
retention-days: 1

View File

@@ -49,20 +49,20 @@ jobs:
key: ${{ runner.os }}-${{ steps.os_version.outputs.version }}-rust-cargo-${{ hashFiles('ql/**/Cargo.lock') }}
- name: Release build
if: steps.cache-extractor.outputs.cache-hit != 'true'
run: cd ql; ./scripts/create-extractor-pack.sh
run: cd ql; ./scripts/create-extractor-pack.sh
env:
GH_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ github.token }}
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: run-ql-for-ql
- name: Make database and analyze
run: |
./ql/target/release/buramu | tee deprecated.blame # Add a blame file for the extractor to parse.
${CODEQL} database create -l=ql --search-path ql/extractor-pack ${DB}
${CODEQL} database create -l=ql ${DB} --search-path "${{ github.workspace }}"
${CODEQL} database analyze -j0 --format=sarif-latest --output=ql-for-ql.sarif ${DB} ql/ql/src/codeql-suites/ql-code-scanning.qls --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
DB: ${{ runner.temp }}/DB
LGTM_INDEX_FILTERS: |
@@ -75,7 +75,7 @@ jobs:
sarif_file: ql-for-ql.sarif
category: ql-for-ql
- name: Sarif as artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ql-for-ql.sarif
path: ql-for-ql.sarif
@@ -84,7 +84,7 @@ jobs:
mkdir split-sarif
node ./ql/scripts/split-sarif.js ql-for-ql.sarif split-sarif
- name: Upload langs as artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: ql-for-ql-langs
path: split-sarif

View File

@@ -53,8 +53,8 @@ jobs:
- name: Create database
run: |
"${CODEQL}" database create \
--search-path "ql/extractor-pack" \
--threads 4 \
--search-path "${{ github.workspace }}"
--threads 4 \
--language ql --source-root "${{ github.workspace }}/repo" \
"${{ runner.temp }}/database"
env:
@@ -65,7 +65,7 @@ jobs:
"${CODEQL}" dataset measure --threads 4 --output "stats/${{ matrix.repo }}/stats.xml" "${{ runner.temp }}/database/db-ql"
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: measurements
path: stats
@@ -76,14 +76,14 @@ jobs:
needs: measure
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: measurements
path: stats
- run: |
python -m pip install --user lxml
find stats -name 'stats.xml' -print0 | sort -z | xargs -0 python ruby/scripts/merge_stats.py --output ql/ql/src/ql.dbscheme.stats --normalise ql_tokeninfo
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ql.dbscheme.stats
path: ql/ql/src/ql.dbscheme.stats

View File

@@ -49,15 +49,15 @@ jobs:
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: ql-for-ql-tests
- name: Run QL tests
run: |
"${CODEQL}" test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}/ql/extractor-pack" --consistency-queries ql/ql/consistency-queries --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" ql/ql/test
"${CODEQL}" test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}" --consistency-queries ql/ql/consistency-queries --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}" ql/ql/test
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
other-os:
other-os:
strategy:
matrix:
os: [macos-latest, windows-latest]
@@ -65,7 +65,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install GNU tar
- name: Install GNU tar
if: runner.os == 'macOS'
run: |
brew install gnu-tar
@@ -100,7 +100,7 @@ jobs:
- name: Run a single QL tests - Unix
if: runner.os != 'Windows'
run: |
"${CODEQL}" test run --check-databases --search-path "${{ github.workspace }}/ql/extractor-pack" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
"${CODEQL}" test run --check-databases --search-path "${{ github.workspace }}" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
env:
CODEQL: ${{ steps.find-codeql.outputs.codeql-path }}
- name: Run a single QL tests - Windows
@@ -108,5 +108,4 @@ jobs:
shell: pwsh
run: |
$Env:PATH += ";$(dirname ${{ steps.find-codeql.outputs.codeql-path }})"
codeql test run --check-databases --search-path "${{ github.workspace }}/ql/extractor-pack" ql/ql/test/queries/style/DeadCode/DeadCode.qlref
codeql test run --check-databases --search-path "${{ github.workspace }}" ql/ql/test/queries/style/DeadCode/DeadCode.qlref

View File

@@ -37,7 +37,7 @@ jobs:
run: |
python codeql/misc/scripts/generate-code-scanning-query-list.py > code-scanning-query-list.csv
- name: Upload code scanning query list
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: code-scanning-query-list
path: code-scanning-query-list.csv

View File

@@ -7,6 +7,7 @@ on:
- .github/workflows/ruby-build.yml
- .github/actions/fetch-codeql/action.yml
- codeql-workspace.yml
- "shared/tree-sitter-extractor/**"
branches:
- main
- "rc/*"
@@ -16,6 +17,7 @@ on:
- .github/workflows/ruby-build.yml
- .github/actions/fetch-codeql/action.yml
- codeql-workspace.yml
- "shared/tree-sitter-extractor/**"
branches:
- main
- "rc/*"
@@ -51,9 +53,11 @@ jobs:
run: |
brew install gnu-tar
echo "/usr/local/opt/gnu-tar/libexec/gnubin" >> $GITHUB_PATH
- name: Install cargo-cross
if: runner.os == 'Linux'
run: cargo install cross --version 0.2.5
- name: Prepare Windows
if: runner.os == 'Windows'
shell: powershell
run: |
git config --global core.longpaths true
- uses: ./.github/actions/os-version
id: os_version
- name: Cache entire extractor
@@ -61,8 +65,8 @@ jobs:
id: cache-extractor
with:
path: |
ruby/extractor/target/release/codeql-extractor-ruby
ruby/extractor/target/release/codeql-extractor-ruby.exe
target/release/codeql-extractor-ruby
target/release/codeql-extractor-ruby.exe
ruby/extractor/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
key: ${{ runner.os }}-${{ steps.os_version.outputs.version }}-ruby-extractor-${{ hashFiles('ruby/extractor/rust-toolchain.toml', 'ruby/extractor/Cargo.lock') }}-${{ hashFiles('shared/tree-sitter-extractor') }}-${{ hashFiles('ruby/extractor/**/*.rs') }}
- uses: actions/cache@v3
@@ -71,7 +75,7 @@ jobs:
path: |
~/.cargo/registry
~/.cargo/git
ruby/target
target
key: ${{ runner.os }}-${{ steps.os_version.outputs.version }}-ruby-rust-cargo-${{ hashFiles('ruby/extractor/rust-toolchain.toml', 'ruby/extractor/**/Cargo.lock') }}
- name: Check formatting
if: steps.cache-extractor.outputs.cache-hit != 'true'
@@ -82,36 +86,28 @@ jobs:
- name: Run tests
if: steps.cache-extractor.outputs.cache-hit != 'true'
run: cd extractor && cargo test --verbose
# On linux, build the extractor via cross in a centos7 container.
# This ensures we don't depend on glibc > 2.17.
- name: Release build (linux)
if: steps.cache-extractor.outputs.cache-hit != 'true' && runner.os == 'Linux'
run: |
cd extractor
cross build --release
mv target/x86_64-unknown-linux-gnu/release/codeql-extractor-ruby target/release/
- name: Release build (windows and macos)
if: steps.cache-extractor.outputs.cache-hit != 'true' && runner.os != 'Linux'
- name: Release build
if: steps.cache-extractor.outputs.cache-hit != 'true'
run: cd extractor && cargo build --release
- name: Generate dbscheme
if: ${{ matrix.os == 'ubuntu-latest' && steps.cache-extractor.outputs.cache-hit != 'true'}}
run: extractor/target/release/codeql-extractor-ruby generate --dbscheme ql/lib/ruby.dbscheme --library ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
- uses: actions/upload-artifact@v3
run: ../target/release/codeql-extractor-ruby generate --dbscheme ql/lib/ruby.dbscheme --library ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: ruby.dbscheme
path: ruby/ql/lib/ruby.dbscheme
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
name: TreeSitter.qll
path: ruby/ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: extractor-${{ matrix.os }}
path: |
ruby/extractor/target/release/codeql-extractor-ruby
ruby/extractor/target/release/codeql-extractor-ruby.exe
target/release/codeql-extractor-ruby
target/release/codeql-extractor-ruby.exe
retention-days: 1
compile-queries:
if: github.repository_owner == 'github'
@@ -123,7 +119,7 @@ jobs:
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: ruby-build
- name: Build Query Pack
run: |
@@ -138,31 +134,32 @@ jobs:
PACK_FOLDER=$(readlink -f "$PACKS"/codeql/ruby-queries/*)
codeql generate query-help --format=sarifv2.1.0 --output="${PACK_FOLDER}/rules.sarif" ql/src
(cd ql/src; find queries \( -name '*.qhelp' -o -name '*.rb' -o -name '*.erb' \) -exec bash -c 'mkdir -p "'"${PACK_FOLDER}"'/$(dirname "{}")"' \; -exec cp "{}" "${PACK_FOLDER}/{}" \;)
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: codeql-ruby-queries
path: |
${{ runner.temp }}/query-packs/*
retention-days: 1
include-hidden-files: true
package:
runs-on: ubuntu-latest
needs: [build, compile-queries]
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: ruby.dbscheme
path: ruby/ruby
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: extractor-ubuntu-latest
path: ruby/linux64
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: extractor-windows-latest
path: ruby/win64
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: extractor-macos-latest
path: ruby/osx64
@@ -175,12 +172,13 @@ jobs:
cp win64/codeql-extractor-ruby.exe ruby/tools/win64/extractor.exe
chmod +x ruby/tools/{linux64,osx64}/extractor
zip -rq codeql-ruby.zip ruby
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: codeql-ruby-pack
path: ruby/codeql-ruby.zip
retention-days: 1
- uses: actions/download-artifact@v3
include-hidden-files: true
- uses: actions/download-artifact@v4
with:
name: codeql-ruby-queries
path: ruby/qlpacks
@@ -192,11 +190,12 @@ jobs:
]
}' > .codeqlmanifest.json
zip -rq codeql-ruby-bundle.zip .codeqlmanifest.json ruby qlpacks
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: codeql-ruby-bundle
path: ruby/codeql-ruby-bundle.zip
retention-days: 1
include-hidden-files: true
test:
defaults:
@@ -215,7 +214,7 @@ jobs:
uses: ./.github/actions/fetch-codeql
- name: Download Ruby bundle
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: codeql-ruby-bundle
path: ${{ runner.temp }}
@@ -235,54 +234,3 @@ jobs:
shell: bash
run: |
codeql database analyze --search-path "${{ runner.temp }}/ruby-bundle" --format=sarifv2.1.0 --output=out.sarif ../database ruby-code-scanning.qls
# This is a copy of the 'test' job that runs in a centos7 container.
# This tests that the extractor works correctly on systems with an old glibc.
test-centos7:
defaults:
run:
working-directory: ${{ github.workspace }}
strategy:
fail-fast: false
runs-on: ubuntu-latest
container:
image: centos:centos7
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
needs: [package]
steps:
- name: Install gh cli
run: |
yum-config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
# fetch-codeql requires unzip and jq
# jq is available in epel-release (https://docs.fedoraproject.org/en-US/epel/)
yum install -y gh unzip epel-release
yum install -y jq
- uses: actions/checkout@v3
- name: Fetch CodeQL
uses: ./.github/actions/fetch-codeql
# Due to a bug in Actions, we can't use runner.temp in the run blocks here.
# https://github.com/actions/runner/issues/2185
- name: Download Ruby bundle
uses: actions/download-artifact@v3
with:
name: codeql-ruby-bundle
path: ${{ runner.temp }}
- name: Unzip Ruby bundle
shell: bash
run: unzip -q -d "$RUNNER_TEMP"/ruby-bundle "$RUNNER_TEMP"/codeql-ruby-bundle.zip
- name: Run QL test
shell: bash
run: |
codeql test run --search-path "$RUNNER_TEMP"/ruby-bundle --additional-packs "$RUNNER_TEMP"/ruby-bundle ruby/ql/test/library-tests/ast/constants/
- name: Create database
shell: bash
run: |
codeql database create --search-path "$RUNNER_TEMP"/ruby-bundle --language ruby --source-root ruby/ql/test/library-tests/ast/constants/ ../database
- name: Analyze database
shell: bash
run: |
codeql database analyze --search-path "$RUNNER_TEMP"/ruby-bundle --format=sarifv2.1.0 --output=out.sarif ../database ruby-code-scanning.qls

View File

@@ -44,7 +44,7 @@ jobs:
- name: Create database
run: |
codeql database create \
--search-path "${{ github.workspace }}/ruby/extractor-pack" \
--search-path "${{ github.workspace }}" \
--threads 4 \
--language ruby --source-root "${{ github.workspace }}/repo" \
"${{ runner.temp }}/database"
@@ -52,9 +52,9 @@ jobs:
run: |
mkdir -p "stats/${{ matrix.repo }}"
codeql dataset measure --threads 4 --output "stats/${{ matrix.repo }}/stats.xml" "${{ runner.temp }}/database/db-ruby"
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: measurements
name: measurements-${{ hashFiles('stats/**') }}
path: stats
retention-days: 1
@@ -63,14 +63,13 @@ jobs:
needs: measure
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: measurements
path: stats
- run: |
python -m pip install --user lxml
find stats -name 'stats.xml' | sort | xargs python ruby/scripts/merge_stats.py --output ruby/ql/lib/ruby.dbscheme.stats --normalise ruby_tokeninfo
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: ruby.dbscheme.stats
path: ruby/ql/lib/ruby.dbscheme.stats

View File

@@ -64,10 +64,10 @@ jobs:
- name: Cache compilation cache
id: query-cache
uses: ./.github/actions/cache-query-compilation
with:
with:
key: ruby-qltest
- name: Run QL tests
run: |
codeql test run --threads=0 --ram 50000 --search-path "${{ github.workspace }}/ruby/extractor-pack" --check-databases --check-undefined-labels --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
codeql test run --threads=0 --ram 50000 --search-path "${{ github.workspace }}" --check-databases --check-undefined-labels --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --consistency-queries ql/consistency-queries ql/test --compilation-cache "${{ steps.query-cache.outputs.cache-dir }}"
env:
GITHUB_TOKEN: ${{ github.token }}

64
.github/workflows/rust-analysis.yml vendored Normal file
View File

@@ -0,0 +1,64 @@
name: "Code scanning - Rust"
on:
push:
branches:
- main
- 'rc/*'
pull_request:
branches:
- main
- 'rc/*'
paths:
- '**/*.rs'
- '**/Cargo.toml'
- '.github/codeql/codeql-config.yml'
- '.github/workflows/rust-analysis.yml'
schedule:
- cron: '0 9 * * 1'
env:
CODEQL_ENABLE_EXPERIMENTAL_FEATURES: "true"
jobs:
analyze:
strategy:
matrix:
language: [ 'rust' ]
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
pull-requests: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Query latest nightly CodeQL bundle
shell: bash
id: codeql
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
REPO=dsp-testing/codeql-cli-nightlies
TAG=$(
gh release list -R $REPO -L1 --exclude-drafts --json tagName -q ".[] | .tagName"
)
echo "nightly_bundle=https://github.com/$REPO/releases/download/$TAG/codeql-bundle-linux64.tar.zst" \
| tee -a "$GITHUB_OUTPUT"
- name: Initialize CodeQL
uses: github/codeql-action/init@main
with:
tools: ${{ steps.codeql.outputs.nightly_bundle }}
languages: ${{ matrix.language }}
config-file: ./.github/codeql/codeql-config.yml
- name: Autobuild
uses: github/codeql-action/autobuild@main
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@main

58
.github/workflows/rust.yml vendored Normal file
View File

@@ -0,0 +1,58 @@
name: "Rust"
on:
pull_request:
paths:
- "rust/**"
- "misc/bazel/**"
- "misc/codegen/**"
- "shared/**"
- "MODULE.bazel"
- .github/workflows/rust.yml
- .github/actions/**
- codeql-workspace.yml
- "!**/*.md"
- "!**/*.qhelp"
branches:
- rust-experiment
- main
- rc/*
- codeql-cli-*
permissions:
contents: read
jobs:
rust-code:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Format
working-directory: rust/extractor
shell: bash
run: |
cargo fmt --check
- name: Compilation
working-directory: rust/extractor
shell: bash
run: cargo check
- name: Clippy
working-directory: rust/extractor
shell: bash
run: |
cargo clippy --fix
git diff --exit-code
rust-codegen:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install CodeQL
uses: ./.github/actions/fetch-codeql
- name: Code generation
shell: bash
run: |
bazel run //rust/codegen
git add .
git diff --exit-code HEAD

View File

@@ -6,6 +6,7 @@ on:
- "swift/**"
- "misc/bazel/**"
- "misc/codegen/**"
- "shared/**"
- "*.bazel*"
- .github/workflows/swift.yml
- .github/actions/**
@@ -22,10 +23,12 @@ on:
- "swift/**"
- "misc/bazel/**"
- "misc/codegen/**"
- "shared/**"
- "*.bazel*"
- .github/workflows/swift.yml
- .github/actions/**
- codeql-workspace.yml
- .pre-commit-config.yaml
- "!**/*.md"
- "!**/*.qhelp"
branches:
@@ -41,7 +44,7 @@ jobs:
# without waiting for the macOS build
build-and-test-macos:
if: github.repository_owner == 'github'
runs-on: macos-12-xl
runs-on: macos-13-xlarge
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/build-and-test
@@ -61,25 +64,10 @@ jobs:
qltests-macos:
if: ${{ github.repository_owner == 'github' && github.event_name == 'pull_request' }}
needs: build-and-test-macos
runs-on: macos-12-xl
runs-on: macos-13-xlarge
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-ql-tests
integration-tests-linux:
if: github.repository_owner == 'github'
needs: build-and-test-linux
runs-on: ubuntu-latest-xl
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-integration-tests
integration-tests-macos:
if: ${{ github.repository_owner == 'github' && github.event_name == 'pull_request' }}
needs: build-and-test-macos
runs-on: macos-12-xl
timeout-minutes: 60
steps:
- uses: actions/checkout@v4
- uses: ./swift/actions/run-integration-tests
clang-format:
if : ${{ github.event_name == 'pull_request' }}
runs-on: ubuntu-latest
@@ -110,7 +98,7 @@ jobs:
- name: Generate C++ files
run: |
bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/generated-cpp-files
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: swift-generated-cpp-files
path: generated-cpp-files/**

23
.github/workflows/zipmerge-test.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: "Test zipmerge code"
on:
pull_request:
paths:
- "misc/bazel/internal/zipmerge/**"
- "MODULE.bazel"
- ".bazelrc*"
branches:
- main
- "rc/*"
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
bazel test //misc/bazel/internal/zipmerge:test --test_output=all

14
.gitignore vendored
View File

@@ -7,8 +7,8 @@
.cache
# qltest projects and artifacts
*.actual
*/ql/test/**/*.testproj
*/ql/test/**/*.actual
*/ql/test/**/go.sum
# Visual studio temporaries, except a file used by QL4VS
@@ -39,6 +39,9 @@
# local bazel options
/local.bazelrc
# generated cmake directory
/.bazel-cmake
# CLion project files
/.clwb
@@ -59,3 +62,12 @@ node_modules/
# Temporary folders for working with generated models
.model-temp
# bazel-built in-tree extractor packs
/*/extractor-pack
# Jetbrains IDE files
.idea
# cargo build directory
/target

7
.lfsconfig Normal file
View File

@@ -0,0 +1,7 @@
[lfs]
# codeql is publicly forked by many users, and we don't want any LFS file polluting their working
# copies. We therefore exclude everything by default.
# For files required by bazel builds, use rules in `misc/bazel/lfs.bzl` to download them on demand.
# we go for `fetchinclude` to something not exsiting rather than `fetchexclude = *` because the
# former is easier to override (with `git -c` or a local git config) to fetch something specific
fetchinclude = /nothing

View File

@@ -5,9 +5,9 @@ repos:
rev: v3.2.0
hooks:
- id: trailing-whitespace
exclude: /test/.*$(?<!\.ql)(?<!\.qll)(?<!\.qlref)|.*\.patch
exclude: /test/.*$(?<!\.qlref)|.*\.patch$|.*\.qll?$
- id: end-of-file-fixer
exclude: /test/.*$(?<!\.ql)(?<!\.qll)(?<!\.qlref)|.*\.patch
exclude: /test/.*$(?<!\.qlref)|.*\.patch$|.*\.qll?$
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v17.0.6
@@ -15,18 +15,28 @@ repos:
- id: clang-format
- repo: https://github.com/pre-commit/mirrors-autopep8
rev: v1.6.0
rev: v2.0.4
hooks:
- id: autopep8
files: ^misc/codegen/.*\.py
- repo: https://github.com/warchant/pre-commit-buildifier
rev: 0.0.2
hooks:
- id: buildifier
- repo: local
hooks:
- id: buildifier
name: Format bazel files
files: \.(bazel|bzl)
language: system
entry: bazel run //misc/bazel/buildifier
pass_filenames: false
# DISABLED: can be enabled by copying this config and installing `pre-commit` with `--config` on the copy
# - id: go-gen
# name: Check checked in generated files in go
# files: ^go/.*
# language: system
# entry: bazel run //go:gen
# pass_filenames: false
- id: codeql-format
name: Fix QL file formatting
files: \.qll?$
@@ -35,7 +45,7 @@ repos:
- id: sync-files
name: Fix files required to be identical
files: \.(qll?|qhelp|swift)$|^config/identical-files\.json$
files: \.(qll?|qhelp|swift|toml)$|^config/identical-files\.json$
language: system
entry: python3 config/sync-files.py --latest
pass_filenames: false
@@ -48,7 +58,7 @@ repos:
- id: swift-codegen
name: Run Swift checked in code generation
files: ^swift/(schema.py$|codegen/|.*/generated/|ql/lib/(swift\.dbscheme$|codeql/swift/elements)|ql/\.generated.list)
files: ^misc/codegen/|^swift/(schema.py$|codegen/|.*/generated/|ql/lib/(swift\.dbscheme$|codeql/swift/elements)|ql/\.generated.list)
language: system
entry: bazel run //swift/codegen -- --quiet
pass_filenames: false
@@ -59,3 +69,17 @@ repos:
language: system
entry: bazel test //misc/codegen/test
pass_filenames: false
- id: rust-codegen
name: Run Rust checked in code generation
files: ^misc/codegen/|^rust/(schema.py$|codegen/|.*/generated/|ql/lib/(rust\.dbscheme$|codeql/rust/elements)|\.generated.list)
language: system
entry: bazel run //rust/codegen -- --quiet
pass_filenames: false
- id: rust-lint
name: Run fmt and clippy on Rust code
files: ^rust/extractor/(.*rs|Cargo.toml)$
language: system
entry: python3 rust/lint.py
pass_filenames: false

View File

@@ -1,5 +1,6 @@
{
"omnisharp.autoStart": false,
"cmake.sourceDirectory": "${workspaceFolder}/swift",
"cmake.buildDirectory": "${workspaceFolder}/bazel-cmake-build"
"cmake.buildDirectory": "${workspaceFolder}/bazel-cmake-build",
"editor.suggest.matchOnWordStartOnly": false
}

View File

@@ -0,0 +1 @@
exports_files(["LICENSE"])

View File

@@ -1,5 +1,7 @@
/cpp/ @github/codeql-c-analysis
/csharp/ @github/codeql-csharp
/csharp/autobuilder/Semmle.Autobuild.Cpp @github/codeql-c-extractor
/csharp/autobuilder/Semmle.Autobuild.Cpp.Tests @github/codeql-c-extractor
/go/ @github/codeql-go
/java/ @github/codeql-java
/javascript/ @github/codeql-javascript
@@ -11,9 +13,6 @@
/java/ql/test-kotlin1/ @github/codeql-kotlin
/java/ql/test-kotlin2/ @github/codeql-kotlin
# ML-powered queries
/javascript/ql/experimental/adaptivethreatmodeling/ @github/codeql-ml-powered-queries-reviewers
# CodeQL tools and associated docs
/docs/codeql/codeql-cli/ @github/codeql-cli-reviewers
/docs/codeql/codeql-for-visual-studio-code/ @github/codeql-vscode-reviewers
@@ -24,7 +23,7 @@
/ql/ @github/codeql-ql-for-ql-reviewers
# Bazel (excluding BUILD.bazel files)
WORKSPACE.bazel @github/codeql-ci-reviewers
MODULE.bazel @github/codeql-ci-reviewers
.bazelversion @github/codeql-ci-reviewers
.bazelrc @github/codeql-ci-reviewers
**/*.bzl @github/codeql-ci-reviewers
@@ -35,9 +34,7 @@ WORKSPACE.bazel @github/codeql-ci-reviewers
# Workflows
/.github/workflows/ @github/codeql-ci-reviewers
/.github/workflows/atm-* @github/codeql-ml-powered-queries-reviewers
/.github/workflows/go-* @github/codeql-go
/.github/workflows/js-ml-tests.yml @github/codeql-ml-powered-queries-reviewers
/.github/workflows/ql-for-ql-* @github/codeql-ql-for-ql-reviewers
/.github/workflows/ruby-* @github/codeql-ruby
/.github/workflows/swift.yml @github/codeql-swift

View File

@@ -4,6 +4,8 @@ We welcome contributions to our CodeQL libraries and queries. Got an idea for a
There is lots of useful documentation to help you write queries, ranging from information about query file structure to tutorials for specific target languages. For more information on the documentation available, see [CodeQL queries](https://codeql.github.com/docs/writing-codeql-queries/codeql-queries) on [codeql.github.com](https://codeql.github.com).
Note that the CodeQL for Visual Studio Code documentation has been migrated to https://docs.github.com/en/code-security/codeql-for-vs-code/, but you can still contribute to it via a different repository. For more information, see [Contributing to GitHub Docs documentation](https://docs.github.com/en/contributing)."
## Change notes
Any nontrivial user-visible change to a query pack or library pack should have a change note. For details on how to add a change note for your change, see [this guide](docs/change-notes.md).
@@ -43,7 +45,7 @@ If you have an idea for a query that you would like to share with other CodeQL u
3. **Formatting**
- The queries and libraries must be autoformatted, for example using the "Format Document" command in [CodeQL for Visual Studio Code](https://codeql.github.com/docs/codeql-for-visual-studio-code/about-codeql-for-visual-studio-code).
- The queries and libraries must be autoformatted, for example using the "Format Document" command in [CodeQL for Visual Studio Code](https://docs.github.com/en/code-security/codeql-for-vs-code/).
If you prefer, you can either:
1. install the [pre-commit framework](https://pre-commit.com/) and install the configured hooks on this repo via `pre-commit install`, or

2730
Cargo.lock generated Normal file

File diff suppressed because it is too large Load Diff

16
Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
# This is the shared workspace file for extractor using shared/tree-sitter/extractor
[workspace]
resolver = "2"
members = [
"shared/tree-sitter-extractor",
"ruby/extractor",
"rust/extractor",
"rust/extractor/macros",
"rust/ast-generator",
]
[patch.crates-io]
# patch for build script bug preventing bazel build
# see https://github.com/rust-lang/rustc_apfloat/pull/17
rustc_apfloat = { git = "https://github.com/redsun82/rustc_apfloat.git", rev = "096d585100636bc2e9f09d7eefec38c5b334d47b" }

201
MODULE.bazel Normal file
View File

@@ -0,0 +1,201 @@
module(
name = "ql",
version = "0.0",
repo_name = "codeql",
)
# this points to our internal repository when `codeql` is checked out as a submodule thereof
# when building things from `codeql` independently this is stubbed out in `.bazelrc`
bazel_dep(name = "semmle_code", version = "0.0")
local_path_override(
module_name = "semmle_code",
path = "..",
)
# see https://registry.bazel.build/ for a list of available packages
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_go", version = "0.50.0")
bazel_dep(name = "rules_pkg", version = "1.0.1")
bazel_dep(name = "rules_nodejs", version = "6.2.0-codeql.1")
bazel_dep(name = "rules_python", version = "0.36.0")
bazel_dep(name = "bazel_skylib", version = "1.7.1")
bazel_dep(name = "abseil-cpp", version = "20240116.0", repo_name = "absl")
bazel_dep(name = "nlohmann_json", version = "3.11.3", repo_name = "json")
bazel_dep(name = "fmt", version = "10.0.0")
bazel_dep(name = "rules_kotlin", version = "2.0.0-codeql.1")
bazel_dep(name = "gazelle", version = "0.38.0")
bazel_dep(name = "rules_dotnet", version = "0.16.1")
bazel_dep(name = "googletest", version = "1.14.0.bcr.1")
bazel_dep(name = "rules_rust", version = "0.52.2")
bazel_dep(name = "buildifier_prebuilt", version = "6.4.0", dev_dependency = True)
# crate_py but shortened due to Windows file path considerations
cp = use_extension(
"@rules_rust//crate_universe:extension.bzl",
"crate",
isolate = True,
)
cp.from_cargo(
name = "py_deps",
cargo_lockfile = "//python/extractor/tsg-python:Cargo.lock",
manifests = [
"//python/extractor/tsg-python:Cargo.toml",
"//python/extractor/tsg-python/tsp:Cargo.toml",
],
)
use_repo(cp, "py_deps")
# deps for ruby+rust, but shortened due to windows file paths
r = use_extension(
"@rules_rust//crate_universe:extension.bzl",
"crate",
isolate = True,
)
r.from_cargo(
name = "r",
cargo_lockfile = "//:Cargo.lock",
manifests = [
"//:Cargo.toml",
"//ruby/extractor:Cargo.toml",
"//rust/extractor:Cargo.toml",
"//rust/extractor/macros:Cargo.toml",
"//rust/ast-generator:Cargo.toml",
"//shared/tree-sitter-extractor:Cargo.toml",
],
)
use_repo(r, tree_sitter_extractors_deps = "r")
dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet")
dotnet.toolchain(dotnet_version = "8.0.101")
use_repo(dotnet, "dotnet_toolchains")
register_toolchains("@dotnet_toolchains//:all")
csharp_main_extension = use_extension("//csharp:paket.main_extension.bzl", "main_extension")
use_repo(csharp_main_extension, "paket.main")
pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "codegen_deps",
python_version = "3.11",
requirements_lock = "//misc/codegen:requirements_lock.txt",
)
use_repo(pip, "codegen_deps")
swift_deps = use_extension("//swift/third_party:load.bzl", "swift_deps")
# following list can be kept in sync with `bazel mod tidy`
use_repo(
swift_deps,
"binlog",
"picosha2",
"swift_prebuilt_darwin_x86_64",
"swift_prebuilt_linux",
"swift_toolchain_linux",
"swift_toolchain_macos",
)
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
node.toolchain(
name = "nodejs",
node_urls = [
"https://nodejs.org/dist/v{version}/{filename}",
"https://mirrors.dotsrc.org/nodejs/release/v{version}/{filename}",
],
node_version = "18.15.0",
)
use_repo(node, "nodejs", "nodejs_toolchains")
kotlin_extractor_deps = use_extension("//java/kotlin-extractor:deps.bzl", "kotlin_extractor_deps")
# following list can be kept in sync by running `bazel mod tidy` in `codeql`
use_repo(
kotlin_extractor_deps,
"codeql_kotlin_defaults",
"codeql_kotlin_embeddable",
"kotlin-compiler-1.5.0",
"kotlin-compiler-1.5.10",
"kotlin-compiler-1.5.20",
"kotlin-compiler-1.5.30",
"kotlin-compiler-1.6.0",
"kotlin-compiler-1.6.20",
"kotlin-compiler-1.7.0",
"kotlin-compiler-1.7.20",
"kotlin-compiler-1.8.0",
"kotlin-compiler-1.9.0-Beta",
"kotlin-compiler-1.9.20-Beta",
"kotlin-compiler-2.0.0-RC1",
"kotlin-compiler-2.0.20-Beta2",
"kotlin-compiler-2.1.0-Beta1",
"kotlin-compiler-embeddable-1.5.0",
"kotlin-compiler-embeddable-1.5.10",
"kotlin-compiler-embeddable-1.5.20",
"kotlin-compiler-embeddable-1.5.30",
"kotlin-compiler-embeddable-1.6.0",
"kotlin-compiler-embeddable-1.6.20",
"kotlin-compiler-embeddable-1.7.0",
"kotlin-compiler-embeddable-1.7.20",
"kotlin-compiler-embeddable-1.8.0",
"kotlin-compiler-embeddable-1.9.0-Beta",
"kotlin-compiler-embeddable-1.9.20-Beta",
"kotlin-compiler-embeddable-2.0.0-RC1",
"kotlin-compiler-embeddable-2.0.20-Beta2",
"kotlin-compiler-embeddable-2.1.0-Beta1",
"kotlin-stdlib-1.5.0",
"kotlin-stdlib-1.5.10",
"kotlin-stdlib-1.5.20",
"kotlin-stdlib-1.5.30",
"kotlin-stdlib-1.6.0",
"kotlin-stdlib-1.6.20",
"kotlin-stdlib-1.7.0",
"kotlin-stdlib-1.7.20",
"kotlin-stdlib-1.8.0",
"kotlin-stdlib-1.9.0-Beta",
"kotlin-stdlib-1.9.20-Beta",
"kotlin-stdlib-2.0.0-RC1",
"kotlin-stdlib-2.0.20-Beta2",
"kotlin-stdlib-2.1.0-Beta1",
)
go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.23.1")
go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//go/extractor:go.mod")
use_repo(go_deps, "org_golang_x_mod", "org_golang_x_tools")
lfs_files = use_repo_rule("//misc/bazel:lfs.bzl", "lfs_files")
lfs_files(
name = "ripunzip-linux",
srcs = ["//misc/ripunzip:ripunzip-linux"],
executable = True,
)
lfs_files(
name = "ripunzip-windows",
srcs = ["//misc/ripunzip:ripunzip-windows.exe"],
executable = True,
)
lfs_files(
name = "ripunzip-macos",
srcs = ["//misc/ripunzip:ripunzip-macos"],
executable = True,
)
lfs_files(
name = "swift-resource-dir-linux",
srcs = ["//swift/third_party/resource-dir:resource-dir-linux.zip"],
)
lfs_files(
name = "swift-resource-dir-macos",
srcs = ["//swift/third_party/resource-dir:resource-dir-macos.zip"],
)
register_toolchains(
"@nodejs_toolchains//:all",
)

View File

@@ -4,7 +4,7 @@ This open source repository contains the standard CodeQL libraries and queries t
## How do I learn CodeQL and run queries?
There is [extensive documentation](https://codeql.github.com/docs/) on getting started with writing CodeQL using the [CodeQL extension for Visual Studio Code](https://codeql.github.com/docs/codeql-for-visual-studio-code/) and the [CodeQL CLI](https://codeql.github.com/docs/codeql-cli/).
There is extensive documentation about the [CodeQL language](https://codeql.github.com/docs/), writing CodeQL using the [CodeQL extension for Visual Studio Code](https://docs.github.com/en/code-security/codeql-for-vs-code/) and using the [CodeQL CLI](https://docs.github.com/en/code-security/codeql-cli).
## Contributing

View File

@@ -1,12 +0,0 @@
# Please notice that any bazel targets and definitions in this repository are currently experimental
# and for internal use only.
workspace(name = "codeql")
load("//misc/bazel:workspace.bzl", "codeql_workspace")
codeql_workspace()
load("//misc/bazel:workspace_deps.bzl", "codeql_workspace_deps")
codeql_workspace_deps()

20
actions/BUILD.bazel Normal file
View File

@@ -0,0 +1,20 @@
load("//misc/bazel:pkg.bzl", "codeql_pack")
package(default_visibility = ["//visibility:public"])
[
codeql_pack(
name = "-".join(parts),
srcs = [
"//actions/extractor",
],
pack_prefix = "/".join(parts),
)
for parts in (
[
"experimental",
"actions",
],
["actions"],
)
]

View File

@@ -0,0 +1,10 @@
load("//misc/bazel:pkg.bzl", "codeql_pkg_files", "strip_prefix")
codeql_pkg_files(
name = "extractor",
srcs = [
"codeql-extractor.yml",
] + glob(["tools/**"]),
strip_prefix = strip_prefix.from_pkg(),
visibility = ["//actions:__pkg__"],
)

View File

@@ -0,0 +1,44 @@
name: "actions"
aliases: []
display_name: "GitHub Actions"
version: 0.0.1
column_kind: "utf16"
unicode_newlines: true
build_modes:
- none
file_coverage_languages: []
github_api_languages: []
scc_languages: []
file_types:
- name: workflow
display_name: GitHub Actions workflow files
extensions:
- .yml
- .yaml
forwarded_extractor_name: javascript
options:
trap:
title: TRAP options
description: Options about how the extractor handles TRAP files
type: object
visibility: 3
properties:
cache:
title: TRAP cache options
description: Options about how the extractor handles its TRAP cache
type: object
properties:
dir:
title: TRAP cache directory
description: The directory of the TRAP cache to use
type: string
bound:
title: TRAP cache bound
description: A soft limit (in MB) on the size of the TRAP cache
type: string
pattern: "[0-9]+"
write:
title: TRAP cache writeable
description: Whether to write to the TRAP cache as well as reading it
type: string
pattern: "(true|TRUE|false|FALSE)"

View File

@@ -0,0 +1,40 @@
if (($null -ne $env:LGTM_INDEX_INCLUDE) -or ($null -ne $env:LGTM_INDEX_EXCLUDE) -or ($null -ne $env:LGTM_INDEX_FILTERS)) {
Write-Output 'Path filters set. Passing them through to the JavaScript extractor.'
} else {
Write-Output 'No path filters set. Using the default filters.'
$DefaultPathFilters = @(
'exclude:**/*',
'include:.github/workflows/**/*.yml',
'include:.github/workflows/**/*.yaml',
'include:**/action.yml',
'include:**/action.yaml'
)
$env:LGTM_INDEX_FILTERS = $DefaultPathFilters -join "`n"
}
# Find the JavaScript extractor directory via `codeql resolve extractor`.
$CodeQL = Join-Path $env:CODEQL_DIST 'codeql.exe'
$env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT = &$CodeQL resolve extractor --language javascript
if ($LASTEXITCODE -ne 0) {
throw 'Failed to resolve JavaScript extractor.'
}
Write-Output "Found JavaScript extractor at '${env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'."
# Run the JavaScript autobuilder.
$JavaScriptAutoBuild = Join-Path $env:CODEQL_EXTRACTOR_JAVASCRIPT_ROOT 'tools\autobuild.cmd'
Write-Output "Running JavaScript autobuilder at '${JavaScriptAutoBuild}'."
# Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables.
$env:CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR
$env:CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_LOG_DIR
$env:CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR
$env:CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR
$env:CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR = $env:CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR
$env:CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE = $env:CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE
&$JavaScriptAutoBuild
if ($LASTEXITCODE -ne 0) {
throw "JavaScript autobuilder failed."
}

View File

@@ -0,0 +1,3 @@
@echo off
rem All of the work is done in the PowerShell script
powershell.exe %~dp0autobuild-impl.ps1

View File

@@ -0,0 +1,39 @@
#!/bin/sh
set -eu
DEFAULT_PATH_FILTERS=$(cat << END
exclude:**/*
include:.github/workflows/**/*.yml
include:.github/workflows/**/*.yaml
include:**/action.yml
include:**/action.yaml
END
)
if [ -n "${LGTM_INDEX_INCLUDE:-}" ] || [ -n "${LGTM_INDEX_EXCLUDE:-}" ] || [ -n "${LGTM_INDEX_FILTERS:-}" ] ; then
echo "Path filters set. Passing them through to the JavaScript extractor."
else
echo "No path filters set. Using the default filters."
LGTM_INDEX_FILTERS="${DEFAULT_PATH_FILTERS}"
export LGTM_INDEX_FILTERS
fi
# Find the JavaScript extractor directory via `codeql resolve extractor`.
CODEQL_EXTRACTOR_JAVASCRIPT_ROOT="$($CODEQL_DIST/codeql resolve extractor --language javascript)"
export CODEQL_EXTRACTOR_JAVASCRIPT_ROOT
echo "Found JavaScript extractor at '${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}'."
# Run the JavaScript autobuilder
JAVASCRIPT_AUTO_BUILD="${CODEQL_EXTRACTOR_JAVASCRIPT_ROOT}/tools/autobuild.sh"
echo "Running JavaScript autobuilder at '${JAVASCRIPT_AUTO_BUILD}'."
# Copy the values of the Actions extractor environment variables to the JavaScript extractor environment variables.
env CODEQL_EXTRACTOR_JAVASCRIPT_DIAGNOSTIC_DIR="${CODEQL_EXTRACTOR_ACTIONS_DIAGNOSTIC_DIR}" \
CODEQL_EXTRACTOR_JAVASCRIPT_LOG_DIR="${CODEQL_EXTRACTOR_ACTIONS_LOG_DIR}" \
CODEQL_EXTRACTOR_JAVASCRIPT_SCRATCH_DIR="${CODEQL_EXTRACTOR_ACTIONS_SCRATCH_DIR}" \
CODEQL_EXTRACTOR_JAVASCRIPT_SOURCE_ARCHIVE_DIR="${CODEQL_EXTRACTOR_ACTIONS_SOURCE_ARCHIVE_DIR}" \
CODEQL_EXTRACTOR_JAVASCRIPT_TRAP_DIR="${CODEQL_EXTRACTOR_ACTIONS_TRAP_DIR}" \
CODEQL_EXTRACTOR_JAVASCRIPT_WIP_DATABASE="${CODEQL_EXTRACTOR_ACTIONS_WIP_DATABASE}" \
${JAVASCRIPT_AUTO_BUILD}

View File

@@ -0,0 +1 @@
predicate placeholder(int x) { x = 0 }

12
actions/ql/lib/qlpack.yml Normal file
View File

@@ -0,0 +1,12 @@
name: codeql/actions-all
version: 0.0.1-dev
library: true
warnOnImplicitThis: true
dependencies:
codeql/util: ${workspace}
codeql/yaml: ${workspace}
codeql/controlflow: ${workspace}
codeql/dataflow: ${workspace}
codeql/javascript-all: ${workspace}
extractor: actions
groups: actions

View File

@@ -0,0 +1,16 @@
/**
* @name Placeholder Query
* @description Placeholder
* @kind problem
* @problem.severity warning
* @security-severity 9.3
* @precision high
* @id actions/placeholder
* @tags actions security
*/
import actions
import javascript
from File f
select f, "Analyzed a file."

View File

@@ -0,0 +1,8 @@
name: codeql/actions-queries
version: 0.0.1-dev
library: false
groups: [actions, queries]
extractor: actions
dependencies:
codeql/actions-all: ${workspace}
warnOnImplicitThis: true

View File

@@ -0,0 +1,23 @@
on: push
jobs:
job1:
runs-on: ubuntu-latest
steps:
- shell: pwsh
run: Write-Output "foo"
job2:
runs-on: ubuntu-latest
steps:
- run: echo "foo"
job3:
runs-on: windows-latest
steps:
- shell: bash
run: echo "foo"
job4:
runs-on: windows-latest
steps:
- run: Write-Output "foo"

View File

@@ -0,0 +1 @@
select 1

View File

@@ -0,0 +1,8 @@
name: codeql/actions-tests
groups: [codeql, test]
dependencies:
codeql/actions-all: ${workspace}
codeql/actions-queries: ${workspace}
extractor: actions
tests: .
warnOnImplicitThis: true

View File

@@ -0,0 +1,23 @@
on: push
jobs:
job1:
runs-on: ubuntu-latest
steps:
- shell: pwsh
run: Write-Output "foo"
job2:
runs-on: ubuntu-latest
steps:
- run: echo "foo"
job3:
runs-on: windows-latest
steps:
- shell: bash
run: echo "foo"
job4:
runs-on: windows-latest
steps:
- run: Write-Output "foo"

View File

@@ -0,0 +1 @@
| .github/workflows/shell.yml:0:0:0:0 | .github/workflows/shell.yml | Analyzed a file. |

View File

@@ -0,0 +1 @@
Placeholder.ql

View File

@@ -6,29 +6,16 @@ provide:
- "*/ql/consistency-queries/qlpack.yml"
- "*/ql/automodel/src/qlpack.yml"
- "*/ql/automodel/test/qlpack.yml"
- "*/extractor-pack/codeql-extractor.yml"
- "python/extractor/qlpack.yml"
- "shared/**/qlpack.yml"
- "cpp/ql/test/query-tests/Security/CWE/CWE-190/semmle/tainted/qlpack.yml"
- "go/ql/config/legacy-support/qlpack.yml"
- "go/build/codeql-extractor-go/codeql-extractor.yml"
- "javascript/ql/experimental/adaptivethreatmodeling/lib/qlpack.yml"
# This pack is explicitly excluded from the workspace since most users
# will want to use a version of this pack from the package cache. Internal
# users can uncomment the following line and place a custom ML model
# in the corresponding pack to test a custom ML model within their local
# checkout.
# - "javascript/ql/experimental/adaptivethreatmodeling/model/qlpack.yml"
- "javascript/ql/experimental/adaptivethreatmodeling/modelbuilding/qlpack.yml"
- "javascript/ql/experimental/adaptivethreatmodeling/src/qlpack.yml"
- "javascript/ql/experimental/adaptivethreatmodeling/test/qlpack.yml"
- "csharp/ql/campaigns/Solorigate/lib/qlpack.yml"
- "csharp/ql/campaigns/Solorigate/src/qlpack.yml"
- "csharp/ql/campaigns/Solorigate/test/qlpack.yml"
- "misc/legacy-support/*/qlpack.yml"
- "misc/suite-helpers/qlpack.yml"
- "ruby/extractor-pack/codeql-extractor.yml"
- "swift/extractor-pack/codeql-extractor.yml"
- "swift/integration-tests/qlpack.yml"
- "ql/extractor-pack/codeql-extractor.yml"
- ".github/codeql/extensions/**/codeql-pack.yml"
versionPolicies:

View File

@@ -28,6 +28,7 @@
"/*- Yaml dbscheme -*/",
"/*- Blame dbscheme -*/",
"/*- JSON dbscheme -*/",
"/*- Python dbscheme -*/"
"/*- Python dbscheme -*/",
"/*- Empty location -*/"
]
}

View File

@@ -57,14 +57,6 @@
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll",
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll"
],
"Model as Data Generation Java/C# - CaptureModels": [
"java/ql/src/utils/modelgenerator/internal/CaptureModels.qll",
"csharp/ql/src/utils/modelgenerator/internal/CaptureModels.qll"
],
"Model as Data Generation Java/C# - CaptureModelsPrinting": [
"java/ql/src/utils/modelgenerator/internal/CaptureModelsPrinting.qll",
"csharp/ql/src/utils/modelgenerator/internal/CaptureModelsPrinting.qll"
],
"Sign Java/C#": [
"java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/Sign.qll",
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/Sign.qll"
@@ -88,123 +80,46 @@
"IR Instruction": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll",
"csharp/ql/src/experimental/ir/implementation/raw/Instruction.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Instruction.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll"
],
"IR IRBlock": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRBlock.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll",
"csharp/ql/src/experimental/ir/implementation/raw/IRBlock.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRBlock.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll"
],
"IR IRVariable": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRVariable.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll",
"csharp/ql/src/experimental/ir/implementation/raw/IRVariable.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRVariable.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll"
],
"IR IRFunction": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRFunction.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRFunction.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRFunction.qll",
"csharp/ql/src/experimental/ir/implementation/raw/IRFunction.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRFunction.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRFunction.qll"
],
"IR Operand": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Operand.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Operand.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Operand.qll",
"csharp/ql/src/experimental/ir/implementation/raw/Operand.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Operand.qll"
],
"IR IRType": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/IRType.qll",
"csharp/ql/src/experimental/ir/implementation/IRType.qll"
],
"IR IRConfiguration": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/IRConfiguration.qll",
"csharp/ql/src/experimental/ir/implementation/IRConfiguration.qll"
],
"IR UseSoundEscapeAnalysis": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/UseSoundEscapeAnalysis.qll",
"csharp/ql/src/experimental/ir/implementation/UseSoundEscapeAnalysis.qll"
],
"IR IRFunctionBase": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/IRFunctionBase.qll",
"csharp/ql/src/experimental/ir/implementation/internal/IRFunctionBase.qll"
],
"IR Operand Tag": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/OperandTag.qll",
"csharp/ql/src/experimental/ir/implementation/internal/OperandTag.qll"
],
"IR TInstruction": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TInstruction.qll",
"csharp/ql/src/experimental/ir/implementation/internal/TInstruction.qll"
],
"IR TIRVariable": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TIRVariable.qll",
"csharp/ql/src/experimental/ir/implementation/internal/TIRVariable.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Operand.qll"
],
"IR IR": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IR.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IR.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IR.qll",
"csharp/ql/src/experimental/ir/implementation/raw/IR.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IR.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IR.qll"
],
"IR IRConsistency": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll",
"csharp/ql/src/experimental/ir/implementation/raw/IRConsistency.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRConsistency.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll"
],
"IR PrintIR": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/PrintIR.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll",
"csharp/ql/src/experimental/ir/implementation/raw/PrintIR.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/PrintIR.qll"
],
"IR IntegerConstant": [
"cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerConstant.qll",
"csharp/ql/src/experimental/ir/internal/IntegerConstant.qll"
],
"IR IntegerInteval": [
"cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerInterval.qll",
"csharp/ql/src/experimental/ir/internal/IntegerInterval.qll"
],
"IR IntegerPartial": [
"cpp/ql/lib/semmle/code/cpp/ir/internal/IntegerPartial.qll",
"csharp/ql/src/experimental/ir/internal/IntegerPartial.qll"
],
"IR Overlap": [
"cpp/ql/lib/semmle/code/cpp/ir/internal/Overlap.qll",
"csharp/ql/src/experimental/ir/internal/Overlap.qll"
],
"IR EdgeKind": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/EdgeKind.qll",
"csharp/ql/src/experimental/ir/implementation/EdgeKind.qll"
],
"IR MemoryAccessKind": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/MemoryAccessKind.qll",
"csharp/ql/src/experimental/ir/implementation/MemoryAccessKind.qll"
],
"IR TempVariableTag": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/TempVariableTag.qll",
"csharp/ql/src/experimental/ir/implementation/TempVariableTag.qll"
],
"IR Opcode": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/Opcode.qll",
"csharp/ql/src/experimental/ir/implementation/Opcode.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll"
],
"IR SSAConsistency": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SSAConsistency.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConsistency.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/SSAConsistency.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConsistency.qll"
],
"C++ IR InstructionImports": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/InstructionImports.qll",
@@ -252,8 +167,7 @@
],
"SSA AliasAnalysis": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/AliasAnalysis.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/AliasAnalysis.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/AliasAnalysis.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/AliasAnalysis.qll"
],
"SSA PrintAliasAnalysis": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/PrintAliasAnalysis.qll",
@@ -263,49 +177,28 @@
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/AliasAnalysisImports.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/AliasAnalysisImports.qll"
],
"C++ IR ValueNumberingImports": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/gvn/internal/ValueNumberingImports.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/gvn/internal/ValueNumberingImports.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/internal/ValueNumberingImports.qll"
],
"IR SSA SimpleSSA": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SimpleSSA.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/SimpleSSA.qll"
],
"IR AliasConfiguration (unaliased_ssa)": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/AliasConfiguration.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/AliasConfiguration.qll"
],
"IR SSA SSAConstruction": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/SSAConstruction.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/SSAConstruction.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/SSAConstruction.qll"
],
"IR SSA PrintSSA": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/PrintSSA.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/PrintSSA.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/PrintSSA.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/internal/PrintSSA.qll"
],
"IR ValueNumberInternal": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/gvn/internal/ValueNumberingInternal.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/gvn/internal/ValueNumberingInternal.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/internal/ValueNumberingInternal.qll",
"csharp/ql/src/experimental/ir/implementation/raw/gvn/internal/ValueNumberingInternal.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/gvn/internal/ValueNumberingInternal.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/internal/ValueNumberingInternal.qll"
],
"C++ IR ValueNumber": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/gvn/ValueNumbering.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/gvn/ValueNumbering.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/ValueNumbering.qll",
"csharp/ql/src/experimental/ir/implementation/raw/gvn/ValueNumbering.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/gvn/ValueNumbering.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/ValueNumbering.qll"
],
"C++ IR PrintValueNumbering": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/gvn/PrintValueNumbering.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/gvn/PrintValueNumbering.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/PrintValueNumbering.qll",
"csharp/ql/src/experimental/ir/implementation/raw/gvn/PrintValueNumbering.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/gvn/PrintValueNumbering.qll"
"cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/gvn/PrintValueNumbering.qll"
],
"C++ IR ConstantAnalysis": [
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/constant/ConstantAnalysis.qll",
@@ -333,38 +226,6 @@
"cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/reachability/PrintDominance.qll",
"cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/internal/reachability/PrintDominance.qll"
],
"C# IR InstructionImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/InstructionImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/InstructionImports.qll"
],
"C# IR IRImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/IRImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/IRImports.qll"
],
"C# IR IRBlockImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/IRBlockImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/IRBlockImports.qll"
],
"C# IR IRFunctionImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/IRFunctionImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/IRFunctionImports.qll"
],
"C# IR IRVariableImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/IRVariableImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/IRVariableImports.qll"
],
"C# IR OperandImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/OperandImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/OperandImports.qll"
],
"C# IR PrintIRImports": [
"csharp/ql/src/experimental/ir/implementation/raw/internal/PrintIRImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/internal/PrintIRImports.qll"
],
"C# IR ValueNumberingImports": [
"csharp/ql/src/experimental/ir/implementation/raw/gvn/internal/ValueNumberingImports.qll",
"csharp/ql/src/experimental/ir/implementation/unaliased_ssa/gvn/internal/ValueNumberingImports.qll"
],
"C# ControlFlowReachability": [
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/ControlFlowReachability.qll",
"csharp/ql/lib/semmle/code/csharp/dataflow/internal/rangeanalysis/ControlFlowReachability.qll"
@@ -377,13 +238,6 @@
"cpp/ql/src/Security/CWE/CWE-020/SafeExternalAPIFunction.qll",
"cpp/ql/src/Security/CWE/CWE-020/ir/SafeExternalAPIFunction.qll"
],
"XML": [
"cpp/ql/lib/semmle/code/cpp/XML.qll",
"csharp/ql/lib/semmle/code/csharp/XML.qll",
"java/ql/lib/semmle/code/xml/XML.qll",
"javascript/ql/lib/semmle/javascript/XML.qll",
"python/ql/lib/semmle/python/xml/XML.qll"
],
"DuplicationProblems.inc.qhelp": [
"cpp/ql/src/Metrics/Files/DuplicationProblems.inc.qhelp",
"javascript/ql/src/Metrics/DuplicationProblems.inc.qhelp",
@@ -431,13 +285,6 @@
"java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.qhelp",
"java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qhelp"
],
"IDE Contextual Queries": [
"cpp/ql/lib/IDEContextual.qll",
"csharp/ql/lib/IDEContextual.qll",
"java/ql/lib/IDEContextual.qll",
"javascript/ql/lib/IDEContextual.qll",
"python/ql/lib/analysis/IDEContextual.qll"
],
"CryptoAlgorithms Python/JS/Ruby": [
"javascript/ql/lib/semmle/javascript/security/CryptoAlgorithms.qll",
"python/ql/lib/semmle/python/concepts/CryptoAlgorithms.qll",
@@ -502,7 +349,7 @@
"java/ql/lib/semmle/code/java/security/internal/EncryptionKeySizes.qll"
],
"Python model summaries test extension": [
"python/ql/test/experimental/dataflow/model-summaries/InlineTaintTest.ext.yml",
"python/ql/test/experimental/dataflow/model-summaries/NormalDataflowTest.ext.yml"
"python/ql/test/library-tests/dataflow/model-summaries/InlineTaintTest.ext.yml",
"python/ql/test/library-tests/dataflow/model-summaries/NormalDataflowTest.ext.yml"
]
}
}

View File

@@ -1,4 +1,4 @@
load("@rules_pkg//:mappings.bzl", "pkg_filegroup")
load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup")
package(default_visibility = ["//visibility:public"])

View File

@@ -1,13 +0,0 @@
obj/
TestResults/
*.manifest
*.pdb
*.suo
*.mdb
*.vsmdi
csharp.log
**/bin/Debug
**/bin/Release
*.tlog
.vs
*.user

View File

@@ -0,0 +1 @@
The Windows autobuilder that used to live in this directory moved to `csharp/autobuilder/Semmle.Autobuild.Cpp`.

View File

@@ -1,26 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="System.IO.FileSystem" Version="4.3.0" />
<PackageReference Include="System.IO.FileSystem.Primitives" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.6.2" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Semmle.Autobuild.Cpp\Semmle.Autobuild.Cpp.csproj" />
<ProjectReference Include="..\..\..\csharp\autobuilder\Semmle.Autobuild.Shared\Semmle.Autobuild.Shared.csproj" />
</ItemGroup>
</Project>

View File

@@ -1,33 +0,0 @@
using System;
using Semmle.Autobuild.Shared;
namespace Semmle.Autobuild.Cpp
{
class Program
{
static int Main()
{
try
{
var actions = SystemBuildActions.Instance;
var options = new CppAutobuildOptions(actions);
try
{
Console.WriteLine("CodeQL C++ autobuilder");
var builder = new CppAutobuilder(actions, options);
return builder.AttemptBuild();
}
catch (InvalidEnvironmentException ex)
{
Console.WriteLine("The environment is invalid: {0}", ex.Message);
}
}
catch (ArgumentOutOfRangeException ex)
{
Console.WriteLine("The value \"{0}\" for parameter \"{1}\" is invalid", ex.ActualValue, ex.ParamName);
}
return 1;
}
}
}

View File

@@ -1,32 +0,0 @@
using System.Reflection;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Semmle.Autobuild.Cpp")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("GitHub")]
[assembly: AssemblyProduct("CodeQL autobuilder for C++")]
[assembly: AssemblyCopyright("Copyright © GitHub 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@@ -1,28 +0,0 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<AssemblyName>Semmle.Autobuild.Cpp</AssemblyName>
<RootNamespace>Semmle.Autobuild.Cpp</RootNamespace>
<ApplicationIcon />
<OutputType>Exe</OutputType>
<StartupObject />
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
<RuntimeIdentifiers>win-x64;linux-x64;osx-x64</RuntimeIdentifiers>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Build" Version="17.8.3" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\csharp\extractor\Semmle.Util\Semmle.Util.csproj" />
<ProjectReference Include="..\..\..\csharp\autobuilder\Semmle.Autobuild.Shared\Semmle.Autobuild.Shared.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,17 @@
class Expr extends @expr {
string toString() { none() }
}
class Location extends @location_expr {
string toString() { none() }
}
predicate isExprWithNewBuiltin(Expr expr) {
exists(int kind | exprs(expr, kind, _) | 385 <= kind and kind <= 388)
}
from Expr expr, int kind, int kind_new, Location location
where
exprs(expr, kind, location) and
if isExprWithNewBuiltin(expr) then kind_new = 1 else kind_new = kind
select expr, kind_new, location

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,14 @@
class Expr extends @expr {
string toString() { none() }
}
class Type extends @type {
string toString() { none() }
}
from Expr expr, Type type, int kind
where
sizeof_bind(expr, type) and
exprs(expr, kind, _) and
(kind = 93 or kind = 94)
select expr, type

View File

@@ -0,0 +1,4 @@
description: Add new builtin operations
compatibility: partial
exprs.rel: run exprs.qlo
sizeof_bind.rel: run sizeof_bind.qlo

View File

@@ -0,0 +1,32 @@
/*
* Approach: replace conversion expressions of kind 389 (= @c11_generic) by
* conversion expressions of kind 12 (= @parexpr), i.e., a `ParenthesisExpr`,
* and drop the relation which its child expressions, which are just syntactic
* sugar. Parenthesis expressions are equally benign as C11 _Generic expressions,
* and behave similarly in the context of the IR.
*/
class Expr extends @expr {
string toString() { none() }
}
class Location extends @location {
string toString() { none() }
}
class ExprParent extends @exprparent {
string toString() { none() }
}
query predicate new_exprs(Expr expr, int new_kind, Location loc) {
exists(int kind | exprs(expr, kind, loc) | if kind = 389 then new_kind = 12 else new_kind = kind)
}
query predicate new_exprparents(Expr expr, int index, ExprParent expr_parent) {
exprparents(expr, index, expr_parent) and
(
not expr_parent instanceof @expr
or
exists(int kind | exprs(expr_parent.(Expr), kind, _) | kind != 389)
)
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: Expose C11 _Generics
compatibility: partial
exprs.rel: run downgrades.ql new_exprs
exprparents.rel: run downgrades.ql new_exprparents

View File

@@ -1,4 +1,4 @@
description: Revert support for repeated initializers, which are allowed in C with designated initializers.
compatibility: full
aggregate_field_init.rel: reorder aggregate_field_init.rel (int aggregate, int initializer, int field, int position) aggregate initializer field
aggregate_array_init.rel: reorder aggregate_array_init.rel (int aggregate, int initializer, int element_index, int position) aggregate initializer element_index
aggregate_field_init.rel: reorder aggregate_field_init.rel (@aggregateliteral aggregate, @expr initializer, @membervariable field, int position) aggregate initializer field
aggregate_array_init.rel: reorder aggregate_array_init.rel (@aggregateliteral aggregate, @expr initializer, int element_index, int position) aggregate initializer element_index

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,4 @@
description: Revert support for using-enum declarations.
compatibility: partial
usings.rel: run usings.qlo
using_container.rel: run using_container.qlo

View File

@@ -0,0 +1,14 @@
class UsingEntry extends @using {
string toString() { none() }
}
class Element extends @element {
string toString() { none() }
}
from UsingEntry u, Element parent, int kind
where
usings(u, _, _, kind) and
using_container(parent, u) and
kind != 3
select parent, u

View File

@@ -0,0 +1,17 @@
class UsingEntry extends @using {
string toString() { none() }
}
class Element extends @element {
string toString() { none() }
}
class Location extends @location_default {
string toString() { none() }
}
from UsingEntry u, Element target, Location loc, int kind
where
usings(u, target, loc, kind) and
kind != 3
select u, target, loc

View File

@@ -0,0 +1,17 @@
class Expr extends @expr {
string toString() { none() }
}
class Location extends @location_expr {
string toString() { none() }
}
predicate isExprWithNewBuiltin(Expr expr) {
exists(int kind | exprs(expr, kind, _) | 364 <= kind and kind <= 384)
}
from Expr expr, int kind, int kind_new, Location location
where
exprs(expr, kind, location) and
if isExprWithNewBuiltin(expr) then kind_new = 1 else kind_new = kind
select expr, kind_new, location

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: Add new builtin operations
compatibility: partial
exprs.rel: run exprs.qlo

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
description: description: Support explicit(bool) specifiers
compatibility: full
explicit_specifier_exprs.rel: delete

View File

@@ -0,0 +1,15 @@
class Expr extends @expr {
string toString() { none() }
}
class Location extends @location_expr {
string toString() { none() }
}
predicate isExprRequires(Expr expr) { exists(int kind | exprs(expr, kind, _) | kind = 390) }
from Expr expr, int kind, int kind_new, Location location
where
exprs(expr, kind, location) and
if isExprRequires(expr) then kind_new = 1 else kind_new = kind
select expr, kind_new, location

Some files were not shown because too many files have changed in this diff Show More