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
github-actions[bot]
57c4f9145b
Release preparation for version 2.10.3
2022-08-11 11:12:15 +00: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
erik-krogh
c778b38a77
delete the dead TypeRepr files
2022-08-11 10:56:58 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Rasmus Wriedt Larsen
1737d08145
Merge pull request #9579 from yoff/python/more-logic-tests
...
Python: Improve `BarrierGuard`
2022-08-01 11:36:11 +02:00
AlexDenisov
b5d4a2d462
Merge pull request #9926 from github/redsun82/swift-extract-module-type
...
Swift: extract `ModuleType`
2022-08-01 10:33:33 +02:00
AlexDenisov
ed67fb0933
Merge pull request #9927 from github/redsun82/swift-pcm-inconsistencies-workaround
...
Swift: append clang module names in trap keys
2022-08-01 10:33:18 +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
Jeroen Ketema
b50f4bc1a8
Merge pull request #9903 from jketema/builtin
...
C++: Support additional compiler builtin operations
2022-07-29 17:20:19 +02:00
Paolo Tranquilli
4ce100f9a3
Swift: append clang module names in trap keys
...
We have found out there can be separate declarations (`VarDecl` or
`AccessorDecl`) which are effectively the same (with equal mangled name)
but come from different clang modules. This is the case for example
for glibc constants like `L_SET` that appear in both `SwiftGlibc` and
`CDispatch`.
In this patch, we simply avoid full deduplication in that case by
appending the module name to the trap key for non-swift modules.
A more solid solution should be found in the future.
2022-07-29 16:56:51 +02:00
Paolo Tranquilli
45e14c96f2
Swift: extract ModuleType
2022-07-29 16:48:45 +02:00
Paolo Tranquilli
13f2cf9003
Merge pull request #9922 from github/redsun82/swift-precompiled-modules-are-not-extracted
...
Swift: extract precompiled swiftmodule files
2022-07-29 16:43:34 +02:00
Paolo Tranquilli
daf1fa3c31
Swift: lock built swiftmodule traps in main
...
This should cover `-merge-modules` mode.
Dumping of the configuration to the target files was moved to a
separate pair of header/source files, as now it is also done in
`SwiftOutputRewrite.cpp`.
2022-07-29 16:27:55 +02:00
Paolo Tranquilli
405d0fcd54
Merge branch 'main' into redsun82/swift-precompiled-modules-are-not-extracted
2022-07-29 15:57:52 +02:00
Tony Torralba
593ce01362
Merge pull request #9908 from atorralba/atorralba/xml-inline-exp-test
...
Java: Add support for XML InlineExpectationsTest
2022-07-29 14:49:19 +02:00
AlexDenisov
48e93b3654
Merge pull request #9925 from github/alexdenisov/pcm-var-dedup
...
Swift: do not deduplicate PCM variables (as the mangler crashes there sometimes)
2022-07-29 14:30:41 +02:00
AlexDenisov
22c5b7af4f
Merge pull request #9921 from github/alexdenisov/type-alias-mangling
...
Swift: mangle TypeAliasDecls differently
2022-07-29 14:30:28 +02:00
Alex Denisov
34edb2537f
Swift: mangle TypeAliasDecls differently
2022-07-29 14:12:02 +02:00
Alex Denisov
5b1fe56d5f
Swift: do not deduplicate PCM variables (as the mangler crashes there sometimes)
2022-07-29 14:06:18 +02:00
Tony Torralba
ec03ebbbfc
Add spurious and missing test cases
2022-07-29 13:44:25 +02:00
Tony Torralba
6091f0dbce
Use camelCase for XML acronym
2022-07-29 13:44:11 +02:00
Paolo Tranquilli
099ab0e0c2
Swift: readd .trap suffix to swiftmodule trap files
2022-07-29 12:26:33 +02:00
Paolo Tranquilli
604328ea5f
Swift: strip suffix from swiftmodule trap files
2022-07-29 12:25:11 +02:00
Paolo Tranquilli
652230d021
Merge branch 'main' into redsun82/swift-precompiled-modules-are-not-extracted
2022-07-29 12:21:15 +02:00
Paolo Tranquilli
69633948ce
Merge pull request #9920 from github/alexdenisov/colocate-pcms
...
Swift: put all the PCM traps into the same place
2022-07-29 12:20:58 +02:00
Paolo Tranquilli
065fecc57e
Swift: extract precompiled swiftmodule files
...
Previously we were not extracting any `swiftmodule` file that was not
a system or a built-in one. This was done to avoid re-extracting
`swiftmodule` files that were built previously in the same build, but it
turned out to be too eager, as there are legitimate cases where a
non-system, non-built-in precompiled swift module can be used. An
example of that is the `PackageDescription` module used in Swift
Package Manager manifest files (`Package.swift`).
We now relax the test and trigger module extraction on all loaded
modules that do not have source files (we trigger source file extraction
for those). The catch, is that we also create empty trap files for
current output `swiftmodule` files (including possible alias locations
set up by XCode).
This means that if a following extractor run loads a previously built
`swiftmodule` file, although it will trigger module extraction, this
will however be skipped as it will find its target file already present
(this is done via the `TargetFile` semantics).
2022-07-29 11:10:03 +02:00
Alex Denisov
50e1ffda64
Swift: put all the PCM traps into the same place
2022-07-29 10:19:13 +02:00
Jeroen Ketema
a27b1ee33a
C++: Improve ErrorExpr documentation to match current practise
2022-07-29 09:08:56 +02:00
Jeroen Ketema
5a59354d73
C++: Minor clean up of the builtin operations qldoc
2022-07-29 09:08:56 +02:00
Jeroen Ketema
bce253920c
C++: Fix __builtin_shuffle qldoc
2022-07-29 09:08:56 +02:00
Jeroen Ketema
afdd21eab7
C++: Update DB scheme stats file
2022-07-29 09:08:56 +02:00
Jeroen Ketema
295ecbb401
C++: Add upgrade and downgrade scripts for new builtins
2022-07-29 09:08:56 +02:00
Jeroen Ketema
1806b8933f
C++: Add change note for newly added builtins
2022-07-29 09:08:56 +02:00
Jeroen Ketema
20b66eaf34
C++: Support __builtin_shuffle builtin
...
While here write gcc instead of GNU, which is more accurate.
2022-07-29 09:08:56 +02:00
Jeroen Ketema
81e687ea98
C++: Support __builtin_bit_cast builtin
2022-07-29 09:08:56 +02:00
Jeroen Ketema
a85d3f9b7f
C++: Support __has_unique_object_representations builtin
2022-07-29 09:08:56 +02:00
Jeroen Ketema
0c03935437
C++: Support __is_aggregate builtin
...
Fix some whitespace issues while here.
2022-07-29 09:08:56 +02:00
Jeroen Ketema
c4283dd23f
C++: Support __is_assignable builtin
...
While here fix the documentation of `__is_trivially_assignable` and
`__is_nothrow_assignable`.
2022-07-29 09:08:56 +02:00
AlexDenisov
9876c391fa
Merge pull request #9915 from github/redsun82/swift-fixes
...
Swift: small dispatcher fixes
2022-07-29 08:22:54 +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
Chris Smowton
e140d2ab4f
Merge pull request #9824 from smowton/smowton/admin/wildcard-substitution-test
...
Add test for Java wildcard substitution
2022-07-28 17:07:41 +01: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
Paolo Tranquilli
985237ab2d
Swift: small dispatcher fixes
...
File extraction was not using named trap keys, and `emitDebugInfo` was
using `std::forward` when it should not.
2022-07-28 17:05:52 +02:00
Chris Smowton
1737ed50ba
Add test cases for wildcard lowering of array types
2022-07-28 15:52:00 +01:00
Chris Smowton
8cd2aeb65d
Accept test changes
2022-07-28 15:52:00 +01:00
Chris Smowton
7475f84ea5
Fix type-parameter-out-of-scope test
2022-07-28 15:51:59 +01:00
Chris Smowton
e7f275382e
Add test for Java wildcard substitution
2022-07-28 15:51:59 +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
Paolo Tranquilli
8a36a2b563
Merge pull request #9912 from github/redsun82/swift-human-readable-trap-prefixes
...
Swift: make trap key prefixes readable
2022-07-28 14:34:57 +02:00
Paolo Tranquilli
ddf715e6a9
Merge pull request #9911 from github/redsun82/swift-deduplicate-vardecls
...
Swift: deduplicate `VarDecl`
2022-07-28 14:31:59 +02:00
Paolo Tranquilli
d547a417c9
Swift: accept new test results
2022-07-28 12:57:12 +02:00
Paolo Tranquilli
cb006900cd
Merge branch 'main' into redsun82/swift-deduplicate-vardecls
2022-07-28 12:55:31 +02:00
Paolo Tranquilli
7d7966e711
Swift: make trap key prefixes readable
...
This replaces numeric tag-based prefixes with the actual tag name.
While this means in general slightly larger trap files, it aids
debugging them for a human.
In the future we can make this conditional on some kind of trap debug
option, but for the moment it does not seem detrimental.
2022-07-28 12:43:30 +02:00
Paolo Tranquilli
b491884996
Merge pull request #9910 from github/redsun82/swift-no-cleanup-on-integration-tests
...
Swift: add `--no-cleanup` to integration tests
2022-07-28 12:41:53 +02:00
Paolo Tranquilli
76ea63ffbe
Swift: deduplicate VarDecl
...
Deduplication of `ConcreteVarDecl` is triggered only if its
`DeclContext` is not local. This avoids a mangled name conflict.
Also added more thourough tests for `ConcreteVarDecl` and `ParamDecl`.
2022-07-28 12:28:52 +02:00
Paolo Tranquilli
ab1370cc8f
Swift: add --no-cleanup to integration tests
2022-07-28 11:19:45 +02: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
e43755b34f
Merge pull request #9905 from github/redsun82/cfg-order
...
Control Flow: extend ordering
2022-07-28 10:25:49 +02:00
Paolo Tranquilli
9b26921cb6
Control flow: add order disambuigation customization
2022-07-28 09:11:42 +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
Tony Torralba
7ca955a0e6
Add support for XML InlineExpectationsTest
2022-07-27 17:23:10 +02:00
Paolo Tranquilli
ebf650c0c0
Control Flow: add more ordering for edges
2022-07-27 15:01:17 +02:00
Anders Schack-Mulligen
70e6db3ce1
Merge pull request #9902 from aschackmull/java/junit5-assertnotnull
...
Java: Add support for JUnit5 assertions in the nullness queries.
2022-07-27 13:52:01 +02:00
Chris Smowton
9e7fc1731f
Merge pull request #9898 from smowton/smowton/fix/kotlin-super-calls
...
Kotlin: implement super-method calls
2022-07-27 11:31:36 +01:00
Tony Torralba
e179126abb
Merge pull request #9129 from atorralba/atorralba/get-underlying-expr
...
Java: Add Expr::getUnderlyingExpr predicate
2022-07-27 11:42:28 +02:00
Anders Schack-Mulligen
cc423af8f1
Java: Add support for JUnit5 assertions in the nullness queries.
2022-07-27 10:20:47 +02:00
Anders Schack-Mulligen
f2670bcd61
Merge pull request #9900 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-07-27 09:14:28 +02:00
AlexDenisov
f9bdca3079
Merge pull request #9818 from github/redsun82/swift-file-label-caching
...
Swift: cache file labels
2022-07-27 09:12:20 +02:00
github-actions[bot]
30accecd8a
Add changed framework coverage reports
2022-07-27 00:19:16 +00:00
Chris Smowton
5086841b46
Kotlin: implement super-method calls
...
If we only look at the dispatch receiver, these show up like `this` references rather than `super` references, preventing flow through super-calls. The super-interface case requires properly noting that interface methods with a body get a `default` modifier in order to avoid QL discarding the method as a possible callee.
2022-07-26 17:03:46 +01:00
Paolo Tranquilli
42f462504e
Merge branch 'main' into redsun82/swift-file-label-caching
2022-07-26 15:20:27 +02:00
Tony Torralba
edc8f6f0f2
Merge pull request #9894 from atorralba/atorralba/scanner_models
...
Java: Add CSV models for java.util.Scanner
2022-07-26 12:00:08 +02:00
Tony Torralba
33f5620782
Add more models
2022-07-26 11:06:11 +02:00
Tony Torralba
c56e0f7c0d
Add change note
2022-07-26 10:50:34 +02:00
Tony Torralba
95db81658b
Add CSV models for java.util.Scanner
2022-07-26 10:42:24 +02:00
Andrew Eisenberg
43ae5d4285
Merge pull request #9838 from github/aeisenberg/python-local-ref-def
...
Move python contextual queries to lib folders
2022-07-25 09:00:32 -07:00
Chris Smowton
3f6925e7be
Merge pull request #9875 from smowton/smowton/fix/charat-naming
...
Kotlin: Special-case String.charAt naming
2022-07-25 16:10:13 +01:00
Chris Smowton
715b0b3fb8
Accept test changes
2022-07-25 15:17:14 +01:00
Chris Smowton
3af2e71932
Merge pull request #9874 from smowton/smowton/fix/kotlin-for-loop-iterators
...
Kotlin: fix for-loop iterators over primitive or wildcard types
2022-07-25 15:02:49 +01:00
Jeroen Ketema
8cd0a9d245
Merge pull request #9735 from jketema/inline-yolo
...
C++: Remove `pragma[noinline]` from `ResolveGlobalVariable.ql`
2022-07-25 11:25:26 +02:00
Nick Rolfe
a61ec78f03
Merge pull request #9883 from github/nickrolfe/trap-buffering
...
Ruby/QL: speed up trap writing by putting BufWriter in front of GzEncoder
2022-07-25 08:48:54 +01:00
Paolo Tranquilli
fe73601a4e
Merge pull request #9805 from github/redsun82/swift-type-repr-collapse
...
Swift: collapse `TypeRepr` hierarchy
2022-07-25 09:31:41 +02:00
Harry Maclean
681e58c8e0
Merge pull request #9850 from hmac/hmac/arel
...
Ruby: Model Arel.sql
2022-07-25 12:09:18 +12:00
Harry Maclean
cb3ebeedf9
Merge pull request #9696 from thiggy1342/experimental-strong-params
...
RB: Experimental strong params query
2022-07-25 12:08:55 +12:00
Harry Maclean
db41ce5f76
Merge pull request #9605 from thiggy1342/experimental-manually-check-request-verb
...
RB: Experimental query to manually check request verb
2022-07-25 12:08:11 +12:00
thiggy1342
6cfde70898
Merge branch 'main' into experimental-strong-params
2022-07-22 20:41:33 -04:00
thiggy1342
b4d762fb21
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-22 20:41:23 -04:00
thiggy1342
0c0ba925a7
this one should have no tag
2022-07-22 18:44:03 +00:00
thiggy1342
f39ca1aad2
correct cwe tagged
2022-07-22 18:36:25 +00:00
Robert Marsh
0a35f97074
Merge pull request #9872 from jketema/return-join
...
C++: Fix join-order problem in `cpp/return-stack-allocated-memory`
2022-07-22 14:32:10 -04:00
thiggy1342
c2710fb038
Update ruby/ql/src/change-notes/2022-07-21-check-http-verb.md
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-07-22 13:52:00 -04:00
thiggy1342
2c095cf166
Update ruby/ql/src/change-notes/2022-07-21-weak-params.md
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-07-22 13:51:38 -04:00
Jeroen Ketema
a9d95a9418
C++: Remove pragma[noinline] from ResolveGlobalVariable.ql
2022-07-22 17:59:27 +02:00
Jeroen Ketema
23c19311fb
Merge pull request #9700 from jketema/resolve-global-variable
...
C++: Ensure only one `Variable` exists for every global variable
2022-07-22 17:57:21 +02:00
Nick Rolfe
4767d5a1ba
Ruby/QL: speed up trap writing by putting BufWriter in front of GzEncoder
2022-07-22 15:37:53 +01:00
Arthur Baars
43266b75a1
Merge pull request #9866 from aibaars/encoding
...
Ruby: handle magic coding: comments
2022-07-22 14:33:46 +02:00
Taus
5f9a03f103
Merge pull request #9880 from github/nickrolfe/ql-ql-extractor-cleanup
...
QL: sync Ruby extractor changes
2022-07-22 14:15:04 +02:00
Paolo Tranquilli
77401ded4e
Swift: reflow comment
2022-07-22 13:54:32 +02:00
Arthur Baars
d44bf326f0
Update ruby/extractor/src/main.rs
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-07-22 13:36:22 +02:00
Paolo Tranquilli
7e67338fb5
Update swift/extractor/infra/SwiftDispatcher.h
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-07-22 13:34:11 +02:00
thiggy1342
871b6515d5
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-21 18:47:07 -04:00
thiggy1342
1842bde879
add change note
2022-07-21 22:13:53 +00:00
thiggy1342
c1a6ca5f94
add change note
2022-07-21 22:11:14 +00:00
thiggy1342
486a394a7f
Update ruby/ql/src/experimental/weak-params/WeakParams.ql
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-07-21 17:26:09 -04:00
thiggy1342
8fabc06d37
fix test assertion
2022-07-21 21:25:44 +00:00
thiggy1342
cc958dc171
Update ruby/ql/src/experimental/manually-check-http-verb/ManuallyCheckHttpVerb.ql
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-07-21 17:19:33 -04:00
Arthur Baars
1399610bd4
Merge branch 'main' into encoding
2022-07-21 21:21:17 +02:00
Nick Rolfe
5f96c92fac
QL: sync Ruby extractor changes
2022-07-21 17:38:33 +01:00
Nick Rolfe
ed0325f162
Merge pull request #9878 from github/nickrolfe/extractor-cleanup
...
Ruby: some extractor refactoring
2022-07-21 17:18:24 +01:00
Arthur Baars
7be106d7bb
Ruby: handle magic coding: comments
2022-07-21 16:33:18 +02:00
Arthur Baars
27be3dff54
Merge pull request #9868 from aibaars/update-tree-sitter-ruby-3
...
Ruby: update tree-sitter-ruby
2022-07-21 16:08:32 +02:00
Nick Rolfe
8dae85e1b1
Ruby: avoid repeated construction of table name strings
2022-07-21 12:21:06 +01:00
Nick Rolfe
0a8ecd3cf7
Ruby: compute path string only once
2022-07-21 10:44:30 +01:00
Nick Rolfe
388c9ffb74
Ruby: separate trap-writer into its own module
2022-07-21 10:44:00 +01:00
Jeroen Ketema
ad8335d6f3
C++: Fix join-order problem in cpp/return-stack-allocated-memory
...
Before on Abseil:
```
Evaluated relational algebra for predicate #select#cpe#12356#fffff@3ffb21o1 with tuple counts:
1235939 ~0% {2} r1 = SCAN functions OUTPUT In.0, In.0
1235939 ~0% {2} r2 = JOIN r1 WITH functions ON FIRST 1 OUTPUT Lhs.1, Lhs.0
33500841 ~0% {2} r3 = JOIN r2 WITH DataFlowUtil::Node::getEnclosingCallable#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
280683 ~3% {3} r4 = JOIN r3 WITH MustFlow::MkLocalPathNode#0227f5a1#fff ON FIRST 1 OUTPUT Rhs.2, Lhs.1, Lhs.0
40970 ~2% {4} r5 = JOIN r4 WITH MustFlow::MustFlowConfiguration::hasFlowPath#dispred#f0820431#fff#cpe#23_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0
40970 ~0% {5} r6 = JOIN r5 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.0
40970 ~1% {5} r7 = JOIN r6 WITH DataFlowUtil::Cached::TInstructionNode#47741e1f#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.4
40970 ~1% {5} r8 = JOIN r7 WITH project#Instruction::VariableAddressInstruction#class#577b6a83#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4
40970 ~0% {6} r9 = JOIN r8 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
40970 ~2% {7} r10 = JOIN r9 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Rhs.1
0 ~0% {6} r11 = JOIN r10 WITH Instruction::Instruction::getEnclosingFunction#dispred#f0820431#3#ff ON FIRST 2 OUTPUT Rhs.1, Lhs.2, Lhs.3, Lhs.4, Lhs.5, Lhs.6
0 ~0% {5} r12 = JOIN r11 WITH functions ON FIRST 1 OUTPUT Lhs.5, Lhs.1, Lhs.2, Lhs.3, Lhs.4
0 ~0% {5} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.3, Lhs.2, Lhs.4, Rhs.1
return r13
```
After:
```
Evaluated relational algebra for predicate #select#cpe#12356#fffff@1dbc97kv with tuple counts:
40970 ~0% {2} r1 = SCAN MustFlow::MustFlowConfiguration::hasFlowPath#dispred#f0820431#fff#cpe#23 OUTPUT In.1, In.0
40970 ~0% {3} r2 = JOIN r1 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
40970 ~7% {4} r3 = JOIN r2 WITH MustFlow::MkLocalPathNode#0227f5a1#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2
40970 ~2% {4} r4 = JOIN r3 WITH DataFlowUtil::Cached::TInstructionNode#47741e1f#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3
40970 ~2% {4} r5 = JOIN r4 WITH project#Instruction::VariableAddressInstruction#class#577b6a83#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3
40970 ~0% {5} r6 = JOIN r5 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Rhs.1
40970 ~1% {6} r7 = JOIN r6 WITH SSAConstruction::Cached::getInstructionAst#2b11997e#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
40970 ~0% {6} r8 = JOIN r7 WITH Instruction::Instruction::getEnclosingFunction#dispred#f0820431#3#ff ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.1, Lhs.2, Lhs.4, Lhs.5
0 ~0% {5} r9 = JOIN r8 WITH DataFlowUtil::Node::getEnclosingCallable#dispred#f0820431#fb ON FIRST 2 OUTPUT Lhs.5, Lhs.2, Lhs.3, Lhs.0, Lhs.4
0 ~0% {5} r10 = JOIN r9 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.3, Lhs.1, Lhs.2, Lhs.4, Rhs.1
return r10
```
2022-07-21 11:27:02 +02:00
Jeroen Ketema
466eb4a845
Merge pull request #9870 from jketema/exec-tainted-join
...
C++: Fix join-order problem in `cpp/command-line-injection`
2022-07-21 11:22:02 +02:00
Cornelius Riemenschneider
a437fcbbcc
Merge pull request #9705 from github/criemen/csharp-lua-tracing
...
C#: Implement correct behavior for `dotnet build` tracing
2022-07-21 11:01:33 +02:00
Chris Smowton
9593ceeda5
Kotlin: Special-case String.charAt naming
...
In the Kotlin universe this is called `get` so that Kotlin programmers can use the `[]` operator on `String`s.
2022-07-21 09:17:08 +01:00
Chris Smowton
0a351b73cb
Underscore query: tolerate synthetic functions
2022-07-21 09:15:27 +01:00
Chris Smowton
1cbe26a54f
Kotlin: fix for-loop iterators over primitive or wildcard types
...
Array<*> can't be queried for an argument type, and IntArray doesn't have an argument at all; both were previously causing the extractor to fail to extract the whole file due to throwing an exception.
2022-07-21 09:13:55 +01:00
Harry Maclean
4d0f6a0b96
Merge pull request #9788 from thiggy1342/add-activerecord-annotate
...
RB: Add ActiveRecord::Relation#annotate to sqlFragmentArgument()
2022-07-21 15:37:03 +12:00
thiggy1342
a10370f813
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-20 16:33:36 -04:00
thiggy1342
b3f2159a7e
Merge branch 'main' into experimental-strong-params
2022-07-20 16:33:32 -04:00
thiggy1342
17c80336f5
Merge branch 'main' into add-activerecord-annotate
2022-07-20 16:33:30 -04:00
Arthur Baars
8d80e0332e
Ruby: update tree-sitter-ruby
2022-07-20 18:16:30 +02:00
Aditya Sharad
a1d9228a66
Merge pull request #9831 from adityasharad/docs/supported-frameworks-changelog-links
...
Docs: Update supported languages page with links to CLI and pack information
2022-07-20 07:36:37 -07:00
Jeroen Ketema
694d6395d5
C++: Fix join-order problem in cpp/command-line-injection
...
Before on Abseil Linux:
```
Evaluated relational algebra for predicate ExecTainted::ExecState#class#91000ffb#fff@41084cm7 with tuple counts:
40879811 ~0% {2} r1 = SCAN DataFlowUtil::Node::getLocation#dispred#f0820431#ff OUTPUT In.1, In.0
40879811 ~0% {2} r2 = JOIN r1 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
7527 ~3% {3} r3 = JOIN r2 WITH ExecTainted::interestingConcatenation#91000ffb#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
7527 ~0% {4} r4 = JOIN r3 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Rhs.1
7527 ~0% {5} r5 = JOIN r4 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Lhs.0, Lhs.3, Rhs.1
7527 ~0% {6} r6 = JOIN r5 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.0, Lhs.3, Lhs.4
7527 ~0% {3} r7 = JOIN r6 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT ((((((("ExecState (" ++ Rhs.1) ++ " | ") ++ Lhs.4) ++ ", ") ++ Lhs.1) ++ " | ") ++ Lhs.5 ++ ")"), Lhs.3, Lhs.2
return r7
```
After:
```
Evaluated relational algebra for predicate ExecTainted::ExecState#class#91000ffb#fff@1ffe61ps with tuple counts:
7527 ~0% {3} r1 = JOIN ExecTainted::interestingConcatenation#91000ffb#ff WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.1
7527 ~0% {4} r2 = JOIN r1 WITH DataFlowUtil::Node::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2, Rhs.1
7527 ~1% {5} r3 = JOIN r2 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Lhs.2, Lhs.3
7527 ~0% {5} r4 = JOIN r3 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.4, Rhs.1
7527 ~4% {6} r5 = JOIN r4 WITH DataFlowUtil::Node::getLocation#dispred#f0820431#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.0, Lhs.1, Lhs.2, Lhs.3, Lhs.4
7527 ~0% {3} r6 = JOIN r5 WITH Location::Location::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT ((((((("ExecState (" ++ Rhs.1) ++ " | ") ++ Lhs.3) ++ ", ") ++ Lhs.5) ++ " | ") ++ Lhs.4 ++ ")"), Lhs.1, Lhs.2
return r6
```
2022-07-20 16:27:47 +02:00
thiggy1342
8c55a15fa6
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-20 10:27:40 -04:00
thiggy1342
6f74a2609c
Merge branch 'main' into experimental-strong-params
2022-07-20 10:26:49 -04:00
thiggy1342
f54fc1a88d
Merge branch 'main' into add-activerecord-annotate
2022-07-20 10:26:44 -04:00
Jeroen Ketema
c2b7300709
Merge pull request #9848 from geoffw0/stringlengthconflation5
...
Swift: More improvements for the string length conflation query
2022-07-20 14:05:05 +02:00
Cornelius Riemenschneider
e9e5d948b3
C#: Implement proper dotnet build handling in the Lua tracing config.
...
For proper C# tracing, `dotnet build` needs the parameter
/p:UseSharedCompilation=false. However, we can't pass that to the other
subcommands of `dotnet`, therefore we need to figure out which subcommand
of `dotnet` is being invoked.
2022-07-20 10:11:36 +00:00
Cornelius Riemenschneider
ca819573f5
Merge pull request #9862 from github/adityasharad/codeql-cli-2.10.1-mergeback
...
Merge codeql-cli-2.10.1 into main
2022-07-20 10:42:34 +02:00
Paolo Tranquilli
3527897eff
Swift: make type optional in TypeRepr
...
A type representation may not have a type in unresolved things, which
for example pop up in inactive `#if` clauses.
2022-07-20 09:13:34 +02:00
Aditya Sharad
7620a6f653
Docs: Update supported languages page with links to CLI and pack information
...
Include links to the CLI changelog, CLI releases, bundle releases,
pack changelogs, and pack source.
Clarify that this support information applies to the current version of
the CLI, bundle, query packs, and library packs.
2022-07-19 14:58:27 -07:00
Asger F
aa53841466
Merge pull request #9828 from github/post-release-prep/codeql-cli-2.10.1
...
Post-release preparation for codeql-cli-2.10.1
2022-07-19 19:49:50 +02:00
Henti Smith
018a76bb17
Merge pull request #9857 from github/henti/new_actions_predicates
...
Added Workflow.getName and Step.GetId
2022-07-19 16:12:54 +01:00
Henti Smith
dcc76ddf36
Apply suggestions from code review
...
Co-authored-by: Henry Mercer <henrymercer@github.com >
2022-07-19 15:53:12 +01:00
Henti Smith
0828474192
Added Workflow::getName and Step::GetId
2022-07-19 15:34:10 +01:00
thiggy1342
43a9b8960e
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-19 10:29:48 -04:00
thiggy1342
cf23d338f3
Merge branch 'main' into experimental-strong-params
2022-07-19 10:29:36 -04:00
thiggy1342
6bc2fe513d
Merge branch 'main' into add-activerecord-annotate
2022-07-19 10:29:24 -04:00
Asger F
b9bdee6651
Merge branch 'main' into post-release-prep/codeql-cli-2.10.1
2022-07-19 16:24:35 +02:00
Cornelius Riemenschneider
03bf9eb166
Merge pull request #9837 from github/aeisenberg/definitions.ql
...
Move definitions.ql back to src
2022-07-19 14:43:10 +02:00
Taus
bfe90413e2
Merge pull request #9847 from alexet/alexet/fix-predicate-binding
...
Python: Fix binding incorrect predicate.
2022-07-19 13:59:13 +02:00
Arthur Baars
dcbd82907f
Merge pull request #9845 from aibaars/skip-dotgit
...
Ruby: skip .git folder
2022-07-19 11:58:43 +02:00
Harry Maclean
ec1d1eb547
Ruby: Add change note
2022-07-19 14:33:51 +12:00
thiggy1342
962155fd61
fix changenotes
2022-07-19 00:33:04 +00:00
thiggy1342
9586259706
style tweak for checking multiple method names
2022-07-19 00:29:30 +00:00
thiggy1342
304203ad2f
fix path problem output
2022-07-19 00:25:50 +00:00
Harry Maclean
7b8603c89b
Ruby: Model Arel.sql
2022-07-19 11:27:15 +12: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
alexet
f9b6ca76e5
Python: Fix binding incorrect predicate.
2022-07-18 16:28:19 +01:00
thiggy1342
fc00e56058
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-18 10:58:13 -04: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
Arthur Baars
c9e5206396
Ruby: skip .git folder
2022-07-18 15:26:38 +02:00
Geoffrey White
541df9b550
Swift: Remove TODO comment. We have a test for this problem now.
2022-07-18 14:26:12 +01:00
Geoffrey White
336548f746
Swift: Improve comments.
2022-07-18 14:24:16 +01:00
Geoffrey White
9474e63faf
Swift: Clean up isSink (4 - move common code out).
2022-07-18 14:24:15 +01:00
Geoffrey White
b136790efd
Swift: Clean up isSink (3 - rename f -> funcDecl and move that out as well; in the other two cases this variable didn't exist, now it does).
2022-07-18 14:24:14 +01:00
Geoffrey White
0bd94a6307
Swift: Clean up isSink (2 - rename methodName -> funcName and move that out as well).
2022-07-18 14:24:13 +01:00
Geoffrey White
4854679a40
Swift: Clean up isSink (1 - move common variables to an outer exists).
2022-07-18 14:24:13 +01:00
Geoffrey White
39fb714ad1
Swift: Add test with substring declared differently.
2022-07-18 14:24:12 +01: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
Paolo Tranquilli
e1bd4a78ff
Merge branch 'main' into redsun82/swift-type-repr-collapse
2022-07-18 14:05:43 +02:00
Paolo Tranquilli
10b7b1f183
Merge branch 'main' into redsun82/swift-file-label-caching
2022-07-18 14:02:57 +02:00
Paolo Tranquilli
410167671f
Merge pull request #9795 from github/redsun82/swift-extraction
...
Swift: extract more entities
2022-07-18 13:37:43 +02:00
Nick Rolfe
eebba36b18
Merge pull request #9708 from github/nickrolfe/pathname
...
Ruby: model the standard library's `Pathname` class
2022-07-18 11:29:30 +01:00
Paolo Tranquilli
98fc8812fc
Merge 'main' into redsun82/swift-extraction
2022-07-18 11:55:21 +02:00
Paolo Tranquilli
c779936ee8
Swift: commit forgotten files
2022-07-18 11:19:40 +02:00
Paolo Tranquilli
c08c3955d6
Swift: add UnresolvedPatternExpr test
2022-07-18 10:37:54 +02:00
Paolo Tranquilli
78fc356feb
Swift: address review comments
2022-07-18 10:29:20 +02:00
Nick Rolfe
dbd6607875
Ruby: use ASCII dash in comment
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-07-18 08:54:58 +01:00
Harry Maclean
cc5f59f313
Merge pull request #9138 from hmac/hmac/array-inclusion-guard-local-flow
...
Ruby: Make StringArrayInclusion more sensitive
2022-07-18 10:11:49 +12:00
yo-h
d4443592eb
Merge pull request #9776 from raulgarciamsft/azure-sdk-client-encryption-version
...
New queries to detect unsafe client side encryption in Azure Storage
2022-07-16 14:59:51 -04:00
Raul Garcia
6b17890e4f
Fixing warning on usage of a deprecated feature.
2022-07-16 08:30:06 -07:00
Raul Garcia
eefa659503
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2022-07-16 08:23:59 -07:00
Raul Garcia
fe789c8aa9
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2022-07-16 08:22:18 -07:00
Andrew Eisenberg
b897a40228
Move python contextual queries to lib folders
...
This will ensure that python projects can use jump to ref/def in
vscode when the core libraries are not installed.
2022-07-15 13:12:17 -07:00
Andrew Eisenberg
2f50549184
Move definitions.ql back to src
2022-07-15 11:48:15 -07:00
thiggy1342
a1df1d1119
Merge branch 'main' into experimental-strong-params
2022-07-15 11:17:57 -04:00
thiggy1342
ee1c09329f
Merge branch 'main' into add-activerecord-annotate
2022-07-15 11:17:48 -04: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
Aditya Sharad
d50816a284
Merge pull request #9802 from adityasharad/docs/language-pack-changelogs
...
Docs: Add links from query help to query pack changelog for each language
2022-07-14 08:52:50 -07: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
github-actions[bot]
0ee476129a
Post-release preparation for codeql-cli-2.10.1
2022-07-14 14:38:49 +00:00
Paolo Tranquilli
5e74df3882
Swift: cache file paths
...
This required a bit of a generalization of `TrapLabelStore` to not
work only with pointers.
2022-07-14 16:32:33 +02:00
Aditya Sharad
d13f9d5d71
Update docs/codeql/query-help/javascript.rst
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2022-07-14 07:29:29 -07:00
Paolo Tranquilli
7fbe4f8547
Merge pull request #9815 from github/redsun82/swift-exclusive-file
...
Swift: trap output rework
2022-07-14 16:23:44 +02:00
thiggy1342
592ce3ec58
Merge branch 'main' into add-activerecord-annotate
2022-07-14 09:55:25 -04:00
Paolo Tranquilli
22ff8c2c7e
Swift: remove redundant braces
2022-07-14 15:40:48 +02:00
Paolo Tranquilli
3e06455ac1
Swift: delete TargetFile's move assignment
2022-07-14 15:39:36 +02:00
Anders Schack-Mulligen
21066d277f
Merge pull request #9819 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-07-14 15:13:37 +02:00
Erik Krogh Kristensen
5ba4f6dae8
Merge pull request #9826 from erik-krogh/combineWork
...
QL: rewrite the QL-for-QL workflow to just do everything in one go
2022-07-14 14:24:31 +02:00
Asger F
fd7561cf27
Merge pull request #9822 from github/release-prep/2.10.1
...
Release preparation for version 2.10.1
2022-07-14 14:02:41 +02:00
Erik Krogh Kristensen
1037c2b182
all comments are alive
2022-07-14 13:30:12 +02:00
Erik Krogh Kristensen
a7a9428dc1
split the sarif file into languages
2022-07-14 13:20:52 +02:00
Erik Krogh Kristensen
47c9b446f0
exclude upgrade scripts from QL-for-QL
2022-07-14 13:01:40 +02:00
Erik Krogh Kristensen
380070f2e4
rewrite the QL-for-QL workflow to just do everything in one go
2022-07-14 12:54:27 +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
Asger F
dbff20a3d8
Update cpp/ql/lib/CHANGELOG.md
2022-07-14 12:10:03 +02:00
Asger F
9f184ec122
Update cpp/ql/lib/change-notes/released/0.3.1.md
2022-07-14 12:09:58 +02:00
Jeroen Ketema
fe1f1bb79d
Fix issues with change notes
2022-07-14 11:06:14 +02:00
Erik Krogh Kristensen
33fdcf1e4f
Merge pull request #9794 from erik-krogh/unusedVue
...
JS: exclude variables in .vue files form js/unused-local-variable
2022-07-14 10:57:06 +02:00
github-actions[bot]
d1aa0d7dd3
Release preparation for version 2.10.1
2022-07-14 08:56:03 +00:00
Asger F
855d4c2ea1
Merge pull request #9718 from asgerf/js/case-sensitive-middleware
...
JS: Add 'case sensitive middleware' query
2022-07-14 10:47:58 +02:00
Erik Krogh Kristensen
43a82004b2
Merge pull request #9798 from erik-krogh/backtrackers
...
JS: use small steps in TypeBackTracker correctly
2022-07-14 10:28:07 +02:00
Erik Krogh Kristensen
ed80089d7c
fix some QL-for-QL warnings in JS
2022-07-14 09:45:44 +02:00
Asger F
18c5a8c8da
Merge branch 'main' into js/case-sensitive-middleware
2022-07-14 09:38:35 +02:00
Asger F
da8123072d
Apply suggestions from doc review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2022-07-14 09:38:10 +02:00
Paolo Tranquilli
f1144b9672
Swift: small TypeRepr visit rewording
2022-07-14 06:18:51 +02:00
Paolo Tranquilli
d748cb483d
Swift: include cleanup
...
Fix a problem with `sstream` not being transitively included on macOS.
2022-07-14 06:10:12 +02:00
Paolo Tranquilli
4c53c341f6
Swift: make TargetFile::good() a class invariant
...
Fallible initialization has been moved to a factory function, and
`commit` has been moved to the destructor.
2022-07-14 06:02:35 +02:00
thiggy1342
62a10e20b2
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-13 20:28:09 -04:00
thiggy1342
8ca7d7d775
update change note
2022-07-14 00:22:38 +00:00
thiggy1342
9d277027a3
Merge branch 'main' into experimental-strong-params
2022-07-13 20:19:50 -04:00
thiggy1342
3dd61cadf4
formatting query
2022-07-14 00:19:36 +00:00
github-actions[bot]
9a186ba5d2
Add changed framework coverage reports
2022-07-14 00:18:56 +00:00
thiggy1342
ee79834cc8
formatting in qhelp
2022-07-14 00:15:39 +00:00
thiggy1342
ae634367c9
add qhelp file
2022-07-14 00:11:52 +00:00
thiggy1342
2cc703387b
use taint config for data flow
2022-07-14 00:11:52 +00:00
thiggy1342
f5301aa478
Merge branch 'main' into add-activerecord-annotate
2022-07-13 14:35:44 -04:00
Chris Smowton
80cbddf626
Merge pull request #9817 from smowton/smowton/feature/model-java-util-properties
...
Java: Model `java.util.Properties.getProperty`
2022-07-13 17:12:11 +01:00
Raul Garcia
f7c47b6c75
Update python/ql/src/experimental/Security/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.py
...
Co-authored-by: Taus <tausbn@github.com >
2022-07-13 08:34:48 -07:00
Chris Smowton
f9da4a0456
Add change note
2022-07-13 14:11:31 +01:00
Chris Smowton
b1dd3c2d84
Model java.util.Properties.getProperty
2022-07-13 13:59:28 +01:00
Erik Krogh Kristensen
9e2e32f037
Merge pull request #9322 from erik-krogh/fixAutoBuild
...
QL/RB: fix the QL-for-QL and ruby autobuilders
2022-07-13 14:39:59 +02:00
Paolo Tranquilli
6dd09c1815
Merge pull request #9796 from github/redsun82/swift-codegen-skip-cpp-pragma
...
Swift: allow skipping fields in cppgen
2022-07-13 13:20:47 +02:00
Erik Krogh Kristensen
3e4a182ee8
Merge pull request #7450 from erik-krogh/missDocParam
...
QL: Add query detecting suspiciously missing parameters from the QLDoc of a predicate
2022-07-13 12:45:15 +02:00
Paolo Tranquilli
5773a734c3
Swift: slightly simplify a cppgen change
2022-07-13 11:27:50 +02:00
Paolo Tranquilli
f7dca4d70f
Swift: trap output rework
...
Firstly, this change reworks how inter-process races are resolved.
Moreover some responsability reorganization has led to merging
`TrapArena` and `TrapOutput` again into a `TrapDomain` class.
A `TargetFile` class is introduced, that is successfully created
only for the first process that starts processing a given trap output
file. From then on `TargetFile` simply wraps around `<<` stream
operations, dumping them to a temporary file. When `TargetFile::commit`
is called, the temporary file is moved on to the actual target trap
file.
Processes that lose the race can now just ignore the unneeded
extraction and go on, while previously all processes would carry out
all extractions overwriting each other at the end.
Some of the file system logic contained in `SwiftExtractor.cpp` has been
moved to this class, and two TODOs are solved:
* introducing a better inter process file collision avoidance strategy
* better error handling for trap output operations: if unable to write
to the trap file (or carry out other basic file operations), we just
abort.
The changes to `ExprVisitor` and `StmtVisitor` are due to wanting to
hide the raw `TrapDomain::createLabel` from them, and bring more
funcionality under the generic caching/dispatching mechanism.
2022-07-13 11:19:57 +02:00
Harry Maclean
1fa2144716
Ruby: Update test fixtures
2022-07-13 21:02:08 +12:00
Erik Krogh Kristensen
fd10947ca0
use small steps in TypeBackTracker correctly
2022-07-13 10:29:57 +02:00
Erik Krogh Kristensen
cd5fbe633f
update locations in test after merging in the focus-location-pr
2022-07-13 10:12:52 +02:00
Erik Krogh Kristensen
c4f44bb67f
sync files
2022-07-13 10:01:26 +02:00
Erik Krogh Kristensen
a49d34cf0f
Merge branch 'main' into missDocParam
2022-07-13 09:58:04 +02:00
Erik Krogh Kristensen
dded3af3d8
remove more false positives from the ql/missing-parameter-qldoc query
2022-07-13 09:57:17 +02:00
Erik Krogh Kristensen
047b14e310
get the autobuilders to work after introducing test-cases
2022-07-13 09:50:55 +02:00
Erik Krogh Kristensen
eb0340dcb6
get excludes to work properly
2022-07-13 09:50:55 +02:00
Erik Krogh Kristensen
878168384e
remove tools:latest from codeql-action in QL-for-QL
2022-07-13 09:50:54 +02:00
Erik Krogh Kristensen
2850b35a04
update, and fix, the autobuilders by using the new --also-match option
2022-07-13 09:48:29 +02:00
Harry Maclean
49aab51893
Ruby: Make helper predicate private
2022-07-13 18:20:27 +12:00
Harry Maclean
ea95e2e1d0
Ruby: Use InclusionTests library in barrier guards
2022-07-13 18:20:27 +12:00
Harry Maclean
b9fc82a741
Ruby: Test both old and new-style barrier guards
2022-07-13 18:20:25 +12:00
Harry Maclean
4cfaa86d5d
Ruby: Update new-style barrier-guard
2022-07-13 18:20:14 +12:00
Harry Maclean
5f17d8370c
Ruby: Small change to isArrayExpr
2022-07-13 18:20:14 +12:00
Harry Maclean
63dcce9a31
Ruby: Refactor isArrayConstant
2022-07-13 18:20:14 +12:00
Harry Maclean
b5a3d3c488
Ruby: Extract isArrayConstant
...
This predicate might be useful elsewhere.
2022-07-13 18:20:14 +12:00
Harry Maclean
301914d80c
Ruby: Add an extra barrier guard test
2022-07-13 18:20:14 +12:00
Harry Maclean
706d1d2eee
Ruby: Make StringArrayInclusion more sensitive
...
We now recognise the following pattern as a barrier guard for `x`:
values = ["foo", "bar"]
if values.include? x
sink x
end
2022-07-13 18:20:12 +12:00
Raul Garcia
0dbb03f732
Adding CVE information.
2022-07-12 21:49:19 -07:00
thiggy1342
7df7b92d86
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-12 20:36:34 -04:00
thiggy1342
7129002573
tweak tests more
2022-07-13 00:33:58 +00:00
thiggy1342
b3f1a513d1
Update tests
2022-07-13 00:25:43 +00:00
thiggy1342
9a0a9491da
Merge branch 'main' into add-activerecord-annotate
2022-07-12 20:13:56 -04:00
thiggy1342
2566ae9889
Merge branch 'main' into experimental-strong-params
2022-07-12 20:12:51 -04:00
thiggy1342
db5f63b208
add tests
2022-07-12 23:14:16 +00:00
thiggy1342
7facc63699
remove predicate
2022-07-12 22:59:48 +00:00
Erik Krogh Kristensen
2aaedacd5d
Merge pull request #9593 from erik-krogh/param2
...
QL: followup fixes to parameterized modules
2022-07-13 00:23:11 +02:00
Erik Krogh Kristensen
89043ec4ef
Merge branch 'main' into param2
2022-07-12 23:21:11 +02:00
thiggy1342
74d6061082
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-12 17:15:54 -04:00
Erik Krogh Kristensen
5cbe01d8dc
Merge pull request #8351 from erik-krogh/inconsistentDep
...
QL: add query detecting inconsistent deprecations
2022-07-12 23:12:24 +02:00
Erik Krogh Kristensen
e092cb02cd
Merge pull request #8937 from erik-krogh/qlFocusedLocations
...
QL: more precise alert locations
2022-07-12 23:11:22 +02:00
Raul Garcia
a4adf06713
Addressing feedback for the qhelp file.
2022-07-12 13:51:12 -07:00
Jeroen Ketema
c18428f1a9
Merge pull request #9785 from bdrodes/main
...
C++: Nullness.qll bug fixes
2022-07-12 21:43:44 +02:00
Raul Garcia
d929b1338b
Addressing API::Node feedback for all predicates
2022-07-12 11:55:06 -07: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
Raul Garcia
64343e00f4
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-07-12 08:14:25 -07:00
Raul Garcia
8a48708014
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-07-12 08:14:13 -07:00
Raul Garcia
2bac181094
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-07-12 08:13:53 -07:00
Raul Garcia
a4e35a97ea
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-07-12 08:13:38 -07:00
Raul Garcia
a51d713925
Update java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2022-07-12 08:13:12 -07:00
Jeroen Ketema
f7c4fa691d
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-07-12 16:59:15 +02:00
Ian Lynagh
a0636ff843
Merge pull request #9545 from igfoo/igfoo/type_cycles
...
Java: Fix RefType.getAStrictAncestor() in the presence of type hierarchy cycles
2022-07-12 14:28:54 +01:00
Jeroen Ketema
8f9d419441
C++: Add change note
2022-07-12 15:24:09 +02:00
Jeroen Ketema
e5eabc4e47
C++: Slightly tweak nullness test and update test results
2022-07-12 15:23:33 +02:00
Jeroen Ketema
d63b0946d9
C++: Use ConditionDeclExpr in AnalysedExpr::isDef
2022-07-12 15:22:13 +02:00
Jeroen Ketema
2ceb25dc9a
C++: Order left and right operands in the logical left to right order
2022-07-12 15:21:37 +02:00
Ian Lynagh
d0bf424b19
Merge pull request #9806 from igfoo/igfoo/useType
...
Kotlin: Extract an ErrorType if we fail to correctly extract a type
2022-07-12 13:45:04 +01:00
Ian Lynagh
1bcb17b760
Update java/ql/lib/change-notes/2022-07-12-errortype.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2022-07-12 12:16:24 +01:00
Paolo Tranquilli
48c71c9407
Swift: add comment about TypeRepr in ASTNode fetching
2022-07-12 12:10:22 +02:00
Jeroen Ketema
de6a9375ba
Merge pull request #9804 from jketema/get-target
...
C++: Clarify the "most-specific" part of `FunctionCall:getTarget`
2022-07-12 12:06:50 +02:00
Ian Lynagh
2edeeaac0e
Merge pull request #9801 from igfoo/igfoo/psi
...
Kotlin: We can't extract comments for < 1.5.20
2022-07-12 11:01:30 +01:00
Ian Lynagh
965f5a980a
Java/Kotlin: Add changenote for ErrorType
2022-07-12 10:58:16 +01:00
Henry Mercer
2ddcf8364c
Merge pull request #9585 from github/henrymercer/packaging-on-ghes
...
Docs: Document packaging support for CodeQL CLI 2.9.4+ on GHES 3.6+
2022-07-12 10:36:03 +01:00
Paolo Tranquilli
033b239b22
Swift: collapse TypeRepr hierarchy
...
Now `TypeRepr` is a final class in the AST, which is more or less just
a type with a location in code.
As the frontend does not provide a direct way to get a type from a
type representation, this information must be provided when fetching
the label of a type repr.
This meant:
* removing the type repr field from `EnumIsCaseExpr`: this is a virtual
AST node introduced in place of some kinds of `IsEpxr`. The type
repr is still available from the `ConditionalCheckedCastExpr` wrapped
by this virtual node, and we will rebuild the original `IsExpr` with
the IPA layer.
* some logic to get the type of keypath roots has been added to
`KeyPathExpr`. This was done to keep the `TypeRepr` to `Type` relation
total in the DB, but goes against the design of a dumb extractor. The
logic could be moved to QL in the future
* in the control flow library, `TypeRepr` children are now ignored. As
far as I can tell, there is no runtime evaluation going on in
`TypeRepr`s, so it does not make much sense to have control flow
through them.
2022-07-12 10:49:14 +02:00
Nick Rolfe
685389d219
Merge pull request #9797 from github/nickrolfe/railties_fix
...
Ruby: fix defining every dataflow node as a command execution sink
2022-07-12 09:30:55 +01:00
Jeroen Ketema
c75599c3da
C++: Clarify the "most-specific" part of FunctionCall:getTarget
2022-07-12 10:28:19 +02:00
Nick Rolfe
217c9a8aaf
Fix typo in changenote
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-07-12 08:50:58 +01:00
Paolo Tranquilli
47a4cac8ee
Merge branch 'main' into redsun82/swift-extraction
2022-07-12 09:29:10 +02:00
Paolo Tranquilli
70838fe57f
Merge pull request #9774 from github/redsun82/swift-disable-change-note-check
...
Swift: disable change note checking for now
2022-07-12 09:28:37 +02:00
Raul Garcia
d5791e2d56
Addressing feedback from the PR
2022-07-11 15:45:15 -07:00
Aditya Sharad
02e11b7ee9
Docs: Add links from query help to query pack changelog for each language
2022-07-11 13:59:38 -07:00
Raul Garcia
ac05577966
Making various changes based on the feedback. Pending: 2 non-trivial fixes for Java & Python.
2022-07-11 13:25:35 -07:00
Raul Garcia
e5702d0e15
Update python/ql/src/experimental/Security/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Taus <tausbn@github.com >
2022-07-11 13:07:37 -07:00
Raul Garcia
7fc9ae6c49
Update python/ql/src/experimental/Security/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Taus <tausbn@github.com >
2022-07-11 13:07:20 -07:00
Andrew Eisenberg
022acf2de0
Merge pull request #9570 from github/aeisenberg/docs/packs-with-paths
...
Update docs to include how to run a pack with path
2022-07-11 11:40:11 -07:00
Ian Lynagh
960d1dba8a
Kotlin: We can't etract comments for < 1.5.20
...
We were making our own PsiSourceManager, but that didn't know about any
IrFile -> PsiFile mappings.
2022-07-11 19:36:43 +01:00
Ian Lynagh
4c68624b00
Kotlin: Pass a FileLogger to Psi2Ir
2022-07-11 19:17:21 +01:00
Ian Lynagh
b9072a3594
Kotlin: Share a Psi2Ir instance
2022-07-11 18:57:43 +01:00
Henry Mercer
4704269086
Add example registry authentication string
2022-07-11 18:36:03 +01:00
Nick Rolfe
a3628b06f1
Ruby: fix markup in changenote
2022-07-11 17:23:45 +01:00
Nick Rolfe
032aa56dc3
Ruby: add change note for system command execution sink bug
2022-07-11 17:00:07 +01:00
Nick Rolfe
6632dfaf88
Ruby: fix another SystemCommandExecution::isShellInterpreted implementation
2022-07-11 16:53:30 +01:00
Raul Garcia
5d89a5d164
Update csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql
...
Co-authored-by: Taus <tausbn@github.com >
2022-07-11 08:42:50 -07:00
Raul Garcia
156bc34cda
Update UnsafeUsageOfClientSideEncryptionVersion.qhelp
2022-07-11 08:41:05 -07:00
thiggy1342
ad7c3e7217
Merge branch 'main' into experimental-manually-check-request-verb
2022-07-11 10:20:07 -04:00
thiggy1342
539fbbc126
Merge branch 'main' into experimental-strong-params
2022-07-11 10:20:00 -04:00
Nick Rolfe
348ad95fc0
Ruby: fix defining every dataflow node as a command execution sink
2022-07-11 15:06:27 +01:00
Paolo Tranquilli
93d06daf67
Swift: allow skipping fields in cppgen
...
Some fields of base classes pose some problems with diamond hierarchies,
and we don't use them any way as we are emitting them using directly
trap entries instead of structured C++ classes.
This introduces a `cpp_skip` pragma to skip generation of those fields
in structured generated C++ classes, and applies it to `is_unknown` and
`location`.
2022-07-11 15:59:21 +02:00
Paolo Tranquilli
39406436bf
Swift: extract IfConfigDecl
...
This also adds `UnresolvedDeclRefExpr` tests, as `IfConfigDecl`
consistently introduces those.
2022-07-11 15:11:13 +02:00
Ben Rodes
a6048dd594
Merge branch 'github:main' into main
2022-07-11 08:49:13 -04:00
Jeroen Ketema
93a4a32527
Merge pull request #9786 from jketema/lossy
...
C++: LossyFunctionResultCast updates
2022-07-11 14:14:33 +02:00
Robert Marsh
bbd7e62341
Merge pull request #9793 from jketema/nullness
...
C++: Add tests for `AnalysedExpr::isNullCheck` and `AnalysedExpr::isValidCheck`
2022-07-11 08:07:24 -04:00
Ian Lynagh
28a8999b74
Java: Add an upgrade script
2022-07-11 12:09:48 +01:00
Ian Lynagh
aa07600f5a
Java: Update stats
2022-07-11 12:09:48 +01:00
Erik Krogh Kristensen
9ed7aa9fae
exclude variables in .vue files form js/unused-local-variable
2022-07-11 12:52:23 +02:00
Chris Smowton
74641ccfee
Simplify test for no-arg constructor
2022-07-11 11:01:19 +01:00
Jeroen Ketema
6b2154eb8b
C++: Add tests for AnalysedExpr::isNullCheck and AnalysedExpr::isValidCheck
2022-07-11 11:54:48 +02:00
Paolo Tranquilli
7d5dd384c3
Swift: extract UnresolvedPatternExpr
2022-07-11 10:59:00 +02:00
Paolo Tranquilli
7c3cadc9b6
Swift: extract OpenedArchetypeType
2022-07-11 10:48:21 +02:00
thiggy1342
e8e8da1b31
fix lib test expect for ActionController
2022-07-08 19:01:01 +00:00
thiggy1342
5d3232c614
refactor to use data flow
2022-07-08 18:53:24 +00:00
thiggy1342
96e66c4a50
move tests
2022-07-08 18:39:04 +00:00
thiggy1342
0435105d16
Merge remote-tracking branch 'upstream/main' into experimental-strong-params
2022-07-08 18:36:09 +00:00
thiggy1342
6aab970a9e
refactor query to use cfg and dataflow
2022-07-08 18:32:54 +00:00
thiggy1342
bd50fd7f1e
format fix
2022-07-08 17:20:41 +00:00
thiggy1342
11e39aa030
Add changelog
2022-07-07 21:40:16 +00:00
thiggy1342
940254d251
update framework tests
2022-07-07 19:39:59 +00:00
thiggy1342
b4869158f2
expand query tests for cwe-089
2022-07-07 19:23:57 +00:00
thiggy1342
2f1cfa816f
Add annotate arguments as sqli sink
2022-07-07 19:23:06 +00:00
Raul Garcia
f8994d04d6
Clean up
2022-07-07 11:49:05 -07:00
REDMOND\brodes
4379aa4398
Adding Initializer in condition as an occurance of isDef
2022-07-07 10:32:36 -04:00
Raul Garcia
01da877d0e
Moving the new query to experimental. It was added to the wrong folder initially.
2022-07-06 14:07:14 -07:00
Jeroen Ketema
0b471c2007
C++: Improve LossyFunctionResultCast join order
...
Before on wireshark:
```
Tuple counts for #select#ff@eca61bf2:
180100 ~2% {2} r1 = SCAN Type::Type::getUnderlyingType#dispred#f0820431#ff OUTPUT In.1, In.0
84 ~2% {2} r2 = JOIN r1 WITH project#Type::FloatingPointType#class#2e8eb3ef#fffff ON FIRST 1 OUTPUT Lhs.1, Rhs.0
2021 ~0% {2} r3 = JOIN r2 WITH Function::Function::getType#dispred#f0820431#fb_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2437 ~0% {2} r4 = JOIN r3 WITH Call::FunctionCall::getTarget#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
2150 ~0% {2} r5 = r4 AND NOT LossyFunctionResultCast::whiteListWrapped#377b528a#f(Lhs.1)
2150 ~0% {2} r6 = SCAN r5 OUTPUT In.1, In.0
313 ~0% {3} r7 = JOIN r6 WITH exprconv ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
313 ~0% {3} r8 = JOIN r7 WITH Cast::Conversion#class#1f33e835#b ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
148 ~3% {2} r9 = JOIN r8 WITH Expr::Expr::isCompilerGenerated#f0820431#b ON FIRST 1 OUTPUT Lhs.2, Lhs.1
148 ~1% {3} r10 = JOIN r9 WITH Expr::Expr::getActualType#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
21 ~0% {3} r11 = JOIN r10 WITH Type::IntegralType#class#2e8eb3ef#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
21 ~0% {3} r12 = JOIN r11 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
21 ~0% {2} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, ("Return value of type " ++ Lhs.2 ++ " is implicitly converted to " ++ Rhs.1 ++ " here.")
return r13
```
After:
```
Tuple counts for #select#ff@a5a185eg:
20 ~0% {2} r1 = SCAN project#Type::FloatingPointType#class#2e8eb3ef#fffff OUTPUT In.0, In.0
20 ~0% {2} r2 = JOIN r1 WITH project#Type::FloatingPointType#class#2e8eb3ef#fffff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
84 ~2% {2} r3 = JOIN r2 WITH Type::Type::getUnderlyingType#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2021 ~0% {2} r4 = JOIN r3 WITH Function::Function::getType#dispred#f0820431#fb_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2437 ~0% {2} r5 = JOIN r4 WITH Call::FunctionCall::getTarget#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Rhs.1
2150 ~0% {2} r6 = r5 AND NOT LossyFunctionResultCast::whiteListWrapped#377b528a#f(Lhs.1)
2150 ~0% {2} r7 = SCAN r6 OUTPUT In.1, In.0
313 ~0% {3} r8 = JOIN r7 WITH exprconv ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
313 ~0% {3} r9 = JOIN r8 WITH Cast::Conversion#class#1f33e835#b ON FIRST 1 OUTPUT Lhs.0, Lhs.1, Lhs.2
148 ~3% {2} r10 = JOIN r9 WITH Expr::Expr::isCompilerGenerated#f0820431#b ON FIRST 1 OUTPUT Lhs.2, Lhs.1
148 ~1% {3} r11 = JOIN r10 WITH Expr::Expr::getActualType#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0
21 ~0% {3} r12 = JOIN r11 WITH Type::IntegralType#class#2e8eb3ef#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0
21 ~0% {3} r13 = JOIN r12 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.1, Rhs.1
21 ~0% {2} r14 = JOIN r13 WITH Element::ElementBase::toString#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, ("Return value of type " ++ Lhs.2 ++ " is implicitly converted to " ++ Rhs.1 ++ " here.")
return r14
```
2022-07-06 21:53:12 +02:00
Jeroen Ketema
7d6fb7f91a
C++: Rename LossyFunctionResultCast tests to be correctly named
2022-07-06 21:52:13 +02:00
REDMOND\brodes
74ff579dbc
Fixing logic bug with LogicalAndExpr
2022-07-06 15:19:36 -04:00
Raul Garcia
dd1a9a22e3
Update UnsafeUsageOfClientSideEncryptionVersion.qhelp
2022-07-05 13:58:38 -07:00
Raul Garcia
f5c6b45014
Update UnsafeUsageOfClientSideEncryptionVersion.qhelp
2022-07-05 13:58:11 -07:00
Raul Garcia
56060e0610
Update csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2022-07-05 13:57:28 -07: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
Mathias Vorreiter Pedersen
3bacb18315
Merge pull request #9770 from MathiasVP/nomagic-use-in-own-init
...
C++: Add `nomagic` to `VariableAccessInInitializer`
2022-07-02 16:35:45 +01:00
Chris Smowton
4d45a2ca87
Merge pull request #9775 from smowton/smowton/fix/accessors-respect-private-member-exclusion
...
Kotlin: don't extract private setters of external classes
2022-07-02 10:27:06 +01:00
Raul Garcia
e43e5810cf
New queries to detect unsafe client side encryption in Azure Storage
2022-07-01 17:08:35 -07:00
Mathias Vorreiter Pedersen
e98bdbf73f
Merge pull request #9773 from geoffw0/stringlengthconflation4
...
Swift: More improvements to swift/string-length-conflation
2022-07-01 17:46:04 +01:00
Geoffrey White
e38254c05e
Swift: Fix typo.
2022-07-01 17:00:36 +01:00
Ian Lynagh
1730ec22d9
Kotlin: Extract an ErrorType if we fail to correctly extract a type
2022-07-01 16:33:43 +01:00
Chris Smowton
b499ba5aa8
Kotlin: don't extract private setters of external classes
...
Previously these would get extracted unlike other private methods even if the class was a standard library or other external class. This could cause inconsistencies because if we also compiled the class from source we could end up deciding different names for the property's setter: setXyz$private when seen from source, and setXyz without a
suffix when seen as an external .class file. Avoiding extracting these functions from the external perspective both restores consistency with other kinds of method and avoids these consistency problems.
2022-07-01 15:44:17 +01:00
Paolo Tranquilli
c393c9b03e
Revert "Fix change note check to accept changes to itself"
...
This reverts commit 2dca78295d .
2022-07-01 16:41:09 +02:00
Paolo Tranquilli
2dca78295d
Fix change note check to accept changes to itself
...
The file is not removed from the triggers, as we still want to check
that the workflow file itself is correct.
2022-07-01 16:35:30 +02:00
Paolo Tranquilli
e88cc31468
Swift: disable change note checking for now
2022-07-01 16:16:21 +02:00
Paolo Tranquilli
563d27333a
Merge pull request #9772 from github/redsun82/swift-extraction
...
Swift: extract ImportDecl and ModuleDecl
2022-07-01 16:14:23 +02:00
Geoffrey White
34ffd1aac5
Swift: Support String.Index and flow through * /.
2022-07-01 14:59:50 +01:00
Geoffrey White
d60d2457c2
Swift: Add String.Index.init as a source as as well.
2022-07-01 14:59:50 +01:00
Geoffrey White
bc03f6959c
Swift: Detect String -> NSString results.
2022-07-01 14:59:50 +01:00
Geoffrey White
a306f312cd
Swift: Add a test of converting Range to NSRange.
2022-07-01 14:59:50 +01:00
Geoffrey White
416977dc50
Swift: Add test cases for removeFirst, removeLast.
2022-07-01 14:59:50 +01:00
Paolo Tranquilli
8addc06799
Swift: add integration test for multiple modules
2022-07-01 15:59:36 +02:00
Paolo Tranquilli
227dad8bf5
Merge main into redsun82/swift-extraction
2022-07-01 15:56:23 +02:00
Paolo Tranquilli
7a1c3800e6
Merge pull request #9771 from github/redsun82/swift-integration-test-runner
...
Swift: locally run integration tests
2022-07-01 15:54:27 +02:00
Paolo Tranquilli
e575bab9d6
Revert unwanted committed files
2022-07-01 15:45:28 +02:00
Paolo Tranquilli
f9143f7855
Swift: fix extraction of empty files
2022-07-01 15:43:16 +02:00
Chris Smowton
4c6a9772af
Merge pull request #9768 from smowton/smowton/fix/internal-method-name-mangling
...
Kotlin: Mangle names of internal functions to match JVM symbols
2022-07-01 14:33:32 +01:00
Paolo Tranquilli
3a975174c3
Swift: extract ImportDecl and ModuleDecl
...
As `ASTMangler` crashes when called on `ModuleDecl`, we simply use
its name.
This might probably not work reliably in a scenario where multiple
modules are compiled with the same name (like `main`), but this is left
for future work. At the moment this cannot create DB inconsistencies.
2022-07-01 15:29:30 +02:00
Paolo Tranquilli
7a7440a115
Swift: move createEntry to SwiftDispatcher
2022-07-01 15:22:44 +02:00
Paolo Tranquilli
24da81fdb0
Swift: disable integration tests on macOS for now
...
Also, add swift workflow to code owned by the C team
2022-07-01 15:00:05 +02:00
Paolo Tranquilli
901e066355
Swift: locally run integration tests
...
Minimal recreations of internal `integration-tests-runner.py` and
`create_database_utils.py` are provided to be able to run the
integration tests on the codeql repository with a released codeql CLI.
For the moment we skip the database checks by default, as we are still
producing inconsistent results.
2022-07-01 15:00:05 +02:00
CodeQL CI
5b5a52fa25
Merge pull request #9551 from yoff/python/port-tarslip
...
Approved by RasmusWL
2022-07-01 12:58:25 +01:00
Erik Krogh Kristensen
7dd095c0d2
Merge pull request #9756 from erik-krogh/greyMatter
...
JS: add model for the gray-matter library to js/code-injection
2022-07-01 12:19:12 +02:00
Mathias Vorreiter Pedersen
e4636be8db
C++: Add 'nomagic' to the charpred of 'VariableAccessInInitializer'.
2022-07-01 11:07:18 +01:00
Chris Smowton
14aef792e0
Accept test changes
2022-07-01 10:35:17 +01:00
Chris Smowton
df78b7e54b
Merge pull request #9755 from smowton/smowton/feature/implement-jvmstatic-annotation
...
Kotlin: support JvmStatic annotation
2022-07-01 10:14:08 +01:00
Paolo Tranquilli
8336c67edb
Merge pull request #9762 from github/alexdenisov/vfs-followup
...
Swift: cleanup
2022-07-01 09:00:54 +02:00
Chris Smowton
b9eec13466
Accept integration test changes
2022-06-30 22:21:04 +01:00
Chris Smowton
dd93062101
Kotlin: Mangle names of internal functions to match JVM symbols
2022-06-30 21:56:25 +01:00
Ian Lynagh
144c0d63b1
Merge pull request #9766 from igfoo/igfoo/extension
...
Kotlin: Fix a label
2022-06-30 21:16:26 +01:00
Erik Krogh Kristensen
ef0ec396c4
Merge pull request #9754 from erik-krogh/chownr
...
JS: add model for chownr
2022-06-30 22:02:45 +02:00
Jeroen Ketema
08b1c5495a
Merge pull request #9767 from igfoo/igfoo/typo
...
C++: Typo: intrepret
2022-06-30 20:00:03 +02:00
Ian Lynagh
57e026d617
C++: Typo: intrepret
2022-06-30 18:22:17 +01:00
Henry Mercer
9b424ac8b2
Docs: Update guidance to install the _latest_ version of the bundle
2022-06-30 17:38:18 +01:00
Henry Mercer
92a9738bd5
Docs: Fix precedence of registries list
2022-06-30 17:32:00 +01:00
Henry Mercer
3bb51c2643
Fix rst header
2022-06-30 17:07:42 +01:00
Ian Lynagh
b373af47d1
Kotlin: Fix a label
...
We want the .javaResult.id of a TypeResults.
2022-06-30 16:59:18 +01:00
Chris Smowton
570e418b22
Fix ordering PrintAst nodes
2022-06-30 16:07:32 +01:00
Chris Smowton
ec95cbace4
PrintAst: Tie-break multiple class members created at the same source location
...
Otherwise Kotlin introducing a getter, setter and field declaration based on the same property tied in the sort order, and so could be output in different orders on different machines.
2022-06-30 15:29:56 +01:00
Chris Smowton
0d0d240fd4
Accept test changes re: new compiler-generated nodes
2022-06-30 15:29:20 +01:00
Ian Lynagh
83fd9c3b3e
Merge pull request #9763 from igfoo/igfoo/foreach
...
Kotlin: Replace a map call with forEach
2022-06-30 15:02:57 +01:00
Mathias Vorreiter Pedersen
6b5785bffa
Merge pull request #9765 from geoffw0/stringlengthconflation3
...
Swift: Improvements to the string length conflation query
2022-06-30 14:49:12 +01:00
Erik Krogh Kristensen
eaec1ac561
add change-note
2022-06-30 15:11:49 +02:00
yoff
cf9b69b5f2
python: More helpful comment
2022-06-30 13:07:13 +00:00
yoff
b0a29b146a
Update python/ql/lib/semmle/python/security/dataflow/TarSlipQuery.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-06-30 14:54:01 +02:00
yoff
df7ffb2880
Update python/ql/lib/semmle/python/security/dataflow/TarSlipCustomizations.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-06-30 14:53:49 +02:00
Ian Lynagh
0e56e50d18
Kotlin: Replace a map call with forEach
2022-06-30 13:50:22 +01:00
Chris Smowton
8214c3b78e
Add AST dump for JvmStatic annotation test
2022-06-30 13:11:43 +01:00
Chris Smowton
98761041f1
Prevent labelling proxies of default getters and setters as themselves default getters and setters
2022-06-30 13:11:00 +01:00
Chris Smowton
bf581b971c
Rename willExtract properties to shouldExtract
2022-06-30 12:51:09 +01:00
Chris Smowton
5a47e1dd95
Annotate generated static proxy methods as compiler-generated
2022-06-30 12:48:11 +01:00
Chris Smowton
466cf7573b
Autoformat
2022-06-30 12:42:39 +01:00
Chris Smowton
b4124ac553
Add test
2022-06-30 12:42:39 +01:00
Chris Smowton
bfdb21d551
Kotlin: support JvmStatic annotation
...
This makes non-companion object methods into static methods, and for companion objects introduces static proxy methods that call the companion instance method.
Note this doesn't quite implement what kotlinc does, since it will also eliminate getters and setters by promoting an object field into a static field, but our translation is simpler and only differs in private members' details.
2022-06-30 12:42:38 +01:00
Chris Smowton
28c05e7a56
Merge pull request #9704 from smowton/smowton/fix/generic-inner-class
...
Kotlin: note that raw inner classes nest within a raw outer
2022-06-30 12:10:36 +01:00
Geoffrey White
68c76006bd
Swift: Allow trivial taint-like flow.
2022-06-30 11:52:57 +01:00
Geoffrey White
0251fb2d35
Swift: Add result annotations to test.
2022-06-30 11:52:44 +01:00
Geoffrey White
2bd25fc589
Swift: Add QLDoc.
2022-06-30 11:52:17 +01:00
Mathias Vorreiter Pedersen
51e3ff9d09
Merge pull request #9736 from github/redsun82/swift-fix-warnings
...
Swift: fix QL warnings about overriding methods
2022-06-30 11:44:44 +01:00
Alex Denisov
5a04d62969
Swift: cleanup extraction
2022-06-30 12:32:03 +02:00
Alex Denisov
133a6caaa3
Swift: cleanup output rewriting code
2022-06-30 12:03:53 +02:00
AlexDenisov
4367044a8b
Merge pull request #9702 from github/alexdenisov/swift-multiple-modules
...
Swift: emit intermediate build artifacts for own consumption later
2022-06-30 11:24:48 +02:00
Chris Smowton
ab52a020fa
Add test
2022-06-30 10:22:56 +01:00
Chris Smowton
8e5bbea9f9
Use map...firstOrNull not firstNotNullOfOrNull
...
The latter was introduced in Kotlin 1.5, so we can't use it in all supported versions.
2022-06-30 10:15:44 +01:00
Chris Smowton
2d98eb591e
Kotlin: note that raw inner classes nest within a raw outer.
...
Previously the Java extractor did this but the Kotlin extractor nested them within an unbound outer type.
2022-06-30 10:15:44 +01:00
AlexDenisov
d42b752c6d
Apply suggestions from code review
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-30 11:10:43 +02:00
Nick Rolfe
02dd933e5f
Ruby: move Pathname from core to stdlib
2022-06-30 10:08:25 +01:00
AlexDenisov
b5c1ec8958
Update swift/extractor/SwiftOutputRewrite.cpp
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-30 11:08:23 +02:00
AlexDenisov
6b0e734c47
Update swift/extractor/SwiftOutputRewrite.cpp
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-30 11:06:03 +02:00
AlexDenisov
b9f4a09f19
Merge branch 'main' into alexdenisov/swift-multiple-modules
2022-06-30 10:13:34 +02:00
AlexDenisov
de9e8855a8
Merge pull request #9759 from github/alexdenisov/fix-test-file
...
Swift: fix test case
2022-06-30 09:33:19 +02:00
Tony Torralba
48d85407ad
Merge pull request #9757 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-06-30 09:21:04 +02:00
Erik Krogh Kristensen
11be15aab1
inline field into the charpred
2022-06-30 09:00:10 +02:00
Erik Krogh Kristensen
f71a64b99d
recognize when the js engine in gray-matter is set to something safe
2022-06-30 09:00:10 +02:00
Erik Krogh Kristensen
22d285f777
add model for the gray-matter libary to js/code-injection
2022-06-30 09:00:10 +02:00
Alex Denisov
1dd3141e2d
Swift: address more code review comments
2022-06-30 08:57:22 +02:00
Alex Denisov
35da75f685
Swift: rename method
2022-06-30 08:48:36 +02:00
AlexDenisov
522d48aa33
Apply suggestions from code review
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-06-30 08:47:17 +02:00
Alex Denisov
5d5f3f82b1
Swift: fix test case
2022-06-30 07:41:28 +02:00
AlexDenisov
7ee11056d7
Merge pull request #9750 from github/alexdenisov/extract-imported-modules
...
Swift: also extract imported modules
2022-06-30 07:15:51 +02:00
github-actions[bot]
e9d3f658a3
Add changed framework coverage reports
2022-06-30 00:18:31 +00:00
Erik Krogh Kristensen
7cef4322e7
add model for chownr
2022-06-29 22:09:23 +02:00
Andrew Eisenberg
fbeecd6c08
Merge pull request #9744 from github/aeisenberg/move-contextual-queries
2022-06-29 11:44:33 -07:00
Andrew Eisenberg
06c68661ed
Merge pull request #9753 from github/aeisenberg/pack-pull-quote
...
Recommend installing the latest version of the CLI to use packaging
2022-06-29 10:46:24 -07:00
Erik Krogh Kristensen
399fd85fd8
Merge pull request #9748 from erik-krogh/navigation
...
JS: add navigation.navigate as an XSS / URL sink
2022-06-29 19:34:59 +02:00
Andrew Eisenberg
3c8f415f69
Recommend installing the latest version of the CLI to use packaging
2022-06-29 10:33:27 -07:00
Andrew Eisenberg
7864a7580e
Fix import statements
2022-06-29 10:22:45 -07:00
Andrew Eisenberg
41244180b3
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2022-06-29 10:18:13 -07:00
Andrew Eisenberg
ddf06f8617
Add change notes and qldoc for moved files
2022-06-29 10:03:12 -07:00
Henry Mercer
4dcec2b98c
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2022-06-29 17:49:59 +01:00
Alex Denisov
5233a5e17b
Swift: also extract imported modules
2022-06-29 17:27:57 +02:00
Andrew Eisenberg
a3f4d1bf66
Move contextual queries from src to lib
...
With this change, users are now able to run View AST command in
vscode within vscode workspaces that do not include the core libraries.
The relevant core library only needs to be installed in the package
cache.
2022-06-29 07:51:26 -07:00
Alex Ford
578a967160
Merge pull request #9641 from boveus/patch-1
...
Make ActiveRecordInstanceMethodCall Public
2022-06-29 14:39:36 +01:00
Paolo Tranquilli
d00fec34c3
Merge pull request #9336 from MathiasVP/swift-decls-in-cfg
...
Swift: CFG for local declarations
2022-06-29 15:10:45 +02:00
Erik Krogh Kristensen
0e4954a68c
add navigation.navigate as an XSS / URL sink
2022-06-29 14:56:20 +02:00
Brandon Stewart
5888325549
Merge branch 'main' into patch-1
2022-06-29 08:42:24 -04:00
Mathias Vorreiter Pedersen
e03646aba4
Merge pull request #9737 from geoffw0/arithmetic
...
Swift: Add ArithmeticOperation.qll library
2022-06-29 13:40:20 +01:00
Nick Rolfe
5db2f9a768
Merge remote-tracking branch 'origin/main' into nickrolfe/pathname
2022-06-29 13:16:49 +01:00
Nick Rolfe
c1302a90e0
Ruby: use MaD for more precise Pathname flow summaries
2022-06-29 13:16:18 +01:00
yoff
8988a02806
Merge pull request #9733 from tausbn/python-fix-bad-mro-flatten-list-join
...
Python: Fix bad join in MRO `flatten_list`
2022-06-29 13:29:48 +02:00
yoff
f122af81ea
Merge pull request #9741 from tausbn/python-fix-bad-join-in-regexpbackref-getgroup
...
Python: Fix bad join in `RegExpBackRef::getGroup`
2022-06-29 13:23:07 +02:00
Mathias Vorreiter Pedersen
f35ab7c292
Swift: Accept test changes to the cfg. These happen due to the fixes in 9e0cf62cda.
2022-06-29 12:20:07 +01:00
yoff
731f866242
Merge pull request #9717 from tausbn/python-fix-bad-mro-linearization-of-bases-join
...
Python: Fix bad join in MRO
2022-06-29 13:08:18 +02:00
Mathias Vorreiter Pedersen
15dc08351e
Merge pull request #9747 from MathiasVP/fix-joins-in-swift-cwe-135
...
Swift: Don't join on index in `swift/string-length-conflation`
2022-06-29 11:58:36 +01:00
Geoffrey White
8b7535af81
Swift: Don't use abstract classes.
2022-06-29 11:49:22 +01:00
Geoffrey White
2cf65c7d35
Swift: Autoformat tests.
2022-06-29 11:49:21 +01:00
Geoffrey White
822002d37d
Swift: Missing qldoc.
2022-06-29 11:49:20 +01:00
Mathias Vorreiter Pedersen
cc25e2644f
Swift: Don't join on index in 'swift/string-length-conflation'.
2022-06-29 11:40:46 +01:00
Ian Lynagh
d285e19e77
Merge pull request #9731 from igfoo/igfoo/private
...
Kotlin: Make more methods private
2022-06-29 11:24:33 +01:00
Mathias Vorreiter Pedersen
4356155eeb
Merge branch 'main' into swift-decls-in-cfg
2022-06-29 10:03:34 +01:00
Alex Denisov
4d81206a87
Swift: teach extractor to emit build artifacts for later consumption
2022-06-29 10:58:24 +02:00
AlexDenisov
1997d6b18c
Merge pull request #9745 from github/alexdenisov/put-traps-into-a-temp-folder
...
Swift: store TRAP files in a temporary folder until the extraction is complete
2022-06-29 10:55:27 +02:00
Jeroen Ketema
55e052af26
Merge pull request #9686 from aschackmull/dataflow/no-node-scan
...
Dataflow performance: Avoid node scans
2022-06-29 10:38:56 +02:00
AlexDenisov
e1ef637c54
Update swift/extractor/SwiftExtractorConfiguration.h
...
Co-authored-by: Jeroen Ketema <93738568+jketema@users.noreply.github.com >
2022-06-29 10:16:14 +02:00
AlexDenisov
968ede3d4a
Merge pull request #9746 from github/alexdenisov/add-test-case-showing-modules-loading-issue
...
Swift: add a test case showing module loading problem
2022-06-29 10:07:56 +02:00
Paolo Tranquilli
296b8cb630
Merge pull request #9719 from github/redsun82/swift-enum-is-case
...
Swift: add EnumIsCase test
2022-06-29 09:55:20 +02:00
Tony Torralba
12fa6967dc
Merge pull request #8669 from joefarebrother/intent-verification
...
Java: Add query for Improper Verification of Intent by Broadcast Receiver (CWE-925)
2022-06-29 09:43:07 +02:00
Jeroen Ketema
8b13d1fab8
Merge pull request #9726 from github/rdmarsh2/stack-address-join-order
...
C++: fix join order in UsingExpiredStackAddress
2022-06-29 09:35:47 +02:00
Tony Torralba
741b2a923a
Merge pull request #9207 from joefarebrother/android-external-storage
...
Java: Add sources for Android external storage
2022-06-29 09:34:51 +02:00
Alex Denisov
57811a4efc
Swift: add a test case showing module loading problem
...
Extractor fails to load separate modules that were built by another
version of an actual compiler.
2022-06-29 07:38:18 +02:00
Alex Denisov
488befb577
Swift: store TRAP files in a temporary folder until the extraction is complete
...
Currently, we have a number of assertions in the codebase and certain
assumptions about the AST. These don't always hold, sometimes leading to
a crash in the extractor.
The crashes leave incomplete TRAP files that cannot be imported into the
database.
With this change, we still get those incomplete TRAP files, but we also
get a database in the end (even thoough it is also incomplete as we
cannot import everything).
2022-06-29 07:17:06 +02:00
AlexDenisov
6c68872163
Merge pull request #9743 from MathiasVP/fix-path-problem
...
Swift: Fix `kind` in `swift/string-length-conflation`
2022-06-29 06:58:36 +02:00
Mathias Vorreiter Pedersen
c2e57c3c9b
Swift: Fix 'kind' in 'swift/string-length-conflation'.
2022-06-28 22:33:28 +01:00
Brandon Stewart
13fae22756
Merge branch 'main' into patch-1
2022-06-28 17:27:07 -04:00
yoff
1105cd569b
Merge branch 'main' into python/port-tarslip
2022-06-28 22:17:28 +02:00
yoff
6087bc6888
Merge branch 'main' into python/more-logic-tests
2022-06-28 22:16:38 +02:00
yoff
ac0c8d238f
python: only clear taint on false-edge
2022-06-28 20:14:52 +00:00
Taus
38b8640582
Python: Fix bad join in RegExpBackRef::getGroup
...
Although this wasn't (as far as I know) causing any performance issues,
it was making the join-order badness report quite noisy, and so I
figured it was worth fixing.
Before:
```
Tuple counts for RegexTreeView::RegExpBackRef::getGroup#dispred#f0820431#ff/2@d3441d0b after 84ms:
1501195 ~3% {2} r1 = JOIN RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff_10#join_rhs WITH RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'result', Lhs.1 'result'
149 ~0% {5} r2 = JOIN r1 WITH RegexTreeView::RegExpBackRef#class#31aac2a7#ffff ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Rhs.3, Lhs.1 'result', Lhs.0 'this'
149 ~1% {3} r3 = JOIN r2 WITH regex::RegexString::numbered_backreference#dispred#f0820431#ffff ON FIRST 3 OUTPUT Lhs.3 'result', Rhs.3, Lhs.4 'this'
4 ~0% {2} r4 = JOIN r3 WITH RegexTreeView::RegExpGroup::getNumber#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'result'
1501195 ~3% {2} r5 = JOIN RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff_10#join_rhs WITH RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'result', Rhs.1 'result'
42526 ~0% {5} r6 = JOIN r5 WITH RegexTreeView::RegExpGroup#31aac2a7#ffff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.0 'result', Rhs.1, Rhs.2, Rhs.3
22 ~0% {8} r7 = JOIN r6 WITH RegexTreeView::RegExpBackRef#class#31aac2a7#ffff ON FIRST 1 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.1 'result', Lhs.0 'this', Rhs.1, Rhs.2, Rhs.3
0 ~0% {6} r8 = JOIN r7 WITH regex::RegexString::getGroupName#dispred#f0820431#ffff ON FIRST 3 OUTPUT Lhs.5, Lhs.6, Lhs.7, Rhs.3, Lhs.3 'result', Lhs.4 'this'
0 ~0% {2} r9 = JOIN r8 WITH regex::RegexString::named_backreference#dispred#f0820431#ffff ON FIRST 4 OUTPUT Lhs.5 'this', Lhs.4 'result'
4 ~0% {2} r10 = r4 UNION r9
return r10
```
In this case I opted for a classical solution: tying together the
literal and number (or name) part of the backreference in order to
encourage a two-column join.
After:
```
Tuple counts for RegexTreeView::RegExpBackRef::getGroup#dispred#f0820431#ff/2@b0cc4d5n after 0ms:
898 ~1% {3} r1 = JOIN RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff WITH RegexTreeView::RegExpGroup::getNumber#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1, Lhs.0 'result'
4 ~0% {2} r2 = JOIN r1 WITH RegexTreeView::RegExpBackRef::hasLiteralAndNumber#f0820431#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2 'this', Lhs.2 'result'
1110 ~0% {5} r3 = JOIN RegexTreeView::RegExpGroup#31aac2a7#ffff WITH RegexTreeView::RegExpTerm::getLiteral#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.0 'result', Rhs.1
146 ~0% {3} r4 = JOIN r3 WITH regex::RegexString::getGroupName#dispred#f0820431#ffff ON FIRST 3 OUTPUT Lhs.4, Rhs.3, Lhs.3 'result'
0 ~0% {2} r5 = JOIN r4 WITH RegexTreeView::RegExpBackRef::hasLiteralAndName#f0820431#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2 'this', Lhs.2 'result'
4 ~0% {2} r6 = r2 UNION r5
return r6
```
2022-06-28 16:51:09 +00:00
Andrew Eisenberg
0f8ffb12e6
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
2022-06-28 09:45:54 -07:00
Mathias Vorreiter Pedersen
f97cc9e37c
Merge pull request #9739 from MathiasVP/swift-conflation-query-high-precision
...
Swift: Set 'swift/string-length-conflation' to precision `high`
2022-06-28 17:26:23 +01:00
Mathias Vorreiter Pedersen
1a7f5db8e2
Swift: Set 'swift/string-length-conflation' to precision high and delete the placeholder query.
2022-06-28 17:01:06 +01:00
Mathias Vorreiter Pedersen
f2ae73b6be
Merge pull request #9738 from geoffw0/misc
...
Swift: Add a Locatable.getFile() shortcut similar to the one in CPP.
2022-06-28 16:44:02 +01:00
Erik Krogh Kristensen
b81251865f
Merge pull request #9716 from erik-krogh/htmlTypeSan
...
JS: sanitize non-strings from html-constructed-from-input
2022-06-28 17:31:00 +02:00
Mathias Vorreiter Pedersen
677f6dafcd
Merge pull request #9732 from github/redsun82/swift-dot-syntax-call-expr
...
Swift: add DotSyntaxCallExpr tests
2022-06-28 16:09:10 +01:00
Geoffrey White
ff06e3cb6b
Swift: Add a Locatable.getFile() shortcut similar to the one in CPP.
2022-06-28 15:49:49 +01:00
Geoffrey White
8a8a7ead9b
Swift: Add tests for ArithmeticOperation.qll.
2022-06-28 15:34:23 +01:00
Geoffrey White
a5fff9af5d
Swift: Create ArithmeticOperation.qll.
2022-06-28 15:34:15 +01:00
Geoffrey White
9e0cf62cda
Swift: Fix + simplify LogicalOperation.qll.
2022-06-28 15:33:03 +01:00
Paolo Tranquilli
363f7a88a9
Swift: fix QL warnings about overriding methods
...
The `getName` in `Type.qll` was issuing a warning in other generated
classes having a `getName` from a `name` property in `schema.yml`.
To fix the possible inconsistency, `diagnostic_name` is being renamed to
`name` in the schema. Despite the scary doc comment on
`swift::Type::getString` (namely `for use in diagnostics only`), that
seems to be the right generic naming mechanism for types, and it
coincides with the name we were extracting on types with an explicit
`name` property.
In case we find a case where `Type::getString` gives something wrong,
we can probably just patch it on that specific type class.
2022-06-28 16:30:25 +02:00
Taus
b98c482c47
Python: Fix bad join in MRO flatten_list
...
This bad join was identified by the join-order-badness report, which
showed that:
py/use-of-input:MRO::flatten_list#f4eaf05f#fff#9c5fe54whnlqffdgu65vhb8uhpg# (order_500000)
calculated a whopping 212,820,108 tuples in order to produce an output of
size 55516, roughly 3833 times more effort than needed.
Here's a snippet of the slowest iteration of that predicate:
```
Tuple counts for MRO::flatten_list#f4eaf05f#fff/3@i1839#0265eb3w after 14ms:
0 ~0% {3} r1 = JOIN MRO::need_flattening#f4eaf05f#f#prev_delta WITH MRO::ConsList#f4eaf05f#fff#reorder_2_0_1#prev ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'list', Rhs.2
0 ~0% {3} r2 = JOIN r1 WITH MRO::ClassList::length#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'list', Rhs.1 'n'
0 ~0% {3} r3 = JOIN r2 WITH MRO::ClassListList::flatten#dispred#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1 'list', Lhs.2 'n', Rhs.1 'result'
0 ~0% {3} r4 = SCAN MRO::ConsList#f4eaf05f#fff#prev_delta OUTPUT In.2 'list', In.0, In.1
0 ~0% {3} r5 = JOIN r4 WITH MRO::need_flattening#f4eaf05f#f#prev ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0 'list'
0 ~0% {3} r6 = JOIN r5 WITH MRO::ClassList::length#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1, Lhs.2 'list', Rhs.1 'n'
0 ~0% {3} r7 = JOIN r6 WITH MRO::ClassListList::flatten#dispred#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1 'list', Lhs.2 'n', Rhs.1 'result'
0 ~0% {3} r8 = r3 UNION r7
26355 ~2% {3} r9 = SCAN MRO::ConsList#f4eaf05f#fff#prev OUTPUT In.2 'list', In.0, In.1
0 ~0% {3} r10 = JOIN r9 WITH MRO::need_flattening#f4eaf05f#f#prev ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0 'list'
0 ~0% {3} r11 = JOIN r10 WITH MRO::ClassList::length#f0820431#ff#prev_delta ON FIRST 1 OUTPUT Lhs.1, Lhs.2 'list', Rhs.1 'n'
0 ~0% {3} r12 = JOIN r11 WITH MRO::ClassListList::flatten#dispred#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1 'list', Lhs.2 'n', Rhs.1 'result'
...
```
(... and a bunch more lines. The same construction appears several times,
but the join order is the same each time.)
Clearly it would be better to start with whatever is in `need_flattening`,
and then do the other joins. This is what the present fix does (by
unbinding `list` in all but the `needs_flattening` call).
After the fix, the slowest iteration is as follows:
```
Tuple counts for MRO::flatten_list#f4eaf05f#fff/3@i2617#8155ab3w after 9ms:
0 ~0% {2} r1 = SCAN MRO::need_flattening#f4eaf05f#f#prev_delta OUTPUT In.0 'list', In.0 'list'
0 ~0% {3} r2 = JOIN r1 WITH MRO::ConsList#f4eaf05f#fff#reorder_2_0_1#prev ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'list', Rhs.2
0 ~0% {3} r3 = JOIN r2 WITH MRO::ClassList::length#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'list', Rhs.1 'n'
0 ~0% {3} r4 = JOIN r3 WITH MRO::ClassListList::flatten#dispred#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1 'list', Lhs.2 'n', Rhs.1 'result'
1 ~0% {2} r5 = SCAN MRO::need_flattening#f4eaf05f#f#prev OUTPUT In.0 'list', In.0 'list'
0 ~0% {3} r6 = JOIN r5 WITH MRO::ConsList#f4eaf05f#fff#reorder_2_0_1#prev_delta ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'list', Rhs.2
0 ~0% {3} r7 = JOIN r6 WITH MRO::ClassList::length#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.2, Lhs.1 'list', Rhs.1 'n'
0 ~0% {3} r8 = JOIN r7 WITH MRO::ClassListList::flatten#dispred#f0820431#ff#prev ON FIRST 1 OUTPUT Lhs.1 'list', Lhs.2 'n', Rhs.1 'result'
...
```
(... and so on. The remainder is 0 tuples all the way.)
In total, we went from
```
40.6s | 7614 | 15ms @ 1839 | MRO::flatten_list#f4eaf05f#fff@0265eb3w
```
to
```
7.8s | 7614 | 11ms @ 2617 | MRO::flatten_list#f4eaf05f#fff@8155ab3w
```
2022-06-28 14:17:47 +00:00
Paolo Tranquilli
5c6ac2a5f2
Swift: accept test results
2022-06-28 16:15:05 +02:00
Geoffrey White
63376da90f
Swift: Add tests for LogicalOperaion.qll.
2022-06-28 15:04:47 +01:00
Paolo Tranquilli
6ff45d3dbe
Merge main into redsun82/swift-enum-is-case
2022-06-28 16:03:38 +02:00
Brandon Stewart
c7b4133fbe
Merge branch 'main' into patch-1
2022-06-28 09:46:46 -04:00
Paolo Tranquilli
364085a596
Swift: add DotSyntaxCallExpr tests
2022-06-28 15:44:42 +02:00
AlexDenisov
c4c3a52804
Merge pull request #9730 from github/redsun82/swift-trap-newlines
...
Swift: add missing newlines in trap
2022-06-28 15:41:05 +02:00
Ian Lynagh
3026456a39
Kotlin: Make more methods private
2022-06-28 14:38:13 +01:00
Jeroen Ketema
a7956ad422
C++: Add change note
2022-06-28 15:32:43 +02:00
Jeroen Ketema
82c9b8b494
C++: Ensure only one Variable exists for every global variable
...
Depending on the extraction order, before this change there might be multiple
`GlobalVariable`s per declared global variable. See the tests in
`cpp/ql/test/library-tests/variables/global`. This change ensures that only one
of those `GlobalVariable`s is visible to the user if we can locate a unique
definition. If not, the old situation persists.
Note that an exception needs to be made for templated variables. Here, the
definition refers to the non-instantiated template, while a declaration that
is not a definition refers to an instantiation. In case the instantiation refers
to a template parameter, the mangled names of the template and the instantiation
will be identical. This happens for example in the following case:
```
template <typename T>
T x = T(42); // Uninstantiated templated variable
template <typename T>
class C {
T y = x<T>; // Instantiation using a template parameter
};
```
Since the uninstantiated template and the instantiation are two different
entities, we do not unify them as described above.
2022-06-28 15:32:43 +02:00
Paolo Tranquilli
7175869518
Swift: add missing newlines in trap
...
This is mostly cosmetic and for debugging, as the trap importer is
perfectly happy with trap entries on the same line without spaces
between them.
2022-06-28 15:17:18 +02:00
Henry Mercer
a7bd2030b6
Address review comments
2022-06-28 13:52:26 +01:00
Brandon Stewart
33d1aae92a
Update ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-06-28 08:51:01 -04:00
Brandon Stewart
1dc26a0ca3
Update ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll
...
Co-authored-by: Harry Maclean <hmac@github.com >
2022-06-28 08:50:54 -04:00
Asger F
a522562f93
Merge pull request #9369 from asgerf/python/api-graph-api
...
Python: API graph renaming and documentation
2022-06-28 14:48:12 +02:00
Arthur Baars
6e836c7eb8
Merge pull request #9706 from aibaars/update-tree-sitter-ruby-2
...
Ruby: update tree-sitter-ruby
2022-06-28 14:14:15 +02:00
Erik Krogh Kristensen
112caa3f5d
rewrite qldoc based on review
2022-06-28 13:23:44 +02:00
yoff
834d2603a2
python: update use of barrier guard
2022-06-28 11:15:37 +00:00
Paolo Tranquilli
7f8bff571d
Merge pull request #9729 from github/redsun82/swift-extraction
...
Swift: extract `ProtocolCompositionType` and all `BuiltinType`s
2022-06-28 12:30:47 +02:00
Paolo Tranquilli
131524d867
Swift: accept test changes
...
These are due to the changes on `toBeTested` that include canonical
types.
2022-06-28 12:16:08 +02:00
Asger F
b3b53360ae
Python: change category to deprecated because library is apparently supported anymore
2022-06-28 12:14:28 +02:00
Asger F
5dfc3c6537
Python: rename change note again
2022-06-28 12:10:26 +02:00
Paolo Tranquilli
68a341d72c
Swift: use createEntry in the whole type visitor
2022-06-28 12:06:19 +02:00
Paolo Tranquilli
57981384df
Swift: extract ProtocolComposition- and BuiltinType
2022-06-28 12:01:36 +02:00
Paolo Tranquilli
b41cbaec33
Swift: add possibility to add flags in tests
2022-06-28 12:01:36 +02:00
Paolo Tranquilli
f2b589743a
Swift: add possibility to collapse class hierarchy in tests
2022-06-28 12:01:36 +02:00
Asger F
d9f57e6d23
Python: rename change note file
2022-06-28 11:41:07 +02:00
Asger F
6d25fb6988
Python: add change note
2022-06-28 11:28:30 +02:00
Ian Lynagh
780f5abc67
Merge pull request #9724 from igfoo/igfoo/private
...
Kotlin: Make more methods private
2022-06-28 10:21:55 +01:00
Ian Lynagh
b6790ef735
Merge pull request #9725 from igfoo/igfoo/inline
...
Kotlin: Extract inlineability of functions
2022-06-28 10:21:30 +01:00
Asger F
c33690381e
JS: Add explicit 'this'
2022-06-28 10:21:44 +02:00
Asger F
c1a2e2abe0
JS: Rename to isLikelyCaseSensitiveRegExp
2022-06-28 10:21:33 +02:00
Tony Torralba
e0b4c63a53
Add new source kind to CsvValidation
2022-06-28 10:16:40 +02:00
Joe Farebrother
49b419c52e
Update models to include manual tag
2022-06-28 10:10:28 +02:00
Joe Farebrother
55e78e3e25
Minor doc fixes + making directFileRead private
2022-06-28 10:10:28 +02:00
Joe Farebrother
a41f28ebe5
Use more file openning methods
2022-06-28 10:10:28 +02:00
Joe Farebrother
58fba20689
Add change note
2022-06-28 10:10:28 +02:00
Joe Farebrother
cb717a22bf
Fix failing test cases
2022-06-28 10:10:27 +02:00
Joe Farebrother
810854d6b5
Add tests
2022-06-28 10:10:27 +02:00
Joe Farebrother
0e04f2b2e8
Add external storage souces
2022-06-28 10:10:27 +02:00
Asger F
fd28397056
JS: Fix typo
2022-06-28 10:10:23 +02:00
Asger F
9cf48fc804
JS: Clarify that strings are case insensitive by default
2022-06-28 10:09:56 +02:00
Asger F
b1251f0c63
JS: invertCase -> toOtherCase
2022-06-28 10:07:57 +02:00
Asger F
4c73ab2679
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2022-06-28 09:48:53 +02:00
Asger F
a033338d20
Python: Explicitly mention lack of transitive flow in asSource/asSink
2022-06-28 09:46:26 +02:00
Asger F
9b27a7cbcd
Python: Dont claim that external libraries are excluded from the database
2022-06-28 09:28:26 +02:00
Asger F
0346b6b67a
Merge pull request #9698 from github/post-release-prep/codeql-cli-2.10.0
...
Post-release preparation for codeql-cli-2.10.0
2022-06-28 09:05:13 +02:00
yoff
67b6f215dc
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-06-28 08:05:53 +02:00
yoff
1788507571
python: add qldoc
2022-06-27 21:00:12 +00:00
Rasmus Lerchedahl Petersen
a1fe8a5b2b
python: handle not in BarrierGuard
...
in the program
```python
if not is_safe(path):
return
```
the last node in the `ConditionBlock` is `not is_safe(path)`,
so it would never match "a call to is_safe".
Thus, guards inside `not` would not be part of `GuardNode`
(nor `BarrierGuard`). Now they can.
2022-06-27 20:10:47 +00:00
Rasmus Lerchedahl Petersen
882000afb3
python: not is confusing our logic
...
- added `is_unsafe`
- added "negated version" of two tests.
These versions do not use `not` and the analysis gets the taint right.
2022-06-27 20:10:47 +00:00
Brandon Stewart
4fb0264ec8
Merge branch 'main' into patch-1
2022-06-27 16:07:15 -04:00
Taus
dc0f50d49a
Python: Clean up variable names
...
Makes it more consistent with the names used in
`legalMergeCandidateNonEmpty`.
2022-06-27 19:54:09 +00:00
Taus
8fc9ce9699
Python: Fix bad join in MRO
...
Fixes a bad join in `list_of_linearization_of_bases_plus_bases`.
Previvously, we joined together `ConsList` and `getBase` before filtering
these out using the recursive call. Now we do the recursion first.
Co-authored-by: yoff <yoff@github.com >
2022-06-27 19:54:09 +00:00
Robert Marsh
829fdd1ff6
C++: fix join order in UsingExpiredStackAddress
2022-06-27 15:28:14 -04:00
Andrew Eisenberg
43bb439b82
Add version info for running subset of queries
2022-06-27 12:03:23 -07:00
Ian Lynagh
3543864e0b
Merge pull request #9723 from igfoo/igfoo/delegates
...
Kotlin: Mark DELEGATED_PROPERTY_ACCESSORs as compiler-generated
2022-06-27 19:48:53 +01:00
Asger F
cc57cb8af5
Merge branch 'main' into post-release-prep/codeql-cli-2.10.0
2022-06-27 20:37:25 +02:00
Ian Lynagh
44e69e1c09
Kotlin: Add Modifier.isInline()
2022-06-27 19:33:08 +01:00
Ian Lynagh
af672b4899
Kotlin: Add a changenote for Modifier.isInline()
2022-06-27 19:31:01 +01:00
Ian Lynagh
4a404aee76
Kotlin: Add inline info to methods test
2022-06-27 19:27:26 +01:00
Ian Lynagh
06060954ec
Kotlin: Extract inlineability of functions
2022-06-27 19:25:56 +01:00
Ian Lynagh
4e4b34290b
Kotlin: Make more methods private
2022-06-27 18:20:33 +01:00
Ian Lynagh
7dc490ff7c
Kotlin: Enhance methods test
2022-06-27 17:59:52 +01:00
Ian Lynagh
7430a413ad
Kotlin: Mark DELEGATED_PROPERTY_ACCESSORs as compiler-generated
2022-06-27 17:57:40 +01:00
Paolo Tranquilli
9d97fe7f30
Swift: generalize EnumIsCaseExpr test
2022-06-27 17:22:48 +02:00
Paolo Tranquilli
7f694f3b90
Swift: add EnumIsCase test
2022-06-27 16:25:46 +02:00
Asger F
3c9e743495
JS: Add change note
2022-06-27 16:16:38 +02:00
Asger F
17d139c87d
JS: Add qhelp
2022-06-27 16:14:30 +02:00
Brandon Stewart
99ae1b3f0d
Merge branch 'main' into patch-1
2022-06-27 10:12:26 -04:00
Brandon Stewart
52290fd4ae
run codeql query format
2022-06-27 10:01:40 -04:00
Asger F
dfe276aa18
Merge pull request #9715 from asgerf/js/always-check-file-header
...
JS: always sniff file header of TypeScript files
2022-06-27 14:58:57 +02:00
Rasmus Wriedt Larsen
9e154ff4bd
Merge branch 'main' into python/port-tarslip
2022-06-27 14:36:15 +02:00
Erik Krogh Kristensen
34e7589844
sanitize non-strings from unsafe-html-construction
2022-06-27 13:53:44 +02:00
Asger F
c8b2be616f
JS: Bump extractor version string
2022-06-27 13:52:44 +02:00
Asger F
c082578688
JS: Always sniff file type of TypeScript files
2022-06-27 13:48:00 +02:00
Arthur Baars
051b865230
Ruby: update tree-sitter-ruby
2022-06-27 13:03:04 +02:00
Nick Rolfe
280c959dc8
Merge branch 'main' into nickrolfe/pathname
2022-06-27 11:11:17 +01:00
Ian Lynagh
c72377cf2c
Merge pull request #9711 from igfoo/igfoo/integ
...
Kotlin: Add integration tests
2022-06-27 11:08:12 +01:00
Mathias Vorreiter Pedersen
41b23572f0
Merge pull request #9673 from geoffw0/stringlengthconflation2
...
Swift: String length conflation query
2022-06-27 10:29:09 +01:00
Asger F
5991e9b83c
Merge pull request #9714 from asgerf/ruby/fix-api-graphdeprecation
...
Ruby: fix deprecation warning
2022-06-27 11:09:11 +02:00
Asger F
09476d1c13
Ruby: fix deprecation warning
2022-06-27 10:01:37 +02:00
Harry Maclean
101111bd2f
Merge pull request #9574 from hmac/hmac/action-cable-logger
...
Ruby: More Rails modeling
2022-06-27 19:56:54 +12:00
Asger F
d92430b0e7
JS: Fix FP from char class
2022-06-27 09:08:37 +02:00
Asger F
9e4116618a
JS: Add CaseSensitiveMiddlewarePath query
2022-06-27 09:08:37 +02:00
Asger F
d6fd43fe12
Merge pull request #9364 from asgerf/ruby/api-graph-api
...
Ruby: API graph renaming an documentation
2022-06-27 08:54:24 +02:00
Brandon Stewart
29e73e1a04
Update ActiveRecord.qll
2022-06-24 15:35:36 -04:00
Brandon Stewart
463c096d4c
Update ActiveRecord.qll
2022-06-24 15:33:02 -04:00
Brandon Stewart
2047954013
Merge branch 'main' into patch-1
2022-06-24 15:30:11 -04:00
Brandon Stewart
ff9a7244c2
Update ActiveRecord.qll
2022-06-24 15:28:09 -04:00
Ian Lynagh
861a368734
Merge pull request #9703 from igfoo/igfoo/generated
...
Kotlin: Record more kinds of elements as compiler-generated
2022-06-24 19:46:56 +01:00
Ian Lynagh
0ddd5bb162
Merge pull request #9709 from igfoo/igfoo/isLocalFunction
...
Kotlin: Let useFunction worry about isLocalFunction for us
2022-06-24 19:22:43 +01:00
Mathias Vorreiter Pedersen
9f58ba1a1a
Merge pull request #9707 from github/redsun82/swift-extraction
...
Swift: extract more types
2022-06-24 18:38:28 +01:00
Ian Lynagh
0b312b61e4
Kotlin: qlformat some test queries
2022-06-24 18:35:58 +01:00
Ian Lynagh
31b3c1fff8
Kotlin: Add integration tests
2022-06-24 17:33:58 +01:00
Paolo Tranquilli
41fb55a7a8
Swift: extract all ReferenceStorageTypes
2022-06-24 18:10:31 +02:00
Geoffrey White
9013d56f37
Swift: Strengthen claim about severity in the qhelp.
2022-06-24 17:09:37 +01:00
Paolo Tranquilli
fd209e57cd
Swift: extract InoutType
2022-06-24 17:29:46 +02:00
Ian Lynagh
73a79e064c
Kotlin: Accept test output
2022-06-24 16:24:41 +01:00
Geoffrey White
ef283d9b7a
Swift: Metadata.
2022-06-24 16:20:16 +01:00
Asger F
3a44584de5
Merge pull request #9695 from asgerf/js/unused-var-template-placeholder
...
JS: Fix unused variable FP in template placeholders
2022-06-24 17:19:35 +02:00
Paolo Tranquilli
189a47e30d
Swift: extract VariadicSequenceType
2022-06-24 17:15:45 +02:00
Paolo Tranquilli
346110e8dd
Swift: extract DynamicSelfType
2022-06-24 16:49:58 +02:00
Paolo Tranquilli
4281605ba7
Swift: extract existential types
2022-06-24 16:28:18 +02:00
Paolo Tranquilli
631156dbc6
Swift: extract Nested- and PrimaryArchetypeType
2022-06-24 16:28:17 +02:00
Ian Lynagh
4791aaae52
Kotlin: Use an enum for compiler-generated-kinds
...
For now this is in KotlinFileExtractor, but we can move it out later if
we have generated things elsewhere.
2022-06-24 15:19:50 +01:00
Ian Lynagh
c0b6d1d093
Kotlin: Let useFunction worry about isLocalFunction for us
2022-06-24 14:24:02 +01:00
Ian Lynagh
46446f9dfa
Kotlin: Move the isLocalFunction check deeper into useFunction
2022-06-24 14:22:45 +01:00
Nick Rolfe
c1515db09c
Ruby: modeling of some file-related concepts for the Pathname class
2022-06-24 14:14:07 +01:00
Nick Rolfe
03d0f66247
Ruby: add flow summaries for Pathname class
2022-06-24 14:14:06 +01:00
Ian Lynagh
27b83a0b33
Java: Add an upgrade script
2022-06-24 14:01:07 +01:00
Ian Lynagh
008a8f0bba
Kotlin: Add an enum class to the methods test
2022-06-24 14:00:47 +01:00
Ian Lynagh
20817a54da
Kotlin: Mark enum class special members as cmopiler-generated
2022-06-24 14:00:47 +01:00
Ian Lynagh
c5d6ca7afc
Kotlin: Accept method test changes
2022-06-24 14:00:47 +01:00
Ian Lynagh
50eeb47244
Kotlin: Mark <clinit> as compiler-generated
2022-06-24 14:00:47 +01:00
Ian Lynagh
c0600820ac
Kotlin: Update methods test
2022-06-24 14:00:47 +01:00
Ian Lynagh
c06eb09100
Kotlin: Record that DEFAULT_PROPERTY_ACCESSOR are compiler-generated
2022-06-24 14:00:47 +01:00
Ian Lynagh
aefd89ed49
Kotlin: Add compiler-generated info to methods test
2022-06-24 14:00:47 +01:00
Ian Lynagh
5fc294d49e
Kotlin: Record that generated data class members are compiler-generated
2022-06-24 14:00:47 +01:00
Tamás Vajk
381bcf7dad
Merge pull request #9153 from tamasvajk/kotlin-simplify-loop-breaks-1
...
Kotlin: Unify loop `break`/`continue` statement handling between java and kotlin
2022-06-24 14:45:57 +02:00
Geoffrey White
f2ae2dbe1f
Swift: Consistency.
2022-06-24 12:28:10 +01:00
Geoffrey White
ef3d4f3242
Swift: Add qhelp and example.
2022-06-24 12:27:10 +01:00
Paolo Tranquilli
6230a3a3c5
Merge pull request #9685 from github/redsun82/swift-code-reorg
...
Swift: split up generated C++ code
2022-06-24 13:24:42 +02:00
Paolo Tranquilli
299e1af22e
Merge main into redsun82/swift-code-reorg
2022-06-24 13:06:14 +02:00
Paolo Tranquilli
80ffd81b2c
Merge pull request #9614 from github/alexdenisov/swift-extract-all-inputs-with-outputs
...
Swift: extract all output-producing source files, not only primary files
2022-06-24 12:23:36 +02:00
Chris Smowton
d0e521ef4a
Merge pull request #9681 from smowton/smowton/fix/reintroduce-obinit
...
Kotlin: reintroduce obinit when we have multiple secondary constructors and no primary
2022-06-24 10:25:24 +01:00
Chris Smowton
fcc8691394
Merge pull request #9625 from smowton/smowton/test/kotlin-1-7-support
...
Switch to using Kotlin 1.7 by default
2022-06-24 10:24:54 +01:00
Ian Lynagh
ae16a874c8
Merge pull request #9694 from igfoo/igfoo/useFunction
...
Kotlin: Some useFunction simplification
2022-06-24 09:31:14 +01:00
Paolo Tranquilli
b708e627ad
Merge pull request #9701 from github/redsun82/swift-final-resolve
...
Swift: make `Element::resolve` final
2022-06-24 10:30:33 +02:00
Paolo Tranquilli
8ca529e8d9
Swift: make Element::resolve final
...
One should only override `getResolveStep` (or `convertsFrom` for `Expr`
classes), as otherwise the resolution/conversion becomes inconsitent.
2022-06-24 10:05:58 +02:00
Paolo Tranquilli
d14eab84fa
Merge pull request #9699 from github/redsun82/swift-stop-stub-reverts
...
Swift: yet another fix to stub revert prevention
2022-06-24 10:04:55 +02:00
Paolo Tranquilli
bc44007e18
Swift: yet another fix to stub revert prevention
2022-06-24 09:40:03 +02:00
github-actions[bot]
d506f448ef
Post-release preparation for codeql-cli-2.10.0
2022-06-24 07:36:33 +00:00
Paolo Tranquilli
f539be33d5
Merge pull request #9697 from github/redsun82/swift-stop-stub-reverts
...
Swift: fix stub revert prevention
2022-06-24 09:32:29 +02:00
Paolo Tranquilli
a9bd784ba2
Swift: fix stub revert prevention
...
It turns out the threshold of 5 lines for stub modification detection
was too strict: in case of a long class name the QL formatter will put
the closing brace of the empty class definition on a new line, leading
to codegen fail with an error thinking the stub was modified.
On the other side of things, also adding a base to a stub class was not
being detected as a modification.
Now the modification test is slightly smarter. If the stub still marked
as generated and
* has more than 6 lines, or
* the contents does not match a regexp aproximation of a plain stub
then codegen will abort. The test will still avoid reading the whole
contents of all the stubs.
2022-06-24 09:02:40 +02:00
thiggy1342
6ea1aad5fc
more style fixes
2022-06-23 22:57:51 -04:00
thiggy1342
ce2edd4b28
style tweaks
2022-06-24 02:46:48 +00:00
thiggy1342
ca074e2275
add qhelp file
2022-06-24 02:19:06 +00:00
thiggy1342
cf36333082
forgot to finish this test
2022-06-24 02:18:48 +00:00
thiggy1342
45dd38df6e
polish up dataflow query
2022-06-24 01:50:20 +00:00
Ian Lynagh
eb1b3f801d
Merge pull request #9689 from igfoo/igfoo/makeprivate
...
Kotlin: Make some more methods private
2022-06-23 21:28:07 +01:00
Ian Lynagh
bee703a870
Kotlin: Inline away useFunctionCommon
2022-06-23 21:23:21 +01:00
Chris Smowton
a124d83265
Autoformat
2022-06-23 20:13:27 +01: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
Ian Lynagh
3934491dcc
Kotlin: Refactor useFunction*
...
They now work in a way more similar to other families of functions we
have.
2022-06-23 19:19:47 +01:00
Asger F
f5a19a1013
JS: Fix unused variable FP in template placeholders
2022-06-23 19:26:32 +02:00
Geoffrey White
1a980c94a0
Swift: Query description.
2022-06-23 18:13:48 +01:00
Ian Lynagh
ab19d8c3c3
Kotlin: Move useFunctionCommon
2022-06-23 17:59:28 +01:00
Brandon Stewart
caeef68bde
Update ActiveRecord.qll
2022-06-23 12:31:05 -04:00
Brandon Stewart
173bea2579
Update ActiveRecord.qll
2022-06-23 12:18:26 -04:00
Brandon Stewart
fa622f551a
Update ruby/ql/lib/codeql/ruby/frameworks/ActiveRecord.qll
...
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com >
2022-06-23 12:16:50 -04:00
Mathias Vorreiter Pedersen
71efffd79b
Merge pull request #9691 from rdmarsh2/rdmarsh2/swift/ssa-perf-1
...
Swift: remove check for inout params in SSA gen
2022-06-23 17:16:38 +01:00
Mathias Vorreiter Pedersen
998a75e768
Merge pull request #9690 from github/redsun82/swift-stop-stub-reverts
...
Swift: prevent accidental revert of modified stub
2022-06-23 17:13:52 +01:00
Geoffrey White
911d30bd9a
Swift: Proper query message.
2022-06-23 17:12:02 +01:00
Robert Marsh
946d0358c9
Swift: remove check for inout params in SSA gen
...
This check is unnecessary since it's enforced by the compiler, and is
causing a bad join order.
2022-06-23 15:59:34 +00:00
Paolo Tranquilli
ad38cf2026
Swift: prevent accidental revert of modified stub
...
If one modifies a QL stub but forgets to remove the `// generated`
header comment, codegen will now abort with an error rather than
silently reverting the change.
This is based on the rough heuristic of just counting the lines. If any
change is done to the stub class, the number of lines is bound to be
5 or more.
2022-06-23 17:49:21 +02:00
Paolo Tranquilli
a6ae6cfad0
Merge pull request #9688 from github/redsun82/swift-autopep8
...
Swift: autopep8 codegen
2022-06-23 17:49:09 +02:00
Ian Lynagh
bd8a8d00aa
Kotlin: Make some more methods private
2022-06-23 16:44:06 +01:00
Chris Smowton
b5010337a4
Avoid extracting needless obinit methods where we're only extracting a class' outline.
2022-06-23 16:26:54 +01:00
Chris Smowton
3cf7f96298
Ensure <obinit>'s return type is void not Unit
2022-06-23 16:26:54 +01:00
Chris Smowton
af5230349b
Kotlin: reintroduce obinit when we have multiple secondary constructors and no primary
...
This avoids DB inconsistencies because complex initialisers are extracted to more than one function.
2022-06-23 16:26:54 +01:00
Paolo Tranquilli
7334b4e03a
Swift: autopep8 all python files
...
Additionally set up a pre-commit hook and a CI check for that.
2022-06-23 17:13:56 +02:00
Geoffrey White
64d7296847
Swift: Remove redundant cast.
2022-06-23 16:04:26 +01:00
Geoffrey White
3291029e6d
Swift: Address further review comments.
2022-06-23 16:00:56 +01:00
Geoffrey White
ebcb1e9448
Swift: Clean up other uses of toString.
2022-06-23 15:53:55 +01:00
Chris Smowton
1aae3c5f5e
Fix whenexpr test
...
Prior to Kotlin 1.7 the gratuitous `?` was ignored for typing purposes; now it yields a `String?`. We should make the test work everywhere by using a real nullable type.
2022-06-23 15:34:40 +01:00
Chris Smowton
e64a8bc79a
Use binary names not fqnames for uniquing IrDeclarations
...
Otherwise we fall into the trap of confusing the two overloads of `MapsKt.iterator` which have differing jvmnames.
2022-06-23 15:34:40 +01:00
Chris Smowton
57ea34d3ff
Unique external classes/functions by fqname
...
Previously we used the IrDeclaration itself, but in Kotlin 1.7 this can be ambiguous because we can get more than one copy of a class in different modules.
2022-06-23 15:34:40 +01:00
Chris Smowton
8c57308661
Prevent extracting hidden functions
...
I'm not sure how these looked in 1.6 and below yet, but in 1.7 they appear with visibility = public, but a descriptor field set to indicate they have a name clash with a 'real' function.
2022-06-23 15:34:40 +01:00
Chris Smowton
2b2c384933
Kotlin: Move from 1.7.0-RC to 1.7.0
2022-06-23 15:34:40 +01:00
Chris Smowton
4899aabb05
Switch to using Kotlin 1.7 by default
2022-06-23 15:34:40 +01:00
Chris Smowton
45c85228bd
Implement Kotlin 1.7 support
...
- Implement getIrStubFromDescriptor for Kotlin 1.7
- Stop using ClassSymbol.signature, which is now only populated for classes built from Kotlin, and noteworthily is null for primitive and other internally-synthesised types.
2022-06-23 15:34:40 +01:00
Mathias Vorreiter Pedersen
43d449f1f7
Merge pull request #9687 from github/redsun82/swift-codegen-tag-to-pragma
...
Swift: tag -> pragma in codegen
2022-06-23 15:21:58 +01:00
Asger F
56786790fc
Merge pull request #9682 from github/release-prep/2.10.0
...
Release preparation for version 2.10.0
2022-06-23 16:09:48 +02:00
Ian Lynagh
3b2b884f09
Merge pull request #9683 from igfoo/igfoo/getDiagnosticLocation
...
Kotlin: Remove unused function getDiagnosticLocation
2022-06-23 14:09:00 +01:00
Paolo Tranquilli
8d4637ddfd
Swift: tag -> pragma in codegen
...
For the use the former tags are meant for, pragma is a more
meaningful name. It now also accepts both strings and lists of strings.
2022-06-23 14:52:21 +02:00
Anders Schack-Mulligen
dc517a758e
Autoformat
2022-06-23 14:44:40 +02:00
Anders Schack-Mulligen
4a317a25d3
Dataflow: Sync.
2022-06-23 14:34:52 +02:00
Anders Schack-Mulligen
c27290563a
Dataflow: Perf fix, avoid node scans.
2022-06-23 14:34:05 +02:00
Paolo Tranquilli
0957f63cc7
Swift: update codegen workflow to include all files
2022-06-23 14:31:48 +02:00
Paolo Tranquilli
a9877ed2fd
Swift: split generated C++ files by directory
2022-06-23 14:24:03 +02:00
Paolo Tranquilli
b2ebf63d2e
Swift: split generated C++ code into .h and .cpp
2022-06-23 14:22:58 +02:00
Asger F
d94010c244
Grammar: report -> reports
2022-06-23 14:17:52 +02:00
Asger F
d3df2033f0
Update cpp/ql/lib/change-notes/released/0.3.0.md
2022-06-23 14:11:11 +02:00
Asger F
bef38a64c3
Update cpp/ql/lib/CHANGELOG.md
2022-06-23 14:10:09 +02:00
Ian Lynagh
1713c416c0
Kotlin: Remove unused function getDiagnosticLocation
2022-06-23 13:07:09 +01:00
Geoffrey White
3b48cb02bc
Swift: Add Type.getName().
2022-06-23 12:54:56 +01:00
github-actions[bot]
a74051c658
Release preparation for version 2.10.0
2022-06-23 11:17:46 +00:00
Geoffrey White
01f697abe9
Swift: Rename argName -> paramName.
2022-06-23 12:16:04 +01:00
Geoffrey White
5222ba9073
Swift: Suggestions from review.
2022-06-23 12:02:32 +01:00
Rasmus Wriedt Larsen
3248f7b423
Merge pull request #9649 from RasmusWL/certificate-modeling
...
Python/JS/Ruby: Ignore common words (like certain) as sensitive data source
2022-06-23 12:04:58 +02:00
Mathias Vorreiter Pedersen
9b587843ff
Merge pull request #9669 from rdmarsh2/rdmarsh2/swift/dataflow-lambda-flow
...
Swift: implement LambdaCall in dataflow library
2022-06-23 10:38:45 +01:00
Asger F
298f4ab899
Merge pull request #9679 from asgerf/js/fix-downgrade-script
...
JS: Downgrade ast_node_symbol relation
2022-06-23 11:08:06 +02:00
Tamas Vajk
cf18a9a04b
Fix bad join order in Shadowing::shadows
...
Fixes the bad join order in `Shadowing::shadows`:
Tuple counts for Shadowing::shadows#f4fb89a3#ffff@c4b8a90j:
182915 ~0% {2} r1 = Variable::LocalVariableDecl::getCallable#dispred#f0820431#ff AND NOT Shadowing::shadows#f4fb89a3#ffff#antijoin_rhs(Lhs.0, Lhs.1)
182915 ~0% {3} r2 = JOIN r1 WITH localvars ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.2
182915 ~3% {4} r3 = JOIN r2 WITH Member::Member::getDeclaringType#dispred#f0820431#bf ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0, Lhs.2
182833 ~0% {4} r4 = JOIN r3 WITH classes ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3, Lhs.0
182833 ~3% {5} r5 = JOIN r4 WITH Element::Element::getName#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.2, Lhs.0, Lhs.1, Lhs.3, Rhs.1
183352620 ~5% {5} r6 = JOIN r5 WITH Member::Field::getType#dispred#f0820431#bf_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.3, Lhs.1, Lhs.2, Lhs.4
40529 ~0% {5} r7 = JOIN r6 WITH Member::Field::getDeclaringType#dispred#f0820431#fb ON FIRST 2 OUTPUT Lhs.0, Lhs.4, Lhs.2, Lhs.3, Lhs.1
678 ~4% {4} r8 = JOIN r7 WITH Element::Element::getName#dispred#f0820431#ff ON FIRST 2 OUTPUT Lhs.2, Lhs.3, Lhs.4, Lhs.0
670 ~4% {4} r9 = r8 AND NOT Member::Field::isStatic#dispred#f0820431#b(Lhs.3)
670 ~3% {4} r10 = SCAN r9 OUTPUT In.0, In.2, In.3, In.1
return r10
After the fix:
Tuple counts for Shadowing::shadows#f4fb89a3#ffff@95ca976v:
182915 ~0% {2} r1 = Variable::LocalVariableDecl::getCallable#dispred#f0820431#ff AND NOT Shadowing::shadows#f4fb89a3#ffff#antijoin_rhs(Lhs.0, Lhs.1)
182915 ~0% {3} r2 = JOIN r1 WITH localvars ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Rhs.2
182915 ~0% {4} r3 = JOIN r2 WITH Member::Member::getDeclaringType#dispred#f0820431#bf ON FIRST 1 OUTPUT Lhs.1, Lhs.0, Lhs.2, Rhs.1
182915 ~7% {5} r4 = JOIN r3 WITH Element::Element::getName#dispred#f0820431#ff ON FIRST 1 OUTPUT Lhs.3, Rhs.1, Lhs.2, Lhs.0, Lhs.1
678 ~4% {4} r5 = JOIN r4 WITH Shadowing::getField#f4fb89a3#ffff ON FIRST 3 OUTPUT Lhs.3, Lhs.4, Lhs.0, Rhs.3
670 ~4% {4} r6 = r5 AND NOT Member::Field::isStatic#dispred#f0820431#b(Lhs.3)
670 ~3% {4} r7 = SCAN r6 OUTPUT In.0, In.2, In.3, In.1
return r7
2022-06-23 10:30:39 +02:00
Asger F
90c2b6e47f
JS: Downgrade ast_node_symbol relation
2022-06-23 10:17:28 +02:00
Geoffrey White
20c3182437
Merge pull request #9087 from ihsinme/ihsinme-patch-88
...
CPP: Add query for CWE-670: Always-Incorrect Control Flow Implementation when use SSL_shutdown
2022-06-23 09:16:55 +01:00
Tamas Vajk
e65a046235
Fix test file after rebase
2022-06-23 09:51:48 +02:00
Mathias Vorreiter Pedersen
5dfa5fb877
Merge pull request #9678 from jketema/ql-fixes
...
C++: Two small QL fixes
2022-06-23 08:23:54 +01:00
Erik Krogh Kristensen
08e4c8b195
Merge pull request #9634 from erik-krogh/jqueryParam
...
JS: add all jquery plugin parameters as source to js/html-constructed-from-input
2022-06-23 08:57:20 +02:00
Tamas Vajk
579bfc22f3
Fix performance change in SecurityFlag
2022-06-23 08:46:33 +02:00
Tamas Vajk
79ec998636
Fix DB change compatibility to backwards
2022-06-23 08:45:11 +02:00
Tamas Vajk
7dad2f7fcb
Fix DB upgrade properties
2022-06-23 08:45:11 +02:00
Tamas Vajk
074b90ea1a
Add change note
2022-06-23 08:45:11 +02:00
Tamas Vajk
053ca2e940
Update DB stats file
2022-06-23 08:45:11 +02:00
Tamas Vajk
e03b48f293
Add DB upgrade folder
2022-06-23 08:45:11 +02:00
Tamas Vajk
dabc956dbf
Unify loop break/continue statement handling between java and kotlin
2022-06-23 08:45:11 +02:00
Jeroen Ketema
b3ac7bda35
C++: Remove redundant parentheses
2022-06-23 07:25:53 +02:00
Jeroen Ketema
9cfd1a84b6
C++: Remove out-of-date comment, as we use mangled names in ResolveClass.qll
2022-06-23 07:24:04 +02:00
AlexDenisov
decb136471
Update swift/extractor/SwiftExtractor.cpp
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-23 07:23:17 +02:00
thiggy1342
e838b83f5f
attempt to introduce dataflow tracking
2022-06-23 02:21:47 +00:00
Robert Marsh
813a8548d7
C++: accept test changes for globals in data flow
2022-06-22 16:42:42 -04:00
Geoffrey White
07b89b89d7
Swift: Clean up a bit.
2022-06-22 19:35:37 +01:00
Geoffrey White
19026e9ed5
Swift: Work around toString change.
2022-06-22 19:16:09 +01:00
Geoffrey White
da7f49155d
Swift: Use dataflow.
2022-06-22 19:16:09 +01:00
Geoffrey White
28d801fde3
Swift: CWE-135 query sources and sinks.
2022-06-22 19:16:08 +01:00
Robert Marsh
b609f1ea52
Merge pull request #9668 from MathiasVP/expr-nodes-for-properties
...
Swift: Make sure property setters and getters also have `ExprNodes`
2022-06-22 14:09:46 -04:00
Robert Marsh
42929a70e8
Swift: implement LambdaCall in dataflow library
2022-06-22 17:30:54 +00:00
Andrew Eisenberg
5432be7b3a
Merge pull request #9667 from github/nickrolfe/js_downgrades
...
JS: create downgrades pack
2022-06-22 10:30:41 -07:00
Mathias Vorreiter Pedersen
77b8ceb976
Swift: Make sure property setters and getters also have ExprNodes.
2022-06-22 17:53:41 +01:00
Nick Rolfe
d91e8a6309
JS: create downgrades pack
2022-06-22 17:31:49 +01:00
AlexDenisov
19bc9cf301
Merge pull request #9666 from github/redsun82/swift-code-reorg
...
Swift: reorganize code
2022-06-22 18:28:08 +02:00
Paolo Tranquilli
cfde68023d
Swift: fix includes jumbled by IDE
2022-06-22 18:17:40 +02:00
Paolo Tranquilli
22321aa124
Swift: reorganize code
...
Visitor code has been split between header and sources to speed up
incremental build. Moreover the code was reorganized using a new `infra`
bazel package (and `visitors` got promoted to a bazel package as well).
2022-06-22 18:11:58 +02:00
Paolo Tranquilli
7c958dfbb9
Merge pull request #9639 from github/redsun82/swift-extraction
...
Swift: some expression extractions
2022-06-22 17:19:20 +02:00
Paolo Tranquilli
e25f22da26
Merge main into redsun82/swift-extraction
2022-06-22 16:54:52 +02:00
Chris Smowton
46e6203493
Merge pull request #9626 from smowton/smowton/fix/dont-emit-synthetic-parameter-names
...
Kotlin: don't emit synthetic parameter names
2022-06-22 15:30:54 +01:00
Paolo Tranquilli
1fc2bc4938
Swift: really fix tests
2022-06-22 16:15:02 +02:00
Jeroen Ketema
f9e09da604
Merge pull request #9643 from jketema/namespace-variable-test
...
C++: Add variable in namespace test
2022-06-22 15:58:26 +02:00
Mathias Vorreiter Pedersen
43bfa2af55
Merge pull request #9635 from MathiasVP/swift-add-remote-flow-sources
...
Swift: Add `RemoteFlowSource`
2022-06-22 14:41:19 +01:00
Mathias Vorreiter Pedersen
a293fd1f3e
Merge pull request #9638 from geoffw0/stringlengthconflation
...
Swift: String length conflation tests (for CVE-2022-23625)
2022-06-22 14:39:34 +01:00
Chris Smowton
00b4070866
Merge pull request #9659 from smowton/smowton/admin/invert-java-log-injection-query
...
Java: Report log-injection at the source rather than the sink
2022-06-22 14:27:50 +01:00
Mathias Vorreiter Pedersen
07c4308a32
Merge branch 'main' into swift-add-remote-flow-sources
2022-06-22 14:27:44 +01:00
Robert Marsh
d13d4c6cd1
Merge pull request #9623 from MathiasVP/swift-interpretElement0
...
Swift: Interpret MaD strings
2022-06-22 09:27:13 -04:00
Geoffrey White
e07df0d0c8
Swift: make setters private in test.
2022-06-22 14:13:30 +01:00
Mathias Vorreiter Pedersen
1febe87356
Merge pull request #9644 from jketema/class-entry-fix
...
C++: Ensure we can round trip between (forward) class declarations
2022-06-22 14:12:11 +01:00
Chris Smowton
44cf260762
Merge pull request #9571 from smowton/smowton/fix/array-variance-lowering
...
Kotlin: Implement array type variance lowering
2022-06-22 13:38:21 +01:00
Chris Smowton
1f9f6d7c33
Java: Report log-injection at the source rather than the sink
...
This should remove the problem of excessive grouping of different alerts that share a sink location, often due to wrapper functions that form the ultimate sink of all logging calls in a given codebase.
2022-06-22 13:05:20 +01:00
Tony Torralba
cc354caa1f
Merge pull request #9319 from atorralba/atorralba/add-editable-valueof-step
...
Kotlin: Add taint step for String.valueOf(Editable)
2022-06-22 13:50:30 +02:00
Geoffrey White
f9e1e630f7
Swift: more accurate NSObject / NSString hierarchy in test.
2022-06-22 12:36:40 +01:00
Tamás Vajk
c0e115700d
Merge pull request #9647 from tamasvajk/kotlin-when-branch-encl-stmt
...
Kotlin: Fix enclosing statement of `when` branches
2022-06-22 13:18:56 +02: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
Jeroen Ketema
b1dd8da587
C++: Fix query formatting
2022-06-22 12:59:49 +02:00
Ian Lynagh
c7a6b1e9a7
Merge pull request #9640 from igfoo/igfoo/vis
...
Kotlin/Java: Add the beginnings of a "visibility" consistency query
2022-06-22 11:34:15 +01:00
Paolo Tranquilli
3ed783df7f
Swift: fix tests
2022-06-22 12:14:47 +02:00
Paolo Tranquilli
aea4910be4
Merge pull request #9620 from github/redsun82/swift-codespace
...
Swift: add devcontainer setup
2022-06-22 11:52:08 +02:00
Rasmus Wriedt Larsen
876ba71d9b
Python/JS/Ruby: Add change-note
2022-06-22 11:14:05 +02:00
Paolo Tranquilli
ee5c30ebda
Merge main into redsun82/swift-extraction
2022-06-22 11:11:20 +02:00
Paolo Tranquilli
e0784e0680
Swift: fix update-codeql
...
Also require sudo at the start of the script if updating.
2022-06-22 11:05:30 +02:00
Rasmus Wriedt Larsen
2ce4b7b9fc
SensitiveDataHeuristics: sync
2022-06-22 11:05:14 +02:00
Rasmus Wriedt Larsen
4be375521f
Python: Handle _ in sensitive-data-sources
2022-06-22 11:05:14 +02:00
Rasmus Wriedt Larsen
4a844312f4
Python: _ in var name not handled by sensitive-data-sources
2022-06-22 11:05:14 +02:00
Rasmus Wriedt Larsen
5dc2bb717a
Python: ignore common words (certain/concert) as sensitive source
2022-06-22 11:05:05 +02:00
Paolo Tranquilli
4377fb0552
Swift: auto-install codeql on codespace
2022-06-22 10:51:30 +02:00
Anders Schack-Mulligen
df6d68b215
Merge pull request #9618 from aschackmull/dataflow/deprecate-barrierguard-class
...
Dataflow: Deprecate BarrierGuard class
2022-06-22 10:44:08 +02:00
Michael Nebel
24ba5cc06e
Merge pull request #9025 from michaelnebel/csharp/generatedrefactor
...
C#: Provenance column in Models as Data CSV format.
2022-06-22 10:34:31 +02:00
Rasmus Wriedt Larsen
abdcfd55c3
Python: uncertainty is treated as a certificate :O
2022-06-22 10:16:28 +02:00
Paolo Tranquilli
400d7afc94
Swift: tweaks to codespace setup
2022-06-22 09:59:12 +02:00
Tamas Vajk
a50e062b3c
Kotlin: Fix enclosing statement of when branches
2022-06-22 09:10:27 +02:00
Tamas Vajk
640026d387
Kotlin: add enclosing statement test
2022-06-22 09:09:57 +02:00
Jeroen Ketema
4a78c9b06d
C++: Add change note
2022-06-22 08:11:24 +02:00
Jeroen Ketema
880c785efe
C++: Ensure we can round trip between (forward) class declarations
...
This was already possible when the forward class declaration and the class
definition occurred in the same scope. However, there is a common C++ usage
pattern in which this is not the case (when only a pointer to the class is
needed). In this latter scenario we could not round trip between the (forward)
`DeclarationEntry` and the `Declaration`.
Effectively this changes the code to:
```
if exists(TypeDeclarationEntry e | e.getType() = this)
then result.getType() = this
else ...
```
We use `type_decls` instead to stay close to the original code.
2022-06-22 07:58:45 +02:00
Jeroen Ketema
0f37e4e7b2
C++: Add variable in namespace test
2022-06-22 07:56:27 +02:00
Jeroen Ketema
a8833a0c70
C++: Test showing going from a forward class declaration to a class but not back
2022-06-22 07:53:50 +02:00
Jeroen Ketema
40e0356177
C++: Test that we can go from a DeclarationEntry to a Declaration and back
2022-06-22 07:53:50 +02:00
Michael Nebel
2b892bc000
Merge pull request #9553 from michaelnebel/csharp/narrowtelemetry
...
C#/Java: Only display 1k most relevant results for ExternalApi telemetry queries.
2022-06-22 07:35:56 +02:00
thiggy1342
995f365568
just check string literal
2022-06-22 02:17:01 +00:00
thiggy1342
c767f241ad
narrow query scope
2022-06-22 02:12:23 +00:00
thiggy1342
f6c4b5c44b
Merge branch 'experimental-manually-check-request-verb' of https://github.com/thiggy1342/codeql into experimental-manually-check-request-verb
2022-06-21 21:27:39 +00:00
thiggy1342
990747cd22
Limit findings to just those called in Controllers
2022-06-21 21:27:18 +00:00
thiggy1342
53729f99c5
restrict findings to just controller classes
2022-06-21 20:28:29 +00:00
thiggy1342
bbe17b3667
Merge branch 'experimental-strong-params' of https://github.com/thiggy1342/codeql into experimental-strong-params
2022-06-21 19:31:18 +00:00
thiggy1342
83b720d730
first draft of weak params query
2022-06-21 19:28:53 +00:00
Brandon Stewart
a2e2dcdfd5
Make ActiveRecordInstanceMethodCall Public
2022-06-21 14:44:52 -04:00
Ian Lynagh
52b229052d
Kotlin/Java: Add the beginnings of a "visibility" consistency query
2022-06-21 17:24:37 +01:00
Andrew Eisenberg
1ec838e671
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2022-06-21 09:14:23 -07:00
Paolo Tranquilli
1e4ac44362
Swift: some expression extractions
2022-06-21 17:31:40 +02:00
Mathias Vorreiter Pedersen
9fe238f20c
Merge pull request #9637 from github/redsun82/swift-callable-extractor
...
Swift: Callable abstraction
2022-06-21 16:04:23 +01:00
Dave Bartolomeo
39d77d8f20
Merge pull request #9633 from github/edoardo/rc3.6-mergeback
...
Merge `rc/3.6` into `main`
2022-06-21 10:44:05 -04:00
Paolo Tranquilli
c77fc26c69
Swift: Callable abstraction
...
This new class encompasses both `AbstractFunctionDecl` and
`AbstractClosureExpr`, together with their common parts (namely
parameters and the body).
`ClosureExpr` and `AutoClosureExpr` got ported to structured C++
generated translation in the process.
2022-06-21 15:50:35 +02:00
Geoffrey White
8989210995
Swift: Fix some details so that the test works.
2022-06-21 14:22:35 +01:00
Mathias Vorreiter Pedersen
415e9742a7
Swift: Add a 'RemoteFlowSource' class.
2022-06-21 14:09:56 +01:00
Anders Schack-Mulligen
f8f9b7d3b4
Apply suggestions from code review
2022-06-21 14:11:36 +02:00
Erik Krogh Kristensen
e1c34c11ed
add all jquery plugin parameters as source to js/html-constructed-from-input
2022-06-21 13:22:56 +02:00
Erik Krogh Kristensen
dde7e9e2e8
add test for jquery plugin parameters in js/html-constructed-from-input
2022-06-21 13:21:57 +02:00
Chris Smowton
7bb0d62863
Update comparisonBarrierGuard qldoc
2022-06-21 12:12:17 +01:00
Chris Smowton
8ae4c21a3e
Update doc for divideByZeroSanitizerGuard
2022-06-21 12:11:19 +01:00
Asger F
a1af9c3d7d
Ruby: update predicate docs
2022-06-21 12:44:16 +02:00
Asger F
d15b90e21a
Ruby: Add deprecation
2022-06-21 12:44:16 +02:00
Asger F
9838e2e101
Ruby: Rename getAValueReachingRhs -> getAValueReachingSink
2022-06-21 12:44:16 +02:00
Asger F
7c877c7861
Ruby: Rename getARhs -> asSink
2022-06-21 12:44:16 +02:00
Asger F
2f8086bb57
Ruby: Rename getAUse -> getAValueReachableFromSource
2022-06-21 12:44:16 +02:00
Asger F
573c5c5efe
Ruby: Rename getAnImmediateUse -> asSource
2022-06-21 12:44:16 +02:00
Asger F
f2403e2610
Ruby: port API graph doc comment
2022-06-21 12:44:16 +02:00
Asger F
092a6a01ac
Python: Update member documentation
2022-06-21 12:44:06 +02:00
Asger F
fecbfa6ca3
Python: add deprecation
2022-06-21 12:44:06 +02:00
Asger F
3a669a8d21
Python: getAValueReachingRhs -> getAValueReachingSink
2022-06-21 12:44:06 +02:00
Asger F
b096f9ec72
Python: Rename getAUse -> getAValueReachableFromSource
2022-06-21 12:44:06 +02:00
Asger F
181a53bd03
Python: Rename getAnImmediateUse -> asSource
2022-06-21 12:44:06 +02:00
Asger F
60fde3c031
Python: Rename getARhs -> asSink
2022-06-21 12:44:06 +02:00
Asger F
8f259d4bb6
Python: port API graph doc comment
2022-06-21 12:44:06 +02:00
Erik Krogh Kristensen
73b657ce25
QL: focus alert locations
2022-06-21 12:26:18 +02:00
Edoardo Pirovano
70dbd92e25
Bump minor version of all regularly released packs
2022-06-21 11:22:58 +01:00
Edoardo Pirovano
ad02b85efa
Merge branch main into rc/3.6
2022-06-21 11:15:25 +01:00
Anders Schack-Mulligen
d7d409f125
Merge pull request #9565 from github/post-release-prep/codeql-cli-2.9.4
...
Post-release preparation for codeql-cli-2.9.4
2022-06-21 11:51:29 +02:00
Cornelius Riemenschneider
091299668a
Merge pull request #9617 from github/criemen/fix-go-pattern-lua-config
...
Go: Properly escape dash in tracing-config.lua
2022-06-21 11:45:14 +02:00
Mathias Vorreiter Pedersen
916cf6eb41
Merge pull request #9631 from jketema/global-variable-test
...
C++: Add global variable tests
2022-06-21 10:44:47 +01:00
Mathias Vorreiter Pedersen
f9c8926fcc
Swift: Fill in some easy TODOs in 'FlowSummaryImplSpecific' and implement a source model for 'String(contentsOf:)'.
2022-06-21 10:27:46 +01:00
Mathias Vorreiter Pedersen
184371f3ce
Swift: Implement 'interpretElement0'.
2022-06-21 10:22:02 +01:00
Anders Schack-Mulligen
736372ffd6
Ruby: Remove test.
2022-06-21 11:18:36 +02:00
Anders Schack-Mulligen
a4796e1542
Add change notes.
2022-06-21 11:17:47 +02:00
Mathias Vorreiter Pedersen
ace00c3d09
Swift: Add a 'getName' predicate to types that forwards to the 'getName' from the declaration.
2022-06-21 10:06:01 +01:00
Mathias Vorreiter Pedersen
cf08644b92
Swift: Add an AST class for possible method declarations.
2022-06-21 10:06:01 +01:00
Jeroen Ketema
1f97f1d931
C++: Add global variable tests
2022-06-21 10:43:40 +02:00
Mathias Vorreiter Pedersen
e2478d1106
Swift: 'getStaticCallTarget' should also return things like 'ConstructorDecl's.
2022-06-21 09:35:56 +01:00
Anders Schack-Mulligen
a6c0a9e480
Python: one more fix
2022-06-21 09:19:45 +02:00
Asger F
b46ba896dd
Merge pull request #9616 from asgerf/js/without-prop-step-await
...
JS: Add withoutPropStep and model raw 'await' step with it
2022-06-21 09:06:01 +02:00
Erik Krogh Kristensen
79696c6c5f
Merge pull request #9572 from erik-krogh/heuristicSteps
...
JS: add heuristic taint-step for potentially unmodelled libraries
2022-06-21 09:00:58 +02:00
Michael Nebel
dc02a6e1a7
C#: Apply autoformatting.
2022-06-21 08:34:43 +02:00
AlexDenisov
7010dffed7
Merge pull request #9622 from github/redsun82/swift-quiet-codegen
...
Swift: add --quiet to codegen
2022-06-21 07:43:33 +02:00
AlexDenisov
687b9aff92
Merge pull request #9230 from github/redsun82/swift-use-generated-classes
...
Swift: use structured generated C++ classes in `DeclVisitor`
2022-06-21 07:43: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
Andrew Eisenberg
3547c338ef
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2022-06-20 12:00:43 -07:00
Arthur Baars
adc1a3076c
Merge pull request #9432 from thiggy1342/experimental-decompression-api
...
RB: Adding decompression-api to experimental ruleset
2022-06-20 20:54:09 +02: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
Chris Smowton
4b825df60c
Kotlin: don't emit synthetic parameter names
...
The QL library already expects these to be missing in some cases and generates its own names when they are absent. Writing synthetic names to the database can produce inconsistencies if the true name is seen later.
2022-06-20 19:19:35 +01:00
Asger F
835c9bb0b9
JS: Add test
2022-06-20 20:16:07 +02:00
Asger F
a0d3a6b5b1
JS: Add withoutPropStep and model 'await' steps with it
2022-06-20 20:16:07 +02:00
thiggy1342
c5bf1b8aab
update test expectation
2022-06-20 17:27:33 +00:00
Andrew Eisenberg
9d6b1bf142
Apply suggestions from code review
...
Co-authored-by: James Fletcher <42464962+jf205@users.noreply.github.com >
2022-06-20 10:24:56 -07:00
Ian Lynagh
875776d91d
Merge pull request #9581 from igfoo/igfoo/redundant_cast
...
Kotlin: Remove a redundant cast
2022-06-20 17:28:49 +01:00
Ian Lynagh
f22de1ac81
Merge pull request #9583 from igfoo/igfoo/locationdocs
...
Fix broken links to information about Locations
2022-06-20 17:28:24 +01:00
Paolo Tranquilli
c9f48da569
Swift: add --quiet to codegen
2022-06-20 18:03:59 +02:00
Paolo Tranquilli
3d222a7377
Merge main into redsun82/swift-use-generated-classes
2022-06-20 18:02:13 +02:00
Paolo Tranquilli
48584a6c2e
Merge main into redsun82/swift-use-generated-classes
2022-06-20 17:53:21 +02:00
Mathias Vorreiter Pedersen
35c8ca15f5
Merge pull request #8912 from rdmarsh2/rdmarsh2/fix-ir-globals
...
C++: Fix IR variable reuse for global var inits
2022-06-20 16:45:39 +01:00
thiggy1342
973013ff9c
Merge branch 'main' into experimental-decompression-api
2022-06-20 11:37:38 -04:00
Arthur Baars
a87ea4a75a
Merge pull request #9589 from aibaars/update-tree-sitter-embeded-template
...
Update tree-sitter-embeded-template
2022-06-20 17:34:43 +02:00
Paolo Tranquilli
7223fedb58
Swift: fix user.sh pre-commit insallation
2022-06-20 15:28:54 +00:00
thiggy1342
a298029dff
Merge branch 'main' into experimental-decompression-api
2022-06-20 11:06:24 -04:00
thiggy1342
7932d3e4ab
Update ruby/ql/test/query-tests/security/decompression-api/DecompressionApi.expected
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-20 11:05:56 -04:00
thiggy1342
db46a1d807
Update ruby/ql/src/experimental/decompression-api/DecompressionApi.ql
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-20 11:05:16 -04:00
Paolo Tranquilli
15c4ac248d
Swift: add pip to codespace
2022-06-20 15:05:11 +00:00
Arthur Baars
c5d3df087d
Update tree-sitter-embeded-template
2022-06-20 17:04:27 +02:00
Mathias Vorreiter Pedersen
f4363e3aba
Merge pull request #9619 from MathiasVP/swift-better-function-names
...
Swift: Generate better declaration names
2022-06-20 16:01:18 +01:00
Paolo Tranquilli
81ce511071
Swift: add pre-commit to codespace
2022-06-20 15:00:24 +00:00
Michael Nebel
b4cb1e58d3
Swift: Sync FlowSummaryImpl to swift.
2022-06-20 16:30:12 +02:00
Mathias Vorreiter Pedersen
a1bf448e56
Swift: Accept more test changes.
2022-06-20 15:28:06 +01:00
Michael Nebel
b4457de58c
C#/Java: Fix typo in the QL doc comment.
2022-06-20 16:26:07 +02:00
Michael Nebel
c9c981d03a
C#: Add release note for the CSV DSL change.
2022-06-20 16:20:02 +02:00
Michael Nebel
b6ccaf14f6
Java: Update Log4J models with provenance information.
2022-06-20 16:20:02 +02:00
Michael Nebel
733fc16902
Java: Update ThreadResourceAbuse specific models with provenance information.
2022-06-20 16:20:02 +02:00
Michael Nebel
0d4321666a
Java: Update fragment injection sinkmodels.
2022-06-20 16:20:02 +02:00
Michael Nebel
2cfeffcc17
Java: Update model generator tests with provenance column.
2022-06-20 16:20:02 +02:00
Michael Nebel
e851b03c6f
Java: Add source and sink kind model validation.
2022-06-20 16:20:02 +02:00
Michael Nebel
8e7e6c4c6f
Java: Update FlowTestCase generator with provenance wildcard.
2022-06-20 16:20:02 +02:00
Michael Nebel
2e46e93f36
Java: Update java models with provenance column information.
2022-06-20 16:20:02 +02:00
Michael Nebel
4622b69c5d
Java: Update flow summary impl and external flow to support provenance and include testing in Csv model validation.
2022-06-20 16:20:02 +02:00
Michael Nebel
649757c27f
Java/Ruby: Sync files.
2022-06-20 16:20:01 +02:00
Michael Nebel
38c6bf55b9
C#: Make CSV model validation of the provenance column.
2022-06-20 16:20:01 +02:00
Michael Nebel
5e3bb8297a
C#: Make the model predicates emmit the provenance directly to enable testing.
2022-06-20 16:20:01 +02:00
Michael Nebel
cf3cb292b7
C#: Update the model generator to use provenance column printing.
2022-06-20 16:20:01 +02:00
Michael Nebel
e0a96e16c3
C#: Update entity framework flow summaries test.
2022-06-20 16:20:01 +02:00
Michael Nebel
da0b9db57f
C#: Update flow summary printing in test cases to reflect provenance.
2022-06-20 16:20:01 +02:00
Michael Nebel
2975e51652
C#: Update existing production models with provenance information.
2022-06-20 16:20:01 +02:00
Michael Nebel
32b69d3e0c
C#: Update external models tests.
2022-06-20 16:20:01 +02:00
Michael Nebel
d6fa7db9f2
C#: Update CSV validation to the new format and improve test failure printing.
2022-06-20 16:20:01 +02:00
Michael Nebel
e3a5f7b8a3
C#: Introduce provenance column in CSV format for Models as data summaries, sources and sinks.
2022-06-20 16:20:01 +02:00
Michael Nebel
d219ac385b
Update java/ql/src/Telemetry/ExternalLibraryUsage.ql
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2022-06-20 16:15:06 +02:00
Michael Nebel
169ef55890
Update csharp/ql/src/Telemetry/ExternalLibraryUsage.ql
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2022-06-20 16:14:44 +02:00
Paolo Tranquilli
52ee4d4057
Swift: add devcontainer setup
2022-06-20 14:11:28 +00:00
Mathias Vorreiter Pedersen
c049988116
Swift: Accept test changes.
2022-06-20 14:57:16 +01:00
Mathias Vorreiter Pedersen
850a90d9a8
Swift: Change the declaration names generated by the extractor to match the output of the Swift compiler.
2022-06-20 14:57:16 +01:00
thiggy1342
633ddf46fb
fix comments
2022-06-20 13:53:56 +00:00
thiggy1342
b4c893d857
Update ruby/ql/test/query-tests/security/decompression-api/decompression_api.rb
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-20 09:50:12 -04:00
thiggy1342
9c9ac919b7
Update ruby/ql/src/experimental/decompression-api/DecompressionApi.ql
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-20 09:49:52 -04:00
thiggy1342
3949e04797
Update ruby/ql/src/experimental/decompression-api/DecompressionApi.ql
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-20 09:49:11 -04:00
thiggy1342
2f505c527b
Merge branch 'main' into experimental-decompression-api
2022-06-20 09:48:21 -04:00
Anders Schack-Mulligen
730871cc74
Swift: Deprecate BarrierGuard.
2022-06-20 15:46:38 +02:00
Anders Schack-Mulligen
a7c268f804
Python: adjust test.
2022-06-20 15:46:38 +02:00
Anders Schack-Mulligen
1b13790a36
Ruby: Deprecate and replace BarrierGuard class.
2022-06-20 15:46:38 +02:00
Anders Schack-Mulligen
f473a0a961
Python: Deprecate and replace BarrierGuard class.
2022-06-20 15:46:38 +02:00
Anders Schack-Mulligen
87d5305f5b
Go: Ad-hoc patch the shared libs.
2022-06-20 15:46:38 +02:00
Anders Schack-Mulligen
406f5b525b
Go: Deprecate and replace BarrierGuard class
2022-06-20 15:46:27 +02:00
Geoffrey White
30557ebe55
Swift: Test for string length conflation query.
2022-06-20 14:38:52 +01:00
Cornelius Riemenschneider
d3c7395fa2
Go: Properly escape dash in tracing-config.lua
...
Previously, the pattern didn't match what it was intended to match.
2022-06-20 14:29:50 +02:00
Alex Denisov
42dc6814f0
Swift: extract all output-producing source files, not only primary files
2022-06-20 14:06:54 +02:00
AlexDenisov
fc7e0ec193
Merge pull request #9615 from github/redsun82/swift-fix-synthesized-entities
...
Swift: fix emission of synthesized entities
2022-06-20 13:29:32 +02:00
Asger F
2936e1ada8
Merge pull request #9457 from asgerf/js/madman-prep2
...
JS: Some more improvements to d.ts file analysis
2022-06-20 13:25:07 +02:00
Tony Torralba
b373c435f6
Fix test expectations
2022-06-20 13:16:45 +02:00
Paolo Tranquilli
90f0e3ee72
Swift: remove forgotten resolved TODO
2022-06-20 13:08:28 +02:00
Tamás Vajk
b16fcb72eb
Merge pull request #9559 from tamasvajk/kotlin-fix-parcelize-symbols-3
...
Kotlin: substitute fake Parcelize functions with their real equivalent ones
2022-06-20 13:05:23 +02:00
Paolo Tranquilli
95a6c5d4e5
Swift: fix emission of synthesized entities
...
This was temporarily broken as we were skipping full emission of all
entities without any valid location.
We now rely on `decl->getDeclContext()->getParentSourceFile()` which is
more robust.
2022-06-20 13:00:05 +02:00
Tamás Vajk
f737804035
Merge pull request #9610 from tamasvajk/fix/global-statements
...
C#: Fix global statement extraction
2022-06-20 12:54:36 +02:00
Paolo Tranquilli
c9eef0c6f1
Merge pull request #9592 from github/alexdenisov/extend-lua-tracer-config
...
Swift: extend tracer config to handle -resource-dir and drop unsupported CLI args
2022-06-20 12:53:17 +02:00
Erik Krogh Kristensen
7d62b9e131
move the pruning for module resolution of TypeExprs
2022-06-20 12:12:57 +02:00
Michael Nebel
70203633a1
Merge pull request #9393 from michaelnebel/csharp/asptaintedmember
...
C#: ASP.NET Core like members are tainted
2022-06-20 12:11:16 +02:00
Tony Torralba
78fcdd22db
Change test class name
2022-06-20 12:07:32 +02:00
Tony Torralba
3b60a1c3bc
Add change note
2022-06-20 12:07:31 +02:00
Tony Torralba
2b2fa6e15b
Add taint step for String.valueOf(Editable)
...
Kotlin inlines expr.toString() as String.valueOf(expr) when expr is nullable
2022-06-20 12:07:31 +02:00
Mathias Vorreiter Pedersen
edf0be0854
Merge pull request #9611 from MathiasVP/swift-nomagic-get-location
...
Swift: Add `nomagic` to `getLocation`
2022-06-20 10:42:45 +01:00
AlexDenisov
304f58b12c
Update swift/tools/tracing-config.lua
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-20 11:22:13 +02:00
Mathias Vorreiter Pedersen
57abd4af89
Merge pull request #9612 from MathiasVP/fix-other-constructor-decl-ref-expr-to-string
...
Swift: Fix 'toString' on 'OtherConstructorDeclRefExpr'
2022-06-20 10:17:15 +01:00
Mathias Vorreiter Pedersen
12d27ec580
Swift: Modify 'toString' in 'OtherConstructorDeclRefExpr' to properly reflect that it's a reference and not a call.
2022-06-20 09:59:23 +01:00
AlexDenisov
af379da7e6
Merge pull request #9321 from github/alexdenisov/xref-decls
...
Swift: do not duplicate 'external' declarations
2022-06-20 10:43:05 +02:00
Mathias Vorreiter Pedersen
068ac2b80e
Swift: Add 'nomagic' to 'getLocation'.
2022-06-20 09:41:06 +01:00
Paolo Tranquilli
a91c94c38b
Swift: temporarily disable failing test
2022-06-20 10:32:19 +02:00
Paolo Tranquilli
1f53b7fbe8
Merge main into alexdenisov/xref-decls
2022-06-20 10:25:29 +02:00
yoff
94145e9e74
Update python/ql/lib/semmle/python/security/dataflow/TarSlipCustomizations.qll
2022-06-20 10:14:52 +02:00
Tamas Vajk
51f0a928dc
C#: Fix global statement extraction by extracting statements inside the implicit main method context
2022-06-20 10:09:11 +02:00
Rasmus Wriedt Larsen
ae44a941f9
Merge pull request #9421 from RasmusWL/inline-brackets
...
Inline Expectation Tests: Allow `tag[foo bar]`
2022-06-20 10:01:19 +02:00
Tamas Vajk
c460e5757b
C#: Add extractor error test for global statement extraction
2022-06-20 09:42:18 +02:00
Tamás Vajk
be2dfffb76
Merge pull request #9564 from tamasvajk/fix/diagnostic-query-metadata
...
C#: Change `kind` query metadata to `diagnostic` for compiler/extractor errors and messages
2022-06-20 09:02:35 +02:00
Jeroen Ketema
a4ecb7b4e9
Merge pull request #9473 from ton31337/fix/missing_closing
...
doc: Add missing closing bracket in basic-query-for-cpp-code
2022-06-20 08:38:35 +02:00
AlexDenisov
f1786f4d6b
Apply suggestions from code review
...
Co-authored-by: Cornelius Riemenschneider <cornelius@github.com >
2022-06-20 07:29:10 +02:00
Harry Maclean
e1dcc207b4
Ruby: Model methods in Rails::Generators::Actions
...
These methods are sinks for command injection.
2022-06-20 13:36:09 +12:00
Harry Maclean
20ff4c4299
Ruby: Model ActiveRecord::Relation#touch_all
2022-06-20 13:36:02 +12:00
Harry Maclean
7dfab371f6
Ruby: Model redirect_back and redirect_back_or_to
...
These are ActionController methods that redirect to the HTTP Referer,
falling back to the given location if there is no Referer.
2022-06-20 13:36:02 +12:00
Harry Maclean
a298f5eb5e
Ruby: Recognise File.atomic_write as a file writer
...
This method is an ActiveSupport extension, but there's no harm in
recognising it universally as any identically-named method is likely to
also be a file writer.
2022-06-20 13:36:02 +12:00
Harry Maclean
0ce14fc4e5
Ruby: Recognise ActionCable logger class
2022-06-20 13:36:02 +12:00
Harry Maclean
4ecd595b73
Remove duplicate import
2022-06-20 13:36:02 +12:00
Erik Krogh Kristensen
6d3808bd89
remove redundant cast
2022-06-19 23:19:01 +02:00
Erik Krogh Kristensen
15f9e084d5
fix spurious resolved predicate expressions
2022-06-19 22:49:02 +02:00
Erik Krogh Kristensen
f8b451a514
get all calls to resolve to a unique predicate (within reason)
2022-06-19 22:38:09 +02:00
Erik Krogh Kristensen
f08f02ed66
use the explicit super type to resolve calls
2022-06-19 20:38:16 +02:00
Erik Krogh Kristensen
115110475d
fix getName() on module instantiations
2022-06-19 20:09:32 +02:00
Erik Krogh Kristensen
26df367a8a
fix some instances of spuriously resolving to multiple predicates
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
1856e2b389
fixup the $schema in all .sarif files
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
6e2f3e2fcb
merge all .sarif files at the end of the QL-for-QL workflow
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
638a886dfe
move create-extractor-pack to a scripts folder
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
0391db6787
simplify some code based on review
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
7e93416e97
only resolve module types if we know that the TypeExpr could possibly resolve to a module
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
a59f0d36f5
run the implicit-this patch on QL-for-QL
2022-06-19 20:09:31 +02:00
Erik Krogh Kristensen
3a4f0299c7
fix typo
2022-06-19 20:09:31 +02:00
thiggy1342
3478e7e910
first draft of weak params query
2022-06-18 20:43:58 +00:00
thiggy1342
0456870136
Merge branch 'main' into experimental-manually-check-request-verb
2022-06-18 15:21:53 -04:00
thiggy1342
ecb2114b7b
replace duplicate post with put
2022-06-18 19:21:17 +00:00
thiggy1342
8b36191023
drop precision to low for now
2022-06-18 18:38:58 +00:00
thiggy1342
059c4d38ad
refine query to use appropriate types
2022-06-18 18:26:45 +00:00
Erik Krogh Kristensen
a5e789c72b
Merge pull request #9537 from github/dependabot/cargo/ql/crossbeam-utils-0.8.8
...
Bump crossbeam-utils from 0.8.5 to 0.8.8 in /ql
2022-06-18 15:44:34 +02:00
Erik Krogh Kristensen
02b9745eb6
Merge pull request #9538 from github/dependabot/cargo/ql/regex-1.5.5
...
Bump regex from 1.5.4 to 1.5.5 in /ql
2022-06-18 15:44:10 +02:00
thiggy1342
8aa2602d9e
trying to hone in on eq comparison and include?
2022-06-18 03:09:04 +00:00
thiggy1342
78f5186e6a
remove barrierguards import
2022-06-18 00:43:01 +00:00
thiggy1342
ba1818fc60
Merge branch 'main' into experimental-decompression-api
2022-06-17 20:21:23 -04:00
Taus
3a328f6a3f
Merge pull request #6570 from yoff/python/broaden-noqa-regex
...
Python: Broaden noqa regex to allow comments
2022-06-17 23:56:39 +02:00
Geoffrey White
ca3d7220e7
Swift: placeholder query for string length conflation.
2022-06-17 21:32:52 +01:00
thiggy1342
b171883cd0
Merge branch 'main' into experimental-decompression-api
2022-06-17 12:30:38 -04:00
thiggy1342
4163ae1ca3
Update ruby/ql/src/experimental/decompression-api/DecompressionApi.qhelp
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-17 12:30:22 -04:00
thiggy1342
3b87c1d040
add qlhelp file and example
2022-06-17 16:03:40 +00:00
Rasmus Wriedt Larsen
b65a10d1ef
Inline Expectation Tests: sync
2022-06-17 17:38:19 +02:00
Rasmus Wriedt Larsen
5fb41e4894
Inline Expectation Tests: Disallow tag[[[foo bar]
2022-06-17 17:36:04 +02:00
Paolo Tranquilli
be210aa3af
Merge alexdenisov/xref-decls into redsun82/swift-use-generated-classes
2022-06-17 17:03:30 +02:00
Chris Smowton
a7993fb455
Merge pull request #9577 from smowton/smowton/fix/go-mod-tidy-vendoring
...
Go autobuilder: don't attempt a go mod tidy when there's a vendor directory present
2022-06-17 15:26:59 +01:00
Chris Smowton
91ec8a3447
Merge pull request #9591 from smowton/smowton/admin/cherry-pick-kotlin-1.7-ci-fixes
...
Cherry-pick: Fix Kotlin single-version build when the best candidate has trailing version info
2022-06-17 14:14:28 +01:00
Erik Krogh Kristensen
84556fb93b
Merge pull request #9575 from erik-krogh/paramModules
...
QL: support for parameterized modules
2022-06-17 15:07:48 +02: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
Asger F
15278fe94f
JS: Remove debug println
2022-06-17 14:57:03 +02:00
Asger F
6a4b3a190d
JS: Bump extractor version
2022-06-17 14:40:22 +02:00
Asger F
ed4c39bbb4
JS: Upgrade script
2022-06-17 14:40:22 +02:00
Asger F
5610f654e9
JS: Add PackageJson.getTypingsModule
2022-06-17 14:40:22 +02:00
Asger F
a3204f6d74
JS: Trim whitespace in dbscheme
2022-06-17 14:40:22 +02:00
Asger F
608de70568
JS: Associate symbols with external module decls
2022-06-17 14:40:22 +02:00
Asger F
5faff5609d
JS: Map symbol base types to their actual type
2022-06-17 14:40:22 +02:00
Asger F
fb40d9bc78
Ignore .model-temp
2022-06-17 14:40:22 +02:00
Anders Schack-Mulligen
bbb8d29442
C/C++: Deprecate BarrierGuard class.
2022-06-17 14:29:05 +02:00
Alex Denisov
97c38d9d2d
Swift: extend tracer config to handle -resource-dir and drop unsupported CLI args
2022-06-17 14:19:12 +02:00
Chris Smowton
95982d2587
Fix Kotlin single-version build when the best candidate has trailing version info
...
For example, 1.7.0-RC would previously be truncated to 1.7.0 resulting in failure to build the single-version distro as all candidate alternate-version kotlin files would be ignored.
2022-06-17 12:36:26 +01:00
Chris Smowton
92b8c0f864
Merge pull request #9563 from smowton/smowton/fix/name-trap-files-after-jvmnames
...
Kotlin: Name trap files after jvmnames
2022-06-17 12:32:28 +01:00
Erik Krogh Kristensen
80f66779fb
fixup Definitions.qll
2022-06-17 11:27:07 +02:00
Erik Krogh Kristensen
13b743643e
everything is a TypeRef, some TypeRefs just resolve to a module
2022-06-17 11:22:04 +02:00
Alex Ford
5923eb4962
Merge pull request #9566 from alexrford/ruby/activerecord-findby-dynamic
...
Ruby: recognize ActiveRecord `find_by_x` methods
2022-06-17 09:39:46 +01:00
Nick Rolfe
cac53b5163
Merge pull request #9588 from github/dependabot/cargo/ruby/thread_local-1.1.4
...
Bump thread_local from 1.1.3 to 1.1.4 in /ruby
2022-06-17 09:28:24 +01:00
Nick Rolfe
5f61c0c0b3
Merge pull request #9587 from github/dependabot/cargo/ql/thread_local-1.1.4
...
Bump thread_local from 1.1.3 to 1.1.4 in /ql
2022-06-17 09:27:51 +01:00
Erik Krogh Kristensen
2b5af15d80
comments about what we resolve, and remove a debug comment
2022-06-17 09:09:58 +02:00
Anders Schack-Mulligen
99343c4606
Merge pull request #9582 from igfoo/igfoo/tidy
...
Java: Remove some redundant string concatenations, and a double space
2022-06-17 09:02:05 +02:00
Harry Maclean
230192df3b
Merge pull request #9267 from hmac/hmac/improper-memoization
...
Ruby: Add Improper Memoization query
2022-06-17 16:31:55 +12:00
thiggy1342
7c2b19baad
tweaks and add Zip::File.open_buffer to query
2022-06-17 02:43:54 +00:00
dependabot[bot]
583ab492f9
Bump thread_local from 1.1.3 to 1.1.4 in /ruby
...
Bumps [thread_local](https://github.com/Amanieu/thread_local-rs ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/Amanieu/thread_local-rs/releases )
- [Commits](https://github.com/Amanieu/thread_local-rs/compare/v1.1.3...1.1.4 )
---
updated-dependencies:
- dependency-name: thread_local
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-17 01:44:43 +00:00
dependabot[bot]
e456cdb5dc
Bump thread_local from 1.1.3 to 1.1.4 in /ql
...
Bumps [thread_local](https://github.com/Amanieu/thread_local-rs ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/Amanieu/thread_local-rs/releases )
- [Commits](https://github.com/Amanieu/thread_local-rs/compare/v1.1.3...1.1.4 )
---
updated-dependencies:
- dependency-name: thread_local
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-17 01:42:18 +00:00
Henry Mercer
4733653939
Add a note on how to install dependencies from GHES
2022-06-16 15:08:16 -07:00
Henry Mercer
e4462b7aac
Add a section on authenticating to Container registries
2022-06-16 14:39:37 -07:00
Henry Mercer
5931ea4ab8
Add section on managing packs on GHES
2022-06-16 14:37:34 -07:00
thiggy1342
01cb408393
Merge branch 'main' into experimental-decompression-api
2022-06-16 17:23:55 -04:00
Erik Krogh Kristensen
96eacd0ea6
disable consistency checks in QL tests that does not hold with the current parameterized modules implementation
2022-06-16 23:10:09 +02:00
Erik Krogh Kristensen
e557f233d7
mark the implements of a module as being alive
2022-06-16 23:03:06 +02:00
Erik Krogh Kristensen
cf89faead0
just use TypeExpr to resolve modules
2022-06-16 22:55:11 +02:00
Erik Krogh Kristensen
dce817ec4b
resolve calls to all instantiations of a signature predicate
2022-06-16 22:55:11 +02:00
Erik Krogh Kristensen
2a7a0f398a
add support for signature modules (warning: ugly commit)
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
98690c8a2e
add support for class signatures in parameterized modules
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
e5d3a8fe90
add callgraph test for signature predicates
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
20c9222e23
use explicit this
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
744e2db152
fix the parser to allow lower-case module names
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
55b6f073c2
resolve calls to signature predicates
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
f25c4c5fdf
add consistency test that parents are unique (and fix non-unique parents)
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
14b5f8410f
move the consistency predicates where they should be
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
4be969ca3b
a bit of cleanup on SignatureExpr
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
6e7db2d37c
hook up the pretty AST of a parameterized module
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
1caafb87f7
add type arguments of ModuleInstation to the pretty AST
2022-06-16 22:55:10 +02:00
Erik Krogh Kristensen
adc1466cab
save the name of an instantiated module
2022-06-16 22:55:10 +02:00
Ian Lynagh
5ba672f035
NonSerializableField: Accept test output changes
2022-06-16 17:34:56 +01:00
Ian Lynagh
b80e6421b6
Fix broken links to information about Locations
2022-06-16 16:57:59 +01:00
Arthur Baars
e95194ce67
Merge pull request #9477 from thiggy1342/experimental-archive-api
...
RB: Adding experimental query for detecting path traversal in Archive libraries
2022-06-16 17:45:18 +02:00
Rasmus Wriedt Larsen
45af148f05
Merge pull request #9215 from RasmusWL/ruby-mad-argument-self
...
Ruby: Fixes for `Argument[any,any-named]` in MaD
2022-06-16 17:38:32 +02:00
Ian Lynagh
e7bc2ca423
Java: Remove some redundant string concatenations
2022-06-16 16:38:17 +01:00
Ian Lynagh
13ddc4a988
Java: Remove a double space from an alert message
2022-06-16 16:35:09 +01:00
thiggy1342
6416b8ddb9
Update ruby/ql/src/experimental/decompression-api/DecompressionApi.ql
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-06-16 10:20:17 -04:00
Chris Smowton
0ba2a670bd
Merge pull request #9580 from smowton/smowton/fix/kotlin-build-single-trailing-version-info
...
Fix Kotlin single-version build when the best candidate has trailing version info
2022-06-16 15:11:14 +01:00
thiggy1342
84fce278f1
Merge branch 'main' into experimental-archive-api
2022-06-16 09:30:22 -04:00
Ian Lynagh
9a7ff4bcdf
Kotlin: Remove a redundant cast
2022-06-16 14:08:12 +01:00
Chris Smowton
a2c0fe4edb
Fix Kotlin single-version build when the best candidate has trailing version info
...
For example, 1.7.0-RC would previously be truncated to 1.7.0 resulting in failure to build the single-version distro as all candidate alternate-version kotlin files would be ignored.
2022-06-16 13:25:59 +01:00
Asger F
4941143c3c
Merge pull request #9578 from asgerf/js/library-input-meta-query
...
JS: Add meta query for measuring library inputs
2022-06-16 13:14:40 +02:00
Alex Ford
c44a68613a
Ruby: add a test case for ActiveRecord dynamic finder methods
2022-06-16 11:29:56 +01:00
Alex Ford
56bf977498
Ruby: trim some SQLi related comments from ActiveRecord.rb
2022-06-16 11:29:56 +01:00
Alex Ford
de486baf4a
Ruby: rename ActiveRecord.rb test case file
2022-06-16 11:29:56 +01:00
Asger F
3b4b56be28
JS: Add meta query for measuring library inputs
2022-06-16 11:57:33 +02:00
Anders Schack-Mulligen
1b374e262f
C#: Replace deprecated barrier guards.
2022-06-16 11:25:29 +02:00
Anders Schack-Mulligen
456f02fd82
C#: Add BarrierGuard parameterised module.
2022-06-16 11:25:29 +02:00
Anders Schack-Mulligen
6518a01ded
Dataflow: Sync.
2022-06-16 11:25:28 +02:00
Anders Schack-Mulligen
33deff9bae
Java: Deprecate BarrierGuard class.
2022-06-16 11:25:28 +02:00
Taus
9bf2eb55ca
Python: Allow whitespace before colon
...
As suggested by @DimitriPapadopolous.
Also fixes the test output to account for the `noqa` annotation (with
added comment) that we're now detecting.
2022-06-16 11:16:58 +02:00
Rasmus Lerchedahl Petersen
98301332bd
Python: Broaden noqa regex
2022-06-16 11:16:58 +02:00
Chris Smowton
16a2107f89
Go autobuilder: don't attempt a go mod tidy when there's a vendor directory present
...
This is likely to spuriously remove dependencies leading to a later build failure due to missing requirements.
2022-06-16 10:12:39 +01:00
Rasmus Wriedt Larsen
24750dcc17
Ruby: Sync comment for self API graph label
2022-06-16 11:03:07 +02:00
Rasmus Wriedt Larsen
2ad4921a76
Ruby: Apply suggestions from code review
...
Co-authored-by: Asger F <asgerf@github.com >
2022-06-16 11:01:14 +02:00
Mathias Vorreiter Pedersen
cdf343c5ee
Merge pull request #9576 from erik-krogh/swift-fix
...
Swift: add empty implementation of `defaultImplicitTaintRead`
2022-06-16 09:51:44 +01:00
Mathias Vorreiter Pedersen
2ed3f5cafe
Merge pull request #9560 from MathiasVP/swift-non-empty-query-directory
...
Swift: Add a placeholder query
2022-06-16 09:29:25 +01:00
Ian Lynagh
0d97753cf8
Merge pull request #9573 from igfoo/igfoo/typo
...
CaptureSinkModels.ql: Fix typo
2022-06-16 09:24:45 +01:00
Erik Krogh Kristensen
c5e412db01
add empty implementation of defaultImplicitTaintRead
2022-06-16 10:17:59 +02:00
Michael Nebel
9211d75b3d
C#: Add change note.
2022-06-16 08:43:06 +02:00
Michael Nebel
1f2f2fff7f
C#: Update testcases with examples.
2022-06-16 08:43:06 +02:00
Michael Nebel
e1c7003cde
C#: Only consider directly public auto implemented properties with public getters and setters as being tainted.
2022-06-16 08:43:06 +02:00
Michael Nebel
ef0a3d0a79
C#: Add testcase for controller parameter types tainted members.
2022-06-16 08:38:31 +02:00
Michael Nebel
93007f89c8
C#: Move ASP Net Core stubs into stubs folder.
2022-06-16 08:38:31 +02:00
thiggy1342
ef9442d377
Merge branch 'main' into experimental-archive-api
2022-06-15 21:46:23 -04:00
thiggy1342
056fa71f3e
add change notes
2022-06-16 01:04:50 +00:00
thiggy1342
b078430faf
add Zip::File.new query to tests
2022-06-16 00:51:50 +00:00
Harry Maclean
311296469d
Minor improvements to ImproperMemoizationQuery
2022-06-16 12:44:33 +12:00
Harry Maclean
ff0422c12d
Ruby: Add rb/improper-memoization change note
2022-06-16 12:44:33 +12:00
Harry Maclean
1ac604f769
Ruby: Private import in ImproperMemoizationQuery
2022-06-16 12:44:33 +12:00
Harry Maclean
457a84006c
Ruby: Narrow memo method candidates earlier
2022-06-16 12:44:33 +12:00
Harry Maclean
ef6f0e5b30
Ruby: Add Improper Memoization query
...
This query finds cases where a method memoizes its result but fails to
include one or more of its parameters in the memoization key (or doesn't
use memoization keys at all). This can lead to the method returning
incorrect results when subsequently called with different arguments.
2022-06-16 12:44:33 +12:00
thiggy1342
e317392336
add Zip::File.new to framework
2022-06-16 00:22:15 +00:00
thiggy1342
0281dbd532
remove Zip::Entry.extract from query
2022-06-16 00:04:31 +00:00
Harry Maclean
7c5a83833b
Merge pull request #8737 from hmac/hmac/posix-spawn
...
Ruby: Model the posix-spawn gem
2022-06-16 00:50:10 +01:00
Harry Maclean
a38e59a681
Merge pull request #9030 from hmac/hmac/activesupport
...
Ruby: Model various bits of ActiveSupport
2022-06-16 00:49:38 +01:00
Ian Lynagh
5280cf4e91
CaptureSinkModels.ql: Fix typo
2022-06-15 20:19:15 +01:00
Erik Krogh Kristensen
ce323e215b
add heuristic taint-step for potentially unmodelled libraries, and meta query for counting potential unmodelled steps
2022-06-15 20:27:49 +02:00
thiggy1342
540c51022d
Merge branch 'main' into experimental-decompression-api
2022-06-15 13:40:27 -04:00
thiggy1342
c67c25d4a5
Merge branch 'main' into experimental-archive-api
2022-06-15 13:40:13 -04:00
Chris Smowton
2d57d3aa78
Implement array type variance lowering
...
Kotlin permits introducing a `? extends ...` wildcard against an Array even though the class is final, so long as its argument itself can be extended (i.e. isn't final or is another array type satisfying this condition).
Contravariant arrays get lowered to Object[], and are subject to automatic `extends` wildcard introduction, unless their element type was already Any.
2022-06-15 18:36:56 +01:00
Andrew Eisenberg
b993558987
Update docs to include how to run a pack with path
...
`scope/name@range:path` is a valid way to specify a set of queries.
2022-06-15 10:14:51 -07:00
Erik Krogh Kristensen
b16124d522
Merge pull request #9568 from tausbn/ql-add-parser-support-for-parameterised-modules
...
QL: Allow module applications to the right of `::`
2022-06-15 19:14:07 +02:00
Taus
73a807c7e8
QL: Allow module applications to the right of ::
2022-06-15 16:18:30 +00:00
Robert Marsh
478c2773fe
Merge pull request #9555 from MathiasVP/swift-mad
...
Swift: Add MaD skeleton
2022-06-15 11:58:04 -04: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
Paolo Tranquilli
0957801588
Merge pull request #9521 from github/redsun82/swift-qltestgen
...
Swift: generated extractor tests
2022-06-15 15:39:35 +02:00
Alex Ford
34065f9e93
Ruby: recognize ActiveRecord find_by_x methods
2022-06-15 14:33:09 +01:00
github-actions[bot]
1ed70d51d7
Post-release preparation for codeql-cli-2.9.4
2022-06-15 13:25:20 +00:00
Michael Nebel
9639dca33f
C#: Consider all properties of ASP.NET Core like objects to also be sources of tainted data.
2022-06-15 15:13:37 +02:00
Paolo Tranquilli
78deff68a3
Swift: add generated enum tests
2022-06-15 14:50:33 +02:00
yoff
f14a90ff09
Merge pull request #9200 from tausbn/python-modernise-weak-file-permissions-query
...
Python: Modernise weak file permissions query
2022-06-15 14:37:17 +02:00
Erik Krogh Kristensen
b24b275b94
Merge pull request #7669 from erik-krogh/fieldUnusedInDisjunct
...
QL: field unused in disjunct
2022-06-15 14:32:37 +02:00
Alex Denisov
08ad95b769
Swift: switch to references instead of pointers
2022-06-15 14:19:31 +02:00
Rasmus Lerchedahl Petersen
0608d4d2f9
python: fix alerts
...
Also, remove the `toLowerCase` again,
as I do not know what effect it will have.
2022-06-15 14:18:29 +02:00
AlexDenisov
343ba5ffa8
Update swift/extractor/SwiftDispatcher.h
...
Co-authored-by: Paolo Tranquilli <redsun82@github.com >
2022-06-15 14:13:50 +02:00
Rasmus Lerchedahl Petersen
40b61fa85f
python: fix qldocs and clean-up dead code
2022-06-15 14:07:35 +02:00
Mathias Vorreiter Pedersen
eff046e2f7
Swift: Respond to review comments.
2022-06-15 13:01:27 +01:00
Mathias Vorreiter Pedersen
693575a7e5
Update sync-identical-files.
2022-06-15 13:00:57 +01:00
Mathias Vorreiter Pedersen
55d551c99c
Swift: Add 'MaD' skeleton.
2022-06-15 13:00:56 +01:00
Tamas Vajk
aedf43f14a
C#: Change kind query metadata to diagnostic for compiler/extractor errors and messages
2022-06-15 13:50:27 +02:00
Jeroen Ketema
77b2f07eff
Merge pull request #9561 from jketema/frontend-patches
...
Revert "C++: Fix test failures where location of reference dereference in lambda changed"
2022-06-15 13:29:53 +02:00
Robert Marsh
a59335d0e2
Merge pull request #9557 from MathiasVP/closure-expr-as-cfg-callable
...
Swift: Mark closures as callables in the CFG library
2022-06-15 07:21:33 -04:00
yoff
9dbb451f41
Merge pull request #9463 from RasmusWL/req-wo-cert-validation
...
Python: Rewrite `py/request-without-cert-validation`
2022-06-15 13:00:57 +02:00
Chris Smowton
90e8d4e1de
Name trap files after jvmnames
...
This should lead to better Java/Kotlin correspondence since the Java extractor will naturally name trap files for JVM names, and avoids a specific bug (tested) where MapsKt.iterator's two overloads (one taking `Map` and one `MutableMap`) are JvmName'd differently since their Java-lowered signatures would be identical. Without this change only
one of the iterator overloads would get extracted leaving the other one a dangling reference.
2022-06-15 11:55:58 +01:00
Rasmus Lerchedahl Petersen
f4ce382b7d
python: update test expectations
2022-06-15 12:40:14 +02:00
Anders Schack-Mulligen
28fe7a7660
Merge pull request #9558 from github/release-prep/2.9.4
...
Release preparation for version 2.9.4
2022-06-15 12:27:34 +02:00
Jeroen Ketema
a7d095e063
Revert "C++: Fix test failures where location of reference dereference in lambda changed"
...
This reverts commit 8e7066600a .
2022-06-15 11:58:31 +02:00
Paolo Tranquilli
a928633c59
Merge main into redsun82/swift-qltestgen
2022-06-15 11:46:34 +02:00
Chris Smowton
483281e00f
Merge pull request #9554 from smowton/smowton/fix/rename-removeat
...
Kotlin: Add more Kotlin <-> Java special method name mappings
2022-06-15 10:44:26 +01:00
Michael Nebel
9175421fa2
C#/Java: Update some QL Doc comments to comply with the standard and remove some redundant imports.
2022-06-15 11:32:54 +02:00
Michael Nebel
f810858ae4
Java: Manual rewrite of the ExternalLibraryUsage query to limit the number of returned results.
2022-06-15 11:10:05 +02:00
Michael Nebel
b9b4aedd03
Java: Rewrite most telemetry queries to restrict the number of produced results.
2022-06-15 10:59:12 +02:00
Anders Schack-Mulligen
c4782871d4
Merge pull request #9294 from aschackmull/java/barrierguard-parammod
...
Java: Add support for BarrierGuards as parameterised modules.
2022-06-15 10:56:48 +02:00
Michael Nebel
e6e2427154
Java: Add parameterized module for restricting the number of returned results in telemetry queries.
2022-06-15 10:48:44 +02:00
Michael Nebel
e3ecc5a66b
C#: Add qlDoc to the restrict predicate.
2022-06-15 10:45:32 +02:00
Tamas Vajk
c722921276
Kotlin: substitute fake Parcelize functions with their real equivalent ones
2022-06-15 10:35:48 +02:00
Mathias Vorreiter Pedersen
d3b45729fa
Swift: Add a placeholder query to the 'queries' directory.
2022-06-15 09:34:05 +01:00
github-actions[bot]
104ac05f49
Release preparation for version 2.9.4
2022-06-15 08:22:38 +00:00
Paolo Tranquilli
4a3a10bb6e
Swift: fix ignored codegen unit test
2022-06-15 09:36:55 +02:00
Paolo Tranquilli
8c60aee16d
Swift: fix GetImmediateParent.qll
2022-06-15 09:33:39 +02:00
Paolo Tranquilli
fec15fb60a
Merge main into redsun82/swift-qltestgen
2022-06-15 09:32:39 +02:00
Paolo Tranquilli
1cb8e6130a
Swift: show full diff in codegen check
2022-06-15 09:28:25 +02:00
Alex Denisov
1c9a684ac6
Swift: Introduce SwiftExtractionMode
2022-06-15 09:25:01 +02:00
Paolo Tranquilli
5a2d4faf11
Swift: remove unneeded import list sorting
2022-06-15 09:19:58 +02:00
Mathias Vorreiter Pedersen
2fdb3d638b
Merge branch 'main' into closure-expr-as-cfg-callable
2022-06-15 08:16:56 +01:00
Paolo Tranquilli
86ebb0bb68
Swift: fix qltest skipping and skip isUnknown
...
Also remove obsolete accessor and function hand-written tests.
2022-06-15 09:16:55 +02:00
Mathias Vorreiter Pedersen
b0c66dda3a
Merge pull request #9556 from MathiasVP/swift-extract-closure-params
...
Swift: Extract closure parameters
2022-06-15 08:07:08 +01:00
Paolo Tranquilli
234e05cb1c
Swift: revert accidental commit to docs
2022-06-15 08:46:17 +02:00
Alex Denisov
6d67ea267c
Swift: add cross-referencing test
2022-06-15 08:44:38 +02:00
Paolo Tranquilli
babf62b41c
Merge pull request #9411 from github/alexdenisov/extract-system-modules
...
Swift: extract system and builtin modules separately
2022-06-15 08:42:00 +02:00
thiggy1342
0fce620536
Merge branch 'main' into experimental-decompression-api
2022-06-14 21:54:08 -04:00
thiggy1342
ae86e0daea
spelling fix
2022-06-15 01:51:40 +00:00
thiggy1342
1bdaf529d9
fix qlformat errors
2022-06-15 01:49:48 +00:00
thiggy1342
df226ee610
remove standalone archive api query
2022-06-15 01:39:47 +00:00
thiggy1342
0832e299f2
move archive api path traversal tests to cwe-022
2022-06-15 01:39:47 +00:00
thiggy1342
a0f1c86031
add framework test
2022-06-15 01:39:47 +00:00
thiggy1342
098101f471
add RubyZip::File.open to frameworks
2022-06-15 01:39:47 +00:00
thiggy1342
af6fbd439c
Merge branch 'main' into experimental-archive-api
2022-06-14 20:09:02 -04:00
Chris Smowton
efbe264f93
Accept toInt/intValue and similar test changes
2022-06-14 21:44:54 +01:00
Chris Smowton
d390dc0316
Map java.lang.Number methods to their Java equivalents
2022-06-14 21:44:54 +01:00
Chris Smowton
d3fa4951f6
Accept test changes renaming removeAt(int) -> remove(int)
2022-06-14 21:44:54 +01:00
Chris Smowton
3901f57550
Fix: don't crash when local functions happen to share the name of a function with a special JVM name
2022-06-14 21:44:54 +01:00
Chris Smowton
837bef60fe
Add java.lang.Enum ordinal and name accessors to special-cased JVM names
...
Kotlin represents these as read-only properties with unusual getter names.
2022-06-14 21:44:54 +01:00
Chris Smowton
d151bf632c
Kotlin: Rewrite MutableList.removeAt(int) -> remove(int)
...
The Kotlin authors changed this to avoid a clash on List<Int>, but we must reverse the renaming so the Kotlin and Java views of the same class file extract alike.
2022-06-14 21:44:54 +01:00
Mathias Vorreiter Pedersen
ef224b9c1d
Swift: Mark non-auto closures as callables in the CFG library.
2022-06-14 21:05:48 +01:00
Taus
d05e0e9516
Merge pull request #9526 from tausbn/ql-add-parser-support-for-parameterised-modules
...
QL: Add parser support for parameterised modules
2022-06-14 22:04:08 +02:00
Robert Marsh
1a94ffb726
C++: autoformat
2022-06-14 15:59:47 -04:00
Robert Marsh
e7e517bd6f
C++: Accept more updated test output
2022-06-14 15:54:50 -04:00
Mathias Vorreiter Pedersen
6c96f71d0c
Swift: Autogenerate and accept test changes.
2022-06-14 20:39:18 +01:00
Mathias Vorreiter Pedersen
4595a9cf0b
Swift: Extract parameters to closure expressions.
2022-06-14 20:38:57 +01:00
Chris Smowton
70e5cf786b
Merge pull request #9547 from smowton/smowton/fix/constructor-wildcard-arguments
...
Kotlin: Fix wildcard introduction vs. constructor parameters
2022-06-14 19:28:51 +01:00
Robert Marsh
d508826b0f
Merge branch 'main' into rdmarsh2/fix-ir-globals
2022-06-14 13:22:04 -04:00
Paolo Tranquilli
de52f9be7b
Swift: generated extractor tests
2022-06-14 18:01:29 +02:00
Robert Marsh
07a0b4df84
C++: update test expaectations
2022-06-14 11:43:05 -04:00
Mathias Vorreiter Pedersen
fceea04c3e
Merge pull request #9550 from geoffw0/deref
...
C++: Add test for Dereferenced.qll.
2022-06-14 16:37:33 +01:00
Rasmus Wriedt Larsen
cfd640b1b2
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-06-14 16:47:24 +02:00
Michael Nebel
d288b3d35d
C#: Refactor and narrow number of displayed results of the External library usage query.
2022-06-14 16:41:48 +02:00
Jeroen Ketema
5abb0338b9
Merge pull request #9552 from jketema/rc/3.6/braced
...
C++: Introduce relation for tracking braced initializers
2022-06-14 16:41:45 +02:00
Michael Nebel
51d2eb621b
C#: Refactor queries to use Results module and thus narrowing the number of returned results.
2022-06-14 16:40:53 +02:00
Michael Nebel
d5eebc8405
C#: Add a parameterized module for a telemetry result ordering predicate (will be needed to narrow the number of produced results).
2022-06-14 16:39:45 +02:00
Joe Farebrother
f46dd8cc85
Fix misspellings
2022-06-14 15:34:08 +01:00
dependabot[bot]
d210cd4a87
Bump crossbeam-utils from 0.8.5 to 0.8.8 in /ql
...
Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam ) from 0.8.5 to 0.8.8.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases )
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.5...crossbeam-utils-0.8.8 )
---
updated-dependencies:
- dependency-name: crossbeam-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-14 14:07:41 +00:00
Nick Rolfe
a1c0048bee
Merge pull request #9540 from github/dependabot/cargo/ruby/crossbeam-utils-0.8.8
...
Bump crossbeam-utils from 0.8.5 to 0.8.8 in /ruby
2022-06-14 15:05:38 +01:00
Joe Farebrother
a6736a99e4
Apply doc review suggestions -
...
fix typos and capitilisation; reword description.
2022-06-14 14:56:24 +01:00
Joe Farebrother
c71586e1f8
Remove checks for dynamically registered recievers
2022-06-14 14:56:24 +01:00
Joe Farebrother
320c671b73
Adress reveiw comments - make use of existing ql libraries
2022-06-14 14:56:24 +01:00
Joe Farebrother
9d048e78af
Apply suggestions from code review - fix typos/style, make things private
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2022-06-14 14:56:23 +01:00
Joe Farebrother
d88d216388
Add change note
2022-06-14 14:56:23 +01:00
Joe Farebrother
2fc142f41f
Add security severity
2022-06-14 14:56:23 +01:00
Joe Farebrother
8e2e8cc77f
Add qhelp
2022-06-14 14:56:22 +01:00
Joe Farebrother
4aed1a1e23
Add test cases; fix handling of recievers declared through xml
2022-06-14 14:56:22 +01:00
Joe Farebrother
87f26bf033
Fix typos
2022-06-14 14:56:22 +01:00
Joe Farebrother
1959f49165
Add Improper Intent Verification query
2022-06-14 14:56:21 +01:00
Jeroen Ketema
f71807c968
Update cpp/ql/lib/change-notes/2022-05-30-braced-initializers.md
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-06-14 15:39:24 +02:00
Jeroen Ketema
2052494eee
C++: Fix typo in upgrade script
2022-06-14 15:39:14 +02:00
Jeroen Ketema
f020fdbda3
C++: Update DB scheme stats
2022-06-14 15:38:55 +02:00
Jeroen Ketema
34cbc6678f
C++: Introduce relation for tracking braced initializers
2022-06-14 15:38:45 +02:00
Geoffrey White
2683d011c0
Update cpp/ql/test/library-tests/controlflow/dereferenced/dereferenced.cpp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-06-14 14:33:37 +01:00
Ian Lynagh
b524fb4f3a
Java: Add a test for cycles in the type hierarchy
2022-06-14 14:08:19 +01:00
Ian Lynagh
304e2926c9
Java: Fix RefType.getAStrictAncestor() in the presence of type hierarchy cycles
2022-06-14 14:08:19 +01:00
Rasmus Lerchedahl Petersen
7b5d9ec7df
python: Straight port of tarslip
2022-06-14 15:01:13 +02:00
Taus
5b9c668e10
Python: Restrict test to Python 3
2022-06-14 12:58:35 +00:00
Geoffrey White
512731a38d
C++: Add test for Dereferenced.qll.
2022-06-14 13:53:28 +01:00
Paolo Tranquilli
b6342ba2a0
Swift: limit Cfg.ql to test source locations
2022-06-14 14:15:48 +02:00
Alex Denisov
26d3c4a7fc
Swift: extract system and builtin modules separately
2022-06-14 14:15:48 +02:00
Mathias Vorreiter Pedersen
ff55efff99
Merge pull request #9549 from github/alexdenisov/remove-to-string-from-unknown-element
...
Swift: remove toString from UnknownElement
2022-06-14 13:15:18 +01:00
Alex Denisov
311dcfa230
Swift: remove toString from UnknownElement
...
Another attempt to remove flakiness
2022-06-14 13:37: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
AlexDenisov
7123735b8d
Merge pull request #9546 from github/alexdenisov/extract-OtherConstructorDeclRefExpr
...
Swift: extract OtherConstructorDeclRefExpr
2022-06-14 13:11:18 +02:00
Chris Smowton
a9f43889ea
Fix wildcard introduction vs. constructor parameters
...
Previously we handled the case of *methods* with potentially-wildcarded types that Java nontheless constrains to be invariant, but missed out the constructor case.
2022-06-14 12:07:49 +01:00
Alex Denisov
9681358a6d
Swift: extract OtherConstructorDeclRefExpr
2022-06-14 12:53:25 +02:00
dependabot[bot]
5fe3ebd1d2
Bump regex from 1.5.4 to 1.5.5 in /ql
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.5 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-14 10:35:37 +00:00
Arthur Baars
b20d9c266f
Merge branch 'main' into dependabot/cargo/ruby/crossbeam-utils-0.8.8
2022-06-14 12:34:29 +02:00
Arthur Baars
6f63d9ab99
Merge pull request #9539 from github/dependabot/cargo/ruby/regex-1.5.5
...
Bump regex from 1.5.4 to 1.5.5 in /ruby
2022-06-14 12:33:30 +02:00
Mathias Vorreiter Pedersen
d94633ab85
Merge pull request #9542 from github/alexdenisov/extract-extensions
...
Swift: extract extension declarations
2022-06-14 11:23:00 +01:00
Arthur Baars
b4a1ef10a9
Merge pull request #9544 from github/aibaars-patch-1
...
Fix URL in readme
2022-06-14 12:11:29 +02:00
Alex Denisov
e677b78ab9
Swift: attach NominalTypeDecl to the ExtensionDecl
2022-06-14 12:09:26 +02:00
Taus
5d306c9c22
QL: Refactor SignatureExpr
2022-06-14 09:59:00 +00:00
yoff
699761889d
Merge pull request #7127 from jty-team/jty/python/emailInjection
...
Python: CWE-079 - Add Email injection query
2022-06-14 10:54:16 +02:00
Arthur Baars
72aad0f38f
Fix URL in readme
2022-06-14 10:49:45 +02:00
Alex Denisov
cf0fc5829f
Swift: extract extension declarations
2022-06-14 08:22:43 +02:00
thiggy1342
6bef71ea2c
tweaks to tests
2022-06-14 02:17:12 +00:00
thiggy1342
7bdec98e6f
draft tests
2022-06-14 02:13:15 +00:00
thiggy1342
c012c235c6
rough draft of check request verb query
2022-06-14 01:45:02 +00:00
dependabot[bot]
91d1adea9e
Bump crossbeam-utils from 0.8.5 to 0.8.8 in /ruby
...
Bumps [crossbeam-utils](https://github.com/crossbeam-rs/crossbeam ) from 0.8.5 to 0.8.8.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases )
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md )
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-utils-0.8.5...crossbeam-utils-0.8.8 )
---
updated-dependencies:
- dependency-name: crossbeam-utils
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-14 00:43:21 +00:00
dependabot[bot]
80e47dec31
Bump regex from 1.5.4 to 1.5.5 in /ruby
...
Bumps [regex](https://github.com/rust-lang/regex ) from 1.5.4 to 1.5.5.
- [Release notes](https://github.com/rust-lang/regex/releases )
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/regex/compare/1.5.4...1.5.5 )
---
updated-dependencies:
- dependency-name: regex
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-14 00:38:02 +00:00
Henry Mercer
f7cc46b84b
Merge pull request #9467 from github/dependabot/github_actions/actions/setup-python-4
...
Bump actions/setup-python from 3 to 4
2022-06-14 02:24:22 +02:00
dependabot[bot]
b78f30b58d
Bump actions/setup-python from 3 to 4
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 3 to 4.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v3...v4 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2022-06-13 19:33:33 +00:00
Alex Ford
8d195e3188
Merge pull request #9157 from alexrford/crypto-op-block-mode
...
Ruby/Python: Add a `BlockMode` concept for `CryptographicOperations`
2022-06-13 21:32:36 +02:00
Mathias Vorreiter Pedersen
6c8982b46e
Merge pull request #9469 from rdmarsh2/rdmarsh2/swift/dataflow-inout
...
Swift: Dataflow through inout parameters
2022-06-13 18:11:11 +01:00
Robert Marsh
5f77552c37
Merge branch 'main' into rdmarsh2/fix-ir-globals
2022-06-13 12:43:08 -04:00
Mathias Vorreiter Pedersen
20d9aaf055
Merge pull request #9516 from MathiasVP/revert-9419-revert-9373-cfg-for-key-paths
...
Swift: Reintroduce control-flow for key paths
2022-06-13 17:34:12 +01:00
Taus
ba6a4c6399
QL: Use more precise type for getImplements
2022-06-13 16:06:05 +00:00
Taus
5a214afdb8
QL: Use more precise type for getParameter
2022-06-13 15:53:47 +00:00
Robert Marsh
d7f839a147
Swift: use ExitNode as CFG for InoutReturnNode
2022-06-13 15:50:30 +00:00
Taus
81e41106e7
QL: Add fields for signatureExpr
2022-06-13 15:47:56 +00:00
Robert Marsh
9f2abf3d47
Swift: more inout dataflow tests
2022-06-13 15:39:17 +00:00
Taus
8c46846b82
Add fields to ModuleParam children
2022-06-13 14:27:03 +00:00
Taus
0b8656e625
Rename Application to Instantiation
2022-06-13 14:25:55 +00:00
Taus
a08be0d9b9
QL: Add parser support for parameterised modules
2022-06-13 13:52:26 +00:00
Robert Marsh
84518c8d54
Merge pull request #9404 from MathiasVP/swift-get-enclosing-function
...
Swift: Add `getEnclosingFunction` to `AstNode`
2022-06-13 09:37:51 -04:00
Geoffrey White
3ae60808c1
Merge pull request #9399 from geoffw0/cleartextbufferwriteperf
...
C++: Improve performance of Printf::callsVariadicFormatter.
2022-06-13 14:32:55 +01:00
Erik Krogh Kristensen
caf1d45bc6
Merge pull request #9407 from erik-krogh/rubyFixJoin
...
RB: fix bad CP in the charPred for CipherOperation
2022-06-13 13:17:50 +02:00
Ian Lynagh
7c5a4909c6
Merge pull request #9468 from igfoo/igfoo/overloads
...
Kotlin: Put overloads together
2022-06-13 10:44:55 +01:00
Ian Lynagh
bdae353d4d
Merge pull request #9475 from igfoo/igfoo/builddir
...
Kotlin: Do each build in its own directory
2022-06-13 10:44:36 +01:00
Ian Lynagh
ae472f32de
Merge pull request #9453 from igfoo/igfoo/sam
...
Kotlin: Simplify samMember computation
2022-06-13 10:44:18 +01:00
Ian Lynagh
d8edc83ea2
Merge pull request #9451 from igfoo/igfoo/useValueParameter
...
Kotlin: Remove some redundant code
2022-06-13 10:43:54 +01:00
Ian Lynagh
72ea5973af
Merge pull request #9454 from igfoo/igfoo/extractFunction_idOverride
...
Kotlin: Remove unused idOverride argument to extractFunction
2022-06-13 10:43:31 +01:00
Mathias Vorreiter Pedersen
89bda047ff
Swift: Accept test changes.
2022-06-13 10:14:08 +01:00
Mathias Vorreiter Pedersen
7e5235b4d5
Revert "Merge pull request #9419 from github/revert-9373-cfg-for-key-paths"
...
This reverts commit 2187bf5dde , reversing
changes made to 8b1605a617 .
2022-06-13 10:12:22 +01:00
Mathias Vorreiter Pedersen
ae288332cc
Merge pull request #9511 from MathiasVP/fix-completion-for-patterns
...
Swift: Fix completion for "naked" patterns
2022-06-13 10:56:07 +02:00
Mathias Vorreiter Pedersen
32ef535ad7
Merge pull request #9430 from github/redsun82/swift-unknown-location
...
Swift: add `UnknownLocation`
2022-06-13 10:55:53 +02:00
Paolo Tranquilli
28d2fd7a22
Merge pull request #9416 from github/redsun82/swift-codegen-docs
...
Swift: document and partially simplify codegen
2022-06-13 10:50:16 +02:00
Calum Grant
28c0906886
Update ruby/ql/lib/codeql/ruby/frameworks/stdlib/Logger.qll
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-06-13 09:41:41 +01:00
Mathias Vorreiter Pedersen
9d7afab185
Swift: Fix completion for patterns that occur outside 'CaseLabelItems'. Previously we'd add an unnecessary 'no-match' completion to these patterns even though they were always matching. This caused some confusing output in the graph tests in particular.
2022-06-13 09:24:18 +01:00
AlexDenisov
e1c7de98e8
Merge pull request #9427 from github/redsun82/swift-macos-arm-workaround
...
Swift: build x86_64 on arm64 macOS
2022-06-13 06:30:54 +02:00
thiggy1342
038e6363a9
update severity
2022-06-11 00:09:50 +00:00
thiggy1342
c7e67eb2e2
expand test coverage for sanitizers
2022-06-10 21:30:41 +00:00
Ian Lynagh
669c1faf29
Kotlin: Do each build in its own directory
...
This can make life easier when debugging.
2022-06-10 15:01:37 +01:00
Donatas Abraitis
3174c4fa9b
doc: Add missing closing bracket in basic-query-for-cpp-code
...
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org >
2022-06-10 09:49:52 +03:00
Robert Marsh
97815bfa61
Swift: fix implicit this usage
2022-06-09 18:50:40 +00:00
Robert Marsh
755c56dafe
Swift: autoformat
2022-06-09 18:50:39 +00:00
Robert Marsh
fca1afa493
Swift: fix inout parameter conflation at return
2022-06-09 17:09:49 +00:00
Robert Marsh
8d4830cd23
Swift: make dataflow test a path-problem
2022-06-09 17:09:49 +00:00
Robert Marsh
a7663adf90
Swift: add flow through inout parameters
2022-06-09 17:09:49 +00:00
Robert Marsh
21ba73138d
Swift: add CallExprCfgNode
2022-06-09 17:09:49 +00:00
Robert Marsh
cb3da0eedd
Swift: add some ParamDecl methods
2022-06-09 17:09:48 +00:00
Robert Marsh
776a2965ca
Swift: extract isInOut for parameters
2022-06-09 17:09:48 +00:00
Ian Lynagh
6055aaf048
Kotlin: Put overloads together
...
Makes it easier when reading the code.
The substituteTypeArguments functions aren't actually overloads, but I
think the same applies.
2022-06-09 17:43:11 +01:00
Dave Bartolomeo
5780f156d1
Merge pull request #9456 from dbartol/dbartol/go-suite-helpers/work
...
Fix `codeql/suite-helpers` dependency for Go
2022-06-09 12:04:15 -04:00
Rasmus Wriedt Larsen
d91b92511f
Python: Add change-note
2022-06-08 17:46:51 +02:00
Rasmus Wriedt Larsen
5b2d799fde
Python: Model certificate disabling in urllib3
2022-06-08 17:41:45 +02:00
Rasmus Wriedt Larsen
0d02ca07d7
Python: Add certificate disable test of urllib/urllib2
2022-06-08 17:41:45 +02:00
Rasmus Wriedt Larsen
049e87201c
Python: Model certificate disabling in httpx
2022-06-08 17:41:45 +02:00
Rasmus Wriedt Larsen
1a2a4232a8
Python: Refactor httpx tests
...
and improve QLDocs a bit
2022-06-08 17:41:45 +02:00
Rasmus Wriedt Larsen
f72a1d98bb
Python: Model certificate disabling in aiohttp.client
2022-06-08 17:41:45 +02:00
Rasmus Wriedt Larsen
4b07a7b7be
Python: Add missing QLDoc for requests
...
Also fix links
2022-06-08 17:41:42 +02:00
Rasmus Wriedt Larsen
f37d1775f1
Python: Improve requests tests
2022-06-08 17:41:11 +02:00
Rasmus Wriedt Larsen
c21e05aa44
Python: Use HTTP::Client::Request request for py/request-without-cert-validation
...
This is very much like the Ruby query, except we also have the origin
that does the disabling.
976daddd36/ruby/ql/src/queries/security/cwe-295/RequestWithoutValidation.ql (L18-L20)
2022-06-08 15:42:32 +02:00
Rasmus Wriedt Larsen
9cb249fc2f
Python: Add test we don't handle for py/request-without-cert-validation
2022-06-08 15:39:37 +02:00
Rasmus Wriedt Larsen
bb0435aba6
Merge branch 'main' into ruby-mad-argument-self
2022-06-08 14:19:29 +02:00
Paolo Tranquilli
8b52bb0c31
Swift: build x86_64 on arm64 macOS
...
This is a temporary workaround. At a later stage we will add
* a Swift/LLVM prebuilt package for arm64
* universal binary for the extractor
2022-06-08 10:25:38 +02:00
Dave Bartolomeo
5e5e2646e2
Fix codeql/suite-helpers dependency for Go
2022-06-07 10:55:49 -04:00
Ian Lynagh
5c9fea2283
Kotlin: Remove unused idOverride argument to extractFunction
2022-06-07 11:34:43 +01:00
Ian Lynagh
33e11b3014
Kotlin: Simplify samMember computation
2022-06-07 11:11:00 +01:00
thiggy1342
62291124ff
remove constraint for Zip::File.open
2022-06-06 21:20:44 +00:00
thiggy1342
3c62271dba
fix casing of Api
2022-06-06 21:18:08 +00:00
thiggy1342
074583eab8
add archive api file open query and test
2022-06-06 21:09:57 +00:00
Ian Lynagh
763f869e3f
Kotlin: Remove some redundant code
2022-06-06 20:49:36 +01:00
thiggy1342
c5db11ee2e
use select placeholder correctly
2022-06-06 14:01:02 +00:00
thiggy1342
6cb0717a07
Fix test syntax for sanitizer tests
2022-06-04 16:33:18 +00:00
thiggy1342
5ada3b76ed
Merge branch 'main' into experimental-decompression-api
2022-06-03 16:45:53 -04:00
thiggy1342
54fd7809fe
tweak metadata
2022-06-03 18:22:50 +00:00
thiggy1342
c5dc8779d1
Increased query robustness and test coverage
2022-06-03 18:05:56 +00:00
jorgectf
171239b78f
Format FlaskMail.qll and Sendgrid.qll
2022-06-03 18:27:45 +02:00
Paolo Tranquilli
a0acb19b68
Swift: remove redundant import
2022-06-03 15:28:48 +02:00
Paolo Tranquilli
01e1c13c29
Swift: add UnknownLocation
...
`getLocation()` will now exists for all entities. When there is no
valid location, the location will still not be emitted in the DB, but
on the QL side we will then assign a special `UnknownLocation` with
empty filename and 0 for line/column start/end.
This unknown location is currently emitted (with a unique `@` key) at
the start of every extraction, but we can move it elsewhere (and
possibly in a unique global trap file) at a later stage, possibly after
or when we rework the trap file strategy.
This should solve flakiness that was observed on the control flow tests,
which is probably caused by the `nodes` predicate in the `TestOutput`
class in `ControlFlowGraphImplShared.qll` not able to assign a proper
rank when the node does not have a location.
2022-06-03 14:59:22 +02:00
Tamás Vajk
4a025053cc
Merge pull request #9400 from tamasvajk/kotlin-fix-parcelize-symbols
...
Kotlin: Fix fake raw type symbols used by the Parcelize plugin
2022-06-03 13:34:22 +02:00
Rasmus Wriedt Larsen
50196d099b
Inline Expectation Tests: sync
2022-06-03 11:39:57 +02:00
Rasmus Wriedt Larsen
c1e6996e99
Inline Expectation Tests: Allow tag[foo bar]
...
This is partly motivated by the MaD tests which looks much better now in
my opinion.
I also wanted this for testing argument passing. In Python we're
adopting the same argument positions as Ruby has
[here](4f3751dfea/ruby/ql/lib/codeql/ruby/dataflow/internal/DataFlowDispatch.qll (L508-L540) )
So it would be nice if `arg[keyword foo]=...` was allowed, without
having to transform the `toString()` result of an argument position into
something without a space.
2022-06-03 11:39:57 +02:00
Rasmus Wriedt Larsen
07c22a857f
Merge pull request #9420 from RasmusWL/sync-go-inline
...
Go: Sync InlineExpectationsTest
2022-06-03 11:37:13 +02:00
Rasmus Wriedt Larsen
aa78ce3c75
Merge pull request #9413 from github/RasmusWL/query-list-cli-tags
...
Misc: query-list should run on `codeql-cli/*` tags
2022-06-03 11:36:52 +02:00
Rasmus Wriedt Larsen
cceeaef6bf
Merge pull request #9412 from github/RasmusWL/labeler-permissions
...
Misc: Set permissions for labeler Action
2022-06-03 11:36:37 +02:00
Tamas Vajk
0a484aadf1
Improve code quality based on PR review
2022-06-03 11:17:13 +02:00
Tamas Vajk
ba5cf5b1b2
Kotlin: Fix fake raw type symbols used by the Parcelize plugin
2022-06-03 11:17:13 +02:00
AlexDenisov
0a861ff616
Merge pull request #9410 from github/alexdenisov/swift-extract-only-primary-files
...
Swift: extract only primary files
2022-06-03 10:44:18 +02:00
Alex Denisov
14384b7696
Swift: switch back to references
2022-06-03 10:22:25 +02:00
Paolo Tranquilli
87234938ef
Swift: correct typo
2022-06-03 08:45:59 +02:00
Chris Smowton
04422eeaee
Merge pull request #9378 from porcupineyhairs/goJwtSign
...
Golang : Add query to detect JWT signing vulnerabilities
2022-06-02 20:53:03 +01:00
Chris Smowton
d5ac7190cc
Remove duplicate function
2022-06-02 17:02:54 +01:00
Chris Smowton
e54b29a846
Autoformat
2022-06-02 15:58:29 +01:00
Chris Smowton
602495df4c
Replace cases accidentally handled by CompareExprSanitizer with ReturnedAlongsideErrorSanitizerGuard
2022-06-02 15:53:41 +01:00
Chris Smowton
70c74bfcc0
Merge pull request #9418 from smowton/smowton/admin/test-java-kotlin-map-entries
...
Kotlin: add test for Java and Kotlin both extending Map.Entry
2022-06-02 15:52:59 +01:00
Robert Marsh
43907b6a30
Merge pull request #9409 from github/alexdenisov/swift-fix-ctor-dtor-tostring
...
Swift: fix ctor/dtor names in toString
2022-06-02 10:34:03 -04:00
Chris Smowton
b48a07e7b8
Tighten up CompareExprSanitizer
...
- Document
- Only actually consider comparisons
- Don't sanitize literals
2022-06-02 15:18:38 +01:00
Chris Smowton
3155771abe
Rename empty-string sanitizer to reflect what it actually does.
2022-06-02 15:10:02 +01:00
Chris Smowton
bfbc1d48b7
Simplify redundant sanitizer
2022-06-02 15:02:41 +01:00
Chris Smowton
3d63cec1e8
Autoformat
2022-06-02 14:45:28 +01:00
Porcupiney Hairs
361b7037c6
Include suggested changes from review.
2022-06-02 19:11:44 +05:30
Paolo Tranquilli
ede6bd8ffe
Swift: document and partially simplify codegen
...
This adds:
* a base `README.md` file to `codegen`
* module docstrings for the modules in `generators`
* help strings on all command line flags
Moreover some unneeded command line flags (`--namespace`,
`--include-dir` and `--trap-affix`) have been dropped.
2022-06-02 15:28:57 +02:00
AlexDenisov
2187bf5dde
Merge pull request #9419 from github/revert-9373-cfg-for-key-paths
...
Revert "Swift: Control-flow for key paths"
2022-06-02 15:26:07 +02:00
Rasmus Wriedt Larsen
0b486ade9b
Go: Autoformat
2022-06-02 15:12:13 +02:00
Rasmus Wriedt Larsen
aadf7aefb0
Go: Use new location in hasLocationInfo
2022-06-02 15:05:58 +02:00
Paolo Tranquilli
c9d109ddd3
Revert "Swift: Control-flow for key paths"
2022-06-02 14:55:52 +02:00
Rasmus Wriedt Larsen
3f857e113c
Go: Adjust hasActualResult overrides
2022-06-02 14:55:27 +02:00
Rasmus Wriedt Larsen
86caf747f3
Go: Sync InlineExpectationsTest
2022-06-02 14:54:51 +02:00
Chris Smowton
ebb52adba6
Kotlin: add test for Java and Kotlin both extending Map.Entry
2022-06-02 13:30:39 +01:00
Chris Smowton
8b1605a617
Merge pull request #9405 from smowton/smowton/fix/restore-wildcard-types
...
Kotlin: Introduce / restore implied wildcard types
2022-06-02 13:26:11 +01: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
Anders Schack-Mulligen
4e6e595b3a
Java: Add qldoc.
2022-06-02 13:30:27 +02:00
Chris Smowton
efc534abe7
Add implied wildcards when extracting type parameter bounds
...
kotlinc seems to always insert wildcards where type parameter variance implies them, and ignores @JvmSuppressWildcards at least in 1.6.20.
2022-06-02 11:37:15 +01:00
Porcupiney Hairs
1ef42a11ad
Include suggested changes from review.
2022-06-02 16:04:29 +05:30
Anders Schack-Mulligen
9f42ca8d14
Update java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-06-02 12:00:37 +02:00
Anders Schack-Mulligen
002c456989
Update java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-06-02 12:00:09 +02:00
Rasmus Wriedt Larsen
a3c4a2c3e0
Misc: query-list should run on codeql-cli/* tags
...
Since go doesn't need to be cloned with the same tag, that makes this change much easier to implement in practice 💪
2022-06-02 11:57:39 +02:00
Chris Smowton
c1592cb1dc
Accept test changes
2022-06-02 10:31:35 +01:00
Chris Smowton
910bb51094
Extract WildcardTypeAccesses
...
Their absence became more noticeable now that more implicit wildcards are being produced.
2022-06-02 10:31:08 +01:00
Rasmus Wriedt Larsen
b646195d14
Misc: Set permissions for labeler Action
...
Like in the example on
https://github.com/actions/labeler#create-workflow
2022-06-02 10:27:48 +02:00
Tamás Vajk
d7b06aa2ba
Merge pull request #9401 from tamasvajk/kotlin-cleanup
...
Kotlin: Reuse `codeQlWithHasQuestionMark`
2022-06-02 10:24:17 +02:00
Anders Schack-Mulligen
7214990762
Merge pull request #9408 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-06-02 10:01:15 +02:00
Mathias Vorreiter Pedersen
927aceb420
Merge pull request #9373 from MathiasVP/cfg-for-key-paths
2022-06-02 08:32:29 +01:00
Erik Krogh Kristensen
7c5ac63254
Merge branch 'main' into fieldUnusedInDisjunct
2022-06-02 09:06:46 +02:00
Paolo Tranquilli
3b57d4830b
Merge pull request #9402 from github/redsun82/swift-codegen-tweaks
...
Swift: merge `codegen` and `cppcodegen`
2022-06-02 09:02:47 +02:00
Paolo Tranquilli
c52d19d821
Merge pull request #9403 from redsun82/build-codeowners
...
CODEOWNERS: remove `BUILD.bazel` from codeql-ci-reviewers
2022-06-02 09:02:17 +02:00
Alex Denisov
6419af39f3
Swift: extract only primary files
...
While the (removed) comment is correct and the frontend can be called in
different modes, both `swift build` and `xcodebuild` always use
`-primary-files` when compiling Swift projects.
The other mode was present only within our test runner (`qltest.sh`), so
removing it and doing what the official build systems do simplifies our
code base.
Additionally, file archival is now a separate function/operation.
2022-06-02 08:57:03 +02:00
Alex Denisov
1dab01a31c
Swift: fix ctor/dtor names in toString
2022-06-02 08:28:46 +02:00
github-actions[bot]
ab4b7d8509
Add changed framework coverage reports
2022-06-02 00:18:51 +00:00
Erik Krogh Kristensen
536d226a6b
fix bad CP in the charPred for CipherOperation
2022-06-01 23:36:11 +02:00
Chris Smowton
dc7d07ff46
Extract correct implied wildcards for Java classes and @JvmSuppressWildcards-annotated entities
...
For Java classes this means following the structure of the underlying Java type to determine where the wildcard was really present and where the Java signature ruled it out. The annotation tracking simply means looking for @JvmSuppressWildcards on any surrounding class or function to turn off wildcard introduction by default.
2022-06-01 20:00:22 +01:00
Chris Smowton
37fce6ace9
Restore implicit wildcard types
...
The Kotlin compiler represents types like List<out CharSequence> internally as List<CharSequence> due to the fact that List's type parameter is covariant, and similarly Comparable<in CharSequence> where Comparable's type parameter is contravariant. However it restores use-site variance when emitting class files, so we must do the same thing for
compatability with Java code.
Note this is a partial solution because it will also add wildcards to Java .class files that *could* have a variance / wildcard but don't -- for example, a Java method could really take an invariant Comparable<CharSequence>, which is only achievable in Kotlin via the @JvmSuppressWildcards annotation. We also don't yet support
@JvmSuppressWildcards given on a surrounding class or function.
2022-06-01 19:58:40 +01:00
Mathias Vorreiter Pedersen
cde2880392
Swift: Add getEnclosingFunction to AstNode.
2022-06-01 16:40:08 +01:00
Paolo Tranquilli
0df8a9883a
CODEOWNERS: remove BUILD.bazel from codeql-ci-reviewers
2022-06-01 17:11:20 +02:00
Paolo Tranquilli
77f7fe8dbc
Swift: merge codegen and cppcodegen
...
Python code was simplified, and now a `--generate` option can be used
to drive what can be generated.
The extractor pack creation now will use an internally generated
dbscheme. This should be the same as the checked in one, but doing so
allows `bazel run create-extractor-pack` and `bazel run codegen` to be
run independently from one another, while previously the former had to
follow the latter in case of a schema change. This is the change that
triggered the above simplification, as in order for the two dbscheme
files to be identical, the first `// generated` line had to state the
same generator script.
2022-06-01 17:07:52 +02:00
Erik Krogh Kristensen
4b2b6fae88
Merge pull request #9395 from asgerf/js/fix-type-confusion
...
JS: Fix cartesian product in TypeConfusionThroughParameterTampering
2022-06-01 16:28:17 +02:00
Mathias Vorreiter Pedersen
7d962ac62b
Merge pull request #9397 from MathiasVP/use-autogenerated-parent-in-cfg-library
...
Swift: Use the autogenerated `getParent`
2022-06-01 14:45:43 +01:00
Mathias Vorreiter Pedersen
cb7be4f8ba
Merge pull request #9398 from github/redsun82/swift-getparent
...
Swift: simplify `GetImmediateParent.qll`
2022-06-01 14:35:20 +01:00
Mathias Vorreiter Pedersen
eabb5c7137
Swift: Respond to PR comments.
2022-06-01 14:34:22 +01:00
Paolo Tranquilli
3414028b1b
Swift: simplify GetImmediateParent.qll
2022-06-01 15:01:49 +02:00
Mathias Vorreiter Pedersen
db0498e38c
Swift: Use the autogenerated 'getParent' predicate in the CFG library.
2022-06-01 13:49:12 +01:00
Mathias Vorreiter Pedersen
ecce7f1f10
Merge pull request #9380 from github/redsun82/swift-getparent
...
Swift: generate `getParent` implementation
2022-06-01 13:48:48 +01:00
Paolo Tranquilli
6b90b2b05f
Swift: add children to IsPattern
2022-06-01 14:35:58 +02:00
Paolo Tranquilli
a4f97dd67a
Swift: add comment about unique in getImmediateParent
2022-06-01 14:32:59 +02:00
Paolo Tranquilli
bc0a32c26e
Swift: sort import list
...
Also fix parent tests with updated `statements.swift` file.
2022-06-01 14:32:59 +02:00
Paolo Tranquilli
3597efb728
Swift: rename to getImmediateParent and use hidden AST
2022-06-01 14:32:58 +02:00
Paolo Tranquilli
a894ba64c4
Swift: make test run in Python 3.8
2022-06-01 14:32:58 +02:00
Paolo Tranquilli
a86d0fc8a7
Swift: move getAChild to a separate module
2022-06-01 14:32:58 +02:00
Paolo Tranquilli
946e1f498a
Swift: generate getParent implementation
...
By explicitly marking children in the `schema.yml` file, an internal
`getAChild` predicate is implemented, that is in turn used in `AstNode`
to implement `getParent`.
This is yet to be used in the control flow library to replace the
hand-rolled implementation.
A further, more complex step is to use the same information to fully
generate the core implementation of `PrintAst` (including the
accessor string). This will be done later.
The `parent` tests use the same swift code as the extractor tests, and
this is currently enforced by `sync-files.py`. Notice that `qltest.sh`
had to be modified to deal with multiple files, which was not working
yet.
2022-06-01 14:32:58 +02:00
Ian Lynagh
6f9e9e889b
Merge pull request #9396 from igfoo/igfoo/labeler
...
CI: Add Kotlin and Go to labeler.yml
2022-06-01 13:30:22 +01:00
Ian Lynagh
ef4f09cf52
CI: Labeler: Don't label Kotlin for changenotes
...
They get labeled as Java. Given we aren't labeling shared QLL changes,
it makes sense not to label shared changenotes either.
2022-06-01 13:19:00 +01:00
Geoffrey White
cd4ff54743
C++: Improve performance of Printf::callsVariadicFormatter.
2022-06-01 13:17:10 +01:00
Ian Lynagh
67c4850c61
CI: Add Kotlin and Go to labeler.yml
2022-06-01 12:01:08 +01:00
Ian Lynagh
e0d9317889
Merge pull request #9389 from igfoo/igfoo/function_loc_override
...
Kotlin: Remove extractFunction's location override
2022-06-01 11:46:22 +01:00
Ian Lynagh
703ced3fe9
Merge pull request #9390 from igfoo/igfoo/valueparam
...
Kotlin: extractValueParameter: Simplify typeSubstitution logic
2022-06-01 11:46:05 +01:00
Jorge
897d5c9471
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-06-01 12:44:08 +02:00
Asger F
db0ac7b3b3
JS: Fix cartesian product in TypeConfusionThroughParameterTampering
2022-06-01 11:37:23 +02:00
Paolo Tranquilli
4d6c8da74b
Swift: no perfect forwarding for label fetchers
...
While we need universal references to catch different value categories,
we don't need perfect forwarding as `fetchLabel` does not behave
differently on lvalue and rvalues.
2022-06-01 11:26:21 +02:00
Rasmus Wriedt Larsen
729cf79be7
Merge pull request #9351 from RasmusWL/django-file-read
...
Python: Support `read` on Django file
2022-06-01 10:45:26 +02:00
Anders Schack-Mulligen
9abd2259d3
Merge pull request #9381 from aschackmull/redos/perf
...
ReDoS: Improve performance in ExponentialBackTracking.qll.
2022-06-01 10:39:28 +02:00
Anders Schack-Mulligen
4f3751dfea
Merge pull request #9316 from hvitved/dataflow/edges-get-a-successor-consistency
...
Data flow: Make `PathGraph::edges/2` and `PathNode::getASuccessor/1` consistent
2022-06-01 10:38:25 +02:00
Michael Nebel
9cc10e4511
Merge pull request #9257 from michaelnebel/java/mad-commons-io-sha
...
Java: Update commons-io SHA for model regeneration and update models.
2022-06-01 09:46:30 +02:00
Paolo Tranquilli
6e44a12a67
Swift: make enable_if_t a non-type parameter
...
This disallows completely calling the disabled function (which could
be done by explicitly providing `void` otherwise).
2022-06-01 08:47:53 +02:00
Paolo Tranquilli
905cc23719
Swift: update comment
2022-06-01 08:41:43 +02:00
Paolo Tranquilli
19f16678ac
Swift: change translation signature and detection
...
Translation now takes const references to swift entities and return
trap entries (instead of taking apointer as an out parameter).
2022-06-01 08:41:43 +02:00
Paolo Tranquilli
c3cb0d6ad7
Swift: fix name extraction in VarDecl
2022-06-01 08:41:43 +02:00
Paolo Tranquilli
86b4f16b3a
Swift: remove Binding<> class
...
That class was meant to allow aggregate initialization of generated
C++ entries having the label `id` as first argument.
As aggregate initialization turned out to be undesirable (names of
fields are not explicit, and `{}` must be inserted for empty
superclasses), this commit removes it and disallows aggregate
initialization altogether by defining empty constructors for generated
classes.
2022-06-01 08:41:43 +02:00
Paolo Tranquilli
9231013401
Swift: use C++ entry style visitor in DeclVisitor
2022-06-01 08:41:43 +02:00
Robert Marsh
42ec6350eb
Merge pull request #9349 from MathiasVP/fix-inconsistent-cfg
...
Swift: Fix three CFG inconsistencies
2022-05-31 14:38:08 -04:00
Ian Lynagh
6be4afcf36
Kotlin: extractValueParameter: Simplify typeSubstitution logic
...
The type substitution is now done in the wrapper, so the worker doesn't
need to be passed typeSubstitution.
2022-05-31 19:23:54 +01:00
Porcupiney Hairs
ae2bc1b410
Include suggested changes from review.
2022-05-31 23:10:57 +05:30
Ian Lynagh
21d69ae819
Kotlin: Remove extractFunction's location override
...
It wasn't being used.
2022-05-31 17:43:25 +01:00
Mathias Vorreiter Pedersen
e2ddfcd437
Merge pull request #9387 from github/geoffw0-patch-2
...
Swift: Update readme
2022-05-31 16:34:17 +01:00
Robert Marsh
bd095abea4
Merge pull request #9388 from MathiasVP/cfg-for-yield
...
Swift: CFG for `yield`
2022-05-31 11:22:21 -04:00
Nick Rolfe
f417c12c5e
Merge pull request #9332 from github/post-release-prep/codeql-cli-2.9.3
...
Post-release preparation for codeql-cli-2.9.3
2022-05-31 16:17:50 +01:00
Mathias Vorreiter Pedersen
6386daf44c
Merge branch 'main' into fix-inconsistent-cfg
2022-05-31 15:59:53 +01:00
Robert Marsh
78fd0385fc
Merge pull request #9355 from MathiasVP/not-all-functions-throw
...
Swift: Only construct exceptional edges for calls that may throw
2022-05-31 10:56:31 -04:00
Mathias Vorreiter Pedersen
5f9d03f7c6
Swift: CFG for 'yield'.
2022-05-31 15:45:43 +01:00
Chris Smowton
9b7597bcdb
Merge pull request #9377 from porcupineyhairs/goPam
...
Golang : Add Query To Detect PAM Authorization Bugs
2022-05-31 15:42:45 +01:00
Geoffrey White
f598b26b03
Merge pull request #9384 from MathiasVP/qlpacks-for-swift
...
Swift: Add qlpacks
2022-05-31 15:39:20 +01:00
Mathias Vorreiter Pedersen
547cecf143
Merge pull request #9385 from MathiasVP/swift-extract-yield-stmt
...
Swift: Extract `yield` statements
2022-05-31 15:33:35 +01:00
Mathias Vorreiter Pedersen
a175f49759
Merge pull request #3 from geoffw0/swiftsrc
...
Swift: Add swift-security-and-quality, swift-security-extended packs.
2022-05-31 15:02:33 +01:00
Mathias Vorreiter Pedersen
b5d229d4d8
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-05-31 15:01:36 +01:00
Geoffrey White
01091ae1b9
Swift: Add codeql-suites.
2022-05-31 14:52:53 +01:00
Asger F
f70f769bb6
Merge pull request #9266 from asgerf/js/madman-prep
...
JS: Some fixes to support proper analysis of d.ts files
2022-05-31 15:43:40 +02:00
Mathias Vorreiter Pedersen
1d120486b4
Swift: Extract 'yield' statements.
2022-05-31 14:43:09 +01:00
Mathias Vorreiter Pedersen
9af31bab2a
Swift: Add qlpacks.
2022-05-31 13:59:44 +01:00
Tamás Vajk
7f5dcfaf0f
Merge pull request #9379 from tamasvajk/kotlin-android-specific-return-types
...
Kotlin: Change return type of Android specific `ConcurrentHashMap.keySet`
2022-05-31 14:00:36 +02:00
Porcupiney Hairs
e0f74a51ac
Include suggested changes from review.
2022-05-31 17:17:54 +05:30
Chris Smowton
d4f9c75315
Remove dead code
2022-05-31 11:14:36 +01:00
Chris Smowton
cea909f03e
Autoformat
2022-05-31 11:14:00 +01:00
CodeQL CI
9dd20f113d
Merge pull request #8603 from github/max-schaefer/better-amd-modelling
...
Approved by asgerf, erik-krogh
2022-05-31 03:10:32 -07:00
Chris Smowton
8b32eaf05c
Copyedits
2022-05-31 11:05:40 +01:00
Geoffrey White
ce3488b1b5
Update Swift readme
2022-05-31 10:56:28 +01:00
github-actions[bot]
ed2f3409bc
Post-release preparation for codeql-cli-2.9.3
2022-05-31 09:54:55 +00:00
Geoffrey White
de1fdd3bc9
Merge pull request #9382 from github/geoffw0-patch-2
...
Swift: Added Bazel install step.
2022-05-31 10:44:52 +01:00
Anders Schack-Mulligen
9212886767
Merge pull request #9286 from aschackmull/java/perf-customnullguard
...
Java: Improve customNullGuard performance.
2022-05-31 11:36:01 +02:00
Jeroen Ketema
ed9e798a81
Merge pull request #9362 from jketema/braced
...
C++: Introduce relation for tracking braced initializers
2022-05-31 11:29:10 +02:00
Geoffrey White
27968b60a5
Added Bazel install step.
2022-05-31 10:25:42 +01:00
Erik Krogh Kristensen
6cfd790cda
Merge pull request #9356 from erik-krogh/getRouting
...
JS: rewrite js/sensitive-get-query to use routing trees
2022-05-31 11:08:54 +02:00
Anders Schack-Mulligen
e36c59b285
ReDoS: Sync.
2022-05-31 11:04:42 +02:00
Anders Schack-Mulligen
e016feeb5c
ReDoS: Improve performance in ExponentialBackTracking.qll.
2022-05-31 11:04:03 +02:00
Jeroen Ketema
ce26124c01
Update cpp/ql/lib/change-notes/2022-05-30-braced-initializers.md
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2022-05-31 10:42:31 +02:00
Jeroen Ketema
e3046fb05b
C++: Fix typo in upgrade script
2022-05-31 10:37:46 +02:00
Tamas Vajk
90fdd7eaf9
Kotlin: Reuse codeQlWithHasQuestionMark
2022-05-31 08:47:25 +02:00
Erik Krogh Kristensen
95fae8155e
fix wrong comment
...
Co-authored-by: Asger F <asgerf@github.com >
2022-05-31 08:38:03 +02:00
Porcupiney Hairs
5c5e978d30
Remove local data flow query
2022-05-31 03:53:02 +05:30
Tamas Vajk
89ffefd45e
Kotlin: Change return type of Android specific ConcurrentHashMap.keySet
2022-05-30 23:45:38 +02:00
Jeroen Ketema
bb93179c45
Merge pull request #9279 from github/felicitymay-patch-1
...
Fix typo in recent docs update
2022-05-30 23:31:37 +02:00
Porcupiney Hairs
bd1ddc177e
Golang : Add query to detect JWT signing vulnerabilities
...
Supersedes github/codeql-go#705
2022-05-31 01:56:59 +05:30
Porcupiney Hairs
ae2cc378e5
Golang : Add Query To Detect PAM Authorization Bugs
2022-05-31 01:28:55 +05:30
Henry Mercer
a661a0cc7e
Merge pull request #9376 from github/henrymercer/internal-repo-preserve-invariant
...
Clean merge to preserve submodule invariant of internal repo
2022-05-30 20:28:43 +01:00
Henry Mercer
76375f8d73
Merge remote-tracking branch 'origin/main' into henrymercer/semmle-code-noop-merge
2022-05-30 20:14:22 +01:00
Erik Krogh Kristensen
6a6a63e1aa
Merge pull request #9354 from erik-krogh/jsStages
...
JS: collapse a few small stages
2022-05-30 20:31:54 +02:00
Henry Mercer
b1faba9880
Merge pull request #9359 from github/henrymercer/migrate-to-codeql-workspace
...
Migrate `.codeqlmanifest.json` to `codeql-workspace.yml`
2022-05-30 18:20:11 +01:00
Chris Smowton
1708719fdf
Merge pull request #9343 from smowton/smowton/fix/align-kotlin-java-generic-types
...
Kotlin: extract methods defined on collections types with their Java signatures
2022-05-30 17:52:58 +01:00
Mathias Vorreiter Pedersen
b88fe1b2b4
Swift: Add test case and accept changes.
2022-05-30 17:05:06 +01:00
Mathias Vorreiter Pedersen
eed42a4e14
Swift: Make a new scope for each KeyPath expression.
2022-05-30 17:05:06 +01:00
Mathias Vorreiter Pedersen
cd1800ec7e
Merge pull request #9371 from MathiasVP/extract-key-path-application
...
Swift: Extract KeyPath applications
2022-05-30 17:02:42 +01:00
Henry Mercer
99e6d2a925
Run relevant tests when codeql-workspace.yml is updated
2022-05-30 15:54:52 +01:00
Henry Mercer
ca764576be
Swift: Update mention of manifest file in docs
2022-05-30 15:54:52 +01:00
Andrew Eisenberg
e544a9b94b
Update codeql-workspace.yml
...
Co-authored-by: Henry Mercer <henrymercer@github.com >
2022-05-30 15:53:48 +01:00
Andrew Eisenberg
18c5474431
Add comment to codeql-workspace.yml
2022-05-30 15:53:48 +01:00
Andrew Eisenberg
c5dd8aa703
Convert .codeqlmanifest.json to codeql-workspace.yml
...
The semantics are the same, except one is json, the other is
yaml.
2022-05-30 15:53:48 +01:00
Mathias Vorreiter Pedersen
9175354bbd
Swift: Add test and accept changes.
2022-05-30 15:51:49 +01:00
Mathias Vorreiter Pedersen
52f0b0d8d8
Swift: Fix extraction of roots in 'KeyPathExpr'.
2022-05-30 15:46:54 +01:00
Mathias Vorreiter Pedersen
21527f66e1
Swift: Extract KeyPath applications and KeyPathDot expressions.
2022-05-30 15:46:18 +01:00
Jeroen Ketema
a833e77c30
C++: Update DB scheme stats
2022-05-30 16:26:26 +02:00
Jeroen Ketema
38be04461e
C++: Introduce relation for tracking braced initializers
2022-05-30 16:26:19 +02:00
Rasmus Wriedt Larsen
b6cc438390
Merge pull request #9368 from RasmusWL/test-model-api-graphs
...
Python: Port test model to API graphs
2022-05-30 15:45:13 +02:00
Mathias Vorreiter Pedersen
d8916568b6
Merge branch 'main' into fix-inconsistent-cfg
2022-05-30 14:07:10 +01:00
Mathias Vorreiter Pedersen
9b17493b3b
Merge branch 'main' into not-all-functions-throw
2022-05-30 14:03:29 +01:00
Asger F
c188aa87c7
Merge branch 'main' into js/madman-prep
2022-05-30 15:03:14 +02:00
Mathias Vorreiter Pedersen
7ca01443e8
Merge pull request #9342 from rdmarsh2/rdmarsh2/swift/dataflow-global-flow
...
Swift: initial interprocedural data flow implementation
2022-05-30 13:54:56 +01:00
Rasmus Wriedt Larsen
420dea0792
Python: Fix example TestCase
2022-05-30 14:48:06 +02:00
Rasmus Wriedt Larsen
08e64ea1b4
Python: Remove contrived test-case example
2022-05-30 14:45:34 +02:00
Rasmus Wriedt Larsen
4861a980be
Python: Fix cryptography modeling
...
The old code was my own suggestion, that I thought would just work, but
was also slightly skeptical about.
I tested out whether it works with the code below
```codeql
predicate foo(int input, string res) {
input = 1 and res = "that was one"
}
from int input, string res
where
input in [1, 2] and
if foo(input, res)
then any()
else res = "not one"
select input, res
```
which gave the 3 results
```
1 | that was one
1 | not one
2 | not one
```
only by rewriting the code to be the one below, did I get down to the 2
results I actually wanted. So I've done the same kind of rewrite in the
commit.
```codeql
predicate foo(int input, string res) {
input = 1 and res = "that was one"
}
from int input, string res
where
input in [1, 2] and
if foo(input, _)
then foo(input, res)
else res = "not one"
select input, res
```
2022-05-30 14:37:27 +02:00
yoff
2492744a9b
Merge pull request #8443 from haby0/py/CsvInjection
...
Python: Add CSV injection model
2022-05-30 14:31:28 +02:00
Rasmus Wriedt Larsen
a8b4b6a374
Python: Move test-modeling to API-graphs
...
Notice that although we loose the contrived examples in `test.py`, we do
gain support for real-world test-case construction, which seems worth
the tradeoff.
2022-05-30 14:13:06 +02:00
Rasmus Wriedt Larsen
a5dc4f430c
Python: Expand test-filter tests
...
With no virtual environment enabled, none of the third-party library
test case are found.
2022-05-30 14:11:50 +02:00
Mathias Vorreiter Pedersen
ef31aec29e
Swift: Autoformat.
2022-05-30 12:58:12 +01:00
Michael Nebel
61151d8980
Java: Update workflows and scripts usages to only generate summaries and sinks.
2022-05-30 13:53:44 +02:00
Mathias Vorreiter Pedersen
425d66e454
Update swift/ql/lib/codeql/swift/dataflow/internal/DataFlowPrivate.qll
2022-05-30 12:52:48 +01:00
Mathias Vorreiter Pedersen
2106d48785
Swift: Add 'Argument.getIndex()' and use it in 'DataFlowDispatch'.
2022-05-30 12:51:29 +01:00
Mathias Vorreiter Pedersen
0d8a9458c6
Merge branch 'main' into rdmarsh2/swift/dataflow-global-flow
2022-05-30 12:46:06 +01:00
yoff
cd46f31cba
Merge branch 'main' into py/CsvInjection
2022-05-30 13:41:31 +02:00
Michael Nebel
72dd1a6ec9
Java: Generate models without sources.
2022-05-30 13:40:14 +02:00
Rasmus Wriedt Larsen
7a6646dcaf
Merge pull request #8883 from erik-krogh/pyMaD
...
Python: add MaD implementation
2022-05-30 13:31:07 +02:00
Michael Nebel
a0ae8b3a97
Merge pull request #9361 from michaelnebel/java/capturemodels-metadata
...
Java: Update capture models meta data.
2022-05-30 13:22:09 +02:00
Asger F
5f42866de3
Merge pull request #9318 from asgerf/js/type-confusion-parmaeter-tampering-barrier
...
JS: Fix FP in js/type-confusion-through-parameter-tampering
2022-05-30 12:52:37 +02:00
Erik Krogh Kristensen
b700972e6f
fix bad join in XmlParers::getAResult
2022-05-30 12:37:51 +02:00
Max Schaefer
820dfac48c
Manually write out a transitive closure.
2022-05-30 12:37:50 +02:00
Max Schaefer
ea70aaff57
Improve detection of UMD modules.
...
We previously required the `define` to appear directly as an expression statement, but there are common patterns where this is not the case.
2022-05-30 12:37:50 +02:00
Max Schaefer
47e425a184
Improve inVoidContext to take conditional expressions into account.
2022-05-30 12:37:50 +02:00
Erik Krogh Kristensen
adb40f9360
Merge pull request #9289 from erik-krogh/es2022
...
JS: Support the remaining of the finished ES2022 proposals
2022-05-30 12:27:19 +02:00
Erik Krogh Kristensen
ab28b0a690
Merge pull request #9348 from erik-krogh/polyRegSyntax
...
JS: use syntactically correct JS in poly-redos example
2022-05-30 12:26:04 +02:00
Erik Krogh Kristensen
e557d8839b
have the Instance token just be an alias for ReturnValue
2022-05-30 12:21:42 +02:00
Erik Krogh Kristensen
c7a8008897
Merge pull request #9235 from kaeluka/extractor-update-typescript-4_7
...
JS: Update the extractor to use TypeScript 4.7
2022-05-30 12:02:06 +02:00
Erik Krogh Kristensen
63e637503d
rewrite js/sensitive-get-query to use routing trees
2022-05-30 11:55:09 +02:00
Chris Smowton
49d9d8e7d6
Remove unused imports
2022-05-30 09:59:11 +01:00
Chris Smowton
2f436c800b
Merge pull request #9357 from smowton/smowton/fix/extension-properties-backing-fields
...
Kotlin: Disambiguate the names and trap labels of backing fields of extension properties
2022-05-30 09:55:02 +01:00
Asger F
cc42f2f824
Merge pull request #8606 from asgerf/js/api-graph-api
...
JS/Python/Ruby: Document how API graphs should be interpreted
2022-05-30 10:49:14 +02:00
Michael Nebel
815dff338d
Java: Update capture models meta data.
2022-05-30 09:44:39 +02:00
Michael Nebel
6a4a4cbbe4
Java: Re-generate commons-io models.
2022-05-30 08:16:58 +02:00
Michael Nebel
48da8dde6f
Java: Do not derive new write-file sinks.
2022-05-30 08:16:58 +02:00
Michael Nebel
ad4d8304ed
Java: Update hand written summary for writeLines as the generated one will be ignored.
2022-05-30 08:16:58 +02:00
Michael Nebel
7e5dd7a065
Java: Manually prefix kind column with generated.
2022-05-30 08:16:58 +02:00
Michael Nebel
0f33c3188c
Java: Re-arrange import pattern for generated models.
2022-05-30 08:16:58 +02:00
Michael Nebel
71bcae068e
Java: Avoid generating new regex-use sinks.
2022-05-30 08:16:58 +02:00
Michael Nebel
ff928bbb45
Java: Update commons-io SHA for model regeneration.
2022-05-30 08:16:58 +02:00
Michael Nebel
7d171f86ea
Merge pull request #9335 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2022-05-29 13:33:10 +02:00
github-actions[bot]
31c91a6faa
Add changed framework coverage reports
2022-05-29 00:16:56 +00:00
thiggy1342
09f082081f
Simple tests passing
2022-05-28 23:29:58 +00:00
thiggy1342
39baadbdd2
test ql packs must be in the security directory
2022-05-28 23:19:32 +00:00
Adam Thigpen
52ac93b82e
adding skeleton for experimental unit tests
2022-05-28 15:14:42 -04:00
Adam Thigpen
a37443106b
reduce false positives with some sanitizers
2022-05-28 15:14:42 -04:00
Adam Thigpen
2bf160c008
initial draft of decompression-api query
2022-05-28 15:14:32 -04:00
Chris Smowton
6ea87cd718
Accept test changes
2022-05-27 22:05:57 +01:00
Mathias Vorreiter Pedersen
7c25063f7f
Merge branch 'main' into swift-decls-in-cfg
2022-05-27 17:56:58 +01:00
Mathias Vorreiter Pedersen
c734646099
Swift: Accept test changes.
2022-05-27 17:42:51 +01:00
Mathias Vorreiter Pedersen
6d5504412a
Swift: Only create a 'ThrowCompletion' for functions that actually can throw.
2022-05-27 17:42:51 +01:00
Henry Mercer
013b4c8768
Swift: Update mention of manifest file in docs
2022-05-27 17:31:47 +01:00
Andrew Eisenberg
ce2bf8477c
Update codeql-workspace.yml
...
Co-authored-by: Henry Mercer <henrymercer@github.com >
2022-05-27 17:31:47 +01:00
Andrew Eisenberg
a82fea59e9
Add comment to codeql-workspace.yml
2022-05-27 17:31:47 +01:00
Andrew Eisenberg
7ab3a418be
Convert .codeqlmanifest.json to codeql-workspace.yml
...
The semantics are the same, except one is json, the other is
yaml.
2022-05-27 17:31:47 +01:00
Mathias Vorreiter Pedersen
b9809b4219
Swift: CFG for opening existentials.
2022-05-27 17:29:22 +01:00
Mathias Vorreiter Pedersen
02c73d3c1c
Swift: Fix implicit-this alert.
2022-05-27 17:25:56 +01:00
Chris Smowton
9ea139566d
Disambiguate the names and trap labels of backing fields of extension properties
2022-05-27 16:27:48 +01:00
Chris Smowton
6eb2935469
Merge pull request #9220 from smowton/smowton/fix/promoted-companion-object-fields
...
Associate certain companion object fields with the parent class
2022-05-27 16:19:10 +01:00
Erik Krogh Kristensen
62fd3fd90f
add test that we detect the used type variable in an infer type
2022-05-27 14:15:27 +00:00
Asger F
7e76e9a23b
Merge branch 'main' into js/type-confusion-parmaeter-tampering-barrier
2022-05-27 15:55:42 +02:00
Asger F
468a4df215
Update javascript/ql/lib/semmle/javascript/security/dataflow/TypeConfusionThroughParameterTamperingQuery.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-05-27 15:55:25 +02:00
Chris Smowton
9c62b349ec
Autoformat
2022-05-27 13:36:55 +01:00
Erik Krogh Kristensen
8c12a7289f
collapse a few small stages
2022-05-27 13:19:06 +02:00
Mathias Vorreiter Pedersen
2dcd7e16b1
Merge pull request #9353 from MathiasVP/swift-extract-throwing-and-async
...
Swift: Extract `isThrowing` and `isAsync`
2022-05-27 12:14:02 +01:00
Chris Smowton
a204c742d8
Associate certain companion object fields with the parent class
...
Specifically `const`, `lateinit` and `@JvmField` properties get a static field which belongs to the containing class not the companion object, such that Java can address them via the containing class name rather than have to navigate a companion object pointer.
2022-05-27 11:52:39 +01:00
Chris Smowton
a0d5d414b4
Kotlin: extract methods defined on collections types with their Java signatures
...
Collection, List and Map all define various methods which are either made more generic in Kotlin (e.g. `remove(Object) -> remove(E)`, `containsAll(Collection<?>) -> containsAll(Collection<E>)`), or are made invariant (e.g. `addAll(Collection<? extends E>) -> addAll(Collection<E>)`). This substitutes the types back to their Java signatures,
thereby avoiding differing trap labels and duplicated methods for these types and their descendents.
2022-05-27 11:51:46 +01:00
Mathias Vorreiter Pedersen
6815e731d2
Swift: Add test and accept output
2022-05-27 11:48:20 +01:00
Mathias Vorreiter Pedersen
45bbd24355
Swift: Extract whether a function type is throwing or async.
2022-05-27 11:48:01 +01:00
Alex Ford
5d4473bb2a
Merge pull request #8845 from alexrford/ruby/rbi-lib
...
Ruby: Add partial support for working with RBI (Ruby Interface) files
2022-05-27 11:43:44 +01:00
Henry Mercer
da02bcc4c6
Merge pull request #9352 from github/revert-9314-aeisenberg/manifest
...
Revert "Convert `.codeqlmanifest.json` file to `codeql-workspace.yml`"
2022-05-27 11:40:25 +01:00
Tom Bolton
5830db786e
Merge pull request #9285 from github/codeql-ci/js-atm-new-release
...
JS: Bump version numbers of ML-powered packs after 0.3.0 release
2022-05-27 11:39:45 +01:00
Henry Mercer
4091ba758d
Revert "Convert .codeqlmanifest.json file to codeql-workspace.yml"
2022-05-27 11:29:48 +01:00
Alex Ford
919555d168
Merge pull request #9341 from alexrford/ruby/activerecordinstance-public
...
Ruby: Make `ActiveRecordInstance` public and fix some misidentifications
2022-05-27 11:21:58 +01:00
Chris Smowton
55513e0dbb
Merge pull request #9350 from smowton/smowton/admin/mention-gradle-daemon
...
Docs: Note that Gradle builds should use `--no-daemon`
2022-05-27 10:37:33 +01:00
Rasmus Wriedt Larsen
5924e88a86
Python: Support read on Django file
2022-05-27 11:18:26 +02:00
Mathias Vorreiter Pedersen
a63378308d
Merge pull request #9340 from geoffw0/nocheckbeforeunsafeputuser
...
C++: Improve cpp/linux-kernel-no-check-before-unsafe-put-user
2022-05-27 10:17:46 +01:00
Chris Smowton
0925cf5c22
Docs: Note that Gradle builds should use --no-daemon
2022-05-27 10:06:35 +01:00
Mathias Vorreiter Pedersen
7d36bc1c73
Swift: Fix CFG for 'foreach' statements.
2022-05-27 10:01:12 +01:00
Mathias Vorreiter Pedersen
73c189957d
Swift: Fix CFG inconsistencies with StmtConditions.
2022-05-27 09:58:36 +01:00
Arthur Baars
e3ef258b0e
Merge pull request #9287 from aibaars/instance-variable-flow-2
...
Ruby: flow through getters/setters
2022-05-27 10:49:20 +02:00
Mathias Vorreiter Pedersen
4383aef1d2
Merge pull request #9328 from MathiasVP/swift-to-string
...
Swift: Improve `toString` implementations for Ast classes
2022-05-27 09:34:34 +01:00
Mathias Vorreiter Pedersen
795c0110e5
Swift: Accept more test changes.
2022-05-27 09:17:52 +01:00
Erik Krogh Kristensen
fef87db739
use syntactically correct JS in poly-redos example
2022-05-27 10:08:30 +02:00
Mathias Vorreiter Pedersen
52a10c826a
Merge branch 'main' into swift-to-string
2022-05-27 09:06:36 +01:00
jorgectf
e577a0e836
Update .expected tests
2022-05-27 00:13:40 +02:00
${sleep,7}
76c27c685f
Merge branch 'main' into jty/python/emailInjection
2022-05-26 16:27:57 -04:00
Andrew Eisenberg
57b9e6ee40
Merge pull request #9314 from github/aeisenberg/manifest
...
Convert `.codeqlmanifest.json` file to `codeql-workspace.yml`
2022-05-26 11:39:45 -07:00
Chris Smowton
f7d9238cda
Merge pull request #9331 from smowton/smowton/fix/kotlin-jar-file-entry-mtimes
...
Kotlin: use the same mtimes as Java
2022-05-26 19:37:16 +01:00
Robert Marsh
32e4c496f6
Swift: Dataflow through Phi nodes
2022-05-26 17:55:25 +00:00
Alex Ford
30f24697b4
Ruby: add missing qldoc
2022-05-26 18:50:57 +01:00
Robert Marsh
507fdef028
Swift: add more data flow tests
2022-05-26 17:33:12 +00:00
Andrew Eisenberg
b456334472
Update codeql-workspace.yml
...
Co-authored-by: Henry Mercer <henrymercer@github.com >
2022-05-26 10:21:55 -07:00
Andrew Eisenberg
5a1663efd3
Add comment to codeql-workspace.yml
2022-05-26 10:06:24 -07:00
Andrew Eisenberg
434259b296
Convert .codeqlmanifest.json to codeql-workspace.yml
...
The semantics are the same, except one is json, the other is
yaml.
2022-05-26 10:03:55 -07:00
Robert Marsh
81ac648065
Swift: flow out of calls via return statements
2022-05-26 16:58:53 +00:00
Alex Ford
4e0e4f9b5b
Ruby: make ActiveRecordInstance public
2022-05-26 17:54:02 +01:00
Alex Ford
fd8f1dc88f
Ruby: fix some misidentification of ActiveRecordModelInstantiations
2022-05-26 17:54:01 +01:00
Robert Marsh
ae6d16a40f
Swift: flow into callees via params
2022-05-26 16:53:42 +00:00
Robert Marsh
25c8b8141c
Swift: add params to CFG
2022-05-26 16:48:24 +00:00
Harry Maclean
c80a06a6d8
Ruby: Simplify posix-spawn modeling
2022-05-26 14:29:04 +01:00
Anna Railton
4cf3467ad7
Merge pull request #9338 from github/annarailton-patch-1
...
ATM: add `workflow_dispatch` to ATM JS tests
2022-05-26 14:25:48 +01:00
Harry Maclean
ee827604f7
Ruby: Model the posix-spawn gem
...
This gem exists primarily to provide methods that spawn subprocesses. We
model these as SystemCommandExecutions.
2022-05-26 14:16:08 +01:00
Geoffrey White
2bcf7e17c8
Understand syscalls better.
2022-05-26 14:01:09 +01:00
Anna Railton
202d2e037d
Add workflow_dispatch to Action
...
This is so we can trigger scheduled runs of these tests
2022-05-26 13:07:57 +01:00
Geoffrey White
e3ea7751d1
C++: Define sources better so that we catch all the test cases.
2022-05-26 12:44:17 +01:00
Robert Marsh
3213549a73
Merge pull request #9329 from MathiasVP/fixes-for-9291
...
Swift: Fixups for #9291
2022-05-26 07:25:24 -04:00
Chris Smowton
1f2248c1c8
Warn if jar file path not in expected form
2022-05-26 11:59:23 +01:00
Chris Smowton
3bd581a052
Kotlin: use the same mtimes as Java
...
Previously Kotlin's use of IntelliJ's VirtualFile interface meant we got the containing JAR file's mtime, not that of the individual file entry.
2022-05-26 11:59:23 +01:00
Tom Hvitved
ae1f5bbe25
Merge pull request #9334 from hvitved/ruby/dataflow/hash-splat-literal
2022-05-26 10:36:04 +02:00
Mathias Vorreiter Pedersen
df2c1972e9
Swift: Add CFG trees for local declarations and accept test changes.
2022-05-26 09:09:17 +01:00
Mathias Vorreiter Pedersen
b715a6b63b
Swift: Add test containing local declarations.
2022-05-26 09:06:13 +01:00
Mathias Vorreiter Pedersen
c7cc8d2592
Swift: Fix copy-paste error.
2022-05-25 21:36:24 +01:00
Robert Marsh
da90440ea3
Merge pull request #9333 from rdmarsh2/rdmarsh2/swift/dataflow-local-flow
...
Swift: local dataflow
2022-05-25 15:59:50 -04:00
Robert Marsh
aa77ea6bef
Swift: minimal tests for interprocedural flow
2022-05-25 19:24:34 +00:00
Robert Marsh
9f64622f31
Swift: data flow configurations working
2022-05-25 19:23:43 +00:00
Robert Marsh
d326b3a91c
Swift: global dataflow WIP
2022-05-25 18:54:47 +00:00
Robert Marsh
bba3564187
Swift: adjust for changes in main
2022-05-25 18:52:47 +00:00
Robert Marsh
91b34d5e8f
Swift: make LambdaCallKind a TODO
2022-05-25 18:26:38 +00:00
Robert Marsh
765e1e1115
Swift: autoformat
2022-05-25 18:26:38 +00:00
Robert Marsh
cf22ade9f3
Swift: initial local data flow implementation
2022-05-25 18:26:37 +00:00
Robert Marsh
117a1ad2f4
Swift: DataFlow expr and parameter nodes
2022-05-25 18:26:37 +00:00
Tom Hvitved
b3ce2d4a2b
Ruby: Data flow for hash-splat expressions in hash literals
2022-05-25 19:55:28 +02:00
Tom Hvitved
47051ec8c9
Merge pull request #9320 from hvitved/ruby/hash-splat-flow
...
Ruby: Flow through hash-splat parameters
2022-05-25 19:31:09 +02:00
Nick Rolfe
d5c8188625
Merge pull request #9330 from github/nickrolfe/ruby-typos
...
Ruby: fix spelling errors
2022-05-25 17:56:50 +01:00
Erik Krogh Kristensen
d199173923
add a getAPrimaryQlClass predicate to ExpressionWithTypeArguments
2022-05-25 16:10:13 +00:00
Nick Rolfe
385e442f7f
Ruby: fix spelling errors
2022-05-25 16:38:48 +01:00
Mathias Vorreiter Pedersen
fafdb016fa
Swift: Fixup based on review comments in #9291 .
2022-05-25 16:10:44 +01:00
Mathias Vorreiter Pedersen
f17afa8a11
Swift: Accept test changes.
2022-05-25 16:01:42 +01:00
Mathias Vorreiter Pedersen
dc2ba5b410
Swift: Implement better 'toString' overrides for all AST nodes.
2022-05-25 15:59:45 +01:00
Mathias Vorreiter Pedersen
0b6e35a2a9
Merge pull request #9291 from MathiasVP/swift-ipa-the-cfg
...
Swift: CFG for property reads and writes
2022-05-25 15:57:32 +01:00
Erik Krogh Kristensen
361b2aa6bb
Merge pull request #9325 from erik-krogh/CWE-940
...
JS: add CWE-940 to js/missing-origin-check
2022-05-25 16:41:40 +02:00
Arthur Baars
033df767ef
Ruby: allow fields in flow summaries
2022-05-25 16:01:04 +02:00
Arthur Baars
af428a1ac2
Address comments
2022-05-25 16:01:04 +02:00
Arthur Baars
b0a97f9b01
Ruby: flow through getters/setters
2022-05-25 16:01:04 +02:00
Asger F
a60caced98
JS: Update TRAP output
2022-05-25 15:59:58 +02:00
Nick Rolfe
79fb9e8fd2
Merge pull request #9159 from github/nickrolfe/join_order_tweak
...
Ruby: tweak join order in `API::Impl::edge`
2022-05-25 14:57:24 +01:00
Asger F
5964be4463
Merge branch 'main' into js/type-confusion-parmaeter-tampering-barrier
2022-05-25 15:53:24 +02:00
Asger F
893f4ab8fb
Merge pull request #9288 from asgerf/js/resource-exhaustion-no-buffer.from
...
JS: Remove Buffer.from sink from js/resource-exhaustion
2022-05-25 15:51:54 +02:00
Tom Hvitved
ce4959287a
Ruby: Flow through hash-splat expressions
2022-05-25 15:40:08 +02:00
Mathias Vorreiter Pedersen
80fad348bb
Swift: Implement CFG for property reads, writes, and observers.
2022-05-25 13:46:14 +01:00
Mathias Vorreiter Pedersen
67cc1b503b
Swift: Implement step 3 from the previous commit message.
2022-05-25 13:44:59 +01:00
Mathias Vorreiter Pedersen
1f4924f978
Swift: Create a custom "AST" version of the public CFG classes. This is
...
necessary because the CFG library doesn't support the following
two requirements simultaneously:
1. Traverse AST classes by virtual dispatch
2. Construct ControlFlowElements from non-AST classes
Because the CFG trees derive from the a base type that must be a
subtype of `ControlFlowElement`. So if we make `ControlFlowElement`
an IPA type, we cannot write:
```
class AssignTree extends PostOrderTree instanceof AssignExpr { ... }
```
because `AssignExpr` is not a subtype of PostOrderTree (since
PostOrderTree is now a subtype of the new IPA type).
To fix this, Tom suggested the following (which is implemented in
this PR):
1. Create a copy of the CFG tree classes (i.e., Pre/PostOrderTree,
LeafTree, etc.) and call them AstPreOrderTree/AstPostOrderTree,
AstLeafTree, etc.
2. For each tree AstTree from step 1, create a instance of the
internal CFG library's appropriate class.
3. In `ControlFlowGraphImpl`, proceed as normal with virtual
dispatch using `instanceof`, but extend the AstTree classes
from step 1 instead of the CFG's own tree classes.
This works because each AstTree implements one of the CFG
library's tree classes (as per step 2).
This commit performs step 1 and 2. Step 3 will be the next commit.
2022-05-25 13:39:48 +01:00
Mathias Vorreiter Pedersen
ab268514a1
Swift: Create a custom IPA type for 'ControlFlowElement's and fixup various type annotations.
2022-05-25 13:39:48 +01:00
Tom Hvitved
4f95abc4f6
Python: Update expected test output
2022-05-25 14:39:37 +02:00
Tom Hvitved
bcdef98392
Data flow: Sync files
2022-05-25 14:39:37 +02:00
Tom Hvitved
a4023b8a1d
Data flow: Make PathGraph::edges/2 and PathNode::getASuccessor/1 consistent
2022-05-25 14:39:37 +02:00
Erik Krogh Kristensen
ed907f6f63
add CWE-940 to js/missing-origin-check
2022-05-25 14:15:48 +02:00
yoff
a726340bb3
Merge branch 'main' into py/CsvInjection
2022-05-25 13:18:46 +02:00
Tom Hvitved
a7b39ebeca
Ruby: Flow through hash-splat parameters
2022-05-25 12:37:22 +02:00
Erik Krogh Kristensen
efa895e912
update expected output
2022-05-25 10:33:39 +00:00
Erik Krogh Kristensen
f38d1f9a4e
merge main into ts47
2022-05-25 10:13:25 +00:00
Nick Rolfe
134cf4e0e1
Ruby: tweak join order in API::Impl::edge
2022-05-25 10:54:43 +01:00
Tom Bolton
67572bb770
Merge pull request #9193 from github/tombolton/add-counting-queries
...
JS: Add individual per-security-query counting queries
2022-05-25 10:02:28 +01:00
Tony Torralba
9c941dc7ab
Add Kotlin test for UnsafeAndroidAccess
2022-05-25 10:56:18 +02:00
Tony Torralba
f0b90b391f
Add Kotlin test for CleartextStorageSharedPrefs
2022-05-25 10:56:18 +02:00
Tony Torralba
85fab20086
Add Expr::getUnderlyingExpr predicate
2022-05-25 10:56:18 +02:00
yoff
aadfa8eacd
Merge branch 'main' into py/CsvInjection
2022-05-25 10:43:08 +02:00
Michael Nebel
e9d371c650
Merge pull request #8600 from michaelnebel/csharp/dotnetruntimemodels
...
C#: Dotnet Runtime models.
2022-05-25 10:33:09 +02:00
Rasmus Wriedt Larsen
f7e58a9335
Ruby: Apply nomagic on parameterMatch instead
2022-05-25 10:07:02 +02:00
AlexDenisov
8b131adeb1
Merge pull request #9283 from github/alexdenisov/swift-integration-tests
...
Swift: add integration tests
2022-05-25 10:04:08 +02:00
Rasmus Wriedt Larsen
0bf0e0e16c
Revert "Ruby: Fix performance for argumentPositionMatch"
...
as requested to use a different performance fix
and
Revert "Dataflow: Sync `DataFlowImplCommon`"
This reverts commit c9a833fc07
This reverts commit 911ddb9b2c .
2022-05-25 09:56:10 +02:00
Asger F
877a9d8bcc
JS: Fix FP in js/type-confusion-through-parameter-tampering
2022-05-25 09:53:46 +02:00
Asger F
4913a7a911
Merge branch 'main' into js/resource-exhaustion-no-buffer.from
2022-05-25 09:25:00 +02: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
Michael Nebel
9cab92b16f
C#: Update flow summaries test after rebase. The rebase included a fix to the isAutoGenerated predicate, which means that a summary is only considered autogenerated, if no hand-written version exist. This affects the printing as well.
2022-05-25 08:28:15 +02:00
Michael Nebel
5b405bb4cf
C#: Update FlowSummaries test with generated printing (needed due to rebase).
2022-05-25 08:28:15 +02:00
Michael Nebel
ba7238d6e2
C#: Update XML Injectiont test output after rebase (query has been turned into a path-problem and the output is now affected by the added summaries for NameValueCollection).
2022-05-25 08:28:15 +02:00
Michael Nebel
75532432af
C#: Update flow summaries test (note that the test doesn't correctly print the generated flag at the moment).
2022-05-25 08:28:15 +02:00
Michael Nebel
c8ede58704
C#: Flow summaries has now been added for Exception stack trace, but not for ToString. The latter will be encoded as an extra taintstep in the analysis. To reduce noise for all uses of an exception itself an isSanitizerIn is introduced.
2022-05-25 08:28:15 +02:00
Michael Nebel
4d6d1c8376
C#: Since NameValueCollection now has a flow summary for the string indexer it is no longer consider an unsafe external api, which is why it has disappared from the result.
2022-05-25 08:28:14 +02:00
Michael Nebel
ee027f845c
C#: Since NameValueCollection now has a flow summary for the indexer it is considered a SafeExternalApiCallable and will thus not be included in the result of the test.
2022-05-25 08:28:14 +02:00
Michael Nebel
268230ef19
C#: Add QlDoc to the Generated file.
2022-05-25 08:28:14 +02:00
Michael Nebel
e2d6cd20c7
C#: Update tests due to new summaries for ProcessStartInfo.
2022-05-25 08:28:14 +02:00
Michael Nebel
9b8636aa23
C#: Update test because we now have a flow summary the string indexer for NameValueCollection.
2022-05-25 08:28:14 +02:00
Michael Nebel
d9c7ba471d
C#: Update taint steps test as the generated models now include a model for the getters for KeyValuePair (we only had manual summaries for the constructor).
2022-05-25 08:28:14 +02:00
Michael Nebel
f8e729025f
C#: Add generated Dotnet Runtime summary models that allows to up two reads and two stores and update flow summaries test.
2022-05-25 08:28:14 +02:00
Michael Nebel
3b62b45ea8
C#: Add generated framework models to ExternalFlow.
2022-05-25 08:28:14 +02:00
Erik Krogh Kristensen
2da001ebd7
bump TypeScript version to stable release
2022-05-24 22:55:59 +02:00
Rasmus Wriedt Larsen
ae65af2c07
Ruby: Fix Argument[any] in Hash.qll
...
With this PR, `self` have to be explicitly added. A few edges were
removed, and I don't know why. It doesn't seem to affect results, so I
did not worry too much.
2022-05-24 18:09:52 +02:00
Rasmus Wriedt Larsen
04ac466189
Merge branch 'main' into ruby-mad-argument-self
2022-05-24 18:04:02 +02:00
Rasmus Wriedt Larsen
911ddb9b2c
Dataflow: Sync DataFlowImplCommon
2022-05-24 17:39:23 +02:00
Rasmus Wriedt Larsen
c9a833fc07
Ruby: Fix performance for argumentPositionMatch
...
before
[2022-05-24 17:29:07] (50s) Tuple counts for DataFlowImplCommon::argumentPositionMatch#4f8df883#fff/3@03b4073c after 35.8s:
156250456 ~2% {4} r1 = JOIN DataFlowDispatch::Cached::TParameterPosition#36b84300#f WITH DataFlowImplCommon::ArgNode::argumentOf#dispred#f0820431#fff CARTESIAN PRODUCT OUTPUT Rhs.2, Lhs.0 'ppos', Rhs.0, Rhs.1 'call'
0 ~0% {3} r2 = JOIN r1 WITH DataFlowDispatch::Cached::TAnyKeywordArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.2 'arg', Lhs.3 'call'
0 ~0% {3} r3 = JOIN r2 WITH DataFlowDispatch::Cached::TKeywordParameterPosition#36b84300#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.2 'call', Lhs.1 'arg', Lhs.0 'ppos'
156250456 ~2% {4} r4 = JOIN DataFlowDispatch::Cached::TParameterPosition#36b84300#f WITH DataFlowImplCommon::ArgNode::argumentOf#dispred#f0820431#fff CARTESIAN PRODUCT OUTPUT Lhs.0 'ppos', Rhs.0, Rhs.1 'call', Rhs.2
252424 ~0% {4} r5 = JOIN r4 WITH DataFlowDispatch::Cached::TSelfParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call'
121009 ~0% {3} r6 = JOIN r5 WITH DataFlowDispatch::Cached::TSelfArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.3 'call', Lhs.2 'arg', Lhs.1 'ppos'
121009 ~0% {3} r7 = r3 UNION r6
252424 ~0% {4} r8 = JOIN r4 WITH DataFlowDispatch::Cached::TBlockParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call'
11764 ~5% {3} r9 = JOIN r8 WITH DataFlowDispatch::Cached::TBlockArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.3 'call', Lhs.2 'arg', Lhs.1 'ppos'
252424 ~2% {4} r10 = JOIN r4 WITH DataFlowDispatch::Cached::TAnyKeywordParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call'
20865 ~2% {3} r11 = JOIN r10 WITH DataFlowDispatch::Cached::TKeywordArgumentPosition#36b84300#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.3 'call', Lhs.2 'arg', Lhs.1 'ppos'
32629 ~4% {3} r12 = r9 UNION r11
153638 ~4% {3} r13 = r7 UNION r12
252424 ~1% {4} r14 = JOIN r4 WITH DataFlowDispatch::Cached::TAnyParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call', Lhs.3
131415 ~0% {4} r15 = r14 AND NOT DataFlowDispatch::Cached::TSelfArgumentPosition#36b84300#f(Lhs.3)
131415 ~0% {3} r16 = SCAN r15 OUTPUT In.2 'call', In.1 'arg', In.0 'ppos'
0 ~0% {4} r17 = JOIN r1 WITH DataFlowDispatch::Cached::TAnyArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.2 'arg', Lhs.3 'call', Lhs.0
0 ~0% {4} r18 = r17 AND NOT DataFlowDispatch::Cached::TSelfParameterPosition#36b84300#f(Lhs.0 'ppos')
0 ~0% {3} r19 = SCAN r18 OUTPUT In.2 'call', In.1 'arg', In.0 'ppos'
131415 ~0% {3} r20 = r16 UNION r19
5553328 ~5% {5} r21 = JOIN r4 WITH DataFlowDispatch::Cached::TPositionalParameterPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call'
98201 ~0% {3} r22 = JOIN r21 WITH DataFlowDispatch::Cached::TPositionalArgumentPosition#36b84300#ff ON FIRST 2 OUTPUT Lhs.4 'call', Lhs.3 'arg', Lhs.2 'ppos'
149435008 ~0% {5} r23 = JOIN r4 WITH DataFlowDispatch::Cached::TKeywordParameterPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call'
17930 ~3% {3} r24 = JOIN r23 WITH DataFlowDispatch::Cached::TKeywordArgumentPosition#36b84300#ff ON FIRST 2 OUTPUT Lhs.4 'call', Lhs.3 'arg', Lhs.2 'ppos'
252424 ~0% {5} r25 = JOIN r4 WITH DataFlowDispatch::Cached::TPositionalParameterLowerBoundPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.3, Lhs.0 'ppos', Lhs.1 'arg', Lhs.2 'call', Rhs.1
98786 ~0% {6} r26 = JOIN r25 WITH DataFlowDispatch::Cached::TPositionalArgumentPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.2 'arg', Lhs.3 'call', Lhs.0, Lhs.4, Rhs.1
98786 ~0% {6} r27 = SELECT r26 ON In.5 >= In.4
98786 ~3% {3} r28 = SCAN r27 OUTPUT In.2 'call', In.1 'arg', In.0 'ppos'
116716 ~0% {3} r29 = r24 UNION r28
214917 ~0% {3} r30 = r22 UNION r29
346332 ~0% {3} r31 = r20 UNION r30
499970 ~1% {3} r32 = r13 UNION r31
return r32
now
[2022-05-24 17:26:06] (14s) Tuple counts for DataFlowImplCommon::argumentPositionMatch#4f8df883#fff/3@97d3444p after 149ms:
1000304 ~9% {2} r1 = JOIN DataFlowDispatch::Cached::TParameterPosition#36b84300#f WITH DataFlowDispatch::Cached::TArgumentPosition#36b84300#f CARTESIAN PRODUCT OUTPUT Lhs.0 'ppos', Rhs.0
1616 ~0% {2} r2 = JOIN r1 WITH DataFlowDispatch::Cached::TSelfParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'ppos'
1 ~0% {2} r3 = JOIN r2 WITH DataFlowDispatch::Cached::TSelfArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1 'ppos'
1616 ~5% {2} r4 = JOIN r1 WITH DataFlowDispatch::Cached::TBlockParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'ppos'
1 ~0% {2} r5 = JOIN r4 WITH DataFlowDispatch::Cached::TBlockArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.0, Lhs.1 'ppos'
2 ~0% {2} r6 = r3 UNION r5
1616 ~0% {2} r7 = JOIN r1 WITH DataFlowDispatch::Cached::TAnyKeywordParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'ppos'
1533 ~0% {2} r8 = JOIN r7 WITH DataFlowDispatch::Cached::TKeywordArgumentPosition#36b84300#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.0, Lhs.1 'ppos'
1000304 ~0% {2} r9 = JOIN DataFlowDispatch::Cached::TParameterPosition#36b84300#f WITH DataFlowDispatch::Cached::TArgumentPosition#36b84300#f CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0 'ppos'
619 ~0% {2} r10 = JOIN r9 WITH DataFlowDispatch::Cached::TAnyKeywordArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.0
592 ~0% {2} r11 = JOIN r10 WITH DataFlowDispatch::Cached::TKeywordParameterPosition#36b84300#ff_1#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'ppos'
2125 ~1% {2} r12 = r8 UNION r11
2127 ~1% {2} r13 = r6 UNION r12
1616 ~0% {2} r14 = JOIN r1 WITH DataFlowDispatch::Cached::TAnyParameterPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.0 'ppos', Lhs.1
1615 ~0% {2} r15 = r14 AND NOT DataFlowDispatch::Cached::TSelfArgumentPosition#36b84300#f(Lhs.1)
1615 ~2% {2} r16 = SCAN r15 OUTPUT In.1, In.0 'ppos'
619 ~0% {2} r17 = JOIN r9 WITH DataFlowDispatch::Cached::TAnyArgumentPosition#36b84300#f ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.0
618 ~0% {2} r18 = r17 AND NOT DataFlowDispatch::Cached::TSelfParameterPosition#36b84300#f(Lhs.0 'ppos')
618 ~0% {2} r19 = SCAN r18 OUTPUT In.1, In.0 'ppos'
2233 ~0% {2} r20 = r16 UNION r19
35552 ~0% {3} r21 = JOIN r1 WITH DataFlowDispatch::Cached::TPositionalParameterPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'ppos'
22 ~0% {2} r22 = JOIN r21 WITH DataFlowDispatch::Cached::TPositionalArgumentPosition#36b84300#ff ON FIRST 2 OUTPUT Lhs.1, Lhs.2 'ppos'
956672 ~0% {3} r23 = JOIN r1 WITH DataFlowDispatch::Cached::TKeywordParameterPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.0 'ppos'
592 ~0% {2} r24 = JOIN r23 WITH DataFlowDispatch::Cached::TKeywordArgumentPosition#36b84300#ff ON FIRST 2 OUTPUT Lhs.1, Lhs.2 'ppos'
1616 ~0% {3} r25 = JOIN r1 WITH DataFlowDispatch::Cached::TPositionalParameterLowerBoundPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1, Lhs.0 'ppos', Rhs.1
79 ~0% {4} r26 = JOIN r25 WITH DataFlowDispatch::Cached::TPositionalArgumentPosition#36b84300#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'ppos', Lhs.0, Lhs.2, Rhs.1
79 ~0% {4} r27 = SELECT r26 ON In.3 >= In.2
79 ~1% {2} r28 = SCAN r27 OUTPUT In.1, In.0 'ppos'
671 ~0% {2} r29 = r24 UNION r28
693 ~0% {2} r30 = r22 UNION r29
2926 ~0% {2} r31 = r20 UNION r30
5053 ~0% {2} r32 = r13 UNION r31
499970 ~6% {3} r33 = JOIN r32 WITH DataFlowImplCommon::ArgNode::argumentOf#dispred#f0820431#fff_201#join_rhs ON FIRST 1 OUTPUT Rhs.2 'call', Rhs.1 'arg', Lhs.1 'ppos'
return r33
2022-05-24 17:31:36 +02:00
Anders Schack-Mulligen
a3177368f0
Java: Add support for BarrierGuards as parameterised modules.
2022-05-24 16:36:03 +02:00
tombolton
91fa17a05e
simplify imports in counting queries
2022-05-24 15:02:26 +01:00
tombolton
7e32614c25
refactor counting code into a library
2022-05-24 15:02:26 +01:00
tombolton
33964383d7
add individual per-security-query counting queries
2022-05-24 15:02:26 +01:00
Asger F
ced1d21405
JS: Add getters for DeclarationSpace members
2022-05-24 14:30:36 +02:00
Asger F
039a7ba828
JS: Handle .d.mts files when generating module bindings
2022-05-24 14:30:36 +02:00
Asger Feldthaus
a5f2c949d3
JS: Add UnionOrIntersectionTypeExpr
2022-05-24 14:30:36 +02:00
Asger F
ec55c84abf
JS: Whitespace fixes in ASTExtractor
2022-05-24 14:30:36 +02:00
Asger F
d7e3e9e5db
JS: Fix extraction of identifiers in EXPORT_BASE context
...
This is needed to ensure that the base of the RHS of an ImportEqualsDeclaration is bound to a namespace. That is, B below should be bound to a namespace:
import A = B.C.D;
2022-05-24 14:30:36 +02:00
Asger F
665fa2af59
JS: Add test for export base scope
2022-05-24 14:30:36 +02:00
Asger F
c8bb0e2117
JS: Treat d.ts as a single extension in Folder.getJavaScriptFile
2022-05-24 14:30:36 +02:00
Asger F
987a830029
JS: Add test for import of d.ts file
2022-05-24 14:30:36 +02:00
Asger F
2e858db848
JS: Declare variables from ambient declarations
...
fixup
2022-05-24 14:30:36 +02:00
Asger F
74af9067a1
JS: Add node_modules to .gitignore
2022-05-24 14:29:11 +02:00
Asger F
a955bd3695
JS: Change note
2022-05-24 14:18:06 +02:00
Asger F
7d4a191a32
JS: Simplify
2022-05-24 14:18:06 +02:00
Asger F
db4b6d620a
JS: Remove Buffer.from as sink for js/resource-exhaustion
2022-05-24 14:18:05 +02:00
Erik Krogh Kristensen
82c6c22d50
make a model for hasOwnProperty calls and similar
2022-05-24 14:13:53 +02:00
Erik Krogh Kristensen
2a97dd9f6f
add support for Object.hasOwn(obj, key)
2022-05-24 13:59:25 +02:00
Anders Schack-Mulligen
b688aabd19
Java: Improve customNullGuard performance.
2022-05-24 13:05:41 +02:00
Erik Krogh Kristensen
1717d17fb3
add flow step for Array.prototype.at
2022-05-24 12:41:27 +02:00
github-actions[bot]
1fa2fd73f2
JS: Bump patch version of ML-powered library and query packs post-release
2022-05-24 10:40:45 +00:00
Erik Krogh Kristensen
fc25d14af7
add change note
2022-05-24 12:37:28 +02:00
Erik Krogh Kristensen
572f247fd9
bump the supported ECMAScript version to 2022
2022-05-24 12:34:29 +02:00
github-actions[bot]
53a25c8c42
JS: Bump minor version of ML-powered library and query packs
2022-05-24 10:34:26 +00:00
github-actions[bot]
1287925676
JS: Bump patch version of ML-powered model pack post-release
2022-05-24 10:34:26 +00:00
github-actions[bot]
171fe98084
JS: Bump ML model pack dependency of ML-powered model building and query packs
2022-05-24 10:34:26 +00:00
github-actions[bot]
e519304268
JS: Bump minor version of ML-powered model pack
2022-05-24 10:33:45 +00:00
Asger F
87cbf7b216
JS: Update ATM code
2022-05-24 11:57:30 +02:00
Asger F
631527fe49
JS: Rename Node.{getASource -> asSource, getASink -> asSink}
2022-05-24 11:57:30 +02:00
Asger F
bc601261ed
JS: Use 'ql' language for markdown snippets
2022-05-24 11:57:30 +02:00
Asger F
f80f8b6630
JS: Update a comment mentioning getARhs
2022-05-24 11:57:30 +02:00
Asger F
18dc39484d
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-05-24 11:57:30 +02:00
Asger Feldthaus
1e96b1e559
JS: Fix typo
2022-05-24 11:57:30 +02:00
Asger Feldthaus
777d344dde
JS: Fix up qldoc for getAValueReachingSink
2022-05-24 11:57:30 +02:00
Asger Feldthaus
e2858b7b64
JS: Update ATM code
2022-05-24 11:57:30 +02:00
Asger Feldthaus
8da96ed403
JS: Update doc comment
2022-05-24 11:57:30 +02:00
Asger F
1ae97d9d54
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2022-05-24 11:57:30 +02:00
Asger Feldthaus
9fad4b883b
JS: Autoformat
2022-05-24 11:57:30 +02:00
Asger Feldthaus
76ba78294f
JS: Make API::EntryPoint overrides optional
2022-05-24 11:57:30 +02:00
Asger Feldthaus
ce9c3b3eb5
JS: Also rename predicates on API::EntryPoint
2022-05-24 11:57:30 +02:00
Asger Feldthaus
19a5db9f89
JS: Rename getARhs -> getASink
2022-05-24 11:57:30 +02:00
Asger Feldthaus
4c6192670e
JS: Rename getAnImmediateUse -> getASource
2022-05-24 11:57:30 +02:00
Asger F
a7b73f44b2
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: Calum Grant <42069085+calumgrant@users.noreply.github.com >
2022-05-24 11:57:30 +02:00
Asger F
73baa49c5d
Update javascript/ql/lib/semmle/javascript/ApiGraphs.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-05-24 11:57:30 +02:00
Asger Feldthaus
82c35e6f65
Mention that the interaction and be with any external codebase
2022-05-24 11:57:29 +02:00
Asger Feldthaus
6a12864dab
JS: Document how API graphs should be interpreted
2022-05-24 11:57:29 +02:00
Alex Denisov
fa09078976
Swift: do not keep trap files for tests
2022-05-24 11:48:45 +02:00
Alex Denisov
8e8da66325
Swift: share .gitignore across all tests
2022-05-24 11:48:06 +02:00
Alex Denisov
528f6f73c5
Swift: add integration tests
2022-05-24 11:12:35 +02:00
Harry Maclean
334c43a2b7
Ruby: Add tests for ActiveSupport modelling
2022-05-24 09:35:26 +01:00
Harry Maclean
deff24e8e0
Fix singleton set literal
2022-05-24 09:35:26 +01:00
Harry Maclean
1fd54ed8c3
Ruby: Recognised ActiveSupport::TaggedLogging as a logger
2022-05-24 09:35:26 +01:00
Harry Maclean
dc4ddf6899
Ruby: Recognise ActiveSupport::Logger as a logger
2022-05-24 09:35:26 +01:00
Harry Maclean
14d2ff6528
Ruby: Model ActiveSupport extensions to Enumerable
2022-05-24 09:35:26 +01:00
Harry Maclean
ad2eaf0835
Ruby: Flow for ActiveSupport String extensions
...
Add taint flow summaries for ActiveSupport String extensions which
transform the string in various ways, for example `camelcase` and
`underscore`.
DCA suggests this increases the sensitivity of rb/code-injection,
catching cases such as
params[:foo].camelcase.constantize
2022-05-24 09:35:26 +01:00
Felicity Chapman
4ea892f2d2
Fix typo
2022-05-24 08:10:19 +01:00
Erik Krogh Kristensen
f8281b43b1
autoformat
2022-05-23 19:58:48 +02:00
Erik Krogh Kristensen
b6a4f43737
expand qldoc for getNumArgument
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-05-23 18:51:33 +02:00
Rasmus Wriedt Larsen
85fa6fba63
Concepts: Move CryptographicOperation.isWeak to be Ruby specific
2022-05-23 14:39:06 +02:00
Rasmus Wriedt Larsen
3afa9425ef
Ruby: Add TAnyKeywordArgumentPosition and TAnyKeywordParameterPosition
2022-05-23 14:03:45 +02:00
Robert Marsh
6d267be1a1
C++: merge main and accept test changes
2022-05-20 14:37:09 -04:00
Stephan Brandauer
cdceb66b07
add test for moduleSuffixes
2022-05-20 15:10:13 +02:00
Stephan Brandauer
d6abb2e6bd
add new supported file types to versions-compilers.rst
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-05-20 14:34:53 +02:00
Stephan Brandauer
cb4b2e983b
delete test of removed feature
2022-05-20 14:33:07 +02:00
Stephan Brandauer
813fbf27de
support for .mts and .cts file extensions
2022-05-20 13:33:52 +02:00
Erik Krogh Kristensen
204e01fc24
change getNumArgument to only count positional arguments
2022-05-20 12:43:06 +02:00
Erik Krogh Kristensen
a5b11e88b4
update doc to make it clear that moduleImport(..) does not refer to PyPI names
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-05-19 20:00:43 +02:00
Alex Ford
6b7abef405
Ruby: remove unnecessary CryptographicOperation#isWeak override
2022-05-19 16:01:34 +01:00
Alex Ford
8b7bb7c358
Ruby: add missing qldoc
2022-05-19 15:55:48 +01:00
Alex Ford
fb53fc5373
Javascript: add missing import in ConceptsImports.qll
2022-05-19 15:51:25 +01:00
Alex Ford
d3662cf54a
Deprecate CryptographicOperation#isWeak and add a default implementation
2022-05-19 15:46:13 +01:00
Alex Ford
3d66905dc6
Share the CryptographicOperation and BlockMode concepts between dynamic langs
2022-05-19 15:46:03 +01:00
Rasmus Wriedt Larsen
5d6fbcec64
Ruby: Autoformat
2022-05-19 16:30:12 +02:00
Rasmus Wriedt Larsen
e810ba4ef6
Ruby: Expand flowToAnyArg test
2022-05-19 16:27:04 +02:00
Alex Ford
f8576fb05b
Python: avoid missing cryptography uses due to unhandled encryption modes
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-05-19 15:22:49 +01:00
Rasmus Wriedt Larsen
0879b6ae12
Ruby: Fix Argument[any,any-named] handling for path component in MaD
2022-05-19 15:51:30 +02:00
Rasmus Wriedt Larsen
7784b9f879
Ruby: WIP: Make Argument[any] and any-named work
...
It's not fully working I think the problem is that the code below ties
up `Argument[x]` with parameter positions, and `Parameter[x]` with
argument positions. This flip might be correct for flow-summaries, but
it does NOT seem to be correct for the `path` component in MaD.
Specifically, quick-eval for ParameterPosition does NOT include `keyword key` while
quick-eval for ArgumentPosition DOES include `keyword key`!
For the test `Foo.sinkAnyNamedArg(key: tainted) # $ MISSING: hasValueFlow=tainted`
c8be8d30b3/ruby/ql/lib/codeql/ruby/frameworks/data/internal/ApiGraphModelsSpecific.qll (L130-L133)
2022-05-19 15:51:25 +02:00
Stephan Brandauer
67697e1066
update meta information and release note for typescript 4.7 upgrade
2022-05-19 15:45:27 +02:00
Stephan Brandauer
0f3448dc24
update tests for typescript 4.7
2022-05-19 15:45:19 +02:00
Rasmus Wriedt Larsen
df83a51e1e
Ruby: Add anyNamedArg summary test
2022-05-19 15:42:41 +02:00
Rasmus Wriedt Larsen
cb6e5c24fc
Ruby: Prepare for anyNamedArg summary test
2022-05-19 15:42:41 +02:00
Rasmus Wriedt Larsen
a7f627af0c
Ruby: Add test for Argument[any] and any-named
2022-05-19 15:42:41 +02:00
Rasmus Wriedt Larsen
cb5ad8b775
Ruby: Don't include Argument[self] in Argument[any]
...
For flow-sumamries
2022-05-19 15:42:41 +02:00
Alex Ford
9e483ac4e0
Fix change note formatting
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-05-19 14:25:44 +01:00
Rasmus Wriedt Larsen
051754cf7e
Ruby: Add test of what Argument[any] for input/output includes
...
and an explicit test of what `Argument[self]` includes.
2022-05-19 14:02:22 +02:00
Stephan Brandauer
b928ca518f
update dependency version to 4.7.1-rc
2022-05-19 10:47:08 +02:00
Erik Krogh Kristensen
d5f0446940
exclude self parameter from the API-graph edge for keywordParameter
2022-05-17 22:34:38 +02:00
Taus
b2fe615ef2
Python: Modernise weak file permissions query
...
Using API graphs instead of points-to.
Unfortunately, some results will be lost because of this, due to the
fact that points-to tracks bitwise operations on small numbers (i.e.
flags), whereas API graphs does no such thing. This means using
something like `stat.S_IWUSR | stat.S_IWGRP` will not work.
A custom type tracker (like the one used for `re` flags) could be used
to recapture this behaviour, but I think that's best left as future
work, as it's not clear to me that this query is actually worth the
effort it would take to implement this.
2022-05-17 20:20:15 +00:00
Alex Ford
4bb6d1db3a
Add missing qldoc
2022-05-17 15:01:28 +01:00
Alex Ford
f92782d4e7
Ruby: fix some cases where we assume that a CryptographicOperation is using CBC when it is not
2022-05-17 14:57:11 +01:00
Alex Ford
c620fceb82
Ruby: remove unnecessary line from test
2022-05-17 14:57:11 +01:00
Alex Ford
6b496c78ef
Ruby: failing crypto op test
2022-05-17 14:57:11 +01:00
Erik Krogh Kristensen
03da62713c
fix typo identified by QL-for-QL
2022-05-17 12:32:40 +02:00
Erik Krogh Kristensen
bb289e29b9
sync typo fix to JS/RB
2022-05-17 12:26:31 +02:00
Erik Krogh Kristensen
818975dc56
sync upstream typo fixes
2022-05-17 12:25:52 +02:00
Erik Krogh Kristensen
5d1c41c269
Merge branch 'main' into pyMaD
2022-05-17 12:23:03 +02:00
Erik Krogh Kristensen
2868eb61ea
add test for Parameter[any] and Parameter[any-named]
2022-05-17 12:08:53 +02:00
Erik Krogh Kristensen
f273ccf73b
add explicit test of what Parameter[0] matches
2022-05-17 11:17:15 +02:00
Erik Krogh Kristensen
ce21d7e5a8
use test-sink for sinks in the MaD test
2022-05-17 11:13:59 +02:00
Erik Krogh Kristensen
aef592fec8
make a more realistic test for self-parameter
2022-05-17 11:13:35 +02:00
Erik Krogh Kristensen
55ffdb4aa1
make most imports in ApiGraphModelsSpecific.qll private
2022-05-17 10:34:17 +02:00
Erik Krogh Kristensen
1f8e7c39f4
fix typo in comment
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2022-05-17 10:32:31 +02:00
ihsinme
1a375ec653
Update cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2022-05-16 19:55:33 +03:00
Alex Ford
0cc0494586
codeql format
2022-05-16 15:54:31 +01:00
Alex Ford
bda1c21562
BrokenCryptoAlgorithm block mode change notes
2022-05-16 15:49:19 +01:00
ihsinme
f6ab338a16
Update DangerousUseSSL_shutdown.qhelp
2022-05-15 12:26:05 +03:00
Alex Ford
66736ebd9d
sync CryptoAlgorithmNames.qll (remove isWeakBlockMode predicate)
2022-05-13 21:26:01 +01:00
Alex Ford
bc073eb460
python: update py/weak-cryptographic-algorithm to flag use of ECB block mode
2022-05-13 16:32:36 +01:00
Alex Ford
da135448a2
python: update tests for CryptographicOperation#getBlockMode
2022-05-13 16:32:36 +01:00
Alex Ford
9f2c59cd6d
python: implement getBlockMode for CryptographicOperations
2022-05-13 16:32:36 +01:00
Alex Ford
03e34e071a
ruby: inline expectations tests for CryptographicOperation concept
2022-05-13 16:32:36 +01:00
Alex Ford
4752c45fe5
ruby: update rb/weak-cryptographic-algorithm to specify the block mode if appropriate
2022-05-13 16:32:30 +01:00
Alex Ford
46bb247da9
ruby: add BlockMode concept
2022-05-13 15:33:20 +01:00
Erik Krogh Kristensen
fb077bec66
sync AccessPathSyntax changes
2022-05-12 14:46:54 +02:00
Erik Krogh Kristensen
dea5596289
update MaD test to reflect that dotted module names don't work
2022-05-12 14:45:29 +02:00
Erik Krogh Kristensen
31e9876de7
Merge branch 'main' into pyMaD
2022-05-12 14:43:16 +02:00
Alex Ford
196c68b0bd
Merge remote-tracking branch 'origin/main' into ruby/rbi-lib
2022-05-11 16:31:39 +01:00
Alex Ford
a114050a6e
Ruby: document ConstantReadAccessAsRbiType class
2022-05-11 15:03:41 +01:00
ihsinme
a7c69ba6ab
create new branchihsinme-patch-87 in fork
2022-05-09 13:15:27 +00:00
ihsinme
09cd168197
create new branchihsinme-patch-88 in fork
2022-05-09 13:05:06 +00:00
Erik Krogh Kristensen
fc1ab06c1c
autoformat
2022-05-09 12:39:38 +02:00
Alex Ford
4844e4f454
ruby: replace the dataflow layer RBI library with the AST layer version
2022-05-05 18:40:12 +01:00
Alex Ford
bedb1d4584
ruby: Add AST layer version of the RBI library
2022-05-05 18:37:56 +01:00
Alex Ford
961f867bed
Ruby: fix getAssociatedMethod predicate to include class methods
2022-05-05 18:09:42 +01:00
Alex Ford
1e3ab52e1f
ruby: tidy up methodSignatureSuccessorNodeRanked predicate
2022-05-05 18:09:42 +01:00
Alex Ford
08fa397877
ruby: new rbi test case
2022-05-05 18:09:27 +01:00
Erik Krogh Kristensen
efe306733e
move path-injection MaD to PathInjectionCustomizations.qll
2022-05-05 16:51:39 +02:00
Erik Krogh Kristensen
2292dc5a45
Merge pull request #12 from RasmusWL/move-tests-back
...
Move tests back into `frameworks/` folder
2022-05-05 14:23:05 +02:00
Rasmus Wriedt Larsen
dfe99b0b51
Python: Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2022-05-05 14:14:44 +02:00
Rasmus Wriedt Larsen
0a589bed4e
Python: Add inline test of MaD sinks
...
This enables us to keep the framework modeling tests under `/frameworks`
folder
I had hoped to use `mad-sink[<kind>]` syntax, but that was not allowed
:(
Maybe it oculd be allowed in the future, but for now I'll stick with the
more ugly solution of `mad-sink__<kind>`
2022-05-05 13:11:43 +02:00
Rasmus Wriedt Larsen
6ae5ef9f3b
Revert "move most of asyncpg test into SqlInjection after moving MaD sql-injection sink"
...
This reverts commit 4b9c9b0c8d .
2022-05-05 10:20:41 +02:00
Alex Ford
1af5c680fa
ruby: drop the CallableCfgNode classes
2022-05-04 14:07:04 +01:00
Alex Ford
687602b6f1
ruby: drop a TODO
2022-05-04 14:06:37 +01:00
Alex Ford
4210973ade
ruby: drop unnecessary getExpr
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2022-05-04 14:04:34 +01:00
Erik Krogh Kristensen
4b9c9b0c8d
move most of asyncpg test into SqlInjection after moving MaD sql-injection sink
2022-05-04 10:59:02 +02:00
Erik Krogh Kristensen
a812d4dd34
move the MaD sql-injection sink to SqlInjectionCustomizations.qll
2022-05-04 10:59:02 +02:00
Erik Krogh Kristensen
571fc3e73b
Revert "deprecate SqlConstruction"
...
This reverts commit c0eca0d09a .
2022-05-04 10:59:02 +02:00
Erik Krogh Kristensen
1062aae21c
add test that the foo.bar package syntax works
2022-05-04 10:58:59 +02:00
Erik Krogh Kristensen
ead978187d
adjust the source-type for remote-flow from MaD
2022-05-03 22:53:41 +02:00
Robert Marsh
de68107a0e
C++: restrict global variable IR generation
2022-05-03 16:50:53 -04:00
Erik Krogh Kristensen
8ffc05c84b
count both named and positional arguments in the WithArity filter
2022-05-03 21:21:57 +02:00
Robert Marsh
ffd2cd7f40
C++: cleanup some implicit this usage
2022-05-02 12:38:04 -04:00
Robert Marsh
7993cba457
C++: fix global vars accesses in global vars
2022-05-02 12:27:10 -04:00
Robert Marsh
b5a2a2e8c2
C++: test for global var access in a global var
2022-05-02 12:07:01 -04:00
Erik Krogh Kristensen
c0eca0d09a
deprecate SqlConstruction
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
6c67e51ec3
add test for the .Call token
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
9c3d45a16a
last test of taint steps
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
894252dfa7
third test of taint steps
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
0f1e070d82
second test of taint steps
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
649df1dd31
simple taint-flow test
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
a8790412dd
add support for the Argument[any] and Argument[any-named] tokens
2022-05-02 12:58:21 +02:00
Erik Krogh Kristensen
b1fa7f86a8
add support for the any argument tokens
2022-05-02 12:58:15 +02:00
Erik Krogh Kristensen
413d182bcf
add support for named parameters
2022-05-02 12:56:44 +02:00
Erik Krogh Kristensen
c1d3738fb8
fix API-graphs such that the first parameter is the first non-self parameter
2022-05-02 12:52:02 +02:00
Erik Krogh Kristensen
547047ef19
add self parameters to API-graphs, and add support for self parameters in MaD
2022-05-02 12:50:31 +02:00
Erik Krogh Kristensen
dc38aa8a96
add support for the Method[name] token
2022-05-02 12:50:29 +02:00
Erik Krogh Kristensen
ea01bcf5ec
have the Instance token be an alias for Subclass.ReturnValue
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
46acce0ad4
add support for the Subclass token
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
a02e812de8
add test for the Instance token
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
682cab3737
add test for awaited
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
48408ca45d
Add TODO list
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
8d60336396
add tests for callsite filters
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
20992af037
add test for parameter syntax
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
35b143a1a5
add tests for argument syntax
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
86a9bc6aca
add test for keyword arguments
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
d4b882519a
convert most of the asyncpg model to MaD
2022-05-02 12:45:21 +02:00
Erik Krogh Kristensen
1c2c9159a9
initial MaD implementation for Python
2022-05-02 12:45:19 +02:00
Robert Marsh
fe52dd93ef
C++: sync and accept new consistency test
2022-04-29 15:29:07 -04:00
Robert Marsh
d1c6022efc
C++: fix inconsistencies from IR global vars
2022-04-29 14:56:13 -04:00
Jeroen Ketema
5b80fd1432
C++: Update tests for frontend update
2022-04-29 11:46:01 -04:00
Robert Marsh
abdfd2297b
C++: Fix IR variable reuse for global var inits
2022-04-29 11:46:00 -04:00
Robert Marsh
259580aeeb
Revert "Merge pull request #8933 from MathiasVP/revert-globals"
...
This reverts commit 2517371a37 , reversing
changes made to db856798b9 .
2022-04-29 11:45:10 -04:00
Alex Ford
b956616a56
Ruby: fix alert
2022-04-25 11:25:57 +01:00
Alex Ford
869d827768
Revert "Ruby: extract rbi files"
...
This reverts commit ba9342e0f38f4468d04bad987a8f69e95fdbdd5f.
2022-04-24 22:48:52 +01:00
Alex Ford
de35bd987a
Ruby: extract rbi files
2022-04-24 22:48:52 +01:00
Alex Ford
ad3a9b19e4
Ruby: test files for RBI library
2022-04-24 22:48:52 +01:00
Alex Ford
e03ce8f9f2
Ruby: add experimental library to support RBI files
2022-04-24 22:48:52 +01:00
Alex Ford
e3e02c98ea
Ruby: Add ExprNodes::CallableCfgNode and ExprNodes::MethodBaseCfgNode
2022-04-24 22:27:20 +01:00
${sleep,7}
b5734ed6a2
Merge branch 'main' into jty/python/emailInjection
2022-04-20 09:50:08 -04:00
haby0
1e6893e230
Update python/ql/src/experimental/semmle/python/security/injection/CsvInjection.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-03-30 22:54:30 +08:00
haby0
8f2013c32e
Simplify StartsWithCheck
2022-03-30 19:04:03 +08:00
haby0
bf8c7a2ea7
Added Sanitizer Guard
2022-03-29 14:29:33 +08:00
Erik Krogh Kristensen
4b50c68934
exclude annotation names
2022-03-16 22:59:01 +01:00
Erik Krogh Kristensen
2a196611af
add not as a keyword
2022-03-16 22:59:01 +01:00
Erik Krogh Kristensen
86c8737250
remove string constants from mentioned non-params
2022-03-16 22:59:01 +01:00
Erik Krogh Kristensen
35c3c62f9e
apply suggestions from code review
2022-03-16 22:59:01 +01:00
Erik Krogh Kristensen
daed33f5af
JS: fix more instances of ql/missing-parameter-qldoc
2022-03-16 22:58:28 +01:00
Erik Krogh Kristensen
3762ce2c72
QL: also report missing QLDoc for parameters when no parameters are documented
2022-03-16 22:56:54 +01:00
Erik Krogh Kristensen
f204a41122
QL: fix ql/missing-parameter-qldoc error in QL-for-QL
2022-03-16 22:56:53 +01:00
Erik Krogh Kristensen
53760799fc
sync files
2022-03-16 22:56:53 +01:00
Erik Krogh Kristensen
efba220b45
JS: fix most ql/missing-parameter-qldoc issues
2022-03-16 22:56:52 +01:00
Erik Krogh Kristensen
ecd3aceb07
QL: add test for ql/missing-parameter-qldoc
2022-03-16 22:54:35 +01:00
Erik Krogh Kristensen
af112a011a
QL: Add query detecting suspiciously missing parameters from the QLDoc of a predicate
2022-03-16 22:54:35 +01:00
Erik Krogh Kristensen
8c6022b78a
QL: add query detecting inconsistent deprecations
2022-03-16 22:37:34 +01:00
haby0
e11c74c580
Delete redundant comments
2022-03-15 15:25:08 +08:00
haby0
4195eef9ba
Add CSV injection model
2022-03-15 15:15:38 +08:00
jorgectf
c155ac6e7a
Add HtmlEscaping sanitizer
2022-03-10 00:47:04 +01:00
Erik Krogh Kristensen
fb011c3529
QL: identify when a field not used in all disjuncts in a char-pred
2022-03-09 11:46:16 +01:00
jorgectf
3f43e6ef54
Fix FlaskMail's getTo
2022-03-08 18:45:53 +01:00
jorgectf
bbba1a21c4
Explicitly call this in SendGridMail
2022-03-08 18:40:20 +01:00
jorgectf
930fbf777c
Move getFlaskMailArgument inside FlaskMail and refactor
2022-03-08 18:38:32 +01:00
jorgectf
6b04344655
Refactor sendgridContent and sendgridWrite
...
Move the predicates inside `SendGridMail`.
See https://github.com/github/codeql/pull/7127#discussion_r821574462
2022-03-08 18:26:20 +01:00
jorgectf
6722671541
Refactor sendgridApiClient and sendgridApiSendCall
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2022-03-08 18:24:38 +01:00
jorgectf
3159d8e211
Correlate SendGridMail declaration with its predicates
2022-03-03 04:33:10 +01:00
jorgectf
67b672a467
Merge remote-tracking branch 'origin/main' into jty/python/emailInjection
2022-02-26 01:22:55 +01:00
jorgectf
2f2cf2c1f6
Use StrConst.getText() instead of Str_.getS()
2022-02-26 01:19:50 +01:00
jorgectf
ede5d412ac
Update .expected
2021-12-19 19:57:08 +01:00
jorgectf
1b9567a1d8
Avoid using Str_ internal class
2021-12-19 19:56:58 +01:00
jorgectf
018aa11bb6
Make EmailSender an instance of EmailSender::Range
2021-11-16 13:17:43 +01:00
jorgectf
f35025344c
Merge branch 'jty/python/emailInjection' of https://github.com/jty-team/codeql into jty/python/emailInjection
2021-11-15 23:04:19 +01:00
jorgectf
5bd8de1514
Fix smtplib's _subparts taint config issue
2021-11-15 23:04:17 +01:00
Jorge
a905205f16
Merge branch 'github:main' into jty/python/emailInjection
2021-11-15 16:44:11 +01:00
Jorge
1be823d5e7
Apply suggestions from code review
...
Co-authored-by: ${sleep,5} <52643283+mrthankyou@users.noreply.github.com >
2021-11-15 16:41:51 +01:00
jorgectf
129a81a2f8
Cover smtplib
2021-11-13 14:24:40 +01:00
jorgectf
e7cb762947
Add SmtpLib to Frameworks.qll and minimal fixes
2021-11-13 14:24:02 +01:00
jorgectf
dbdf102ea6
Make EmailSender an extendable API
2021-11-13 14:23:11 +01:00
jorgectf
63eadc8441
Polish sendgrid modeling
2021-11-13 02:12:58 +01:00
jorgectf
33b6f6fe61
Polish FlaskMail qldocs
2021-11-13 02:12:22 +01:00
jorgectf
1393b5b157
Add django qldocs
2021-11-13 02:11:45 +01:00
jorgectf
5b46b90e10
Fix additional taint step variables
2021-11-09 14:41:35 +01:00
jorgectf
c0a0c5d811
Cover footer and subscription_tracking html injection
2021-11-08 10:51:11 +01:00
jorgectf
5774ce2479
Improve django test
2021-11-08 10:34:16 +01:00
jorgectf
f4a73fcc59
Add RFS to sendgrid test
2021-11-08 10:33:57 +01:00
jorgectf
d316974157
Add HtmlContent additional taint step
2021-11-08 10:23:50 +01:00
jorgectf
356b07112a
Cover MimeType.amp as a vulnerable mimetype
2021-10-30 21:19:22 +02:00
jorgectf
3264e7be99
Merge branch 'jty/python/emailInjection' of https://github.com/jty-team/codeql into jty/python/emailInjection
2021-10-30 21:11:30 +02:00
thank_you
d9e4df7f97
Remove unnecessary comment
2021-10-30 14:00:58 -04:00
thank_you
3a4e3d5146
Remove comments from Python example tests
...
Besides removing comments, I also reduced the complexity of some of the Python code examples.
2021-10-30 14:00:51 -04:00
jorgectf
4afcd9d207
[mrthankyou] smtplib partial modeling.
2021-10-28 19:18:59 +02:00
jorgectf
ba3ea700f5
Add Sendgrid dict data html body modeling
2021-10-28 18:47:54 +02:00
jorgectf
dbf5b24b86
Polish Sendgrid.qll qldoc
2021-10-28 18:26:35 +02:00
jorgectf
e8e0f0fea8
Add temporary .expected
2021-10-28 14:22:14 +02:00
jorgectf
bf68495102
Polish FlaskMail qldocs
2021-10-28 14:21:43 +02:00
jorgectf
c9634f3c6f
Fix getFlaskMailArgument()
2021-10-28 13:54:14 +02:00
jorgectf
4c2a4226ef
Merge remote-tracking branch 'origin/main' into jty/python/emailInjection
2021-10-28 13:26:57 +02:00
jorgectf
19a626742a
Almost fix getFlaskMailArgument(...)
2021-06-29 17:28:45 +02:00
jorgectf
b5ee7c3032
Specify plain-text body
2021-06-29 17:28:20 +02:00
jorgectf
e0013fcdbb
Fix Concepts.qll dependencies
2021-06-23 21:29:35 +02:00
jorgectf
7b9cbafd62
Move flask_mail to libraries/
2021-06-23 21:28:11 +02:00
jorgectf
70d651184b
Optimize Flask.qll
2021-06-23 21:21:45 +02:00
jorgectf
5e8f9959ef
Extend Sendgrid setters
2021-06-23 20:56:48 +02:00
jorgectf
9563faf918
Add Sendgrid modeling
2021-06-23 20:53:17 +02:00
jorgectf
bf1eb7238e
Cover django.core.mail
2021-06-23 18:37:55 +02:00
jorgectf
8ae864827a
Format ReflectedXSS.qll
2021-06-23 18:37:33 +02:00
jorgectf
355bb5c734
Format Flask.qll
2021-06-23 18:37:11 +02:00
jorgectf
eac5eba9d2
Move tests and qlref to test/
2021-06-23 18:36:44 +02:00
jorgectf
c323fbbf3c
Cover Flask-SendMail (Flask-Mail copy)
2021-06-23 17:26:14 +02:00
jorgectf
ae84df817a
Extend ReflectedXSS query
2021-06-23 17:08:28 +02:00
jorgectf
4c9ecf0d9b
Delete testing class-variable
2021-06-23 00:52:34 +02:00
jorgectf
7956b97ac3
Unit tests move and temporary ql
2021-06-23 00:40:05 +02:00
jorgectf
4d890ddeae
Polish flask_mail tests and code
2021-06-23 00:38:58 +02:00
jorgectf
48cd5062cf
Change EmailSender structure
2021-06-23 00:37:54 +02:00
thank_you
20f321e623
Remove accidental slash
2021-06-22 13:03:23 -04:00
thank_you
c3eba25b0c
Add query tests
...
Most of these query tests need to be cleaned up. Also, some of these query tests will fail because no user-tainted data is passing into the email bodies that are generated and sent to a victim user.
2021-06-21 19:02:20 -04:00
thank_you
24d4415457
Create EmailClients.qll
2021-06-21 19:01:04 -04:00