Ian Lynagh
12ca801ecf
Merge pull request #10350 from github/release-prep/2.10.5
...
Release preparation for version 2.10.5
2022-09-08 13:38:47 +01:00
github-actions[bot]
a9d80a5a48
Release preparation for version 2.10.5
2022-09-08 11:35:54 +00:00
Dave Bartolomeo
950445500a
Merge pull request #10321 from MathiasVP/speedup-using-expired-stack-address-2
...
C++: Speedup 'cpp/using-expired-stack-address' by avoiding a large ne…
2022-09-07 09:33:20 -04:00
Mathias Vorreiter Pedersen
d6b8f25312
C++: Add more tests.
2022-09-06 15:22:10 +01:00
Mathias Vorreiter Pedersen
9745073024
C++: Speedup 'cpp/using-expired-stack-address' by avoiding a large negation.
2022-09-06 14:33:33 +01:00
Tom Hvitved
9fd9a04c2f
Merge pull request #10277 from hvitved/csharp/dotnet-publish-inject
...
C#: Also inject `/p:UseSharedCompilation=false` into `dotnet publish`
2022-09-06 09:02:00 +02:00
Arthur Baars
e8d13d156d
Merge pull request #10298 from aibaars/suppress-require
...
Ruby: exclude 'require' and 'require_relative' definitions from call graph
2022-09-05 20:58:38 +02:00
Arthur Baars
b2431d0b50
Ruby: exclude 'require' and 'require_relative' definitions from call graph
...
The syntax_suggest library redefines Kernel.require/require_relative.
Somehow this causes performance issues on ruby/ruby. As a workaround
we exclude 'require' and 'require_relative'.
2022-09-05 16:52:52 +02:00
Tom Hvitved
d8b352c2e6
C#: Use -p: instead of /p: with dotnet
...
Makes a difference for `dotnet run` where the option will otherwise be considered
an argument to the program that is run.
2022-09-05 10:40:00 +02:00
Tom Hvitved
623ba7926f
C#: Fix /p:UseSharedCompilation=false tracer injection for dotnet run
2022-09-04 09:54:21 +02:00
Tom Hvitved
99d9fe14c8
C#: Also inject dotnet (pack|test|run)
2022-09-02 14:17:23 +02:00
Tom Hvitved
7c12139c9e
C#: Also inject /p:UseSharedCompilation=false into dotnet publish
2022-09-02 13:51:22 +02:00
Ian Lynagh
7dc5bdafe3
Merge pull request #10186 from github/post-release-prep/codeql-cli-2.10.4
...
Post-release preparation for codeql-cli-2.10.4
2022-08-31 17:29:57 +01:00
Erik Krogh Kristensen
2aec53b7fb
Merge pull request #10215 from erik-krogh/wayToLargeRangeAgainstRC
...
put a limit on the length of the equivalent range
2022-08-30 10:37:07 +02:00
erik-krogh
e2caf3e8c0
put a limit on the length of the equivalent range
2022-08-30 09:29:22 +02:00
github-actions[bot]
3b4ad3c4f1
Post-release preparation for codeql-cli-2.10.4
2022-08-26 09:32:11 +00:00
Ian Lynagh
f318dd5e0e
Merge pull request #10174 from github/release-prep/2.10.4
...
Release preparation for version 2.10.4
2022-08-25 16:30:33 +01:00
Ian Lynagh
ef98ce16f8
Update javascript/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:25:38 +01:00
Ian Lynagh
711e769382
Update go/ql/lib/change-notes/released/0.2.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:25:30 +01:00
Ian Lynagh
b951e94d85
Update go/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:25:20 +01:00
Ian Lynagh
f20825ae55
Update python/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:25:10 +01:00
Ian Lynagh
b21883292d
Update python/ql/lib/change-notes/released/0.5.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:58 +01:00
Ian Lynagh
a904438828
Update ruby/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:44 +01:00
Ian Lynagh
5cd4e0d3b1
Update ruby/ql/lib/change-notes/released/0.3.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:38 +01:00
Ian Lynagh
40b1825ef1
Update javascript/ql/lib/change-notes/released/0.2.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:20 +01:00
Ian Lynagh
9a3b540551
Update csharp/ql/src/change-notes/released/0.3.3.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:11 +01:00
Ian Lynagh
fb12d85d3c
Update csharp/ql/src/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:24:00 +01:00
Ian Lynagh
0479a59640
Update csharp/ql/lib/change-notes/released/0.3.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:23:44 +01:00
Ian Lynagh
5e06277b38
Update cpp/ql/lib/change-notes/released/0.3.4.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:23:38 +01:00
Ian Lynagh
d0ecb9f54b
Update csharp/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:23:32 +01:00
Ian Lynagh
badb2b7f13
Update cpp/ql/lib/CHANGELOG.md
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-08-25 14:23:25 +01:00
github-actions[bot]
0f63bc077f
Release preparation for version 2.10.4
2022-08-25 12:52:26 +00:00
Ian Lynagh
b0ae12850d
Merge pull request #10160 from igfoo/igfoo/more-not-null-exprs
...
Kotlin: Remove the last not-null-expressions
2022-08-25 10:05:53 +01:00
Ian Lynagh
bf6d9f8c23
Merge pull request #10161 from igfoo/igfoo/exec
...
Make a load of files non-executable
2022-08-25 10:05:39 +01:00
Anders Schack-Mulligen
c6f89aac0a
Merge pull request #10141 from aschackmull/ruby/perf-apigraph
...
Ruby: Perf fix for trackUseNode.
2022-08-25 10:22:07 +02:00
Ian Lynagh
3fcfd32eb1
Make *.ql non-executable
2022-08-24 16:55:11 +01:00
Ian Lynagh
5d97bb35d0
Make *.cs non-executable
2022-08-24 16:54:34 +01:00
Ian Lynagh
237b3670b4
Make *.xml non-executable
2022-08-24 16:53:48 +01:00
Ian Lynagh
b9a4b5ab9a
Make *.qlref non-executable
2022-08-24 16:53:16 +01:00
Ian Lynagh
4cd618f81c
Make *.expected non-executable
2022-08-24 16:51:50 +01:00
Henry Mercer
d9c078060a
Merge pull request #10159 from github/codeql-ci/js-atm-new-release
...
JS: Bump version numbers of ML-powered packs after 0.3.1 release
2022-08-24 16:50:41 +01:00
Ian Lynagh
344863d896
Make *.qhelp non-executable
2022-08-24 16:38:15 +01:00
Ian Lynagh
bb73767042
Make *.java non-executable
2022-08-24 16:38:03 +01:00
Ian Lynagh
5f8d8cdf40
Make *.dbscheme non-executable
2022-08-24 16:37:26 +01:00
Ian Lynagh
501a9b3c6b
Make *.qll non-executable
2022-08-24 16:36:15 +01:00
Jami
b3e88f8234
Merge pull request #9983 from jcogs33/android-implicit-export
...
Java: query to detect implicitly exported Android components
2022-08-24 10:52:50 -04:00
Ian Lynagh
b485706fde
Kotlin: Remove the last not-null-expressions
2022-08-24 14:39:03 +01:00
Henry Mercer
eb7091a6d3
Merge branch 'main' into codeql-ci/js-atm-new-release
2022-08-24 14:37:44 +01:00
Ian Lynagh
e4f66b8aa7
Kotlin: Refactor writeUpdateInPlaceExpr
...
In tryExtractArrayUpdate we need to know if writeUpdateInPlaceExpr will
succeed before we start writing any TRAP.
2022-08-24 14:31:10 +01:00
Paolo Tranquilli
610c788e34
Merge pull request #10156 from github/redsun82/swift-import-optional-module
...
Swift: make `ImportDecl:imported_module` optional
2022-08-24 15:18:04 +02:00
github-actions[bot]
3af330dce9
JS: Bump version of ML-powered library and query packs to 0.3.2
2022-08-24 13:12:12 +00:00
github-actions[bot]
613c13c2bf
JS: Bump patch version of ML-powered library and query packs
2022-08-24 13:03:14 +00:00
Mathias Vorreiter Pedersen
436fe65c7b
Merge pull request #10155 from MathiasVP/swift-properties-as-callables
...
Swift: Model property getters, setters and observers as callables
2022-08-24 13:57:12 +01:00
Paolo Tranquilli
2ee8d1a9d3
Swift: implement optional ImportDecl:imported_module
2022-08-24 14:31:55 +02:00
Mathias Vorreiter Pedersen
06a39d2b93
Swift: Accept test change.
2022-08-24 13:29:17 +01:00
Paolo Tranquilli
7873f07fac
Swift: define ImportDecl:imported_module optional
2022-08-24 14:26:29 +02:00
Mathias Vorreiter Pedersen
edb29b498d
Swift: Teach 'DataFlowDispatch' about property getters, observers and setters.
2022-08-24 13:08:26 +01:00
Ian Lynagh
31e1230c64
Kotlin: Remove another not-null-expr
2022-08-24 12:51:15 +01:00
Ian Lynagh
20ac15d549
Merge pull request #10152 from igfoo/igfoo/not-null-exprs
...
Kotlin: Remove more not-null expressions
2022-08-24 12:18:45 +01:00
Erik Krogh Kristensen
28d58be1b6
Merge pull request #10126 from erik-krogh/myApply
...
JS: precise flow through calls to `.apply()`
2022-08-24 12:55:36 +02:00
Mathias Vorreiter Pedersen
cee15277ce
Merge pull request #10144 from MathiasVP/swift-extract-this-param-decl
...
Swift: Extract `self` parameter declarations
2022-08-24 11:17:51 +01:00
Ian Lynagh
b5f20e40fc
Kotlin: Remove some more not-null-expressions
2022-08-24 11:13:27 +01:00
Ian Lynagh
8fe59e7ebc
Kotlin: Remove another not-null-expr
2022-08-24 11:09:31 +01:00
Ian Lynagh
01f27ea331
Kotlin: Remove another not-null-expr
2022-08-24 11:07:10 +01:00
Michael Nebel
c514c8838d
Merge pull request #9867 from michaelnebel/csharp/nosummary
...
C#: Negative summaries (ie. no flow through)
2022-08-24 12:06:05 +02:00
Ian Lynagh
940f18f5ae
Kotlin: Remove another not-null-expr
2022-08-24 10:59:15 +01:00
Ian Lynagh
44501f5318
Kotlin: Remove another not-null-expr
2022-08-24 10:57:36 +01:00
Ian Lynagh
da7b7ce9f5
Kotlin: Remove some not-null-exprs
2022-08-24 10:55:31 +01:00
Ian Lynagh
623d87aaca
Merge pull request #10142 from igfoo/igfoo/not-null-expr
...
Kotlin: Remove some more non-null-expressions
2022-08-24 10:37:37 +01:00
Ian Lynagh
8b4cf295bc
Merge pull request #10110 from igfoo/igfoo/compression
...
Kotlin: Add support for TRAP compression
2022-08-24 10:37:20 +01:00
Arthur Baars
acff279e8d
Merge pull request #10147 from github/aibaars-fix-go
...
Go: fix tracing spec for windows
2022-08-24 11:17:34 +02:00
Mathias Vorreiter Pedersen
1d50dd54ce
Merge branch 'main' into swift-extract-this-param-decl
2022-08-24 10:14:18 +01:00
Paolo Tranquilli
f570cc1916
Merge pull request #10143 from github/redsun82/swift-add-module-to-decl
...
Swift: add module to `Decl`
2022-08-24 11:05:06 +02:00
Mathias Vorreiter Pedersen
de03fbdc49
Swift: Accept test changes.
2022-08-24 10:03:21 +01:00
Mathias Vorreiter Pedersen
997d9e8559
Swift: Include 'self' parameter declaration in the CFG.
2022-08-24 10:01:25 +01:00
Mathias Vorreiter Pedersen
09427af2a2
Swift: Accept test changes.
2022-08-24 10:01:25 +01:00
Mathias Vorreiter Pedersen
ca31984040
Swift: Autogenerate files.
2022-08-24 10:01:25 +01:00
Mathias Vorreiter Pedersen
273053c92a
Swift: Extract self parameter declarations.
2022-08-24 10:01:25 +01:00
Michael Nebel
a412c955e7
Java: One implementation of the interface has no flow (which seems unsound and contradicting our assumptions on interface 'contracts') - this now yields a negative summary.
2022-08-24 09:58:54 +02:00
Michael Nebel
e446eaba68
C#: Update C# Flowsummaries test expected out (Negative models has been updated due to rebase and changes in the model generator).
2022-08-24 09:58:54 +02:00
Michael Nebel
51e7b0880a
C#: Update negative models.
2022-08-24 09:58:54 +02:00
Michael Nebel
761ed283b6
C#/Java/Ruby/Swift: Address review comments.
2022-08-24 09:58:54 +02:00
Michael Nebel
f728ddf823
C#: Update negative summaries (there has been a rebase since last update).
2022-08-24 09:58:54 +02:00
Michael Nebel
fbc36800aa
C#: Fix merge issues after re-base.
2022-08-24 09:58:54 +02:00
Michael Nebel
2e273f2273
C#: Re-arange the import order, such that CsvValidation follows ExternalFlow directly.
2022-08-24 09:58:54 +02:00
Michael Nebel
30d554503a
C#/Java: Fix some QL doc spelling typos.
2022-08-24 09:58:53 +02:00
Michael Nebel
592b60d6ab
C#: Fix rebase error merge (validation on encryption kind was un-intentionally deleted).
2022-08-24 09:58:53 +02:00
Michael Nebel
160ae934af
C#/Java/Ruby/Swift: Fix typo in QL doc.
2022-08-24 09:58:53 +02:00
Michael Nebel
c3e21e8555
C#: Move NegativeSummary.qll to the internal folder.
2022-08-24 09:58:53 +02:00
Michael Nebel
37976d56bc
C#/Java/Go/Swift: Move CsvValidation back into ExternalFlow.
2022-08-24 09:58:53 +02:00
Michael Nebel
d2087ec748
C#: Update negative summaries reported by FlowSummaries test after rebase (stubs for .NET has been updated in the meantime).
2022-08-24 09:58:53 +02:00
Michael Nebel
581824a9b4
C#/Java/Ruby/Swift: Fix various typos.
2022-08-24 09:58:53 +02:00
Michael Nebel
8949f71250
C#: Fixup CSV validation refactor.
2022-08-24 09:58:53 +02:00
Michael Nebel
ad671f7fb4
C#: Update test expected output after addition of negative summaries.
2022-08-24 09:58:53 +02:00
Michael Nebel
00d1b8665d
C#: Add negative generated .NET Runtime models.
2022-08-24 09:58:52 +02:00
Michael Nebel
9b16192a7f
Swift: Re-factor CsvValidation into a separate file.
2022-08-24 09:58:52 +02:00
Michael Nebel
54e85ff903
Swift: Remove some of the copied (and dead) language specific (to C#) code from swift.
2022-08-24 09:58:52 +02:00
Michael Nebel
2c2e09b20b
Go: Add summary model validation on the kind column.
2022-08-24 09:58:52 +02:00
Michael Nebel
37f01fe10e
Go: Re-factor CSV validation into separate file.
2022-08-24 09:58:52 +02:00
Michael Nebel
9f9129d3c9
Java: Introduce column validation for negative summaries.
2022-08-24 09:58:52 +02:00
Michael Nebel
4939439982
Java: Re-factor CSV Validation into standalone module.
2022-08-24 09:58:52 +02:00
Michael Nebel
053460ffeb
C#: Introduce validation of negative summaries.
2022-08-24 09:58:52 +02:00
Michael Nebel
3315d768f8
C#: Introduce negative summary column count validation.
2022-08-24 09:58:52 +02:00
Michael Nebel
4c59cfb296
C#: Re-factor the invalidModelRow predicate.
2022-08-24 09:58:52 +02:00
Michael Nebel
19469a26d7
C#: Re-factor CSV validation into a separate file.
2022-08-24 09:58:52 +02:00
Michael Nebel
8db454aa15
Swift: Sync files and make dummy negative summary implementation.
2022-08-24 09:58:52 +02:00
Michael Nebel
fbc0e6a1ec
Ruby: Sync files and make dummy negative summary implementation.
2022-08-24 09:58:52 +02:00
Michael Nebel
120fb25702
Java: Sync files and model generator and tests.
2022-08-24 09:58:52 +02:00
Michael Nebel
5255e16816
Java: Sync files and make framework specific code.
2022-08-24 09:58:51 +02:00
Michael Nebel
15c05e201d
Java: Re-factor specialized CSV predicates into overrides of the row predicate.
2022-08-24 09:58:46 +02:00
Michael Nebel
0578d3e6c4
C#: Improve python script to allow generation of Negative summary models.
2022-08-24 09:46:54 +02:00
Michael Nebel
929f1b324b
C#: Prepare for .NET negative summaries and use in UnsupportedExternalAPIs query.
2022-08-24 09:46:54 +02:00
Michael Nebel
7d46d15f2b
C#: Update summary model generation test output.
2022-08-24 09:46:54 +02:00
Michael Nebel
136bdeb8e6
C#: Add test for Negative summary generation.
2022-08-24 09:46:54 +02:00
Michael Nebel
9c6bcec500
C#: Add model generator testcase for Negative summaries for abstract members.
2022-08-24 09:46:54 +02:00
Michael Nebel
87c7dd90c0
C#: Disregard destructors in model generation.
2022-08-24 09:46:54 +02:00
Michael Nebel
0cf4e64655
C#: Update test cases with new empty query predicate.
2022-08-24 09:46:54 +02:00
Michael Nebel
cc44e89065
C#: Introduce support for Negative summary models.
2022-08-24 09:46:54 +02:00
Paolo Tranquilli
50d9a2e9cd
Swift: rollback removal of std::variant
...
It turns out we are still missing some extractions. This will be fixed
with future work.
2022-08-24 09:44:37 +02:00
Erik Krogh Kristensen
4df2e5d937
Merge pull request #10096 from erik-krogh/acronyms-part1
...
make acronyms camelcase
2022-08-24 09:33:53 +02:00
Mathias Vorreiter Pedersen
18ed9ed2ee
Merge pull request #10145 from MathiasVP/swift-inline-expect-for-dataflow
...
Swift: Use `InlineExpectationsTest` for dataflow tests
2022-08-24 08:15:45 +01:00
Tony Torralba
f0e5ef68c2
Merge pull request #10149 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-08-24 09:13:49 +02:00
Tamás Vajk
ecde0abc04
Merge pull request #10091 from tamasvajk/kotlin-data-class
...
Kotlin: Identify data classes during extraction
2022-08-24 08:45:41 +02:00
github-actions[bot]
03faddd7eb
Add changed framework coverage reports
2022-08-24 00:18:31 +00:00
Arthur Baars
8996c54b8e
Go: fix tracing spec for windows
2022-08-23 20:00:10 +02:00
Mathias Vorreiter Pedersen
6e148a4c3f
Swift: Use the inline testing framework for dataflow tests.
2022-08-23 16:31:05 +01:00
Paolo Tranquilli
2fc88d5f8e
Swift: add module to Decl and remove forward traps
...
Add module context to all declarations. As keeping the `std::variant`s
required slightly more work for this, and we intended to remove them
any way, this is done in this change.
For background, we put those in as we were not extracting all modules at
the time, so we were missing some DB ids that we put back in by adding
the "defining" traps not only in the trap file related to the defining
module but also to the one where the declaration was used. Since then
we fixed module extraction, so this should not be needed any more.
2022-08-23 16:53:07 +02:00
Ian Lynagh
910372bfb7
Kotlin: Refactor CallableReferenceHelper
...
This removes some non-null-expressions, and also makes the code more
robust and easier to understand.
2022-08-23 15:24:13 +01:00
Anders Schack-Mulligen
b83e851ac6
Ruby: one more pragma
2022-08-23 16:04:29 +02:00
Anders Schack-Mulligen
0ea55a9581
Ruby: autoformat
2022-08-23 15:58:29 +02:00
Anders Schack-Mulligen
844e0129b6
Ruby: Perf fix for trackUseNode.
2022-08-23 15:50:54 +02:00
Erik Krogh Kristensen
dbefe73b62
Merge pull request #10134 from erik-krogh/simplifyAction
...
QL: simplify QL-for-QL action
2022-08-23 15:02:17 +02:00
erik-krogh
cddcea5d56
cache entire pack
2022-08-23 13:51:03 +02:00
Ian Lynagh
d3a8060e34
Kotlin: Remove another not-null-expr in the extractor
2022-08-23 12:05:14 +01:00
Ian Lynagh
98dd2448ff
Kotlin: Remove a not-null-expr from the extractor
2022-08-23 11:49:55 +01:00
Chris Smowton
0a7350f3bf
Merge pull request #10041 from smowton/AddSensitiveApiCalls
...
Java: support more libraries in hardcoded-credentials queries
2022-08-23 10:51:04 +01:00
Ian Lynagh
51ada5c2af
Merge pull request #10130 from igfoo/igfoo/non-null-exprs
...
Kotlin: Fix some more not-null-exprs in the extractor
2022-08-23 10:49:45 +01:00
Tony Torralba
085c12a51f
Merge pull request #10116 from atorralba/atorralba/static-init-vector-fix
...
Java: Improve Static Initialization Vector query
2022-08-23 11:38:41 +02:00
Tony Torralba
e3c1101b79
Merge pull request #10136 from atorralba/atorralba/redos-cwe-tag
...
Java: Add CWE-1333 tag to Java ReDoS queries
2022-08-23 11:07:51 +02:00
Chris Smowton
131d6043c1
Add java imports
2022-08-23 09:41:00 +01:00
erik-krogh
82a5b7838c
don't add deprecated alias in experimental folder
2022-08-23 10:38:23 +02:00
erik-krogh
82d9180892
only have one deprecated alias for XmlDtd
2022-08-23 10:38:23 +02:00
Erik Krogh Kristensen
7704a9eeac
apply suggestions from Python review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-08-23 10:38:10 +02:00
erik-krogh
a57981ea69
apply suggestions from review
2022-08-23 10:18:14 +02:00
Joe Farebrother
ac79866799
Merge pull request #9982 from joefarebrother/rsa-without-oaep
...
Java: Add query for RSA without OAEP
2022-08-23 09:14:46 +01:00
erik-krogh
45e78a355f
ensure call-apply.js is seen as a module
2022-08-23 10:11:46 +02:00
Tony Torralba
6b4cfbbacd
Add change note
2022-08-23 10:00:10 +02:00
Tony Torralba
cd10f559ca
Add CWE-1333 tag to Java ReDoS queries
2022-08-23 09:56:59 +02:00
Tony Torralba
a3f27d4abe
Merge pull request #10131 from atorralba/atorralba/path-steps
...
Java: Add new java.nio.Path{,s} summary models
2022-08-23 09:47:34 +02:00
Tony Torralba
da3288fced
Move change note to src
2022-08-23 09:40:34 +02:00
Erik Krogh Kristensen
5fb3119fea
Merge pull request #10135 from erik-krogh/atmDep
...
ATM: fix deprecation warnings in ATM tests
2022-08-23 09:32:07 +02:00
erik-krogh
b5f9012033
fix deprecation warnings in ATM tests
2022-08-23 08:08:39 +02:00
erik-krogh
78ba7650b3
change the change-notes
2022-08-23 07:28:46 +02:00
erik-krogh
94ec0b8a52
update expected output of tests
2022-08-23 07:19:37 +02:00
erik-krogh
e88d7d5027
simplify QL-for-QL action
2022-08-22 22:39:16 +02:00
erik-krogh
28083ebe09
run the implicit-this patch
2022-08-22 21:23:31 +02:00
erik-krogh
a593a52b5e
add missing qldoc (that was already missing?)
2022-08-22 21:22:39 +02:00
erik-krogh
e89e0eb7fb
make some acronyms camelCase
2022-08-22 21:22:35 +02:00
Jami Cogswell
0136c7542b
update XML to Xml due to recent deprecation
2022-08-22 12:41:22 -04:00
Jami Cogswell
733078183e
update query description
2022-08-22 12:41:22 -04:00
Jami Cogswell
f34e23bdba
adjusted comments and precision level
2022-08-22 12:41:22 -04:00
Jami Cogswell
ac07544d70
group negated expressions together
2022-08-22 12:41:22 -04:00
Jami Cogswell
efac4b197d
removed another comment
2022-08-22 12:41:22 -04:00
Jami Cogswell
e003e2c809
lib change note updates
2022-08-22 12:41:22 -04:00
Jami Cogswell
eee12264c3
excluded action main from query results, added unit test
2022-08-22 12:41:22 -04:00
Jami Cogswell
c5526ffef8
update class QLDoc to start with 'An'
2022-08-22 12:41:22 -04:00
Jami Cogswell
fba9ffd49a
update lib change note
2022-08-22 12:41:22 -04:00
Jami Cogswell
eacce03073
resolved merge conflict in AndroidManifest lib
2022-08-22 12:41:22 -04:00
Jami Cogswell
0934c1d184
resolved merge conflict in AndroidManifest lib
2022-08-22 12:41:22 -04:00
Jami Cogswell
9968d5d816
updated predicates
2022-08-22 12:41:22 -04:00
Jami Cogswell
115f76ac5a
fixed typo in unit tests; added a couple more tests
2022-08-22 12:41:22 -04:00
Jami Cogswell
b88d545c49
added unit tests
2022-08-22 12:41:22 -04:00
Jami Cogswell
58d3d89b2e
resolved merge conflict in AndroidManifest
2022-08-22 12:41:22 -04:00
Jami Cogswell
825df218a3
adding library change note
2022-08-22 12:41:22 -04:00
Jami Cogswell
084b9830bc
resolved merge conflict in AndroidManifest
2022-08-22 12:41:22 -04:00
Jami Cogswell
55bd9f943f
minor wording updates in help file
2022-08-22 12:41:22 -04:00
Jami Cogswell
a99d7ffaaf
minor wording update in change note
2022-08-22 12:41:22 -04:00
Jami Cogswell
33c48ec685
updated change note
2022-08-22 12:41:22 -04:00
Jami Cogswell
10fa687e26
updated help file and unit tests
2022-08-22 12:41:22 -04:00
Jami Cogswell
eea1089ee0
resolved merge conflict in AndroidManifest
2022-08-22 12:41:22 -04:00
Jami Cogswell
60921a0355
switched to checking for permission attr in application elem instead of in manifest elem
2022-08-22 12:41:22 -04:00
Jami Cogswell
a6ecac6e00
third draft with category launcher and permission element excluded
2022-08-22 12:41:22 -04:00
Jami Cogswell
8d5bbc458f
first draft of query and tests
2022-08-22 12:41:22 -04:00
Jami Cogswell
3e09d86a4f
adding starter files
2022-08-22 12:41:22 -04:00
Mathias Vorreiter Pedersen
0ac8b7ce65
Merge pull request #10128 from MathiasVP/add-cleartext-sanitizer
...
C++: Add a sanitizer to `cpp/cleartext-storage-buffer`
2022-08-22 17:13:22 +01:00
Chris Smowton
25195bb0ba
Merge pull request #10103 from smowton/smowton/feature/golang-1.19-support
...
Go: support go 1.19
2022-08-22 16:49:11 +01:00
Tony Torralba
422abc1a18
Add change note
2022-08-22 16:22:19 +02:00
Erik Krogh Kristensen
eadd85bce9
Merge pull request #10073 from erik-krogh/XMLXml
...
rename all occurrences of XML to Xml
2022-08-22 16:18:27 +02:00
Tamás Vajk
aa0ff2b53f
Merge pull request #10129 from tamasvajk/kotlin-fix-comment-type-alias
...
Kotlin: Extract type alias doc comments
2022-08-22 16:10:50 +02:00
Tony Torralba
ee6ac744c5
Add new Path steps and tests
2022-08-22 15:54:20 +02:00
Ian Lynagh
d5b414f163
Kotlin: Fix some more not-null-exprs in the extractor
2022-08-22 14:16:58 +01:00
Erik Krogh Kristensen
cede617840
Merge pull request #10012 from erik-krogh/update-ql-for-ql-action
...
QL: update codeql-action in QL-for-QL
2022-08-22 15:11:29 +02:00
erik-krogh
9c95dcc126
add change-note
2022-08-22 14:09:19 +02:00
erik-krogh
2ac5441aec
rename the XMLDTD class to XmlDTD
2022-08-22 14:09:19 +02:00
erik-krogh
1a89ddae5d
update some comments from XML to Xml
2022-08-22 14:09:19 +02:00
erik-krogh
ce9f69a639
rename all occurrences of XML to Xml
2022-08-22 14:08:31 +02:00
Mathias Vorreiter Pedersen
831f143fe6
C++: Add change note.
2022-08-22 12:40:08 +01:00
Tony Torralba
5e815fb359
Merge branch 'main' into atorralba/static-init-vector-fix
2022-08-22 13:31:00 +02:00
Tony Torralba
c35fbf9abc
Add more sanitizers
2022-08-22 13:20:02 +02:00
Tony Torralba
72c204063d
Merge pull request #10115 from atorralba/atorralba/fragment-fix
...
Java: Add support for androidx.fragment.app.Fragment
2022-08-22 12:53:19 +02:00
Tamas Vajk
25098ef2d8
Kotlin: Extract type alias doc comments
2022-08-22 12:31:13 +02:00
Jeroen Ketema
4c8926d880
Merge pull request #9720 from jketema/linkage
...
C++: Support link targets for global and namespace variables
2022-08-22 12:12:44 +02:00
Mathias Vorreiter Pedersen
65abb54a73
C++: Add a sanitizer to 'cpp/cleartext-storage-buffer' to improve the performance of the query.
2022-08-22 11:01:31 +01:00
Ian Lynagh
584037737e
Merge pull request #10113 from igfoo/igfoo/nullexpr
...
Kotlin: Remove another instance of a not-null-expression
2022-08-22 10:52:04 +01:00
Jeroen Ketema
284c8dd448
C++: Add change note
2022-08-22 11:25:40 +02:00
Tony Torralba
3314b56ffe
Fix Fragment tests after androidx stubs update
2022-08-22 11:13:19 +02:00
Taus
c904ba1d16
Merge pull request #9852 from tausbn/python-add-str-class
...
Python: Add `Str` class
2022-08-22 10:55:01 +02:00
Jeroen Ketema
f00a9ac8fc
Merge pull request #10112 from jketema/orphaned
...
C++: Handle orphaned local variables
2022-08-22 10:45:10 +02:00
Chris Smowton
f3ef8510d3
Merge pull request #10093 from smowton/smowton/feature/java-singular-locations
...
Java: pick an arbitrary representative location when an entity has many candidate locations.
2022-08-22 09:32:43 +01:00
Jeroen Ketema
04564b4323
Merge pull request #10123 from MathiasVP/optimize-exec-tainted
...
C++: Remove CP in `cpp/command-line-injection`
2022-08-22 10:20:03 +02:00
Michael Nebel
642c9929e6
Merge pull request #10050 from michaelnebel/csharp/asproutingendpoints
...
C#: ASP.NET MapGet Routing endpoints (Remote Flow Sources)
2022-08-22 09:05:12 +02:00
erik-krogh
2fd09d34de
improve performance of global dataflow by inlining a step predicate
2022-08-22 08:35:19 +02:00
erik-krogh
2f11f3760e
simplify getALibraryInputParameter by adding more general dataflow for the arguments object
2022-08-22 08:32:43 +02:00
Erik Krogh Kristensen
11b039c1f1
add tests
2022-08-22 08:29:28 +02:00
Erik Krogh Kristensen
31c09ba678
implement flow for .apply() by adding a ReflectiveParametersNode data-flow node
2022-08-22 08:29:28 +02:00
Erik Krogh Kristensen
d86b7f6c54
recognize an access to the arguments object as library-input
2022-08-22 08:29:24 +02:00
Erik Krogh Kristensen
7b1ef7473e
change ArrayCreationStep to a PreCallGraphStep and unrestrict the storeStep
2022-08-22 08:15:54 +02:00
Mathias Vorreiter Pedersen
d209231ff9
C++: Remove cartesian product in 'ExecTainted'.
2022-08-21 16:45:36 +01:00
Mathias Vorreiter Pedersen
b944005046
Merge pull request #10095 from MathiasVP/fix-joins-in-using-expired-stack-address
...
C++: Fix joins in `cpp/using-expired-stack-address`
2022-08-20 12:18:34 +01:00
Jeroen Ketema
2adf5662a2
C++: Add DB scheme upgrade and downgrade scripts
2022-08-20 08:55:33 +02:00
Jeroen Ketema
02c8e316d3
C++: Update DB scheme stats file
2022-08-20 08:46:50 +02:00
Jeroen Ketema
4a7ad84d02
C++: Add __func__ and __PRETTY_FUNCTION__ IR tests
2022-08-20 01:09:52 +02:00
Chris Smowton
e5370a0caa
Set MacOS and Windows Go versions to 1.19
2022-08-19 21:19:13 +01:00
Jeroen Ketema
584a0189a8
C++: Update test results after changes
2022-08-19 21:50:45 +02:00
Chris Smowton
259b942fac
Indent blocks that gofmt would mistake for markdown
...
As of go 1.19 it will try to format markdown nicely, but in both these cases the formatting isn't supposed to be interpreted this way, so indent it to make it a preformatted block.
2022-08-19 19:06:21 +01:00
Chris Smowton
8d20b9cf52
Use hasLocationInfo to match several Location fields at once
2022-08-19 19:03:17 +01:00
Chris Smowton
3266f1f35f
Create 2022-08-19-signular-locations.md
2022-08-19 18:42:41 +01:00
Chris Smowton
6ac6a81bfa
Update test action to use go 1.19
2022-08-19 18:37:39 +01:00
Chris Smowton
678ecffea8
Accept test changes
2022-08-19 18:34:05 +01:00
Chris Smowton
1ea7caf559
Fix join ordering in inline-expectations test
2022-08-19 18:17:22 +01:00
Chris Smowton
e39475d778
Merge pull request #10100 from github/smowton/admin/note-java-19-support
...
Note support for Java 19
2022-08-19 17:20:23 +01:00
Chris Smowton
6f4fbac412
Create 2022-08-19-go-119-support.md
2022-08-19 17:20:03 +01:00
Tony Torralba
90aa7d8be5
Add change note
2022-08-19 17:01:37 +02:00
Tom Hvitved
a0a3dfb93d
Merge pull request #10108 from hvitved/remove-redundant-overrides
...
Remove redundant overrides
2022-08-19 16:43:23 +02:00
Tony Torralba
3c6c09b0f8
No longer require a mode in Cipher.init
2022-08-19 16:40:59 +02:00
Tony Torralba
794fd976a9
Add androidx Fragment support
2022-08-19 16:32:06 +02:00
Paolo Tranquilli
75f62098e0
Merge pull request #10111 from github/redsun82/swift-add-methodrefexpr
...
Swift: synthesize `MethodRefExpr`
2022-08-19 16:27:16 +02:00
Paolo Tranquilli
631d234026
Swift: expand tests
2022-08-19 16:15:17 +02:00
Ian Lynagh
5d670c6186
Kotlin: Remove another instance of a not-null-expression
2022-08-19 14:50:06 +01:00
Erik Krogh Kristensen
812b6bddcf
Merge pull request #10053 from erik-krogh/msgConsis-ql-query
...
QL: add ql/consistent-alert-message
2022-08-19 15:45:35 +02:00
Paolo Tranquilli
f0ec43b04c
Swift: remove getMethodDeclaration
...
`getStaticTarget` gives the same result.
2022-08-19 15:37:49 +02:00
Paolo Tranquilli
66459b81da
Swift: use field in MethodApplyExpr
...
Also rename `getMethod` to `getMethodDeclaration` to clear up possible
confusion with `getFunction`.
2022-08-19 15:31:00 +02:00
Tom Hvitved
99c049c09e
Merge pull request #10102 from hvitved/ql/redundant-override-refined
...
QL: Refine 'redundant override' query
2022-08-19 15:25:11 +02:00
Jeroen Ketema
309fecac92
C++: Extend getFunction to handle orphaned local variables
2022-08-19 15:22:30 +02:00
Paolo Tranquilli
6706ba6ded
Swift: accept toString changes in tests
2022-08-19 15:22:02 +02:00
Jeroen Ketema
3b81f4860e
C++: Add orphaned local variable relation to DB scheme
2022-08-19 15:21:56 +02:00
Paolo Tranquilli
e3f86a9eb0
Swift: fix QL warning
2022-08-19 15:03:18 +02:00
Tamas Vajk
e23d36909d
Add DB stats file
2022-08-19 14:51:37 +02:00
Tamas Vajk
e30a488dab
Fix downgrade folder SHA and file directions
2022-08-19 14:51:36 +02:00
Tamas Vajk
e668bf631a
Add DB downgrade folder
2022-08-19 14:51:36 +02:00
Tamas Vajk
b34cae6bdd
Add DB upgrade folder
2022-08-19 14:51:36 +02:00
Tamas Vajk
1c08ac1d7a
Kotlin: Identify data classes during extraction
2022-08-19 14:51:36 +02:00
Paolo Tranquilli
9b50336e47
Swift: synthesize MethodRefExpr
...
This introduces a `MethodRefExpr` node synthesized out of
`DotSyntaxCallExpr` under the `LookupExpr` hierarchy. This means that
much like
```free_function(1, 2)```
is a `CallExpr` with `getFunction` giving a `DeclRefExpr`,
```foo.method(1, 2)```
is now a `CallExpr` with `getFunction` giving a `MethodRefExpr`.
`ApplyExpr::getStaticTarget` has been made work with it (as well as
`ConstructorRefCallExpr` which for the moment has been left where it
is), a new `MethodApplyExpr` has been introduced deriving from it,
and control and data flow libraries have adapted.
A small but was fixed in `qlgen` where the default constructor for DB
types was not correctly subtracting derived IPA types depending on the
order of definitions in `schema.yml`.
There are still some occurrences of `DotSyntaxCallExpr`, and as already
mentioned the other `SelfApply` class (`ConstructorRefCallExpr`) was
left alone. Their treatment is left for a future PR.
2022-08-19 14:48:36 +02:00
Tom Hvitved
18fb4a87af
Revert change to QL test
2022-08-19 14:37:25 +02:00
Ian Lynagh
a6cee9edf9
Kotlin: Add an integration test for TRAP compression
2022-08-19 13:34:43 +01:00
Tom Hvitved
1b29bddb73
Python: Revert change to AnyNode
2022-08-19 14:08:21 +02:00
Tom Hvitved
663096fe3a
Remove redundant overrides
2022-08-19 13:57:41 +02:00
Ian Lynagh
62779944e8
Kotlin: Compress TRAP files
...
The Kotlin extractor can now be told to write TRAP with no compression,
gzip compression or Brotli compression - although Brotli is not yet
supported and it will fall back to gzip.
The invocation TRAP file is a bit more complicated, as it's already been
started before the extractor starts. For now that continues to always be
uncompressed.
2022-08-19 12:47:10 +01:00
Chris Smowton
949de2a8dd
Create 2022-08-19-java-19-support.md
2022-08-19 11:15:23 +01:00
Chris Smowton
e2afc80aff
Autoformat go
2022-08-19 10:29:45 +01:00
Chris Smowton
45f922b3f2
Add models for Go 1.19's new url.JoinPath and URL.JoinPath functions
2022-08-19 10:29:45 +01:00
Chris Smowton
6068f63e9e
Add taint models for go 1.19's new fmt.Append functions
2022-08-19 10:29:45 +01:00
Tom Hvitved
c86c9ec2c3
QL: Move query logic into library
2022-08-19 10:35:47 +02:00
Tom Hvitved
93fc952ef1
Merge pull request #10099 from hvitved/csharp/html-raw-tests
...
C#: Add a cshtml-based XSS test
2022-08-19 10:24:52 +02:00
Tom Hvitved
50a53008cd
QL: Refine 'redundant override' query
2022-08-19 10:15:47 +02:00
Michael Nebel
c3e0388a75
C#: Add testcase for complex models.
2022-08-19 08:51:39 +02:00
Michael Nebel
058541c0d6
C#: Added change note.
2022-08-19 08:10:23 +02:00
Michael Nebel
bbb6ba088b
C#: Add more Map like remote flow source testcases.
2022-08-19 08:10:23 +02:00
Michael Nebel
424d909201
C#: Add more Map like method delegate parameter as flow sources.
2022-08-19 08:10:23 +02:00
Michael Nebel
d2c5266139
C#: Add more test examples.
2022-08-19 08:10:23 +02:00
Michael Nebel
aaf14b0184
C#: Improve solution (pair programming with @hvitved).
2022-08-19 08:10:23 +02:00
Michael Nebel
6e5a412150
C#: Make one more ASP.NET routing example.
2022-08-19 08:10:23 +02:00
Michael Nebel
bd6d3c7347
C#: Consider parameters passed to lambdas in MapGet remote flow sources.
2022-08-19 08:10:23 +02:00
Michael Nebel
c8afb1bb94
C#: Update expected test case with new line numbers.
2022-08-19 08:10:23 +02:00
Michael Nebel
328e47834e
C#: Add ASP.NET Core MapGet routing end point example.
2022-08-19 08:10:23 +02:00
Chris Smowton
d2055283de
Add models for go 1.19's new atomic pointer typex
2022-08-18 17:47:13 +01:00
Chris Smowton
8eb5d001f7
Upgrade Go extractor to latest golang and x-packages
2022-08-18 16:22:04 +01:00
Jeroen Ketema
38b4c02508
C++: Support link targets for global and namespace variables
2022-08-18 17:01:02 +02:00
Mathias Vorreiter Pedersen
c953b05cc2
Merge branch 'main' into fix-joins-in-using-expired-stack-address
2022-08-18 15:13:05 +01:00
Chris Smowton
ec1cc72669
Note support for Java 19
2022-08-18 15:02:16 +01:00
Erik Krogh Kristensen
4f93f2b9ba
Merge pull request #10076 from erik-krogh/ql-for-ql-fixes
...
various QL-for-QL fixes
2022-08-18 15:46:48 +02:00
Chris Smowton
17dd1f64ec
Java: pick an arbitrary representative location when an entity has many candidate locations.
2022-08-18 14:29:16 +01:00
Tom Hvitved
f275885258
C#: Add a cshtml-based XSS test
2022-08-18 15:24:04 +02:00
Anders Schack-Mulligen
61a2c0dab5
Merge pull request #10084 from aschackmull/java/numericcasttainted-barrier
...
Java: Move sink-constraints into the configuration in NumericCastTainted.ql.
2022-08-18 15:22:00 +02:00
Joe Farebrother
e8f027dab2
Apply docs suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-08-18 14:21:40 +01:00
Tom Hvitved
2afb4abaa2
Merge pull request #10094 from hvitved/csharp/redundant-override
...
C#: Remove redundant override
2022-08-18 15:17:20 +02:00
Tom Hvitved
d68f817e53
Merge pull request #10098 from hvitved/ql/redundant-override
...
QL: Add redundant overrides query
2022-08-18 15:13:35 +02:00
Tom Hvitved
e5911df697
QL: Add redundant overrides query
2022-08-18 14:59:04 +02:00
Mathias Vorreiter Pedersen
5704995b62
C++: Fix joins in 'cpp/using-expired-stack-address'.
2022-08-18 13:23:39 +01:00
Chris Smowton
72009f8614
Merge pull request #10085 from smowton/smowton/fix/dont-use-write-instruction-for-channel-flow
...
Go: don't use WriteNode for channel writes
2022-08-18 12:47:55 +01:00
Tom Hvitved
ece37d80f0
C#: Remove redundant override
2022-08-18 13:13:06 +02:00
Tamás Vajk
ad1cb8f8c7
Merge pull request #10065 from tamasvajk/kotlin-1.7.20-Beta
...
Kotlin: Add support for version 1.7.20-Beta
2022-08-18 12:17:10 +02:00
Tom Hvitved
08a5b5dc73
Merge pull request #10089 from hvitved/ruby/local-source-nodes
...
Ruby: Reduce size of `isLocalSourceNode`
2022-08-18 12:02:35 +02:00
Tom Hvitved
e949458add
Merge pull request #10066 from hvitved/csharp/underlying-as-callable
...
C#: Include both source code and hand-written summaries in data flow
2022-08-18 12:01:49 +02:00
Asger F
349331d6ca
Merge pull request #10082 from asgerf/js/exports-handling2
...
JS: Handle nested conditions in "exports" section
2022-08-18 11:10:59 +02:00
Nick Rolfe
a46e2b3f2f
Merge pull request #10056 from hmac/hmac/action-controller-response-body
...
Ruby: Recognise Rails render calls as HTTP responses
2022-08-18 10:02:17 +01:00
Tom Hvitved
682986c0a2
Merge pull request #10087 from hvitved/ruby/unknown-member-warning
...
Ruby: Get rid of warning in `getUnknownMember`
2022-08-18 10:50:24 +02:00
erik-krogh
9e7c0c6ab9
revert changing imports in java/
2022-08-18 10:19:12 +02:00
Anders Schack-Mulligen
07e0bd3ce1
Merge pull request #10083 from aschackmull/java/sensitivelog-barrier
...
Java: Add some type-based sanitizers to SensitiveInfoLog.ql.
2022-08-18 10:18:33 +02:00
Tom Hvitved
93830f43cc
Address review comment
2022-08-18 10:06:26 +02:00
Tom Hvitved
baa646e102
Ruby: Remove unused UnknownMember from API graphs
2022-08-18 09:40:02 +02:00
Anders Schack-Mulligen
37e5f0438c
Java: Add change note.
2022-08-18 09:19:32 +02:00
Tamas Vajk
fb9a34851a
Apply code review changes
2022-08-18 09:01:10 +02:00
erik-krogh
4bc10f9b5c
explicitly import required frameworks that were previously implicitly imported
2022-08-18 08:40:46 +02:00
Harry Maclean
8f370b2457
Update ruby/ql/lib/change-notes/2022-08-16-action-controller-response-body.md
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-08-18 10:03:52 +12:00
Harry Maclean
70ec70940a
Merge pull request #8142 from github/hmac/incomplete-multi-char-sanitization
2022-08-18 10:02:39 +12:00
erik-krogh
d96dca4f5e
fix typo
2022-08-17 22:59:16 +02:00
erik-krogh
7850ab2dcc
rename badlangs to otherlangs
2022-08-17 22:58:58 +02:00
erik-krogh
cb110ba266
this is an odd commit
2022-08-17 22:57:27 +02:00
erik-krogh
f738567f96
refactor some code out into a helper class QueryDoc
2022-08-17 22:56:46 +02:00
Erik Krogh Kristensen
e93ff8672c
Merge pull request #10075 from erik-krogh/depOld
...
delete old deprecations
2022-08-17 21:21:57 +02:00
yoff
78756bdc6a
Merge pull request #9859 from tausbn/python-fix-another-bad-value-transfer-join
2022-08-17 20:47:00 +02:00
Chris Smowton
3802deab70
Adjust test expectations re: reformatting
2022-08-17 17:31:27 +01:00
Chris Smowton
e33ddbdcfd
Format go
2022-08-17 16:42:06 +01:00
Tom Hvitved
ed2ec1acc0
Ruby: Reduce size of isLocalSourceNode
2022-08-17 17:19:30 +02:00
Tom Hvitved
c307a12c20
Ruby: Get rid of warning in getUnknownMember
2022-08-17 16:22:11 +02:00
Alex Ford
d4d6657cb7
Merge pull request #10008 from alexrford/rb/log-injection
...
Ruby: Add `rb/log-injection` query
2022-08-17 15:01:22 +01:00
Taus
1c15fc5600
Python: Define Str as an alias of StrConst
2022-08-17 13:36:32 +00:00
erik-krogh
6b9f01535b
change All to Most in the change-notes
2022-08-17 15:34:57 +02:00
Chris Smowton
077bae55fe
Go: don't use WriteNode for channel writes
...
I overlooked the fact that this has a WriteInstruction, which wasn't bound in the channel-write case, but somehow the evaluator discarded the implied cartesian product until last night's performance evaluation.
Rather than try to cram channel writes into WriteInstruction, just handle them as their own beast.
2022-08-17 14:27:16 +01:00
Anders Schack-Mulligen
f6eccd390e
Java: Move sink-constraints into the configuration.
2022-08-17 15:06:55 +02:00
Tamas Vajk
5d01653371
Fix gradle exclude list after the version number changes
2022-08-17 15:03:37 +02:00
Mathias Vorreiter Pedersen
1eb0f6a12e
Merge pull request #10081 from erik-krogh/desugar
...
add desugered to the typo database
2022-08-17 13:56:59 +01:00
Anders Schack-Mulligen
c3ba632a32
Java: Add some type-based sanitizers to SensitiveInfoLog.ql.
2022-08-17 14:54:28 +02:00
Erik Krogh Kristensen
bd4947fdbd
Merge pull request #10046 from erik-krogh/protoFunc
...
JS: generalize `BarrierGuardFunction`to work on function that have multiple parameters
2022-08-17 14:50:54 +02:00
Anders Schack-Mulligen
6e495ba6e5
Merge pull request #10068 from aschackmull/java/summarizedcallable-split
...
Java: Make synthesized method bodies disjoint from source code.
2022-08-17 14:13:56 +02:00
erik-krogh
2622c78766
add change-notes
2022-08-17 13:55:16 +02:00
erik-krogh
14d83ab1b5
make the framework imports in FlowSources.qll private
2022-08-17 13:50:08 +02:00
erik-krogh
8066e39d07
delete some redundant imports
2022-08-17 13:50:04 +02:00
Tom Hvitved
355c1f5959
Merge pull request #10035 from hvitved/ssa/phi-reads
...
SSA: Improve use-use calculation using "phi read nodes"
2022-08-17 13:43:00 +02:00
erik-krogh
dbbba32579
revert change to generated swift code
2022-08-17 13:34:22 +02:00
erik-krogh
b7b80fe176
reintroduce redundant cast in synced file
2022-08-17 13:34:22 +02:00
erik-krogh
ffb65d054e
delete redundant inline casts
2022-08-17 13:34:22 +02:00
erik-krogh
2e44fba67d
add explicit this
2022-08-17 13:33:31 +02:00
erik-krogh
b9823cf335
fix ql/could-be-cast
2022-08-17 13:33:31 +02:00
erik-krogh
b2e3d8bb86
remove some more legacy code that existed to support deprecated code
2022-08-17 13:32:39 +02:00
erik-krogh
6ac898bad4
add desugered to the typo database
2022-08-17 13:13:43 +02:00
Ian Lynagh
0d4419dd8c
Merge pull request #10071 from igfoo/igfoo/refactor
...
Kotlin: Refactor TypeResults
2022-08-17 11:58:33 +01:00
Joe Farebrother
5d00b871d4
Correct node type
2022-08-17 11:58:11 +01:00
Joe Farebrother
2bc2649204
Merge pull request #9853 from joefarebrother/static-init-vec
...
Java: Promote Static Initialization Vector query
2022-08-17 11:56:00 +01:00
Nick Rolfe
61db581512
Merge pull request #10080 from github/nickrolfe/desugared-typo
...
Ruby: fix typo: s/Desugered/Desugared
2022-08-17 11:54:15 +01:00
Anders Schack-Mulligen
c034a1e268
Java: Fix test.
2022-08-17 12:46:35 +02:00
Anders Schack-Mulligen
27f76330be
Java: Fix models.
2022-08-17 12:46:09 +02:00
Anders Schack-Mulligen
857b473503
Java: Delete duplicate tests.
2022-08-17 12:44:42 +02:00
Nick Rolfe
94a51142d0
Ruby: fix typo in internal predicate name
2022-08-17 11:05:39 +01:00
Tamas Vajk
abc4405221
Kotlin: Change version numbers
2022-08-17 11:57:33 +02:00
Tamas Vajk
f12c73f472
Kotlin: Add support for version 1.7.20-Beta
2022-08-17 11:57:33 +02:00
Tom Hvitved
d8f7861ab1
C#: Include both source code and hand-written summaries in data flow
...
Still, generated summaries are only included when there is no source code.
2022-08-17 11:57:24 +02:00
Erik Krogh Kristensen
47353f6c28
Merge pull request #10067 from erik-krogh/paramSig
...
QL: support signature parameters in QL-for-QL
2022-08-17 11:50:39 +02:00
Joe Farebrother
de69827711
Use a full dataflow config rather than local flow
2022-08-17 10:35:48 +01:00
Joe Farebrother
fe5a61bdde
Fix typos in docs and comments
2022-08-17 10:35:48 +01:00
Joe Farebrother
c77b17574a
Use CryptoAlgoSpec rather than hadcoding Cipher.getInstance
2022-08-17 10:35:47 +01:00
Joe Farebrother
08b77493d2
Add security severity and change note
2022-08-17 10:35:47 +01:00
Joe Farebrother
9ae652dd6a
Add tests
2022-08-17 10:35:47 +01:00
Joe Farebrother
41bdd6d4cc
Add RSA without OEAP query and qhelp
2022-08-17 10:35:46 +01:00
Joe Farebrother
7c188a6b96
Apply doc suggestions
2022-08-17 10:35:16 +01:00
Joe Farebrother
7989ba3391
Replace a tainttracking instance with local flow
2022-08-17 10:35:16 +01:00
Joe Farebrother
5afc0b0c15
Add security severity
2022-08-17 10:35:15 +01:00
Joe Farebrother
bf32b5a8fd
Reiview suggestions - add doc comment, reword description, simplify a part
2022-08-17 10:35:15 +01:00
Joe Farebrother
a62bb8e115
Add additional test case
2022-08-17 10:35:15 +01:00
Joe Farebrother
960a4e58a0
Add change note
2022-08-17 10:35:14 +01:00
Joe Farebrother
c152a27a68
Reword docs
2022-08-17 10:35:14 +01:00
Joe Farebrother
4d0957711b
Reduce FPs from empty arrays
2022-08-17 10:35:14 +01:00
Joe Farebrother
c0a1300955
Improve initializedWthConstants to no longer need a workaround
2022-08-17 10:35:13 +01:00
Joe Farebrother
f8f21c7ee6
Move static init vector query and tests from experimental to main
2022-08-17 10:35:13 +01:00
Tom Hvitved
44e1ecdf94
Merge pull request #10060 from hvitved/ruby/pos-args-missing-flow-tests
...
Ruby: Add tests that demonstrate missing flow through positional arguments
2022-08-17 10:45:25 +02:00
Paolo Tranquilli
979706903a
Merge pull request #10070 from github/redsun82/swift-self-apply-tests
...
Swift: add more `SelfApplyExpr` testing
2022-08-17 09:34:20 +02:00
Harry Maclean
1f4dad4167
Update for rename of ReDoSUtil to NfaUtils
2022-08-17 16:03:49 +12:00
Harry Maclean
f1a546c4d6
Rename IncompleteMultiCharacterSanitization[Query]
2022-08-17 16:03:49 +12:00
Harry Maclean
e48158b9ad
JS: Share more code with Ruby
2022-08-17 16:03:49 +12:00
Harry Maclean
f2384a6a8f
Ruby: Share more code with JS
2022-08-17 16:03:49 +12:00
Harry Maclean
025e34d8e1
Ruby: Simplify imports
2022-08-17 16:03:48 +12:00
Harry Maclean
ab6287aebd
Ruby: Fix import
2022-08-17 16:03:48 +12:00
Harry Maclean
b7d9bf4066
Share IncompleteMultiCharacterSanitization JS/Ruby
...
Most of the classes and predicates in this query can be shared between
the two languages. There's just a few language-specific things that we
place in IncompleteMultiCharacterSanitizationSpecific.
2022-08-17 16:03:46 +12:00
Harry Maclean
3179c60a1e
Ruby: Remove RegExpLiteral.getAMatch
...
This predicate is a duplicate of getAMatchedString, which matches the
naming in the JS version.
2022-08-17 16:02:48 +12:00
Harry Maclean
6bb24f9d7c
Ruby: matchesEmptyString -> isNullable
...
Rename RegExpLiteral.matchesEmptyString to isNullable, to match the JS
version.
2022-08-17 16:02:48 +12:00
Harry Maclean
3fba4a5fa7
Ruby: Add change note for new query
2022-08-17 16:02:48 +12:00
Harry Maclean
c234bd94d1
Ruby: IncompleteMultiCharacterSanitization Query
...
This query is similar to IncompleteSanitization but for multi-character
sequences.
2022-08-17 16:02:48 +12:00
Harry Maclean
6e289a9db3
Ruby: Improvements to StringSubstitutionCall
...
- Handle block arguments
- Recognise patterns passed via constants
2022-08-17 16:02:48 +12:00
Harry Maclean
17dfb4e7b8
Ruby: Add RegExpTerm.getAMatch
2022-08-17 16:02:48 +12:00
Harry Maclean
c9fc43a4ba
Ruby: Add matchesEmptyString to RegExpTerm
2022-08-17 16:02:47 +12:00
erik-krogh
478e0bf5a3
delete old code that only existed to support a deleted deprecated feature
2022-08-16 23:35:48 +02:00
erik-krogh
04173b7e93
fix test that was using old code
2022-08-16 23:35:29 +02:00
erik-krogh
2c71c46282
drive-by fix a QL-for-QL warning that showed up in code-scanning
2022-08-16 22:43:10 +02:00
erik-krogh
e69f4cd1b3
delete another dead file (thanks to the dead-code query)
2022-08-16 22:42:48 +02:00
erik-krogh
42049b1c0e
delete dead code (thanks QL-for-QL)
2022-08-16 22:35:42 +02:00
erik-krogh
507e0aa164
delete import to deprecated file
2022-08-16 22:35:03 +02:00
erik-krogh
1568763eec
delete two dead predicates
2022-08-16 22:34:55 +02:00
erik-krogh
4b7f63a0f3
sync SensitiveDataHeuristics.qll to the other languages
2022-08-16 22:31:26 +02:00
erik-krogh
514f98cd44
delete entire file that was deprecated
2022-08-16 22:29:52 +02:00
erik-krogh
5586c9a17e
delete old deprecations
2022-08-16 22:27:15 +02:00
Ian Lynagh
7406915616
Kotlin: Remove some dead code
2022-08-16 17:47:12 +01:00
Ian Lynagh
7b33aebe1f
Kotlin: Refactor TypeResults
...
We statically know when we expect to have no signature, so now we tell
the type system what we know, rather than having signature always be
nullable.
2022-08-16 17:42:47 +01:00
Robert Marsh
9e0c82eabb
Merge pull request #10039 from rdmarsh2/rdmarsh2/cpp/sem-range-analysis-perf
...
C++: Fix missing bounds and performance issues in semantic range analysis
2022-08-16 12:27:02 -04:00
Paolo Tranquilli
9232b282d8
Merge pull request #9891 from github/redsun82/swift-first-prototype-of-generated-ipa-layer
...
Swift: first prototype of a generated IPA layer
2022-08-16 18:08:03 +02:00
Jeroen Ketema
8fb57149fb
Merge pull request #10069 from jketema/ir-present
...
C++: Expose `PresentIRFunction` and override in `cpp/count-ir-inconsistencies`
2022-08-16 17:59:26 +02:00
Paolo Tranquilli
f17fed7c9a
Swift: add more SelfApplyExpr testing
2022-08-16 17:46:22 +02:00
Robert Marsh
818bdcf3ab
C++: autoformat a test
2022-08-16 11:31:28 -04:00
Paolo Tranquilli
9cd2ae2fd1
Swift: rename Synth conversion functions
2022-08-16 16:54:33 +02:00
Jeroen Ketema
31aa6692cb
Sync files
2022-08-16 16:38:37 +02:00
Jeroen Ketema
243dda79d2
C++: Expose PresentIRFunction and override in cpp/count-ir-inconsistencies
...
The `toString` implementtion that `PresentIRFunction` uses may result in very
long strings that may crash the evaluator. Overriding allows is to limit the
string size and still suffices when just counting the number of inconsistencies.
2022-08-16 16:30:38 +02:00
Jami
dd23d48ad2
Merge pull request #9939 from jcogs33/android-debug-query-inline-tests
...
Java: query to detect android:debuggable attribute enabled
2022-08-16 10:07:13 -04:00
Tom Hvitved
4901deb796
Merge pull request #10004 from hvitved/csharp/mad-this-rename
...
C#: Rename `Argument[Qualifier]` to `Argument[this]` in MaD
2022-08-16 15:09:51 +02:00
Ian Lynagh
0e4066b6a8
Kotlin: Typo in comment
2022-08-16 14:09:07 +01:00
Sid Shankar
1e1e2318b7
Merge pull request #10052 from github/task/fix-broken-links
...
Docs: Replace HTTP broken links to equivalent HTTPS resources
2022-08-16 08:45:08 -04:00
yoff
e7c6c04076
Merge pull request #9858 from tausbn/python-fix-bad-getOuterVariable-join
...
Python: Fix bad join in `getOuterVariable`
2022-08-16 14:40:42 +02:00
yoff
3006fa60c6
Merge pull request #9856 from tausbn/python-fix-bad-ScopeEntryDefinition-charpred-join
...
Python: Fix bad join in `ScopeEntryDefinition`
2022-08-16 14:37:53 +02:00
Tom Hvitved
7395587244
Sync files
2022-08-16 14:07:39 +02:00
Tom Hvitved
611a6807bc
SSA: Improve use-use calculation using "phi read nodes"
2022-08-16 14:07:38 +02:00
Tom Hvitved
9a61f24e16
C#: Add SSA use-use stress test
2022-08-16 14:06:15 +02:00
Tom Hvitved
6be6d26cb5
C#: Add new SSA test
2022-08-16 14:06:15 +02:00
Paolo Tranquilli
98819f64da
Merge branch 'main' into redsun82/swift-first-prototype-of-generated-ipa-layer
2022-08-16 14:05:44 +02:00
Taus
1f5176d623
Python: Simplify class_var_scope
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-08-16 14:02:47 +02:00
erik-krogh
37f6fecf51
don't check the formatting on the test files
2022-08-16 13:49:56 +02:00
erik-krogh
3a373c508d
fix the type of the getImplements() predicate, to fix the parent-child relation in the AST
2022-08-16 13:44:43 +02:00
Taus
b17e74dfe8
Python: Simplify binding fix
...
Co-authored-by: yoff <yoff@github.com >
2022-08-16 11:41:43 +00:00
Anders Schack-Mulligen
df40ccd129
Java: Make synthesized method bodies disjoint from source code.
2022-08-16 13:36:39 +02:00
erik-krogh
232952519a
support signature parameters in QL-for-QL
2022-08-16 13:36:05 +02:00
Erik Krogh Kristensen
fd5b8896df
Merge pull request #10063 from erik-krogh/fixRbDep
...
re-deprecate ReDoSUtil in ruby
2022-08-16 13:27:52 +02:00
Tom Hvitved
e4c257db74
C#: Rename Argument[Qualifier] to Argument[this] in MaD
2022-08-16 13:24:41 +02:00
Mathias Vorreiter Pedersen
367752222f
Merge pull request #10064 from MathiasVP/fix-ssa-for-getters
...
Swift: Fix SSA for calls to getter functions
2022-08-16 12:08:08 +01:00
Alex Ford
d02ad51d74
Merge pull request #10032 from github/post-release-prep/codeql-cli-2.10.3
...
Post-release preparation for codeql-cli-2.10.3
2022-08-16 12:04:07 +01:00
Mathias Vorreiter Pedersen
cbb1108f6e
Swift: Fix SSA for calls to getter functions.
2022-08-16 11:48:46 +01:00
Ian Lynagh
c927ac9b33
Merge pull request #10048 from igfoo/igfoo/NotNullExpr
...
Kotlin: Remove not-null-expressions from KotlinUsesExtractor
2022-08-16 10:59:43 +01:00
Ian Lynagh
19c2ca8d40
Merge pull request #10049 from igfoo/igfoo/NotNullExpr2
...
Kotlin: Remove a non-null-expr
2022-08-16 10:59:33 +01:00
Asger F
449e697761
JS: Handle nested conditions in "exports" section
2022-08-16 11:45:48 +02:00
Tom Hvitved
9f5b215d49
Merge pull request #10055 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-08-16 11:39:04 +02:00
erik-krogh
2fbae81356
re-deprecate ReDoSUtil in ruby
2022-08-16 11:22:00 +02:00
erik-krogh
8e6a36256c
import the non-deprecated NfaUtils in the overly-large-range query
2022-08-16 11:21:43 +02:00
Nick Rolfe
7a47551027
Merge pull request #10059 from hvitved/ruby/fix-deprecation-warning
...
Ruby: Fix deprecation warning
2022-08-16 09:50:55 +01:00
Tom Hvitved
aa93986d1a
Ruby: Add tests that demonstrate missing flow through positional arguments
2022-08-16 10:36:40 +02:00
Tom Hvitved
007d98e3b4
Ruby: Fix deprecation warning
2022-08-16 10:23:06 +02:00
Anders Schack-Mulligen
28e4224ab1
Merge pull request #10023 from aschackmull/java/numbertype-perf
...
Java: Minor perf improvement.
2022-08-16 09:52:55 +02:00
Tamás Vajk
6e57e45309
Merge pull request #10034 from tamasvajk/kotlin-build-versions-2
...
Kotlin: Change handling of version variants in build script
2022-08-16 09:38:19 +02:00
Erik Krogh Kristensen
f106e064fa
Merge pull request #9422 from erik-krogh/refacReDoS
...
Refactorizations of the ReDoS libraries
2022-08-16 09:32:08 +02:00
erik-krogh
14cfe2e250
improve the join-order of BarrierGuardFunction::isBarrierCall
2022-08-16 09:28:48 +02:00
erik-krogh
3355a7a046
generalize BarrierGuardFunctionto work on function that have multiple parameters
2022-08-16 09:13:15 +02:00
Paolo Tranquilli
5bad696b41
Swift: remove unused no-parameter constructors
2022-08-16 09:09:00 +02:00
Harry Maclean
7ef6ffbc54
Ruby: Recognise Rails render calls as HTTP responses
2022-08-16 14:03:26 +12:00
github-actions[bot]
ab9079a838
Add changed framework coverage reports
2022-08-16 00:20:20 +00:00
erik-krogh
b3adb62adb
move the pack cache to where it's read
2022-08-15 22:47:08 +02:00
erik-krogh
d38d810677
include the workflow in the cache key
2022-08-15 22:47:08 +02:00
erik-krogh
ae08130451
more threads
2022-08-15 22:47:05 +02:00
erik-krogh
427a607843
point codeql-action to the local QL-for-QL queries
2022-08-15 22:46:57 +02:00
erik-krogh
847934078c
update the version of codeql-action used by QL-for-QL
2022-08-15 22:28:05 +02:00
erik-krogh
5e53124217
don't report warning for deprecated classes/predicates
2022-08-15 21:52:34 +02:00
erik-krogh
d816f7f390
add ql/consistent-alert-message
2022-08-15 21:52:10 +02:00
Jami Cogswell
07e141c5be
added commas to help file
2022-08-15 15:50:00 -04:00
Jami Cogswell
4986cc8458
update isDebuggable predicate
2022-08-15 15:50:00 -04:00
Jami Cogswell
f529cc43bc
updated lib change note name
2022-08-15 15:50:00 -04:00
Jami Cogswell
29acce1e93
remove extraneous unit test
2022-08-15 15:50:00 -04:00
Jami Cogswell
4c2b05ce8c
adding change-note for android manifest library
2022-08-15 15:50:00 -04:00
Jami Cogswell
b779f9f935
added casting
2022-08-15 15:50:00 -04:00
Jami Cogswell
c010f92811
simplified predicates, removed overridden getFile predicate
2022-08-15 15:50:00 -04:00
Jami Cogswell
6e10fcf519
added predicates in the AndroidManifest library and adjusted tests
2022-08-15 15:50:00 -04:00
Jami Cogswell
229324fde0
updated overview section of help file; also added 'App Manifest Overview' to references
2022-08-15 15:50:00 -04:00
Jami Cogswell
3714a98403
add reference to help file
2022-08-15 15:50:00 -04:00
Jami Cogswell
ead36822be
update change note based on review comment
2022-08-15 15:50:00 -04:00
Jami Cogswell
f961540979
added change note
2022-08-15 15:50:00 -04:00
Jami Cogswell
af0a663ee8
remove commented-out code in Test.java file
2022-08-15 15:50:00 -04:00
Jami Cogswell
d1a23ad78c
updated to getRelativePath with %build%
2022-08-15 15:50:00 -04:00
Jami Cogswell
15df392fd8
updates to InlineExpectationsTest
2022-08-15 15:50:00 -04:00
Jami Cogswell
d8dbdfcd70
rename expected file, add ql file, delete qlref file
2022-08-15 15:50:00 -04:00
Jami Cogswell
8c4b98c04f
rename files
2022-08-15 15:50:00 -04:00
Jami Cogswell
475d67a4df
minor updates, removed comments
2022-08-15 15:50:00 -04:00
Jami Cogswell
e2374f816a
test commit for new branch
2022-08-15 15:50:00 -04:00
Jami Cogswell
54470c794d
updated location part of query to use abs path and /build
2022-08-15 15:49:59 -04:00
Jami Cogswell
54acd0e330
add numeric value for security-severity
2022-08-15 15:49:59 -04:00
Jami Cogswell
fdb437552c
clean up android query and tests
2022-08-15 15:49:59 -04:00
Jami Cogswell
cf39cc0909
updates to android debug query
2022-08-15 15:49:59 -04:00
Jami Cogswell
6720dba8e7
draft android debug query
2022-08-15 15:49:59 -04:00
Sid Shankar
639af0a9a3
Use Wayback Machine 🔗 for IE Conditional Comments
2022-08-15 14:45:34 -04:00
Sid Shankar
79a4ddd2ee
Fix invalid link to Ecmascript 2015 specification
2022-08-15 14:44:18 -04:00
Sid Shankar
68d1c2d3e8
Fix link to python requests documentation
...
docs.python-requests.org seems to be a suspended domain. The replacement link is to the same Python requests library on readthedocs.io, and points to the ssl-cert-verification section.
2022-08-15 14:43:28 -04:00
Sid Shankar
02cd7bc7d2
Remove reference to infosecwriters.com
...
infosecwriters.com now redirects to a completely unrelated page. The broken link was replaced with a mailing list post from Diabolical Crab (DCrab) diving into HTTP response splitting.
2022-08-15 14:41:50 -04:00
Sid Shankar
ffbb158570
Update invalid link to devx.com
2022-08-15 14:40:12 -04:00
Sid Shankar
69de832f76
Replace invalid link to blogs.msdn.com
...
Replace with link to the same article on devblogs.microsoft.com. Unfortunately, blogs.msdn.com does not automatically redirect to the new location, making this replacement necessary.
2022-08-15 14:39:26 -04:00
Paolo Tranquilli
9de5985218
Swift: fix subtracted constructors
2022-08-15 17:00:36 +02:00
Chris Smowton
79bae0caeb
Merge pull request #9999 from github/smowton/feature/golang-channel-flow
...
Go: implement conservative cross-thread dataflow
2022-08-15 15:38:15 +01:00
Paolo Tranquilli
1365d0911d
Swift: generalize synth constructors
...
Now all types get a default synth constructor.
2022-08-15 16:12:19 +02:00
Ian Lynagh
d06b3a17bb
Kotlin: Remove a non-null-expr
2022-08-15 15:01:48 +01:00
Ian Lynagh
48e6b4c01b
Kotlin: Remove another not-null-expression
2022-08-15 14:43:59 +01:00
Ian Lynagh
10463e12a7
Kotlin: Add List<T?>.requireNoNullsOrNull(): List<T>? utility
2022-08-15 14:38:09 +01:00
Asger F
eaf3aa7075
Merge pull request #10036 from asgerf/js/exports-handling
...
JS: More precise handling of "exports"
2022-08-15 15:32:00 +02:00
Ian Lynagh
d4517f1266
Kotlin: Refactor away a NotNullExpr in the extractor
2022-08-15 14:17:53 +01:00
Taus
16451654db
Merge pull request #9884 from tausbn/ql-untangle-parsers
...
QL: Untangle the various parsers
2022-08-15 15:12:30 +02:00
Paolo Tranquilli
8ba330a886
Swift: rename conversion predicates
2022-08-15 15:04:39 +02:00
Paolo Tranquilli
ace92d0958
Swift: rename Db to Raw
2022-08-15 14:54:21 +02:00
Paolo Tranquilli
9347030611
Swift: rename Ipa to Synth
2022-08-15 14:31:17 +02:00
erik-krogh
459c2a21b4
Merge branch 'main' into ql-untangle-parsers
2022-08-15 14:11:32 +02:00
erik-krogh
c652f3e3dd
update grammar after https://github.com/tree-sitter/tree-sitter-ql/pull/17 has been merged
2022-08-15 14:10:10 +02:00
Jeroen Ketema
6b94cdbd8d
Merge pull request #10047 from jketema/fix-ir-comment
...
C++: Fix block assignment evaluation order comment in IR translation
2022-08-15 14:01:48 +02:00
Chris Smowton
774e379eb1
Merge pull request #9742 from smehta23/feat/SM/java_partial_path_traversal_vulnerability
...
[JAVA] Partial Path Traversal Vuln Query
2022-08-15 12:56:16 +01:00
Erik Krogh Kristensen
0adb588fe8
Merge pull request #9712 from erik-krogh/badRange
...
JS/RB/PY/Java: add suspicious range query
2022-08-15 13:55:44 +02:00
Michael Nebel
15906338dc
Merge pull request #9923 from michaelnebel/csharp/webgoat
...
C#: SQL Injection improvements for SQLite.
2022-08-15 13:22:25 +02:00
Chris Smowton
e27d62b0b4
Fix qldoc wording
2022-08-15 12:08:14 +01:00
Chris Smowton
c40ec728c6
Remove non-ascii char
2022-08-15 12:08:14 +01:00
Chris Smowton
38c0557d90
Adjust test to moved and expanded stubs
2022-08-15 12:08:14 +01:00
Asger F
3c41f28519
JS: Use explicit this
2022-08-15 12:49:23 +02:00
Asger F
671573633b
JS: Simplify getMain()
2022-08-15 12:48:41 +02:00
Chris Smowton
9f82088f5d
Remove unnecessary casts
2022-08-15 11:47:58 +01:00
Chris Smowton
1a3dc1d6eb
Remove extra closing tag
2022-08-15 11:31:53 +01:00
Michael Nebel
79a716488b
Merge pull request #10003 from michaelnebel/csharp/stubsenum
...
C#: Stub generator improvements.
2022-08-15 12:14:06 +02:00
Asger F
80a37c5863
JS: More precise handling of "exports"
2022-08-15 11:59:40 +02:00
Jeroen Ketema
6c4685e538
C++: Fix block assignment evaluation order comment in IR translation
2022-08-15 11:58:57 +02:00
Erik Krogh Kristensen
51a724315f
Merge pull request #10017 from erik-krogh/forAwait
...
JS: support top-level for await statements
2022-08-15 11:58:56 +02:00
Ian Lynagh
09d249e5d8
Merge pull request #10038 from igfoo/igfoo/java-downgrades
...
Java: Add initial downgrades directory
2022-08-15 10:57:52 +01:00
Paolo Tranquilli
6dc90bc46c
Swift: accept test change
2022-08-15 11:53:18 +02:00
Chris Smowton
5677e38994
Style edit
2022-08-15 10:37:55 +01:00
Chris Smowton
3cf871e9e5
Apply docs suggestions
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-08-15 10:34:55 +01:00
Mathias Vorreiter Pedersen
dfde5712a3
Merge pull request #10031 from jketema/block-assign
...
C++: Handle block assignments
2022-08-15 10:29:23 +01:00
erik-krogh
a28948e836
add change note
2022-08-15 10:53:33 +02:00
Anders Schack-Mulligen
a3fb54c9de
Merge pull request #10007 from aschackmull/dataflow/source-node-identity
...
Dataflow: Fix identification of source PathNodes in the presence of source-to-source flow
2022-08-15 10:39:17 +02:00
Paolo Tranquilli
176009ca88
Merge branch 'main' into redsun82/swift-first-prototype-of-generated-ipa-layer
2022-08-15 10:18:41 +02:00
Chris Smowton
ca4ef6578d
Spelling
2022-08-13 14:37:08 +01:00
Chris Smowton
c5e46f78ec
Add change note
2022-08-13 14:29:17 +01:00
Chris Smowton
8bea2a5f6c
Add missing qldoc
2022-08-13 14:20:48 +01:00
Jeroen Ketema
40334a21ce
C++: add upgrade and downgrade scripts
2022-08-13 15:09:06 +02:00
Chris Smowton
b62e9dc92c
Convert tests to inline expectations and fix one bug revealed doing so
...
Specifically Apache sshd defines its sensitive api calls on an inherited interface, and they need to be described that way for us to pick them up.
2022-08-13 14:02:05 +01:00
Chris Smowton
ddb0846e06
Split up hardcoded creds queries, ready for conversion to inline expectations
2022-08-13 12:39:16 +01:00
Chris Smowton
0a6ccbca45
Add stubs and tests for new hardcoded-credential sinks
2022-08-13 12:39:15 +01:00
Daniel Santos
60e0f09586
Additional hardcoded credentials candidates 3rd-party api calls
2022-08-13 12:39:15 +01:00
Jeroen Ketema
cac6bd57ab
C++: Update DB scheme stats file
2022-08-13 01:01:30 +02:00
erik-krogh
3a4a3437b5
fix some QL-for-QL warnings
2022-08-12 20:38:50 +02:00
erik-krogh
b54f037424
Merge branch 'main' into refacReDoS
2022-08-12 20:28:30 +02:00
erik-krogh
b9e96fb078
sync changes to other languages
2022-08-12 20:28:12 +02:00
erik-krogh
97681ea219
simplify code after review
2022-08-12 20:27:50 +02:00
erik-krogh
3403e2f325
apply suggestions from code review
2022-08-12 20:25:55 +02:00
Robert Marsh
5450681ade
C++: Autoformat and fix a test
2022-08-12 13:49:16 -04:00
Jeroen Ketema
0449d914c4
C++: Add change note
2022-08-12 18:43:24 +02:00
Jeroen Ketema
4d76fd198e
C++: Handle block assignments in the IR
2022-08-12 18:43:23 +02:00
Jeroen Ketema
5c905b76b4
C++: Expose block assignment operations in the QL library
2022-08-12 18:43:23 +02:00
Jeroen Ketema
ebf8161f1b
C++: Add block assignment expression to the database schema
...
These can under some circumstances be generated by the frontend as part
of compiler generated copy constructors and assignment operators.
2022-08-12 18:43:23 +02:00
Jeroen Ketema
e1b1657cdd
C++: Remove unused abstract predicate
2022-08-12 18:43:23 +02:00
Jeroen Ketema
de142b276d
C++: Add IR test that exposes a gap in the extractor output
2022-08-12 18:43:23 +02:00
Robert Marsh
65643515ba
C++: inexact memory operands as SSA variables
...
This makes inexact memory operands into their own SSA variables in the
Semantic interface, which resolves an issue with phi nodes losing
inexact operands (e.g. the unknown-size variable for parameter
indirections).
2022-08-12 12:35:54 -04:00
Robert Marsh
3bbd333336
C++: fix missing bounds in exp range analysis
2022-08-12 12:33:45 -04:00
Robert Marsh
e6aa2de977
C++: semantic range analysis perf fixes
2022-08-12 12:28:04 -04:00
Ian Lynagh
254c166f93
Java: Add initial downgrades directory
2022-08-12 16:19:31 +01:00
Tamas Vajk
ccef2f7646
Address review comments
2022-08-12 15:25:46 +02:00
Michael Nebel
af473db067
C#: Add function pointer test case in stub generation.
2022-08-12 14:56:52 +02:00
Tamás Vajk
1d56330baa
Merge pull request #9782 from tamasvajk/cs/newtonsoft-deserialization
...
C#: Fix unsafe deserialization with `JsonConvert.DeserializeObject`
2022-08-12 14:46:41 +02:00
Tamas Vajk
451be6c32c
Kotlin: Add explicit CI version number to build script
2022-08-12 14:27:06 +02:00
Michael Nebel
e9b184fa4c
C#: Avoid multiple explicit casts in stub generator.
2022-08-12 13:34:50 +02:00
Michael Nebel
eb9057918c
C#: Manual updates to .NET Core stubs to make it compile.
2022-08-12 13:12:33 +02:00
Tamas Vajk
0bd00ce1db
Kotlin: Change handling of version variants in build script
2022-08-12 13:11:33 +02:00
Michael Nebel
b4f7e07cc1
C#: Update .NET Core stubs.
2022-08-12 13:10:08 +02:00
Michael Nebel
0c58764643
C#: Update FunctionPointer expected output with specific CallingConvention printing.
2022-08-12 13:01:15 +02:00
Michael Nebel
d3047f6293
C#: Update calling convetion QL doc to comply with standard.
2022-08-12 13:01:15 +02:00
Michael Nebel
9ae17f93da
C#: Stub generator support for function pointer types.
2022-08-12 13:01:15 +02:00
Michael Nebel
e2882f0706
C#: Re-generate stubs for the ASP.NET Core framework.
2022-08-12 13:01:15 +02:00
Michael Nebel
7c7c335b0e
C#: Update stub generator expected output.
2022-08-12 13:01:15 +02:00
Michael Nebel
b052fbf41c
C#: Add enum long type testcase.
2022-08-12 12:51:31 +02:00
Michael Nebel
f71d684a08
C#: Use explicit typing for enums in the stub generator.
2022-08-12 12:48:50 +02:00
Michael Nebel
9ff94120d8
C#: Update stub generator test(s) expected output.
2022-08-12 12:48:24 +02:00
Michael Nebel
284d88d906
C#: Update stub generator query to explicit include enum constants.
2022-08-12 12:48:24 +02:00
Michael Nebel
d023f840de
C#: Add Enum examples in stub generator test code.
2022-08-12 12:48:24 +02:00
Chris Smowton
50fb6621a9
Create 2022-08-12-cross-thread-flow.md
2022-08-12 09:00:16 +01:00
github-actions[bot]
21d0c78376
Post-release preparation for codeql-cli-2.10.3
2022-08-11 23:20:39 +00:00
Alex Ford
f30b735443
Merge pull request #10022 from github/release-prep/2.10.3
...
Release preparation for version 2.10.3
2022-08-11 13:52:43 +01:00
Anders Schack-Mulligen
a3fc463d0a
Java: Minor perf improvement.
2022-08-11 14:21:10 +02:00
Tamas Vajk
740265dc38
Add change note
2022-08-11 13:32:49 +02:00
github-actions[bot]
57c4f9145b
Release preparation for version 2.10.3
2022-08-11 11:12:15 +00:00
Erik Krogh Kristensen
73df8e4c7d
Merge pull request #9832 from erik-krogh/misspellings
...
Fix lots of misspellings
2022-08-11 12:43:26 +02:00
Jeroen Ketema
2a9af11727
Merge pull request #10021 from jketema/consistency
...
C++: Add internal metrics query for IR consistency
2022-08-11 12:39:22 +02:00
erik-krogh
2feb9db96c
re-enable consistency checks for swift
2022-08-11 12:33:03 +02:00
Erik Krogh Kristensen
9b1842b18e
use an exclusion filter in the ModConsistency predicates (consistency query is now empty)
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
160208188e
remove redundant cast
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
77277a9e1b
rename YAMLValue to YamlValue
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
ad09386c5e
add explicit this
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
79a8f96139
disable the ModConsistency::noResolve predicate for qltests
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
fcdba7ce57
speed up resolving fields
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
3005b4bfcc
cleanup the query pack after compilation, to avoid including that in the following analysis
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
c97001ede7
add support for module instantiations in import statements. Rework the import resolution logic to reuse the logic from ModuleExpr
2022-08-11 12:31:53 +02:00
Erik Krogh Kristensen
641c6b0300
re-generate bindings in the other grammars
2022-08-11 12:31:52 +02:00
Erik Krogh Kristensen
82beca6787
change the tree-sitter version constaint to ">= 0.20, < 0.21" throughout the grammars
2022-08-11 12:31:52 +02:00
Erik Krogh Kristensen
98f49e08b6
re-generate bindings in tree-sitter-ql
2022-08-11 12:31:52 +02:00
Erik Krogh Kristensen
774ae0e5da
pin the version of tree-sitter-ql-dbscheme / tree-sitter-ql
2022-08-11 12:31:52 +02:00
Erik Krogh Kristensen
1e3306d341
synchronize the version of tree-sitter-ql-yaml across the Cargo.toml files
2022-08-11 12:31:52 +02:00
Taus
41003231b0
QL: Actually match qlpack.yml files
2022-08-11 12:31:52 +02:00
Taus
a83bd4292a
QL: Update tree-sitter dependency
2022-08-11 12:31:52 +02:00
Taus
66a191e4b5
QL: Update extractor
2022-08-11 12:31:52 +02:00
Taus
395414c3cf
Update generator
2022-08-11 12:31:52 +02:00
Taus
495576c438
Use upstream tree-sitter-ql
...
This gets rid of all of the `dbscheme` and YAML bits. These will be
added in later commits. (Doing it all in one go made for an unreadable
diff.)
Also modifies `create-extractor-path.sh` to automatically install
`gh codeql` if there is no CodeQL CLI available for autoformatting.
2022-08-11 12:31:52 +02:00
Geoffrey White
2ee1979546
Merge pull request #10014 from geoffw0/inlinetaint
...
Swift: Add an inline expectations test for taint flow
2022-08-11 11:18:18 +01:00
Geoffrey White
1dcc44ff2f
Swift: taintedFromLine -> tainted.
2022-08-11 11:01:05 +01:00
Rasmus Wriedt Larsen
ff23f8ef86
Merge pull request #9855 from tausbn/python-fix-bad-scope_entry_transfer-join
...
Python: Fix bad join in scope entry transfer
2022-08-11 11:55:51 +02:00
Jeroen Ketema
5259025c67
Merge pull request #10020 from jketema/jketema/minor
...
C++: Improve QLDoc based on earlier review
2022-08-11 11:45:59 +02:00
Jeroen Ketema
c89592cda7
C++: Add internal metrics query for IR consistency
2022-08-11 11:39:52 +02:00
Jeroen Ketema
faaf1ec30d
C++: Improve QLDoc based on earlier review
2022-08-11 11:31:21 +02:00
Jeroen Ketema
a5c0fa24d7
Merge pull request #9971 from jketema/attribute-arg
...
C++: Handle all forms of constant attribute arguments
2022-08-11 11:30:18 +02:00
Jeroen Ketema
18094fb1d8
Merge pull request #10019 from erik-krogh/deleteDeadSwift
...
delete the dead TypeRepr files
2022-08-11 11:13:54 +02:00
Chris Smowton
3d4e9061a4
Merge pull request #10016 from aschackmull/java/kotlin-test-fix
...
Kotlin: Reflection test should not refer to DataFlowPrivate.
2022-08-11 10:08:38 +01:00
Tamas Vajk
7a406d8e41
C#: Fix unsafe deserialization with JsonConvert.DeserializeObject
...
Remove false positives when `JsonConvert.DeserializeObject` is called with not necessarily unsafe settings.
2022-08-11 11:00:46 +02:00
Tamas Vajk
6e6bd208b1
C#: Add test case for JsonConvert.DeserializeObject in unsafe deserialization tests
2022-08-11 11:00:23 +02:00
erik-krogh
c778b38a77
delete the dead TypeRepr files
2022-08-11 10:56:58 +02:00
Chris Smowton
e9df675f88
Autoformat ql
2022-08-11 09:55:46 +01:00
Tamas Vajk
548d7ac37d
C#: Regenerate Newtonsoft.Json test stub
...
The newly generated stubs contain the actual values of enum constants.
2022-08-11 10:52:48 +02:00
erik-krogh
a5239bc1e8
fix one more misspelling in swift
2022-08-11 10:27:20 +02:00
erik-krogh
eb6c2882f9
cleanup pack in QL-for-QL
2022-08-11 10:22:32 +02:00
erik-krogh
e7f009e879
support top-level for await statements
2022-08-11 09:53:32 +02:00
Anders Schack-Mulligen
74b05d2aa4
Kotlin: Reflection test should not refer to DataFlowPrivate.
2022-08-11 09:48:10 +02:00
Anders Schack-Mulligen
87461fece4
Merge pull request #10006 from aschackmull/java/sensitive-log-dedup
...
Java: Remove SensitiveLoggingQuery results that flow through a source.
2022-08-11 09:26:33 +02:00
Anders Schack-Mulligen
ced083be61
Merge pull request #10015 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-08-11 09:20:12 +02:00
Michael Nebel
b817bd43ca
Merge pull request #10005 from michaelnebel/csharp/constructorsummaries
...
C#: Constructor summaries
2022-08-11 09:16:05 +02:00
Michael Nebel
9cb4e4a61c
C#: Update release note.
2022-08-11 08:57:10 +02:00
Tom Hvitved
e106edc04e
Merge pull request #9989 from hvitved/csharp/lua-tracer-improvements2
...
C#: Handle `dotnet exec csc.dll` and the likes in the Lua tracer
2022-08-11 08:55:46 +02:00
github-actions[bot]
33ce9552cb
Add changed framework coverage reports
2022-08-11 00:17:52 +00:00
Erik Krogh Kristensen
803e079dab
fix accidental typo
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-10 23:23:32 +02:00
Erik Krogh Kristensen
a66229ee9d
update the expected output of the misspelling test
2022-08-10 23:21:41 +02:00
Erik Krogh Kristensen
887f6557ed
fix common misspellings throughout github/codeql
2022-08-10 23:21:41 +02:00
Erik Krogh Kristensen
db614bda29
generalize the ql/misspelling query to work on all kinds of comments
2022-08-10 23:21:41 +02:00
Jeroen Ketema
32a2363f85
C++: Add change note
2022-08-10 21:11:59 +02:00
Jeroen Ketema
32db845af8
C++: Add DB scheme upgrade and downgrade scripts
2022-08-10 21:11:58 +02:00
Jeroen Ketema
bdd8f2bbe9
C++: Update DB scheme stats file
2022-08-10 21:11:58 +02:00
Jeroen Ketema
8528e6b8e1
C++: Update test results for exposing attribute arguments as proper constants
2022-08-10 21:11:58 +02:00
Jeroen Ketema
b20961a065
C++: Expose constant expressions as attribute arguments
2022-08-10 21:11:58 +02:00
Jeroen Ketema
553f1c496e
C++: Update DB scheme to allow for constant expression as attribute arguments
2022-08-10 21:11:58 +02:00
Jeroen Ketema
9ae9b89529
C++: Improve accuracy of AttributeArgument.getValueText QLDoc
2022-08-10 21:11:58 +02:00
Jeroen Ketema
0e12c9d8b1
C++: Simplify this suppression for specifiers
2022-08-10 21:11:58 +02:00
Geoffrey White
d16a7754e1
Swift: Take out common code.
2022-08-10 19:04:01 +01:00
Geoffrey White
d7f50eafae
Swift: Minor fixes.
2022-08-10 19:03:52 +01:00
Geoffrey White
11f45cf20c
Swift: Add expectation annotations.
2022-08-10 18:53:45 +01:00
Geoffrey White
c2ee5fe258
Swift: Add inlineExpectations test.
2022-08-10 18:47:46 +01:00
Chris Smowton
cc8e9806c4
Merge pull request #10009 from smowton/smowton/java17-options
...
Java: Adapt tests as required by JDK17 extractor upgrade
2022-08-10 18:46:06 +01:00
Chris Smowton
bf24d7886a
Accept test changes
2022-08-10 18:10:02 +01:00
Chris Smowton
341241cf43
Use SrcFloatingPointLiteral
2022-08-10 17:28:14 +01:00
Mathias Vorreiter Pedersen
56fddd75bb
Merge pull request #10000 from geoffw0/defaulttaint
...
Swift: Taint flow improvements
2022-08-10 16:30:09 +01:00
Alex Ford
7a61f59b1e
Ruby: add change note for new rb/log-injeciton query
2022-08-10 16:17:55 +01:00
Alex Ford
44c4b9ba5c
Ruby: add rb/log-injection test cases
2022-08-10 16:17:37 +01:00
Alex Ford
00e290e1f1
Ruby: document rb/log-injection
2022-08-10 16:17:18 +01:00
Alex Ford
c31995764b
Ruby: add rb/log-inection query
2022-08-10 16:16:54 +01:00
Geoffrey White
6ffe5fcaed
Swift: Comment some other cases.
2022-08-10 15:46:32 +01:00
Geoffrey White
537caf85f2
Swift: Fix cartesian product.
2022-08-10 15:46:30 +01:00
Geoffrey White
e09e64ee85
Swift: Restrict taint flow through + to strings.
2022-08-10 15:46:28 +01:00
Geoffrey White
f3499e98a4
Swift: Move try, ! to dataflow.
2022-08-10 15:13:04 +01:00
Nora Dimitrijević
cce39fb2ce
Merge pull request #9998 from d10c/use-strcpyfunction-in-bad-strncpy-size
...
Use StrcpyFunction in `cpp/bad-strncpy-size`
This PR:
- Uses the [StrcpyFunction](https://github.com/github/codeql/blob/main/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll#L14 ) class in the [StrncpyFlippedArgs](https://github.com/github/codeql/blob/main/cpp/ql/src/Likely%20Bugs/Memory%20Management/StrncpyFlippedArgs.ql ) query instead of an ad-hoc predicate for finding strcpy-like functions.
- Tests this by adding one previously unsupported strcpy-like function (`wcsxfrm_l`) to StrncpyFlippedArgs's test.cpp.
2022-08-10 15:11:20 +02:00
Tamás Vajk
b2c22dacc2
Merge pull request #9769 from tamasvajk/fix/ctor-field-flow
...
C#: Fix dataflow for default constructors
2022-08-10 15:06:25 +02:00
Anders Schack-Mulligen
abad133ab5
Dataflow: Fix identification of source PathNodes in the presence of source-to-source flow.
2022-08-10 15:02:56 +02:00
Michael Nebel
0d83b7cbd0
C#: Add release note.
2022-08-10 14:58:22 +02:00
Anders Schack-Mulligen
cbd6d24b9c
Merge pull request #9963 from intrigus-lgtm/java/model-set-properties
...
Model `java.util.Properties.setProperty`
2022-08-10 14:51:00 +02:00
Michael Nebel
da30436c44
C#: Update flow summaries test case with new summaries.
2022-08-10 14:49:20 +02:00
Michael Nebel
c3adb990a3
C#: Update SQL Injection with testcase with found vulnerability.
2022-08-10 14:49:20 +02:00
Michael Nebel
36a713510c
C#: Add summary models for the FileStream constructor.
2022-08-10 14:49:20 +02:00
Michael Nebel
504160fee4
C#: Update expected file for Sql injection and Second Order sql injection (note that this is already a second order sql injection).
2022-08-10 14:49:20 +02:00
Michael Nebel
5c47ae3f98
C#: Add testcase for unsanitized filename used in Filestream.
2022-08-10 14:49:20 +02:00
Michael Nebel
1355931b50
C#: Update SecondOrder SQL Injection test case expected output with vulnerability from test case.
2022-08-10 14:49:19 +02:00
Michael Nebel
ced9ee5f5d
C#: Update FlowSummaries test expected output after addition of new summaries.
2022-08-10 14:49:19 +02:00
Anders Schack-Mulligen
ecc15a1f95
Java: Remove SensitiveLoggingQuery results that flow through a source.
2022-08-10 14:28:07 +02:00
Michael Nebel
736ae4f7d6
C#: Update FlowSummaries expected output.
2022-08-10 14:23:54 +02:00
Michael Nebel
5659db73d3
C#: Update alle manually written summaries for constructors to use Argument[Qualifier] instead of ReturnValue.
2022-08-10 14:17:16 +02:00
Nora Dimitrijević
60f4049388
Re-autoformat StrncpyFlippedArgs.ql
2022-08-10 14:14:42 +02:00
Chris Smowton
2abd1f77f4
Go: implement conservative cross-thread dataflow
...
Steps into captured variables are moved into jumpStep where they always should have been, and the store/load step implementation for channels is completed.
For the time being this takes a very conservative approach to identify channels that are likely connected: if there is exactly one receive site and one send site for a field, the two are presumed connected.
2022-08-10 12:44:12 +01:00
Nora Dimitrijević
05f4f98aa0
Add change note
2022-08-10 13:42:21 +02:00
Nora Dimitrijević
8e60a4a478
Update StrncpyFlippedArgs.expected
...
Add output lines for the newly implemented test case, test.cpp/test9().
2022-08-10 13:42:21 +02:00
Nora Dimitrijević
df419003ad
Use Strcpy.qll in StrncpyFlippedArgs.ql
...
As a result, the query gets access to more types of strncpy-like
functions, as demonstrated by test.cpp, which now "fails" (i.e. works) for the new test
cases instroduced
in the previous commit.
2022-08-10 13:42:21 +02:00
Nora Dimitrijević
554aea1bb8
New strcpy-variant in StrncpyFlippedArgs test
...
Added wcsxfrm_l, which is not currently caught by the query,
meaning that in this case a successful
test implies missing functionality.
2022-08-10 13:42:21 +02:00
Chris Smowton
8c32758ae5
Merge pull request #9829 from smowton/smowton/fix/kotlin-underscore-parameter-names
...
Kotlin: Don't extract a name for a '_' parameter
2022-08-10 12:28:26 +01:00
Tom Hvitved
2bb9e4859f
C#: Handle dotnet exec csc.dll and the likes in the Lua tracer
2022-08-10 12:52:18 +02:00
Rasmus Wriedt Larsen
40d25cb34c
Merge pull request #9849 from tausbn/python-fix-bad-essa-getInput-join
...
Python: Fix bad join in ESSA `getInput`
2022-08-10 11:45:23 +02:00
Chris Smowton
09e4c6b66b
Add dataflow path-graph
2022-08-10 10:37:55 +01:00
Chris Smowton
2ca0b0c6b5
Inline qhelp overview
...
A <p> at the top isn't allowed, and for some reason the inclusion is required to be a valid qhelp file.
2022-08-10 10:37:48 +01:00
Michael Nebel
f1cc7bb60c
C#: Consider FileStreams StoredFlowSources and propagate taint via StreamReader.
2022-08-10 11:08:27 +02:00
Michael Nebel
2b51e03223
C#: Add SecondOrder SQL injection example, where reading from a file.
2022-08-10 11:08:27 +02:00
Michael Nebel
1e7e49a528
C#: Add relevant stubs.
2022-08-10 11:08:27 +02:00
Michael Nebel
344770f06a
C#: Update Sqlinjection test query output with new results.
2022-08-10 11:08:27 +02:00
Michael Nebel
fd67c34ee4
C#: Add sinks and summaries for adapters with tainted commands.
2022-08-10 11:08:27 +02:00
Michael Nebel
78cfb226a3
C#: Add some examples where adapter is used in conjunction with a tainted command.
2022-08-10 11:08:27 +02:00
Michael Nebel
86000f32e7
C#: Update SqlInjection query tests with new results.
2022-08-10 11:08:27 +02:00
Michael Nebel
aa13ab31e1
C#: Add SQLiteDataAdapter sinks.
2022-08-10 11:08:27 +02:00
Michael Nebel
1fb209990e
C#: Add SQLiteDataAdapter examples.
2022-08-10 11:08:27 +02:00
Michael Nebel
ce9baaa1f3
C#: Update SQLInjection query test output.
2022-08-10 11:08:27 +02:00
Michael Nebel
6f9f771f58
C#: Add SQLiteCommand sinks.
2022-08-10 11:08:27 +02:00
Michael Nebel
d42752714c
C#: Add SQLCommand examples.
2022-08-10 11:08:21 +02:00
Michael Nebel
7fc95fb49b
Merge pull request #9988 from michaelnebel/csharp/updatestubs
...
C#: Update .NET Core and ASP.NET Core Stubs.
2022-08-10 11:02:35 +02:00
Rasmus Wriedt Larsen
b541103b7f
Merge pull request #9846 from tausbn/python-fix-bad-syntactic_call_count-join
...
Python: Fix bad join in `syntactic_call_count`
2022-08-10 10:09:51 +02:00
Michael Nebel
0aa64b3a8f
Merge pull request #10001 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-08-10 10:09:19 +02:00
Tom Hvitved
19043bdf38
Merge pull request #9976 from hvitved/ruby/hash-literal-summary-simplification
...
Ruby: Simplify flow summaries for hash literals
2022-08-10 08:57:33 +02:00
Erik Krogh Kristensen
d008975ff4
Merge pull request #9825 from erik-krogh/repeatedWord
...
QL: add ql/repeated-word query
2022-08-10 07:25:26 +02:00
github-actions[bot]
cb19ae2638
Add changed framework coverage reports
2022-08-10 00:16:31 +00:00
Harry Maclean
30ff18aec8
Merge pull request #9919 from hmac/hmac/ar-associations
...
Ruby: ActiveRecord associations
2022-08-10 11:13:39 +12:00
Esben Sparre Andreasen
0c6f28014c
Merge pull request #9821 from erik-krogh/jsQlFix
...
JS: fix some QL-for-QL warnings in JS
2022-08-09 22:06:29 +02:00
Erik Krogh Kristensen
559ec7ba56
Merge branch 'main' into repeatedWord
2022-08-09 21:22:47 +02:00
smehta23
cf68a11267
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-09 11:59:28 -07:00
smehta23
4d80fd0b00
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-09 11:59:14 -07:00
smehta23
7da07400ea
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-09 11:59:03 -07:00
smehta23
c2b670eff8
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-09 11:58:55 -07:00
Geoffrey White
6f696ccc3c
Swift: Effect of merging with main to get the AnyTryExpr fix.
2022-08-09 19:02:59 +01:00
Geoffrey White
efcc696e6e
Merge branch 'main' into defaulttaint
2022-08-09 18:59:36 +01:00
Geoffrey White
f2fead7ec7
Merge pull request #9995 from MathiasVP/swift-cfg-for-anytry
...
Swift: CFG for `any!`
2022-08-09 18:00:28 +01:00
Geoffrey White
36f410b9f7
Swift: Move taint logic from isAdditionalTaintStep to defaultAdditionalTaintStep.
2022-08-09 17:42:28 +01:00
Geoffrey White
242dc80907
Swift: Add taint test of try.
2022-08-09 17:42:25 +01:00
Geoffrey White
3bda9af97a
Swift: Add taint test of Data.
2022-08-09 17:42:24 +01:00
Geoffrey White
42c3e29a29
Swift: Add taint test of URL.
2022-08-09 17:42:23 +01:00
Geoffrey White
068ec8ea20
Swift: More tests of taint flow through Strings.
2022-08-09 16:43:07 +01:00
Geoffrey White
0141609703
Swift: Rename test.
2022-08-09 16:41:26 +01:00
Tony Torralba
7f5fe85e2e
Merge pull request #9975 from atorralba/atorralba/asynctask-improvs
...
Java: Improve AsyncTask data flow support
2022-08-09 17:10:09 +02:00
Erik Krogh Kristensen
da4da229b1
move tests to new test location
2022-08-09 16:25:00 +02:00
Erik Krogh Kristensen
49276b1f38
Merge branch 'main' into refacReDoS
2022-08-09 16:18:46 +02:00
Mathias Vorreiter Pedersen
5ee11c3d7b
Swift: Accept test changes.
2022-08-09 15:12:42 +01:00
Mathias Vorreiter Pedersen
06fecf3869
Swift: Include 'any!' in the the CFG tree for 'any' expressions.
2022-08-09 15:12:31 +01:00
Michael Nebel
eb19090746
C#: Remove unused hand written stubs.
2022-08-09 15:23:43 +02:00
Michael Nebel
cdd1172cee
C#: Use generated stubs in the RequireSSLAspNetCore like tests and update test results with new line numbers.
2022-08-09 15:18:34 +02:00
Michael Nebel
a23be5ca3b
C#: Manually re-order the values in the CookieSecurePolicy enum.
2022-08-09 15:17:14 +02:00
Michael Nebel
98f8bed037
C#: Update CookieWithoutHttpOnlyAspNetCore tests to use generated stubs and update line numbers in test output.
2022-08-09 14:54:19 +02:00
Michael Nebel
77a321ee9a
C#: Manually re-order the values in the HttpOnlyPolicy enum.
2022-08-09 14:52:54 +02:00
Michael Nebel
d6880f059d
C#: Use generated stubs for CookieHttpOnlyFalseAspNetCore testcases and update test output with new line numbers.
2022-08-09 14:32:19 +02:00
Tom Hvitved
28c8d9b885
Ruby: Add two more hash flow tests
2022-08-09 14:17:07 +02:00
Michael Nebel
3a908ac4b8
C#: Cleanup stub project references.
2022-08-09 14:15:00 +02:00
Michael Nebel
1a2fc2b565
C#: Remove unused stubs.
2022-08-09 14:14:00 +02:00
Erik Krogh Kristensen
0abbd50ca1
apply changes based on docs review
2022-08-09 13:51:40 +02:00
Michael Nebel
3ba893dfa8
C#: Remove System.Data.SqlClient 4.8.2 stub.
2022-08-09 13:15:44 +02:00
Michael Nebel
7c68947035
C#: Update flow summaries expected out as we now include ASP.NET Core as stubs for these tests.
2022-08-09 13:08:34 +02:00
Michael Nebel
6d96da1838
C#: Use ASP.NET Core stub instead of Microsoft.Extensions.Primitives and manual written ASP.NET Core stubs.
2022-08-09 13:08:34 +02:00
Michael Nebel
63b06d50b0
C#: Delete ServiceStack 5.11.0 and related projects.
2022-08-09 13:08:34 +02:00
Michael Nebel
094dcf989e
C#: Update FlowSummaries test expected file (this is required since the .NET Runtime stubs have been updated).
2022-08-09 13:08:34 +02:00
Michael Nebel
d76b069bc5
C#: Manual changes to stubs to ensure compilation.
2022-08-09 13:08:34 +02:00
Michael Nebel
73b6697ea6
C#: Add ServiceStack 6.2.0 and friends.
2022-08-09 13:08:17 +02:00
Chris Smowton
1c6642f3fb
Format QL
2022-08-09 11:50:54 +01:00
Chris Smowton
80f5b977d6
Use sealed classes released version
2022-08-09 11:50:54 +01:00
yo-h
c46b54b9c2
Java 17: exclude non-source locations in some tests
2022-08-09 11:50:54 +01:00
yo-h
0bf7e075e5
Java 17: adjust expected test output
2022-08-09 11:50:54 +01:00
yo-h
27b699df33
Java: adjust test options for JDK 17 upgrade
2022-08-09 11:50:54 +01:00
Erik Krogh Kristensen
add9e9dac4
Merge pull request #9548 from erik-krogh/exports
...
JS: support the "exports" property in a package.json
2022-08-09 12:16:12 +02:00
Tamás Vajk
82a56608ef
Merge pull request #9992 from tamasvajk/fix/fetch-codeql-path
...
Fix path of `fetch-codeql`
2022-08-09 10:57:11 +02:00
Geoffrey White
db8a3107b3
Merge pull request #9089 from ihsinme/ihsinme-patch-87
...
CPP: Add query for CWE-125 Out-of-bounds Read with different interpretation of the string when use mbtowc
2022-08-09 09:31:32 +01:00
Tom Hvitved
975edac34e
Merge pull request #9969 from hvitved/ruby/kwargs-missing-flow
...
Ruby: Support more flow through keyword arguments
2022-08-09 09:59:57 +02:00
Michael Nebel
b90a404658
Merge pull request #9636 from michaelnebel/csharp/sinkmodelcsv
...
C#: Convert Sinks to CSV format for SymmetricAlgorithm.
2022-08-09 09:05:12 +02:00
Tamas Vajk
2cab1ed076
Fix path of fetch-codeql
2022-08-09 07:59:25 +02:00
Tom Hvitved
dd465e739b
Code review suggestion
2022-08-09 07:46:27 +02:00
Tamas Vajk
36c913061c
C#: Fix dataflow for default constructors
2022-08-09 07:46:27 +02:00
Tamas Vajk
1a92fc90e0
C#: Add test to demonstrate missing dataflow for default constructors
2022-08-09 07:46:27 +02:00
Harry Maclean
22d7b046ab
Ruby: Fix <<
2022-08-09 15:08:17 +12:00
Harry Maclean
e3115b5ed7
Ruby: Add test for other=
2022-08-09 15:08:17 +12:00
Harry Maclean
831f722402
Ruby: Make room for new test
2022-08-09 15:08:17 +12:00
Harry Maclean
58b628b6d1
Ruby: Add change note
2022-08-09 15:08:17 +12:00
Harry Maclean
dc853d9728
Ruby: Model ActiveRecord associations
2022-08-09 15:08:17 +12:00
Shyam Mehta
af92fc389b
Update PartialPathTraversalFromRemote.qhelp
2022-08-08 17:37:57 -04:00
Shyam Mehta
50b4df52f0
Fixed precision labels
2022-08-08 17:36:04 -04:00
Shyam Mehta
9d3e8ec475
Update PartialPathTraversalFromRemote.qhelp
2022-08-08 17:35:36 -04:00
smehta23
4f1bc3022c
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalFromRemote.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-08-08 17:09:43 -04:00
ihsinme
4fdf4b23bd
Update DangerousWorksWithMultibyteOrWideCharacters.ql
2022-08-08 18:46:39 +03:00
ihsinme
212b1031b2
Update DangerousWorksWithMultibyteOrWideCharacters.qhelp
2022-08-08 18:42:54 +03:00
ihsinme
7cbf79b144
Rename DangerousUseMbtowc.ql to DangerousWorksWithMultibyteOrWideCharacters.ql
2022-08-08 18:39:41 +03:00
ihsinme
9b5154f878
Update and rename DangerousUseMbtowc.qlref to DangerousWorksWithMultibyteOrWideCharacters.qlref
2022-08-08 18:39:10 +03:00
ihsinme
bce395f201
Rename DangerousUseMbtowc.expected to DangerousWorksWithMultibyteOrWideCharacters.expected
2022-08-08 18:38:24 +03:00
ihsinme
ef04b8f5b3
Rename DangerousUseMbtowc.qhelp to DangerousWorksWithMultibyteOrWideCharacters.qhelp
2022-08-08 18:37:15 +03:00
ihsinme
5ee499389e
Rename DangerousUseMbtowc.cpp to DangerousWorksWithMultibyteOrWideCharacters.cpp
2022-08-08 18:36:53 +03:00
ihsinme
02bea35da2
Update DangerousUseMbtowc.qhelp
2022-08-08 18:35:25 +03:00
Asger F
fdcb1fa115
Merge pull request #9928 from asgerf/js/source-node-type
...
JS: Simplify type hierarchy for SourceNode
2022-08-08 16:53:20 +02:00
Esben Sparre Andreasen
ab3d365ddb
Merge pull request #9535 from github/js-array-filter-taint-step
...
Tests for rebased 7010
2022-08-08 14:31:22 +02:00
Tom Hvitved
9268437a58
Ruby: Generalize SynthHashSplatParameterNode to also work for synthesized methods
2022-08-08 14:05:06 +02:00
Michael Nebel
6febbc5966
C#: Update .NET Core and ASP.NET Core.
2022-08-08 13:29:20 +02:00
Ian Lynagh
b5d6258e54
Merge pull request #9809 from igfoo/igfoo/fakeLabel
...
Kotlin: Remove the last uses of fakeLabel
2022-08-08 11:54:53 +01:00
yoff
20febb6edd
Merge pull request #9567 from RasmusWL/typetracker-decorators
...
Python: allow class decorators in `.getASubclass()`
2022-08-08 12:42:27 +02:00
Esben Sparre Andreasen
da44340334
formatting
2022-08-08 12:22:41 +02:00
Edoardo Pirovano
d3ec8a8ec3
Merge pull request #9949 from github/edoardo/trap-cache-config
...
JS: Change how TRAP cache is configured
2022-08-08 11:19:31 +01:00
Rasmus Wriedt Larsen
f89b32183f
Merge branch 'main' into typetracker-decorators
2022-08-08 11:52:09 +02:00
Edoardo Pirovano
5c3d39579a
JS: Change how TRAP cache is configured
2022-08-08 10:25:50 +01:00
Esben Sparre Andreasen
a3cf81d419
js: add filter taint test (post rebase conflicts)
2022-08-08 11:00:11 +02:00
Evgenii Protsenko
50264547bf
make array taint-step better
2022-08-08 11:00:11 +02:00
Anders Schack-Mulligen
aa3655678e
Merge pull request #9823 from aschackmull/dataflow/stage-module
...
Dataflow: Replace stage duplication with parameterised modules.
2022-08-08 10:56:32 +02:00
Tom Hvitved
d16a154f9e
Address review comment
2022-08-08 10:45:55 +02:00
Michael Nebel
cebd49af9d
Merge pull request #9968 from michaelnebel/csharp/aspreviewcomment
...
C#: Simplification of AspNetCoreRemoteFlowSourceMember.
2022-08-08 09:44:02 +02:00
Tony Torralba
98b930cd67
Accept test changes in experimental query after AsyncTask improvements
2022-08-08 09:23:12 +02:00
Tom Hvitved
27e89cbbb1
Merge pull request #9980 from hvitved/csharp/lua-tracer-improvements
...
C#: Also disable shared compilation in the tracer for `dotnet msbuild`
2022-08-08 08:57:52 +02:00
Joe Farebrother
d2007bcd6e
Merge pull request #9663 from joefarebrother/android-certificate-validation
...
Java: Add query for improper webview certificate validation
2022-08-05 20:49:15 +01:00
Mathias Vorreiter Pedersen
f2767eb03a
Merge pull request #9972 from MathiasVP/swift-taint-through-interpolated-strings
...
Swift: Taint through interpolated strings
2022-08-05 15:55:35 +01:00
Robert Marsh
10710e27df
Merge pull request #9978 from MathiasVP/swift-fix-mad
...
Swift: Fix flow summaries for methods
2022-08-05 09:53:16 -04:00
Tony Torralba
03b854a1ed
Add test for initializer method
2022-08-05 15:29:17 +02:00
Mathias Vorreiter Pedersen
6cfeb24d94
Swift: More comments.
2022-08-05 13:30:45 +01:00
Tom Hvitved
400071091c
C#: Also disable shared compilation in the tracer for dotnet msbuild
2022-08-05 14:17:16 +02:00
AlexDenisov
d3e5449e3b
Merge pull request #9979 from MathiasVP/add-inline-expectations-framework-to-Swift
...
Swift: Add InlineExpectationsTest framework
2022-08-05 14:10:41 +02:00
Joe Farebrother
dd83c17144
Use more precise control flow logic
2022-08-05 12:56:21 +01:00
Joe Farebrother
e9f9e681ef
Change man-in-the-middle back to machine-in-the-middle
...
(gender-neutral language)
This reverts commit d5ab330450d3f5c1d36d0d9b6a8f1dc32bc908e3.
2022-08-05 12:56:21 +01:00
Joe Farebrother
79b1f24133
Change machine-in-the-middle to man-in-the-middle
2022-08-05 12:56:20 +01:00
Joe Farebrother
04df556861
Add suggested reference
2022-08-05 12:56:20 +01:00
Joe Farebrother
abf894a64c
Fix typos
2022-08-05 12:56:20 +01:00
Joe Farebrother
03c2a0e818
Add missing qldoc
2022-08-05 12:56:20 +01:00
Joe Farebrother
0d09484efc
Add change note
2022-08-05 12:56:19 +01:00
Joe Farebrother
f8ccbcba70
Add qhelp
2022-08-05 12:56:19 +01:00
Joe Farebrother
a2245bb858
Fix test
2022-08-05 12:56:19 +01:00
Joe Farebrother
498ad230c2
Update stubs
2022-08-05 12:56:19 +01:00
Joe Farebrother
c4de158e0d
Add tests
2022-08-05 12:56:18 +01:00
Joe Farebrother
16e16f08dc
Add webview cert validation query
2022-08-05 12:56:18 +01:00
Mathias Vorreiter Pedersen
b20b0a091d
Update identical-files.
2022-08-05 11:49:36 +01:00
Mathias Vorreiter Pedersen
46ec7a9b82
Swift: Add the InlineExpectationsTest framework.
2022-08-05 11:49:15 +01:00
Mathias Vorreiter Pedersen
69564d2192
Swift: Add a couple of standard Comment subclasses.
2022-08-05 11:48:29 +01:00
Tony Torralba
b75b073dae
Remove unused class member
2022-08-05 12:21:22 +02:00
Mathias Vorreiter Pedersen
946b8c68a6
Swift: Accept test changes.
2022-08-05 11:19:00 +01:00
Mathias Vorreiter Pedersen
a302570349
Merge branch 'main' into swift-taint-through-interpolated-strings
2022-08-05 11:17:54 +01:00
AlexDenisov
a779f0e376
Merge pull request #9977 from github/alexdenisov/extract-swift-comments
...
Swift: extract comments
2022-08-05 12:15:56 +02:00
Mathias Vorreiter Pedersen
24c9ab8015
Swift: Fix MaD for methods
2022-08-05 10:52:28 +01:00
Alex Denisov
5e69adb0a9
Swift: extract comments
2022-08-05 11:50:48 +02:00
Mathias Vorreiter Pedersen
1c8090fa04
Merge pull request #9964 from geoffw0/cwe95
...
Swift: Query for CWE-79 / CWE-95
2022-08-05 10:38:33 +01:00
Geoffrey White
1ce06accbd
Swift: Fix capitalization issue?
2022-08-05 10:20:51 +01:00
Mathias Vorreiter Pedersen
ac26371de0
Merge pull request #9909 from geoffw0/stringlengthconflation6
...
Swift: Understand String.utf8.count etc in the string length conflation CVE query
2022-08-05 10:13:25 +01:00
Tony Torralba
9ee90f8022
Remove unnecessary import from test
2022-08-05 11:11:13 +02:00
Tony Torralba
792d34c3a1
Add change note
2022-08-05 11:10:09 +02:00
Anders Schack-Mulligen
3d47875b60
Dataflow: Generate shorter RA/DIL names.
2022-08-05 11:00:56 +02:00
Anders Schack-Mulligen
d3dcc3ce3a
Dataflow: Sync.
2022-08-05 11:00:56 +02:00
Anders Schack-Mulligen
09d0f8e0ce
Dataflow: Replace stage duplication with parameterised modules.
2022-08-05 11:00:56 +02:00
Tom Hvitved
56ee07e24c
Merge pull request #9936 from aibaars/gh-codeql-nightly
...
Use 'gh codeql' with the nightly release for CI jobs
2022-08-05 10:34:39 +02:00
Tony Torralba
5ebce6ee4f
Improve AsyncTask data flow support
...
Model the life-cycle described here: https://developer.android.com/reference/android/os/AsyncTask\#the-4-steps
2022-08-05 10:29:49 +02:00
Tom Hvitved
e0dadb4df6
Ruby: Simplify flow summaries for hash literals
2022-08-05 10:20:07 +02:00
Jeroen Ketema
ba2cee07a9
Merge pull request #8596 from rdmarsh2/rdmarsh2/dataflow-global-vars
...
C++: IR data flow through global variables
2022-08-05 10:07:00 +02:00
Anders Schack-Mulligen
1fde06c0a8
Merge pull request #9970 from aschackmull/java/confusingoverload-perf
...
Java: Improve performance of ConfusingOverloading.
2022-08-05 09:38:22 +02:00
Harry Maclean
74d529d3e3
Merge pull request #9918 from hmac/hmac/mime-type-match
...
Ruby: Model Mime::Type
2022-08-05 11:51:45 +12:00
Harry Maclean
157bbccf62
Merge pull request #9851 from hmac/hmac/active-record-improvements
...
Ruby: Recognise more AR write accesses
2022-08-05 11:49:50 +12:00
Mathias Vorreiter Pedersen
2f13c65ad7
Update swift/ql/lib/codeql/swift/controlflow/internal/ControlFlowGraphImpl.qll
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-08-04 22:45:45 +01:00
Mathias Vorreiter Pedersen
05e6dd85d4
Swift: Add taint tests for flow through interpolated strings.
2022-08-04 21:57:05 +01:00
Mathias Vorreiter Pedersen
9c48ce1bf2
Swift: Flow (1) through the internal function calls generated by the compiler during string interpolation, and (2) out of the internal 'TapExpr' and into the interpolated string result.
2022-08-04 21:57:05 +01:00
Mathias Vorreiter Pedersen
52b78b6e68
Swift: Don't assume we know the call target statically in 'TInOutUpdateNode'.
2022-08-04 21:57:04 +01:00
Mathias Vorreiter Pedersen
ff6b8c5c9c
Swift: Replace 'CallExpr' with 'ApplyExpr'. This is needed because not all the calls inside the interpolated string computations are 'CallExpr's.
2022-08-04 21:57:04 +01:00
Mathias Vorreiter Pedersen
3028b80e46
Swift: Control-flow through interpolated strings.
2022-08-04 21:57:04 +01:00
Tom Hvitved
6fa1e06afb
Merge pull request #9966 from hvitved/csharp/no-clr-tracer
...
C#: Disable CLR tracer
2022-08-04 20:50:19 +02:00
intrigus
b7d94906bf
Add change note
2022-08-04 16:21:55 +02:00
intrigus
88ded4679a
Accept test changes
2022-08-04 16:21:53 +02:00
intrigus
c867a1a146
Test setProperty/put with taint stored earlier
2022-08-04 16:21:51 +02:00
intrigus
0b7f0fbe54
Accept test changes
2022-08-04 16:21:50 +02:00
intrigus
55618adf6a
Model java.util.Properties.setProperty
2022-08-04 16:21:48 +02:00
Tom Hvitved
01c0d4b59f
Ruby: Support more flow through keyword arguments
2022-08-04 16:20:08 +02:00
Anders Schack-Mulligen
43d4324f65
Java: Improve performance of ConfusingOverloading.
2022-08-04 16:05:30 +02:00
Tom Hvitved
38ede25385
Ruby: Add test that illustrates missing flow for keyword arguments
2022-08-04 14:39:22 +02:00
Michael Nebel
64e8660904
C#: Simplification of AspNetCoreRemoteFlowSourceMember.
2022-08-04 14:18:25 +02:00
Tom Hvitved
bc6a74b4dd
C#: Disable CLR tracer
...
Also remove old tracer configs, as we now use the Lua tracer.
2022-08-04 13:11:07 +02:00
mc
935def739c
Merge pull request #9955 from securingdev/patch-1
...
Update Other section with example exit code details
2022-08-04 10:26:45 +01:00
mc
df1633a838
Merge branch 'main' into patch-1
2022-08-04 10:13:23 +01:00
Anders Schack-Mulligen
a5a58f46eb
Merge pull request #9945 from aschackmull/java/wrappedinvocation-joinorder
...
Java: Improve join-order.
2022-08-04 11:12:23 +02:00
mc
360cff9c24
Merge branch 'main' into patch-1
2022-08-04 10:08:55 +01:00
Anders Schack-Mulligen
c2b99747d4
Merge pull request #9951 from aschackmull/java/notintersect-perf
...
Java: Improve join-order for `not haveIntersection`.
2022-08-04 11:08:02 +02:00
mc
8905df9abb
Merge branch 'main' into patch-1
2022-08-04 10:06:01 +01:00
mc
e4c9f8a9a2
Update docs/codeql/codeql-cli/exit-codes.rst
2022-08-04 10:05:52 +01:00
Chris Smowton
96091e4fa0
Merge pull request #9947 from github/smowton/fix/golang-path-injection-numeric-sanitizer
...
Go: note that numeric-typed nodes can't cause path traversal
2022-08-04 09:00:34 +01:00
Chris Smowton
af274354a0
Merge pull request #9956 from github/smowton/feature/tainted-path-query-mad
...
Make java/path-injection recognise create-file MaD sinks
2022-08-04 08:59:59 +01:00
Harry Maclean
ee9e6b1f2e
Ruby: Add change note
2022-08-04 17:27:34 +12:00
Harry Maclean
452811dbf2
Ruby: move change note
2022-08-04 17:25:55 +12:00
Harry Maclean
83393dc195
Ruby: Recognise more AR write accesses
...
This change means we recognise calls like
```rb
User.create(params)
User.update(id, params)
```
as instances of `PersistentWriteAccess`.
2022-08-04 17:22:46 +12:00
Harry Maclean
21b4918904
Ruby: Add getPositionalArgument
...
This gets positional arguments from a call. These are arguments which
are not keyword arguments.
2022-08-04 17:22:46 +12:00
Harry Maclean
d4f7f2b75e
Ruby: Add test for AR PersistentWriteAccesses
2022-08-04 17:22:46 +12:00
Harry Maclean
7ed81db32d
Ruby: Move ActiveRecord tests to new directory
2022-08-04 17:22:46 +12:00
Harry Maclean
def1b3c3b3
Ruby: QLDoc fix
2022-08-04 17:21:29 +12:00
Harry Maclean
fdbe16945f
Ruby: Add change note
2022-08-04 17:19:05 +12:00
Shyam Mehta
76cecc170e
Fix documentation
2022-08-03 14:30:17 -04:00
Geoffrey White
997068a9cb
Swift: Fix a suggestion merge conflict.
2022-08-03 18:16:31 +01:00
Geoffrey White
873c62ef78
Swift: Apply another code review suggestion.
2022-08-03 18:16:01 +01:00
Geoffrey White
e4dab17318
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-08-03 18:14:14 +01:00
Geoffrey White
9d49986345
Swift: Make QL-for-QL happy.
2022-08-03 17:18:57 +01:00
Mathias Vorreiter Pedersen
9355f9132e
Merge pull request #9961 from MathiasVP/swift-cache-lastRefRedef
...
Swift: Cache `lastRefRedef`
2022-08-03 15:43:35 +01:00
Alex Ford
33fbec1174
Merge pull request #9917 from github/post-release-prep/codeql-cli-2.10.2
...
Post-release preparation for codeql-cli-2.10.2
2022-08-03 15:17:00 +01:00
Mathias Vorreiter Pedersen
97bd007592
Merge pull request #9962 from intrigus-lgtm/patch-7
...
C: Add additional reference to CERT C coding standard
2022-08-03 15:00:33 +01:00
Geoffrey White
39f1352847
Swift: Complete the rename.
2022-08-03 14:45:20 +01:00
Geoffrey White
81bd61288c
Swift: I think CWE-079 is the more accurate CWE for this query.
2022-08-03 14:45:19 +01:00
Geoffrey White
c635895644
Swift: Documentation.
2022-08-03 14:45:18 +01:00
Alex Ford
440547c958
Merge branch 'main' into post-release-prep/codeql-cli-2.10.2
2022-08-03 13:44:37 +01:00
Arthur Baars
912dce3ea7
Merge branch 'main' into gh-codeql-nightly
2022-08-03 14:43:07 +02:00
Arthur Baars
e23a45d02c
Merge pull request #9959 from aibaars/order-order
...
Ruby: PrintAST: more stable order for synthesized nodes
2022-08-03 14:42:42 +02:00
intrigus-lgtm
c59e6586f7
Add additional reference to CERT C coding standard
2022-08-03 14:19:53 +02:00
Mathias Vorreiter Pedersen
be7ba925f9
Swift: Cache 'lastRefRedef'.
2022-08-03 11:14:55 +01:00
Arthur Baars
35f7fdf24b
Update ruby/ql/lib/codeql/ruby/printAst.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2022-08-03 12:06:47 +02:00
Chris Smowton
977823bd76
Create 2022-08-03-tainted-path-mad.md
2022-08-03 10:54:35 +01:00
Chris Smowton
84a4b6a866
Make reporting locations consistent with PathCreation; add test
2022-08-03 10:42:09 +01:00
Geoffrey White
8d9653a999
Swift: Generated security-severity tag.
2022-08-03 09:54:54 +01:00
Geoffrey White
ea17b852b4
Swift: Explain ExternalRemoteFlowSource.
2022-08-03 09:42:51 +01:00
Geoffrey White
651b73e21e
Swift: Check for tainted baseURL.
2022-08-03 09:42:48 +01:00
Rasmus Wriedt Larsen
8fb85a98d8
Merge branch 'main' into post-release-prep/codeql-cli-2.10.2
2022-08-03 10:42:02 +02:00
Mathias Vorreiter Pedersen
c582d17350
Merge pull request #9952 from MathiasVP/speedup-return-stack-allocated-memory
...
C++: Speedup `cpp/return-stack-allocated-memory`
2022-08-03 09:41:38 +01:00
Geoffrey White
53ea65b045
Swift: Implement query.
2022-08-03 09:41:28 +01:00
Chris Smowton
e04c77ce15
Rename sanitizer
2022-08-03 09:37:20 +01:00
Geoffrey White
2d76d6d51a
Swift: Tests for CWE-95.
2022-08-03 09:36:22 +01:00
Chris Smowton
03fa5d8ed0
Merge pull request #9960 from RasmusWL/fix-qltest
...
Python: Accept `.expected` for TarSlip
2022-08-03 09:28:47 +01:00
Chris Smowton
83498f58db
Add missing import
2022-08-03 08:53:43 +01:00
Rasmus Wriedt Larsen
3d0c23e441
Python: Accept .expected for TarSlip
...
Changed after merging https://github.com/github/codeql/pull/9579 ,
which improved our handling of `not` for guards.
2022-08-03 09:52:11 +02:00
Arthur Baars
d8592a2b05
Ruby: PrintAST: more stable order for synthesized nodes
2022-08-03 09:02:38 +02:00
Anders Schack-Mulligen
d9ae4605c1
Merge pull request #9948 from aschackmull/java/samenameassuper-perf
...
Java: Fix join-order in SameNameAsSuper.
2022-08-03 08:04:30 +02:00
Chris Smowton
81f3bcd802
Don't require a PathCreation for every tainted-path sink
2022-08-02 21:30:06 +01:00
Chris Smowton
c95f17fdf2
Make java/path-injection recognise create-file MaD sinks
2022-08-02 21:28:00 +01:00
Alex Ford
8e3548efb3
Merge branch 'main' into post-release-prep/codeql-cli-2.10.2
2022-08-02 20:29:26 +01:00
Arthur Baars
759fd6cc0b
Use 'gh codeql' with the nightly release for CI jobs
2022-08-02 17:01:20 +02:00
Arthur Baars
0be625f396
Merge pull request #9954 from aibaars/fix-triggers
...
CI: fix path triggers
2022-08-02 17:00:23 +02:00
Jeroen Ketema
a63df8fee9
Merge pull request #9930 from jketema/templ-var
...
C++: Update test for indexing of static template variable template arguments
2022-08-02 16:59:56 +02:00
Keith Hoodlet
b21fa0e2b0
Update Other section with example exit code
...
Add troubleshooting steps to remediate issues with the kernel killing a process.
2022-08-02 10:49:45 -04:00
Arthur Baars
64704057cb
CI: fix path triggers
2022-08-02 16:33:21 +02:00
Arthur Baars
55e15540f6
Merge pull request #9943 from aibaars/gh-codeql-follow-up
...
CI: remove unneeded PATH definitions
2022-08-02 16:22:18 +02:00
Mathias Vorreiter Pedersen
f385041ab3
C++: Add change note.
2022-08-02 14:07:22 +01:00
Mathias Vorreiter Pedersen
5181cc1295
C++: Add a 'allowInterproceduralFlow' predicate to the 'MustFlow' library to and use it instead of checking the enclosing callables after computing the dataflow graph.
2022-08-02 13:43:01 +01:00
Anders Schack-Mulligen
aabdf84300
Java: Improve join-order for not haveIntersection.
2022-08-02 14:29:03 +02:00
Anders Schack-Mulligen
80bba605e3
Java: Fix join-order in SameNameAsSuper.
2022-08-02 12:49:21 +02:00
Chris Smowton
e04a9b5805
Add change note
2022-08-02 11:37:27 +01:00
Chris Smowton
13b2b7674d
Go: note that numeric-typed nodes can't cause path traversal
2022-08-02 11:28:28 +01:00
Geoffrey White
bada5bf7c1
Swift: Placeholder query + docs for CWE-95.
2022-08-02 10:47:06 +01:00
Jeroen Ketema
34de4000ac
Merge pull request #9941 from MathiasVP/swift-taint-tracking
...
Swift: Add 'TaintTracking.qll'
2022-08-02 10:15:21 +02:00
Anders Schack-Mulligen
cd356a5ac1
Java: Improve join-order.
2022-08-02 08:49:58 +02:00
Robert Marsh
3007c96c72
C++: fix a nit
2022-08-01 15:34:03 -04:00
Robert Marsh
f0697ff28b
C++: fix QL4QL warnings
2022-08-01 15:23:59 -04:00
Robert Marsh
6dbaae6bfc
Merge branch 'main' into rdmarsh2/dataflow-global-vars
2022-08-01 14:56:24 -04:00
Robert Marsh
4f8373f577
Merge branch 'main' into rdmarsh2/dataflow-global-vars
2022-08-01 14:55:45 -04:00
Jeroen Ketema
b906c1a6b7
Merge pull request #9942 from MathiasVP/remove-microsoft-tags
...
C++: Remove internal `microsoft` tags from queries
2022-08-01 19:25:35 +02:00
Arthur Baars
c63afbf7be
CI: remove left-over 'env' commands
2022-08-01 18:49:37 +02:00
Arthur Baars
a63c168822
Merge pull request #9938 from aibaars/gh-codeql-ci
...
CI: make all jobs that fetch a CodeQL CLI use the fetch-codeql action
2022-08-01 18:36:50 +02:00
Mathias Vorreiter Pedersen
e3cb7cf9fe
C++: Remove internal 'microsoft' tags from queries.
2022-08-01 17:30:23 +01:00
Arthur Baars
7dc3d7d47e
CI: remove unneeded PATH definitions
2022-08-01 18:17:04 +02:00
Mathias Vorreiter Pedersen
e29676af72
Swift: Add 'TaintTracking.qll'.
2022-08-01 16:48:02 +01:00
Michael Nebel
02165e8ee1
Merge pull request #9327 from michaelnebel/csharp/dotnetruntimerefresh
...
C#: Re-create summary models and include source and sink models as well.
2022-08-01 16:15:54 +02:00
Arthur Baars
4d35d8da48
CI: fix Ruby build job
2022-08-01 16:15:04 +02:00
Arthur Baars
29381dc264
Use fetch-codeql in more places
2022-08-01 15:43:22 +02:00
Arthur Baars
2bbd2f36c9
Fix .github/workflows/query-list.yml
2022-08-01 12:56:07 +02:00
Arthur Baars
3b8eeb09bf
Add fetch-codeql path to Actions triggers
2022-08-01 12:56:06 +02:00
Arthur Baars
bc05cdaa4d
Implement fetch-codeql using 'gh codeql'
2022-08-01 12:55:35 +02:00
ihsinme
96e220588e
Update DangerousUseMbtowc.ql
2022-07-31 13:44:50 +03:00
Jeroen Ketema
c02e7a4896
C++: Update test for indexing of static template variable template arguments
2022-07-31 09:58:29 +02:00
Asger F
98a9cb0b55
JS: Simplify type hierarchy for SourceNode
...
The charpred caused spurious type to appear
2022-07-29 19:44:10 +02:00
Harry Maclean
2034498690
Ruby: Fix QLDoc warnings
2022-07-29 12:20:32 +12:00
Harry Maclean
f42d33312f
Ruby: Model Mime::Type
...
Add type summaries to recognise instances of Mime::Type, and recognise
arguments to Mime::Type.match? and Mime::Type.=~ as regular expression
interpretations.
2022-07-29 11:41:48 +12:00
Harry Maclean
b7be25e18f
Ruby: Make isInterpretedAsRegExp extensible
...
This allows frameworks to add new instances where a node is interpreted
as a regular expression. We introduce a class
RegExpInterpretation::Range that represents these nodes. In the future
we may want to make this a full Concept, but it's not necessary at the
moment.
2022-07-29 11:39:41 +12:00
Harry Maclean
c29eb814b2
Ruby: Reorganise ActionDispatch framework
...
Put routing modelling inside a Routing module.
2022-07-29 10:44:36 +12:00
github-actions[bot]
e8747d3176
Post-release preparation for codeql-cli-2.10.2
2022-07-28 20:00:09 +00:00
Alex Ford
2a8567960e
Merge pull request #9913 from github/release-prep/2.10.2
...
Release preparation for version 2.10.2
2022-07-28 16:56:11 +01:00
Alex Ford
a8345e00fc
Update java/ql/lib/change-notes/released/0.3.2.md
2022-07-28 14:58:38 +01:00
Alex Ford
258b58cd37
Update java/ql/lib/CHANGELOG.md
2022-07-28 14:58:34 +01:00
Jeroen Ketema
15a979cfc6
Update ruby/ql/lib/change-notes/released/0.3.2.md
2022-07-28 15:45:01 +02:00
Jeroen Ketema
3137addfc1
Update ruby/ql/lib/CHANGELOG.md
2022-07-28 15:44:53 +02:00
github-actions[bot]
212786ed91
Release preparation for version 2.10.2
2022-07-28 13:38:35 +00:00
Geoffrey White
6cd6f74be9
Swift: Repair predicate lost in merge.
2022-07-28 10:13:04 +01:00
Geoffrey White
72fd7179f6
Merge branch 'main' into stringlengthconflation6
2022-07-28 10:01:28 +01:00
Geoffrey White
e5342867c6
Swift: Add a note to the qhelp.
2022-07-28 09:52:33 +01:00
Paolo Tranquilli
457ce3d884
Swift: fix derived IPA type properties
...
Also rename `IpaTypes.qll` to `Ipa.qll`
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
f81abe40c4
Swift: disambuigate Cfg test order
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
18b9a2fa6e
Swift: accept tests
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
95df751425
Swift: new toString for ExprPattern
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
954047c6ab
Swift: accept test changes
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
60795fc652
Swift: fix codescanning warnings
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
8b13adbb93
Swift: IPA layer tweaks
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
6abd4a6a29
Swift: fix QL libraries
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
c578505ae0
Swift: specialize Ipa <-> Db conversions
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
a16d5f72d1
Swift: cache equivalent of asDbInstance
...
Which is now a predicate in the `IpaTypes.qll` file (where `Cached`
was also renamed to `Ipa`).
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
ef09031cf9
Swift: fix autopep8 and codegen
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
47f26e6029
Swift: fix codegen unit tests
2022-07-28 10:26:11 +02:00
Paolo Tranquilli
10976bbbab
Swift: use IPA layer in generated classes
2022-07-28 10:26:10 +02:00
Paolo Tranquilli
ea0725525b
Swift: first IPA layer
2022-07-28 10:26:10 +02:00
Geoffrey White
fe69bbf17c
Swift: It turns out NSString.length always exactly matches String.utf16.count.
2022-07-27 17:54:57 +01:00
Geoffrey White
70ca37a3d0
Swift: Model utf8, utf16 a\nd unicodeScalars sources.
2022-07-27 17:39:04 +01:00
Geoffrey White
89d5bbb8e0
Swift: Generalize the flow states in this query.
2022-07-27 17:39:01 +01:00
Geoffrey White
9e773302ed
Swift: Extend test cases.
2022-07-27 17:39:01 +01:00
Chris Smowton
0a351b73cb
Underscore query: tolerate synthetic functions
2022-07-21 09:15:27 +01:00
Shyam Mehta
09ec37943c
Partial Path Traversal split into 2 queries
2022-07-20 17:53:26 -04:00
smehta23
b7e522749f
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2022-07-20 15:32:59 -04:00
Taus
2436b060f1
Python: Fix another bad "value transfer" join
...
The culprit:
```
Tuple counts for PointsTo::InterProceduralPointsTo::scope_entry_value_transfer_from_earlier#741b54e2#ffff#join_rhs/5@eb1340iv after 12.6s:
72973 ~3% {2} r1 = JOIN PointsToContext::TImportContext#cf3039a0#f WITH Definitions::NonEscapingGlobalVariable#class#486534ab#f CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 'arg1'
537932 ~0% {3} r2 = JOIN r1 WITH Essa::EssaDefinition::getSourceVariable#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg2', Lhs.1 'arg1', Lhs.0
982333 ~0% {4} r3 = JOIN r2 WITH Essa::EssaVariable::getAUse#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'arg1', Lhs.0 'arg2', Rhs.1 'arg0'
37029774 ~0% {4} r4 = JOIN r3 WITH Essa::TEssaNodeDefinition#24e22a14#ffff ON FIRST 1 OUTPUT Rhs.3 'arg3', Lhs.1 'arg1', Lhs.2 'arg2', Lhs.3 'arg0'
35956211 ~0% {5} r5 = JOIN r4 WITH Essa::ScopeEntryDefinition::getScope#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.3 'arg0', Lhs.1 'arg1', Lhs.2 'arg2', Lhs.0 'arg3', Rhs.1 'arg4'
return r5
```
You may notice that this is a predicate that's _materialised_, but it's
never actually used anywhere. It's the old "standard order" bringing
much sadness.
The problem here is that in the standard order (which we never actually
use here), we end up with a join between the bits above, `getRootCall`,
and `appliesToScope`. The `join_rhs` bit is joined twice, once with
`getRootCall#prev` and `appliesToScope#prev_delta` (in that order), and
once with `prev` and `prev_delta` swapped.
So to fix this, I used the unbinding pragma to force `appliesToScope` to
appear first in the join order. This was enough to make the compiler
_not_ push the common context into its own `join_rhs` predicate (and
the join-order is still decent.)
2022-07-19 17:18:07 +00:00
Taus
b5cac9285e
Python: Fix bad join in getOuterVariable
...
Much sadness:
```
Tuple counts for ImportTime::ImportTimeScope::getOuterVariable#dispred#f0820431#fff/3@64d04d33 after 7.6s:
19624 ~1% {1} r1 = SCAN py_Classes OUTPUT In.0 'this'
19531 ~1% {1} r2 = JOIN r1 WITH ImportTime::ImportTimeScope#class#7851b601#f ON FIRST 1 OUTPUT Lhs.0 'this'
19531 ~0% {2} r3 = JOIN r2 WITH Scope::Scope::getEnclosingModule#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0 'this', Rhs.1
296389 ~0% {3} r4 = JOIN r3 WITH Variables::Variable::getScope#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'var', Lhs.0 'this', Lhs.1
296389 ~0% {3} r5 = JOIN r4 WITH Variables::LocalVariable#3aa06bbf#f ON FIRST 1 OUTPUT Lhs.0 'var', Lhs.1 'this', Lhs.2
296389 ~1% {4} r6 = JOIN r5 WITH Variables::Variable::getId#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'this', Lhs.0 'var', Rhs.1
62294919 ~0% {4} r7 = JOIN r6 WITH Variables::Variable::getScope#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'var', Lhs.1 'this', Lhs.2 'var', Lhs.3
62294919 ~0% {4} r8 = JOIN r7 WITH Variables::GlobalVariable#class#3aa06bbf#f ON FIRST 1 OUTPUT Lhs.0 'result', Lhs.3, Lhs.1 'this', Lhs.2 'var'
639 ~0% {3} r9 = JOIN r8 WITH Variables::Variable::getId#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'var', Lhs.0 'result'
return r9
```
Clearly we _shouldn't_ be joining on `getId` as the last thing, as this
means we're building tuples of completely unrelated variables (not even
with the same name!) which obviously blows up.
A standard way of fixing this is to correlate as much information about
these variables as possible in a `nomagic`ked helper predicate. This is
what we do here, grouping together the variable with its scope and name
(both of which are uniquely determined by the variable). This results
in a much nicer join order:
```
Tuple counts for ImportTime::ImportTimeScope::getOuterVariable#dispred#f0820431#fff/3@82866b6p after 42ms:
23867 ~4% {2} r1 = JOIN Scope::Scope::getEnclosingModule#dispred#f0820431#ff WITH ImportTime::ImportTimeScope#class#7851b601#f ON FIRST 1 OUTPUT Lhs.0 'this', Lhs.1
296389 ~0% {4} r2 = JOIN r1 WITH ImportTime::class_var_scope#7851b601#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'this', Rhs.2 'var'
639 ~0% {3} r3 = JOIN r2 WITH ImportTime::global_var_scope#7851b601#fff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'var', Rhs.2 'result'
return r3
```
```
Tuple counts for ImportTime::class_var_scope#7851b601#fff/3@366258vr after 47ms:
19624 ~1% {1} r1 = SCAN py_Classes OUTPUT In.0 'scope'
296743 ~0% {2} r2 = JOIN r1 WITH Variables::Variable::getScope#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'var', Lhs.0 'scope'
296743 ~0% {2} r3 = JOIN r2 WITH Variables::LocalVariable#3aa06bbf#f ON FIRST 1 OUTPUT Lhs.0 'var', Lhs.1 'scope'
296743 ~2% {3} r4 = JOIN r3 WITH Variables::Variable::getId#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'scope', Rhs.1 'name', Lhs.0 'var'
return r4
```
```
Tuple counts for ImportTime::global_var_scope#7851b601#fff/3@718e4bpm after 18ms:
108173 ~0% {2} r1 = JOIN Variables::GlobalVariable#class#3aa06bbf#f WITH Variables::Variable::getId#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0 'var', Rhs.1 'name'
108173 ~0% {3} r2 = JOIN r1 WITH Variables::Variable::getScope#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'name', Rhs.1 'scope', Lhs.0 'var'
return r2
```
(You may be wondering what's up with the order of arguments for the two
helper predicates. By ordering the arguments this way, there's no need
to reorder the resulting relations when used in `getOuterVariable.)
2022-07-19 17:14:37 +00:00
Taus
cfacd015b9
Python: Fix bad join in ScopeEntryDefinition
...
Before:
```
Tuple counts for Essa::ScopeEntryDefinition#class#24e22a14#f/1@45e0d8dh after 10.5s:
2133368 ~1% {2} r1 = Essa::TEssaNodeDefinition#24e22a14#ffff_03#join_rhs AND NOT Essa::ImplicitSubModuleDefinition#class#24e22a14#f(Lhs.1 'this')
534478950 ~0% {2} r2 = JOIN r1 WITH Definitions::SsaSourceVariable::getScopeEntryDefinition#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'this', Rhs.1
581249 ~4% {1} r3 = JOIN r2 WITH Essa::EssaNodeDefinition::getDefiningNode#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.0 'this'
return r3
```
Let's see if pushing the `getDefiningNode` join further up improves the
number of intermediary tuples. (Intuitively it should, since there
should only be one defining node for any given `EssaNodeDefinition`.)
To do this, we unbind the `this.getSourceVariable()` part, which
encourages the compiler to put this join later.
After:
```
Tuple counts for Essa::ScopeEntryDefinition#class#24e22a14#f/1@30758cv4 after 300ms:
2133569 ~1% {2} r1 = SCAN Essa::TEssaNodeDefinition#24e22a14#ffff OUTPUT In.0, In.3 'this'
2133368 ~1% {2} r2 = r1 AND NOT Essa::ImplicitSubModuleDefinition#class#24e22a14#f(Lhs.1 'this')
2133368 ~0% {2} r3 = JOIN r2 WITH Definitions::SsaSourceVariable#class#486534ab#f ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.0
2133368 ~0% {3} r4 = JOIN r3 WITH Essa::EssaNodeDefinition::getDefiningNode#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0 'this'
581249 ~4% {1} r5 = JOIN r4 WITH Definitions::SsaSourceVariable::getScopeEntryDefinition#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'this'
return r5
```
Much better (and our intuition is confirmed -- joining with
`getDefiningNode` did not increase the number of tuples).
2022-07-19 14:28:25 +00:00
Taus
87960b6e42
Python: Fix bad join in scope entry transfer
...
How it started:
```
Tuple counts for Base::BaseFlow::scope_entry_value_transfer_from_earlier#f76ef5bb#ffff/4@f2af49f5 after 18s:
1526390 ~0% {3} r1 = JOIN Base::BaseFlow::scope_entry_value_transfer_from_earlier#f76ef5bb#ffff#shared WITH Essa::EssaVariable::getScope#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1 'pred_scope', Lhs.0 'pred_var', Lhs.1
7798319 ~0% {4} r2 = JOIN r1 WITH Scope::Scope::precedes#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1 'succ_scope', Lhs.1 'pred_var', Lhs.2, Lhs.0 'pred_scope'
5427334 ~0% {4} r3 = JOIN Base::BaseFlow::scope_entry_value_transfer_from_earlier#f76ef5bb#ffff#shared#1 WITH Scope::Scope::precedes#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'pred_var', Lhs.2, Lhs.0 'pred_scope', Rhs.1 'succ_scope'
5426883 ~0% {4} r4 = r3 AND NOT Base::BaseFlow::scope_entry_value_transfer_from_earlier#f76ef5bb#ffff#antijoin_rhs(Lhs.0 'pred_var', Lhs.1, Lhs.2 'pred_scope', Lhs.3)
5426883 ~0% {5} r5 = SCAN r4 OUTPUT In.3, "__init__", In.0 'pred_var', In.1, In.2 'pred_scope'
2002084 ~0% {4} r6 = JOIN r5 WITH Scope::Scope::getName#dispred#f0820431#fb ON FIRST 2 OUTPUT Lhs.0, Lhs.2 'pred_var', Lhs.3, Lhs.4 'pred_scope'
39293988 ~2% {4} r7 = JOIN r6 WITH Scope::Scope::precedes#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1 'succ_scope', Lhs.1 'pred_var', Lhs.2, Lhs.3 'pred_scope'
47092307 ~0% {4} r8 = r2 UNION r7
94173236 ~7% {5} r9 = JOIN r8 WITH Essa::ScopeEntryDefinition::getScope#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2, Rhs.1 'succ_def', Lhs.1 'pred_var', Lhs.3 'pred_scope', Lhs.0 'succ_scope'
599441 ~1% {4} r10 = JOIN r9 WITH Essa::TEssaNodeDefinition#24e22a14#ffff_03#join_rhs ON FIRST 2 OUTPUT Lhs.2 'pred_var', Lhs.3 'pred_scope', Lhs.1 'succ_def', Lhs.4 'succ_scope'
return r10
```
How it ended:
```
Tuple counts for Base::essa_var_scope#f76ef5bb#fff/3@20fd243c after 153ms:
1526390 ~0% {2} r1 = JOIN Essa::EssaDefinition::getSourceVariable#dispred#f0820431#ff WITH Base::BaseFlow::reaches_exit#f76ef5bb#f ON FIRST 1 OUTPUT Lhs.0 'pred_var', Lhs.1 'var'
1526390 ~5% {3} r2 = JOIN r1 WITH Essa::EssaVariable::getScope#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'var', Rhs.1 'pred_scope', Lhs.0 'pred_var'
return r2
```
```
Tuple counts for Base::scope_entry_def_scope#f76ef5bb#fff/3@34224fid after 40ms:
581249 ~1% {3} r1 = JOIN Essa::TEssaNodeDefinition#24e22a14#ffff_30#join_rhs WITH Essa::ScopeEntryDefinition::getScope#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1 'var', Rhs.1 'succ_scope', Lhs.0 'succ_def'
return r1
```
```
Tuple counts for Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff#shared/5@cb3c45lu after 76ms:
471230 ~0% {3} r1 = JOIN Variables::GlobalVariable#class#3aa06bbf#f WITH Base::scope_entry_def_scope#f76ef5bb#fff ON FIRST 1 OUTPUT Rhs.1 'arg1', Lhs.0 'arg0', Rhs.2 'arg2'
313791 ~2% {5} r2 = JOIN r1 WITH Base::step_through_init#f76ef5bb#fff ON FIRST 1 OUTPUT Lhs.1 'arg0', Lhs.0 'arg1', Lhs.2 'arg2', Rhs.1 'arg3', Rhs.2 'arg4'
return r2
```
```
Tuple counts for Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff#antijoin_rhs/5@886d8bvr after 67ms:
508926 ~0% {6} r1 = JOIN Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff#shared WITH Exprs::Name::defines#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.4 'arg4', Lhs.0 'arg0', Lhs.1 'arg1', Lhs.2 'arg2', Lhs.3 'arg3'
25 ~46% {5} r2 = JOIN r1 WITH Exprs::Expr::getScope#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.3 'arg1', Lhs.4 'arg2', Lhs.5 'arg3', Lhs.1 'arg4'
return r2
```
```
Tuple counts for Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff/4@87ec703f after 80ms:
313774 ~2% {5} r1 = Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff#shared AND NOT Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff#antijoin_rhs(Lhs.0, Lhs.1 'succ_scope', Lhs.2 'succ_def', Lhs.3 'pred_scope', Lhs.4)
313774 ~0% {4} r2 = SCAN r1 OUTPUT In.3 'pred_scope', In.0, In.1 'succ_scope', In.2 'succ_def'
313774 ~4% {4} r3 = JOIN r2 WITH @py_scope#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'pred_scope', Lhs.2 'succ_scope', Lhs.3 'succ_def'
313778 ~0% {4} r4 = JOIN r3 WITH Base::essa_var_scope#f76ef5bb#fff ON FIRST 2 OUTPUT Rhs.2 'pred_var', Lhs.1 'pred_scope', Lhs.3 'succ_def', Lhs.2 'succ_scope'
return r4
```
```
Tuple counts for Base::step_through_init#f76ef5bb#fff/3@7ba1ee1c after 17ms:
11763 ~0% {1} r1 = JOIN Scope::Scope::precedes#dispred#f0820431#ff#join_rhs WITH Scope::Scope::getName#dispred#f0820431#fb_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'init'
196671 ~4% {2} r2 = JOIN r1 WITH Scope::Scope::precedes#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0 'init', Rhs.1 'succ_scope'
196671 ~6% {3} r3 = JOIN r2 WITH Scope::Scope::precedes#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'succ_scope', Rhs.1 'pred_scope', Lhs.0 'init'
return r3
```
```
Tuple counts for Base::BaseFlow::scope_entry_value_transfer_from_earlier#f76ef5bb#ffff/4@4892f93f after 426ms:
1526390 ~0% {3} r1 = SCAN Base::essa_var_scope#f76ef5bb#fff OUTPUT In.1, In.0, In.2 'pred_var'
7798319 ~0% {4} r2 = JOIN r1 WITH Scope::Scope::precedes#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1 'succ_scope', Rhs.0, Lhs.2 'pred_var'
285663 ~3% {4} r3 = JOIN r2 WITH Base::scope_entry_def_scope#f76ef5bb#fff ON FIRST 2 OUTPUT Lhs.3 'pred_var', Lhs.2 'pred_scope', Rhs.2 'succ_def', Lhs.1 'succ_scope'
599441 ~1% {4} r4 = Base::scope_entry_value_transfer_through_init#f76ef5bb#ffff UNION r3
return r4
```
It's possible this could be improved even further, but I think this is
good enough. (I'm not entirely happy with how many helper predicates I
ended up needing, but it was the only way I could get the joins to
happen in a semi-sensible order.)
2022-07-19 13:46:55 +00:00
Taus
bde47836d0
Python: Add Str class
...
This makes the AST viewer (which annotates string constant nodes as
`Str`) a bit more consistent.
2022-07-19 12:25:10 +00:00
Taus
8c0725e8c6
Python: Fix bad join in ESSA getInput
...
Before:
```
Tuple counts for Essa::EssaEdgeRefinement::getInput#dispred#f0820431#ff/2@b84afc77 after 20.3s:
873421 ~0% {3} r1 = JOIN Essa::TEssaEdgeDefinition#24e22a14#ffff_31#join_rhs WITH Essa::TEssaEdgeDefinition#24e22a14#ffff_30#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'this'
181627951 ~0% {3} r2 = JOIN r1 WITH Essa::EssaDefinition::getSourceVariable#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1, Lhs.2 'this'
873418 ~0% {2} r3 = JOIN r2 WITH Essa::EssaDefinition::reachesEndOfBlock#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'result'
return r3
```
It's perhaps not immediately obvious what's going on here (because of
the `...join_rhs` indirection), but basically we're joining together
`this` and `def` and their `getSourceVariable`, and only then actually
relating `this` and `def` through `reachesEndOfBlock`.
By unbinding `var`, we prevent this early join, which now encourages the
`reachesEndOfBlock` join to happen earlier:
```
Tuple counts for Essa::EssaEdgeRefinement::getInput#dispred#f0820431#ff/2@2d63e5lb after 2s
873421 ~0% {2} r1 = SCAN Essa::TEssaEdgeDefinition#24e22a14#ffff OUTPUT In.3 'this', In.1
873421 ~0% {3} r2 = JOIN r1 WITH Essa::TEssaEdgeDefinition#24e22a14#ffff_30#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'this'
873421 ~0% {3} r3 = JOIN r2 WITH Definitions::SsaSourceVariable#class#486534ab#f ON FIRST 1 OUTPUT Lhs.1, Lhs.2 'this', Lhs.0
8758877 ~0% {3} r4 = JOIN r3 WITH Essa::EssaDefinition::reachesEndOfBlock#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.2, Lhs.1 'this'
873418 ~0% {2} r5 = JOIN r4 WITH Essa::EssaDefinition::getSourceVariable#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'result'
return r5
```
2022-07-18 20:21:39 +00:00
Taus
bdd771989f
Python: Fix bad join in syntactic_call_count
...
On certain databases, the evaluation of this predicate was running out
of memory due to the way the `count` aggregate was being used. Here's
an example of the tuple counts involved:
```
Tuple counts for PointsToContext::syntactic_call_count#cf3039a0#ff#antijoin_rhs/1@d2199bb8 after 1m27s:
595518502 ~521250% {1} r1 = JOIN PointsToContext::syntactic_call_count#cf3039a0#ff#shared#3 WITH Flow::CallNode::getFunction#dispred#f0820431#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.1 'arg0'
26518709 ~111513% {1} r2 = JOIN PointsToContext::syntactic_call_count#cf3039a0#ff#shared#2 WITH Flow::CallNode::getFunction#dispred#f0820431#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.1 'arg0'
622037211 ~498045% {1} r3 = r1 UNION r2
return r3
```
and a timing report that looked like this:
```
time | evals | max @ iter | predicate
------|-------|--------------|----------
5m8s | | | PointsToContext::syntactic_call_count#cf3039a0#ff#shared#2@6d98d1nd
4m38s | | | PointsToContext::syntactic_call_count#cf3039a0#ff#count_range@f5df1do4
3m51s | | | PointsToContext::syntactic_call_count#cf3039a0#ff#shared#3@da3b4abf
1m58s | 7613 | 37ms @ 4609 | MRO::ClassListList::removedClassParts#f0820431#fffff#reorder_2_3_4_0_1@8155axyi
1m37s | 7613 | 33ms @ 3904 | MRO::ClassListList::bestMergeCandidate#f0820431#2#fff@8155a83w
1m27s | | | PointsToContext::syntactic_call_count#cf3039a0#ff#antijoin_rhs@d2199bb8
1m8s | 1825 | 63ms @ 404 | PointsTo::Expressions::equalityEvaluatesTo#741b54e2#fffff@8155aw7w
37.6s | | | PointsToContext::syntactic_call_count#cf3039a0#ff#join_rhs@e348fc1p
...
```
To make optimising this easier for the compiler, I moved the bodies of
the `count` aggregate into their own helper predicates (with size
linear in the number of `CallNode`s), and also factored out the many
calls to `f.getName()`.
The astute reader will notice that in writing this as a sum of `count`s
rather than a count of a disjunction, the intersection (if it exists)
will be counted twice, and so the semantics may be different. However,
since `method_call` and `function_call` require `AttrNode` and
`NameNode` functions respectively, and as these two types are disjoint,
there is no intersection, and so the semantics should be preserved.
After the change, the evaluation of `syntactic_call_count` now looks as
follows:
```
Tuple counts for PointsToContext::syntactic_call_count#cf3039a0#ff/2@662dd8s0 after 216ms:
23960 ~0% {1} r1 = @py_scope#f AND NOT py_Functions_0#antijoin_rhs(Lhs.0 's')
23960 ~0% {2} r2 = SCAN r1 OUTPUT In.0 's', 0
276309 ~7% {2} r3 = SCAN @py_scope#f OUTPUT In.0 's', "__init__"
11763 ~0% {2} r4 = JOIN r3 WITH Scope::Scope::getName#dispred#f0820431#fb ON FIRST 2 OUTPUT Lhs.0 's', 1
35723 ~0% {2} r5 = r2 UNION r4
252349 ~0% {2} r6 = JOIN @py_scope#f WITH Function::Function::getName#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0 's', Rhs.1
240586 ~0% {2} r7 = SELECT r6 ON In.1 != "__init__"
131727 ~4% {2} r8 = r7 AND NOT project#PointsToContext::method_call#cf3039a0#ff(Lhs.1)
131727 ~0% {3} r9 = SCAN r8 OUTPUT In.1, In.0 's', 0
240586 ~0% {2} r10 = SCAN r7 OUTPUT In.1, In.0 's'
108859 ~0% {3} r11 = JOIN r10 WITH PointsToContext::syntactic_call_count#cf3039a0#ff#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1 's', Rhs.1
240586 ~0% {3} r12 = r9 UNION r11
24100 ~0% {2} r13 = JOIN r12 WITH PointsToContext::syntactic_call_count#cf3039a0#ff#join_rhs#1 ON FIRST 1 OUTPUT Lhs.1 's', (Rhs.1 + Lhs.2)
240586 ~0% {2} r14 = SELECT r6 ON In.1 != "__init__"
131727 ~4% {2} r15 = r14 AND NOT project#PointsToContext::method_call#cf3039a0#ff(Lhs.1)
131727 ~0% {3} r16 = SCAN r15 OUTPUT In.0 's', In.1, 0
108859 ~4% {3} r17 = JOIN r10 WITH PointsToContext::syntactic_call_count#cf3039a0#ff#join_rhs ON FIRST 1 OUTPUT Lhs.1 's', Lhs.0, Rhs.1
240586 ~4% {3} r18 = r16 UNION r17
216486 ~2% {3} r19 = r18 AND NOT project#PointsToContext::function_call#cf3039a0#ff(Lhs.1)
216486 ~0% {2} r20 = SCAN r19 OUTPUT In.0 's', (0 + In.2)
240586 ~0% {2} r21 = r13 UNION r20
276309 ~0% {2} r22 = r5 UNION r21
return r22
```
2022-07-18 13:58:00 +00:00
Michael Nebel
6603024488
C#: Allow encryption- prefix for sinks in CsvValidation.
2022-07-18 14:32:31 +02:00
Michael Nebel
57ba0c4e5d
C#: Move sinks into System.Security.Cryptography framework code.
2022-07-18 14:28:49 +02:00
Michael Nebel
c91d49a0fe
C#: Add provenance column to CSV format for SymmetricAlgorithm.
2022-07-18 14:28:49 +02:00
Michael Nebel
66232a8054
C#: Fix typo.
2022-07-18 14:28:49 +02:00
Michael Nebel
a5b7e2a2e1
C#: Convert set Key of SymmetricAlgorithm to Csv sink.
2022-07-18 14:28:49 +02:00
Michael Nebel
032448041d
C#: Convert CreateSymmetricKey to CSV sink.
2022-07-18 14:28:49 +02:00
Michael Nebel
1d405dba14
C#: Collapse Sink classes.
2022-07-18 14:28:49 +02:00
Michael Nebel
383ad51682
C#: Use CSV format for CreateEncryptor and CreateDecryptor sinks.
2022-07-18 14:28:49 +02:00
Michael Nebel
e6e82ef56d
C#: Update test with Decrypt example.
2022-07-18 14:28:49 +02:00
Michael Nebel
52a9fb0de7
C#: Add test for decrypt.
2022-07-18 14:28:49 +02:00
Chris Smowton
41ca791966
Implement is-underscore-parameter for old versions of Kotlin
2022-07-15 12:36:37 +01:00
Erik Krogh Kristensen
625e37a0da
fix typo
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-07-14 21:53:21 +02:00
Chris Smowton
d4b0163c4c
Kotlin: Don't extract a name for a '_' parameter
...
I can't reproduce the exact circumstances, but these sometimes get "<anonymous parameter X>" names and sometimes get "$noName_X" names. Whichever way, avoiding extracting a synthetic name seems safest; anyone finding the .class file and not reading the metadata indicating it came from a `_` will extract the binary name selected, or else QL will
invent a name.
2022-07-14 16:36:26 +01:00
Erik Krogh Kristensen
1037c2b182
all comments are alive
2022-07-14 13:30:12 +02:00
Erik Krogh Kristensen
85a652f3d1
remove a bunch of repeated words
2022-07-14 12:42:48 +02:00
Erik Krogh Kristensen
2ea2bd8966
refine the repeated-word query
2022-07-14 12:35:09 +02:00
Erik Krogh Kristensen
cb3a0fb5de
make a Comment superclass
2022-07-14 12:25:01 +02:00
Erik Krogh Kristensen
f20c186277
add ql/repeated-word query
2022-07-14 12:20:30 +02:00
Erik Krogh Kristensen
ed80089d7c
fix some QL-for-QL warnings in JS
2022-07-14 09:45:44 +02:00
Chris Smowton
a6970638cb
Improve description
2022-07-13 20:27:10 +01:00
Chris Smowton
01cec0490b
Abbreviate qhelp
2022-07-13 20:24:44 +01:00
Erik Krogh Kristensen
595875ff98
remove redundant not-equals check
2022-07-13 12:06:12 +02:00
Erik Krogh Kristensen
a4262f8d91
add some more references to the overly-large-range qhelp
2022-07-13 11:20:24 +02:00
ihsinme
e77a989133
Update DangerousUseMbtowc.expected
2022-07-12 20:22:31 +03:00
ihsinme
98af52fba5
Update DangerousUseMbtowc.ql
2022-07-12 20:19:59 +03:00
ihsinme
1291f33c39
Merge pull request #1 from geoffw0/test123
...
C++: Accept test results.
2022-07-12 20:18:59 +03:00
Ian Lynagh
83edb3b5e9
Kotlin: Remove the last uses of fakeLabel
2022-07-12 17:43:50 +01:00
Geoffrey White
f29104ccce
C++: Accept test results.
2022-07-12 16:49:04 +01:00
Erik Krogh Kristensen
8e52fc97fc
changes based on review by Shack
2022-07-12 16:02:50 +02:00
Erik Krogh Kristensen
220ff3cb2e
convert tabs to spaces in qhelp
2022-07-12 16:02:50 +02:00
Erik Krogh Kristensen
712805f3bf
add a!=b to the overlap predicate
2022-07-12 16:02:50 +02:00
Erik Krogh Kristensen
592464d98b
simplify the overlap computation
2022-07-12 16:02:50 +02:00
Erik Krogh Kristensen
aae3e2ddde
other changes based on Esbens review
2022-07-12 16:02:50 +02:00
Erik Krogh Kristensen
ff25451699
rename query to overly-large-range, and rewrite the @description
2022-07-12 16:02:46 +02:00
Shyam Mehta
65b9947428
Incorporate jksco's feedback
2022-07-12 02:02:31 -04:00
smehta23
781a2a73d3
Merge branch 'main' into feat/SM/java_partial_path_traversal_vulnerability
2022-07-12 01:48:12 -04:00
ihsinme
8967f57bbc
Update DangerousUseMbtowc.ql
2022-07-04 11:17:12 +03:00
ihsinme
4e28887689
Create test3.cpp
2022-07-04 11:13:07 +03:00
ihsinme
1ce42dcd30
Create test2.cpp
2022-07-04 11:12:34 +03:00
ihsinme
6d800de377
Create test1.cpp
2022-07-04 11:11:49 +03:00
ihsinme
f53adca108
Update DangerousUseMbtowc.ql
2022-07-04 11:10:02 +03:00
Shyam Mehta
39f885413f
Change log
2022-07-01 11:34:56 -04:00
smehta23
391dd5b38d
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalGood.java
...
Co-authored-by: Jonathan Leitschuh <jonathan.leitschuh@gmail.com >
2022-07-01 10:55:58 -04:00
smehta23
ebe48ec30a
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
...
Co-authored-by: Jonathan Leitschuh <jonathan.leitschuh@gmail.com >
2022-07-01 10:53:43 -04:00
smehta23
48e16e52b5
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversal.qhelp
...
Co-authored-by: Jonathan Leitschuh <jonathan.leitschuh@gmail.com >
2022-07-01 10:52:41 -04:00
Shyam Mehta
1a41d4c379
Add CVE number
2022-07-01 10:51:33 -04:00
Shyam Mehta
300a14c35c
Add ESAPI reference
2022-07-01 10:43:59 -04:00
smehta23
209a21655a
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalGood.java
...
Co-authored-by: Jonathan Leitschuh <jonathan.leitschuh@gmail.com >
2022-07-01 10:40:38 -04:00
smehta23
c6f2f61bfb
Update java/ql/src/Security/CWE/CWE-023/PartialPathTraversalBad.java
...
Co-authored-by: Jonathan Leitschuh <jonathan.leitschuh@gmail.com >
2022-07-01 10:39:46 -04:00
Shyam Mehta
16814071df
Fix typo in .qhelp
2022-06-29 18:03:57 -04:00
Shyam Mehta
7ab8f0262c
Fix duplicate class header and better fix using toPath()
2022-06-29 18:01:12 -04:00
Shyam Mehta
955e614563
Add documentation of the Partial Path Traversal vuln
2022-06-29 17:31:04 -04:00
Erik Krogh Kristensen
9ecc3a2671
filter out potential misparses from java/suspicious-regexp-range
2022-06-29 13:16:40 +02:00
Erik Krogh Kristensen
2e295e4a04
filter out potential misparses from rb/suspicious-regexp-range
2022-06-29 13:16:28 +02:00
Shyam Mehta
b5ca2c3d9d
Add additional tests from real world query run
2022-06-28 17:32:20 -04:00
Shyam Mehta
7122f29296
Finish Partial Path Traversal Query
2022-06-28 15:02:06 -04:00
Shyam Mehta
4c7d476280
[JAVA] Partial Path Traversal Vuln Query
2022-06-28 13:52:41 -04:00
Erik Krogh Kristensen
a343ceaf8b
add suspicious-regexp-range query
2022-06-28 09:49:27 +02:00
Erik Krogh Kristensen
9bc12ed8fd
sync review changes to other languages
2022-06-24 13:12:15 +02:00
Erik Krogh Kristensen
28ac47689f
changes based on reviews
2022-06-24 13:11:46 +02:00
Robert Marsh
4a522831c4
C++: update change note for IR global var flow
2022-06-23 14:39:13 -04:00
Robert Marsh
e45c982dd1
C++: change note for global variables in dataflow
2022-06-23 14:32:52 -04:00
Erik Krogh Kristensen
554888b884
update expected output for QL-for-QL now that I've renabled the queries
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
724721c5c8
fix typo
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
22871138c6
simplify the recursion between TTrace and isReachableFromStartTuple
...
similar to the fix made by Shack in `ExponentialBackTracking.qll`
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
be37763125
improve performance of process() by pruning accept states early
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
bf20b7dfc5
add change note for the ReDoS renamings
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
14204be2f9
add missing qldoc
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
3bea7df45d
add deprecated aliases in the old locations, and use the Query.qll pattern for js/polynomial-redos
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
2e4c2df67e
move the JS ReDoS test to a more appropriate folder
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
13482fc97b
rename ReDoSUtil to NfaUtils, and rename the "performance" folder to "regexp"
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
bbc8cb32be
update expected output from disabling the dead-code query
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
6b0df9bdfb
refactor the concretize algorithm
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
dbeae9aefb
make a parameterized module out of the RegexpMatching implementation
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
7fb3d81d2f
add further normalization of char classses
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
3be4a86acd
make ReDoSPruning into a parameterized module
2022-06-23 14:36:25 +02:00
Erik Krogh Kristensen
dc06e9df02
move predicates that depend on isReDoSCandidate into a ReDoSPruning module
2022-06-23 14:36:24 +02:00
Robert Marsh
813a8548d7
C++: accept test changes for globals in data flow
2022-06-22 16:42:42 -04:00
Michael Nebel
8899bf7f05
C#: Update tests.
2022-06-22 13:03:23 +02:00
Michael Nebel
0ef97b41c8
C#: Update .NET Runtime models and add sources and sinks.
2022-06-22 13:03:10 +02:00
Robert Marsh
d28c39cd73
C++: update test expectations
2022-06-20 15:56:00 -04:00
Robert Marsh
8b47b838ca
C++: autoformat
2022-06-20 15:56:00 -04:00
Robert Marsh
5a3e546bfe
C++: update test expectations
2022-06-20 15:55:50 -04:00
Robert Marsh
33910a85b9
C++: restrict global variable IR generation
2022-06-20 15:51:44 -04:00
Robert Marsh
7818dafecc
C++: cleanup some implicit this usage
2022-06-20 15:48:30 -04:00
Robert Marsh
54488eb49b
C++: fix global vars accesses in global vars
2022-06-20 15:46:49 -04:00
Robert Marsh
a3f1d61913
C++: test for global var access in a global var
2022-06-20 15:26:28 -04:00
Robert Marsh
048e5d8474
C++: IR data flow through global variables
2022-06-20 15:15:45 -04:00
Robert Marsh
c216176de1
C++: sync and accept new consistency test
2022-06-20 15:15:40 -04:00
Robert Marsh
f0634140b6
C++: fix inconsistencies from IR global vars
2022-06-20 14:41:10 -04:00
Jeroen Ketema
89d4f84731
C++: Update tests for frontend update
2022-06-20 14:41:09 -04:00
Robert Marsh
e0878d7d3c
C++: Fix IR variable reuse for global var inits
2022-06-20 14:41:02 -04:00
Robert Marsh
767b0cfdfb
Revert "Merge pull request #8933 from MathiasVP/revert-globals"
...
This reverts commit 2517371a37 , reversing
changes made to db856798b9 .
2022-06-20 14:26:10 -04:00
Rasmus Wriedt Larsen
f1b0a814e0
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-06-17 15:04:57 +02:00
Rasmus Wriedt Larsen
d6e68258a4
Python: API-graphs: allow class decorators in .getASubclass()
2022-06-15 17:30:34 +02:00
Rasmus Wriedt Larsen
5f32f898d5
Python: API-graphs: test class decorators and subclass
...
A class decorator could change the class definition in any way.
In this specific case, it would be better if we allowed the subclass to
be found with API graphs still.
inspired by
c2250cfb80/tests/auth_tests/test_views.py (L40-L46)
2022-06-15 16:16:34 +02:00
Rasmus Wriedt Larsen
b2c8e0fe8d
Python: Add comment to test
2022-06-15 15:59:54 +02:00
Rasmus Wriedt Larsen
24c9aff2fc
Python: Fix a type-tracking test
2022-06-15 15:58:17 +02:00
Erik Krogh Kristensen
cb0a6936ad
add support for the "exports" property in a package.json
2022-06-14 13:31:47 +02:00
Erik Krogh Kristensen
92d1c84f05
bind the result in JsonValue::getBooleanValue
2022-06-14 13:22:09 +02:00
ihsinme
9d12f1be53
Update DangerousUseMbtowc.ql
2022-06-02 14:34:38 +03:00
ihsinme
77e4d05ea3
Update test.cpp
2022-06-02 14:33:59 +03:00
ihsinme
872dd0d59f
Update DangerousUseMbtowc.expected
2022-06-02 14:33:06 +03:00
ihsinme
57127a5343
Update cpp/ql/src/experimental/Security/CWE/CWE-125/DangerousUseMbtowc.qhelp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-05-25 09:38:02 +03:00
ihsinme
a7c69ba6ab
create new branchihsinme-patch-87 in fork
2022-05-09 13:15:27 +00:00