Ian Lynagh
c354b544e4
Java: Add expanded arguments
2023-03-22 15:44:07 +00:00
Chris Smowton
288e9206c7
Merge remote-tracking branch 'origin/rc/3.9' into smowton/admin/merge-rc39-into-main
2023-03-21 14:36:43 +00:00
Chris Smowton
834511bd78
Merge pull request #12617 from github/fc-3.9-mergeback
...
Mergeback from rc/3.9 to main for small docs change
2023-03-21 14:36:20 +00:00
Edward Minnix III
b102ddac30
Merge pull request #12542 from egregius313/egregius313/refactor-more-queries-to-dataflow-module-api
...
Java: Refactor more queries to the new DataFlow module API (part 2)
2023-03-21 10:35:29 -04:00
Chris Smowton
218ed8ad37
Merge pull request #12614 from smowton/smowton/admin/backport-integration-test-fix
...
Java: Backport https://github.com/github/codeql/pull/12609 to rc/3.9
2023-03-21 14:30:17 +00:00
Felicity Chapman
92a31608a2
Merge branch 'rc/3.9' into fc-3.9-mergeback
2023-03-21 14:16:51 +00:00
Felicity Chapman
5c607b81fd
Merge pull request #12613 from github/fix-missing-docs-link
...
Minor update: Add new article to manual TOC
2023-03-21 14:14:12 +00:00
Jeroen Ketema
574b2201cb
Merge pull request #12608 from jketema/configsig
...
C++: Use `DataFlow::ConfigSig` in more places
2023-03-21 14:37:32 +01:00
Tom Hvitved
5260d9815a
Merge pull request #12582 from hvitved/ruby/element-of-type-content-set
...
Ruby: Introduce `ContentSet::isElementOfType[OrUnknown]/1`
2023-03-21 13:41:15 +01:00
Rasmus Wriedt Larsen
caa25f78d9
Merge pull request #12607 from RasmusWL/fix-dataflow-consistency-output
...
Python: Accept dataflow-consistency test changes
2023-03-21 13:20:29 +01:00
Chris Smowton
a865f1666d
maven-httpo-repository: add Maven wrapper
...
Maven 3.9.1 changes the format of the error message this test is looking for (though it still matches the target regex). Use the Maven wrapper to avoid such sensitivity to the precise version present in the environment.
2023-03-21 12:19:52 +00:00
Mathias Vorreiter Pedersen
98dc73c6dd
Merge pull request #12611 from MathiasVP/buffer-access-should-be-evaluated
...
C++: Exclude unevaluated accesses in `BufferAccess`
2023-03-21 12:10:37 +00:00
Asger F
6d665da4dc
Merge pull request #12570 from github/post-release-prep/codeql-cli-2.12.5
...
Post-release preparation for codeql-cli-2.12.5
2023-03-21 13:06:25 +01:00
Felicity Chapman
719708cb89
Fix typo
2023-03-21 12:00:55 +00:00
Felicity Chapman
da96ed1ff9
A few tweaks
2023-03-21 12:00:55 +00:00
Felicity Chapman
41becfe2ba
Add new article to manual TOC
2023-03-21 12:00:55 +00:00
Chris Smowton
219031f62b
Merge pull request #12609 from smowton/smowton/admin/maven-wrapper-http-test
...
Java: maven-http-repository test: add Maven wrapper
2023-03-21 11:14:19 +00:00
Mathias Vorreiter Pedersen
2ce0d2b7ee
C++: Accept more test changes.
2023-03-21 10:07:23 +00:00
Mathias Vorreiter Pedersen
eab43973b7
C++: Add change note.
2023-03-21 10:00:11 +00:00
yoff
4e6b93e239
Merge branch 'main' into fix-dataflow-consistency-output
2023-03-21 10:57:36 +01:00
Mathias Vorreiter Pedersen
40cc2e7891
C++: Also exclude unevaluated buffers in 'OverflowStatic'.
2023-03-21 09:53:39 +00:00
Mathias Vorreiter Pedersen
4d2a1ea149
C++: Also add a FP test to 'OverflowStatic'.
2023-03-21 09:50:47 +00:00
Mathias Vorreiter Pedersen
8623d8eb8e
C++: Exclude unevaluated expressions from BufferAccess.
2023-03-21 09:48:09 +00:00
Mathias Vorreiter Pedersen
b37bb660c5
C++: Add FP caused by a BufferAccess inside an unevalauted context.
2023-03-21 09:37:18 +00:00
Chris Smowton
2876b4aa5d
maven-httpo-repository: add Maven wrapper
...
Maven 3.9.1 changes the format of the error message this test is looking for (though it still matches the target regex). Use the Maven wrapper to avoid such sensitivity to the precise version present in the environment.
2023-03-21 09:25:33 +00:00
Tony Torralba
956f991b8d
Merge pull request #12603 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-21 10:11:51 +01:00
Rasmus Wriedt Larsen
346086524b
Python: Accept dataflow-consistency test changes
...
To PRs must have had a conflict when merged separately
2023-03-21 10:09:01 +01:00
Tony Torralba
1f991807d4
Merge pull request #12366 from github/java/update-mad-decls-after-triage-2023-03-02T12-08-59
...
Java: Update MaD Declarations after Triage
2023-03-21 09:40:03 +01:00
Jeroen Ketema
2fdfa0808a
C++: Refactor experimental queries to use DataFlow::ConfigSig
2023-03-21 09:16:59 +01:00
Jeroen Ketema
1f75c3836e
C++: Refactor dataflow examples to use DataFlow::ConfigSig
2023-03-21 09:16:58 +01:00
Jeroen Ketema
4e752369c5
Merge pull request #12598 from jketema/default-config
...
C++: Adjust the internals of default taint tracking to use `DataFlow::ConfigSig`
2023-03-21 08:59:27 +01:00
Erik Krogh Kristensen
cc46d7fef3
Merge pull request #12605 from github/dependabot/cargo/ql/serde-1.0.158
...
Bump serde from 1.0.157 to 1.0.158 in /ql
2023-03-21 08:20:13 +01:00
dependabot[bot]
7420e90a46
Bump serde from 1.0.157 to 1.0.158 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.157 to 1.0.158.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.157...v1.0.158 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-21 04:06:18 +00:00
github-actions[bot]
6598cc44ee
Add changed framework coverage reports
2023-03-21 00:15:33 +00:00
Jeroen Ketema
7cdd2b69c9
C++: Adjust the internals of default taint tracking to use DataFlow::ConfigSig
2023-03-20 18:58:16 +01:00
AlexDenisov
43b3f379e9
Merge pull request #12596 from github/redsun82/swift-do-not-print-labels-in-function-types
...
Swift: remove labels from function type printing
2023-03-20 18:01:02 +01:00
Ed Minnix
b64ca5dcaa
Remove "private" marker from configurations
2023-03-20 12:26:54 -04:00
Ed Minnix
c7816ea180
Conform Config modules to naming convention
2023-03-20 12:26:54 -04:00
Ed Minnix
8856730843
Refactor CWE-614/InsecureCookie
2023-03-20 12:26:54 -04:00
Ed Minnix
de6959c688
Refactor CWE-209/StackTraceExposure
2023-03-20 12:26:54 -04:00
Ed Minnix
73a17536f5
Refactor CWE-129 queries
2023-03-20 12:26:54 -04:00
Ed Minnix
ae57807359
Refactor CWE-089 Sql queries
2023-03-20 12:26:54 -04:00
Ed Minnix
e6e974a752
Refactor CWE-079/SqlConcatenated
2023-03-20 12:26:54 -04:00
Ed Minnix
c1ee2dce61
Refactor CWE-078/ExecTaintedLocal
2023-03-20 12:26:54 -04:00
Edward Minnix III
ac58299d9e
Merge pull request #12541 from egregius313/egregius313/refactor-queries-to-new-dataflow-api
...
Java: Refactor more queries to the new DataFlow module API
2023-03-20 12:24:26 -04:00
Tony Torralba
1258812428
Fix Argument[this]
2023-03-20 17:13:44 +01:00
Tony Torralba
f685b93379
Add change note
2023-03-20 17:09:48 +01:00
Tony Torralba
a66b7ed54a
Fix incorrect model, add missing model
2023-03-20 17:09:48 +01:00
Stephan Brandauer
0cab45e4b9
update old data to current standard (stream creation arg is a sink)
2023-03-20 17:09:48 +01:00
Stephan Brandauer
8802fbdfe7
Update java/ql/lib/ext/java.nio.file.model.yml
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-20 17:09:48 +01:00
Stephan Brandauer
bc227179c7
Update java/ql/lib/ext/org.geogebra.web.full.main.model.yml
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-20 17:09:48 +01:00
Tony Torralba
bc99a44f3a
Apply suggestions from code review
2023-03-20 17:09:48 +01:00
Stephan Brandauer
12bb0d98c0
move toFile back to its original location
2023-03-20 17:09:48 +01:00
Stephan Brandauer
4761c3a328
remove duplicates
2023-03-20 17:09:48 +01:00
Stephan Brandauer
bd21dc9460
remove nonexploitable sinks
2023-03-20 17:09:48 +01:00
Stephan Brandauer
b7ce0c2d96
fix: taint flow of ctor goes to Argument[-1], instead of ReturnValue
2023-03-20 17:09:48 +01:00
Stephan Brandauer
2236db43ec
sort the changed MaD declarations
2023-03-20 17:09:46 +01:00
Stephan Brandauer
74e261738f
remove predicate
2023-03-20 17:06:40 +01:00
Stephan Brandauer
ec1762e015
Update MaD Declarations after Triage
2023-03-20 17:06:37 +01:00
Tony Torralba
fa60fa0ae2
Merge pull request #12572 from github/java/update-mad-decls-after-triage-2023-03-17T15-01-35
...
Java: Update MaD Declarations after Triage
2023-03-20 17:02:27 +01:00
Paolo Tranquilli
aaea976cf2
Swift: remove labels from function type printing
2023-03-20 16:43:34 +01:00
Anders Schack-Mulligen
3876e4335f
Merge pull request #12420 from kaspersv/kaspersv/dataflow-remove-alias-preds
...
Dataflow: Remove revFlowAlias and revFlowApAlias predicates
2023-03-20 16:30:15 +01:00
Alex Ford
be163cfc38
Merge pull request #12311 from maikypedia/maikypedia/ruby-ssti
...
Ruby: Add Server Side Template Injection query
2023-03-20 15:26:27 +00:00
Michael Nebel
17b3383043
Merge pull request #12556 from michaelnebel/java/argumentthis
...
Java: Argument[-1] -> Argument[this]
2023-03-20 15:59:59 +01:00
Erik Krogh Kristensen
a9d40d39d9
Merge pull request #12550 from erik-krogh/useNumberUtil
...
Java/Python: use Number.qll to parse hex numbers in regex parsing
2023-03-20 15:50:31 +01:00
Erik Krogh Kristensen
0f813ce2e8
Merge pull request #12543 from erik-krogh/reg-perf
...
ReDoS: restrict the edges considered in polynomial-redos for complex regular expressions
2023-03-20 15:48:35 +01:00
Jeroen Ketema
c56c1cbb62
Merge pull request #12588 from jketema/boost-config
...
C++: Refactor `BoostorgAsio` to use `DataFlow::ConfigSig`
2023-03-20 15:31:35 +01:00
yoff
6639e5a97b
Merge pull request #12590 from yoff/python/patch-uninitialized-local
...
Python: Patch uninitialized local query
2023-03-20 15:11:14 +01:00
yoff
17c9ba9872
Merge pull request #12464 from yoff/python/add-test-captured-in-collection
...
python: add test for captured variables in lists
2023-03-20 15:01:58 +01:00
Rasmus Lerchedahl Petersen
ed15cce31f
python: add change note
2023-03-20 14:22:58 +01:00
Chuan-kai Lin
8c738b77a3
Merge pull request #12574 from cklin/document-upgrade-query-predicates
...
Document upgrade query predicates
2023-03-20 06:16:34 -07:00
Rasmus Lerchedahl Petersen
b042c60ca3
python: remove outdated comment
2023-03-20 14:13:48 +01:00
Stephan Brandauer
39726a54ec
fix suggestion
2023-03-20 14:12:46 +01:00
Rasmus Lerchedahl Petersen
72e97918e9
python: format
2023-03-20 14:11:10 +01:00
Jeroen Ketema
bbe95367d6
C++: Simplify SslContextCallMake
2023-03-20 14:00:03 +01:00
Geoffrey White
a19579d21b
Merge pull request #12587 from geoffw0/finishbitwise
...
Swift: Remove special case for bitwise operations
2023-03-20 12:59:31 +00:00
Jeroen Ketema
2968c12e12
Merge pull request #12583 from jketema/move-print
...
C++: Move SsaConsistency to its own file
2023-03-20 13:41:29 +01:00
Jeroen Ketema
9997326804
C++: Refactor BoostorgAsio to use DataFlow::ConfigSig
2023-03-20 13:37:18 +01:00
Rasmus Lerchedahl Petersen
5f438e433d
python: exclude nonlocals from query
2023-03-20 13:34:39 +01:00
Kasper Svendsen
1d2f1b6ae6
Address comments
2023-03-20 13:34:14 +01:00
Ed Minnix
83b0d073f0
Fix typo in QLDoc
2023-03-20 08:11:01 -04:00
Ed Minnix
1c661fd3ac
Add missing QLDocs
2023-03-20 08:10:07 -04:00
Kasper Svendsen
e0e3a1d621
Dataflow: remove revFlowApAlias trick
2023-03-20 13:04:13 +01:00
Rasmus Lerchedahl Petersen
9b7a20f4ad
python: add example showing FP
2023-03-20 13:03:26 +01:00
Ed Minnix
84fd5f7ee0
Fix naming of ZipSlip configuration
2023-03-20 07:55:23 -04:00
Ed Minnix
60a4a79537
Make the Config module of public Flow modules public
...
This is to make things easier for the CodeML/ATM team once these
configurations are moved from `src/` to `lib/`.
2023-03-20 07:47:55 -04:00
Edward Minnix III
9aa83d78e1
Merge pull request #12575 from egregius313/egregius313/ql/dataflow-naming-convention-check
...
QL: add a check to enforce naming convention for new `DataFlow::ConfigSig` modules
2023-03-20 07:26:01 -04:00
Edward Minnix III
1c06afffe5
Merge pull request #12578 from egregius313/egregius313/conform-dataflow-configs-to-config-naming-convention
...
Conform dataflow config modules to follow `*Config` naming convention
2023-03-20 07:25:10 -04:00
Geoffrey White
166902bfa0
Swift: Remove the special case for bitwise operations in the XXE query (but upgrade that bit of the query to taint flow as appears to be intended).
2023-03-20 11:18:17 +00:00
erik-krogh
ef498020c2
PY: dont depend on codeql/util in src/ now that its added to lib/
2023-03-20 12:11:06 +01:00
Geoffrey White
1f8a165611
Swift: Add a couple of extra test cases.
2023-03-20 10:58:58 +00:00
Paolo Tranquilli
029d924e6d
Merge pull request #12580 from github/redsun82/swift-more-precise-successfully-extracted-query
...
Swift: make `SuccessfullyExtractedFiles.ql` more precise
2023-03-20 11:05:54 +01:00
Erik Krogh Kristensen
2270d6fa61
fix typo
...
Co-authored-by: Taus <tausbn@github.com >
2023-03-20 10:56:30 +01:00
Alex Ford
4b1171ce64
Merge branch 'main' into maikypedia/ruby-ssti
2023-03-20 09:55:53 +00:00
Tony Torralba
27fc14236f
Add change note
2023-03-20 10:48:56 +01:00
Tony Torralba
bff8bbfe33
Apply suggestions from code review
2023-03-20 10:43:46 +01:00
Jeroen Ketema
91b069603d
C++: Move SsaConsistency to its own file
...
This removes the import of the `Print` library in places that are used in
production and not just debugging.
2023-03-20 10:31:33 +01:00
Michael Nebel
01ade878ea
Java: Update test comments to use this instead of -1.
2023-03-20 10:14:20 +01:00
Michael Nebel
ba711ab849
Java: Update expected test-output (different sorting).
2023-03-20 10:14:20 +01:00
Michael Nebel
ae12510d8d
Java: Add change-note.
2023-03-20 10:14:20 +01:00
Michael Nebel
9039a468cb
Java: Update models that uses -1 in a range.
2023-03-20 10:14:20 +01:00
Michael Nebel
e86f1e4961
Java: Replace Argument[-1] with Argument[this].
2023-03-20 10:14:20 +01:00
Tom Hvitved
a9ef3f95a2
Ruby: Introduce ContentSet::isElementOfType[OrUnknown]/1
2023-03-20 10:03:15 +01:00
Michael Nebel
e78af3e66c
C#: Introduce Argument and Parameter index validation for models.
2023-03-20 09:38:40 +01:00
Michael Nebel
37484a415f
Sync files.
2023-03-20 09:38:40 +01:00
Michael Nebel
0ec56203f9
Java: Introduce index validation.
2023-03-20 09:38:40 +01:00
Michael Nebel
9a3c2d3fbe
Java: Update summary parsing to use this instead of -1 and adjust the model generator.
2023-03-20 09:38:40 +01:00
Michael Nebel
abd9f673e1
Java: Update the java internal documentation for models.
2023-03-20 09:38:39 +01:00
Michael Nebel
352bb5a29a
C#: Update internal documentation for this parameter in models.
2023-03-20 09:38:39 +01:00
Tony Torralba
8457d45edc
Merge pull request #12577 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-20 09:26:18 +01:00
Kasper Svendsen
9630feb5e4
Dataflow: Remove revFlowAlias trick
2023-03-20 09:04:35 +01:00
Erik Krogh Kristensen
540542ceb5
Merge pull request #12518 from erik-krogh/more-express-sources
...
JS: recognize more express URL related sources
2023-03-20 08:49:11 +01:00
Erik Krogh Kristensen
af98ceb3c3
Merge pull request #11478 from erik-krogh/more-shell-taint
...
Rb: more taint-steps for shell-command-construction
2023-03-20 08:41:22 +01:00
Paolo Tranquilli
a131966066
Swift: make SuccessfullyExtractedFiles.ql more precise
...
This is done by adding a `isSuccessfullyExtracted` predicate that is
filled for primary files at the very end of the extractor invocation if
the frontend was performed successfully. If for example the extractor
crashes this will therefore not be filled.
The upgrade script is written so that `SuccessfullyExtractedFiles.ql`
on an upgraded script will give exactly the same results as before it.
2023-03-20 08:34:34 +01:00
Erik Krogh Kristensen
5f14af5db0
Merge pull request #12579 from github/dependabot/cargo/ql/serde-1.0.157
...
Bump serde from 1.0.156 to 1.0.157 in /ql
2023-03-20 08:02:23 +01:00
dependabot[bot]
9b3b6632fc
Bump serde from 1.0.156 to 1.0.157 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.156 to 1.0.157.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.156...v1.0.157 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-20 04:09:27 +00:00
github-actions[bot]
0d36a5a733
Add changed framework coverage reports
2023-03-20 00:17:11 +00:00
Ed Minnix
c852d3a541
Rename configurations from "Conf" to "Config"
2023-03-19 17:55:53 -04:00
Ed Minnix
2d5944fb0e
Refactor DataFlow configurations to use "Config" naming convention
2023-03-19 17:44:07 -04:00
Ed Minnix
d743b31ab6
Fix typo in QLdoc
2023-03-19 13:45:46 -04:00
Mathias Vorreiter Pedersen
b0f803759c
Merge pull request #11928 from rdmarsh2/rdmarsh2/stageify-range-analysis
2023-03-18 12:42:49 +00:00
Ed Minnix
00267637eb
Implementation of check for DataFlow naming convention
2023-03-17 15:47:15 -04:00
Ed Minnix
7eb3fd2ff7
Conform queries to Config naming convention
2023-03-17 15:17:18 -04:00
Ed Minnix
d317de14c9
XXE Configuration Deprecation messages
2023-03-17 15:17:18 -04:00
Ed Minnix
310af99843
Refactor Security.CWE.CWE-807.TaintedPermissionsCheck
2023-03-17 15:17:18 -04:00
Ed Minnix
a9561a97c3
Refactor Security.CWE.CWE-643.XPathInjection
2023-03-17 15:17:18 -04:00
Ed Minnix
271d50ba99
Refactor Security.CWE.CWE-611 Xxe queries
2023-03-17 15:17:18 -04:00
Ed Minnix
80012b190d
Refactor Security.CWE.CWE-601.UrlRedirect
2023-03-17 15:17:18 -04:00
Ed Minnix
481d1f9b15
Refactor Security.CWE.CWE-297.UnsafeHostnameVerification
2023-03-17 15:17:18 -04:00
Ed Minnix
7bd7ecd9e6
Refactor Security.CWE.CWE-190 Arithmetic queries
2023-03-17 15:17:18 -04:00
Ed Minnix
4a202b430f
Security.CWE.CWE-200.AndroidWebViewSettingsAllowsContentAccess
2023-03-17 15:17:18 -04:00
Ed Minnix
d34dbbc96f
Refactor Security.CWE.CWE-134.ExternallyControlledFormatString
2023-03-17 15:17:18 -04:00
Ed Minnix
ac223ea57f
Refactor Security.CWE.CWE-094.InsecureBeanValidation
2023-03-17 15:17:18 -04:00
Ed Minnix
7aecefc4aa
Refactor Security.CWE.CWE-090.LdapInjectionLib
2023-03-17 15:17:18 -04:00
Ed Minnix
07fdcf2d04
Refactor Security.CWE.CWE-022.ZipSlip
2023-03-17 15:17:18 -04:00
Ed Minnix
e60e1a2ba9
Refactor Security.CWE.CWE-022.TaintedPathLocal
2023-03-17 15:17:18 -04:00
Chuan-kai Lin
4dd7dbc73b
Document upgrade query predicates
2023-03-17 11:06:39 -07:00
Stephan Brandauer
dce81cf0ae
Merge pull request #12463 from github/java/update-mad-decls-after-triage-2023-03-09T10-41-58
...
Java: Add MaD declarations after triage
2023-03-17 17:02:42 +01:00
Robert Marsh
1e8404c954
C++: Remove fixed TODO
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-03-17 11:27:13 -04:00
Stephan Brandauer
8f565f5023
Update MaD Declarations after Triage
2023-03-17 16:01:36 +01:00
Robert Marsh
726f99975e
C++: remove direct IR dependency in range analysis
2023-03-17 10:50:02 -04:00
github-actions[bot]
981e171525
Post-release preparation for codeql-cli-2.12.5
2023-03-17 13:27:00 +00:00
AlexDenisov
208ae192e4
Merge pull request #12567 from github/alexdenisov/swift-extracted-files
...
Swift: add a query showing successfully extracted files
2023-03-17 13:50:42 +01:00
Paolo Tranquilli
86b61d712c
Merge pull request #12565 from github/redsun82/swift-remove-labels-from-function-type
...
Swift: remove parameter labels from function types
2023-03-17 13:49:37 +01:00
Asger F
d537f86324
Merge pull request #12555 from asgerf/js/block-modes
...
JS: Include weak block modes as sink in weak crypto algorithm
2023-03-17 13:23:23 +01:00
Henry Mercer
9d05d94f49
Merge pull request #12568 from github/rc/3.9
...
Merge `rc/3.9` back to `main`
2023-03-17 12:14:31 +00:00
Alex Ford
e84b08409c
Ruby: test fixes
2023-03-17 12:08:38 +00:00
Erik Krogh Kristensen
ac85b6e74f
Merge pull request #12011 from erik-krogh/ts50
...
JS: Add support for TypeScript 5.0
2023-03-17 13:03:47 +01:00
Chris Smowton
0cadf4d94a
Merge pull request #12558 from smowton/smowton/fix/flow-to-external-api-write-only-methods
...
Go: exclude `net/http.Header.Set` and `.Del` from `go/untrusted-data-to-external-api`
2023-03-17 11:52:48 +00:00
Alex Ford
c12a85b07b
Ruby: autoformat
2023-03-17 11:49:10 +00:00
Ian Lynagh
b8fb4b9b0f
Merge pull request #12521 from igfoo/igfoo/printast_sig
...
Java: PrintAst: Improve the ranking of callables
2023-03-17 11:43:40 +00:00
Alex Ford
76ed56d2b6
Ruby: typo
2023-03-17 11:40:59 +00:00
Alex Ford
ee6288173f
Ruby: remove extra opening p tag
2023-03-17 11:38:49 +00:00
Alex Ford
60f313863a
Merge branch 'main' into maikypedia/ruby-ssti
2023-03-17 11:31:49 +00:00
Henry Mercer
d824695da2
Merge pull request #12561 from github/henrymercer/cli-prepare-diagnostics-rename
...
JS: Update for renamed `com.semmle.util.diagnostics` package
2023-03-17 10:31:27 +00:00
Alex Denisov
7c15527300
Swift: add a query showing successfully extracted files
2023-03-17 11:27:03 +01:00
Asger F
940e492766
Merge pull request #12551 from github/release-prep/2.12.5
...
Release preparation for version 2.12.5
2023-03-17 11:23:25 +01:00
Mathias Vorreiter Pedersen
1aecc64327
C++: Autoformat.
2023-03-17 09:37:46 +00:00
Michael Nebel
282b5d4836
Merge pull request #12538 from michaelnebel/emptypredworkaround
...
DataFlow: Workaround empty predicate usage in IPA branch.
2023-03-17 10:29:19 +01:00
Paolo Tranquilli
f2dff092dc
Swift: remove parameter labels from function types
...
As discussed [in this accepted proposal][1], parameter labels do not
take part any more in making up a function type, so we need to not
extract them any more to avoid DB inconsistencies.
These were unused in the library, which makes the upgrade and downgrade
scripts have full compatibility.
[1]: 9c53790a13/proposals/0111-remove-arg-label-type-significance.md
2023-03-17 10:22:02 +01:00
Tom Hvitved
d2647850d2
Merge pull request #12564 from hvitved/ruby/remove-redundant-super-prefixes
...
Ruby: Remove some redundant `super` type qualifiers
2023-03-17 10:13:45 +01:00
Tom Hvitved
d146d816a9
Ruby: Fix semantic merge conflict
2023-03-17 09:59:44 +01:00
Tom Hvitved
e69e90db4a
Ruby: Remove some redundant super type qualifiers
2023-03-17 09:32:13 +01:00
Tom Hvitved
75746cbacc
Merge pull request #12549 from hvitved/ruby/ssa-write-access
...
Ruby: `Ssa::WriteDefinition::getWriteAccess` should return a CFG node
2023-03-17 09:31:14 +01:00
Tom Hvitved
ee01e9ab35
Merge pull request #12554 from hvitved/ruby/clear-text-logging-hashes
...
Ruby: Rely on built-in hash-flow in clear text storage query
2023-03-17 09:21:11 +01:00
Harry Maclean
2c63dbad67
Merge pull request #11954 from hmac/sinatra
...
Ruby: Model Sinatra
2023-03-17 10:46:52 +13:00
erik-krogh
f1094cd3d6
bump to stable release
2023-03-16 22:38:54 +01:00
erik-krogh
f3c7aed1f9
bump to RC
2023-03-16 22:37:58 +01:00
erik-krogh
e00c41c6e2
add change-note and bump version
2023-03-16 22:37:56 +01:00
erik-krogh
a63739915d
add test confirming support for const type parameters
2023-03-16 22:37:35 +01:00
erik-krogh
2c1c41d8a3
add test confirming end-to-end support for well-typed decorators with the new TS 5.0 type ClassMethodDecoratorContext
2023-03-16 22:37:35 +01:00
erik-krogh
d47659b48e
upgrade to TypeScript 5.0 beta, and unbreak things that broke
2023-03-16 22:37:35 +01:00
Maiky
37e42bb05b
Missing markdown extension
2023-03-16 20:45:35 +01:00
Mathias Vorreiter Pedersen
ebab6ecc30
Merge pull request #12559 from MathiasVP/test9-range-check
2023-03-16 19:18:38 +00:00
Henry Mercer
74cc1a42d0
JS: Update for renamed com.semmle.util.diagnostics package
2023-03-16 18:19:10 +00:00
Geoffrey White
880f948763
Merge pull request #12560 from geoffw0/testcustominterp
...
Swift: Add taint test for custom string interpolation.
2023-03-16 17:44:37 +00:00
Mathias Vorreiter Pedersen
406d02253d
C++: Add 'range(x)' call demonstrating missing bounds.
2023-03-16 17:08:53 +00:00
Geoffrey White
3a04e42ae0
Swift: Add taint test for string interpolation.
2023-03-16 17:04:46 +00:00
Chris Smowton
3e9924fcd2
Add change note
2023-03-16 15:35:00 +00:00
Chris Smowton
647bd44666
Go: exclude net/http.Header.Set and .Del from go/untrusted-data-to-external-api
...
These functions (and doubtless many others) are write-only with respect to their receiver argument, so it doesn't really make sense to flag externally-controlled data flowing there.
2023-03-16 15:31:35 +00:00
Ian Lynagh
f9bb0df6a2
Kotlin: Update expected PrintAst output
2023-03-16 15:20:07 +00:00
Ian Lynagh
13c2ef8c20
Java: PrintAst: Improve the ranking or callables
...
We now look not only at how many parameters each callable has, but what
its full signature is. This allows us to give a consistent order to
Test(Throwable) { ... }
Test(String) { ... }
2023-03-16 15:20:07 +00:00
Maiky
a229f7a832
Solve merge conflict and add a change note
2023-03-16 16:15:02 +01:00
Tom Hvitved
f35fb13723
Add change note
2023-03-16 15:18:47 +01:00
Tom Hvitved
9d3863eccc
Ruby: Rely on built-in hash-flow in clear text storage query
2023-03-16 14:55:06 +01:00
Asger F
bce1f29a7e
JS: Add change note
2023-03-16 14:55:00 +01:00
Asger F
86a06bde72
JS: Flag crypto operations with weak block mode
2023-03-16 14:52:52 +01:00
Asger F
e907d685f4
JS: Add crypto test with AES-ECB
2023-03-16 14:52:18 +01:00
Tom Hvitved
ae10e6e08f
Ruby: Add a test that shows FP/FN for clear text logging query
2023-03-16 14:38:45 +01:00
Jeroen Ketema
66b03dbd1d
Apply suggestions from code review
2023-03-16 14:29:16 +01:00
Jeroen Ketema
e7079b35bc
Apply suggestions from code review
2023-03-16 14:28:17 +01:00
erik-krogh
880632f536
use Number.qll to parse hex numbers in regex parsing for Python/Java
2023-03-16 14:25:53 +01:00
Michael Nebel
3fea9e4d0b
Sync files.
2023-03-16 14:12:29 +01:00
Michael Nebel
2e86bbd6cd
Java: Introduce helper predicate to avoid empty predicate in IPA branch.
2023-03-16 14:11:53 +01:00
github-actions[bot]
fe4d27e8cc
Release preparation for version 2.12.5
2023-03-16 12:58:50 +00:00
Michael Nebel
a9e5b34ad6
Merge pull request #12200 from michaelnebel/csharp/viablestatic
...
C#: Support for virtual dispatch for operators.
2023-03-16 13:36:00 +01:00
erik-krogh
f718d78a9a
avoid redundant sources
2023-03-16 13:34:01 +01:00
Mathias Vorreiter Pedersen
d02a50a504
Merge pull request #10817 from github/mathiasvp/replace-ast-with-ir-use-usedataflow
...
C++: Replace AST with IR use-use dataflow
2023-03-16 12:31:01 +00:00
erik-krogh
b208988675
Py: add test for problematic regex
2023-03-16 12:21:00 +01:00
erik-krogh
54ec047433
ReDoS: put an artificial limitation on the analysis in polynomial-redos for large regular expressions
2023-03-16 12:20:53 +01:00
Tom Hvitved
1d0b3d4112
Ruby: Ssa::WriteDefinition::getWriteAccess should return a CFG node
2023-03-16 11:28:24 +01:00
Chris Smowton
3ff60e076c
Merge pull request #12548 from github/dependabot/github_actions/actions/setup-go-4
...
Bump actions/setup-go from 3 to 4
2023-03-16 10:21:51 +00:00
erik-krogh
8bc8342c7c
Py:don't parse regular expressions in system-code
2023-03-16 10:41:30 +01:00
Erik Krogh Kristensen
be8f04a997
Merge pull request #12525 from github/dependabot/cargo/ql/serde-1.0.156
...
Bump serde from 1.0.155 to 1.0.156 in /ql
2023-03-16 10:36:11 +01:00
Erik Krogh Kristensen
48f889b055
Merge pull request #12496 from github/dependabot/cargo/ql/chrono-0.4.24
...
Bump chrono from 0.4.23 to 0.4.24 in /ql
2023-03-16 10:35:59 +01:00
Jeroen Ketema
8aa9207281
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-16 10:28:44 +01:00
Tom Hvitved
a13b6ed230
Merge pull request #12536 from hvitved/dataflow/call-enclosing-callable-consistency-check
...
Data flow: Add consistency check for `DataFlowCall::getEnclosingCallable`
2023-03-16 10:19:42 +01:00
Rasmus Wriedt Larsen
b3a49ab143
Merge pull request #12467 from RasmusWL/kwargs-parameter-position-fixup
...
Python/Ruby: Use new parameter position for synthetic hash-splat instead
2023-03-16 09:52:46 +01:00
Mathias Vorreiter Pedersen
eec1e9ffcd
C++: Fix change note.
2023-03-16 08:01:07 +00:00
Mathias Vorreiter Pedersen
7585a3862f
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-16 07:57:20 +00:00
Mathias Vorreiter Pedersen
58602927bd
C++: Add change note.
2023-03-16 07:57:03 +00:00
Tom Hvitved
404ead8a18
Python: Update expected test output
2023-03-16 08:40:53 +01:00
Tom Hvitved
b3ef1e9372
C++: Update expected test output
2023-03-16 08:40:53 +01:00
Tom Hvitved
64f13fa08f
C#: Exclude call inside static field initializers from consistency check
2023-03-16 08:40:53 +01:00
Tom Hvitved
9f798902bd
Data flow: Add consistency check for DataFlowCall::getEnclosingCallable
2023-03-16 08:40:53 +01:00
dependabot[bot]
e999d33332
Bump actions/setup-go from 3 to 4
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 3 to 4.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-16 04:00:39 +00:00
Henry Mercer
720eed398b
Merge pull request #12523 from github/henrymercer/polish-diagnostics
...
Polish diagnostic messages
2023-03-15 15:06:52 +00:00
Robert Marsh
45fdf69461
C++: add SemLocation so SemBound is copy-shareable
2023-03-15 10:38:47 -04:00
Mathias Vorreiter Pedersen
3376d2aa12
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-15 14:12:01 +00:00
Mathias Vorreiter Pedersen
dffde8f8b8
Merge pull request #12532 from MathiasVP/local-flow-for-getAdditionalFlowIntoCallNodeTerm
...
C++: Use local flow instead of GVN in `getAdditionalFlowIntoCallNodeTerm`
2023-03-15 14:10:49 +00:00
Mathias Vorreiter Pedersen
08419b77af
C++: Respond to PR reviews.
2023-03-15 14:07:04 +00:00
Anders Schack-Mulligen
bc9942eb75
Merge pull request #12530 from aschackmull/java/refactor-dataflow-queries-3
...
Java: Refactor more dataflow queries to the new API (take 3)
2023-03-15 14:57:29 +01:00
Tony Torralba
5bc606753e
org.openjdk.jmh.runner.options tests
2023-03-15 14:47:27 +01:00
Tony Torralba
3b4980ba2f
org.kohsuke.stapler.model tests
2023-03-15 14:36:45 +01:00
Tom Hvitved
a6e9d111a5
Merge pull request #12534 from hvitved/swift/summary-call-encl-callable
...
Swift: Fix `SummaryCall::getEnclosingCallable`
2023-03-15 14:35:00 +01:00
Tom Hvitved
96639c594f
Swift: Fix SummaryCall::getEnclosingCallable
2023-03-15 13:58:12 +01:00
Arthur Baars
fe34ec1378
Ruby: fix formatting errors
2023-03-15 13:45:06 +01:00
Henry Mercer
5de0eae992
Ruby: Update diagnostic source names for consistency
2023-03-15 12:05:09 +00:00
Henry Mercer
a90f4915a7
C#: Add new lines before call to action
2023-03-15 12:00:47 +00:00
Henry Mercer
0de4259bff
Revert "Ruby: Use rb prefix in diagnostic IDs for consistency with queries"
...
This reverts commit a6509c7a37 .
2023-03-15 12:00:47 +00:00
Tony Torralba
c5a1905302
Fix stubs
2023-03-15 12:43:45 +01:00
Anders Schack-Mulligen
ecf5591bc6
Merge pull request #12527 from aschackmull/java/remove-dataflow-for-serializability
...
Java: Delete `DataFlowForSerializability` and `DataFlowForOnActivityResult`
2023-03-15 12:37:17 +01:00
Mathias Vorreiter Pedersen
913ff201f1
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into local-flow-for-getAdditionalFlowIntoCallNodeTerm
2023-03-15 11:15:16 +00:00
Mathias Vorreiter Pedersen
11932a54e8
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-15 11:13:49 +00:00
Tony Torralba
341590f9ad
org.kohsuke.stapler.framework.io tests
2023-03-15 11:43:52 +01:00
Mathias Vorreiter Pedersen
9bd3347a3c
C++: Remove import.
2023-03-15 10:33:47 +00:00
Tony Torralba
e0c852c0b8
Fix stubs and test expectations
2023-03-15 11:33:02 +01:00
erik-krogh
cc3efcd35e
also restrict allowImplicitRead in unsafe-code-construction
2023-03-15 11:11:20 +01:00
Mathias Vorreiter Pedersen
623f6ff701
C++: Move things around so that 'getAdditionalFlowIntoCallNodeTerm' is in the same stage as 'DataFlowImplCommon'.
2023-03-15 10:01:47 +00:00
Mathias Vorreiter Pedersen
deb43c21e6
C++: Use local flow instead of GVN to find parameters that are used in switch statements.
2023-03-15 10:00:47 +00:00
erik-krogh
2133d1a5ab
Merge branch 'main' into more-shell-taint
2023-03-15 10:54:30 +01:00
Anders Schack-Mulligen
6408d7cbbe
Java: Refactor RsaWithoutOaep.
2023-03-15 10:37:54 +01:00
Anders Schack-Mulligen
b3b5c2c767
Java: Refactor UnsafeContentUriResolution.
2023-03-15 10:32:58 +01:00
Anders Schack-Mulligen
4b814ec71c
Java: Refactor SensitiveCommunication.ql.
2023-03-15 10:32:35 +01:00
Anders Schack-Mulligen
ca8e013618
Java: Refactor FragmentInjection.
2023-03-15 10:23:21 +01:00
erik-krogh
a72436f6f1
recognize more express URL related sources
2023-03-15 10:14:31 +01:00
Anders Schack-Mulligen
5bd530f570
Java: Refactor IntentUriPermissionManipulation.
2023-03-15 10:13:28 +01:00
Anders Schack-Mulligen
b14b95cd79
Java: Refactor LogInjection
2023-03-15 10:10:02 +01:00
Anders Schack-Mulligen
abf3abdc65
Java: Delete DataFlowForOnActivityResult.
2023-03-15 09:47:21 +01:00
Anders Schack-Mulligen
bea7c43584
Java: Delete DataFlowForSerializability
2023-03-15 09:42:02 +01:00
Anders Schack-Mulligen
e8a7139020
Merge pull request #12476 from aschackmull/java/refactor-dataflow-queries-2
...
Java: Refactor more dataflow queries to the new API
2023-03-15 09:40:32 +01:00
dependabot[bot]
f811436cff
Bump serde from 1.0.155 to 1.0.156 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.155 to 1.0.156.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.155...v1.0.156 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-15 04:05:38 +00:00
Arthur Baars
fbe9823a42
Merge branch 'main' into henrymercer/polish-diagnostics
2023-03-14 23:42:33 +01:00
Henry Mercer
1454890a58
C#: Add new paragraphs before call to action
2023-03-14 21:52:23 +00:00
Henry Mercer
1394abcf98
JS: Update diagnostics IDs for consistency with rules
2023-03-14 21:44:19 +00:00
Henry Mercer
1f63c5d5e4
JS: Update parse error diagnostic name for consistency
2023-03-14 21:43:32 +00:00
Robert Marsh
623e39031c
C++: fix ModulusAnalysis test
2023-03-14 16:46:09 -04:00
Harry Maclean
604d5f0c71
Merge pull request #12510 from hmac/merge-ruby-extractor
...
Ruby: Merge extractor crates
2023-03-15 09:41:07 +13:00
Harry Maclean
fd43ba0827
Update .github/workflows/ruby-build.yml
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2023-03-15 09:28:53 +13:00
Harry Maclean
6dcc884fe1
Ruby: Small doc change
...
This is primarily to bust the actions cache, to test a change in the
ruby-build workflow.
2023-03-15 08:42:24 +13:00
Harry Maclean
eefc4866ea
Ruby: build query pack in temporary directory
...
This ensures we don't clobber any existing directories in the repo.
2023-03-15 08:20:23 +13:00
Harry Maclean
aaeb8a0aa0
Merge pull request #12493 from hmac/ar-sinks
2023-03-15 07:59:07 +13:00
Geoffrey White
959f93a766
Merge pull request #12520 from geoffw0/basetypefix
...
Swift: Fix result type of NominalType.getABaseType.
2023-03-14 18:23:54 +00:00
Geoffrey White
a391c01d36
Swift: Fix result type of NominalType.getABaseType.
2023-03-14 17:36:30 +00:00
Henry Mercer
bc106873c1
C#: Fix casing of "CodeQL Action"
2023-03-14 17:24:30 +00:00
Henry Mercer
7e4f77bfb3
C#: Only serialize the location if it is present
2023-03-14 17:23:00 +00:00
Tony Torralba
fe1cc405eb
org.kohsuke.stapler.framework.adjunct tests
2023-03-14 18:21:38 +01:00
Tony Torralba
44f239f4a4
Fix org.kohsuke.stapler.framework.adjunct models
2023-03-14 18:21:19 +01:00
Henry Mercer
a6509c7a37
Ruby: Use rb prefix in diagnostic IDs for consistency with queries
2023-03-14 17:13:50 +00:00
Henry Mercer
769f9051af
Ruby: Serialize severities as lowercase
2023-03-14 17:09:25 +00:00
Henry Mercer
6fbc8261f2
Java: Add a full stop
2023-03-14 17:03:42 +00:00
Henry Mercer
770924455e
Java: Use Dotcom help links
2023-03-14 17:00:48 +00:00
Henry Mercer
ce96f009b7
Java: Capitalise HTTPS
2023-03-14 16:58:24 +00:00
Henry Mercer
819e0dfbf0
Java: Use "relevant" instead of "suspicious"
2023-03-14 16:54:14 +00:00
Henry Mercer
110cb64b7a
Java: Avoid reference to other diagnostics
2023-03-14 16:52:58 +00:00
Henry Mercer
4c329b7b62
Java: Remove "please" in diagnostics
...
Per review from docs team
2023-03-14 16:46:06 +00:00
Tony Torralba
cbc0ba6ac6
org.apache.tools.zip tests
2023-03-14 17:41:20 +01:00
Tony Torralba
7455c27086
org.apache.tools.ant.taskdefs tests
2023-03-14 17:28:35 +01:00
Tony Torralba
6aa9726223
org.apache.tools.ant tests
2023-03-14 17:20:31 +01:00
Tony Torralba
db9e305a56
org.apache.commons.jelly tests
2023-03-14 17:04:14 +01:00
Robert Marsh
267c341965
C++: exclude ZeroBounds in relative stage
2023-03-14 10:41:50 -04:00
Anders Schack-Mulligen
30163e4f60
Merge pull request #12515 from aschackmull/java/neutral-dispatch
...
Java: Remove low-confidence dispatch to known neutrals.
2023-03-14 15:35:05 +01:00
Tom Hvitved
c132891669
Merge pull request #12513 from hvitved/dataflow/lambda-flow-no-expects-content
...
Data flow: Exclude `expectsContent` nodes from lambda flow
2023-03-14 15:28:35 +01:00
Asger F
feb7c49006
Merge pull request #12382 from asgerf/js/import-assertion
...
JS: Support import assertions
2023-03-14 14:56:32 +01:00
Ian Lynagh
32e8b130ad
Merge pull request #12501 from tamasvajk/java/javadoc_printast
...
Java: Fix printAST to handle javadoc belonging to multiple elements
2023-03-14 13:42:22 +00:00
Anders Schack-Mulligen
a9d2b936af
Java: Add qldoc.
2023-03-14 14:15:15 +01:00
Asger F
d953ad63fe
Merge pull request #12445 from asgerf/js/react-forward-ref
...
JS: Handle forwardRef in React
2023-03-14 13:21:16 +01:00
Asger F
d74da30fc7
JS: Include trap test for trailing commas
2023-03-14 13:15:12 +01:00
Asger F
8ab3f39b5e
Merge pull request #12423 from asgerf/js/trusted-types-global-flow
...
JS: Track trusted types policy callbacks
2023-03-14 13:09:50 +01:00
Tony Torralba
31667b4478
org.apache.commons.io tests
2023-03-14 12:50:09 +01:00
Tony Torralba
720cf0ab7a
org.apache.commons.compress.archivers.tar tests
2023-03-14 12:31:26 +01:00
Tony Torralba
3db95f3ac9
javax.xml.transform.stream tests
2023-03-14 12:28:04 +01:00
Paolo Tranquilli
5ff7a898a6
Merge pull request #12516 from github/redsun82/swift-specialize-generic-decl
...
Swift: make `AnyGenericType::getDecl`'s type more specific
2023-03-14 12:23:02 +01:00
Tony Torralba
d54abddab1
java.nio.file tests
2023-03-14 12:22:56 +01:00
AlexDenisov
decd5c1ae7
Merge pull request #12508 from github/redsun82/swift-deduplication-test
...
Swift: add an initial draft for a deduplication test
2023-03-14 11:56:23 +01:00
Tony Torralba
2e7ad99059
Fix java.nio.file models
2023-03-14 11:51:44 +01:00
Paolo Tranquilli
54b6c6f8f7
Swift: make AnyGenericType::getDecl's type more specific
...
As shown by the extractor's code not needing any change, the DB values
already had that more specific type, which is why the upgrade/downgrade
scripts are actually no-ops.
2023-03-14 11:49:07 +01:00
Tony Torralba
452b9d11db
java.net tests
2023-03-14 11:43:23 +01:00
Anders Schack-Mulligen
dbfc256f40
Java: Remove low-confidence dispatch to known neutrals.
2023-03-14 11:34:07 +01:00
Paolo Tranquilli
91ce88e2d9
Swift: make deduplication test cross-platform
2023-03-14 11:24:03 +01:00
Edward Minnix III
de1ecf943e
Merge pull request #11915 from egregius313/egregius313/arbitrary-apk-installation
...
Java: Arbitrary APK installation
2023-03-14 06:23:51 -04:00
Paolo Tranquilli
cc608f764d
Swift: add missing include
2023-03-14 11:23:33 +01:00
Tony Torralba
cad5cd4037
java.io tests
2023-03-14 11:21:33 +01:00
Tony Torralba
db83fe6f42
Fix incorrect java.io models
2023-03-14 11:21:17 +01:00
Tony Torralba
8cc2686a2f
netty.resolver tests
2023-03-14 11:09:26 +01:00
Tony Torralba
1b85e8b706
hudson.remoting tests
2023-03-14 11:00:27 +01:00
Stephan Brandauer
ccf7d9beec
Update MaD Declarations after Triage
2023-03-14 10:32:19 +01:00
Tony Torralba
dd0723c36b
Merge pull request #12511 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-14 10:05:32 +01:00
Tom Hvitved
bdd56f1b6e
Data flow: Sync files
2023-03-14 10:01:56 +01:00
Tom Hvitved
8dd99b951b
Data flow: Exclude expectsContent nodes from lambda flow
2023-03-14 10:01:11 +01:00
erik-krogh
984a589954
don't depend on the callgraph in KernelArraySummary
2023-03-14 09:20:24 +01:00
Tom Hvitved
08557974ae
Merge pull request #12499 from hvitved/ruby/more-constructor-flow
...
Ruby: Add missing flow through `self.new` constructor calls
2023-03-14 09:14:42 +01:00
erik-krogh
4307889b1f
specialize allowImplicitRead in unsafe-shell-command-construction to fix performance
2023-03-14 08:42:11 +01:00
Erik Krogh Kristensen
04f422ea5d
Merge pull request #12047 from erik-krogh/py-shell
...
Py: add unsafe-shell-command-construction
2023-03-14 07:48:38 +01:00
Harry Maclean
999b12f78b
Ruby: better errors in generator
...
Provide more context if a file cannot be opened by the generator.
2023-03-14 18:12:01 +13:00
Harry Maclean
7ee7a0df34
Ruby: fix prefix in create-extractor-pack scripts
2023-03-14 18:12:01 +13:00
github-actions[bot]
2c93ab99d8
Add changed framework coverage reports
2023-03-14 00:15:57 +00:00
Harry Maclean
d814e15a2f
Ruby: Refactor
2023-03-14 12:58:32 +13:00
Harry Maclean
f19e48d473
Ruby: Update binary prefixes in build
2023-03-14 12:53:37 +13:00
Harry Maclean
4de31e8577
Ruby: Ensure right directory for extractor build
2023-03-14 12:40:37 +13:00
Harry Maclean
f3272239bd
Ruby: Format rust files
2023-03-14 12:31:50 +13:00
Harry Maclean
cd9927cf66
Ruby: Update create-extractor-pack
2023-03-14 12:23:09 +13:00
Harry Maclean
0e5dcddb98
Ruby: Fix cargo fmt step in build
2023-03-14 12:17:04 +13:00
Harry Maclean
5c59692b3a
Ruby: Update workflow for new extractor location
2023-03-14 12:10:56 +13:00
Harry Maclean
e070bd512e
Ruby: Move some support files to new extractor
2023-03-14 12:07:39 +13:00
Harry Maclean
194edd76e5
Ruby: Put all binaries in same directory
2023-03-14 12:03:46 +13:00
Harry Maclean
a7e276343e
Ruby: Update .gitignore for moved extractor
2023-03-14 12:03:03 +13:00
Harry Maclean
f53c31398c
Ruby: Fix imports in extractor
2023-03-14 12:02:11 +13:00
Harry Maclean
15bd825805
Ruby: finish reorganising extractor files
2023-03-14 11:49:18 +13:00
Harry Maclean
6f23111320
Ruby: Remove old Cargo.toml files
2023-03-14 11:47:21 +13:00
Harry Maclean
983b84276b
Ruby: Lift extractor binaries
2023-03-14 11:45:46 +13:00
Harry Maclean
1a71c3f174
Ruby: Merge extractor crates
...
This just moves the files, so as not to confuse git when we make changes
to them.
2023-03-14 11:43:17 +13:00
Robert Marsh
b4b7507fe4
C++: autoformat
2023-03-13 15:45:48 -04:00
erik-krogh
8b99e8af88
fix bad join by removing bad recursion
2023-03-13 17:34:11 +01:00
erik-krogh
25a6d496d9
Merge branch 'main' into HEAD
2023-03-13 17:33:06 +01:00
Anders Schack-Mulligen
5792b4d363
Merge pull request #12503 from aschackmull/java/qltest-callback-instance-sideeffect
...
Java: Add a qltest demonstrating side-effect on a callback instance.
2023-03-13 17:26:12 +01:00
Mathias Vorreiter Pedersen
d96dbea7be
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-13 17:19:13 +01:00
Mathias Vorreiter Pedersen
136769d647
Merge pull request #12507 from MathiasVP/fix-as-expr-performance-2
...
C++: Map some indirect nodes to expressions in `localExprFlowStep`
2023-03-13 16:03:48 +00:00
Paolo Tranquilli
fcd14a78ab
Swift: add an initial draft for a deduplication test
2023-03-13 15:55:45 +01:00
Mathias Vorreiter Pedersen
a5051655a1
C++: Autoformat.
2023-03-13 15:41:17 +01:00
Ian Lynagh
70b85a3e00
Merge pull request #12431 from igfoo/igfoo/double_interception
...
Kotlin: Test double interceptions
2023-03-13 14:30:49 +00:00
Michael Nebel
41b2273dee
C#: Update expected test output.
2023-03-13 15:15:03 +01:00
Michael Nebel
e2479940d2
C#: Overridable operator support in dispatch.
2023-03-13 15:15:03 +01:00
erik-krogh
6a5d6eb5c2
lower precision of py/shell-command-constructed-from-input to medium
2023-03-13 14:56:42 +01:00
erik-krogh
d001cc40d3
Merge branch 'main' into py-shell
2023-03-13 14:56:04 +01:00
Mathias Vorreiter Pedersen
00450d10bb
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-13 14:50:17 +01:00
Mathias Vorreiter Pedersen
58c1518fbd
C++: Fix QLDoc.
2023-03-13 14:45:00 +01:00
Mathias Vorreiter Pedersen
97462a3fa0
C++: Include more expressions in 'asExpr' in local expression flow.
2023-03-13 14:29:11 +01:00
Tamas Vajk
c57fcfb8fb
Java: Fix printAST to handle javadoc belonging to multiple elements
2023-03-13 14:26:33 +01:00
Tony Torralba
705691b096
Merge pull request #12446 from github/java/update-mad-decls-after-triage-2023-03-08T14-51-59
...
Java: Update MaD Declarations after Triage
2023-03-13 14:07:59 +01:00
Robert Marsh
64f23ebb4d
Merge pull request #12436 from MathiasVP/ir-range-analysis-for-unary-minus
...
C++: IR-based range analysis for unary minus
2023-03-13 09:02:38 -04:00
dependabot[bot]
df45ba0476
Bump chrono from 0.4.23 to 0.4.24 in /ql
...
Bumps [chrono](https://github.com/chronotope/chrono ) from 0.4.23 to 0.4.24.
- [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.23...v0.4.24 )
---
updated-dependencies:
- dependency-name: chrono
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-13 12:25:21 +00:00
Anders Schack-Mulligen
f54b02edb3
Java: Add a qltest demonstrating side-effect on a callback instance.
2023-03-13 13:22:18 +01:00
Anders Schack-Mulligen
0c95ab2cdc
Merge pull request #12474 from hvitved/dataflow/call-back-post-update
...
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-13 13:21:52 +01:00
Ian Lynagh
4fbc747f93
Kotlin: Move kotlin_double_interception test to posix_only
...
It's failing on Windows
2023-03-13 11:57:57 +00:00
Ian Lynagh
fd8f7e071b
Kotlin: Tweak double_interception test
2023-03-13 11:57:57 +00:00
Ian Lynagh
fae4a8f37b
Kotlin: double interception test: Fix for old python versions
2023-03-13 11:57:57 +00:00
Ian Lynagh
8b6047dfd1
Kotlin: Handle double-interceptions without failing
2023-03-13 11:57:57 +00:00
Ian Lynagh
81e71c4669
Kotlin: Add a test for double niterception
2023-03-13 11:57:57 +00:00
dependabot[bot]
6e75df4088
Merge pull request #12494 from github/dependabot/cargo/ruby/serde-1.0.155
2023-03-13 11:49:00 +00:00
Erik Krogh Kristensen
060c37b6a2
Merge pull request #12345 from erik-krogh/delOldDeps
...
delete old deprecations
2023-03-13 12:48:24 +01:00
Tom Hvitved
163bb2b94d
Add change note
2023-03-13 12:45:46 +01:00
Tom Hvitved
714b61b63e
Ruby: Add missing flow through self.new constructor calls
2023-03-13 12:45:46 +01:00
dependabot[bot]
219bac74bf
Bump serde from 1.0.154 to 1.0.155 in /ruby
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.154 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-13 11:36:09 +00:00
dependabot[bot]
de84dddfc1
Merge pull request #12495 from github/dependabot/cargo/ql/serde-1.0.155
2023-03-13 11:32:03 +00:00
Arthur Baars
e0a49e2999
Merge pull request #12486 from aibaars/windows-long-paths
...
Ruby: support long paths on Windows
2023-03-13 12:18:50 +01:00
Tamas Vajk
e44aca0b33
Java: Add printAST test with javadoc
2023-03-13 12:02:50 +01:00
Arthur Baars
41a53ec109
Address comments
2023-03-13 11:50:03 +01:00
Geoffrey White
e4837f7da9
Merge pull request #12489 from geoffw0/typealiastests
...
Swift: Skeleton + tests for type alias support
2023-03-13 10:38:43 +00:00
Asger F
5461f94c6c
Merge pull request #12424 from asgerf/js/html-sanitizer-for-sql
...
JS: Add html sanitizers as a taint step in a few queries
2023-03-13 11:36:19 +01:00
Asger F
41dd63adc7
Handle forwardRef in React
2023-03-13 11:30:18 +01:00
Anders Schack-Mulligen
7c0e89ffdd
Java: Refactor ArithmeticTainted.ql, TempDirLocalInformationDisclosure.ql
2023-03-13 11:27:14 +01:00
Anders Schack-Mulligen
da273269cb
Java: Refactor PolynomialReDoS.ql
2023-03-13 11:27:14 +01:00
Anders Schack-Mulligen
f53a05bf13
Merge pull request #12475 from aschackmull/dataflow/mergepathgraph
...
Dataflow: Add MergePathGraph module.
2023-03-13 11:26:24 +01:00
Jeroen Ketema
a0fca20f0d
Merge pull request #12498 from jketema/frontend-tests
...
C++: Update `.expected` after frontend changes
2023-03-13 11:25:58 +01:00
Anders Schack-Mulligen
c380ecbbbc
Data flow: Add change notes.
2023-03-13 11:09:13 +01:00
erik-krogh
6c1ebd999e
Merge branch 'main' into delOldDeps
2023-03-13 11:00:29 +01:00
Erik Krogh Kristensen
25e6b976c8
Merge pull request #12405 from github/dependabot/cargo/ql/rayon-1.7.0
...
Bump rayon from 1.6.1 to 1.7.0 in /ql
2023-03-13 10:57:11 +01:00
Geoffrey White
7512d81331
Merge pull request #12484 from geoffw0/summarydetail
...
Swift: Update swift/summary/summary-statistics to DataFlow::ConfigSig
2023-03-13 09:54:54 +00:00
Tom Hvitved
6ee231fac5
Ruby: Add more tests for flow through constructors
2023-03-13 10:52:01 +01:00
Geoffrey White
0d1be2294c
Merge branch 'main' into typealiastests
2023-03-13 09:38:54 +00:00
Geoffrey White
8d666d00c2
Swift: Update codegen.
2023-03-13 09:21:44 +00:00
Geoffrey White
9a5dbd078e
Merge pull request #12485 from geoffw0/qldocraw
...
Swift: Add generated QLDoc to the Raw.qll file.
2023-03-13 09:10:55 +00:00
Michael Nebel
8398ee43b3
C#: Update test comment and expected test output.
2023-03-13 10:09:03 +01:00
Michael Nebel
a964f536e8
C#: Fix issue with dispatch to implementations of virtual interface members.
2023-03-13 10:09:03 +01:00
Michael Nebel
278f90e5fa
C#: Update expected test output.
2023-03-13 10:09:03 +01:00
Michael Nebel
cfe2a76431
C#: Add viable callable test cases for statics in interfaces.
2023-03-13 10:09:03 +01:00
Jeroen Ketema
bd47c4f9ec
C++: Update .expected after frontend changes
2023-03-13 09:40:10 +01:00
Harry Maclean
3734a544bc
Ruby: Add change note
2023-03-13 21:38:45 +13:00
Tony Torralba
e834f9302e
Fix Apache Commons HTTP Client and SQL Injection tests
2023-03-13 09:36:53 +01:00
Harry Maclean
e80ff4efba
Ruby: Fix tests and qldoc
2023-03-13 20:32:37 +13:00
Harry Maclean
071517c74b
Ruby: Clean up Sinatra modeling
2023-03-13 19:25:56 +13:00
Harry Maclean
bfe42a656c
Ruby: QL4QL fix
2023-03-13 19:04:46 +13:00
Harry Maclean
384e7c7a80
Jump step for sinatra callbacks
2023-03-13 19:03:32 +13:00
Harry Maclean
e65d7224db
Ruby: tests, patterns, fix erb flow
2023-03-13 19:03:32 +13:00
Harry Maclean
eada3b91df
Ruby: track flow from sinatra routes to erb files
2023-03-13 19:03:32 +13:00
Harry Maclean
c82b4638c6
Ruby: Import Sinatra modeling by default
2023-03-13 19:03:32 +13:00
Harry Maclean
a1fab31bfc
Ruby: Model Sinatra
...
Adds some very basic modeling of Sinatra applications.
We recognise the `params` call in Sinatra routes as an HTTP request
input access.
2023-03-13 19:03:32 +13:00
Harry Maclean
9c3d141c9c
Ruby: Add change note
2023-03-13 18:57:55 +13:00
dependabot[bot]
7ab3bb1239
Bump serde from 1.0.154 to 1.0.155 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.154 to 1.0.155.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.154...v1.0.155 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-13 04:10:45 +00:00
Harry Maclean
fe995dd99b
Ruby: ActiveRecord::Connection.execute SQL sink
2023-03-13 09:03:54 +13:00
Harry Maclean
025cd34dab
Ruby: Taint flow through ActionController params
...
We were not recognising "require" as returning a Parameters instance.
2023-03-13 08:52:41 +13:00
Harry Maclean
2d95b6a049
Ruby: Add count_by_sql as SQL sink
2023-03-13 08:40:32 +13:00
Harry Maclean
c97dccf0de
Ruby: Add reorder as a SQL sink
...
In recent versions of Rails this method doesn't seem to be vulnerable,
but it may be in previous versions. There's a slight FP risk here, but
I think it is small.
2023-03-13 08:38:17 +13:00
Mathias Vorreiter Pedersen
ab58d4c11f
Merge pull request #12415 from github/rdmarsh2/swift/constructor-flow
2023-03-10 23:16:37 +00:00
Arthur Baars
c67bfff33b
Ruby: strip \\?\ from display paths
2023-03-10 22:32:11 +01:00
Arthur Baars
4bfcc31ef0
Ruby: support long paths on Windows
2023-03-10 22:32:11 +01:00
Ed Minnix
59eea2a4a3
Change FlowState classes to use IPAs instead of string
2023-03-10 15:24:04 -05:00
Ed Minnix
b6eeac5bc8
Update names to new naming convention
2023-03-10 15:13:58 -05:00
Robert Marsh
d9732361fc
Swift: autoformat
2023-03-10 19:28:01 +00:00
Robert Marsh
d4e3f7f738
C++: fix missing bounds in new range analysis
2023-03-10 14:23:08 -05:00
Geoffrey White
fbde174a89
Swift: Autoformat.
2023-03-10 19:02:54 +00:00
Arthur Baars
50ff82fe51
Merge pull request #12482 from github/revert-12245-calumgrant/codeowners-dynamic
...
Revert "Update CODEOWNERS for dynamic teams"
2023-03-10 19:44:12 +01:00
Geoffrey White
7ddd08fb1e
Swift: Extend an extractor test as well.
2023-03-10 18:35:03 +00:00
Geoffrey White
f6e7837cb8
Swift: Extend the PrintAST test as well.
2023-03-10 18:28:11 +00:00
Geoffrey White
0c900e4b8a
Swift: Add a test for aliased types.
2023-03-10 18:26:48 +00:00
Mathias Vorreiter Pedersen
d4269251be
Swift: Add QL skeleton for aliased types.
2023-03-10 18:15:40 +00:00
Arthur Baars
7b8ac609f7
Merge pull request #12478 from aibaars/js-fix-npe
...
JS: fix NPE
2023-03-10 18:49:46 +01:00
Geoffrey White
c2f6ee320f
Swift: Add QLDoc to the Raw.qll file.
2023-03-10 17:43:30 +00:00
Robert Marsh
e931d59bea
Merge pull request #12479 from jketema/simple-range-analysis-wrapper
...
C++: Introduce wrapper for the semantic range analysis mimicking the simple one
2023-03-10 10:01:28 -05:00
Edward Minnix III
e2acc26419
Apply docs review suggestions
...
- Punctuation
- Rewording
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-10 09:47:47 -05:00
Calum Grant
1b2ba15753
Revert "Update CODEOWNERS for dynamic teams"
2023-03-10 14:39:22 +00:00
Geoffrey White
7bd0f53df9
Swift: Update swift/summary/summary-statistics to DataFlow::ConfigSig.
2023-03-10 14:39:03 +00:00
Taus
998827f491
Merge pull request #12481 from aschackmull/all/autoformat-ignore-blame
...
Ignore auto-format commits in git blame.
2023-03-10 15:36:04 +01:00
Owen Mansel-Chan
286a56c9b3
Merge pull request #12450 from owen-mc/unexpected-directory-layout
...
Diagnostic for imports with relative package paths
2023-03-10 14:35:02 +00:00
Anders Schack-Mulligen
1e64748ffe
Dataflow: Autoformat.
2023-03-10 15:12:19 +01:00
Anders Schack-Mulligen
955cc5a1be
Ignore auto-format commits in git blame.
2023-03-10 15:08:49 +01:00
Anders Schack-Mulligen
289f921171
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
a836444bc6
Dataflow: Add some qldoc.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
00f0879ff5
Dataflow: Sync.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
cce3728edf
Dataflow: Add MergePathGraph module.
2023-03-10 14:56:54 +01:00
Anders Schack-Mulligen
52e4076684
Merge pull request #12427 from aschackmull/java/refactor-dataflow-queries-1
...
Java: Refactor some dataflow queries to the new API
2023-03-10 14:40:14 +01:00
Jeroen Ketema
faecf44870
C++: Add predicate implementations we get for free from simple range analysis
2023-03-10 14:31:15 +01:00
Geoffrey White
7f06109a4f
Swift: Add detail to the swift/summary/summary-statistics query.
2023-03-10 13:20:25 +00:00
Jeroen Ketema
0e45c9982b
C++: Introduce wrapper for the semantic range analysis mimicking the simple one
2023-03-10 13:30:24 +01:00
Owen Mansel-Chan
674799af8c
Implement diagnostic for relative package paths
2023-03-10 12:20:44 +00:00
Owen Mansel-Chan
d6712b2111
Add test for unexpected directory layout error
2023-03-10 12:20:43 +00:00
Arthur Baars
1a70297662
JS: fix NPE
2023-03-10 12:52:41 +01:00
Tom Hvitved
32a699e34a
Data flow: Sync files
2023-03-10 12:43:21 +01:00
Tom Hvitved
6eea906bbf
Data flow: Synthesize post-update nodes for callback arguments inside summarized callables
2023-03-10 12:43:21 +01:00
Anders Schack-Mulligen
64dd8b9488
Merge branch 'main' into java/refactor-dataflow-queries-1
2023-03-10 12:38:06 +01:00
Tony Torralba
746c2d1fca
Add change note
2023-03-10 12:35:14 +01:00
Tony Torralba
f07f0888aa
Fix tests
2023-03-10 12:35:13 +01:00
Tony Torralba
393a0759db
More stubs
2023-03-10 12:35:13 +01:00
Tony Torralba
8aa80882ea
Sync files
2023-03-10 12:35:13 +01:00
Tony Torralba
8065714ebe
Add tests
2023-03-10 12:35:13 +01:00
Tony Torralba
eef3dc81df
Add stubs
2023-03-10 12:35:13 +01:00
Tony Torralba
698dfa46fc
Minor fixes to the models
2023-03-10 12:35:13 +01:00
Tony Torralba
77d9bac52d
Support ai-generated summaries
2023-03-10 12:35:13 +01:00
Stephan Brandauer
0c19da926c
Update MaD Declarations after Triage
2023-03-10 12:35:13 +01:00
Anders Schack-Mulligen
83569911ae
Merge pull request #12230 from aschackmull/all/autoformat
...
Mass autoformat with class and module declarations format fix
2023-03-10 12:29:34 +01:00
Tony Torralba
ec7e486a3b
Swift: update generated files' hashes
2023-03-10 11:10:34 +01:00
Anders Schack-Mulligen
159d8e978c
Dataflow: one more autoformat post rebase
2023-03-10 10:04:35 +01:00
Harry Maclean
4a6bceccf5
Merge pull request #7017 from github/nickrolfe/extractor_options
...
Ruby: expose TRAP compression option
2023-03-10 21:46:53 +13:00
Anders Schack-Mulligen
3640b6d3a8
Shared: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
711d7057f7
Swift: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
08c658e66b
Go: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
a5d229903d
Ruby: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
8d97fe9ed3
JavaScript: Autoformat
2023-03-10 09:41:20 +01:00
Anders Schack-Mulligen
21d5fa836b
Python: Autoformat
2023-03-10 09:41:17 +01:00
Anders Schack-Mulligen
ef97e539ec
C/C++: Autoformat
2023-03-10 09:39:41 +01:00
Anders Schack-Mulligen
5ad7ed49dd
C#: Autoformat
2023-03-10 09:39:41 +01:00
Anders Schack-Mulligen
730eae9521
Java: Autoformat
2023-03-10 09:39:41 +01:00
Harry Maclean
9cf2acface
Ruby: Make trap option title consistent with C#
2023-03-10 21:11:58 +13:00
Harry Maclean
cf64e0e85f
Ruby: trap_compression -> trap.compression
...
Change the trap_compression extractor option to be an object `trap` with
a nested option `compression`. This means that on the command line you
would supply the option as follows:
codeql database create --extractor-option trap.compression=gzip
This is a little less jarring than the previous design, which would use
underscores amonst the hyphens:
codeql database create --extractor-option trap_compression=gzip
2023-03-10 19:18:49 +13:00
Nick Rolfe
7649772935
Expose TRAP compression option via the new extractor options feature.
2023-03-10 19:09:51 +13:00
Arthur Baars
348165205c
Merge pull request #12442 from aibaars/diagnostics-tests
...
Ruby: add some integration tests for diagnostic messages
2023-03-09 21:58:42 +01:00
Henry Mercer
a816b813d1
Merge pull request #12470 from github/codeql-ci/atm/release-0.4.9
...
JS: Bump version numbers of ML-powered packs after 0.4.9 release
2023-03-09 18:40:31 +00:00
Mathias Vorreiter Pedersen
d25a312557
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-09 18:38:00 +00:00
Mathias Vorreiter Pedersen
d89b8ba446
Merge pull request #12469 from MathiasVP/speedup-CleartextSqliteDatabase
...
C++: Restrict sinks in `cpp/cleartext-storage-database`
2023-03-09 18:33:51 +00:00
Michael B. Gale
d627358f7e
Merge pull request #12453 from github/mbg/csharp/fix-env-prop
2023-03-09 17:55:48 +00:00
Henry Mercer
079451142e
Merge branch 'main' into codeql-ci/atm/release-0.4.9
2023-03-09 16:08:22 +00:00
Jeroen Ketema
67a07e98a2
Merge pull request #12339 from jketema/new-docs
...
C++: Add copy of dataflow docs for new use-use dataflow library
2023-03-09 16:56:43 +01:00
yoff
b3fa844322
Merge pull request #12461 from yoff/python/add-api-test-captured
...
python: add test documenting effect of scopes
2023-03-09 16:55:27 +01:00
github-actions[bot]
a82aaea514
JS: Bump version of ML-powered library and query packs to 0.4.10
2023-03-09 15:54:49 +00:00
Jeroen Ketema
13483be5ed
Merge pull request #12465 from jketema/get-a-use-2
...
C++: Use `getAUse` in `getIRRepresentationOfIndirectOperand`
2023-03-09 16:54:32 +01:00
Owen Mansel-Chan
250a0a71e1
Merge pull request #12466 from owen-mc/update-go-diagnostics
...
The source name of a diagnostic should not change
2023-03-09 15:51:32 +00:00
Edward Minnix III
3ee14f914b
Merge pull request #50 from egregius313/egregius313/refactor-apk-query-using-dataflow-modules
...
Convert dataflow configurations in Arbitrary APK Installation query to use new module-configuration
2023-03-09 10:50:02 -05:00
github-actions[bot]
f0bb25bfce
JS: Bump patch version of ML-powered library and query packs
2023-03-09 15:46:31 +00:00
Edward Minnix III
e8f1f364c5
Refactor to module api for PathNodes
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-09 10:45:55 -05:00
Ed Minnix
cb53ff70a6
Remove unused imports
2023-03-09 10:44:59 -05:00
Mathias Vorreiter Pedersen
84a61d1e02
C++: No need for 'matches'.
2023-03-09 15:36:26 +00:00
Mathias Vorreiter Pedersen
59402eb754
Merge pull request #12462 from MathiasVP/disable-std-order-in-fwd-flow-stage-1
...
DataFlow: Disable standard order in `Stage1::fwdFlow`
2023-03-09 15:30:05 +00:00
Arthur Baars
eadc605c0e
Merge pull request #12460 from github/dependabot/cargo/ql/serde-1.0.154
...
Bump serde from 1.0.152 to 1.0.154 in /ql
2023-03-09 16:25:18 +01:00
Jeroen Ketema
a40a578576
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp.rst
2023-03-09 16:24:13 +01:00
Mathias Vorreiter Pedersen
2931e5dea8
C++: Reduce duplication by blocking flow into sources (since we'll already be considering flow starting at those sources) and out of sinks (since we'll already be alerting on this sink if it's relevant).
2023-03-09 14:59:13 +00:00
Mathias Vorreiter Pedersen
03ba7ea851
C++: Move the weird global property 'not sqlite_encryption_used()' from the sink definition to the source definition. The dataflow library starts tracking flow from the sources, so it's better to to rule out the entire database in the source definition than in the sink definition.
2023-03-09 14:59:13 +00:00
Mathias Vorreiter Pedersen
7819a7d2bc
C++: Severely restrict the set of sinks in 'cpp/cleartext-storage-database'. This reduces the number of sinks considered on the 'sysown/proxysql' from > 62000 sinks to ~1000 sinks.
2023-03-09 14:59:13 +00:00
Alex Ford
5ef71f9d28
Merge pull request #12306 from alexrford/rb/more-expr-nodes
...
Ruby: ensure that all Ast `Expr`s have a dataflow node type more precise than `ExprNode`
2023-03-09 14:54:34 +00:00
Rasmus Wriedt Larsen
293f791611
Python: Remove solved consistency work-around
...
This has not been needed for some time now, but hadn't been removed
before now.
2023-03-09 15:45:20 +01:00
Asger F
6e744093e2
Merge pull request #12398 from github/post-release-prep/codeql-cli-2.12.4
...
Post-release preparation for codeql-cli-2.12.4
2023-03-09 15:38:21 +01:00
Jeroen Ketema
de97ae38dc
C++: C++: Use getAUse in getIRRepresentationOfIndirectOperand
2023-03-09 15:15:00 +01:00
Rasmus Wriedt Larsen
38fe9b71b9
Ruby: Use new parameter position for synthetic hash-splat instead
...
We wanted to ensure that a callable did not have multiple parameters
with same parameter position. Originally we fixed this with
e0bd210797 . This commit reverts that and
solves it by introducing a new parameter position instead.
2023-03-09 15:05:07 +01:00
Owen Mansel-Chan
f87b307ddb
The source name of a diagnostic should not change
2023-03-09 14:00:52 +00:00
Rasmus Wriedt Larsen
bdda0f574b
Python: Use new parameter position for synthetic **kwargs instead
...
We wanted to ensure that a callable did not have multiple parameters
with same parameter position. Originally we fixed this with
02b3a1b515 (like Ruby). This commit
reverts that and solves it by introducing a new parameter position
instead.
2023-03-09 15:00:20 +01:00
Jeroen Ketema
30ad113d4c
Merge pull request #12454 from jketema/get-a-use
...
C++: Use `getAUse` in `getIRRepresentationOfOperand`
2023-03-09 14:14:23 +01:00
dependabot[bot]
dd3e357ad3
Bump serde from 1.0.152 to 1.0.154 in /ql
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-09 12:30:57 +00:00
dependabot[bot]
a731a82a10
Merge pull request #12459 from github/dependabot/cargo/ruby/serde-1.0.154
2023-03-09 12:28:57 +00:00
Arthur Baars
c98e0fa0b4
Ruby: fix comment
2023-03-09 13:14:57 +01:00
Arthur Baars
8096f86224
Ruby: lower severity of parse error to warning
2023-03-09 13:14:57 +01:00
Arthur Baars
942cd7c275
Merge pull request #12113 from erik-krogh/diagnostics
...
JS: Implement diagnostics
2023-03-09 12:57:06 +01:00
Mathias Vorreiter Pedersen
2bbeb7383f
Merge pull request #12452 from MathiasVP/inline-this-could-access-member
...
C++: Inline `thisCouldAccessMember`
2023-03-09 11:38:50 +00:00
Rasmus Lerchedahl Petersen
bbb43a53e5
python: add test for captured variables
...
this illustrates that the function implementing
the comprehension does not capture `mod_local`.
We could handle this case specially, by having
a different implementation for `for`, but the
wider issue would remain.
2023-03-09 11:44:58 +01:00
Mathias Vorreiter Pedersen
1f77f77153
DataFlow: Sync identical files.
2023-03-09 10:41:15 +00:00
Mathias Vorreiter Pedersen
c7b41ca470
C++: Disable standard order for 'fwdFlow' in stage 1 of dataflow.
2023-03-09 10:41:06 +00:00
Owen Mansel-Chan
55003300fe
Merge pull request #12341 from owen-mc/go-tools-status
...
Go: tools status page support
2023-03-09 09:59:01 +00:00
Jeroen Ketema
e5ce27fbf9
C++: Fix a number of instances where a dataflow node did not have a location
2023-03-09 10:32:30 +01:00
Jeroen Ketema
31fa230c0d
C++: Remove toStringImpl predicate that is overridden in every subclass
2023-03-09 10:29:17 +01:00
Jeroen Ketema
4ee13a3234
C++: Remove getLocationImpl predicate that is always overridden
...
Also remove the predicate referred to in ints implementation, as it is no
longer used.
2023-03-09 10:27:15 +01:00
Jeroen Ketema
791f5913d2
C++: Fix multiple getLocation consistency error in use-use dataflow
2023-03-09 10:25:02 +01:00
Mathias Vorreiter Pedersen
f19f7967c2
C++: Fix join order.
...
Before (I stopped midway):
```
(72s) Tuple counts for _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1/3@fb0627h8 after 1m4s:
...
20000 ~0% {5} r28 = r26 UNION r27
224367484 ~7% {9} r29 = JOIN r28 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff_1023#join_rhs ON FIRST 1 OUTPUT Rhs.3, "protected", Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.0, Lhs.4, Rhs.1, Rhs.2
111914129 ~0% {7} r30 = JOIN r29 WITH specifiers ON FIRST 2 OUTPUT Lhs.6, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5, Lhs.7, Lhs.8
123503367 ~0% {8} r31 = JOIN r30 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Lhs.3 'arg2', Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0, Lhs.5, Lhs.6
331748250 ~0% {10} r32 = JOIN r31 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.3 'arg1', Lhs.0 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.1, Rhs.2, Rhs.3
331748250 ~0% {10} r33 = SELECT r32 ON In.8 = In.9
331748250 ~2% {9} r34 = SCAN r33 OUTPUT In.7, In.5, In.8, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.4, In.6
38000 ~4% {10} r35 = JOIN r34 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Rhs.3, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.5 'arg2', Lhs.6, Lhs.7, Lhs.1, Lhs.8, Lhs.0, Lhs.2
37500 ~0% {11} r36 = JOIN r35 WITH specifiers ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.9, Lhs.0, Rhs.1
28973 ~0% {11} r37 = SELECT r36 ON In.10 >= "protected"
28973 ~98% {6} r38 = SCAN r37 OUTPUT In.8, "public", In.0 'arg0', In.1 'arg1', In.2 'arg2', In.6
111913629 ~6% {7} r39 = JOIN r29 WITH specifiers ON FIRST 2 OUTPUT Lhs.6, Lhs.4 'arg2', Lhs.2 'arg0', Lhs.3 'arg1', Lhs.5, Lhs.7, Lhs.8
110582830 ~0% {8} r40 = JOIN r39 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 2 OUTPUT Lhs.1 'arg2', Lhs.5, Lhs.6, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.1 'arg2', Lhs.4, Lhs.0
123503367 ~0% {8} r41 = JOIN r30 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.3 'arg2', Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0, Lhs.5, Lhs.6
0 ~0% {8} r42 = JOIN r41 WITH #Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.6, Lhs.7, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.1 'arg2', Lhs.4, Lhs.5
110582830 ~0% {8} r43 = r40 UNION r42
15000 ~6% {8} r44 = JOIN r43 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Lhs.5 'arg2', Lhs.1, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.6, Lhs.7, Lhs.2, Lhs.0
...
```
After:
```
Tuple counts for _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1/3@997a3ai9 after 744ms:
...
78600 ~8% {6} r29 = r26 UNION r28
437816 ~0% {9} r30 = JOIN r29 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.0 'arg2', Lhs.3, Lhs.4, Lhs.5, Rhs.1, Rhs.2, Rhs.3
430928 ~0% {9} r31 = SELECT r30 ON In.7 = In.8
430928 ~0% {7} r32 = SCAN r31 OUTPUT In.5, In.6, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.7
1096333 ~0% {7} r33 = JOIN r32 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.1, Lhs.5, Rhs.2, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.6
777970 ~0% {8} r34 = JOIN r33 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 3 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.3, Lhs.3 'arg0', Lhs.4 'arg1', Lhs.5 'arg2', Lhs.6
334217 ~0% {6} r35 = JOIN r14 WITH Declaration#4bfb53be::DirectAccessHolder::isFriendOfOrEqualTo#1#dispred#ff ON FIRST 1 OUTPUT Lhs.3 'arg2', Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.4, Lhs.0
235623 ~0% {8} r36 = JOIN r35 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.3 'arg1', Lhs.0 'arg2', Lhs.4, Lhs.5, Lhs.1, Rhs.2, Rhs.3
235623 ~0% {8} r37 = SELECT r36 ON In.6 = In.7
235623 ~0% {7} r38 = SCAN r37 OUTPUT In.5, In.6, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.3, In.4
437303 ~0% {9} r39 = JOIN r38 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff_0213#join_rhs ON FIRST 2 OUTPUT Rhs.3, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5, Lhs.6, Lhs.0, Lhs.1, Rhs.2
437303 ~4% {10} r40 = JOIN r39 WITH specifiers ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4, Lhs.5, Lhs.6, Lhs.7, Lhs.8, Lhs.0, Rhs.1
352102 ~1% {10} r41 = SELECT r40 ON In.9 >= "protected"
352102 ~0% {6} r42 = SCAN r41 OUTPUT In.7, In.3, In.0 'arg0', In.1 'arg1', In.2 'arg2', In.6
775332 ~0% {8} r43 = JOIN r42 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 2 OUTPUT Lhs.0, Lhs.1, Rhs.2, Rhs.3, Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5
1553302 ~51% {8} r44 = r34 UNION r43
1553302 ~152% {7} r45 = JOIN r44 WITH Class#bacd9b46::Class::accessOfBaseMember#2#dispred#ffff ON FIRST 4 OUTPUT Lhs.7, "public", Lhs.4 'arg0', Lhs.5 'arg1', Lhs.6 'arg2', Lhs.2, Lhs.3
...
```
2023-03-09 09:23:56 +00:00
Rasmus Lerchedahl Petersen
32d95834d1
python: add test documenting effect of scopes
2023-03-09 10:19:44 +01:00
Jeroen Ketema
55da3257bf
C++: Fix multiple toString consistency error in use-use dataflow
2023-03-09 10:08:25 +01:00
Jeroen Ketema
a2248cb5a0
C++: Use getAUse in getIRRepresentationOfOperand
2023-03-09 09:45:54 +01:00
Jeroen Ketema
fadd23a2a0
Merge pull request #12443 from jketema/even-more-configsig
...
C++: Update more queries with `DataFlow::ConfigSig`
2023-03-09 08:54:31 +01:00
dependabot[bot]
060cd9fada
Bump serde from 1.0.152 to 1.0.154 in /ruby
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.152 to 1.0.154.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.152...v1.0.154 )
---
updated-dependencies:
- dependency-name: serde
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-09 04:06:43 +00:00
Ed Minnix
48ca1d0b72
Convert the taint tracking configurations to modules
2023-03-08 19:51:54 -05:00
Ed Minnix
ae0b4970ac
Remove commented out code
2023-03-08 19:21:58 -05:00
Ed Minnix
da43a61506
Convert dataflow configuration to using new module-configuration
2023-03-08 19:19:00 -05:00
Chris Smowton
db5bd98781
Return on failure to create file
2023-03-08 22:48:57 +00:00
Owen Mansel-Chan
820de5d36f
Remove fatal/panic exits from diagnostic code
2023-03-08 22:00:34 +00:00
Ed Minnix
eeb9a88c3a
Renamed test file to follow camel casing convention
2023-03-08 13:56:25 -05:00
Ed Minnix
f680a2ecbf
Update test java file to support InlineExpectationsTest
2023-03-08 13:50:02 -05:00
Jeroen Ketema
57c8f5111d
C++: Address docs review comments
2023-03-08 19:38:25 +01:00
Ed Minnix
bfd430b446
Remove qlref tests
2023-03-08 13:21:31 -05:00
Ed Minnix
24c9a516c9
Add QLdoc to ArbitraryApkInstallationQuery.qll
2023-03-08 13:21:09 -05:00
Chris Smowton
cacae957b5
Merge pull request #12441 from smowton/smowton/fix/golang-incorrect-integer-conversion-sanitizer
...
Go: fix incorrect-integer-conversion sanitizer
2023-03-08 18:19:46 +00:00
Jeroen Ketema
3f905f2675
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:10:11 +01:00
Michael B. Gale
695160d480
Remove check for stdout redirection
2023-03-08 18:09:09 +00:00
Jeroen Ketema
f6e05836f1
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:08:35 +01:00
Jeroen Ketema
2ecc8a5abe
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Ben Ahmady <32935794+subatoi@users.noreply.github.com >
2023-03-08 19:08:19 +01:00
Mathias Vorreiter Pedersen
540ce1f0db
Contrary to what the QLDoc says, this predicate was way too large to be
...
evaluated on the 'quick-lint/quick-lint-js' project.
Before:
```
Most expensive predicates for completed query RuleOfTwo.ql:
time | evals | max @ iter | predicate
------|-------|--------------|----------
25m9s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#ffff@8a38e2tm
17m1s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb@0796c497
3.5s | 130 | 116ms @ 3 | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff@926a68j9
3.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb_1230#join_rhs@25e9ffj8
1.7s | 3 | 1.7s @ 1 | Element#496c7fc2::ElementBase::toString#0#dispred#ff@fcd81c49
1.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#fffb_0132#join_rhs@9c2065t1
1.3s | | | Declaration#4bfb53be::DirectAccessHolder::thisCouldAccessMember#3#dispred#ffff_0132#join_rhs@672330eh
1.1s | | | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff_102#join_rhs@f7d5464o
829ms | 336 | 85ms @ 6 | Enclosing#c50c5fbf::exprEnclosingElement#1#ff@e34d9wq1
615ms | | | Expr#ef463c5d::Expr::getType#ff@e265e79q
```
After:
```
Most expensive predicates for completed query RuleOfTwo.ql:
time | evals | max @ iter | predicate
------|-------|-------------|----------
11.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#1@fb0627h8
4.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#4@c43dbeia
3.8s | | | _#Class#bacd9b46::Class::getADerivedClass#0#dispredPlus#ff_#Declaration#4bfb53be::AccessHolder::getE__#antijoin_rhs#3@313e5963
3.4s | 130 | 93ms @ 3 | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff@a0289bfg
1.5s | 3 | 1.5s @ 1 | Element#496c7fc2::ElementBase::toString#0#dispred#ff@fcd81c49
806ms | | | Declaration#4bfb53be::DirectAccessHolder::thisCanAccessClassTrans#fff_021#join_rhs@cc1b76s7
721ms | 336 | 61ms @ 5 | Enclosing#c50c5fbf::exprEnclosingElement#1#ff@e34d9wq1
489ms | | | Expr#ef463c5d::Expr::getType#ff@e265e79q
337ms | 130 | 62ms @ 5 | Class#bacd9b46::Class::accessOfBaseMemberMulti#ffff@0165b0dr
329ms | | | Variable#7a968d4e::ParameterDeclarationEntry::getAnonymousParameterDescription#0#dispred#ff@0f12bdvq
211ms | | | exprs_10#join_rhs@5481143i
```
2023-03-08 17:44:19 +00:00
Ed Minnix
882e909862
Renamed ArbitraryAPKInstallation to ArbitraryApkInstallation
2023-03-08 12:16:46 -05:00
Ed Minnix
5fb5f1b23b
Begin InlineExpectationsTest
2023-03-08 12:14:45 -05:00
Ed Minnix
3ea167cadf
Split ArbitraryApkInstallation file into 3 files
2023-03-08 12:12:11 -05:00
Edward Minnix III
2d1088e923
Change severity level to error
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-08 12:12:11 -05:00
Ed Minnix
0eaad4136e
Add RemoteFlowSource as a valid source
2023-03-08 12:12:11 -05:00
Ed Minnix
4d51e4fed0
Change description wording
2023-03-08 12:12:11 -05:00
Ed Minnix
10cd6328dc
Add missing QLDocs
2023-03-08 12:12:11 -05:00
Edward Minnix III
8ec5b5b7fa
Apply suggestions from code review
...
Co-authored-by: Jami <57204504+jcogs33@users.noreply.github.com >
2023-03-08 12:12:10 -05:00
Ed Minnix
8fcf00b73d
Test improvements
2023-03-08 12:12:10 -05:00
Ed Minnix
fa416564c7
Documentation and examples
2023-03-08 12:12:10 -05:00
Ed Minnix
d3d712fbff
Remove Url#parse as a source
2023-03-08 12:12:10 -05:00
Ed Minnix
5f4e8e3e6a
Add test cases relating to intents with the ACTION_INSTALL_PACKAGE action
2023-03-08 12:12:10 -05:00
Ed Minnix
f03e90f894
Remove http(s) literal sources
2023-03-08 12:12:10 -05:00
Edward Minnix III
839b88a4bc
Formatting, capitalization, and typos
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2023-03-08 12:12:10 -05:00
Ed Minnix
b606271a61
Additional documentation
2023-03-08 12:12:10 -05:00
Ed Minnix
01b20b3a26
Added external storage test case
2023-03-08 12:12:10 -05:00
Ed Minnix
c448481bf7
Added test expectations
2023-03-08 12:12:10 -05:00
Ed Minnix
12f78dbed4
Add DataFlow::PathGraph import
2023-03-08 12:12:10 -05:00
Ed Minnix
cd5a46123e
Add a change note
2023-03-08 12:12:10 -05:00
Ed Minnix
2d6cdff14b
Add period to alert message
2023-03-08 12:12:10 -05:00
Ed Minnix
0ec4df28f5
Add query metadata
2023-03-08 12:12:10 -05:00
Ed Minnix
3f589722c2
Refactor query to change returned source
2023-03-08 12:12:10 -05:00
Ed Minnix
618b608962
Arbitrary APK Installation MVP
2023-03-08 12:12:10 -05:00
Owen Mansel-Chan
9fc119cc55
Rearrange diagnostic error message
...
The context should come in the middle and the call to action should come
last.
2023-03-08 17:09:52 +00:00
Robert Marsh
6bfa08c5cc
Merge branch 'main' into rdmarsh2/swift/constructor-flow
2023-03-08 16:40:11 +00:00
Owen Mansel-Chan
63d3b3ff2a
Fix diagnostic-limit-reached visibility and location
2023-03-08 16:34:29 +00:00
Owen Mansel-Chan
0d6f17ec90
Do not use field internal, which is deprecated
2023-03-08 16:34:01 +00:00
Robert Marsh
b941d54f1f
C++ Move RangeAnalysis to work around shadowing
2023-03-08 11:32:37 -05:00
Robert Marsh
50fac3060c
C++: split RA into constant and relative phases
2023-03-08 11:32:36 -05:00
Robert Marsh
3bf3876c14
Swift: fix FPs with inout params in inits
2023-03-08 16:20:39 +00:00
Owen Mansel-Chan
17c550bc88
Address review comments
2023-03-08 15:51:45 +00:00
Arthur Baars
7ab0f88f78
JS: add link to docs to parse error diagnostic
2023-03-08 16:47:43 +01:00
Arthur Baars
ebf0bb889b
Ruby: add some integration tests for diagnostic messages
2023-03-08 16:35:43 +01:00
Arthur Baars
e5be8ab1e5
JS: add integration test for diagnostic messages
2023-03-08 16:04:49 +01:00
Jeroen Ketema
30cbc91092
C++: Update XXE XML query with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
6f2407412e
C++: Update some dataflow tests to use DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
8253f2d343
C++: Update UnsafeDaclSecurityDescriptor with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
7fe1a9431c
C++: Update PotentiallyExposedSystemData with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
53aa34bdd3
C++: Update UnsafeCreateProcessCall with DataFlow::ConfigSig
2023-03-08 15:04:53 +01:00
Jeroen Ketema
af612a12de
C++: Update TlsSettingsMisconfiguration with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
4363a8ea30
C++: Update leap year queries with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
e65ba13da4
C++: Update NonConstantFormat with DataFlow::ConfigSig
2023-03-08 15:04:52 +01:00
Jeroen Ketema
661160a98e
C++: Update PrivateCleartextWrite with DataFlow::ConfigSig
2023-03-08 15:04:45 +01:00
Michael B. Gale
ce937e78c0
Merge pull request #12383 from github/mbg/csharp/fix/diag-filename
...
C#: Append process id to diagnostics filename
2023-03-08 14:04:29 +00:00
Arthur Baars
22c6c53993
Merge pull request #12434 from aibaars/diagnostics-links
...
Ruby: add some links to diagnostic messages
2023-03-08 14:41:46 +01:00
Mathias Vorreiter Pedersen
a247a8b3ea
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-08 13:35:35 +00:00
Mathias Vorreiter Pedersen
e68bb53a6b
Merge pull request #12435 from jketema/more-config
...
C++: Convert a number of data flow based queries to use `ConfigSig`
2023-03-08 13:25:54 +00:00
Mathias Vorreiter Pedersen
619266d04b
C++: Fix floating point imprecision.
2023-03-08 13:24:01 +00:00
Mathias Vorreiter Pedersen
ce0f2b1788
C++: Accept test changes.
2023-03-08 13:23:58 +00:00
Mathias Vorreiter Pedersen
b0cb65403b
C++: Add range analysis for unary minus.
2023-03-08 13:23:18 +00:00
Mathias Vorreiter Pedersen
4cb5bea2c6
C++: Add simple negation test cases.
2023-03-08 13:23:05 +00:00
Michael Nebel
29ee1bda50
Merge pull request #12369 from michaelnebel/csharp/unsafestubs
...
C#: .NET 7 Runtime and ASP.NET 7 stubs.
2023-03-08 13:54:23 +01:00
Michael Nebel
6adc04eca0
Merge pull request #12370 from michaelnebel/csharp/unsafemember
...
C#: Improve the `unsafe` predicate on Modifiable.
2023-03-08 13:47:59 +01:00
Anders Schack-Mulligen
e7f85673e9
Java: Fix tests and make modules private
2023-03-08 13:35:25 +01:00
Michael B. Gale
71d0a2378b
Append process id to diagnostics filename
2023-03-08 12:15:46 +00:00
Arthur Baars
2d6f3ed6c2
Address comments
2023-03-08 13:10:03 +01:00
Mathias Vorreiter Pedersen
c84d88f5aa
Merge pull request #12429 from MathiasVP/actually-implement-language-specific-flow-into-call-node-cand1
...
C++: Implement `getAdditionalFlowIntoCallNodeTerm`
2023-03-08 11:58:56 +00:00
yoff
a45a0ee50d
Merge pull request #12425 from RasmusWL/arg-passing-problem
...
Python: Add test of keyword argument with same name as positional-only parameter
2023-03-08 12:01:26 +01:00
Maiky
5a9a90d00b
Move query to experimental
2023-03-08 11:50:04 +01:00
Mathias Vorreiter Pedersen
8308c661b4
Merge pull request #12432 from MathiasVP/fix-ir-uninitialized-node
...
C++: Fix `asUninitialized`
2023-03-08 10:03:46 +00:00
Chris Smowton
a63a4c29e2
Go: fix incorrect-integer-conversion sanitizer
...
This was amended as part of https://github.com/github/codeql/pull/12186 , but the conversion was inadequate because the new implementation didn't work when a sink (type conversion) led directly to a non-`localTaintStep` step, such as a store step or an interprocedural step. Here I move the sink back one step to the argument of the type
conversion and sanitize the result of the conversion instead, to ensure there is always a unique local successor to a sink.
This should eliminate unexpected extra results that resulted from https://github.com/github/codeql/pull/12186 . Independently there are also *lost* results that stem from needing a higher `fieldFlowBranchLimit` that are not addressed in this PR, but raising that limit is a performance risk and so I will address this separately.
2023-03-08 09:48:35 +00:00
Maiky
d9d63bbdc6
Change ERB to Erb
2023-03-08 10:41:24 +01:00
Mathias Vorreiter Pedersen
5a6b94eda2
C++: Respond to PR reviews.
2023-03-08 09:38:56 +00:00
Maiky
3e1808d92e
Apply suggestions from code review
...
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com >
2023-03-08 10:30:43 +01:00
Maiky
cd49175fae
Update ruby/ql/src/queries/security/cwe-094/TemplateInjection.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2023-03-08 10:27:57 +01:00
Maiky
cbb031ee14
Update ruby/ql/src/queries/security/cwe-094/TemplateInjection.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2023-03-08 10:27:39 +01:00
Michael Nebel
0714310661
C#: Add some more test examples.
2023-03-08 10:14:49 +01:00
Mathias Vorreiter Pedersen
263b208282
C++: Disambiguate a test annotation.
2023-03-08 09:07:07 +00:00
Michael Nebel
7ce5c0d55d
C#: Add change note.
2023-03-08 10:02:28 +01:00
Michael Nebel
c88f52c63e
C#: Add stubs test case.
2023-03-08 10:02:27 +01:00
Michael Nebel
b6d97b07bf
C#: Also print the unsafe keyword for eg. classes when creating stubs.
2023-03-08 10:02:27 +01:00
Michael Nebel
67e7b8fc23
C#: If a type (or any child of a type) is a pointer like type then it is unsafe.
2023-03-08 10:02:27 +01:00
Jeroen Ketema
5391b13db9
C++: Make dataflow configuration modules private in qll files
2023-03-08 09:18:09 +01:00
Jeroen Ketema
0f8a12f3ac
C++: Add change note for deprecated data flow configurations in qll files
2023-03-08 09:00:43 +01:00
Robert Marsh
94d80b0e87
Swift: accept LocalTaint test for constructor flow
2023-03-07 21:17:26 +00:00
Robert Marsh
86fd21de45
Swift: respond to PR comments on constructor flow
2023-03-07 21:17:01 +00:00
Paolo Tranquilli
a4c0a0353f
Merge pull request #12426 from github/redsun82/cpp-file-permissions-example
...
C++: fix example code for `FilePermissions.qll`
2023-03-07 19:55:46 +01:00
Jeroen Ketema
13bdd9c0c6
C++: Fix query compliation
...
Apparently some queries we skipped in the testing I did locally.
2023-03-07 19:16:10 +01:00
Jeroen Ketema
57c5d5f2c7
C++: Add QLDoc on configuration modules where the original class had one
2023-03-07 19:01:05 +01:00
Jeroen Ketema
0c39d1e5ca
C++: Fix query formatting
2023-03-07 18:55:58 +01:00
Jeroen Ketema
2eb2e11ef7
C++: Fix query compilation
2023-03-07 18:53:07 +01:00
AlexDenisov
6a985a3df9
Merge pull request #12392 from github/alexdenisov/mangle-builtin-types
...
Swift: mangle builtin types
2023-03-07 18:22:13 +01:00
Jeroen Ketema
fb57914751
C++: Convert a number of data flow based queries to use ConfigSig
2023-03-07 18:21:52 +01:00
Arthur Baars
858aa9ae63
Ruby: add some links to diagnostic messages
2023-03-07 17:55:13 +01:00
Mathias Vorreiter Pedersen
cc0b8bbebb
Merge pull request #12430 from MathiasVP/no-to-string-on-state-in-cast-array-pointer-arith
...
C++: Convert `cpp/upcast-array-pointer-arithmetic` to the new API
2023-03-07 16:48:15 +00:00
Alex Denisov
1283bcb860
Swift: mangle builtin types
2023-03-07 17:45:08 +01:00
AlexDenisov
d469b9711d
Merge pull request #12388 from github/alexdenisov/introduce-type-mangling
...
Swift: introduce type mangling
2023-03-07 17:44:30 +01:00
Owen Mansel-Chan
07098bf8bf
Minor refactor in diagnostics.go
2023-03-07 16:38:53 +00:00
Owen Mansel-Chan
2edccec693
Do not link to GitHub AE version of documentation
2023-03-07 16:38:53 +00:00
Owen Mansel-Chan
c28f51f820
Remove diagnostics-limit-exceeded test
...
There is no way to trigger this any more.
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
05a4fdf6d8
Put all package-not-found errors into one diagnostic
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
a4c9120a9a
Update one of the diagnostic messages
2023-03-07 16:38:52 +00:00
Owen Mansel-Chan
2c5239ff7b
Use full stops at the end of diagnostics messages
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
a7a10de9ea
Emit diagnostic to pass fourth integration tests
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
8d28253175
Add tests for fourth diagnostic (Go files found but not processed)
2023-03-07 16:38:51 +00:00
Owen Mansel-Chan
01a2e74df7
Add test for diagnostic-limit-hit diagnostic
2023-03-07 16:38:50 +00:00
Owen Mansel-Chan
b6a9f87238
Use "go/autobuilder/" as prefix for all diagnostics
2023-03-07 16:38:50 +00:00
Owen Mansel-Chan
4907e5754f
Address review comments
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
2a41e6ae66
Emit diagnostic to pass third inegration tests
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
4fe4dfbf83
Add tests for third diagnostic (package not found)
2023-03-07 16:38:49 +00:00
Owen Mansel-Chan
c0cc1c3fd5
Emit diagnostic to pass second integration test
2023-03-07 16:38:48 +00:00
Owen Mansel-Chan
3f805d3456
Remove unused param from function
2023-03-07 16:38:48 +00:00
Owen Mansel-Chan
137b2c9ef9
Add test for second diagnostic (newer go version)
2023-03-07 16:38:47 +00:00
Owen Mansel-Chan
cbb2fb9968
Emit diagnostic to pass first integration test
2023-03-07 16:38:47 +00:00
Owen Mansel-Chan
4d3b05e041
Add test for first diagnostic (different OS/arch)
2023-03-07 16:38:46 +00:00
Geoffrey White
72d6f56df1
Merge pull request #12413 from geoffw0/ptrout2
...
Swift: Permit data flow from all generic arguments
2023-03-07 16:27:12 +00:00
Mathias Vorreiter Pedersen
eea02e1ac1
C++: Accept test changes.
2023-03-07 16:18:43 +00:00
Mathias Vorreiter Pedersen
a39a6ea648
C++: Don't use indirect instructions for asUnitialized.
2023-03-07 16:18:27 +00:00
Mathias Vorreiter Pedersen
ce02de48a0
C++: Fix Code Scanning error.
2023-03-07 14:40:36 +00:00
Mathias Vorreiter Pedersen
f2b311a008
C++: We don't need to check type equivalence at the end anymore: the dataflow state now precisely tracks the types.
2023-03-07 14:31:11 +00:00
Mathias Vorreiter Pedersen
ce6366f023
C++: Use the parameterized module dataflow API in 'cpp/upcast-array-pointer-arithmetic'.
...
This allows us to swap out the old string state with the Type-based state.
2023-03-07 14:17:12 +00:00
Mathias Vorreiter Pedersen
0d1e061f5a
C++: Implement 'getAdditionalFlowIntoCallNodeTerm'.
2023-03-07 13:45:32 +00:00
Mathias Vorreiter Pedersen
63690066c5
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-03-07 13:06:43 +00:00
Mathias Vorreiter Pedersen
b054b9c5cd
Merge pull request #12408 from jketema/merge-main
...
C++: use-use dataflow merge main
2023-03-07 13:05:30 +00:00
Anders Schack-Mulligen
2288eab0fd
Java: Refactor BrokenCryptoAlgorithm, MaybeBrokenCryptoAlgorithm
2023-03-07 13:53:36 +01:00
Paolo Tranquilli
c4fd39ec3f
C++: fix example code for FilePermissions.qll
2023-03-07 13:50:20 +01:00
Arthur Baars
78a802359e
Remove references to 'ruby' in generic extractor code
2023-03-07 13:38:48 +01:00
Anders Schack-Mulligen
50935899fa
Java: Refactor XSS.ql
2023-03-07 13:33:00 +01:00
Paolo Tranquilli
bdad847584
Merge pull request #12422 from github/redsun82/cpp-scanf-fp
...
C++: add false positives to `MissingCheckScanf` test
2023-03-07 13:29:22 +01:00
Rasmus Wriedt Larsen
dda29e99b2
Python: Add test of keyword argument with same name as positional-only parameter
...
This is a bit of an edge case, but allowed. Since we currently don't
provide information on positional only arguments, we can't do much to
solve it right now.
2023-03-07 13:28:48 +01:00
Asger F
05b5aea477
JS: Changenote
2023-03-07 13:15:44 +01:00
Michael B. Gale
7627a53c49
Merge pull request #12371 from github/mbg/csharp/increase-diagnostic-visibility
...
C#: Make diagnostics visible everywhere
2023-03-07 12:13:09 +00:00
Michael B. Gale
974fdd305e
Merge pull request #12372 from github/mbg/csharp/check-integration-test-diagnostics
...
C#: Add diagnostic checks to all remaining integration tests
2023-03-07 12:11:47 +00:00
Michael B. Gale
b75f138507
Merge pull request #12385 from github/mbg/csharp/readd-tsp-support
...
C#: Add support for the tool status page
2023-03-07 12:10:52 +00:00
Asger F
856b50735d
JS: Expand test case
2023-03-07 13:04:26 +01:00
Paolo Tranquilli
429518bcea
C++: add further FP to test
2023-03-07 12:03:34 +01:00
Paolo Tranquilli
311cf4e7fd
C++: add false positives to MissingCheckScanf test
...
See https://github.com/github/codeql/issues/12412 for the initial
report.
2023-03-07 11:56:05 +01:00
Anders Schack-Mulligen
d839b4038e
Java: Refactor TaintedPath.ql
2023-03-07 11:53:03 +01:00
Anders Schack-Mulligen
cc75a1a97e
Java: Refactor RequestForgery.ql
2023-03-07 11:39:03 +01:00
Anders Schack-Mulligen
35beadc3bb
Java: Refactor SensitiveInfoLog.ql
2023-03-07 11:31:49 +01:00
Michael Nebel
40d31120d9
Merge pull request #12264 from michaelnebel/csharp/nugetnet7
...
C#: Stub generator improvements.
2023-03-07 11:30:57 +01:00
Jeroen Ketema
3a4c0a2aae
Merge pull request #12389 from jketema/more-deprecated
...
C++: Add `deprecated` to predicates that are deprecated according to the QLDoc
2023-03-07 11:21:43 +01:00
Anders Schack-Mulligen
4408482699
Java: Refactor NumericCastTainted, NumericCastTaintedLocal
2023-03-07 10:42:00 +01:00
Anders Schack-Mulligen
d4e6e77200
Java: Refactor StackTraceExposure, XSS.qll
2023-03-07 10:38:00 +01:00
Anders Schack-Mulligen
c4cf2febfb
Java: Refactor ResponseSplitting, ResponseSplittingLocal
2023-03-07 10:37:45 +01:00
Michael Nebel
af12affc36
C#: Re-generate stubs to update comments.
2023-03-07 10:35:13 +01:00
Asger F
0affd898de
JS: Track trusted type policy callbacks
2023-03-07 10:22:26 +01:00
Michael Nebel
676c352819
C#: Update expected test output.
2023-03-07 10:19:26 +01:00
Michael Nebel
e85b2ebd20
C#: Replace stub member comment with file level comment.
2023-03-07 10:19:26 +01:00
Michael Nebel
c8f7304d9b
C#: Address review comments.
2023-03-07 10:19:25 +01:00
Michael Nebel
e797b5c226
C#: Narrow the set of declarations where we make explicit interface implementations.
2023-03-07 10:19:25 +01:00
Michael Nebel
d8acc7cd17
C#: Stub generator support for explicit interface implementations of explicit conversion operators including test cases.
2023-03-07 10:19:25 +01:00
Michael Nebel
59349ed7c7
C#: Add test cases for static and virtual operators in interfaces and overlapping interface declarations.
2023-03-07 10:19:25 +01:00
Michael Nebel
50570dc3ee
C#: Only add explicit interface implementation to the generated stub if it is unique.
2023-03-07 10:19:25 +01:00
Michael Nebel
5ba59fc9a8
C#: Stub generator support for operators in interfaces and interface implementations.
2023-03-07 10:19:25 +01:00
Michael Nebel
b68e78d908
C#: Stub generator support for static virtual and static abstract interface members.
2023-03-07 10:19:25 +01:00
Michael Nebel
aa4b98bbd5
C#: The stub generator should just format whitespaces.
2023-03-07 10:19:25 +01:00
Jeroen Ketema
9ec479a2a0
C++: Update queries to use DataFlow::ConfigSig
2023-03-07 10:15:11 +01:00
Tom Hvitved
9b02eb729f
Merge pull request #12419 from hvitved/ruby/stored-xss-config-rewrite
...
Ruby: Rewrite Stored XSS query to use new data flow interface
2023-03-07 09:46:08 +01:00
Asger F
4f0e17bf97
JS: Add step to a few other queries
2023-03-07 09:39:40 +01:00
Jeroen Ketema
c9bccd9b43
C++: Fix more tests that used deprecated function
2023-03-07 09:01:13 +01:00
Tom Hvitved
b6a709df50
Ruby: Rewrite Stored XSS query to use new data flow interface
2023-03-07 07:23:27 +01:00
Robert Marsh
686f7ccd5a
Swift: add flow for self out of constructors
2023-03-06 20:46:36 +00:00
Robert Marsh
9731989421
Swift: add tests for flow through constructors
2023-03-06 20:39:58 +00:00
Arthur Baars
51599b3cae
Address review comments
2023-03-06 18:40:29 +01:00
Geoffrey White
2ed140c696
Swift: Update the pointertypes test.
2023-03-06 17:14:14 +00:00
Mathias Vorreiter Pedersen
ff53e53e8c
Merge pull request #12236 from MathiasVP/language-specific-field-flow-branch-limit-term
...
Dataflow: Add a language specific term to `join` and `branch`
2023-03-06 16:59:09 +00:00
Geoffrey White
4d327dbf4f
Swift: The PointerType class isn't used any d any more.
2023-03-06 16:36:41 +00:00
Geoffrey White
61340c4b20
Swift: Permit data flow from generic arguments, rather than just pointers.
2023-03-06 16:34:12 +00:00
Geoffrey White
1e5b904514
Swift: Add test cases for mutating pointers inside containers.
2023-03-06 16:17:39 +00:00
Mathias Vorreiter Pedersen
aa09361a42
Merge pull request #12407 from MathiasVP/fix-internal-system-data-tests
2023-03-06 15:45:25 +00:00
Jeroen Ketema
47930f94e2
Merge remote-tracking branch 'upstream/main' into merge-main
2023-03-06 15:20:39 +01:00
Asger F
d4b4d22378
JS: Step through HTML sanitizers in SQL injection query
2023-03-06 15:10:26 +01:00
Mathias Vorreiter Pedersen
92ad099c1b
DataFlow: Remove bindingsets, remove the call column, and swap parameter and argument columns.
2023-03-06 13:47:59 +00:00
Mathias Vorreiter Pedersen
3bf28cc752
DataFlow: Sync identical files.
2023-03-06 13:46:21 +00:00
Mathias Vorreiter Pedersen
9647b6a3f5
Swift: Add stub.
2023-03-06 13:45:04 +00:00
Mathias Vorreiter Pedersen
e6b6369a21
Ruby: Add stub.
2023-03-06 13:44:59 +00:00
Mathias Vorreiter Pedersen
5ebd50044f
Python: Add stub.
2023-03-06 13:44:24 +00:00
Mathias Vorreiter Pedersen
4720e2a30a
Java: Add stub.
2023-03-06 13:44:24 +00:00
Mathias Vorreiter Pedersen
067abacbb8
Go: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
b667e0136f
C#: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
05314b48e8
C++: Add stub.
2023-03-06 13:44:23 +00:00
Mathias Vorreiter Pedersen
6e8a2a6375
DataFlow: Add a language-specific predicate for modifying 'branch' and 'join'.
2023-03-06 13:44:19 +00:00
Geoffrey White
56b6441ef5
Merge pull request #12391 from geoffw0/ptrout
...
Swift: Permit data flow out through pointer arguments
2023-03-06 13:37:22 +00:00
Anders Schack-Mulligen
5c7f2ac7f7
Merge pull request #12186 from aschackmull/dataflow/refactor-configuration
...
Data flow: Refactor configuration
2023-03-06 13:38:59 +01:00
Mathias Vorreiter Pedersen
d2d91cfb29
C++: Accept test changes.
2023-03-06 11:30:40 +00:00
Mathias Vorreiter Pedersen
8836cbae5b
C++: Make sure we use an indirect sink only for the sinks that receive a
...
pointer to the data. Also fix a bug where we used 'asExpr' instead
of 'asIndirectExpr'.
2023-03-06 11:22:58 +00:00
dependabot[bot]
3538cf89b9
Merge pull request #12404 from github/dependabot/cargo/ql/serde_json-1.0.94
2023-03-06 09:55:33 +00:00
Arthur Baars
d2ab40c184
Merge pull request #12208 from gregxsunday/main
...
Add ZipSlip and TarSlip query to ruby
2023-03-06 10:40:06 +01:00
dependabot[bot]
ce5e76a3a0
Bump serde_json from 1.0.93 to 1.0.94 in /ql
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 09:32:26 +00:00
Anders Schack-Mulligen
557cb17f4d
Dataflow: Minor perf fix for single config wrapper.
2023-03-06 10:24:33 +01:00
Calum Grant
b8e123dc08
Merge pull request #12402 from github/dependabot/cargo/ruby/serde_json-1.0.94
...
Bump serde_json from 1.0.93 to 1.0.94 in /ruby
2023-03-06 09:24:21 +00:00
Anders Schack-Mulligen
d4c5877484
Merge pull request #3 from MathiasVP/fix-exec-tainted
...
C++: Use refactored dataflow library in `cpp/command-line-injection`
2023-03-06 09:32:34 +01:00
Jeroen Ketema
72d03e4060
C++: Fix test that used deprecated function
2023-03-06 09:07:52 +01:00
dependabot[bot]
d34d7e51e5
Bump rayon from 1.6.1 to 1.7.0 in /ql
...
Bumps [rayon](https://github.com/rayon-rs/rayon ) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/rayon-rs/rayon/releases )
- [Changelog](https://github.com/rayon-rs/rayon/blob/master/RELEASES.md )
- [Commits](https://github.com/rayon-rs/rayon/compare/rayon-core-v1.6.1...rayon-core-v1.7.0 )
---
updated-dependencies:
- dependency-name: rayon
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 04:18:21 +00:00
dependabot[bot]
f93b304578
Bump serde_json from 1.0.93 to 1.0.94 in /ruby
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.93 to 1.0.94.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.93...v1.0.94 )
---
updated-dependencies:
- dependency-name: serde_json
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2023-03-06 04:15:01 +00:00
Dave Bartolomeo
e169702165
Merge branch 'main' into post-release-prep/codeql-cli-2.12.4
2023-03-04 09:20:44 -05:00
github-actions[bot]
af61b45785
Post-release preparation for codeql-cli-2.12.4
2023-03-04 14:16:55 +00:00
Dave Bartolomeo
d589b324c9
Merge pull request #12386 from github/release-prep/2.12.4
...
Release preparation for version 2.12.4
2023-03-03 16:59:55 -05:00
Dave Bartolomeo
b342e93989
Move change note to appropriate pack
2023-03-03 14:43:00 -05:00
Geoffrey White
6f120a66d0
Merge pull request #12368 from geoffw0/taintarith3
...
Swift: Fill some gaps in arithmetic / bitwise operations modelling
2023-03-03 18:20:54 +00:00
Geoffrey White
9aaf30691c
Merge pull request #12307 from geoffw0/stringconflationtaint
...
Swift: Update swift/string-length-conflation to taint tracking
2023-03-03 17:27:15 +00:00
Geoffrey White
c29dcefcf2
Swift: Fix .expected file. Locations had changed after the formatting fix.
2023-03-03 17:24:07 +00:00
Geoffrey White
395bf675fe
Swift: Make the test work on Linux.
2023-03-03 17:14:57 +00:00
Jeroen Ketema
aa00424b75
C++: Fix experimental query that uses the deprecated freeCall predicate
2023-03-03 17:53:49 +01:00
Geoffrey White
2d889304bb
Swift: Some cases in the SqlInjection test are fixed by this.
2023-03-03 16:49:13 +00:00
Geoffrey White
b2bcb2d378
Swift: Fix formatting.
2023-03-03 16:32:21 +00:00
Chris Smowton
d4e02eb846
Merge pull request #12384 from smowton/smowton/admin/java-tsp-message-cleanup
...
Java TSP: test changes re: formatting improvements
2023-03-03 16:24:35 +00:00
Geoffrey White
6e3040987a
Swift: Autoformat.
2023-03-03 16:24:28 +00:00
Geoffrey White
234f17b578
Swift: Use PointerType in data flow's 'modifiable' predicate.
2023-03-03 16:23:49 +00:00
Geoffrey White
3249cee1c9
Swift: Add an overall PointerType.
2023-03-03 16:23:46 +00:00
Geoffrey White
589e0af20a
Swift: Test for pointer types.
2023-03-03 16:23:29 +00:00
Geoffrey White
9423c21d46
Swift: Add simple model for pointer types.
2023-03-03 16:23:27 +00:00
Jeroen Ketema
391d9bed5b
C++: Add deprecated to predicates that are deprecated according to the QLDoc
2023-03-03 17:15:47 +01:00
Jeroen Ketema
2ee8344e92
Merge pull request #12387 from jketema/qualified-deprecation
...
C++: Properly deprecate `hasQualifiedName` by using the `deprecated` keyword
2023-03-03 17:11:56 +01:00
Alex Denisov
7f3e7224df
Swift: introduce type mangling
2023-03-03 16:28:41 +01:00
AlexDenisov
4aeff0f8dc
Merge pull request #12335 from github/alexdenisov/extract-lazy-declarations
...
Swift: extract lazy declarations
2023-03-03 16:06:20 +01:00
Geoffrey White
9f86bcb1b8
Swift: Proof of concept fix.
2023-03-03 15:04:47 +00:00
Geoffrey White
15227d3c09
Swift: Add tests where a user-defined (non-modelled) function taints the pointee of a pointer argument.
2023-03-03 15:00:22 +00:00
Jeroen Ketema
6495f1911f
C++: Properly deprecate hasQualifiedName by using the deprecated keyword
2023-03-03 15:57:59 +01:00
erik-krogh
b875d30bc6
fix repeated predicate name in change-note
2023-03-03 15:55:17 +01:00
Chris Smowton
b234bbd119
Accept test changes
2023-03-03 14:46:21 +00:00
Mathias Vorreiter Pedersen
907e6299a4
C++: Convert 'ExecTainted' to use the new refactored dataflow library.
2023-03-03 14:41:29 +00:00
Michael Nebel
24fa2be7b3
C#: Update flow summaries expected output test.
2023-03-03 15:37:36 +01:00
Michael Nebel
d2d7ed7bae
C#: .NET 7 stubs.
2023-03-03 15:37:36 +01:00
Jeroen Ketema
549fb0324b
Apply suggestions from code review
2023-03-03 15:26:38 +01:00
github-actions[bot]
462da63970
Release preparation for version 2.12.4
2023-03-03 14:11:51 +00:00
Jeroen Ketema
fe5fbaa142
C++: Replace hasQualifiedName by hasGlobalName in docs examples
2023-03-03 15:08:00 +01:00
Jeroen Ketema
620c69df12
C++: Add more static qualifiers in syntax zoo test
2023-03-03 15:03:31 +01:00
Michael B. Gale
9dc9925f59
Abstract over DiagnosticsStream for tests
2023-03-03 13:05:43 +00:00
Michael Nebel
df6f5d52b9
C#: Use dependency injection in the auto builder for Diagnostic classifier.
2023-03-03 13:05:28 +00:00
Michael B. Gale
85751e7ddd
Simplify DiagnosticClassifier in CSharpAutobuilder
2023-03-03 13:05:28 +00:00
Michael B. Gale
fe3066da56
Apply ql-for-ql suggestion
2023-03-03 13:05:28 +00:00
Michael B. Gale
a5f7913af3
Fix expected test output for Windows tests
2023-03-03 13:05:28 +00:00
Michael B. Gale
c2049c22a3
Refactor to avoid public setters
2023-03-03 13:05:27 +00:00
Michael B. Gale
4f0a93295a
Move Language class to Semmle.Util
2023-03-03 13:05:27 +00:00
Michael B. Gale
6f3b5c01d5
Fix IDisposable contract violation
2023-03-03 13:05:27 +00:00
Michael B. Gale
be2d64a9d4
Simplify Xamarin query to be platform-independent
2023-03-03 13:05:27 +00:00
Michael B. Gale
92359de363
Add test for missing Xamarin SDKs
2023-03-03 13:05:27 +00:00
Michael B. Gale
1638f8edc5
Add test for missing project files
2023-03-03 13:05:26 +00:00
Michael B. Gale
40bda03180
Add test for dotnet incompatible projects
2023-03-03 13:05:26 +00:00
Michael B. Gale
5c641362bc
Show .NET core error only if files exist
2023-03-03 13:05:26 +00:00
Michael B. Gale
04aaccb186
Fix C++ test missing env var
2023-03-03 13:05:26 +00:00
Michael B. Gale
6eda71b659
Add tests for build script diagnostics
2023-03-03 13:05:26 +00:00
Michael B. Gale
b26f9d0ff1
Use relative paths
2023-03-03 13:05:25 +00:00
Michael B. Gale
b2d1cfe3d1
Add diagnostic for missing project files
2023-03-03 13:05:25 +00:00
Michael B. Gale
b97c885c8d
Add helper for markdown lists of projects
2023-03-03 13:05:25 +00:00
Michael B. Gale
5b6444d32d
Refactor autobuild logic into an IBuildRule
2023-03-03 13:05:25 +00:00
Michael B. Gale
65608d7900
Fix: drop please
2023-03-03 13:05:24 +00:00
Michael B. Gale
95f9d0761a
Add docs link for missing Xamarin SDKs
2023-03-03 13:05:24 +00:00
Michael B. Gale
0d5c5a7e92
Link to docs for autobuild failures
2023-03-03 13:05:24 +00:00
Michael B. Gale
9d19752c2e
Make improvements based on PR feedback
2023-03-03 13:05:24 +00:00
Michael B. Gale
62cd8ca26f
Update C/C++ autobuilder
2023-03-03 13:05:24 +00:00
Michael B. Gale
abf3f9f232
Use TryGetValue
2023-03-03 13:05:23 +00:00
Michael B. Gale
6471889fa6
Detect missing Xamarin SDKs
2023-03-03 13:05:23 +00:00
Michael B. Gale
b1f9a3d22a
Fixup: better error message for no-projects-or-solutions
2023-03-03 13:05:23 +00:00
Michael B. Gale
9165ec92c5
Report .NET Core & MSBuild failures
2023-03-03 13:05:23 +00:00
Michael B. Gale
62b59747d1
Track which projects/solutions fail to build
2023-03-03 13:05:23 +00:00
Michael B. Gale
43df6397bb
Report projects incompatible with .NET Core
2023-03-03 13:05:22 +00:00
Michael B. Gale
802e2319b5
Set DiagnosticMessage defaults
...
Refactor `GetDiagnosticSource` into `MakeDiagnostic`
which sets the defaults.
2023-03-03 13:05:22 +00:00
Michael B. Gale
28b350ee95
Change logic for autobuild failures
...
This is to account for multiple attempted rules that failed
2023-03-03 13:05:22 +00:00
Michael B. Gale
dfcc57ba83
Support asynchronous stdout/stderr processing
2023-03-03 13:05:22 +00:00
Michael B. Gale
ec2deb0889
Fixup: We => CodeQL
2023-03-03 13:05:22 +00:00
Michael B. Gale
dc7cf272db
Add no projects/solutions diagnostic
2023-03-03 13:05:21 +00:00
Michael B. Gale
55d7b74489
Add diagnostics for BuildCommandAutoRule
2023-03-03 13:05:21 +00:00
Michael B. Gale
b88382e3e7
BuildCommandAutoRule: expose more information
...
We expose the list of candidate script paths and the chosen script path
so that we can inspect them for diagnostics purposes.
2023-03-03 13:05:21 +00:00
Michael B. Gale
60afa6e9f0
Add basic reporting of a general autobuild failure
2023-03-03 13:05:21 +00:00
Michael B. Gale
38a3a5ebfa
Add initial code for diagnostic messages
2023-03-03 13:05:21 +00:00
Michael B. Gale
e029b1f0a8
Read ..._DIAGNOSTIC_DIR variable
2023-03-03 13:05:20 +00:00
Michael B. Gale
467429c23e
Refactor env var code in Autobuilder class
2023-03-03 13:05:19 +00:00
Asger F
37999eaea0
JS: Fix implicit this
2023-03-03 13:43:17 +01:00
Asger F
f4b13e0955
JS: Update printAst expected output
2023-03-03 13:42:42 +01:00
Kasper Svendsen
fe65fb8743
Merge pull request #12360 from kaspersv/kaspersv/actioncontroller-prevent-bad-join
...
ActionController: Prevent bad join
2023-03-03 13:38:33 +01:00
Asger F
f2f972567d
Merge pull request #12379 from github/revert-12217-mbg/csharp/tsp-support
...
Revert "C#: Tool status page support"
2023-03-03 13:29:13 +01:00
Erik Krogh Kristensen
d94e51aaf6
Merge pull request #12377 from erik-krogh/jHtml
...
JS: add the html argument to the jQuery functions as an XSS sink
2023-03-03 13:19:38 +01:00
Jeroen Ketema
87b1c3eaa8
Merge pull request #12381 from jketema/silence
...
C++: Silence some more bogus consistency errors in syntax zoo
2023-03-03 12:51:39 +01:00
Nick Fyson
48c30771da
Merge pull request #12374 from github/codeql-ci/atm/update-model-pack/ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
...
ATM: Update model pack to version 0.3.1-2023-03-01-12h42m43s.strong-turtle-1xp3dqvv.ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
2023-03-03 11:42:57 +00:00
Asger F
7f96fe725b
JS: Change note
2023-03-03 12:21:20 +01:00
Asger F
1264029282
JS: Bump extractor version string
2023-03-03 12:21:20 +01:00
Asger F
7a55b003d2
JS: Fix location of assert clause
2023-03-03 12:21:20 +01:00
Asger F
38194c6ae7
JS: Extract import assertions to DB
2023-03-03 12:21:20 +01:00
Asger F
f454151e7a
JS: Convert TypeScript import assertions
2023-03-03 12:21:20 +01:00
Asger F
3af085afcb
JS: Drive-by allow trailing commas in dynamic imports
2023-03-03 12:21:20 +01:00
Asger F
8d9060f1f9
JS: Store in the Java AST
2023-03-03 12:21:03 +01:00
Asger F
c715de2a10
JS: parse import assertions without storing in AST
2023-03-03 12:21:03 +01:00
Asger F
5fdc293d82
JS: Add trap test for import assertions
2023-03-03 12:21:03 +01:00
Mathias Vorreiter Pedersen
16e817c814
Merge pull request #12356 from MathiasVP/use-phi-reads
...
C++: Include "phi reads" in `DataFlow::Node`
2023-03-03 11:14:08 +00:00
Jeroen Ketema
4faede0e2c
C++: Silence some more bogus consistency errors in syntax zoo
...
These were due to several functions occurring that would have the same TRAP key.
By making the functions static or wrapping the defining class in an anonymous
namespace the TRAP keys will differ from each other.
2023-03-03 12:07:33 +01:00
Jeroen Ketema
7f9b856a21
Merge pull request #12378 from jketema/silence
...
C++: Silence a number of bogus consistency errors in syntax zoo
2023-03-03 12:05:29 +01:00
Anders Schack-Mulligen
0addcfa7c5
Dataflow: Fix some perf issues.
2023-03-03 11:45:32 +01:00
Asger F
8f0b77d54f
Revert "C#: Tool status page support"
2023-03-03 11:44:42 +01:00
Geoffrey White
7b596f4928
Merge pull request #10431 from ihsinme/ihsinme-patch-111
...
CPP: Add query for CWE-369: Divide By Zero.
2023-03-03 10:42:04 +00:00
Jeroen Ketema
f649def3f8
C++: Silence a number of bogus consistency errors in syntax zoo
...
These were due to several functions occurring that would have the same TRAP
key. By making the functions static the TRAP keys will differ from each other.
2023-03-03 11:16:19 +01:00
erik-krogh
a6c9af4182
add the html argument to the jQuery functions as an XSS sink
2023-03-03 11:09:53 +01:00
erik-krogh
94870b838f
add failing test
2023-03-03 11:08:33 +01:00
Nick Fyson
5869c36366
Merge branch 'main' into codeql-ci/atm/update-model-pack/ecb17d40286d14132b481c065a43459a7f0ba9059015b7a49c909c9f9ce5fec5
2023-03-03 10:03:22 +00:00
Alex Denisov
ae7a0c517c
Swift: do not allocate mangler statically
2023-03-03 10:28:08 +01:00
Alex Denisov
60c1505097
Swift: address review comments
2023-03-03 10:26:44 +01:00
erik-krogh
a928f4c9ef
add change-notes
2023-03-03 09:23:10 +01:00
erik-krogh
f96d6accbb
delete old deprecations
2023-03-03 09:23:02 +01:00
Paolo Tranquilli
1a19909abf
Merge pull request #12373 from github/redsun82/swift-qldoc
...
Swift: turn on QLdoc check
2023-03-03 08:26:39 +01:00
Mathias Vorreiter Pedersen
959237e8d2
C++: Fix missing type for Phi nodes.
2023-03-02 22:48:10 +00:00
Mathias Vorreiter Pedersen
2963dc1cb1
C++: Include phi read nodes in SSA.
...
There's a small fix to the mapping from 'global def -> use'.
Finally, this commit also accepts a test failure related to new missing
types for phi nodes. The fix for that is in the next commit.
2023-03-02 22:48:06 +00:00
Mathias Vorreiter Pedersen
b3f92fcf0f
C++: Add FN caused by missing static local initialization in SSA.
2023-03-02 22:37:52 +00:00
erik-krogh
fc9e63275f
only print a constant when catching an OOM
2023-03-02 22:14:29 +01:00
Erik Krogh Kristensen
094a2b0c46
Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2023-03-02 22:14:17 +01:00
Alex Denisov
ffcb382705
Swift: only consider Builting and __ObjC declarations as lazy
2023-03-02 20:00:23 +01:00
github-actions[bot]
50c90bbc5c
ATM: Update model pack dependency of ML-powered model building and query packs
2023-03-02 17:31:03 +00:00
Geoffrey White
764a52354e
Merge pull request #12367 from geoffw0/nsstring2
...
Swift: Additional NSString taint test cases
2023-03-02 15:56:15 +00:00
Michael B. Gale
75b4a0e8ea
Add diagnostic checks to all integration tests
2023-03-02 15:25:49 +00:00
Paolo Tranquilli
162b995428
Swift: turn on QLdoc check
2023-03-02 16:16:12 +01:00
Anders Schack-Mulligen
b34f99f716
Dataflow: Add change notes.
2023-03-02 16:01:29 +01:00
Michael B. Gale
6c501d15b6
Make diagnostics visible everywhere
2023-03-02 14:53:53 +00:00
erik-krogh
88810420b1
add location to the parse-error diagnostics
2023-03-02 14:54:58 +01:00
erik-krogh
c460eae2e1
implement diagnostics
2023-03-02 14:54:54 +01:00
Jeroen Ketema
f6ce27075c
C++: Address review comments
2023-03-02 14:32:49 +01:00
Anders Schack-Mulligen
a498ab241b
Go: Fix query.
2023-03-02 13:53:37 +01:00
Mathias Vorreiter Pedersen
a1a2d7c469
Merge pull request #12355 from geoffw0/splittest
...
Swift: Split the taint flow test.
2023-03-02 12:53:07 +00:00
Geoffrey White
27ec36298f
Swift: Understand binary pointwise operations.
2023-03-02 12:42:34 +00:00
Geoffrey White
ec2c58b416
Swift: Understand overflow binary bitwise operations.
2023-03-02 12:11:25 +00:00
Geoffrey White
1206b73d87
Swift: Understand overflow binary arithmetic operations.
2023-03-02 12:11:15 +00:00
Michael B. Gale
fd9b279ef9
Merge pull request #12217 from github/mbg/csharp/tsp-support
2023-03-02 11:47:30 +00:00
Geoffrey White
53f52df809
Swift: Add taint test cases for overflow, bitwise and pointwise arithmetic operations.
2023-03-02 11:41:31 +00:00
Geoffrey White
c42add2191
Swift: Add test cases for overflow and pointwise binary arithmetic operations.
2023-03-02 11:28:59 +00:00
Jeroen Ketema
7ce230af77
Update docs/codeql/codeql-language-guides/analyzing-data-flow-in-cpp-new.rst
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2023-03-02 11:58:29 +01:00
Geoffrey White
730532f96a
Swift: Add some (limited) test coverage for NSString <-> Data conversion.
2023-03-02 10:33:57 +00:00
Geoffrey White
1332309f59
Swift: Add some (limited) test coverage for String <-> NSString conversions.
2023-03-02 10:33:57 +00:00
Mathias Vorreiter Pedersen
c2efb4d232
Merge pull request #12350 from MathiasVP/no-standard-order-for-convertsIntoArgumentRev
...
C++: Disable a bad standard order
2023-03-02 10:27:20 +00:00
Arthur Baars
9e5ef9cf9d
Merge pull request #12216 from aibaars/diagnostics-2
...
Ruby: improve diagnostic messages
2023-03-02 10:30:58 +01:00
Kasper Svendsen
9cac4bbe0f
ActionController: Prevent bad join
2023-03-02 10:02:08 +01:00
Tony Torralba
7705d5f513
Merge pull request #12357 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-03-02 09:30:38 +01:00
Michael Nebel
2525ac3dd2
C#: Use dependency injection in the auto builder for Diagnostic classifier.
2023-03-02 09:18:56 +01:00
Jeroen Ketema
87f0f1fb33
C++: Fix description of asIndirectExpr and asParameter\1 in docs
2023-03-02 09:08:38 +01:00
github-actions[bot]
3b9de22af9
Add changed framework coverage reports
2023-03-02 00:18:47 +00:00
Geoffrey White
8e069b7686
Swift: Split the taint flow test.
2023-03-01 20:45:46 +00:00
yoff
65acf16ecc
Merge pull request #12320 from yoff/python/document-api-call-node
...
Python: Document `API::CallNode`
2023-03-01 20:19:30 +01:00
Jeroen Ketema
c6dc55ef9b
C++: Update use-use dataflow docs to reflect what is going on in the library
2023-03-01 19:00:33 +01:00
Geoffrey White
bf6f6eec34
Merge pull request #12225 from geoffw0/nsstring
...
Swift: Taint models for NSString
2023-03-01 16:30:06 +00:00
Tony Torralba
59bd1e5ab1
Merge pull request #12228 from github/java/mad-decls-triage-request-2276
...
Java: Update MaD sink decls after triage
2023-03-01 17:08:38 +01:00
Geoffrey White
f8079056ec
Swift: Fix test on Linux.
2023-03-01 15:47:30 +00:00
erik-krogh
6cd4cd332d
remove redundant imports
2023-03-01 16:25:01 +01:00
Mathias Vorreiter Pedersen
2f8d71762c
C++: Disable standard order for 'convertsIntoArgumentRev'.
2023-03-01 15:16:49 +00:00
Michael B. Gale
93a45fce5e
Simplify DiagnosticClassifier in CSharpAutobuilder
2023-03-01 14:58:49 +00:00
Alex Denisov
276fec39fc
Swift: consider lazy declaration emitted if the process lost in the race
2023-03-01 15:42:44 +01:00
Asger F
b6ec9464eb
JS: Remove trailing whitespace
2023-03-01 15:29:51 +01:00
Alex Denisov
ded0e570b0
Swift: extract lazy declarations
2023-03-01 15:22:22 +01:00
AlexDenisov
fed504c1d0
Merge pull request #12348 from github/alexdenisov/extract-emission-body-decisions
...
Swift: move decision making out of dispatcher. NFC
2023-03-01 15:18:44 +01:00
Alex Denisov
8194fe3743
Swift: do not make module depend on itself for linkage awareness
2023-03-01 14:30:06 +01:00
Paolo Tranquilli
37438599de
Merge branch 'main' into alexdenisov/extract-emission-body-decisions
2023-03-01 13:47:12 +01:00
Paolo Tranquilli
c0f9b111a0
Merge pull request #12347 from github/alexdenisov/move-location-extraction
...
Swift: move location extraction logic into a separate class. NFC
2023-03-01 13:46:52 +01:00
Anders Schack-Mulligen
34cc93846b
Python: Adjust InsecureProtocol query.
2023-03-01 13:36:10 +01:00
Arthur Baars
2c611d3fef
Address review comments
2023-03-01 13:30:02 +01:00
Michael Nebel
2db588f72e
Merge pull request #12322 from michaelnebel/csharp/operatorexplicitinterface
...
C# 11: Support for explicit interface implementations of operators.
2023-03-01 12:55:21 +01:00
erik-krogh
31336b09c4
add summary for the Array method on Kernel
2023-03-01 12:53:13 +01:00
Erik Krogh Kristensen
64dad3db8a
Merge pull request #12333 from kaspersv/kaspersv/fix-join-order
...
ReflectedXss: Prevent bad join order
2023-03-01 12:48:30 +01:00
Mathias Vorreiter Pedersen
0469df1c18
Merge pull request #12338 from MathiasVP/expr-sanitizer-for-exec-tainted
...
C++: Speedup `cpp/command-line-injection`
2023-03-01 11:40:05 +00:00
AlexDenisov
5701798f1c
Merge branch 'main' into alexdenisov/move-location-extraction
2023-03-01 12:24:41 +01:00
AlexDenisov
bb8d195607
Merge pull request #12337 from github/alexdenisov/extract-mangler
...
Swift: extract mangler into a separate class. NFC
2023-03-01 12:23:24 +01:00
Alex Denisov
def9831180
Swift: move decision making out of dispatcher
2023-03-01 12:02:58 +01:00
Alex Denisov
b1aef82117
Swift: move location extraction logic into a separate class
2023-03-01 11:32:50 +01:00
Tom Hvitved
16fa8b2914
Merge pull request #12051 from hmac/actioncontroller-filter-flow-steps
...
Ruby: flow steps for ActionController filters
2023-03-01 10:51:09 +01:00
Michael Nebel
ad5a45e465
C#: Add change note.
2023-03-01 10:42:29 +01:00
Michael Nebel
477b4566ed
C#: Update expected test output.
2023-03-01 10:42:29 +01:00
Michael Nebel
f209eed91c
C#: Extractor- and library support for explicit interface implementations for operators.
2023-03-01 10:42:28 +01:00
Michael Nebel
51be175111
C#: Add public members testcase and expected output.
2023-03-01 10:42:28 +01:00
Michael Nebel
363dd49a3c
C#: Add explicit interface implementation examples and update expected test output.
2023-03-01 10:42:28 +01:00
Michael Nebel
0dc6ada616
Merge pull request #12234 from michaelnebel/csharp/filescopedtypes
...
C# 11: Support for `file` scoped types.
2023-03-01 10:39:46 +01:00
Geoffrey White
b6db0de437
Swift: Add inline expectation results.
2023-03-01 09:26:30 +00:00
Geoffrey White
228c0e221d
Merge branch 'main' into nsstring
2023-03-01 09:12:36 +00:00
Geoffrey White
11e0efee68
Merge pull request #12308 from geoffw0/taintplusequals2
...
Swift: Model assignment operators (+= etc)
2023-03-01 09:02:29 +00:00
Tony Torralba
0439eb640d
Add tests
2023-03-01 09:49:28 +01:00
Tony Torralba
4e7dbbf5f0
Add stubs
2023-03-01 09:48:33 +01:00
Tom Hvitved
92359e539b
Fix another bad join
...
Before
```
[2023-03-01 08:19:51] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 in 6751ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@6718c917 with tuple counts:
3872025 ~3% {2} r1 = JOIN _CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_DataFlowPrivate#462ff392::Cached::TExprNode#ff#shared WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3637917 ~0% {2} r2 = JOIN r1 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1
679799 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Method#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1
3069328 ~0% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
22039083 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10051483 ~0% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~5% {3} r7 = JOIN r6 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10057538 ~5% {3} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprNodes::SelfVariableAccessCfgNode#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
10057538 ~0% {3} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
10033937 ~1% {3} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
83281 ~2% {2} r11 = JOIN r10 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
return r11
```
After
```
[2023-03-01 08:31:20] Evaluated non-recursive predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q in 161ms (size: 83265).
Evaluated relational algebra for predicate Filters#b57b2328::Filters::selfPostUpdate#2#ff@06d73c6q with tuple counts:
23680 ~2% {1} r1 = SCAN Method#8b49e67f::Method#ff OUTPUT In.0
23680 ~2% {1} r2 = STREAM DEDUP r1
23680 ~0% {2} r3 = JOIN r2 WITH Method#8b49e67f::Callable#f ON FIRST 1 OUTPUT Lhs.0, Lhs.0
54790 ~4% {3} r4 = JOIN r3 WITH Variable#1965ffe5::Variable::getDeclaringScope#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
202490 ~0% {3} r5 = JOIN r4 WITH Variable#1965ffe5::VariableAccess::getVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
98332 ~5% {3} r6 = JOIN r5 WITH Variable#9f7d933a::SelfVariableAccessImpl#class#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
83491 ~1% {2} r7 = JOIN r6 WITH Statement#f35022d0::Stmt::getCfgScope#0#dispred#ff ON FIRST 2 OUTPUT Lhs.0, Lhs.2
83584 ~0% {2} r8 = JOIN r7 WITH CfgNodes#ace8e412::ExprCfgNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83584 ~0% {2} r9 = JOIN r8 WITH DataFlowPrivate#462ff392::Cached::TExprNode#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
83265 ~2% {2} r10 = JOIN r9 WITH DataFlowPublic#e1781e31::PostUpdateNode::getPreUpdateNode#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
return r10
```
2023-03-01 08:34:07 +01:00
Aditya Sharad
aa6c60abfc
Merge pull request #12342 from github/codeql-cli-2.12.3-mergeback
...
Mergeback: codeql-cli-2.12.3 into main
2023-02-28 10:30:51 -08:00
Felicity Chapman
6224d6ce31
Merge branch 'codeql-cli-2.12.3' into codeql-cli-2.12.3-mergeback
2023-02-28 17:08:49 +00:00
Mathias Vorreiter Pedersen
a96145a4ac
Merge pull request #12340 from MathiasVP/remove-uncertain-write-def-input-predicate
...
C++: Remove dead code
2023-02-28 17:07:17 +00:00
Mathias Vorreiter Pedersen
d5b0ad6bfc
C++: Remove cached predicate that's no longer used.
2023-02-28 16:20:29 +00:00
Michael B. Gale
49039246e1
Apply ql-for-ql suggestion
2023-02-28 15:55:50 +00:00
Michael B. Gale
f22c86442e
Fix expected test output for Windows tests
2023-02-28 15:53:52 +00:00
Jeroen Ketema
2f797fffc1
C++: Add copy of dataflow docs for new use-use dataflow library
2023-02-28 16:48:26 +01:00
Michael B. Gale
fea29d5172
Refactor to avoid public setters
2023-02-28 15:22:36 +00:00
Erik Krogh Kristensen
f3f5f6eacf
Merge pull request #12190 from erik-krogh/fix-erb
...
JS: Actually extract `.html.erb` files.
2023-02-28 16:11:32 +01:00
erik-krogh
36b33765a5
use allowImplicitRead instead of a taint-step from elements to the array
2023-02-28 16:09:52 +01:00
Mathias Vorreiter Pedersen
075a83c987
Stage stats before on 'ExecTainted.ql' before:
...
```
1 10 1 Fwd 609968 1398 -1 94 769936 ExecTaintConfiguration
2 15 1 Rev 239464 774 -1 52 320663 ExecTaintConfiguration
3 20 2 Fwd 205794 511 650 39 18576546 ExecTaintConfiguration
4 25 2 Rev 161966 351 428 39 13639502 ExecTaintConfiguration
5 30 3 Fwd 31889 322 791 39 5982574 ExecTaintConfiguration
6 35 3 Rev 30068 303 661 39 4181421 ExecTaintConfiguration
7 40 4 Fwd 24031 232 1432 39 14725618 ExecTaintConfiguration
8 45 4 Rev 21506 219 907 39 5962780 ExecTaintConfiguration
9 50 5 Fwd 20149 204 1527 38 8350094 ExecTaintConfiguration
10 55 5 Rev 20102 204 1472 38 7515307 ExecTaintConfiguration
11 60 6 Fwd 19950 200 904 33 9673369 ExecTaintConfiguration
12 65 6 Rev 18431 200 901 33 7030957 ExecTaintConfiguration
```
Stage stats after:
```
1 10 1 Fwd 368610 699 -1 65 445199 ExecTaintConfiguration
2 15 1 Rev 112848 336 -1 23 150522 ExecTaintConfiguration
3 20 2 Fwd 91528 219 270 22 4120713 ExecTaintConfiguration
4 25 2 Rev 66017 141 159 22 2657398 ExecTaintConfiguration
5 30 3 Fwd 12161 119 208 22 792468 ExecTaintConfiguration
6 35 3 Rev 11640 111 167 22 569193 ExecTaintConfiguration
7 40 4 Fwd 11423 109 331 22 1203871 ExecTaintConfiguration
8 45 4 Rev 10851 107 323 22 904017 ExecTaintConfiguration
9 50 5 Fwd 10694 107 763 22 2428404 ExecTaintConfiguration
10 55 5 Rev 10332 104 735 22 2355698 ExecTaintConfiguration
11 60 6 Fwd 10302 104 729 22 5772762 ExecTaintConfiguration
12 65 6 Rev 9482 102 725 22 4020951 ExecTaintConfiguration
```
2023-02-28 15:05:29 +00:00
Mathias Vorreiter Pedersen
8dd0bdbdb0
C++: Rename 'fst' and 'snd' to 'incoming' and 'outgoing'.
2023-02-28 15:05:18 +00:00
Felicity Chapman
770326e770
Merge pull request #12321 from github/fc-7775-docs-update
...
CodeQL extension for VS Code docs update
2023-02-28 14:59:46 +00:00
Jeroen Ketema
5845528bae
Merge pull request #12336 from jketema/docs-examples
...
C++: Add tests for all dataflow examples that occur in our docs
2023-02-28 15:45:46 +01:00
Alex Denisov
97d5401118
Swift: extract mangler into a separate class
2023-02-28 15:29:44 +01:00
Michael B. Gale
e3762c7f93
Move Language class to Semmle.Util
2023-02-28 14:16:33 +00:00
Felicity Chapman
a7d221cdab
Update docs/codeql/reusables/beta-note-mrva.rst
2023-02-28 14:12:57 +00:00
Michael B. Gale
e60676fbde
Fix IDisposable contract violation
2023-02-28 13:56:06 +00:00
Jeroen Ketema
3014f207f3
C++: Add tests for all dataflow examples that occur in our docs
2023-02-28 14:45:00 +01:00
Mathias Vorreiter Pedersen
484f761c6d
Merge pull request #12316 from MathiasVP/no-taint-indirect-direct-conflation
...
C++: Remove indirect -> direct taint-flow
2023-02-28 13:43:04 +00:00
Anders Schack-Mulligen
5469a82efb
Go,Java,Python: Fix some tests.
2023-02-28 14:31:00 +01:00
Michael Nebel
734001b7c4
Merge pull request #12334 from michaelnebel/csharp/staticinitialisers
...
C#: Update query to handle static field writes from properties.
2023-02-28 14:10:46 +01:00
Geoffrey White
d5952a174e
Merge pull request #12329 from geoffw0/network
...
Swift: Modernize the cleartext-* queries
2023-02-28 13:04:10 +00:00
Michael Nebel
51746627d2
C#: Address review comments.
2023-02-28 13:38:34 +01:00
Felicity Chapman
aba7440293
Update docs/codeql/codeql-for-visual-studio-code/running-codeql-queries-at-scale-with-mrva.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 12:29:16 +00:00
Felicity Chapman
832dc27b08
Update docs/codeql/codeql-for-visual-studio-code/running-codeql-queries-at-scale-with-mrva.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 12:22:26 +00:00
Michael Nebel
4ef866b3a3
C#: Add change note.
2023-02-28 13:21:31 +01:00
Michael Nebel
baea74fa1b
C#: Add new testexamples and update expected testoutput.
2023-02-28 13:21:31 +01:00
Michael Nebel
621674e82e
C#: Update cs/static/field-written-by-instance to handle properties.
2023-02-28 13:21:30 +01:00
Chris Smowton
687f3c6b2e
Merge pull request #12330 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2023-02-28 11:27:00 +00:00
Felicity Chapman
0af529ed7b
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-28 11:12:29 +00:00
Kasper Svendsen
86925646f3
ReflectedXss: Prevent bad join order
2023-02-28 12:06:27 +01:00
Mathias Vorreiter Pedersen
d93d22ba3e
C++: Fix FPs in 'cpp/non-constant-format'.
2023-02-28 10:05:05 +00:00
Michael Nebel
2db3694015
C#: Add code comment explaining the exclusion of the declared accessibility extraction for file scoped types.
2023-02-28 11:02:38 +01:00
Mathias Vorreiter Pedersen
1e5b235f4b
C++: Accept test changes in 'cpp/non-constant-format'. These are actually FPs.
2023-02-28 10:02:32 +00:00
Felicity Chapman
b21253732b
Update for review feedback
2023-02-28 09:58:51 +00:00
Mathias Vorreiter Pedersen
85c7116e8f
C++: Fix the following join (I canceled it mid-way):
...
```
Tuple counts for SsaInternals#7b362d2f::getAPriorDefinition#1#ff/2@bfabfc7o after 11.4s:
1000 ~4% {2} r1 = SCAN Ssa#da392372::Make#SsaInternals#7b362d2f::SsaInput#::Definition::definesAt#3#dispred#ffff OUTPUT In.1, In.0
474321529 ~0% {4} r2 = JOIN r1 WITH SsaInternals#7b362d2f::DefOrUse::hasIndexInBlock#3#dispred#ffff_3012#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.2, Rhs.3, Rhs.1
0 ~0% {2} r3 = JOIN r2 WITH SsaInternals#7b362d2f::SsaCached::lastRefRedef#4#ffff ON FIRST 3 OUTPUT Lhs.3, Rhs.3
0 ~0% {2} r4 = JOIN r3 WITH SsaInternals#7b362d2f::nodeToDefOrUse#3#fff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1 'result'
0 ~0% {2} r5 = JOIN r4 WITH SsaInternals#7b362d2f::ssaDefinition#1#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'defOrUse', Lhs.1 'result'
return r5
```
2023-02-28 09:53:37 +00:00
Anders Schack-Mulligen
64c60d59b1
Go: Fix compilation.
2023-02-28 09:57:22 +01:00
github-actions[bot]
b6f81fc938
Add changed framework coverage reports
2023-02-28 00:17:14 +00:00
Mathias Vorreiter Pedersen
04b84320c9
C++: Accept more query-test changes.
2023-02-28 00:06:35 +00:00
Geoffrey White
5110cf1e02
Swift: Convert some fiddly GRDB database sinks to CSV.
2023-02-27 23:31:48 +00:00
Geoffrey White
f289811473
Swift: Fix and autoformat.
2023-02-27 23:01:05 +00:00
Geoffrey White
ea4c2e4321
Swift: Add CSV extension points.
2023-02-27 23:01:05 +00:00
Geoffrey White
c533334470
Swift: Implementation classes should be private.
2023-02-27 23:01:04 +00:00
Geoffrey White
c21ec1c3f5
Swift: Standardize the taint sources, sinks, sanitizers.
2023-02-27 23:01:04 +00:00
Geoffrey White
6928e62d8b
Swift: Split the three sensitive exprs queries into separate QL and QLL files.
2023-02-27 23:01:04 +00:00
Geoffrey White
59a2aa817c
Merge branch 'main' into nsstring
2023-02-27 22:34:04 +00:00
Geoffrey White
bb55456885
Merge branch 'main' into taintplusequals2
2023-02-27 22:33:26 +00:00
Mathias Vorreiter Pedersen
3906a1923b
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into no-taint-indirect-direct-conflation
2023-02-27 18:40:04 +00:00
Mathias Vorreiter Pedersen
f9c724d9a3
Merge pull request #12325 from MathiasVP/gets-return-deref
...
C++: Make `gets` indirect output a LocalFlowSource
2023-02-27 18:39:36 +00:00
Arthur Baars
6c57823232
Merge branch 'main' into diagnostics-2
2023-02-27 19:00:03 +01:00
Jeroen Ketema
9c202f508f
Merge pull request #12324 from jketema/taint-fix
...
C++: Use correct DataFlow import in new TaintTracking.qll
2023-02-27 18:37:46 +01:00
Geoffrey White
36a33bc718
Swift: Delete file that was resurrected by the merge.
2023-02-27 17:33:21 +00:00
Nick Rolfe
0f4df0da99
Merge pull request #12326 from RasmusWL/python-fix-expected
...
Python: Fix expected of call-graph after merge
2023-02-27 17:30:10 +00:00
erik-krogh
b0797a2559
Merge branch 'main' into more-shell-taint
2023-02-27 18:27:09 +01:00
Geoffrey White
296093ded6
Merge branch 'main' into nsstring
2023-02-27 17:26:57 +00:00
Mathias Vorreiter Pedersen
7bb806563f
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into no-taint-indirect-direct-conflation
2023-02-27 17:19:36 +00:00
Mathias Vorreiter Pedersen
d90d895944
Merge pull request #12323 from MathiasVP/fix-enclosing-callable
...
C++: Fix missing enclosing callables
2023-02-27 17:19:06 +00:00
Erik Krogh Kristensen
50aa5e072a
Merge pull request #12177 from erik-krogh/alias-html
...
JS: More precise type-test sanitizer guards in unsafe-html-construction
2023-02-27 18:16:11 +01:00
Mathias Vorreiter Pedersen
2a9133aae0
C++: Accept query-test changes.
2023-02-27 17:15:53 +00:00
Mathias Vorreiter Pedersen
d628905156
C++: Accept more test changes.
2023-02-27 17:13:23 +00:00
Felicity Chapman
1d13811e46
Revise troubleshooting article
2023-02-27 16:42:07 +00:00
Rasmus Wriedt Larsen
d198b91c82
Python: Fix expected of call-graph after merge
...
Since the import resolution was fixed, but tests not rerun, these
expectations were not updated to reflect that we now handle them
properly 💪
2023-02-27 17:38:28 +01:00
Edward Minnix III
7f607fb46b
Merge pull request #12032 from egregius313/egregius313/promote-hardcoded-jwt-credential
...
Java: Promote Hardcoded JWT credential query
2023-02-27 11:33:53 -05:00
Mathias Vorreiter Pedersen
a4c075f03b
C++: The data pointed to by 'gets' is also a source of user input.
2023-02-27 16:25:32 +00:00
Jeroen Ketema
b4f6d519db
C++: Use correct DataFlow import in new TaintTracking.qll
...
Using the IR version directly gives errors about conflicting imports if both
DataFlow and TaintTracking are imported.
2023-02-27 17:22:12 +01:00
Felicity Chapman
8e4eb9ad46
Tweaks to mention variant analysis in related articles
2023-02-27 16:21:09 +00:00
erik-krogh
505168f24b
fix upper-case .html.erb files
2023-02-27 17:19:43 +01:00
Felicity Chapman
49ec539b60
Updates following initial PM review
2023-02-27 16:07:28 +00:00
Mathias Vorreiter Pedersen
b36d4931f2
C++: Fix test annotation.
2023-02-27 15:47:52 +00:00
Felicity Chapman
29802af647
Fix typo in heading
2023-02-27 15:06:19 +00:00
Mathias Vorreiter Pedersen
d2f8cb6920
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into fix-enclosing-callable
2023-02-27 15:02:39 +00:00
Felicity Chapman
9bee9c003a
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2023-02-27 14:58:17 +00:00
Mathias Vorreiter Pedersen
31f3504113
C++: Remove this bad materialization:
...
```
Evaluated relational algebra for predicate _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared@ec353boa with tuple counts:
459594 ~0% {2} r1 = JOIN _IRVariable#e9bf30b2::IRVariable::getAst#0#dispred#ff_Parameter#ed81dd8f::Parameter#f#shared WITH SsaInternalsCommon#3c4fa02d::BaseIRVariable::getIRVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'arg1', Rhs.1
461383 ~2% {3} r2 = JOIN r1 WITH Variable#7a968d4e::Variable::getUnspecifiedType#0#dispred#ff ON FIRST 1 OUTPUT Lhs.0 'arg1', Lhs.1, Rhs.1
477945 ~6% {4} r3 = JOIN r2 WITH Variable#7a968d4e::Variable::getUnspecifiedType#0#dispred#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.0 'arg1', Lhs.1, Rhs.1
346338 ~2% {4} r4 = JOIN r3 WITH SsaInternalsCommon#3c4fa02d::Indirection::getNumberOfIndirections#0#dispred#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1 'arg1', Lhs.2, Rhs.1 'arg2'
178593374 ~0% {4} r5 = JOIN r4 WITH CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'arg1', Lhs.3 'arg2', Rhs.1 'arg3'
934806228 ~0% {4} r6 = JOIN r5 WITH SsaInternals#50208335::DefOrUse::getSourceVariable#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg0', Lhs.1 'arg1', Lhs.2 'arg2', Lhs.3 'arg3'
return r6
Tuple counts for _DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff_SsaInternals#50208335::Def#ff_SsaInternals#5020__#antijoin_rhs/4@305d42l5 after 25.6s:
180185672 ~0% {4} r1 = JOIN _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared WITH SsaInternals#50208335::Def#ff ON FIRST 1 OUTPUT Lhs.0 'arg3', Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2'
180185672 ~0% {5} r2 = JOIN r1 WITH SsaInternals#50208335::Def::getValue#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.0 'arg3'
180185672 ~0% {5} r3 = JOIN r2 WITH DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4 'arg3'
178459578 ~1% {4} r4 = JOIN r3 WITH project#Instruction#577b6a83::InitializeParameterInstruction#ff ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.2 'arg1', Lhs.3 'arg2', Lhs.4 'arg3'
return r4
Tuple counts for SsaInternals#7b362d2f::TFinalParameterUse#dom#ff/2@9ff4dbcg after 7.9s:
180185672 ~1% {4} r1 = JOIN _CppType#d1355c92::CppType::hasUnspecifiedType#2#dispred#fff_10#join_rhs_SsaInternals#50208335::DefO__#shared WITH SsaInternals#50208335::Def#ff ON FIRST 1 OUTPUT Lhs.1 'p', Lhs.2, Lhs.3, Lhs.0
1726094 ~0% {4} r2 = r1 AND NOT _DataFlowPrivate#fbdd7bd7::InstructionNode0#class#ff_SsaInternals#50208335::Def#ff_SsaInternals#5020__#antijoin_rhs(Lhs.0 'p', Lhs.1, Lhs.2, Lhs.3)
1726094 ~54% {4} r3 = SCAN r2 OUTPUT In.0 'p', In.1, In.2, 1
1769636 ~54% {5} r4 = JOIN r3 WITH PRIMITIVE range#bbf ON Lhs.3,Lhs.1
1769636 ~45% {4} r5 = SCAN r4 OUTPUT In.2, (In.4 'indirectionIndex' + 1), In.0 'p', In.4 'indirectionIndex'
591253 ~11541% {2} r6 = JOIN r5 WITH SsaInternalsCommon#3c4fa02d::isModifiableAtImpl#2#ff ON FIRST 2 OUTPUT Lhs.2 'p', Lhs.3 'indirectionIndex'
1769636 ~52% {4} r7 = SCAN r4 OUTPUT In.2, In.0 'p', In.4 'indirectionIndex', (In.4 'indirectionIndex' + 1)
1724893 ~41% {5} r8 = JOIN r7 WITH CppType#d1355c92::CppType::hasType#2#dispred#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'p', Lhs.0, Lhs.2 'indirectionIndex', Lhs.3
1718843 ~46% {5} r9 = JOIN r8 WITH Type#2e8eb3ef::Type::stripType#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'p', Lhs.2, Lhs.3 'indirectionIndex', Lhs.4
8608 ~0% {5} r10 = JOIN r9 WITH SmartPointer#917721ba::SmartPtr#f ON FIRST 1 OUTPUT Lhs.1 'p', Lhs.2, Lhs.3 'indirectionIndex', Lhs.4, Lhs.0
8608 ~0% {5} r11 = r10 AND NOT PointerWrapper#7cc81d2d::PointerWrapper::pointsToConst#0#dispred#f(Lhs.4)
8608 ~4986% {2} r12 = SCAN r11 OUTPUT In.0 'p', In.2 'indirectionIndex'
599861 ~11711% {2} r13 = r6 UNION r12
return r13
```
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
354a12c906
C++: Fix queries. Since there's no longer indirect -> direct flow in
...
taint-tracking we need to make sure the affected sink definitions also
handle indirect flow.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
1db24dd28d
C++: Fix missing types. We now assign the node corresponding to **p
...
an `UnknownType`.
2023-02-27 14:57:36 +00:00
Mathias Vorreiter Pedersen
4e16bb65e3
C++: Accept test changes. Because we now allocate _three_ indirect nodes
...
for a value of type `void*` (i.e., `p`, `*p` and `**p`) we need to decide
on a type for the `**p` value. We will do this in the next commit.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
16ba4652af
C++: Allocate an additional indirection for void pointers.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
f6b9ca3da6
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
da4a059388
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
52e6e1dece
C++: Fix flow through partial definitions.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
575ac46bf3
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b952f619db
C++: Accept test changes.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
057e810122
C++: Fix flow through arrays.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
9d64c0a023
C++: Add failing test.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
1e4caca23a
C++: Accept query changes. Nothing bad to see here.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
2cb4a554ea
C++: Fix a bug in Expr <-> Node mapping.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
09df318e9e
C++: Also track flow out of indirect sources.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a806569b5f
C++: The next commit is going to track flow out of both direct and indirect sources. This means we'll get a lot of duplication since there'll be flow from indirect source -> indirect sink and direct source -> direct sink (which both map to the same expressions). This commit changes the testing so that we only report a duplication when they're at different locations.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
5a8b900394
C++: Properly track smart pointer wrappers.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
64abf5b163
C++: Add conflation into DefaultTaintTracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
b951bf0f8f
C++: Remove conflation from taint-tracking.
2023-02-27 14:57:35 +00:00
Mathias Vorreiter Pedersen
a5bb093935
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-27 14:57:06 +00:00
Erik Krogh Kristensen
927c322b7b
Merge pull request #11769 from erik-krogh/moreSan
...
JS: Sanitizer for `sanitizer(x) === true`
2023-02-27 15:48:34 +01:00
Mathias Vorreiter Pedersen
332b759873
Merge pull request #12275 from jketema/uniform-ssa
...
Make "Detecting a potential buffer overflow" example more uniform
2023-02-27 14:38:11 +00:00
Mathias Vorreiter Pedersen
1dd95a61c1
Merge pull request #12292 from github/calumgrant/aggregate-domain
...
Query and tests for sum without domain
2023-02-27 14:19:20 +00:00
Mathias Vorreiter Pedersen
7437de2909
C++: Fix issue where 'getEnclosingCallable' didn't exist for some globals.
2023-02-27 14:06:13 +00:00
Tony Torralba
db6cb1ffe3
Remove dubious model after investigating it
2023-02-27 14:57:56 +01:00
yoff
335be21943
Update docs/codeql/codeql-language-guides/using-api-graphs-in-python.rst
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-27 14:53:31 +01:00
Taus
25043f51a4
Merge pull request #11376 from RasmusWL/call-graph-code
...
Python: New type-tracking based call-graph
2023-02-27 14:51:21 +01:00
Anders Schack-Mulligen
9671c8824c
C#: Remove reference to stageStats.
2023-02-27 14:30:05 +01:00
Anders Schack-Mulligen
7e3e10c34b
C/C++: Remove reference to Partial Flow.
2023-02-27 14:30:05 +01:00
Anders Schack-Mulligen
bf650c755c
Dataflow: Sync changes to all languages.
2023-02-27 14:30:05 +01:00
Paolo Tranquilli
5cb3279816
Merge pull request #12319 from github/redsun82/swift-codegen
...
Codegen: make Swift codegen language agnostic
2023-02-27 14:06:20 +01:00
Felicity Chapman
70ed029d0e
More updates
2023-02-27 12:41:53 +00:00
Alex Ford
7c85448cba
Merge pull request #12080 from alexrford/js-use-shared-cryptography
...
JS: Use shared `CryptographicOperation` concept
2023-02-27 12:26:38 +00:00
Tony Torralba
0e3f4f6c7c
Merge pull request #12305 from pwntester/new_java_net_URL_toURI_taintstep
...
Java: Add new java.net.URI taintsteps
2023-02-27 13:09:46 +01:00
Geoffrey White
8ef6521cc9
Swift: Undo toString changes.
2023-02-27 12:01:02 +00:00
Ed Minnix
ed1aac1aa5
Remove unneeded example file
2023-02-27 12:16:14 +01:00
Ed Minnix
06a1368e7c
Additional test cases
2023-02-27 12:16:14 +01:00
Ed Minnix
4aec708fac
Add change note
2023-02-27 12:16:14 +01:00
Ed Minnix
6de946ef00
Remove experimental files
2023-02-27 12:16:14 +01:00
Ed Minnix
3ff1a97e38
Add byte[] signatures
2023-02-27 12:16:14 +01:00
Ed Minnix
d71386e001
Add example file for documentation
2023-02-27 12:16:14 +01:00
Ed Minnix
fa6ac063d1
Add com.auth0.jwt.algorithm.Algorithm sinks
...
The HMAC* constructors of the com.auth0.jwt.algorithm.Algorithm class
take a secret as a parameter. Therefore, the arguments should be added
to be checked for hardcoded credentials.
2023-02-27 12:16:14 +01:00
AlexDenisov
85bf10ee0f
Merge pull request #12227 from github/redsun82/swift-5.7.3
...
Swift: update to 5.7.3
2023-02-27 10:24:07 +01:00
Rasmus Lerchedahl Petersen
1447c2348a
python: describe API::CallNode
2023-02-27 10:06:23 +01:00
Paolo Tranquilli
1218145259
Codegen: update README.md files
2023-02-27 10:01:50 +01:00
Paolo Tranquilli
06a6450be4
Codegen: make --qltest-output optional
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
cdd4e8021b
Move swift/codegen to misc/codegen
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
6d192cdcc1
Swift: make C++ code generation language agnostic
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
feb4e60c4b
Swift: make all ql generation language agnostic
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
aca18f5da8
Swift: make codegen use a config file
2023-02-27 09:46:48 +01:00
Paolo Tranquilli
e4627cb702
Swift: make codegen a bit more language-agnostic
2023-02-27 09:46:48 +01:00
Tony Torralba
c027e10ef7
Add java.net tests
2023-02-27 09:33:16 +01:00
Tony Torralba
4a9f63ea1a
Fix toASCIIString casing
2023-02-27 09:32:42 +01:00
erik-krogh
0e60fc5512
Merge branch 'main' into alias-html
2023-02-27 09:16:25 +01:00
Erik Krogh Kristensen
f8f926ad50
Merge pull request #12175 from erik-krogh/reg-input
...
JS: add process.env and process.argv etc. as source for `js/regex-injection`
2023-02-27 09:12:02 +01:00
Rasmus Lerchedahl Petersen
9b08b06de4
python: update deprecated predicate names
2023-02-27 09:07:07 +01:00
Erik Krogh Kristensen
4ffe20ae75
Merge pull request #12189 from erik-krogh/more-export
...
JS: also consider relative exports when finding library inputs
2023-02-27 09:02:55 +01:00
Maikypedia
44997d6b5f
Change query id
2023-02-25 15:51:04 +01:00
Maikypedia
61fe3704c0
Remove unused imports
2023-02-25 15:43:48 +01:00
Maikypedia
dd1f7cc1d2
Remove missed file
2023-02-25 15:35:16 +01:00
Maikypedia
ff50513441
Add initial query for Ruby SSTI
2023-02-25 15:33:23 +01:00
Felicity Chapman
8af12071e1
First draft with bare bones
2023-02-24 21:39:16 +00:00
Geoffrey White
e71c7e7842
Swift: Autoformat.
2023-02-24 19:09:14 +00:00
Geoffrey White
a5943603ea
Swift: 'Any' -> 'An' (make QL-for-QL happy)
2023-02-24 19:08:11 +00:00
Alvaro Muñoz
f393a3c549
Add toExternalForm
2023-02-24 18:50:31 +01:00
Alvaro Muñoz
f1d765aa27
Missing taintstep for java.net.URL.toURI()
2023-02-24 18:45:52 +01:00
Felicity Chapman
874c362961
Add basic framework of new articles
2023-02-24 17:14:49 +00:00
Michael B. Gale
e2af8f1b43
Simplify Xamarin query to be platform-independent
2023-02-24 17:13:10 +00:00
Alex Ford
a54ca38e31
Ruby: DataFlow::CallableNode extends DataFlow::StmtSequenceNode
2023-02-24 16:40:35 +00:00
Alex Ford
e948e22186
Ruby: all Exprs have a corresponding DataFlow::Node that is more specific than just DataFlow::ExprNode
2023-02-24 16:40:35 +00:00
Michael B. Gale
31673431af
Add test for missing Xamarin SDKs
2023-02-24 16:24:32 +00:00
Michael B. Gale
3ef3441883
Add test for missing project files
2023-02-24 16:24:07 +00:00
Michael B. Gale
354f716ca8
Add test for dotnet incompatible projects
2023-02-24 16:23:52 +00:00
Michael B. Gale
430af661cd
Show .NET core error only if files exist
2023-02-24 16:16:33 +00:00
Mathias Vorreiter Pedersen
f92433171d
Merge pull request #12304 from MathiasVP/more-fixes-to-large-join-order-query
...
QL: More fixes to the join-order query
2023-02-24 14:21:05 +00:00
Michael B. Gale
b203533fc6
Fix C++ test missing env var
2023-02-24 14:16:20 +00:00
Michael B. Gale
7de26550ad
Add tests for build script diagnostics
2023-02-24 13:49:06 +00:00
Michael B. Gale
bdbcaab0ba
Use relative paths
2023-02-24 13:49:06 +00:00
Michael B. Gale
1e2329d0dd
Add diagnostic for missing project files
2023-02-24 13:49:05 +00:00
Michael B. Gale
3bf6b6f96f
Add helper for markdown lists of projects
2023-02-24 13:49:05 +00:00
Mathias Vorreiter Pedersen
c9f8ebd620
QL: Remove redundant conjunct in aggregates.
2023-02-24 13:19:52 +00:00
Mathias Vorreiter Pedersen
375de59a14
QL: More fixes to the join-order query.
2023-02-24 12:44:17 +00:00
Calum Grant
10aad99e21
Add avg case
2023-02-24 11:02:07 +00:00
Grzegorz Niedziela
48007d14d5
move tests to experimental as well and fix .qlref reference
2023-02-24 10:38:21 +00:00
Tom Hvitved
af14f36127
Merge pull request #12289 from hvitved/util/file-system
...
Util: Add shared file system implementation
2023-02-24 11:23:48 +01:00
Chris Smowton
da459c4086
Merge pull request #12281 from smowton/smowton/feature/kotlin-too-new-diagnostic
...
Add test for a too-new Kotlin version
2023-02-24 08:48:30 +00:00
Mathias Vorreiter Pedersen
95283154ae
Merge pull request #12303 from MathiasVP/join-order-query-fixes
2023-02-23 22:56:29 +00:00
Mathias Vorreiter Pedersen
1f40518c78
QL: Fixup the join-order query.
2023-02-23 22:39:20 +00:00
Mathias Vorreiter Pedersen
a86a8ced54
Merge pull request #12302 from MathiasVP/recursive-join-order-metric
...
QL: Extend the join-order badness query to recursive predicates
2023-02-23 22:35:35 +00:00
Mathias Vorreiter Pedersen
f0fe6fba88
QL: Accept test changes.
2023-02-23 22:25:04 +00:00
Mathias Vorreiter Pedersen
b0e391cff0
QL: Extend the join order metric to cover recursive predicates.
2023-02-23 22:12:23 +00:00
Mathias Vorreiter Pedersen
bb692a7e4a
Merge pull request #12299 from github/calumgrant/qlql
...
Add classes and predicates to StructuredLogs
2023-02-23 21:47:28 +00:00
Calum Grant
41d88a45d9
Fix merge
2023-02-23 21:02:43 +00:00
Calum Grant
efa2647f09
Merge branch 'main' into calumgrant/qlql
2023-02-23 20:55:09 +00:00
Taus
b993b5ef77
Merge pull request #12298 from MathiasVP/join-order-metric-query-with-more-rows
...
QL: Output more rows in the join order query
2023-02-23 20:31:43 +01:00
Taus
6141c96b8c
Merge pull request #12294 from MathiasVP/visit-recursive-evaluation
...
QL: Add a visitor for traversing recursive evaluations
2023-02-23 20:28:53 +01:00
Henry Mercer
39a30cf34b
Merge pull request #12297 from github/codeql-ci/atm/release-0.4.8
...
JS: Bump version numbers of ML-powered packs after 0.4.8 release
2023-02-23 19:18:28 +00:00
Mathias Vorreiter Pedersen
9ee078d1f2
QL: More column information.
2023-02-23 19:17:22 +00:00
Calum Grant
dde18de2d1
Fixes
2023-02-23 19:03:05 +00:00
Calum Grant
196dbd3a33
Exploratory query to test the API
2023-02-23 19:01:52 +00:00
Calum Grant
77871e287d
Use RAExpr
2023-02-23 18:35:24 +00:00
Calum Grant
e368b8f72a
Add classes and predicates to StructuredLogs
2023-02-23 17:48:21 +00:00
Mathias Vorreiter Pedersen
229e291e1b
QL: Fix naming.
2023-02-23 17:34:07 +00:00
Mathias Vorreiter Pedersen
dcc9b66aae
Merge branch 'main' into visit-recursive-evaluation
2023-02-23 17:16:47 +00:00
Mathias Vorreiter Pedersen
9c8b8dff88
QL: Output more rows in the join order query.
2023-02-23 17:07:27 +00:00
Mathias Vorreiter Pedersen
48bf15f79c
Merge pull request #12291 from github/calumgrant/slow-predicates
...
Slow predicates query
2023-02-23 16:41:39 +00:00
Mathias Vorreiter Pedersen
11ea8e0f85
Merge pull request #12295 from MathiasVP/join-order-metric-query
...
QL: Non-recursive join-order-metric query
2023-02-23 16:40:07 +00:00
Geoffrey White
1a7e7481b2
Swift: Add flow thtaint flow through assignments other than =.
2023-02-23 16:25:32 +00:00
Geoffrey White
a222757e69
Swift: Add support for pointwise assignment operators.
2023-02-23 16:25:32 +00:00
Geoffrey White
15e3892b03
Swift: Add support for overflow assignment operators.
2023-02-23 16:25:32 +00:00
Geoffrey White
1d4925d7af
Swift: Expand assignment operations.
2023-02-23 16:25:31 +00:00
Henry Mercer
eb1fe57590
Merge branch 'main' into codeql-ci/atm/release-0.4.8
2023-02-23 16:23:32 +00:00
github-actions[bot]
7e2b286f03
JS: Bump version of ML-powered library and query packs to 0.4.9
2023-02-23 16:12:23 +00:00
github-actions[bot]
e02368f6fa
JS: Bump patch version of ML-powered library and query packs
2023-02-23 16:04:39 +00:00
Mathias Vorreiter Pedersen
858b3de547
Merge branch 'main' into join-order-metric-query
2023-02-23 15:54:38 +00:00
Mathias Vorreiter Pedersen
23b9abcbbf
QL: Add a query for finding the predicates with the highest tuple sums.
2023-02-23 15:53:32 +00:00
Mathias Vorreiter Pedersen
7595c1c306
QL: Add a visitor for traversing recursive evaluations.
2023-02-23 15:53:32 +00:00
Taus
d48938d168
Merge branch 'main' into calumgrant/slow-predicates
2023-02-23 16:53:04 +01:00
Taus
0419b5b24c
Merge pull request #12296 from github/tausbn/ql-remove-unused-predicates
...
QL: Remove unused predicates
2023-02-23 16:47:34 +01:00
Taus
38ca4a8d3d
QL: Remove unused predicates
2023-02-23 15:25:38 +00:00
Michael B. Gale
b034b2f2a3
Refactor autobuild logic into an IBuildRule
2023-02-23 14:54:37 +00:00
Chris Smowton
eb8a0c1129
Add test for a too-new Kotlin version
2023-02-23 14:53:27 +00:00
Mathias Vorreiter Pedersen
d7d9bea5e8
QL: Add a query for computing the join order metric for non-recursive predicates.
2023-02-23 14:27:39 +00:00
Geoffrey White
71813fa0a7
Swift: Implement full tree of Assignment classes
2023-02-23 13:23:36 +00:00
Geoffrey White
aaa89f7f32
Swift: Add a test for assignment exprs.
2023-02-23 13:15:06 +00:00
Mathias Vorreiter Pedersen
d734982e7b
Merge pull request #12286 from github/tausbn/ql-add-a-bunch-of-convenience-predicates
...
QL: Add predicates for timestamps and locations
2023-02-23 12:45:46 +00:00
Calum Grant
fccf2d705e
Add the expected file
2023-02-23 12:25:29 +00:00
Calum Grant
6cf575df78
Query and tests for sum without domain
2023-02-23 12:19:25 +00:00
gregxsunday
34b441c3cc
move query to experimental folder
2023-02-23 12:12:04 +00:00
gregxsunday
5a85fa12c7
add block test cases and update tests
2023-02-23 12:09:22 +00:00
gregxsunday
f9b5846675
add detection of sources directly used with blocks
2023-02-23 12:09:12 +00:00
Grzegorz Niedziela
4ab6a7bdfd
Merge branch 'github:main' into main
2023-02-23 10:50:15 +00:00
Calum Grant
564d7c0d53
Fix bug
2023-02-23 10:22:18 +00:00
Calum Grant
eb553266ae
Add this.
2023-02-23 09:51:29 +00:00
Calum Grant
58563744d6
A simple query
2023-02-23 09:50:09 +00:00
Tom Hvitved
ad37523b07
C#: Adopt shared file system implementation
2023-02-23 10:21:04 +01:00
Tom Hvitved
bd5ae88a9a
Ruby: Move FileSystem.qll implementation into shared util pack
2023-02-23 10:21:04 +01:00
Chris Smowton
748387a69f
Merge pull request #11943 from smowton/smowton/admin/java-autobuilder-diagnostic-tests
...
Java: Add tests for autobuilder-detected diagnostics
2023-02-23 09:20:03 +00:00
Michael Nebel
cf659f9a5e
Merge pull request #12261 from michaelnebel/csharpjava/refactorissupported
...
C#/Java: Re-factor the `isSupported` predicate.
2023-02-23 10:06:11 +01:00
Michael Nebel
ca94e02107
Merge pull request #12258 from michaelnebel/csharp/enumanddelegatemodfiers
...
C#: Generalise modifier extraction from symbols.
2023-02-23 10:04:55 +01:00
Paolo Tranquilli
8ed99bc83b
Merge pull request #12284 from github/redsun82/swift-printast
...
Swift: fix comments in PrintAst library
2023-02-23 09:27:14 +01:00
Taus
6a32a3ae58
QL: Add predicates for timestamps and locations
2023-02-22 22:47:51 +00:00
Mathias Vorreiter Pedersen
24935c97bc
Merge pull request #12285 from github/calumgrant/ql-ra-parser
...
RA parser first draft
2023-02-22 19:07:03 +00:00
Chris Smowton
560a341e87
Fix multiple-candidate-builds message
2023-02-22 17:43:08 +00:00
Chris Smowton
c4640a6a9a
Fix diagnostic markdown links
2023-02-22 17:43:08 +00:00
Chris Smowton
73e4480cc6
Update test expectations
2023-02-22 17:43:08 +00:00
Chris Smowton
2c216793a4
Diagnostics tests: don't create own diagnostics directory
...
The CLI does this now. Also omit default arguments to the integration test script.
2023-02-22 17:43:08 +00:00
Chris Smowton
53ac1e0133
Replace test absolute directory
2023-02-22 17:43:08 +00:00
Chris Smowton
57ac951451
Add tests for Java autobuilder errors
2023-02-22 17:43:08 +00:00
Chris Smowton
fd1ce5d12c
Switch to using language-specific diagnostic environment variable
2023-02-22 17:43:08 +00:00
Chris Smowton
7a2c6b5645
Java no-build-system test: switch to single-file diagnostics.expected format
2023-02-22 17:43:07 +00:00
Chris Smowton
40e45d3636
Add test for missing Java build system
2023-02-22 17:43:07 +00:00
Chris Smowton
7dc5e7e0fe
Merge pull request #12283 from github/smowton/admin/merge-rc38-into-main-2023
...
Merge rc/3.8 into main
2023-02-22 17:35:11 +00:00
Calum Grant
0fdcf0338a
Tidy up warnings
2023-02-22 17:02:49 +00:00
Calum Grant
f3e5a8f90f
Minor tidy
2023-02-22 17:01:07 +00:00
Calum Grant
9980756ee8
RA parser first draft
2023-02-22 16:51:16 +00:00
Paolo Tranquilli
62f4e48433
Swift: fix comments in PrintAst library
2023-02-22 16:46:46 +01:00
Mathias Vorreiter Pedersen
676f4125c3
Merge pull request #12282 from MathiasVP/float-and-array-padding
...
QL: Handle large numbers and -1 padding
2023-02-22 15:16:54 +00:00
Chris Smowton
9155e08b65
Merge remote-tracking branch 'origin/rc/3.8' into smowton/admin/merge-rc38-into-main-2023
2023-02-22 15:12:06 +00:00
Chris Smowton
2c7a2fc6d7
Merge pull request #12272 from smowton/smowton/admin/rc38-ci-fixes
...
Merge rc/3.7 into rc/3.8
2023-02-22 15:10:35 +00:00
Mathias Vorreiter Pedersen
498d0c359e
QL: Convert various int getters to float (to avoid overflow) and correctly handle '-1' padding.
2023-02-22 14:54:40 +00:00
Mathias Vorreiter Pedersen
b738c2684b
Merge pull request #12279 from MathiasVP/kind-predicate-logs
...
QL: Start of the AST for `kind: predicates` evaluator logs
2023-02-22 14:25:11 +00:00
Mathias Vorreiter Pedersen
5e3289a089
Merge pull request #12280 from github/tausbn/ql-make-json-parsing-a-bit-more-robust
...
QL: Make the JSON parser a bit more robust
2023-02-22 14:16:48 +00:00
Mathias Vorreiter Pedersen
d64d03ec48
QL: Fix Code Scanning warning.
2023-02-22 14:15:47 +00:00
Mathias Vorreiter Pedersen
f155f19725
QL: Respond to comments.
2023-02-22 14:15:18 +00:00
Taus
2cdec47585
QL: Make the JSON parser a bit more robust
...
Updates the grammar to allow trailing commas in objects and arrays.
Also bumps the file size limit to 10MB.
2023-02-22 13:45:47 +00:00
Mathias Vorreiter Pedersen
161acf0ebe
QL: Add more getters.
2023-02-22 13:43:51 +00:00
Mathias Vorreiter Pedersen
2c31d6863c
QL: Start on the AST for kind: predicates evaluator logs.
2023-02-22 13:26:47 +00:00
Michael B. Gale
93b7a2bc92
Fix: drop please
2023-02-22 12:32:11 +00:00
Michael B. Gale
c3e25d2549
Add docs link for missing Xamarin SDKs
2023-02-22 12:32:10 +00:00
Michael B. Gale
08b51c3b06
Link to docs for autobuild failures
2023-02-22 12:32:10 +00:00
Michael B. Gale
0f320996cf
Make improvements based on PR feedback
2023-02-22 12:32:07 +00:00
Mathias Vorreiter Pedersen
5b1288143f
Merge pull request #12277 from github/tausbn/clean-up-structured-logs-module
...
QL: Clean up structured logs module
2023-02-22 12:27:07 +00:00
Taus
5304fe2bcb
QL: Clean up structured logs module
...
Pushes it into an internal module and removes the abstract class.
2023-02-22 11:07:48 +00:00
Jeroen Ketema
eb6c8480f8
Make "Detecting a potential buffer overflow" example more uniform
...
All queries that use SSA import `semmle.code.cpp.controlflow.SSA` explicitly,
except for the last one. Also import the library there. Note that this is not
strictly necessary, as the library is transitively imported via `import cpp`.
2023-02-22 10:02:12 +01:00
Mathias Vorreiter Pedersen
dffb12070e
Merge pull request #12271 from github/tausbn/ql-fix-json-extraction
...
QL: Fix JSON extraction
2023-02-22 08:50:49 +00:00
Chris Smowton
b28f1a562a
Merge pull request #12273 from intrigus-lgtm/patch-8
...
Fix grammar
2023-02-22 08:43:07 +00:00
Michael Nebel
47c69d924b
C#: Update comment on the isSupported predicate.
2023-02-22 09:05:28 +01:00
Michael Nebel
b4a6d1e1b6
C#: Add change note.
2023-02-22 08:59:14 +01:00
Michael Nebel
3e0aacd36b
C#: Generalize modifier extraction from symbols.
2023-02-22 08:53:29 +01:00
intrigus-lgtm
540d3a3a99
Fix grammar
2023-02-22 00:42:50 +01:00
Taus
a3a099cf56
QL: Add a few more methods
...
Still need to implement something to encapsulate RA, link it up, etc.
2023-02-21 21:27:17 +00:00
Chris Smowton
7106f7d52e
Add gradle wrappers to compiler_arguments and kotlin_kfunction tests
...
`
2023-02-21 21:20:43 +00:00
Chris Smowton
8bb068f3a9
Merge remote-tracking branch 'origin/rc/3.7' into smowton/admin/rc38-ci-fixes
2023-02-21 21:17:30 +00:00
Taus
729563c9a3
QL: Add preliminary support for structured logs
2023-02-21 21:09:34 +00:00
Chris Smowton
d849e27b37
Merge pull request #12259 from smowton/smowton/admin/gradle-wrappers-rc37
...
[rc/3.7]: Add Gradle wrappers for Kotlin tests
2023-02-21 21:04:39 +00:00
Taus
cf734919b9
QL: Fix bad string grammar
...
What was there before made it so that you couldn't actually extract the
contents of a string.
2023-02-21 20:20:58 +00:00
Taus
bab53b5736
QL: Fix JSON extraction
...
I had forgotten about this extra filtering that takes place in the
extractor.
2023-02-21 19:50:27 +00:00
Anders Schack-Mulligen
46d6f5af7e
Java: Update some tests.
2023-02-21 13:14:35 +01:00
Anders Schack-Mulligen
acf6a77c6b
Dataflow: Amend qldoc
2023-02-21 10:20:42 +01:00
Anders Schack-Mulligen
bb0ec46eb2
Java: Update tests.
2023-02-21 10:04:25 +01:00
Anders Schack-Mulligen
00a273b959
Java: Refactor data flow library.
2023-02-21 10:04:14 +01:00
Tom Hvitved
c3679d0661
Fix bad join
2023-02-21 19:28:55 +13:00
Tom Hvitved
9880952e72
Revert "Ruby: Fix performance of Filter.getAnAction"
...
This reverts commit f6c863c13bc840cba983ed12232725b8a8552cb4.
2023-02-21 19:28:55 +13:00
Harry Maclean
710ddb1f96
Ruby: Fix performance of Filter.getAnAction
...
Only look at the current class and the immediate superclass.
This will miss some edge cases but is much faster.
2023-02-21 19:28:54 +13:00
Harry Maclean
2bc7d4e1ee
Ruby: Clean up
2023-02-21 19:28:54 +13:00
Harry Maclean
7a01c4a974
Ruby: Add change note for filter dataflow
2023-02-21 19:28:54 +13:00
Harry Maclean
ba4d0a81d5
Ruby: Simplify filter dataflow
...
This introduces some false flow (the `ThreeController` and
`FourController` examples in `filter_flow.rb`) but is simpler and
in line with how we model flow for normal method calls.
2023-02-21 19:28:53 +13:00
Harry Maclean
0a02b45ad7
Ruby: More filter flow steps
...
Add a jump step from the last self post-update node in a method to the self parameter of the
next method.
2023-02-21 19:28:26 +13:00
Harry Maclean
fae5320c3a
Ruby: Add filter flow tests
2023-02-21 19:27:53 +13:00
Harry Maclean
04e80fa48f
Ruby: Use lookupMethod
...
The hope is that this predicate is already used elsewhere, so its cost
is amortized.
2023-02-21 19:26:36 +13:00
Harry Maclean
889d97163e
Ruby: Refactor getFilterCallable
...
Try to force a join with the filter argument string first, to reduce
tuple counts.
2023-02-21 19:26:36 +13:00
Harry Maclean
2590682262
Ruby: inline RenderCallUtils::getBaseName
...
This seems to yield a small performance increase.
2023-02-21 19:26:36 +13:00
Harry Maclean
ae3d91b546
Ruby: First draft of rails callback flow
2023-02-21 19:26:36 +13:00
Harry Maclean
6eeb711988
Ruby: Add AdditionalJumpStep class
2023-02-21 19:26:36 +13:00
Geoffrey White
cb8f5979d1
Swift: Update swift/string-length-conflation to taint tracking and remove a special case that's now covered by taint.
2023-02-20 18:18:15 +00:00
Stephan Brandauer
7714acea82
delete a model that should pbly be a summary step
2023-02-20 15:44:58 +01:00
Arthur Baars
f71c3301b3
Ruby: address review comment
2023-02-20 14:32:24 +01:00
Arthur Baars
6fd836d3a9
Ruby: improve wording of error messages
2023-02-20 14:32:02 +01:00
Michael Nebel
86888b894a
Java: Re-factor isSupported for the telemetry queries.
2023-02-20 13:53:18 +01:00
Michael Nebel
f594411c43
C#: Re-factor isSupported for the telemetry queries.
2023-02-20 13:53:18 +01:00
Michael Nebel
cdda4005fd
C#: Add missing hasProvenance overrides.
2023-02-20 13:19:56 +01:00
Michael Nebel
813ffa440c
Java: Consider ai-generated flow summaries to as generated summaries in dataflow.
2023-02-20 12:11:48 +01:00
Chris Smowton
dbe0797063
Add Gradle wrappers for Kotlin tests
...
This avoids tests' behaviour changing due to environmental Gradle version changes
2023-02-20 10:51:51 +00:00
Michael Nebel
54c0404110
Java: Allow ai-generated as a provenance value.
2023-02-20 11:47:09 +01:00
Stephan Brandauer
cf5a651b1f
use provenance ai-generated for triage data and use the read-file MaD label
2023-02-20 11:33:18 +01:00
Stephan Brandauer
8d7031c166
Update Java MaD sink decls after triage
...
Triage request: 2276
2023-02-20 11:33:18 +01:00
Michael Nebel
35793b4de5
C#: Add change note.
2023-02-20 10:30:11 +01:00
Michael Nebel
7aeb61ca71
C#: Add file scoped test cases.
2023-02-20 10:30:10 +01:00
Michael Nebel
81fde0ea79
C#: Make library support for file scoped types.
2023-02-20 10:30:10 +01:00
Michael Nebel
ffb8a57893
C#: Make extractor support for file scoped types.
2023-02-20 10:30:10 +01:00
Geoffrey White
343ddede5a
Merge branch 'main' into nsstring
2023-02-20 09:15:58 +00:00
ihsinme
213abc6642
Update DivideByZeroUsingReturnValue.expected
2023-02-19 21:42:48 +03:00
ihsinme
54acbf7676
Update test.cpp
2023-02-19 21:42:14 +03:00
ihsinme
49af5ec536
Update DivideByZeroUsingReturnValue.ql
2023-02-19 21:41:28 +03:00
gregxsunday
fe97d2a05d
fix file formatting
2023-02-17 14:01:28 +00:00
Geoffrey White
ad886a3241
Swift: Autoformat.
2023-02-17 13:50:11 +00:00
Grzegorz Niedziela
9d8c117c61
added QLDocs for ZipSlip module
2023-02-17 12:57:35 +00:00
Grzegorz Niedziela
815b5a0312
add changelog file
2023-02-17 12:50:10 +00:00
Grzegorz Niedziela
c03ba2cc13
fix docs references
2023-02-17 12:50:01 +00:00
Grzegorz Niedziela
652c7ff1ed
Push Sanitizer definition to ZipSlipCustomization.qll
2023-02-17 12:49:31 +00:00
Grzegorz Niedziela
8bbbb95a87
Make ZipSlip module classes private and push Sanitizer definition to ZipSlipCustomization.qll
2023-02-17 12:49:04 +00:00
Geoffrey White
417d175ff2
Merge branch 'main' into nsstring
2023-02-17 11:32:40 +00:00
Arthur Baars
51f34eb3e9
Ruby: diagnostics: add support for markdown messages
2023-02-17 12:01:41 +01:00
Michael Nebel
8b967f9706
C#: Re-factor BuildNamedTypeId.
2023-02-17 11:49:12 +01:00
Geoffrey White
c692a316b0
Swift: Add new results found in UncontrolledFormatString test.
2023-02-17 10:07:32 +00:00
Geoffrey White
9cd9627778
Swift: Fix identical rows.
2023-02-17 10:00:06 +00:00
Geoffrey White
981f232ea9
Swift: Additional test cases.
2023-02-17 09:49:02 +00:00
Paolo Tranquilli
c4c9fd72bb
Swift: update to 5.7.3
...
No changes to the Swift frontend library headers, so no changes to the
extractor seem to be required.
2023-02-17 10:03:52 +01:00
erik-krogh
271cc6b961
remove lefterover debug comment
2023-02-17 09:50:22 +01:00
Geoffrey White
0aa9c76f42
Swift: Grammar and formatting.
2023-02-17 08:45:51 +00:00
Michael B. Gale
8e83fd00b7
Update C/C++ autobuilder
2023-02-16 15:52:29 +00:00
Michael B. Gale
aa6efce695
Use TryGetValue
2023-02-16 15:52:13 +00:00
Michael B. Gale
5537d79d90
Detect missing Xamarin SDKs
2023-02-16 15:29:16 +00:00
Michael B. Gale
7e4808440e
Fixup: better error message for no-projects-or-solutions
2023-02-16 15:29:16 +00:00
Michael B. Gale
c55281a68e
Report .NET Core & MSBuild failures
2023-02-16 15:29:15 +00:00
Michael B. Gale
eda33fc5cb
Track which projects/solutions fail to build
2023-02-16 15:29:15 +00:00
Michael B. Gale
f68c529f04
Report projects incompatible with .NET Core
2023-02-16 15:29:15 +00:00
Michael B. Gale
61ff4c7896
Set DiagnosticMessage defaults
...
Refactor `GetDiagnosticSource` into `MakeDiagnostic`
which sets the defaults.
2023-02-16 15:29:13 +00:00
Michael B. Gale
9865c506e6
Change logic for autobuild failures
...
This is to account for multiple attempted rules that failed
2023-02-16 15:28:42 +00:00
Michael B. Gale
99924919be
Support asynchronous stdout/stderr processing
2023-02-16 15:28:42 +00:00
Michael B. Gale
c5a2cfcf95
Fixup: We => CodeQL
2023-02-16 15:28:41 +00:00
Michael B. Gale
219b232c83
Add no projects/solutions diagnostic
2023-02-16 15:28:41 +00:00
Michael B. Gale
7b5e19d462
Add diagnostics for BuildCommandAutoRule
2023-02-16 15:28:37 +00:00
Michael B. Gale
5963501368
BuildCommandAutoRule: expose more information
...
We expose the list of candidate script paths and the chosen script path
so that we can inspect them for diagnostics purposes.
2023-02-16 14:16:23 +00:00
Michael B. Gale
f4c4871ab3
Add basic reporting of a general autobuild failure
2023-02-16 14:16:23 +00:00
Michael B. Gale
4e7c39a5d1
Add initial code for diagnostic messages
2023-02-16 14:16:23 +00:00
Michael B. Gale
fce9cb0b28
Read ..._DIAGNOSTIC_DIR variable
2023-02-16 14:16:23 +00:00
Michael B. Gale
fb6c27ba10
Refactor env var code in Autobuilder class
2023-02-16 14:16:22 +00:00
Arthur Baars
006ee5aad9
Ruby: improve encoding related messages
2023-02-16 13:12:55 +01:00
Grzegorz Niedziela
d8eafea719
Merge branch 'github:main' into main
2023-02-16 11:24:57 +00:00
gregxsunday
d1aaa9ad86
Add ZipSlip/TarSlip query for ruby
2023-02-16 11:24:15 +00:00
Alex Ford
9cfd0f5f46
JS: fix qldoc
2023-02-16 11:00:37 +00:00
Geoffrey White
00302dc05f
Swift: Model NSObject.
2023-02-15 22:12:39 +00:00
Geoffrey White
7e8645a1f6
Swift: Model NSMutableString.
2023-02-15 21:50:05 +00:00
Geoffrey White
d04ed14b8c
fix model -2
2023-02-15 21:18:50 +00:00
Rasmus Wriedt Larsen
c4fbfb0d07
Merge branch 'main' into call-graph-code
2023-02-15 20:15:04 +01:00
Geoffrey White
75dd95f458
Swift: Correct one of the tests.
2023-02-15 18:37:51 +00:00
Geoffrey White
99caafb9b9
Swift: Model NSString.
2023-02-15 18:37:51 +00:00
Alex Ford
1556b1a728
Merge branch 'main' into js-use-shared-cryptography
2023-02-15 17:13:53 +00:00
Alex Ford
1958b9dcd5
JS: add missing qldoc
2023-02-15 16:59:03 +00:00
Alex Ford
43af306d60
dynamic: more detailed qldoc for CryptographicOperation#getBlockMode()
2023-02-15 16:55:18 +00:00
Alex Ford
e8cbf7287d
JS: breaking change note for CryptographicOperation sync
2023-02-15 16:50:24 +00:00
Alex Ford
925b4a3fa8
JS: improve documentation on deprecated CryptographicOperation#getInput() predicate
2023-02-15 16:23:46 +00:00
Alex Ford
d4d0b91085
dynamic: switch CryptographicOperation::Range#getBlockMode() back to being an abstract predicate
2023-02-15 16:23:46 +00:00
Alex Ford
c7aaad9ed0
JS: avoid adding a deprecated CryptographicOperation#getInput to py/ruby
2023-02-15 16:23:46 +00:00
erik-krogh
51ddb55d7b
use tainted-object to precisely model that plain object are fine, but their properties are not
2023-02-15 15:02:03 +01:00
erik-krogh
09794fa836
delete PrefixStringSanitizer
2023-02-15 14:55:02 +01:00
Mathias Vorreiter Pedersen
2203eb6607
C++: Fix Code Scanning error.
2023-02-15 11:51:55 +00:00
Geoffrey White
d763c5a3a0
Swift: Update LocalTaint.expected for the changes so far.
2023-02-15 11:42:42 +00:00
Geoffrey White
2882286c3f
Swift: Test taint sources for NSString.
2023-02-15 11:42:42 +00:00
erik-krogh
17f7ba2a8f
rewrite the taint-step for join() to a flowsummary
2023-02-15 12:34:59 +01:00
Geoffrey White
9f734076b7
Swift: Test taint through NSString member variables.
2023-02-15 11:04:16 +00:00
Geoffrey White
452ca4ef0f
Swift: Test taint through NSMutableString.
2023-02-15 11:04:01 +00:00
Geoffrey White
16ec29e3df
Swift: Test taint throguh some NSObject methods.
2023-02-15 11:03:45 +00:00
Geoffrey White
85a0fd9b30
Swift: Test taint through NSString.
2023-02-15 11:03:06 +00:00
erik-krogh
d2bd70dc33
Merge branch 'main' into more-shell-taint
2023-02-15 11:35:58 +01:00
erik-krogh
759854991a
fix various nits based on feedback
2023-02-15 11:10:43 +01:00
erik-krogh
bec8dc6775
add explicit this
2023-02-15 10:44:57 +01:00
erik-krogh
25a8469586
update expected output, now that .html.erb files are actually extracted
2023-02-15 10:28:05 +01:00
erik-krogh
710e79b2d5
bump extractor version
2023-02-15 10:26:00 +01:00
erik-krogh
f9b3a5b5e6
actually extract .html.erb files
2023-02-15 10:26:00 +01:00
Rasmus Wriedt Larsen
9e2eb56032
Python: Remove support for late *args arguments
...
I found this to cause bad performance, so the implementation of this has
to be thought out more carefully.
2023-02-15 09:42:11 +01:00
Mathias Vorreiter Pedersen
c11218fcde
Merge pull request #12184 from MathiasVP/discriminate-union-contents
2023-02-14 23:36:02 +00:00
erik-krogh
b7305fd229
also consider relative exports when finding library inputs
2023-02-14 21:08:13 +01:00
erik-krogh
de4f5017e1
add change-note
2023-02-14 18:36:07 +01:00
Alex Ford
8d90c02a67
JS: remove unused field
2023-02-14 15:24:22 +00:00
Jeroen Ketema
899f35a59b
Merge pull request #12185 from jketema/test-annotations
...
C++: Update test annotations for use-use dataflow
2023-02-14 15:48:35 +01:00
Jeroen Ketema
1d4e9745a3
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-14 15:40:36 +01:00
Mathias Vorreiter Pedersen
2591460731
Merge pull request #12181 from MathiasVP/fix-node-type
...
C++: Fix node types
2023-02-14 13:54:12 +00:00
Jeroen Ketema
9e462866a0
C++: Update test annotations for use-use dataflow
2023-02-14 14:48:08 +01:00
erik-krogh
393649b7ce
don't call environment variables for command-line arguments
2023-02-14 14:27:41 +01:00
Mathias Vorreiter Pedersen
ba0be2fd9f
C++: Better discriminate for unions.
2023-02-14 13:26:40 +00:00
erik-krogh
36478124ae
add process.env and process.argv etc. as source for js/regex-injection
2023-02-14 14:21:53 +01:00
erik-krogh
943bdeca6d
make appliesTo recursive
2023-02-14 14:16:45 +01:00
erik-krogh
9549cac3e5
add an additional barrier guard that finds "=== true" versions of previous barrier guards
2023-02-14 14:15:23 +01:00
erik-krogh
c355a26657
add failing test
2023-02-14 14:12:35 +01:00
erik-krogh
3f0fe96f85
add getBoolValue() as a utility predicate on BooleanLiteral
2023-02-14 14:12:35 +01:00
Mathias Vorreiter Pedersen
4ba5059064
Merge pull request #12182 from MathiasVP/content-approx
...
C++: Use `Content` approximation
2023-02-14 13:00:47 +00:00
Mathias Vorreiter Pedersen
b01a45f7be
C++: Respond to PR reviews.
2023-02-14 09:51:48 +00:00
Mathias Vorreiter Pedersen
bda46b3748
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-02-14 09:49:32 +00:00
Mathias Vorreiter Pedersen
ffef81bc47
C++: Add QLDoc.
2023-02-14 09:38:43 +00:00
Mathias Vorreiter Pedersen
0a3f958849
C++: Use content approximations.
2023-02-14 09:10:10 +00:00
Mathias Vorreiter Pedersen
7a81f06e84
C++: Accept test changes.
2023-02-14 09:01:51 +00:00
Mathias Vorreiter Pedersen
cc036c188f
C++: Fix missing and spurious types.
2023-02-14 09:01:42 +00:00
Mathias Vorreiter Pedersen
748a345e7f
C++: Add a test to reveal missing or spurious types on dataflow nodes.
2023-02-14 08:58:29 +00:00
Jeroen Ketema
73d877e3a5
Merge pull request #12163 from jketema/dataflow-new
...
C++: Add `semmle.code.cpp.dataflow.new`
2023-02-13 12:36:16 +01:00
Jeroen Ketema
b9200c92d5
C++: Address review comments
2023-02-13 11:14:48 +01:00
Jeroen Ketema
3dfe0adf0a
C++: Fix formatting
2023-02-13 09:45:23 +01:00
Jeroen Ketema
3482158fee
C++: Add semmle.code.cpp.dataflow.new
2023-02-13 09:38:23 +01:00
Jeroen Ketema
996eb6c63c
C++: Fix Ql-for-QL warnings
2023-02-13 09:22:31 +01:00
Mathias Vorreiter Pedersen
378484ec01
Merge pull request #12149 from MathiasVP/fewer-flowthroughs
...
C++: Fix spurious flow-through
2023-02-10 18:45:46 +00:00
Arthur Baars
ecbd768df4
Ruby: reduce number of diagnostic messages with the status_page flag
...
For now we only report real parse errors and character encoding errors. Warnings about
unexpected or missing nodes in the AST are not reported. These are typically side effects
of earlier parse errors.
2023-02-10 18:53:46 +01:00
Jeroen Ketema
7bd28183ba
Merge pull request #12151 from jketema/remove-experimental-dataflow
...
C++: Remove experimental copy of the use-use IR dataflow library
2023-02-10 18:08:14 +01:00
Mathias Vorreiter Pedersen
168202dbf7
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/has-parameter-flow-out.ql
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-02-10 16:36:40 +00:00
Jeroen Ketema
8522eddf5a
Merge pull request #12148 from jketema/opt-in
...
C++: Revert `semmle.code.cpp.dataflow` to its old state
2023-02-10 17:34:27 +01:00
Jeroen Ketema
5f33827eca
C++: Update test results
2023-02-10 17:10:52 +01:00
Jeroen Ketema
b023c6bb23
C++: Remove experimental copy of the use-use IR dataflow library
2023-02-10 16:20:33 +01:00
Jeroen Ketema
1a83b712a0
C++: Add change note
2023-02-10 15:27:49 +01:00
Mathias Vorreiter Pedersen
9a8b3bad31
C++: Respond to PR reviews.
2023-02-10 13:56:19 +00:00
Jeroen Ketema
ecdeb9a970
C++: Revert semmle.code.cpp.dataflow to its old state
...
While here make sure all queries and tests use IR dataflow when appropriate.
2023-02-10 14:21:44 +01:00
Mathias Vorreiter Pedersen
5bd7589109
C++: Fix spurious flow though and accept test changes.
2023-02-10 12:42:40 +00:00
Mathias Vorreiter Pedersen
faf9fd6253
C++: Add a testcase (and a new test) to test flow through functions.
2023-02-10 12:40:29 +00:00
Jeroen Ketema
ffbaef8771
C++: Update for test changes
2023-02-10 11:23:19 +01:00
Mathias Vorreiter Pedersen
e1aef3127c
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-02-10 09:23:37 +00:00
Jeroen Ketema
8f15abc285
Merge pull request #12146 from jketema/global-indirect
...
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 10:21:04 +01:00
Jeroen Ketema
350fb89ebf
C++: Also mention all locations in the AST case
2023-02-10 09:49:24 +01:00
Mathias Vorreiter Pedersen
9aa9187dd7
Merge pull request #12141 from MathiasVP/fix-multiple-out-nodes
...
C++: Deduplicate `OutNode`s
2023-02-10 08:39:16 +00:00
Mathias Vorreiter Pedersen
4719fd5235
C++: Accept more test changes.
2023-02-10 08:38:46 +00:00
Jeroen Ketema
12930c68fb
C++: Do not mark global indirect flow as spurious in dataflow tests
2023-02-10 09:29:27 +01:00
Mathias Vorreiter Pedersen
981c976754
C++: Expand comments.
2023-02-09 17:10:07 +00:00
Mathias Vorreiter Pedersen
6b851d0529
C++: Fix an inconsistency with too many out nodes.
2023-02-09 16:55:19 +00:00
Mathias Vorreiter Pedersen
7439de37a3
C++: Add a new test that demonstrates multiple out nodes.
2023-02-09 16:23:32 +00:00
Jeroen Ketema
9d6098af15
Merge pull request #12004 from jketema/single-use
...
C++: Map operand nodes that are only used once onto the related instruction node
2023-02-09 17:18:39 +01:00
Jeroen Ketema
e4c211df2d
C++: Address review comments
2023-02-09 11:58:41 +01:00
Rasmus Wriedt Larsen
5c23b47ef4
Python: Fix typo in QLDoc
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-08 16:27:06 +01:00
Rasmus Wriedt Larsen
8bb1d8631a
Python: Add call-graph hotfix for sympy
2023-02-08 16:19:29 +01:00
Rasmus Wriedt Larsen
23144f584a
Merge branch 'main' into call-graph-code
2023-02-08 16:17:34 +01:00
Mathias Vorreiter Pedersen
946e301ed6
Merge pull request #12079 from rdmarsh2/rdmarsh2/use-use-taint-test-reads
...
C++: allow read steps at the sink in IR taint test
2023-02-08 15:08:00 +00:00
Mathias Vorreiter Pedersen
825628675e
C++: Only allow implicit reads of fields that exist on the sink node's type.
2023-02-08 13:08:22 +00:00
Jeroen Ketema
20ce4cdf91
C++: Map operand nodes that are only used once onto the related instruction node
2023-02-07 14:17:54 +01:00
ihsinme
065ca3c227
Update DivideByZeroUsingReturnValue.ql
2023-02-06 19:42:46 +03:00
Jeroen Ketema
d108185ec7
Merge pull request #12102 from jketema/fix-typos
...
C++: Fix some typos in the use-use dataflow code
2023-02-06 16:50:48 +01:00
Mathias Vorreiter Pedersen
9e96d6182d
Merge pull request #12096 from MathiasVP/recognize-more-iterators
...
C++: Teach iterator flow about `std::back_inserter`
2023-02-06 11:08:21 +00:00
Jeroen Ketema
30952f6a24
C++: Fix some typos in the use-use dataflow code
2023-02-06 11:56:59 +01:00
Mathias Vorreiter Pedersen
316eecc064
C++: Accept test changes.
2023-02-06 09:09:00 +00:00
Mathias Vorreiter Pedersen
559c799309
C++: Also recognize iterators obtained via a function that doesn't receive the container as a qualiifer.
2023-02-03 21:43:21 +00:00
erik-krogh
ecafce8191
improve the CryptoJS model by using API::Node
2023-02-03 21:44:23 +01:00
Mathias Vorreiter Pedersen
77250af444
Merge pull request #12050 from MathiasVP/flow-out-of-iterators-3
2023-02-03 18:43:37 +00:00
Mathias Vorreiter Pedersen
431738175d
Merge pull request #11171 from MathiasVP/global-flow
2023-02-03 18:42:46 +00:00
Mathias Vorreiter Pedersen
09a7573163
C++: Add comments to the new FP.
2023-02-03 17:09:19 +00:00
Mathias Vorreiter Pedersen
ae774a6b95
C++: Add a test with an indirect source.
2023-02-03 16:59:54 +00:00
Robert Marsh
ad8e82ac65
C++: allow read steps at the sink in IR taint test
2023-02-03 11:38:49 -05:00
Alex Ford
7768026e70
Merge branch 'main' into js-use-shared-cryptography
2023-02-03 15:18:30 +00:00
Alex Ford
6c35feaa98
ConceptsShared: add a default implementation of BlockMode CryptographicOperation#getBlockMode() for compatibility with external code
2023-02-03 14:39:32 +00:00
Alex Ford
b968b59afc
CryptoAlgorithms: make CryptographicAlgorithm#matchesName hold only if that algorithm is the most specific match
2023-02-03 14:15:32 +00:00
Mathias Vorreiter Pedersen
0a6f914bfc
C++: Make the documentation on 'isSink' less ambiguous.
2023-02-03 14:09:01 +00:00
Mathias Vorreiter Pedersen
0aed890b15
C++: Undo QLDoc change.
2023-02-03 14:02:55 +00:00
erik-krogh
8e05fdb369
make more imports private
2023-02-03 15:00:31 +01:00
erik-krogh
c5350ca6a0
add change-note
2023-02-03 14:47:58 +01:00
erik-krogh
cf094c2f4f
adjust which folders are seen as exported to remove an FP
2023-02-03 14:47:55 +01:00
erik-krogh
848b24cfe4
adjust concept tests after changing subprocess model
2023-02-03 14:47:55 +01:00
erik-krogh
ef44cb86c2
remove FPs related to parameters that are meant to be commands
2023-02-03 14:47:55 +01:00
erik-krogh
e9ebba3350
assume shell=False for subprocess calls, fixes FPs in e.g. youtube-dl
2023-02-03 14:47:55 +01:00
erik-krogh
d228cf0e7b
use more API-nodes to model subprocess.run (and friends)
2023-02-03 14:47:55 +01:00
erik-krogh
bce83bfc4e
add failing test for indirectly setting the shell=true flag for subprocess.run
2023-02-03 14:47:55 +01:00
erik-krogh
0a2c7d062c
add Fabric test, and add tracking of the shell flag in Fabric
2023-02-03 14:47:55 +01:00
erik-krogh
6bbc4f4a48
add more tests
2023-02-03 14:47:55 +01:00
erik-krogh
33c506d7fe
add minimal test for Array join as a sink, and learn that the order is flipped compared to JS. Thanks Copilot!
2023-02-03 14:47:55 +01:00
erik-krogh
5bddfc0d79
add test for f-strings as sink
2023-02-03 14:47:55 +01:00
erik-krogh
47a06d2824
add library inputs as a source, and get minimal test to work
2023-02-03 14:47:55 +01:00
erik-krogh
7fcc548665
add py/shell-command-constructed-from-input, but without a source.
...
It's a very direct port from Ruby, with only minor adjustments to fit the Python APIs
2023-02-03 14:47:55 +01:00
erik-krogh
187cfd7be7
add isShellInterpreted to the SystemCommandExecution concept
2023-02-03 14:47:54 +01:00
Alex Ford
e17b3d975d
JS: pick up CryptographicKeys used in asmCrypto encrypt/decrypt calls
2023-02-03 12:16:25 +00:00
Alex Ford
6b2a92a7ca
JS: update CryptographicKey.expected
2023-02-03 12:12:47 +00:00
Alex Ford
b0b8f8725e
JS: add some CryptographicOperation#getBlockMode() tests
2023-02-02 20:30:30 +00:00
Alex Ford
aa2c532a78
JS: adjust test whitespace
2023-02-02 20:30:30 +00:00
Alex Ford
c25dc978df
JS: add blockMode to CryptographicOperation tests
2023-02-02 20:30:30 +00:00
Alex Ford
1435ef1862
CryptoAlgorithms: make CryptographicAlgorithm#matchesName split on underscores
2023-02-02 20:30:30 +00:00
Alex Ford
983055b8f9
JS: Use shared CryptographicOperation concept and implement BlockMode getBlockMode()
2023-02-02 20:30:30 +00:00
Alex Ford
e5dfbe2c8d
ConceptsShared: Add BlockMode#matchesString(string) predicate
2023-02-02 20:27:52 +00:00
Alex Ford
61095b3c58
ConceptsShared: Add deprecated DataFlow::Node CryptographicOperation#getInput() predicate
2023-02-02 20:27:05 +00:00
Mathias Vorreiter Pedersen
b53963a791
C++: QLDoc.
2023-02-02 11:49:31 +00:00
Rasmus Wriedt Larsen
db114bb104
Merge branch 'main' into call-graph-code
2023-02-02 11:56:55 +01:00
Mathias Vorreiter Pedersen
968fff29ac
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into flow-out-of-iterators-3
2023-02-02 09:12:02 +00:00
Mathias Vorreiter Pedersen
eb31160ae0
C++: Accept test changes.
2023-02-01 13:42:03 +00:00
Mathias Vorreiter Pedersen
702b10ff96
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-02-01 13:37:10 +00:00
Mathias Vorreiter Pedersen
0e1dcc8062
C++: Accept test changes. These all appear to be good changes.
2023-02-01 13:25:37 +00:00
Mathias Vorreiter Pedersen
136b5d189c
C++: Small cleanup by making 'GlobalUse' extend 'UseImpl'.
2023-02-01 13:24:40 +00:00
Rasmus Wriedt Larsen
fdb33ff48e
Python: Fix grammar in change-note
...
Co-authored-by: Taus <tausbn@github.com >
2023-02-01 14:01:20 +01:00
Jeroen Ketema
ce8a84abb3
Merge pull request #12043 from jketema/subpaths
...
C++: Fix missing subpaths when displaying dataflow paths
2023-02-01 09:17:16 +01:00
Mathias Vorreiter Pedersen
88338bdfcf
C++: Flow out of functions that write to iterators.
2023-01-31 15:11:47 +00:00
Mathias Vorreiter Pedersen
41ea71c31c
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-31 14:12:23 +00:00
Mathias Vorreiter Pedersen
1a27a069ac
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-31 11:15:42 +00:00
Jeroen Ketema
24891c3f43
C++: Fix missing subpaths when displaying dataflow paths
2023-01-31 10:57:06 +01:00
erik-krogh
c2e8206090
add more array taint steps that taint the entire array
2023-01-30 21:14:27 +01:00
erik-krogh
962465f77a
add array-taint-steps to unsafe-shell-command-construction
2023-01-30 16:56:03 +01:00
Mathias Vorreiter Pedersen
be359a32c0
Merge pull request #11976 from MathiasVP/fewer-uses-2
...
C++: Don't count every conversion as a use
2023-01-30 15:51:12 +00:00
erik-krogh
a4c42aa14b
more custom array steps from unsafe-code-construction to a utility predicate
2023-01-30 16:46:13 +01:00
Mathias Vorreiter Pedersen
22202afbf5
Merge pull request #12007 from MathiasVP/fix-is-chi-before-iterator-use
...
C++: Add missing condition to `isChiBeforeIteratorUse`
2023-01-30 14:01:39 +00:00
Mathias Vorreiter Pedersen
7cc7675cdc
C++: Accept query changes. These are just deduplications.
2023-01-30 09:26:14 +00:00
Mathias Vorreiter Pedersen
1b45c5f96a
C++: Accept test changes.
2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
9de8d5c501
C++: Reduce the number of uses by excluding conversions.
2023-01-30 09:13:42 +00:00
Mathias Vorreiter Pedersen
7ecc3466cf
C++: Add another column to 'conversionFlow'.
2023-01-30 09:13:42 +00:00
Rasmus Wriedt Larsen
c7e552b343
Python: Fix grammar in qldoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-30 09:45:45 +01:00
Rasmus Wriedt Larsen
a1c2f4c138
Python: Small rewrite of **kwargs getParameter logic
2023-01-30 09:42:43 +01:00
Mathias Vorreiter Pedersen
9573395237
Merge pull request #12005 from MathiasVP/flow-out-of-invalid-functions
...
C++: Flow out of invalid functions
2023-01-29 16:15:40 +00:00
Rasmus Wriedt Larsen
cef933f813
Python: Add comment explaining SINK3_F(kwargs["c"]) test
...
Co-authored-by: yoff <yoff@github.com >
2023-01-27 15:48:59 +01:00
Rasmus Wriedt Larsen
c099dbd04c
Python: Expand notes around bound methods self argument passing
2023-01-27 15:27:45 +01:00
Mathias Vorreiter Pedersen
587b4fee9d
C++: Add missing condition to 'isChiBeforeIteratorUse'.
2023-01-27 14:04:01 +00:00
Mathias Vorreiter Pedersen
e48c93a3b5
Merge pull request #12003 from MathiasVP/positive-formulated-sanitizer-nonconst-format
...
C++: Positively phrased sanitizer in `cpp/non-constant-format`
2023-01-27 13:58:04 +00:00
Mathias Vorreiter Pedersen
2b47e150c6
C++: Accept test changes.
2023-01-27 11:44:17 +00:00
Mathias Vorreiter Pedersen
ec7b406cc9
C++: Generate flow out of parameters whose enclosing function is missing a return statement.
2023-01-27 11:44:04 +00:00
Rasmus Wriedt Larsen
02b3a1b515
Python: At most one **kwargs ParameterNode per callable
...
Similar to the Ruby changes from
https://github.com/github/codeql/pull/11461
I feel the change to `DataFlowFunciton.getParameter` where we use
`not exists(func.getArgByName(_))` is not very great, but I was not allowed
to use `not exists(this.getParameter(any(ParameterPosition _).isKeyword(_)))`
because of negative recursion.
2023-01-27 11:14:42 +01:00
Mathias Vorreiter Pedersen
e8db563e98
C++: Reformulate the sanitizer in 'NonConstantFormat.ql'. It should no longer incorrectly sanitize indirect nodes for which there is no result for 'asIndirectExpr'.
2023-01-27 10:04:48 +00:00
Robert Marsh
6a91e85981
C++: fix UseImpl after merge conflict
2023-01-26 16:01:37 -05:00
Robert Marsh
3648f26cca
Merge remote-tracking branch 'origin/mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
...
Resolved trivial conflicts.
2023-01-26 11:58:53 -05:00
Mathias Vorreiter Pedersen
ee62f2a223
C++: Fix global variable exclusion in DTT.
2023-01-26 16:49:58 +00:00
Mathias Vorreiter Pedersen
8c224429b3
C++: Better 'getType' for global variable nodes.
2023-01-26 16:49:49 +00:00
Mathias Vorreiter Pedersen
bfe9ae22ad
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-26 13:03:49 +00:00
Rasmus Wriedt Larsen
f262dc68f8
Python: Reword note about debugging getNextClassInMro
2023-01-25 10:08:43 +01:00
Rasmus Wriedt Larsen
63b2bd0871
Python: Fixup test_only_starargs addition
...
validTest.py did not pass, since we use `SINK3_F`.
I initially tried swapping the order
```
args = (arg1, arg2) # $ arg1 arg2 func=starargs_only
more_args = (arg4, arg3)
starargs_only(*args, *more_args)
```
But then asked myself, what is it _actually_ we're testing here? and it
seems to be the way we handle multiple *args arguments in the same call,
so I converted the test to be that instead! (and it matches what we do
in test_stararg_mixed)
2023-01-25 09:37:07 +01:00
Mathias Vorreiter Pedersen
b1dcb01ed7
Merge pull request #11977 from MathiasVP/accept-test-changes
...
C++: Accept test changes on the use-use flow branch
2023-01-24 12:00:04 +00:00
Mathias Vorreiter Pedersen
ec297fb838
C++: Accept more test changes.
2023-01-24 11:59:14 +00:00
Mathias Vorreiter Pedersen
9f9c486268
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-24 11:39:04 +00:00
Mathias Vorreiter Pedersen
7fb9db49be
C++: Accept test changes.
2023-01-24 11:11:11 +00:00
Mathias Vorreiter Pedersen
ecbcee5bc8
Merge pull request #11945 from MathiasVP/refactor-param-out-nodes-2
2023-01-23 21:21:13 +00:00
Rasmus Wriedt Larsen
0879c8f8e1
Python: Expand comments on C3 MRO
2023-01-23 17:40:24 +01:00
Rasmus Wriedt Larsen
80324735bb
Python: Fixup annotation for CWE-022-PathInjection/pathlib_use.py
2023-01-23 17:40:24 +01:00
Mathias Vorreiter Pedersen
79b77b01fd
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-23 15:49:36 +00:00
Mathias Vorreiter Pedersen
9dbea539ed
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-param-out-nodes-2
2023-01-23 10:51:46 +00:00
Rasmus Wriedt Larsen
753192bb4d
Merge branch 'main' into call-graph-code
2023-01-23 11:25:02 +01:00
Jeroen Ketema
3f9deb66ce
Merge pull request #11936 from jketema/pretty-path
...
C++: In use-use dataflow use the AST representation of IR Instructions and Operands as their strings
2023-01-23 10:30:17 +01:00
Mathias Vorreiter Pedersen
da6bbbbc5e
C++: Accept test changes.
2023-01-21 01:43:23 +00:00
Mathias Vorreiter Pedersen
ae998583be
C++: Refactor parameter out nodes to not depend on 'ReturnIndirectionInstruction's.
2023-01-21 01:43:23 +00:00
Rasmus Wriedt Larsen
25a68c4d71
Python: Include @yoff's suggestion on synthetic *args handling
2023-01-20 16:49:33 +01:00
Rasmus Wriedt Larsen
41ebb4fb55
Python: Add p2 in QLDoc example code for synthetic **kwargs
2023-01-20 16:40:39 +01:00
Rasmus Wriedt Larsen
d9fbe58ad5
Python: Expand starargs_only test
2023-01-20 16:34:59 +01:00
Rasmus Wriedt Larsen
0df3dd68d6
Python: Remove (now) redundant cast
2023-01-20 15:13:02 +01:00
Rasmus Wriedt Larsen
1bd969c219
Merge branch 'main' into call-graph-code
2023-01-20 15:11:49 +01:00
Jeroen Ketema
f628152be1
C++: In dataflow use the AST representation of IR Instructions and Operands
2023-01-20 10:39:50 +01:00
Rasmus Wriedt Larsen
4df946b161
Python: call-graph: Don't design for special method calls yet
...
The `call` arguments were not `CallNode`s before, to allow for easier
support of special method calls, such as `a + b` going to `__add__`.
However, this is not implemented yet, so for now we can keep things
simple.
Co-authored-by: Taus <tausbn@github.com >
2023-01-18 12:30:53 +01:00
Mathias Vorreiter Pedersen
39d44adbc5
Merge pull request #11896 from jketema/spurious-default-taint
...
C++: Fix spurious results in default taint tracking
2023-01-17 17:10:15 +00:00
Rasmus Wriedt Larsen
b83fc3b6eb
Python: Update QLDoc for clsArgumentTracker
2023-01-17 14:38:56 +01:00
Rasmus Wriedt Larsen
24892801ec
Python: clsTracker => clsArgumentTracker
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 14:16:56 +01:00
Rasmus Wriedt Larsen
1c8cc6a32a
Python: Add QLDoc for TFunction
2023-01-17 14:14:05 +01:00
Rasmus Wriedt Larsen
dad6221b61
Python: Accept dataflow-consistency.expected changes for now
...
As highlighted in the configuration file, there are some things to catch
up on, and we also need to apply the same fix as Ruby for **kwargs
handling.
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
749e81367d
Python: Allow multiple **kwargs parameters outside our test code
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
b6272b383d
Python: Allow non-unique parameter positions for normal parameters
2023-01-17 13:58:40 +01:00
Rasmus Wriedt Larsen
a6fd5b6e59
DataFlow: Add uniqueParameterNodePositionExclude
2023-01-17 13:58:37 +01:00
Rasmus Wriedt Larsen
7a423622f8
DataFlow: Add uniqueParameterNodeAtPositionExclude
2023-01-17 13:57:31 +01:00
Rasmus Wriedt Larsen
e3fcfd0a66
Python: Use configuration for dataflow consistency checks in dataflow/exceptions
2023-01-17 13:55:22 +01:00
Rasmus Wriedt Larsen
f8d7a367ad
Python: Rewrite test for __add__ special method
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:45:57 +01:00
Rasmus Wriedt Larsen
ae1d4decc3
Python: ExternalAPIs.qll: Swap order of classes
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 11:01:47 +01:00
Rasmus Wriedt Larsen
b6f76d784c
Python: Remove accidentally committed files
2023-01-17 10:59:11 +01:00
Rasmus Wriedt Larsen
479f019eb0
Python: Minor rewrite removing unnecessary exists
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 10:59:11 +01:00
Rasmus Wriedt Larsen
608b16c98a
Python: Minor adjustment in QLDoc
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 10:56:53 +01:00
Rasmus Wriedt Larsen
700e40b11b
Python: Fix ql4ql
2023-01-17 10:35:20 +01:00
Rasmus Wriedt Larsen
4f3876f184
Python: Accept rewrite for _join( predicates
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2023-01-17 10:32:31 +01:00
Rasmus Wriedt Larsen
7c242b1409
Python: Minor QLDoc fix
...
Co-authored-by: Taus <tausbn@github.com >
2023-01-17 10:32:15 +01:00
Rasmus Wriedt Larsen
690a09d9b6
Python: new-call-graph: pragma[noinline] => pragma[nomagic]
...
As suggested by @tausbn. Obviously, this needs to be performance tested.
2023-01-16 20:45:44 +01:00
Rasmus Wriedt Larsen
a3b7273844
Python: Fix duplicated meta query id
2023-01-16 20:33:28 +01:00
Rasmus Wriedt Larsen
3fcb8f3f4b
Python: Accept suggestions from code-review
2023-01-16 20:33:28 +01:00
Jeroen Ketema
a892ae8764
C++: Fix spurious results in default taint tracking
2023-01-16 19:10:10 +01:00
Rasmus Wriedt Larsen
a1513cc1d3
Python: Minor QLDoc fix
2023-01-16 14:07:11 +01:00
Rasmus Wriedt Larsen
dfbb744a7a
Python: Add comment on *args argument handling
2023-01-16 14:04:25 +01:00
Rasmus Wriedt Larsen
e5e5d84361
Python: Add change-note
2023-01-16 13:44:24 +01:00
Rasmus Wriedt Larsen
61151d4aa7
Merge branch 'main' into call-graph-code
2023-01-16 13:39:15 +01:00
Mathias Vorreiter Pedersen
2aace0df2c
Merge pull request #11743 from MathiasVP/fix-pointer-to-const-nodes
...
C++: `PostUpdateNode`s for const-pointer arguments
2023-01-13 14:03:21 +00:00
Mathias Vorreiter Pedersen
cdd9567062
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/SsaInternalsCommon.qll
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2023-01-13 13:54:07 +00:00
Mathias Vorreiter Pedersen
cc0371648b
C++: Accept test changes.
2023-01-11 16:25:21 +00:00
Mathias Vorreiter Pedersen
a83879fa42
C++: Make sure that arguments of const pointer-type (as opposed to arguments of pointer to const-type) has an outgoing argument node.
2023-01-11 16:24:22 +00:00
Mathias Vorreiter Pedersen
cd24405a22
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into global-flow
2023-01-11 15:42:34 +00:00
Mathias Vorreiter Pedersen
8b01dfe696
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2023-01-10 17:30:29 +00:00
Mathias Vorreiter Pedersen
0f93e5c907
Merge pull request #11781 from MathiasVP/as-expr-for-arrays
...
C++: Map more expressions to `OperandNode`s
2023-01-09 14:38:22 +00:00
Mathias Vorreiter Pedersen
83d751b287
Merge pull request #11768 from MathiasVP/fix-implicit-reads-in-cleartext-sqlite-database
...
C++: Fix implicit reads on `cpp/cleartext-storage-database`
2022-12-22 13:47:10 +00:00
Mathias Vorreiter Pedersen
e86e3ec3ec
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-22 11:29:43 +00:00
Mathias Vorreiter Pedersen
e453c7a36e
C++: Accept test changes.
2022-12-22 10:57:54 +00:00
Mathias Vorreiter Pedersen
05cd2518a4
C++: Map more expressions to operand nodes.
2022-12-22 10:57:11 +00:00
Mathias Vorreiter Pedersen
273af3cbf1
C++: Fix 'allowImplicitRead' override in 'cpp/cleartext-storage-database'.
2022-12-21 09:43:00 +00:00
Jeroen Ketema
0addae81cd
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-20 11:34:41 +01:00
Jeroen Ketema
949b61c635
Merge pull request #11729 from MathiasVP/fix-cleartext-sqlite-database
...
C++: Prepare `cpp/cleartext-storage-database` for use-use flow
2022-12-19 14:01:34 +01:00
Jeroen Ketema
88a1eead03
Merge pull request #11724 from MathiasVP/clear-text-transmission-dont-track-indirection
...
C++: Use `asExpr` in `cpp/cleartext-transmission`
2022-12-19 11:31:06 +01:00
ihsinme
a2836dc72a
Update test.cpp
2022-12-18 00:38:32 +03:00
ihsinme
945cdef18d
Update DivideByZeroUsingReturnValue.expected
2022-12-18 00:35:28 +03:00
ihsinme
c790b0fed6
Update DivideByZeroUsingReturnValue.ql
2022-12-18 00:34:14 +03:00
Robert Marsh
df7a4ac093
Merge pull request #11722 from MathiasVP/make-buffer.qll-unique-again
...
C++: Use `unique` in `getBufferSize`
2022-12-16 15:00:18 -05:00
Mathias Vorreiter Pedersen
1d80e94bb4
C++: Prepare 'CleartextSqliteDatabase.ql' for use-use flow.
2022-12-16 17:10:10 +00:00
Mathias Vorreiter Pedersen
c09ed10d33
Merge pull request #11727 from MathiasVP/fix-crement-and-assign-op-dataflow-mappings
...
C++: Fix `DataFlow <-> Expr` mappings for `CrementOperation` and `AssignOperation`
2022-12-16 17:05:13 +00:00
Mathias Vorreiter Pedersen
33649ed7d3
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-16 17:02:06 +00:00
Mathias Vorreiter Pedersen
a7aa1a7d8b
C++: Accept more test changes
2022-12-16 16:04:35 +00:00
Robert Marsh
eddc2f3038
Merge pull request #11694 from MathiasVP/iterator-use-use-flow-using-ir-ssa
...
C++: Iterator flow for IR-based use-use flow (second attempt)
2022-12-16 10:51:19 -05:00
Mathias Vorreiter Pedersen
45f69be94c
C++: Accept test changes
2022-12-16 14:14:58 +00:00
Mathias Vorreiter Pedersen
df526552a6
C++: Fix mapping between dataflow nodes and '{Crement, Assign}Operations'.
2022-12-16 14:14:48 +00:00
Mathias Vorreiter Pedersen
2de2887ebb
C++: Accept test changes
2022-12-16 13:27:08 +00:00
Mathias Vorreiter Pedersen
4ace171447
C++: Don't track indirection expressions in 'cpp/cleartext-transmission'. Instead, just track the direct expression.
2022-12-16 13:26:53 +00:00
Mathias Vorreiter Pedersen
81de93da2d
C++: Accept test changes
2022-12-16 12:58:53 +00:00
Mathias Vorreiter Pedersen
c06f7259cf
C++: Make the 'getBufferSize' a lot more like the pre-use-use flow implementation.
2022-12-16 12:58:45 +00:00
Mathias Vorreiter Pedersen
a36afc6bff
C++: Accept more test changes.
2022-12-15 13:29:05 +00:00
Mathias Vorreiter Pedersen
73b93be313
C++: Prevent non-termination in 'getTypeImpl' when a iterator defines itself as 'value_type'.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
526b913f7d
C++: Fix join orders.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
cb47bdd9fd
C++: Accept test changes.
2022-12-15 11:55:25 +00:00
Mathias Vorreiter Pedersen
f94ca0e087
C++: Add implicit defs and uses for iterators' underlying containers.
2022-12-15 11:55:21 +00:00
Mathias Vorreiter Pedersen
78b7e12b87
C++: Make 'DefImpl' and 'useImpl' abstract.
2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
5d417d7a69
C++: Implement an 'Indirection' subtype for iterators.
2022-12-15 11:54:32 +00:00
Mathias Vorreiter Pedersen
ef110e77ff
C++: Remove an unnecessary predicate from the 'Indirection' class.
2022-12-15 11:54:32 +00:00
Jeroen Ketema
31b4dda7bd
Merge pull request #11687 from jketema/tainted-path-use-use
...
C++: Make `cpp/path-injection` work with use-use dataflow
2022-12-14 18:06:05 +01:00
Mathias Vorreiter Pedersen
22b04af0fa
Merge pull request #11658 from MathiasVP/uncertain-writes
...
C++: Flow through uncertain writes
2022-12-14 15:26:28 +00:00
Jeroen Ketema
bb256514c0
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-14 15:52:20 +01:00
Jeroen Ketema
3b78860d8d
Merge pull request #11692 from jketema/itemization
...
C++: Fix itemization in QLDoc
2022-12-14 15:19:12 +01:00
Jeroen Ketema
c18cfa7a7a
C++: Fix itemization in QLDoc
2022-12-14 13:46:07 +01:00
Jeroen Ketema
4075f693bd
C++: Make cpp/path-injection work with use-use dataflow
2022-12-14 13:38:55 +01:00
Mathias Vorreiter Pedersen
973aad5c17
Merge pull request #11677 from jketema/argv-flow-source
...
C++: Recognize indirect `argv` accesses as flow sources for use-use dataflow
2022-12-14 12:36:18 +00:00
Jeroen Ketema
628f92a9fb
C++: Fix QL-for-QL warnings
2022-12-13 16:24:55 +01:00
Jeroen Ketema
3be0b3e6c7
C++: Recognize indirect argv accesses as flow sources for use-use dataflow
...
This fixes the test regression on `cpp/command-line-injection`.
2022-12-13 16:18:17 +01:00
Mathias Vorreiter Pedersen
69155cb691
Merge pull request #11664 from jketema/alloca-in-loop-fix
...
C++: Fix `cpp/alloca-in-loop` regressions with use-use dataflow
2022-12-13 11:59:38 +00:00
Jeroen Ketema
b10ed976cc
Update cpp/ql/src/Likely Bugs/Memory Management/AllocaInLoop.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-12-13 10:57:34 +01:00
Jeroen Ketema
18dea55071
C++: Fix cpp/alloca-in-loop regressions with use-use dataflow
2022-12-12 19:15:50 +01:00
Mathias Vorreiter Pedersen
a161dddbbf
C++: Accept test changes. These happen because these remote flow sources specify that the remote source is both 'isReturnValue' and 'isReturnValueDeref'.
2022-12-12 13:39:09 +00:00
Mathias Vorreiter Pedersen
8722fb2cf5
C++: Accept test changes.
2022-12-12 10:54:40 +00:00
Mathias Vorreiter Pedersen
ad522651ec
C++: Flow through uncertain writes.
2022-12-12 10:54:26 +00:00
Mathias Vorreiter Pedersen
2999243e34
C++: Add failing IR dataflow testcase.
2022-12-12 10:42:59 +00:00
Jeroen Ketema
b2091e8632
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-12 11:40:36 +01:00
Jeroen Ketema
cb1dacfef1
C++: Fix QL-for-QL warnings
2022-12-12 11:23:29 +01:00
Mathias Vorreiter Pedersen
9e7b73ab4a
Merge pull request #11645 from MathiasVP/more-caching
2022-12-10 18:04:48 +00:00
Mathias Vorreiter Pedersen
9f9ffef697
C++: Make the Node IPA type private.
2022-12-10 14:51:21 +00:00
Mathias Vorreiter Pedersen
de70cbfee9
C++: Change caching for dataflow.
2022-12-09 23:30:47 +00:00
Mathias Vorreiter Pedersen
2ad61df9df
Merge pull request #11640 from MathiasVP/local-expr-step-should-step
...
C++: Prevent an `Expr` from stepping to itself in IR dataflow
2022-12-09 17:31:19 +00:00
Mathias Vorreiter Pedersen
52bf39bcf9
C++: Use a 'fastTC' instead of '*' to improve performance.
2022-12-09 14:21:09 +00:00
Mathias Vorreiter Pedersen
a3285653ae
C++: Prevent an expression to stepping to itself.
2022-12-09 14:20:27 +00:00
Mathias Vorreiter Pedersen
b9c9f65f0f
Merge pull request #11633 from MathiasVP/accept-consistency-failures
...
C++: Accept dataflow consistency changes
2022-12-09 11:03:03 +00:00
Mathias Vorreiter Pedersen
1169c1b898
C++: Accept test changes caused by the new consitency check.
2022-12-09 09:20:29 +00:00
Robert Marsh
f235b991db
Merge pull request #11374 from MathiasVP/indirect-outnodes-are-post-update-nodes
...
C++: Field flow through reference-returning functions
2022-12-08 10:46:19 -05:00
Mathias Vorreiter Pedersen
7c6918de98
Merge pull request #11543 from MathiasVP/refactor-isdef-isuse
...
C++: Refactor `isDef` and `isUse` in preparation for iterator flow
2022-12-08 14:31:36 +00:00
Mathias Vorreiter Pedersen
f814ce7f10
Merge branch 'mathiasvp/replace-ast-with-ir-use-usedataflow' into refactor-isdef-isuse
2022-12-08 13:25:20 +00:00
Mathias Vorreiter Pedersen
0a1097d735
C++: Accept test changes to 'sources-and-sinks.cpp'.
2022-12-08 13:17:35 +00:00
Mathias Vorreiter Pedersen
4fd6ac5657
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-08 13:10:18 +00:00
Mathias Vorreiter Pedersen
36d0903733
C++: Simplify 'getSourceVariable'.
2022-12-08 12:29:15 +00:00
Rasmus Wriedt Larsen
a826c4f48b
Merge branch 'main' into call-graph-code
2022-12-08 11:39:30 +01:00
Mathias Vorreiter Pedersen
9f85175ee1
C++: Fix blowup in 'stripPointer'.
2022-12-07 22:35:37 +00:00
Mathias Vorreiter Pedersen
5ae3228928
C++: Fix TODO.
2022-12-07 22:34:10 +00:00
Mathias Vorreiter Pedersen
68f0997d87
C++: Generalize loads and stores.
2022-12-07 22:34:10 +00:00
Mathias Vorreiter Pedersen
589f7bdbcc
C++: Introduce BaseSourceVariableInstruction.
2022-12-07 22:34:03 +00:00
Mathias Vorreiter Pedersen
e71fbb1def
Merge pull request #11541 from MathiasVP/add-node0
...
C++: Introduce a pre-SSA `DataFlow::Node` class
2022-12-06 13:28:39 +00:00
Mathias Vorreiter Pedersen
c563ed3635
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-12-05 10:27:55 +00:00
Mathias Vorreiter Pedersen
43adfe8893
C++: Fix QLDoc.
2022-12-02 11:30:46 +00:00
Mathias Vorreiter Pedersen
145dea0e9b
C++: Introduce a node class that exists before computing SSA.
2022-12-02 10:04:52 +00:00
Jeroen Ketema
2ef13d1df7
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-29 10:43:01 +01:00
Jeroen Ketema
4c94ff7deb
Merge pull request #11413 from jketema/default-taint-upper-bound-check-fix
...
C++: Fix upper bound detection in default taint flow
2022-11-24 15:36:59 +01:00
Jeroen Ketema
223eeb6921
C++: Fix upper bound detection in default taint flow
2022-11-24 14:38:36 +01:00
Rasmus Wriedt Larsen
d151e21f15
Python: Move ControlFlowNode.toString() to AST cached stage
...
This means points-to is no longer evaluated for sql injection 🎉
Thanks @asgerf 💪
2022-11-24 10:14:39 +01:00
Mathias Vorreiter Pedersen
d9fab8afd9
Merge pull request #11405 from jketema/611-use-use-fix
...
C++: Fix CWE-611 XXE query to work with use-use dataflow - take 2
2022-11-24 09:10:28 +00:00
Jeroen Ketema
6fa5fdfeb2
C++: Fix CWE-611 XXE query to work with use-use dataflow - take 2
...
This commit ensures stack allocated parsers are also handled.
2022-11-23 23:59:04 +01:00
Mathias Vorreiter Pedersen
ac2174db13
Merge pull request #11400 from jketema/611-use-use-fix
...
C++: Fix CWE-611 XXE query to work with use-use dataflow
2022-11-23 17:08:52 +00:00
Jeroen Ketema
30bdd25228
C++: Fix CWE-611 XXE query to work with use-use dataflow
2022-11-23 16:14:28 +01:00
Jeroen Ketema
9e4cab74ec
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-23 11:07:03 +01:00
Mathias Vorreiter Pedersen
349c5cd800
Merge pull request #11254 from MathiasVP/fix-ssa-flow
...
C++: Fix spurious reference flow
2022-11-23 09:52:28 +00:00
Rasmus Wriedt Larsen
69b43f147a
Python: Fix ql4ql alerts
...
The rest will be ignored.
2022-11-22 16:24:47 +01:00
Mathias Vorreiter Pedersen
623372238d
C++: Better support for flow-through.
2022-11-22 13:54:44 +00:00
Rasmus Wriedt Larsen
00ec3a23ba
Python: Accept fix from module-resolution PR
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
ee2f7401e8
Python: Add generator-flow/dataflow-consistency.ql
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
8de5cfef43
Python: Update dataflow-consistency.expected
...
After merging in main
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
c0ad870949
Python: Exclude synthetic generator functions from DataFlowCallable
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
d86f98d60b
Python: Accept changes for enclosing-callable test
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
aa382ac042
Python: Add test for strange generator taint flow
...
I did check, and this was not a problem with the old call-graph on main!
I'm absolutely baffled!
2022-11-22 14:46:33 +01:00
Rasmus Wriedt Larsen
36e8b8bfb9
Python: Add call-graph to cached dataflow stage
...
I didn't do any performance investigation on this, since it just seems
so much like the right approach.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
fc0545561e
Python: Introduce points-to cached stage
...
With points-to not being used for the call-graph any longer, it's time
to split them.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
bd46b7deaa
Python: Cache a few call-graph predicates
...
We DON'T want to recompute these ones for sure!
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
6646e98d20
Python: Fix results outside DB for StackTraceExposure
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
972cfa5cf6
Python: Accept bad StackTraceExposure.expected
...
This is only Python 2 though
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
a301c93ebf
Python: Fix results outside DB for CleartextLogging
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
0a41d8d2c1
Python: Accept bad CleartextLogging.expected
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
39ce50fadc
Python: Fix problems with sinks in pathlib
...
This must mean that we did not have this flow with the old call-graph,
which means the new call-graph is doing a better job (yay).
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
edcaff26af
Python: Add path-injection test using pathlib
...
Since it has the same problem of showing sinks inside the extracted
stdlib
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
9d29a0a044
Python: Accept changes to .expected from more pathlib flow
...
But we don't want to keep this, this commit is just to show why we need a fix :)
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
df4d09b3f9
Python: Don't rely on all DataFlowCall being resolved
...
I've been living dangerously with that assumption :|
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
478f5ffe96
Python: Limit self argument for PotentialLibraryCall
...
Using the object from `MethodCallNode` meant that in the code below,
`lib` from the import expression would be considered a self argument
(this showed up in dataflow-consistency query results, that were not
comitted... sorry)
```
from lib import func
func()
```
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
c4122275dc
Python: Bring back support for flow-summaries
...
Also needed to fix up `TestUtil/UnresolvedCalls.qll` after a bad merge
conflict resolution. Since all calls are now DataFlowCall, and not JUST
the ones that can be resolved, we need to put in the restriction that
the callable can also be resolved.
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
e5fdeae6fc
Python: Add return (func_ref, ...) test
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
fb0cc184d9
Python: Add test of multi func def based on runtime decision
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
276a825cd0
Python: Allow same function name in call-graph tests
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
8a56b48357
Python: Support super().__new__(cls)
2022-11-22 14:46:32 +01:00
Rasmus Wriedt Larsen
2b76964f7f
Python: Expand tests of __new__ a bit more
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
a4e6433942
Python: add support for type(self)()
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
d43a48c265
Python: Add type(self)() tests
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
16483f7d40
Python: Add funky call-graph regression
...
I don't even know how to phrase this :D
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
1e96ced3ab
Python: Ignore functions with @property decorator for now
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
cba93ded77
Python: Add test for @property problem
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
b33f02f9dc
Python: Fix self-passing problems
...
This also fixes performance problems for pandas-dev/pandas
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
722c69edcc
Python: Add test showing self type-tracking problems
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
5e5bab5a7c
Python: Don't pass synthetic class instance to __new__ on class calls
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
9949824810
Python: Expand implicit classmethods
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
6fefd54533
Python: Consider __new__ a classmethod
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
f040ad8dac
Python: Add test of __new__ handling
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
57c7dc8ea9
Python: Allow cls passing to classmethod
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
0cf13e9976
Python: Expand argument highlighting test
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
8e0bb62516
Python: Remove pragma[inline] from parameterMatch
...
It's gotten complex enough that it doesn't by definition seem necessary
to inline it. (in the range of ~2200 results for django and pandas)
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
4416037dc6
Python: Ignore SPURIOUS call-graph edges in points-to vs. type-tracker results
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
6351defe0d
Python: Add call-graph tests with isinstance
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
5fc127cb2c
Python: Make UnresolvedCalls.qll handle class calls without __init__
...
This commit used to make sense to have here in the ordering of commits,
but due to various rebases it no longer changes any test output..
it's still a good change though, so I'll keep it.
2022-11-22 14:46:31 +01:00
Rasmus Wriedt Larsen
98a849405f
Python: Add support for late *args arguments
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
035d083515
Python: Support flow to *args param from positional arg
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
db921ac036
Python: Add basic support for *args
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
b6314dd19d
Python: Add *args tests
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
c687df4ddc
Python: Support flow to keyword param from **kwargs arg
...
When resolving merge conflict after flow-summaries was merged, this is
the original commit where I introduced ParameterNodeImpl, so this is the
commit where differences in that implementation was committed...
I removed TParameterNode, since I could not see we we gain anything from
having it.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
215a03d948
Python: Support flow to **kwargs param from keyword arg
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
503ad544e9
Python: Remove impossible flow for **kwargs params
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
eb600f07b7
Python: Use config for dataflow-consistency.ql
...
And ignore post-update nodes for `**kwargs` arguments
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
5722d231bd
Python: Add basic support for **kwargs
...
For now this is JUST from `**kwargs` in arguments, to `**kwargs`
parameters, and this part is based on field-flow
Note that dataflow-library complains about missing post update nodes for
these. This needs to be ignored, since post update nodes for `**kwargs`
arguments doesn't make sense, it's not possible to alter the dictionary
inside the method.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
9b2663034d
Python: Change test .ql to also show bad argument flow
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
5a976cfb14
Python: Add more **kwargs arg passing tests
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
e7a337991a
Python: Accept fix from extractor change
...
namely the variable access mentioned in
https://github.com/github/codeql/pull/10171
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
7014be2047
Python: Reduce size of attrReadTracker
...
On pallets/flask, this reduced the number of tuples from
100866 results => 33060 results
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
61410191e7
Python: Fix bug in argumentRoutingTest.ql
...
Since `DataFlowPrivate::DataFlowCall` only exists for calls resolved to
a function, we didn't have any results before... but allowing any call
helps things!
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
a5c3e850f1
Python: Handle __call__
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
b5e8bf7882
Python: Add note about trying DataFlowDispatchPointsTo for InlineCallGraphTest
...
Since I was very confused about no results for __call__, I tried to see
whether I had cheated by making the comparison too unfair. But it didn't
seem to be the case.
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
f3ac81a013
Python: Expand tests for special method calls
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
f2e92bf963
Python: Port py/meta/call-graph
2022-11-22 14:46:30 +01:00
Rasmus Wriedt Larsen
7c1320ed4b
Python: Adjust ExternalAPI qhelp files
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
af9be6ad7e
Python: Suppress more spurious alerts from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
70cc986d5f
Python: Suppress None.json.dumps from ExternalAPI queries
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
0bdc808a7a
Python: Add ExternalAPI test None.json.dumps
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
7648462f98
Python: Fix ExternalAPIs queries
...
The output might end up being slightly more noisy since we don't
collapse positional and keyword arguments when the external target
function is included in the database, but this aligns with our long-term
goal of not doing that anymore, so I think it's fine.
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
2e2cee06c3
Python: Adjust InsecureRandomnessCustomizations.qll
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
ed70e118a9
Python: Make test/Filter query more robust
...
Since if you had tornado installed, we would follow imports and have
results from those files as well :|
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
9c275c177a
Python: Implement call-graph with type-trackers
...
This commit is a squash of 80 other commits. While developing, things
changed majorly 2-3 times, and it just wasn't feasible to go back and
write a really nice commit history.
My apologies for this HUGE commit.
Also, later on this is where I solved merge conflicts after flow-summaries
PR was merged.
For your amusement, I've included the original commit messages below.
Python: Add proper argument/parameter positions
Python: Handle normal function calls
Python: Reduce dataflow-consistency warnings
Previously there was a lot of failures for `uniqueEnclosingCallable` and
`argHasPostUpdate`
Removing the override of `getEnclosingCallable` in ParameterNode is
probably the most controversial... although from my point of view it's a
change for the better, since we're able to provide data-flow
ParameterNodes for more of the AST parameter nodes.
Python: Adjust `dataflow/calls` test
Python: Implement `isParameterOf`/`argumentOf`/`OutNode`
This makes the tests under `dataflow/basic` work as well 👍
(initially I had these as separate commits, but it felt like it was too much noise)
Python: Accept fix for `dataflow/consistency`
Python: Changes to `coverage/argumentRoutingTest.ql`
Notice we gain a few new resolved arguments.
We loose out on stuff due to:
1. not handling `*` or `**` in either arguments/parameters (yet)
2. not handling special calls (yet)
Python: Small fix for `TestUtil/RoutingTest.qll`
Since the helper predicates do not depend on this, moved outside class.
Python: Accept changes to `dataflow/coverage/NormalDataflowTest.ql`
Most of this is due to:
- not handling any kinds of methods yet
- not handling `*` or `**`
Python: Small investigation of `test_deep_callgraph`
Python: Accept changes to `coverage/localFlow.ql`
I don't fully understand why the .expected file changed.
Since we still have the desired flow, I'm not going to worry too much
about it.
with this commit, the `dataflow/coverage` tests passes 👍
Python: Minor doc update
Python: Add staticmethod/classmethod to `dataflow/calls`
Python: Handle method calls on class instances
without trying to deal with any class inheritance, or
staticmethod/classmethod at all.
Notice that with this change, we only have a DataFlowCall for the calls
that we can actually resolve. I'm not 100% sure if we need to add a
`UnresolvedCall` subclass of `DataFlowCall` for MaD in the future, but
it should be easy to do.
I'm still unsure about the value of `classesCallGraph`, but have just
accepted the changes.
Python: Handle direct method calls `C.foo(C, arg0)`
Python: Handle `@staticmethod`
Python: Handle class method calls... but the code is shit
WIP todo
Rewrite method calls to be better
also fixed a problem with `self` being an argument to the `x.staticmethod()` call :|
Python: Add subclass tests
Python: Split `class_advanced` test
Python: Rewrite call-graph tests to be inline expectation (1/2)
This adds inline expectations, next commit will remove old annotations
code... but I thought it would be easier to review like this.
Minor fixup
Python: Add simple subclass support
Python: more precise subclass lookup
Still not 100% precise.. but it's better
New ambiguous
Python: Add test for `self.m()` and `cls.m()` calls
Python: Handle `self.m()` and `cls.m()` calls
Python: Add tests for `__init__` and `__new__`
Python: Handle class calls
Python: Fix `self` argument passing for class calls
Now field-flow tests also pass 💪 (although the crosstalk
fieldflow test changes were due to this specific commit)
I also copied much of the setup for pre/post update nodes from Ruby,
specifically having the abstract `PostUpdateNodeImpl` in DataFlowPrivate
seemed like a nice change.
Same for the setup with `TNode` definition having the specification
directly in the body, instead of a `NeedsSyntheticPostUpdateNode` class.
Python: Add new crosstalk test WIP
Maybe needs a bit of refactoring, and to see how it all behaves with points-to
Python: Add `super()` call-graph tests
Python: Refactor MethodCall char-pred
In anticipation of supporting `super(MyClass, self).foo()`, where the
`self` argument doesn't come from an AttrNode, but from the second
argument to super.
Without `pragma[inline]` the optimizer found a terrible join-order --
this won't guarantee a good join-order for the future, but for now it
was just so simple and could let me move on with life.
Python: Add basic `super()` support
I debated a little (with myself) whether I should really do
`superTracker`, but I thought "why not" and just rolled with it. I did
not confirm whether it was actually needed anywhere, that is if anyone
does `ref = super; ref().foo()` -- although I certainly doubt it's very
wide-spread.
Python: InlineCallGraphTest: Allow non-unique callable name in different files
Python: more MRO tests
Python: Add MRO approximation for `super()`
Although it's not 100% accurate, it seems to be on level with the one in
points-to.
Python: Remove some spurious targets for direct calls
removal of TODO from refactoring
remove TODOs class call support
Python: Add contrived subclass call example
Python: Remove more spurious call targets
NOTE: I initially forgot to use
`findFunctionAccordingToMroKnownStartingClass` instead of
`findFunctionAccordingToMro` for __init__ and __new__, and since I did
make that mistake myself, I wanted to add something to the test to
highlight this fact, and make it viewable by PR reviewer... this will be
fixed in the next commit.
Python: Proper fix for spurious __init__ targets
Python: Add call-graph example of class decorator
Python: Support decorated classes in new call-graph
Python: Add call-graph tests for `type(obj).meth()`
Python: support `type(obj).meth()`
Python: Add test for callable defined in function
Python: Add test for callable as argument
Current'y we don't find these with type-tracking, which is super
mysterious. I did check that we have proper flow from the arguments to
the parameters.
Python: Found problem for callable as argument :| MAJOR WIP
WIP commit
IT WORKS AGAIN (but terrible performance)
remove pragma[inline]
remove oops
Fix performance problem
I tried to optimize it even further, but I didn't end up achieving anything :|
Fix call-graph comparison
add comparison version with easy lookup
incomplete missing call-graph tests
unhandled tests
trying to replicate missing call-edge due to missing imports ... but it's hard
also seems to be problems with the inline-expectation-value that I used, seems like it has both missing/unexpected results with same value
Python: Add import-problem test
Python: Add shadowing problem
some cleanup of rewrite fix
a little more cleanup
Add consistency queries to call-graph tests
Python: Add post-update nodes for `self` in implicit `super()` uses
But we do need to discuss whether this is the right approach :O
Fix for field-flow tests
This came from more precise argument passing
Fixed results in type-tracking
Comes from better argument passing with super() and handling of
functions with decorators
fix of inline call graph tests
Fixup call annotation test
Many minor cleanups/fixes
NewNormalCall -> NormalCall
Python: Major restructuring + qldoc writing
Python: Accept changes from pre/post update node .toString changes
Python: Reduce `super` complexity !! WIP !!
Python: Only pass self-reference if in same enclosing-callable
Python: Add call-graph test with nested class
This was inspired by the ImpliesDataflow test that showed missing flow
for q_super, but at least for the call-graph, I'm not able to reproduce
this missing result :|
Python: Restrict `super()` to function defined directly on class
Python: Accept fixes to ImpliesDataflow
Python: Expand field-flow crosstalk tests
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
aa78a43407
Python: Enable type-tracking in call-graph test
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
c85ccb2003
Python: Add call-graph compare meta-queries
...
Also changed the definition of a relevant call-target, so it's only what
is in the actual source code, which is what we want in the future! (so
what we're designing type-tracking to handle)
I also changed terminology from `callee` to `target`. It felt more
natural this way in my opinion.
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
a98554b6ed
Python: Accept tmp changes to flow summaries
...
After solving merge conflict
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
716576b1d6
Python: Minimal type-tracking call-graph
...
That does absolutely nothing so far, but compiles
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
6f5007b810
Python: Rename -> DataFlowDispatch
...
So diff can make more sense when introducing blank state for type-tracking based call-graph
2022-11-22 14:46:29 +01:00
Rasmus Wriedt Larsen
f327a3f62a
Python: Remove strange-pointsto-interaction-investigation
...
These tests are not relevant anymore 💪
2022-11-22 14:46:29 +01:00
Jeroen Ketema
cfb8f282d1
Merge pull request #11369 from jketema/fun-typo
...
C++: Fix typo flagged up by QL-for-QL
2022-11-22 12:34:54 +01:00
Jeroen Ketema
6a68e7936f
C++: Fix typo flagged up by QL-for-QL
2022-11-22 11:53:11 +01:00
Mathias Vorreiter Pedersen
98285393fe
Merge pull request #11357 from MathiasVP/ignore-more-instructions
...
C++: Ignore more instructions in dataflow
2022-11-22 10:47:51 +00:00
Jeroen Ketema
4731f9222c
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-22 10:53:24 +01:00
Mathias Vorreiter Pedersen
a2ce51fdf7
C++: Accept test changes.
2022-11-22 09:50:45 +00:00
ihsinme
5ceab40841
Update DivideByZeroUsingReturnValue.ql
2022-11-22 10:11:18 +03:00
Mathias Vorreiter Pedersen
320b5ca01a
C++: Ignore more instructions for dataflow.
2022-11-21 21:39:19 +00:00
Mathias Vorreiter Pedersen
fc3d6a1847
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-21 20:57:24 +00:00
Mathias Vorreiter Pedersen
7658df9ebd
Merge pull request #11355 from MathiasVP/fewer-read-steps
...
C++: Reduce `readStep` fan-in
2022-11-21 20:35:34 +00:00
Mathias Vorreiter Pedersen
23d6eb67c3
C++: Fix comment.
2022-11-21 19:26:04 +00:00
Mathias Vorreiter Pedersen
d1274e2769
C++: Accept more test changes.
2022-11-21 18:33:14 +00:00
Mathias Vorreiter Pedersen
231e2a8df3
C++: Reduce fan-in for 'readStep'.
2022-11-21 17:07:29 +00:00
Mathias Vorreiter Pedersen
24542ec84a
Merge branch 'main' into replace-ast-with-ir-use-usedataflow
2022-11-21 15:02:28 +00:00
Mathias Vorreiter Pedersen
d361053e10
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:37:03 +00:00
Mathias Vorreiter Pedersen
1e00e15c7b
Update cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-11-21 10:36:57 +00:00
Jeroen Ketema
ffbe1e065a
Merge pull request #11314 from MathiasVP/fix-flow-out-of-const-member-functions
...
C++: Fix flow out of const member functions
2022-11-21 10:36:59 +01:00
Mathias Vorreiter Pedersen
7251f2fd3d
Merge pull request #11330 from MathiasVP/fix-performance-of-upcast-array-pointer-arith
2022-11-21 09:09:00 +00:00
Mathias Vorreiter Pedersen
bfba95f9f7
C++: Fix performance of 'cpp/upcast-array-pointer-arithmetic'.
2022-11-18 14:50:18 +00:00
Mathias Vorreiter Pedersen
3c49447165
Merge pull request #11325 from MathiasVP/fix-join-in-cast-array-pointer-query
...
C++: Fix join order in `cpp/upcast-array-pointer-arithmetic`
2022-11-18 13:41:57 +00:00
Mathias Vorreiter Pedersen
1e14af6e64
C++: Fix join in 'cpp/upcast-array-pointer-arithmetic'.
2022-11-18 10:19:55 +00:00
Mathias Vorreiter Pedersen
b9bcff40c5
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-flow-out-of-const-member-functions
2022-11-17 10:41:12 +00:00
Mathias Vorreiter Pedersen
f1b85d7ebf
Merge pull request #11315 from MathiasVP/accept-test-changes
...
C++: Accept test changes on the use-use flow branch
2022-11-17 10:40:33 +00:00
Mathias Vorreiter Pedersen
aa385a293d
C++: Accept test changes.
2022-11-16 23:00:00 +00:00
Mathias Vorreiter Pedersen
b12955e220
C++: Fix flow out of const member functions.
2022-11-16 22:46:21 +00:00
Mathias Vorreiter Pedersen
29f4b26280
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 16:09:35 +00:00
Robert Marsh
70a9e49039
Merge pull request #11218 from MathiasVP/merge-some-indirect-and-instruction-nodes
...
C++: Remove some `IndirectOperand` and `IndirectInstruction` nodes
2022-11-16 10:09:40 -05:00
Mathias Vorreiter Pedersen
a9173727cf
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-ssa-flow
2022-11-16 14:22:54 +00:00
Mathias Vorreiter Pedersen
4f2c2e6d5e
C++: Accept test changes.
2022-11-16 14:05:54 +00:00
Mathias Vorreiter Pedersen
3b1b8cc720
C++: Fix SSA for array writes.
2022-11-16 14:05:54 +00:00
Mathias Vorreiter Pedersen
3e5c66e932
C++: Accept test changes.
2022-11-16 14:05:48 +00:00
Mathias Vorreiter Pedersen
235a06903e
C++: Fix 'asParameter' to handle references.
2022-11-16 14:05:42 +00:00
Mathias Vorreiter Pedersen
2cebd5c51d
C++: Accept test changes.
2022-11-16 13:56:24 +00:00
Mathias Vorreiter Pedersen
b8fab9ae79
C++: Respond to review comments.
2022-11-15 16:07:07 +00:00
Mathias Vorreiter Pedersen
1f43a1a924
Merge branch 'replace-ast-with-ir-use-usedataflow' into merge-some-indirect-and-instruction-nodes
2022-11-15 16:00:52 +00:00
Jeroen Ketema
a270f318e9
Merge pull request #11271 from jketema/ast-config-for-smart-ptrs
...
C++: Reintroduce the AST testing configuration for the smart pointer test too
2022-11-15 14:48:03 +01:00
Jeroen Ketema
2acda03518
C++: Reintroduce the AST testing configuration for the smart pointer test too
2022-11-15 13:49:03 +01:00
Mathias Vorreiter Pedersen
3d94286785
Merge pull request #11257 from MathiasVP/reduce-path-duplication
...
C++: Reduce path duplication
2022-11-15 11:01:11 +00:00
Mathias Vorreiter Pedersen
16565401c7
C++: Reduce path duplication.
2022-11-14 15:29:57 +00:00
Mathias Vorreiter Pedersen
7408931565
C++: Disable 'reference -> dereference' dataflow.
2022-11-14 14:05:31 +00:00
Jeroen Ketema
2b37ebd7ed
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-11 17:24:34 +01:00
Mathias Vorreiter Pedersen
0c7f57e0c4
C++: Accept test changes.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
f534768715
C++: Fix join orders.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
e0a6c16228
C++: Add missing QLDoc.
2022-11-11 11:09:38 +00:00
Mathias Vorreiter Pedersen
1a1f078684
C++: Also pick the operand as the 'ExprNode' when the expression is the qualifier of a call (and not just when it's an argument of a call).
2022-11-11 11:07:08 +00:00
Mathias Vorreiter Pedersen
c999704d1e
C++: Now that we sometimes target an operand where we'd target an instruction before we should pick the operand as the 'sink' in the call-target resolution recursion.
2022-11-11 11:07:08 +00:00
Mathias Vorreiter Pedersen
a51ac7b4e7
C++: Remove some unnecessary IPA values from 'IndirectInstruction' and 'IndirectOperand' when the semantically identical value already exists in the IR.
2022-11-11 11:07:08 +00:00
ihsinme
0fb1dedbb2
Update DivideByZeroUsingReturnValue.ql
2022-11-11 11:38:48 +03:00
Jeroen Ketema
d8e96ef12a
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-10 12:09:43 +01:00
Jeroen Ketema
d0a00254ad
Merge pull request #11184 from jketema/reintro-ast-annotation
...
C++: Re-introduce the `ast` annotations in the taint tests and related test infrastructure
2022-11-10 12:00:16 +01:00
Jeroen Ketema
0e33f4da6b
C++: Re-introduce most of the ast annotation test infrastructure
2022-11-09 14:37:01 +01:00
Jeroen Ketema
bd301768ea
C++: Re-introduce the ast annotations in the taint tests
2022-11-09 14:30:56 +01:00
Jeroen Ketema
0d27d63984
Merge remote-tracking branch 'upstream/main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-09 14:28:47 +01:00
Jeroen Ketema
4c308d998e
Merge pull request #11179 from jketema/old-taint-fix
...
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 14:07:23 +01:00
Jeroen Ketema
af6a87e54d
C++: Add missing QLDoc comments
2022-11-09 13:08:53 +01:00
Jeroen Ketema
d7804f5473
C++: Fix DataFlow2 import
2022-11-09 12:53:05 +01:00
Jeroen Ketema
ceb6706c73
C++: Fix formatting
2022-11-09 12:52:44 +01:00
Jeroen Ketema
4ab5066ed2
C++: Fix imports and module names in old dataflow/taint tracking library
2022-11-09 11:52:39 +01:00
Mathias Vorreiter Pedersen
f19b381e3e
C++: Add use-use flow through global variables.
2022-11-08 17:10:37 +00:00
Jeroen Ketema
74f9b322a8
Merge branch 'main' into update-from-main
2022-11-08 17:01:02 +01:00
Mathias Vorreiter Pedersen
b305e15e11
Merge pull request #11147 from jketema/fix-dataflow-dataflow-tests
...
C++: Fix the use-use dataflow configuration in `dataflow/dataflow-tests`
2022-11-07 16:54:18 +00:00
Jeroen Ketema
89c5e3df1f
C++: Fix the dataflow configuration in dataflow/dataflow-tests
2022-11-07 16:43:55 +01:00
Jeroen Ketema
5732c3bca0
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-11-07 15:03:26 +01:00
Mathias Vorreiter Pedersen
bd549e527c
Merge pull request #11128 from jketema/dont-use-old
...
C++: Do not use the old dataflow library in `additional-flow-to-parameter`
2022-11-04 15:59:52 +00:00
Jeroen Ketema
fc2013334f
C++: Do not use the old dataflow library in additional-flow-to-parameter
...
Either both queries here should use the old library or neither should. The
expectation is that the expected results between the queries differ depending
on the additional flow step in one of them.
2022-11-04 15:46:36 +01:00
Mathias Vorreiter Pedersen
b95163cfe4
Merge pull request #11112 from MathiasVP/local-expr-flow
...
C++: Improve `Buffer.qll` performance
2022-11-04 10:32:27 +00:00
Mathias Vorreiter Pedersen
2617e6d7c6
C++: Inline a predicate that was only used once.
2022-11-04 09:35:34 +00:00
Mathias Vorreiter Pedersen
84af725ef1
Fix QLDoc.
2022-11-03 20:33:41 +00:00
Mathias Vorreiter Pedersen
b42e81c32d
C++: Speed up 'Buffer.qll'.
2022-11-03 20:31:55 +00:00
Mathias Vorreiter Pedersen
ae01201c43
Merge pull request #11109 from jketema/fix-field-dataflow-tests
...
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 19:19:30 +00:00
Mathias Vorreiter Pedersen
1d1161771a
Merge pull request #11108 from jketema/indirect-arg-out-as-partial-def
...
C++: Turn `IndirectArgumentOutNode` into a `PartialDefinitionNode`
2022-11-03 17:57:12 +00:00
Jeroen Ketema
96425a1787
C++: Fix the IR dataflow configuration for the field flow tests
2022-11-03 18:06:37 +01:00
Jeroen Ketema
c87b516130
C++: Turn IndirectArgumentOutNode into a PartialDefinitionNode
2022-11-03 17:58:35 +01:00
Mathias Vorreiter Pedersen
f4915073c8
Merge pull request #11097 from MathiasVP/accept-test-change
...
C++: Accept test change
2022-11-03 11:24:57 +00:00
Mathias Vorreiter Pedersen
5d5c64a58b
C++: Accept test change.
2022-11-03 10:27:07 +00:00
Mathias Vorreiter Pedersen
18802a2883
Merge pull request #11042 from MathiasVP/simplify-buffer.qll
...
C++: Simplify `buffer.qll` repair
2022-11-03 09:18:39 +00:00
Mathias Vorreiter Pedersen
30f15473db
C++: Use 'max' instead of 'unique.'
2022-11-01 16:55:45 +00:00
Jeroen Ketema
80ef3b39ff
Merge branch 'main' into mathiasvp/replace-ast-with-ir-use-usedataflow
2022-10-31 18:26:34 +01:00
Mathias Vorreiter Pedersen
1b50168d08
C++: Add an initial pruning stage to prevent this
...
large TC in 'localFlowToExpr':
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@0a49913i with tuple counts:
4713946 ~0% {2} r1 = SCAN DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff OUTPUT In.1, In.0
40897385 ~46% {2} r2 = JOIN boundedFastTC:Buffer#61e3d199::localFlowToExprStep#2#ff_10#higher_order_body:DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff_0#higher_order_body WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
45611331 ~43% {2} r3 = r1 UNION r2
3376553 ~14% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
return r4
```
After this commit the tuple counts looks like:
```
Evaluated relational algebra for predicate Buffer#61e3d199::localFlowStepToExpr#2#ff@8cc38x5k on iteration 2 running pipeline standard with tuple counts:
51367 ~3% {2} r1 = JOIN Buffer#61e3d199::getBufferSize0#1#f#prev_delta WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0
124933 ~18% {2} r2 = JOIN r1 WITH #Buffer#61e3d199::localFlowToExprStep#2Plus#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
176300 ~17% {2} r3 = r1 UNION r2
184685 ~22% {2} r4 = JOIN r3 WITH DataFlowUtil#47741e1f::simpleLocalFlowStep#2#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1
56646 ~47% {2} r5 = JOIN r4 WITH DataFlowUtil#47741e1f::ExprNode::getExpr#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
44635 ~16% {2} r6 = r5 AND NOT Buffer#61e3d199::localFlowStepToExpr#2#ff#prev(Lhs.0, Lhs.1)
return r6
```
2022-10-30 14:20:15 +01:00
Mathias Vorreiter Pedersen
aa8214addf
C++: Simplify 'Buffer.qll' by avoiding 'asIndirectExpr'. This removes the flow from 'x' to 'x++', which makes the whole library a lot simpler.
2022-10-30 12:58:53 +01:00
Mathias Vorreiter Pedersen
18d3801c92
Merge pull request #11033 from MathiasVP/exclude-void-calls
...
C++: Don't create `DataFlow::Node`s for `void`-typed instructions
2022-10-28 20:46:33 +02:00
Mathias Vorreiter Pedersen
f3be58e2ba
C++: Accept more test changes.
2022-10-28 14:53:24 +02:00
Mathias Vorreiter Pedersen
20b188ff42
Merge pull request #11020 from rdmarsh2/rdmarsh2/repair-365-days-per-year
...
C++: repair Adding365DaysPerYear.ql
2022-10-28 14:35:05 +02:00
Mathias Vorreiter Pedersen
f6ff9c9c66
Update cpp/ql/src/Likely Bugs/Leap Year/LeapYear.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-10-28 14:32:08 +02:00
Mathias Vorreiter Pedersen
9888de8acb
Merge branch 'replace-ast-with-ir-use-usedataflow' into rdmarsh2/repair-365-days-per-year
2022-10-28 13:48:12 +02:00
Mathias Vorreiter Pedersen
42e8ec32d7
Merge pull request #11030 from MathiasVP/fix-ql-for-ql-errors
...
C++: Fix QL-for-QL in #10817
2022-10-28 13:39:50 +02:00
Mathias Vorreiter Pedersen
3261612a8c
C++: Exclude void-typed instructions from 'DataFlow::Node'. These nodes can never contain any data so we don't need dataflow nodes for them.
2022-10-28 13:00:23 +02:00
Mathias Vorreiter Pedersen
2098489bb0
C++: Make QL-for-QL happy.
2022-10-28 12:35:52 +02:00
Jeroen Ketema
fafc0b5575
Merge pull request #10995 from MathiasVP/fix-as-expr
...
C++: Fix `asExpr` and `asIndirectExpr` in IR dataflow
2022-10-28 11:23:13 +02:00
Mathias Vorreiter Pedersen
172261495f
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-as-expr
2022-10-28 10:32:31 +02:00
Robert Marsh
a334dc9b2b
C++: repair Adding365DaysPerYear.ql
2022-10-27 15:06:48 -04:00
Robert Marsh
b7e42e805b
Merge pull request #10994 from rdmarsh2/rdmarsh2/return-cstr-repair
...
C++: repair the ReturnCstr query
2022-10-27 14:25:22 -04:00
Robert Marsh
24cb36a1e2
C++: constrain indirect out node to constructors
2022-10-27 11:48:17 -04:00
Mathias Vorreiter Pedersen
20bd30060f
C++: Fix 'StackPointerFlowsToUse' import.
2022-10-27 16:34:04 +02:00
Mathias Vorreiter Pedersen
b4c8a52117
C++: Accept more test changes.
2022-10-27 14:44:43 +02:00
Mathias Vorreiter Pedersen
2fc7e6159e
C++: Accept test changes.
2022-10-27 12:12:34 +02:00
Mathias Vorreiter Pedersen
e2a0d62adf
C++: Fix 'asIndirectExpr' when the underlying instruction is a 'VariableAddressInstruction'.
2022-10-27 12:12:34 +02:00
Robert Marsh
25a1148e04
C++: autoformat
2022-10-26 14:11:37 -04:00
Robert Marsh
8e2d34f0b6
C++: Accept dataflow test changes
2022-10-26 14:10:23 -04:00
Mathias Vorreiter Pedersen
e43422a090
Merge pull request #10975 from rdmarsh2/rdmarsh2/inconsistent-loop-direction-repair
...
C++: repair InconsistentLoopDirection
2022-10-26 18:17:53 +02:00
Mathias Vorreiter Pedersen
562f052eb0
C++: Accept test changes.
2022-10-26 17:06:38 +02:00
Mathias Vorreiter Pedersen
bc9cd63ef0
C++: Add an 'IndirectExprNode(Base)' class similar to 'ExprNode(Base)' to structure conversions between indirect daaflow nodes and expressions.
2022-10-26 17:05:01 +02:00
Robert Marsh
de89b4c69f
C++: repair the ReturnCstr query
2022-10-26 11:02:23 -04:00
Robert Marsh
fc9f239a3b
C++: make ConstructorCall df nodes the qualifier
...
This makes the dataflow node for a ConstructorCall be the outnode of the
qualifier, which is the resulting constructed object. This should make
`asExpr` on a ConstructorCall do the "right thing" rather than selecting
the void-typed CallInstruction.
2022-10-26 11:01:53 -04:00
Robert Marsh
adeb69e396
C++: autoformat
2022-10-26 10:49:06 -04:00
Mathias Vorreiter Pedersen
4bcba16748
Merge pull request #10833 from MathiasVP/repair-badly-bounded-write-2
...
C++: Prepare `Buffer.qll` for IR-based use-use dataflow
2022-10-26 16:38:33 +02:00
Mathias Vorreiter Pedersen
2ba94f7c89
Merge pull request #10838 from MathiasVP/repair-cleartext-transmission-2
...
C++: Prepare `cpp/cleartext-transmission` for IR-based use-use dataflow
2022-10-26 13:43:56 +02:00
Robert Marsh
8a125d1ae5
C++: repair InconsistentLoopDirection
2022-10-25 13:34:08 -04:00
Jeroen Ketema
3befa1cd96
Merge pull request #10965 from MathiasVP/fix-gettypeimpl-in-ir-dataflow
...
C++: Fix `getType` in IR dataflow
2022-10-25 15:02:45 +02:00
Mathias Vorreiter Pedersen
557b94cd83
Merge pull request #10966 from jketema/spelling-comments
...
C++: Spelling fixes and documentation clarification
2022-10-25 14:34:49 +02:00
Mathias Vorreiter Pedersen
1bd48f8d02
Merge branch 'replace-ast-with-ir-use-usedataflow' into repair-cleartext-transmission-2
2022-10-25 14:27:33 +02:00
Mathias Vorreiter Pedersen
c8f81bc6b8
Merge branch 'replace-ast-with-ir-use-usedataflow' into repair-badly-bounded-write-2
2022-10-25 14:24:38 +02:00
Mathias Vorreiter Pedersen
39b268194a
C++: Accept test changes.
2022-10-25 14:10:51 +02:00
Jeroen Ketema
2ad3119fab
C++: Clarify getType based on the QLDoc of Instruction::getResultType()
2022-10-25 13:34:49 +02:00
Jeroen Ketema
21acefb0b4
C++: Fix some spelling mistakes that were earlier fixed in "experimental"
2022-10-25 13:32:29 +02:00
Mathias Vorreiter Pedersen
23b07e5589
Merge branch 'replace-ast-with-ir-use-usedataflow' into fix-gettypeimpl-in-ir-dataflow
2022-10-25 12:52:33 +02:00
Mathias Vorreiter Pedersen
b85d3bc829
Merge branch 'main' into replace-ast-with-ir-use-usedataflow
2022-10-25 12:51:30 +02:00
Mathias Vorreiter Pedersen
a4d434ee05
C++: Fix 'getType' for indirect dataflow nodes in IR dataflow.
2022-10-25 12:24:11 +02:00
Mathias Vorreiter Pedersen
75de0f5c65
C++: Respond to review comments.
2022-10-24 15:13:50 +02:00
Mathias Vorreiter Pedersen
a7d6f4ff19
C++: Fix pointer/pointee conflation and handle flow through '++' when tracking indirect flow.
2022-10-24 14:23:43 +02:00
Robert Marsh
500004dbe0
Merge pull request #10841 from MathiasVP/repair-command-line-injection-2
...
C++: Prepare `cpp/command-line-injection` for IR-based use-use dataflow
2022-10-17 13:42:32 -04:00
Robert Marsh
ccea372fd0
Merge pull request #10842 from MathiasVP/repair-non-constant-format-2
...
C++: Prepare `cpp/non-constant-format` for IR-based use-use dataflow
2022-10-17 13:39:56 -04:00
Robert Marsh
2f0c7729ff
Merge pull request #10818 from github/mathiasvp/fix-join-in-ssa-internals
...
C++: Fix join in `SsaInternals`
2022-10-17 13:36:32 -04:00
Robert Marsh
5cd6dafe27
Merge pull request #10839 from MathiasVP/repair-flow-sources-2
...
C++: Prepare `FlowSources.qll` for IR-based use-use dataflow
2022-10-14 13:46:28 -04:00
Mathias Vorreiter Pedersen
e7b0536896
C++: Repair 'cpp/non-constant-format' in preparation for IR-based use-use dataflow.
2022-10-14 15:26:25 +02:00
Mathias Vorreiter Pedersen
b1f93b07c9
C++: Repair the 'cpp/command-line-injection' query in preparation for IR-based use-use dataflow.
2022-10-14 15:11:41 +02:00
Mathias Vorreiter Pedersen
00a25dbe45
C++: Accept test changes.
2022-10-14 15:01:31 +02:00
Mathias Vorreiter Pedersen
01a81a9c56
C++: Repair the 'FlowSources' library in preparation for IR-based use-use dataflow.
2022-10-14 14:52:29 +02:00
Mathias Vorreiter Pedersen
7ad781e91c
C++: Repair the 'cpp/cleartext-transmission' query in preparation for IR-based use-use dataflow.
2022-10-14 14:37:59 +02:00
Mathias Vorreiter Pedersen
49f39d7602
C++: Accept test changes.
2022-10-14 12:35:46 +02:00
Mathias Vorreiter Pedersen
3ec60f11bb
C++: Repair 'Buffer.qll'.
2022-10-14 12:25:17 +02:00
Mathias Vorreiter Pedersen
134cc6291c
C++: Fix join in SsaInternals.
2022-10-14 10:29:56 +02:00
Mathias Vorreiter Pedersen
d62ae96763
C++: Fix ql-for-ql alerts.
2022-10-14 10:14:53 +02:00
Mathias Vorreiter Pedersen
1c51ad8d26
C++: Update 'identical-files'.
2022-10-14 10:14:53 +02:00
Mathias Vorreiter Pedersen
4c5953fce0
C++: Accept query-test changes.
2022-10-14 10:14:52 +02:00
Mathias Vorreiter Pedersen
373c849b18
C++: Accept library-test changes
2022-10-14 10:14:52 +02:00
Mathias Vorreiter Pedersen
41cbef81ec
C++: Replace AST dataflow with IR dataflow.
2022-10-14 10:14:52 +02:00
ihsinme
3954da5938
Update DivideByZeroUsingReturnValue.ql
2022-10-11 13:11:45 +03:00
ihsinme
01b357e749
Update DivideByZeroUsingReturnValue.ql
2022-10-10 12:33:11 +03:00
ihsinme
392c948487
Update DivideByZeroUsingReturnValue.ql
2022-10-05 09:27:20 +03:00
ihsinme
50105c1f6d
create new branchihsinme-patch-111 in fork
2022-09-15 06:35:42 +00:00