Benjamin Muskalla
063c8286c8
Merge pull request #7150 from bmuskalla/removeClassFile
...
Java: Remove class file
2021-11-16 17:27:31 +01:00
Benjamin Muskalla
55cdb7d755
Exclude .class files from git
2021-11-16 16:41:23 +01:00
Benjamin Muskalla
3dbaa087d4
Remove class file
2021-11-16 16:36:27 +01:00
Paolo Tranquilli
2ce5b85db4
Merge pull request #7112 from github/redsun82/frontend-update
...
c++: update ir tests after frontend update
2021-11-16 16:30:34 +01:00
Taus
eed98bd76a
Merge pull request #5588 from jorgectf/jorgectf/python/jwt-queries
...
Python: Add JWT security-related queries
2021-11-16 15:40:45 +01:00
Chris Smowton
8d22db8089
Merge pull request #7140 from smowton/smowton/admin/merge-lgtm-com-cherry-pick
...
Merge lgtm.com into main
2021-11-16 14:13:27 +00:00
jorgectf
9ad8a85f4d
Delete redundant checks in verifiesSignature()
2021-11-16 15:08:18 +01:00
Anders Schack-Mulligen
c70d384d28
Merge pull request #7045 from aschackmull/dataflow/hidden-ret-subpaths
...
Data flow: Support hidden return nodes in subpaths predicate
2021-11-16 15:04:51 +01:00
jorgectf
3fe2a08376
Update .expected file
2021-11-16 15:03:49 +01:00
Jorge
a722631278
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-11-16 15:02:06 +01:00
Paolo Tranquilli
8d3cf7f5aa
C++: update ir tests after frontend update
...
After updating the frontend new intermediate objects appear in the AST
and raw dumps.
2021-11-16 13:25:32 +00:00
Tom Hvitved
a65f5725d3
Merge pull request #7146 from hvitved/ruby/remove-ci-check
...
Ruby: Remove `Compile with previous CodeQL versions` CI check
2021-11-16 13:44:24 +01:00
Erik Krogh Kristensen
a7cd097ca2
Merge pull request #6756 from erik-krogh/extractBigReg
...
JS: extract regexp literals for string concatenations
2021-11-16 13:33:21 +01:00
Tom Hvitved
075c9d89b3
Ruby: Remove Compile with previous CodeQL versions CI check
2021-11-16 13:30:32 +01:00
Tom Hvitved
3a8e2db3ab
Merge pull request #7121 from hvitved/ruby/lookup-const-anti-join
2021-11-16 11:32:55 +01:00
Geoffrey White
ed3e5395d1
Merge pull request #7063 from MathiasVP/use-range-analysis-in-buffer-write
...
C++: Use `SimpleRangeAnalysis` in `Printf.qll`
2021-11-16 10:24:47 +00:00
Mathias Vorreiter Pedersen
71c279f537
Merge branch 'main' into use-range-analysis-in-buffer-write
2021-11-16 09:14:02 +00:00
Erik Krogh Kristensen
1a98079100
Merge pull request #7139 from erik-krogh/gotGet
...
JS: improve the got model
2021-11-15 22:42:03 +01:00
Erik Krogh Kristensen
12c24c07df
improve the got model
2021-11-15 21:52:12 +01:00
Tom Hvitved
f01b9005b1
Merge pull request #7122 from hvitved/csharp/expose-repr-perf
...
C#: Replace `localFlow` with `localFlowStep` in recursive predicate
2021-11-15 21:11:21 +01:00
Tom Hvitved
6599eca9fb
Merge pull request #7138 from hvitved/ruby/forward-param-cfg
...
Ruby: Add missing CFG entry for `ForwardParameter`
2021-11-15 19:28:31 +01:00
Chris Smowton
708e059e7f
Merge branch 'lgtm.com' of github.com:github/codeql into smowton/admin/merge-lgtm-com-cherry-pick
2021-11-15 18:18:28 +00:00
Tony Torralba
d97b130bdd
Merge pull request #7092 from atorralba/atorralba/android-asynctask-jumpstep
...
Java: Add AsyncTask additional value step
2021-11-15 16:59:56 +01:00
Tom Hvitved
03ae58830a
Ruby: Add missing CFG entry for ForwardParameter
2021-11-15 16:28:17 +01:00
Tom Hvitved
3ce41015bb
Ruby: Add CFG test for forward parameters
2021-11-15 16:25:06 +01:00
Tony Torralba
87ebcea913
Add AsyncTask value step
2021-11-15 16:13:36 +01:00
Anders Schack-Mulligen
a40a393b38
Merge pull request #7134 from aschackmull/java/additionalvaluestep
...
Java: Add support for adding additional value steps.
2021-11-15 16:07:30 +01:00
Rasmus Wriedt Larsen
6b7abacc5f
Merge pull request #7135 from RasmusWL/b32hexencode
...
Python: Model `b32hexencode`/`b32hexdecode`
2021-11-15 15:51:46 +01:00
Rasmus Wriedt Larsen
95dbe1383b
Merge pull request #7133 from RasmusWL/minor-3.10-fix
...
Python: Minor additions for 3.10
2021-11-15 15:25:34 +01:00
Rasmus Wriedt Larsen
39927fa613
Python: Model b32hexencode/b32hexdecode
...
New in Python 3.10
See
- https://devdocs.io/python~3.10/library/base64#base64.b32hexencode
- https://devdocs.io/python~3.10/library/base64#base64.b32hexdecode
2021-11-15 15:23:49 +01:00
Anders Schack-Mulligen
2fe6880d70
Java: Add support for adding additional value steps.
2021-11-15 15:05:48 +01:00
Rasmus Wriedt Larsen
cfdfcaa3e8
Python: Support Path.hardlink_to (new in 3.10)
...
See https://docs.python.org/3.10/library/pathlib.html#pathlib.Path.hardlink_to
2021-11-15 14:57:59 +01:00
Rasmus Wriedt Larsen
5d60975f65
Python: Support aiter and anext (new in 3.10)
...
See
- https://docs.python.org/3/whatsnew/3.10.html#other-language-changes
- https://docs.python.org/3.10/library/functions.html#aiter
- https://docs.python.org/3.10/library/functions.html#anext
2021-11-15 14:55:34 +01:00
Mathias Vorreiter Pedersen
3f0bfe1d75
C++: Remove the implicit assumption about the existence of a lower bound implying the existence of an upper bound (and vice veraa).
2021-11-15 13:39:15 +00:00
Mathias Vorreiter Pedersen
63f50a9eb7
C++: Cleanup the case for possibly-negative unsigned values.
2021-11-15 13:31:51 +00:00
Mathias Vorreiter Pedersen
9a9f7943aa
C++: Fix bug for exact powers of 10 and accept test changes.
2021-11-15 13:20:45 +00:00
Mathias Vorreiter Pedersen
53884915a5
C++: Add more tests (which demonstrate a couple of bugs in the implementation).
2021-11-15 13:18:30 +00:00
Rasmus Wriedt Larsen
7c3b68b7f8
Merge pull request #7091 from RasmusWL/port-request-without-validation
...
Python: Port `py/request-without-cert-validation` to use API graphs
2021-11-15 13:51:57 +01:00
Erik Krogh Kristensen
0023b885f5
update expected output
2021-11-15 13:50:12 +01:00
Erik Krogh Kristensen
2163648b39
fix location off-by-ones with regexp parsing
2021-11-15 13:43:39 +01:00
Tom Hvitved
4bbfa514c9
Merge pull request #6535 from hvitved/csharp/consistency-queries
...
C#: Add consistency queries
2021-11-15 13:15:58 +01:00
CodeQL CI
c8b8a2874f
Merge pull request #7119 from github/max-schaefer/api-graphs-property-copies
...
Approved by asgerf
2021-11-15 04:09:16 -08:00
Taus
c17560f948
Merge pull request #7096 from tausbn/python-fix-more-bad-joins
...
Python: Fix a bunch of performance issues
2021-11-15 12:10:27 +01:00
Tom Hvitved
723ac818d9
Shared CFG: Update breakInvariant4 consistency test
2021-11-15 11:43:49 +01:00
Mathias Vorreiter Pedersen
c2e057def9
Merge pull request #7094 from geoffw0/non-https-url
...
C++: New query 'Failure to use HTTPS URLs'
2021-11-15 10:00:19 +00:00
Tom Hvitved
d323b3b17d
Merge pull request #7123 from hvitved/ruby/definitions-perf
...
Ruby: Fix performance problem in `Definitions.ql`
2021-11-15 10:58:03 +01:00
Tom Hvitved
b5d37ae0fe
C#: Update CFG consistency checks
2021-11-12 17:07:37 +01:00
Tom Hvitved
d1a09b62d3
Address review comments
2021-11-12 16:31:00 +01:00
Erik Krogh Kristensen
eef7709982
Merge pull request #7057 from erik-krogh/cwe598
...
JS: add js/sensitive-get-query query
2021-11-12 16:03:21 +01:00
yoff
5beb681580
Merge pull request #7087 from RasmusWL/path-injection-fp
...
Python: Add interesting path-injection FP
2021-11-12 15:20:19 +01:00
Tom Hvitved
3471e757f2
Ruby: Fix performance problem in Definitions.ql
2021-11-12 14:35:16 +01:00
yoff
9f614b1d98
Merge pull request #7016 from RasmusWL/django-rest-framework
...
Python: Model Django REST framework
2021-11-12 14:27:56 +01:00
Tom Hvitved
19e6da517b
Ruby: Fix bad join-order in resolveConstant
...
```
[2021-11-09 11:35:47] (99s) Starting to evaluate predicate Module::Cached::resolveConstant#ff#antijoin_rhs/3@f6dcd6
[2021-11-09 11:35:58] (111s) Tuple counts for Module::Cached::resolveConstant#ff#antijoin_rhs/3@f6dcd6 after 11.5s:
165960683 ~0% {4} r1 = JOIN Module::Cached::resolveConstant#ff#shared WITH Module::constantDefinition0#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'arg1', Lhs.0 'arg0', Lhs.2 'arg2'
0 ~0% {3} r2 = JOIN r1 WITH Module::ClassDeclaration::getSuperclassExpr_dispred#ff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.1 'arg1', Lhs.3 'arg2'
0 ~0% {3} r3 = JOIN r1 WITH Constant::ConstantAccess::getScopeExpr_dispred#ff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.1 'arg1', Lhs.3 'arg2'
0 ~0% {3} r4 = r2 UNION r3
return r4
```
2021-11-12 14:08:11 +01:00
Tom Hvitved
9ee1c49bac
C#: Replace localFlow with localFlowStep in recursive predicate
2021-11-12 14:04:38 +01:00
Rasmus Wriedt Larsen
491f72bb2a
Python: Adjust generated code to be more familiar
2021-11-12 13:30:03 +01:00
Rasmus Wriedt Larsen
de69e4c645
Python: Expand on SubclassFinder implementation note
2021-11-12 13:29:03 +01:00
Rasmus Wriedt Larsen
f7b53321b9
Python: Remove copy-pasted comment
2021-11-12 13:19:20 +01:00
Tom Hvitved
67ebebbaeb
C#: Add consistency queries
2021-11-12 13:10:46 +01:00
Taus
55ea715ce9
Merge pull request #7033 from RasmusWL/flask-admin
2021-11-12 12:18:56 +01:00
Rasmus Wriedt Larsen
860b1a5cc3
Python: Other minor QLDoc adjustment
2021-11-12 11:46:45 +01:00
Erik Krogh Kristensen
80919e39a2
Merge branch 'main' into extractBigReg
2021-11-12 11:45:49 +01:00
Rasmus Wriedt Larsen
99081ea7e0
Python: Minor adjustment in QLDoc
2021-11-12 11:42:36 +01:00
Rasmus Wriedt Larsen
5e4b866f2b
Python: Model rest_framework.exceptions.APIException
2021-11-12 11:37:54 +01:00
Rasmus Wriedt Larsen
62e58b534c
Python: SubclassFinder: reorder + comment
2021-11-12 11:11:13 +01:00
Rasmus Wriedt Larsen
f48ecb1dc8
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-11-12 10:57:56 +01:00
Tom Hvitved
b5cf4c2f82
Merge pull request #7111 from michaelnebel/csharp-move-printast
...
Csharp move PrintAst query to test directory.
2021-11-12 09:19:13 +01:00
Rasmus Wriedt Larsen
06cae3dac2
Merge pull request #7104 from yoff/python/model-aiomysql
...
Python: model aiomysql
2021-11-11 16:58:01 +01:00
Tom Hvitved
004144bbef
Merge pull request #7028 from hvitved/ruby/api-graphs-prune
...
Ruby: Prune nodes before computing `trackUseNode`
2021-11-11 15:57:21 +01:00
Michael Nebel
9ea320c53c
Update all PrintAst.qlref to point to new location of PrintAst.ql
2021-11-11 15:19:15 +01:00
Mathias Vorreiter Pedersen
982de28b89
Update cpp/ql/lib/semmle/code/cpp/commons/Printf.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-11-11 13:19:13 +00:00
Erik Krogh Kristensen
e09c12430d
Merge pull request #7105 from erik-krogh/flagJqueryUI
...
JS: have the aliasPropertyPresenceStep step over extend calls
2021-11-11 14:05:11 +01:00
CodeQL CI
34cc61e51f
Merge pull request #7083 from asgerf/js/type-track-object-literals-with-methods
...
Approved by erik-krogh
2021-11-11 04:35:55 -08:00
Michael Nebel
5a4557f588
Move PrintAst.ql and update import statement
2021-11-11 13:27:12 +01:00
Rasmus Lerchedahl Petersen
e2a2a42d59
Python: Fix api references
2021-11-11 13:20:57 +01:00
Geoffrey White
ea580cd9c0
C++: Add explanatory comments.
2021-11-11 11:49:51 +00:00
Erik Krogh Kristensen
b513033e0f
Merge pull request #7021 from erik-krogh/cwe326
...
JS: Add insufficient key size query
2021-11-11 12:17:04 +01:00
Erik Krogh Kristensen
891694b50a
Merge pull request #5908 from erik-krogh/protoLib
...
JS: Add library input as source to js/prototype-polluting-assignment
2021-11-11 12:04:05 +01:00
Erik Krogh Kristensen
140a70f9df
Merge pull request #7029 from erik-krogh/cwe384
...
JS: add js/session-fixation query
2021-11-11 11:59:52 +01:00
Erik Krogh Kristensen
0bf055fbec
Merge pull request #7103 from erik-krogh/add-cwe532-to-cleartextlogging
...
JS: add CWE-532 to the js/clear-text-logging query
2021-11-11 11:59:16 +01:00
Erik Krogh Kristensen
9a11c13e11
update expected output
2021-11-11 11:56:30 +01:00
Anders Schack-Mulligen
7ffd9b4f9e
Dataflow: Include read/store steps when finding non-hidden return.
2021-11-11 11:26:21 +01:00
Asger F
7d8284a41c
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-11-11 10:42:49 +01:00
Geoffrey White
901919f7ff
C++: Add tests expanding on the issue with (global) variables.
2021-11-11 09:40:03 +00:00
Geoffrey White
43ff3b1c80
C++: Address review comment.
2021-11-11 09:39:59 +00:00
Mathias Vorreiter Pedersen
bf9b8cfff0
Merge pull request #6947 from ihsinme/ihsinme-patch-077
...
CPP: Add query for CWE-377 Insecure Temporary File
2021-11-11 09:02:04 +00:00
Geoffrey White
9a1b98e1d9
C++: Fix qhelp example link.
2021-11-10 17:54:05 +00:00
Erik Krogh Kristensen
5d901ef728
move extend aliasing to getAnAliasedSourceNode
2021-11-10 18:08:50 +01:00
Geoffrey White
c29011a5cf
C++: Add more sinks.
2021-11-10 16:43:28 +00:00
Erik Krogh Kristensen
2d907f825e
have the aliasPropertyPresenceStep step over extend calls
2021-11-10 16:26:00 +01:00
Geoffrey White
ae622bd482
C++: Use hasGlobalOrStdName.
2021-11-10 14:57:07 +00:00
Tom Hvitved
198b321158
Java: Hide parameters of summarized callables
2021-11-10 15:13:32 +01:00
Tom Hvitved
34fdf11b4b
Ruby: Update expected test output
2021-11-10 15:11:13 +01:00
Tom Hvitved
82abab1510
C#: Hide parameters of summarized callables
2021-11-10 15:11:13 +01:00
Anders Schack-Mulligen
6d9fb3ca43
Dataflow: Sync.
2021-11-10 15:11:13 +01:00
Anders Schack-Mulligen
678a21e532
Dataflow: Support hidden return nodes in subpaths.
2021-11-10 15:11:13 +01:00
Mathias Vorreiter Pedersen
e0b876d2f6
Merge pull request #7102 from MathiasVP/fix-map-test
...
C++: Fix a testcase
2021-11-10 13:51:10 +00:00
yoff
d23a920ed4
Merge branch 'main' into python/model-aiomysql
2021-11-10 14:32:36 +01:00
Rasmus Lerchedahl Petersen
57e7bfbdba
Python: model aiomysql
2021-11-10 14:29:39 +01:00
Rasmus Lerchedahl Petersen
047cff0749
Python: test aiomysql
2021-11-10 14:24:45 +01:00
Mathias Vorreiter Pedersen
ccdaf49464
C++: Fix the same bug in the test for ordered maps.
2021-11-10 13:24:27 +00:00
Erik Krogh Kristensen
55434653f5
add CWE-532 to the clear-text-logging query
2021-11-10 14:15:49 +01:00
Erik Krogh Kristensen
98da532c46
dont extract regular expressions from strings that are leaves in a string concat
2021-11-10 14:11:48 +01:00
Mathias Vorreiter Pedersen
86d78b34aa
C++: Use the correct variable in the 'test'.
2021-11-10 13:04:48 +00:00
Rasmus Wriedt Larsen
de926dc2a1
Merge pull request #7085 from yoff/python/model-aiopg
...
Python: model aiopg
2021-11-10 13:10:30 +01:00
Rasmus Wriedt Larsen
1f90dcadf1
Python: Use backtracker for verify arg
2021-11-10 12:54:23 +01:00
Geoffrey White
2f39c64cc2
C++: Fix character in qhelp.
2021-11-10 11:23:57 +00:00
Benjamin Muskalla
0f086056a1
Merge pull request #7100 from bmuskalla/bmuskalla/ioAsFile
...
Java: Extract Commons IO into seperate file
2021-11-10 12:04:12 +01:00
Max Schaefer
a8c4455b20
Factor out an auxiliary predicate.
2021-11-10 10:17:59 +00:00
Rasmus Lerchedahl Petersen
92a7114b72
Python: Add API references
2021-11-10 11:06:58 +01:00
Rasmus Lerchedahl Petersen
c6d285dd2a
Python: Fix test
2021-11-10 11:06:45 +01:00
yoff
a856395d56
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-11-10 10:51:40 +01:00
Benjamin Muskalla
f9fa22c14d
Removed unused import
2021-11-10 10:21:54 +01:00
Benjamin Muskalla
1a751608de
Extract Commons IO into seperate file
2021-11-10 10:15:27 +01:00
Mathias Vorreiter Pedersen
e2ab1c8c5e
Merge branch 'main' into use-range-analysis-in-buffer-write
2021-11-10 08:28:43 +00:00
Tony Torralba
4da1dce811
Merge pull request #7099 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-11-10 08:54:11 +01:00
Erik Krogh Kristensen
ab5d9459c7
Update javascript/ql/src/Security/CWE-384/SessionFixation.qhelp
...
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com >
2021-11-10 08:24:46 +01:00
ihsinme
a0448240aa
Update InsecureTemporaryFile.expected
2021-11-10 09:23:51 +03:00
ihsinme
7514fe2b45
Update test.cpp
2021-11-10 09:22:58 +03:00
ihsinme
289d58745a
Update InsecureTemporaryFile.ql
2021-11-10 09:22:03 +03:00
github-actions[bot]
f5426336c3
Add changed framework coverage reports
2021-11-10 00:09:06 +00:00
Taus
33135e909a
Python: Add magic to named_argument_transfer
...
This predicate was materialised as a _big_, _cached_ relation:
```
(169s) Tuple counts for PointsTo::InterProceduralPointsTo::named_argument_transfer#ffff#join_rhs/4@38ce07 after 53.4s:
25212 ~4% {3} r1 = SCAN Function::Function::getArgByName_dispred#fff OUTPUT In.1, In.0 'arg1', In.2 'arg2'
159751200 ~0% {4} r2 = JOIN r1 WITH Flow::CallNode::getArgByName_dispred#fff_102#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg0', Lhs.1 'arg1', Lhs.2 'arg2', Rhs.2 'arg3'
return r2
```
... However it's only used in a single place (where it is immediately
joined with the points-to relation to relate the caller and argument),
none of these joins were ever larger than 2000 tuples. This made it
pretty clear that we could gain something by pushing in that points-to
join as a bit of manual magic.
However, doing so didn't actually fix anything, since the join-orderer
then decided to join `func.getArgByName(name)` with
`call.getArgByName(name)` on `name` as the first thing (which caused a
join of the same size as above).
Unbinding didn't work, since `name` would then be an unbound `string`,
so instead I factored out relating the function, parameter, and name
thereof into its own predicate. (I could also have done this with the
call, but I would expect there to be more calls than function
definitions in general.)
Overall, this resulted in going from
```
(709s)
Definitions.ql-7:PointsTo::InterProceduralPointsTo::named_argument_transfer#ffff#join_rhs ......... 53.5s
Definitions.ql-7:Instances::InstanceObject::initializer_dispred#fbf ............................... 35.3s (456 evaluations with max 136ms in Instances::InstanceObject::initializer_dispred#fbf/3@i110#0508e8)
Definitions.ql-10:DefinitionTracking::jump_to_defn_attribute#fbf .................................. 27s (100 evaluations with max 12.8s in DefinitionTracking::jump_to_defn_attribute#fbf/3@i1#fc1f7x)
Definitions.ql-7:PointsTo::PointsToInternal::pointsTo#ffff ........................................ 16.1s (681 evaluations with max 2.5s in PointsTo::PointsToInternal::pointsTo#ffff/4@i4#0508eg)
Definitions.ql-7:Constants::ConstantObjectInternal::attribute#ffff ................................ 13.4s (505 evaluations with max 50ms in Constants::ConstantObjectInternal::attribute#ffff/4@i153#0508e5)
Definitions.ql-10:DefinitionTracking::assignment_jump_to_defn_attribute#fbf ....................... 12.4s (99 evaluations with max 11.8s in DefinitionTracking::assignment_jump_to_defn_attribute#fbf/3@i2#fc1f
7z)
...
```
to
```
(668s)
Definitions.ql-7:Instances::InstanceObject::initializer_dispred#fbf ................... 35.4s (456 evaluations with max 140ms in Instances::InstanceObject::initializer_dispred#fbf/3@i110#bf4328)
Definitions.ql-10:DefinitionTracking::jump_to_defn_attribute#fbf ...................... 27.4s (100 evaluations with max 13.3s in DefinitionTracking::jump_to_defn_attribute#fbf/3@i1#679d7x)
Definitions.ql-7:PointsTo::PointsToInternal::pointsTo#ffff ............................ 16.1s (681 evaluations with max 2.5s in PointsTo::PointsToInternal::pointsTo#ffff/4@i4#bf432g)
Definitions.ql-7:Constants::ConstantObjectInternal::attribute#ffff .................... 14.4s (505 evaluations with max 51ms in Constants::ConstantObjectInternal::attribute#ffff/4@i140#bf4325)
Definitions.ql-10:DefinitionTracking::assignment_jump_to_defn_attribute#fbf ........... 12.3s (99 evaluations with max 11.7s in DefinitionTracking::assignment_jump_to_defn_attribute#fbf/3@i2#679d
7z)
...
```
2021-11-09 21:39:32 +00:00
Taus
e2f79d8516
Python: Fix several bad getScope joins
...
It seems the optimiser has started getting the wrong end of the stick
whenever we write `foo.getScope() = bar.getScope()` for some expressions
`foo` and `bar`.
This lead to things like
```
(196s) Tuple counts for Definitions::ModuleVariable::global_variable_callnode#ff/2@5ab278 after 2m33s:
2952757013 ~0% {2} r1 = JOIN Definitions::ModuleVariable::global_variable_callnode#ff#shared WITH Variables::Variable::getScope_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', Lhs.1 'result'
495693 ~0% {2} r2 = JOIN r1 WITH Variables::GlobalVariable#class#f ON FIRST 1 OUTPUT Lhs.0 'this', Lhs.1 'result'
453589 ~0% {2} r3 = JOIN r2 WITH Definitions::ModuleVariable#f ON FIRST 1 OUTPUT Lhs.0 'this', Lhs.1 'result'
return r3
```
and
```
(315s) Tuple counts for Definitions::SsaSourceVariable::getAUse_dispred#ff/2@a39328 after 1m57s:
...
1785275 ~3% {2} r24 = Definitions::ModuleVariable::global_variable_callnode#ff#shared UNION Definitions::SsaSourceVariable::getAUse_dispred#ff#shared
3008614987 ~0% {2} r25 = JOIN r24 WITH Variables::Variable::getScope_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', Lhs.1 'result'
127 ~1% {2} r26 = JOIN r25 WITH Definitions::NonLocalVariable#class#f ON FIRST 1 OUTPUT Lhs.0 'this', Lhs.1 'result'
127 ~1% {2} r27 = JOIN r26 WITH Variables::LocalVariable#f ON FIRST 1 OUTPUT Lhs.0 'this', Lhs.1 'result'
...
```
(Note the timings: 2m33s and 1m57s.)
Now we have the much more reasonable
```
(38s) Tuple counts for Definitions::ModuleVariable::global_variable_callnode#ff/2@c53031 after 42ms:
453589 ~0% {2} r1 = JOIN Definitions::ModuleVariable::global_variable_callnode#ff#shared WITH Definitions::ModuleVariable::scope_as_global_variable#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'this', Lhs.1 'result'
return r1
```
and
```
(46s) Tuple counts for Definitions::SsaSourceVariable::getAUse_dispred#ff/2@4b19de after 375ms:
...
```
2021-11-09 20:54:41 +00:00
Taus
24000a50e6
Python: Fix bad join in py/redundant-assignment
...
A minor thing, but still best avoided:
```
Tuple counts for RedundantAssignment::pyflakes_commented_line#bb/2@0477c7 after 14.2s:
160826 ~0% {2} r1 = SCAN py_comments OUTPUT In.2, In.1
160826 ~0% {3} r2 = JOIN r1 WITH project#Files::Location::hasLocationInfo_dispred#bfffff ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Rhs.2 'result'
160826 ~3% {3} r3 = JOIN r2 WITH files_10#join_rhs ON FIRST 1 OUTPUT Lhs.2 'result', Lhs.1, Rhs.1 'file'
46672419 ~4% {4} r4 = JOIN r3 WITH Files::Location::getStartLine_dispred#bf_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.2 'file', Lhs.1, Lhs.0 'result'
3951 ~0% {4} r5 = JOIN r4 WITH Files::Location::getFile_dispred#bf ON FIRST 2 OUTPUT Lhs.2, Lhs.3 'result', Lhs.1 'file', toLower(Lhs.2)
0 ~0% {4} r6 = SELECT r5 ON In.3 contains "pyflakes"
0 ~0% {2} r7 = SCAN r6 OUTPUT In.2 'file', In.1 'result'
return r7
```
2021-11-09 20:31:44 +00:00
Geoffrey White
26e9adcc34
C++: Change note.
2021-11-09 19:39:21 +00:00
Geoffrey White
ef21d1b512
C++: Add a model for curl as well.
2021-11-09 19:32:43 +00:00
Geoffrey White
6388ac5f1d
C++: Add tests.
2021-11-09 18:41:57 +00:00
Geoffrey White
d2b18d952d
C++: Add qhelp.
2021-11-09 18:41:56 +00:00
Geoffrey White
bd1e708c5d
C++: First version of cpp/non-https-url.
2021-11-09 18:33:49 +00:00
Rasmus Wriedt Larsen
985cd1ebdb
Python: Port py/request-without-cert-validation to use API graphs
2021-11-09 16:37:50 +01:00
Rasmus Wriedt Larsen
59581690fd
Python: Add py/request-without-cert-validation tests
2021-11-09 16:29:57 +01:00
Tom Hvitved
7178a98e45
Ruby: Rename pruneUseNode{Fwd,Rev}
2021-11-09 15:16:36 +01:00
Tom Hvitved
30251740e3
Ruby: Prune nodes before computing trackUseNode
2021-11-09 15:16:36 +01:00
Tom Hvitved
8195ebf4b3
Merge pull request #7059 from hvitved/ruby/basic-store-step-postupdate
...
Ruby: Fix `basicStoreStep`
2021-11-09 15:16:07 +01:00
Benjamin Muskalla
40e47c0ea3
Merge pull request #7082 from bmuskalla/filterOutputStream
...
Java: Model taint for `FilterOutputStream`
2021-11-09 15:06:15 +01:00
Rasmus Wriedt Larsen
f70e4fea55
Python: Add interesting path-injection FP
2021-11-09 14:53:32 +01:00
Benjamin Muskalla
bfe2e2e0b9
Model taint for FilterOutputStream
2021-11-09 14:21:50 +01:00
Rasmus Wriedt Larsen
1e31416049
Merge pull request #7031 from yoff/python/taint-through-with
...
Python: Taint through `async with`
2021-11-09 14:08:07 +01:00
Alex Ford
c708b6b76f
Merge pull request #7077 from github/ruby/downgrade-hardcoded-credentials
...
Ruby: Downgrade `rb/hardcoded-credentials` precision from high to medium
2021-11-09 12:08:10 +00:00
Rasmus Lerchedahl Petersen
ac5a46f24f
Python: split test as suggested in review
2021-11-09 13:04:52 +01:00
yoff
5f4aad40c1
Update python/ql/test/experimental/meta/InlineTaintTest.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-11-09 13:00:35 +01:00
Rasmus Lerchedahl Petersen
aa1541a5c3
Python: add changenote
2021-11-09 12:57:36 +01:00
Rasmus Lerchedahl Petersen
a58c47b07b
Python: model aiopg.sa
2021-11-09 12:49:57 +01:00
Rasmus Lerchedahl Petersen
f53314019a
Python: test aiopg.sa
2021-11-09 12:42:03 +01:00
CodeQL CI
d9d304fc13
Merge pull request #7076 from asgerf/js/tainted-path-regexp-guard2
...
Approved by erik-krogh
2021-11-09 03:40:37 -08:00
Rasmus Lerchedahl Petersen
cd332a75fc
Python: model aiopg
2021-11-09 12:32:21 +01:00
Erik Krogh Kristensen
56a7c8b163
fix typo in change note
...
Co-authored-by: Asger F <asgerf@github.com >
2021-11-09 12:06:29 +01:00
Asger F
4b82840e9d
Revert "JS: Skip files with unsupported file encoding"
2021-11-09 10:57:01 +00:00
Rasmus Lerchedahl Petersen
cb8f1b4593
Python: Add tests for aiopg
2021-11-09 11:49:31 +01:00
Geoffrey White
d9e02e83fe
Merge pull request #6825 from MathiasVP/use-shared-ssa-in-ir-dataflow
...
C++: Redesign IR dataflow using the shared SSA library
2021-11-09 10:19:50 +00:00
James Fletcher
1bacce487e
Merge pull request #7056 from jf205/sarif-query-help
...
Add new option to database analyze tutorial
2021-11-09 10:19:29 +00:00
CodeQL CI
954fd8d6f7
Merge pull request #7081 from github/revert-6924-js/skip-files-with-unsupported-encoding
...
Approved by esbena
2021-11-09 02:18:16 -08:00
Erik Krogh Kristensen
8727060ca7
add comment about modes of operation
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-11-09 11:15:12 +01:00
Asger Feldthaus
87aa39cef2
JS: Limited tracking of object literals with methods
2021-11-09 11:06:41 +01:00
Asger F
0c6680b2c0
Revert "JS: Skip files with unsupported file encoding"
2021-11-09 09:07:54 +00:00
ihsinme
55fe01018f
Update InsecureTemporaryFile.ql
2021-11-09 09:33:33 +03:00
Asger Feldthaus
f14f9449ee
JS: Use getAMatchedString instead of getConstantString
2021-11-08 15:35:35 +01:00
Asger Feldthaus
b3e64f1669
JS: Add test
2021-11-08 15:32:43 +01:00
Erik Krogh Kristensen
330c2c42b5
Merge pull request #7075 from erik-krogh/cwe297
...
JS: add cwe-297 to `js/disabling-certificate-validation`
2021-11-08 14:35:58 +01:00
Erik Krogh Kristensen
5cafb86c88
Merge pull request #7074 from erik-krogh/cwe942
...
JS: add cwe-942 to `js/cors-misconfiguration-for-credentials`
2021-11-08 14:35:53 +01:00
Rasmus Lerchedahl Petersen
3f4c2ba24e
Python: Support debugging inline taint tests
...
The module `Conf` is created so that it can be imported
without importing the query predicates from the same file.
2021-11-08 14:08:11 +01:00
Anders Schack-Mulligen
1e0eb2f6e4
Merge pull request #7072 from aschackmull/java/nomagic-synchsetunsynchget
...
Java: Fix bad magic in SynchSetUnsynchGet.
2021-11-08 13:48:22 +01:00
Alex Ford
2581efc18a
ruby: downgrade rb/hardcoded-credentials precision from high to medium
2021-11-08 12:32:38 +00:00
Erik Krogh Kristensen
a2175a3207
add cwe-297 to js/disabling-certificate-validation
2021-11-08 13:26:53 +01:00
Erik Krogh Kristensen
507c8addb2
add cwe-942 to js/cors-misconfiguration-for-credentials
2021-11-08 13:12:19 +01:00
Cornelius Riemenschneider
76d2665132
Merge pull request #7071 from github/criemen/simplify-csharp-tracing-config
...
C#: Remove macos compatibility stanzas from tracing config.
2021-11-08 13:11:44 +01:00
james
96ff2f5125
use correct type of link
2021-11-08 12:06:20 +00:00
james
dfe77f844f
fix errors in debugging-data-flow-queries-using-partial-flow.rst
2021-11-08 11:59:53 +00:00
Erik Krogh Kristensen
0ab510f543
add test that requires flowToExpr
2021-11-08 12:25:45 +01:00
james
c94bfc306a
improve links
2021-11-08 11:18:41 +00:00
Erik Krogh Kristensen
3d6a5263e0
improve qhelp
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-11-08 12:02:39 +01:00
Mathias Vorreiter Pedersen
8e496f7121
C++: Pull in the latest changes to 'SsaImplCommon'.
2021-11-08 10:46:54 +00:00
Mathias Vorreiter Pedersen
fff5d293ff
Merge branch 'main' into use-shared-ssa-in-ir-dataflow
2021-11-08 10:44:36 +00:00
Anders Schack-Mulligen
92fb7f555c
Java: Fix bad magic in SynchSetUnsynchGet.
2021-11-08 11:42:20 +01:00
Cornelius Riemenschneider
03ff2c622a
Remove macos compatibility stanzas from tracing config.
2021-11-08 11:30:31 +01:00
Anders Schack-Mulligen
613e971987
Merge pull request #7039 from github/turbo-js-java-lib-modeling-ghes-3-3-p-1
...
Add updated framework support for JS/Java
2021-11-08 11:08:34 +01:00
CodeQL CI
6f80387ac1
Merge pull request #6993 from asgerf/js/tainted-path-regexp-contains-check
...
Approved by erik-krogh
2021-11-08 01:52:28 -08:00
CodeQL CI
618d135b0a
Merge pull request #7060 from RasmusWL/hashlib-new-type-tracker
...
Approved by yoff
2021-11-08 01:31:40 -08:00
Tom Hvitved
77aca0a365
Merge pull request #7041 from hvitved/csharp/consistent-ids
...
C#: Use `cs/` prefix in all query IDs
2021-11-08 09:55:11 +01:00
Anders Schack-Mulligen
85fdbda16f
Merge pull request #7002 from aschackmull/java/field-node
...
Java: Add FieldValueNode to break up cartesian step relation.
2021-11-08 09:31:42 +01:00
Mathias Vorreiter Pedersen
021d9415b8
Merge branch 'main' into use-range-analysis-in-buffer-write
2021-11-08 08:22:49 +00:00
Anders Schack-Mulligen
e0b121cd90
Merge pull request #7047 from hvitved/csharp/ssa/dominance-frontier
...
Shared SSA: Improved dominance frontier calculation
2021-11-08 08:50:46 +01:00
Chris Smowton
b639e82d79
Merge pull request #7064 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-11-05 09:27:25 +00:00
ihsinme
cedc5fd743
Update InsecureTemporaryFile.ql
2021-11-05 09:42:06 +03:00
github-actions[bot]
d7bfaec0f5
Add changed framework coverage reports
2021-11-05 00:09:28 +00:00
Mathias Vorreiter Pedersen
34aa4981be
Merge pull request #7018 from geoffw0/nullterm3
...
C++: Further performance improvement for the null termination queries
2021-11-04 21:37:58 +00:00
Mathias Vorreiter Pedersen
a9b7fed537
C++: Accept test changes.
2021-11-04 21:25:37 +00:00
Mathias Vorreiter Pedersen
ac90259906
C++: Teach 'getMaxConvertedLength' to use 'SimpleRangeAnalysis'.
2021-11-04 21:25:28 +00:00
Mathias Vorreiter Pedersen
693baae1ba
C++: Add test cases with false positives due to missing range analysis in 'cpp/overrunning-write'.
2021-11-04 21:13:28 +00:00
Ethan Palm
f1ac23eff5
Merge pull request #7040 from ethanpalm/extractor-options-docs
...
New docs for extractor options
2021-11-04 13:53:22 -07:00
Ethan P
fab3479f68
Fix numbered lists
2021-11-04 13:41:59 -07:00
Ethan P
457ece152a
Fix list formatting
2021-11-04 13:31:52 -07:00
Ethan P
5bfe0fff89
Test using dash for LIs
2021-11-04 13:20:00 -07:00
Ethan P
10e5a8b3e5
Adjust spacing
2021-11-04 13:18:37 -07:00
Ethan P
ad2b068429
fix list formatting
2021-11-04 13:05:22 -07:00
Ethan P
f3fda42b83
Fix link
2021-11-04 12:53:03 -07:00
Ethan Palm
f41c4702c3
Apply suggestions from code review
...
Co-authored-by: Sarita Iyer <66540150+saritai@users.noreply.github.com >
2021-11-04 12:41:07 -07:00
Rasmus Lerchedahl Petersen
624b794980
Python: separate taint sources in with
2021-11-04 17:06:36 +01:00
james
5ea93d6447
further imrpovements
2021-11-04 14:54:30 +00:00
Rasmus Wriedt Larsen
9e2bc41648
Python: Improve hashlib.new modeling
...
By using a backwards type-tracker to find possible hashing algorithm
names.
2021-11-04 15:36:32 +01:00
Rasmus Wriedt Larsen
9e91f3a341
Python: Highlight shortcomings of hashlib.new modeling
2021-11-04 15:29:40 +01:00
Ian Wright
95f21b5308
Merge pull request #7027 from github/z80coder/faster-callee-api-name-feature
...
more efficient implementation of calleeApiName
2021-11-04 14:23:13 +00:00
Tom Hvitved
3544c85445
Ruby: Make the target of basicStoreStep the post-update node
2021-11-04 14:21:22 +01:00
Tom Hvitved
1101b1054d
Ruby: Make target of basicStoreStep a normal data flow node
2021-11-04 14:20:07 +01:00
Tom Hvitved
a56a5e4e7d
Ruby: Add type tracker tests
2021-11-04 14:19:16 +01:00
james
7236f3b4b6
improve description of new option
2021-11-04 12:41:30 +00:00
james
af0f32fdb6
further changes for query help in sarif
2021-11-04 12:36:27 +00:00
Ian Wright
b8d7f52d3e
format code
2021-11-04 12:28:08 +00:00
Erik Krogh Kristensen
a19627c72f
optionally ignore everything after a dash
2021-11-04 13:19:44 +01:00
Erik Krogh Kristensen
99f5f70345
Merge branch 'main' into protoLib
2021-11-04 12:53:53 +01:00
Erik Krogh Kristensen
bf5e36e9d4
fix docstring
...
Co-authored-by: Asger F <asgerf@github.com >
2021-11-04 12:46:24 +01:00
Mathias Vorreiter Pedersen
58f6058a63
Merge pull request #7051 from MathiasVP/better-paths-in-tests
...
C++: Better `InlineExpectation` tests for path-explanations
2021-11-04 11:35:10 +00:00
Erik Krogh Kristensen
4ba5ae09b0
add js/sensitive-get-query query
2021-11-04 12:30:44 +01:00
Arthur Baars
061fc16730
Merge pull request #7038 from aibaars/aibaars/merge-3.3-main
...
Merge rc/3.3 into main
2021-11-04 12:23:23 +01:00
Mathias Vorreiter Pedersen
0d1ff4d2ee
C++: Respond to review comments and accept test changes.
2021-11-04 11:13:23 +00:00
Arthur Baars
27bbddf035
Merge pull request #6995 from aibaars/aibaars/pr-qhelp-check
...
Rewrite qhelp-pr-preview.yml
2021-11-04 11:51:14 +01:00
CodeQL CI
2895428d5b
Merge pull request #6714 from valeria-meli/javascript/ssrf
...
Approved by asgerf
2021-11-04 03:10:27 -07:00
james
3bfa868105
add new option to database analyze tutorial
2021-11-04 09:53:32 +00:00
CodeQL CI
5515256e53
Merge pull request #7044 from asgerf/js/proto-pollution-fps
...
Approved by erik-krogh
2021-11-04 02:45:46 -07:00
Tony Torralba
f4704f1325
Merge pull request #6397 from atorralba/atorralba/android-intent-redirect-query
...
Java: Create new Android Intent Redirection query
2021-11-04 10:42:59 +01:00
Tony Torralba
fd92c4e435
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-11-04 10:08:53 +01:00
Mathias Vorreiter Pedersen
ae4b6c54bc
C++: Change the structure of the 'annotate_path_to_sink' tests to better test path-explanations.
2021-11-03 20:32:05 +00:00
Mathias Vorreiter Pedersen
e9b114630a
Merge pull request #6948 from ihsinme/ihsinme-patch-076
...
CPP: Add query for CWE-243 Creation of chroot Jail Without Changing Working Directory
2021-11-03 18:50:13 +00:00
ihsinme
aef0275b3c
Update IncorrectChangingWorkingDirectory.expected
2021-11-03 20:45:38 +03:00
Arthur Baars
7b4460edb7
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-11-03 18:42:49 +01:00
Tom Hvitved
d00196f6be
Merge pull request #7048 from hvitved/ruby/remove-node-predicates
...
Ruby: Remove `Node::getEnclosingCallable` and `ParameterNode::isParameterOf`
2021-11-03 17:46:16 +01:00
Ethan P
0894e81ce4
add missing backtick
2021-11-03 09:21:24 -07:00
ihsinme
a9dd868348
Update IncorrectChangingWorkingDirectory.qhelp
2021-11-03 18:38:30 +03:00
ihsinme
c94b64cbca
Update IncorrectChangingWorkingDirectory.qhelp
2021-11-03 18:28:57 +03:00
Tom Hvitved
16d96d2ad3
Ruby: Remove Node::getEnclosingCallable and ParameterNode::isParameterOf
2021-11-03 15:59:29 +01:00
Arthur Baars
b9bf597044
Address comments
2021-11-03 15:15:36 +01:00
Erik Krogh Kristensen
523c15cd72
don't include mode-of-operation into the algorithm names
2021-11-03 14:54:50 +01:00
luciaromeroML
e50938588e
formatting qll file
2021-11-03 10:30:35 -03:00
Mathias Vorreiter Pedersen
4095c2012e
C++: Add comments on why 'ReferenceToInstruction' is interpreted like a 'LoadInstruction' at certain places.
2021-11-03 13:27:26 +00:00
Tom Hvitved
df6962143d
Shared SSA: Sync files
2021-11-03 14:21:50 +01:00
Tom Hvitved
5539b7ffed
Shared SSA: Improved dominance frontier calculation
2021-11-03 14:21:39 +01:00
Erik Krogh Kristensen
3638892d35
Merge pull request #6881 from erik-krogh/add-missing-noinline
...
JS: add pragma[noinline] to predicates where the qldoc mentions join-order
2021-11-03 14:21:27 +01:00
Mathias Vorreiter Pedersen
43a4795272
C++: Remove redundant conjunct.
2021-11-03 13:19:43 +00:00
Erik Krogh Kristensen
f01ee5914b
add a docstring, and rename rawString -> foldedString
2021-11-03 14:19:31 +01:00
Erik Krogh Kristensen
7b0ebd3f1a
use the context to determine whether or not a node is an operand of a binop
2021-11-03 14:09:44 +01:00
Arthur Baars
ddc9ad3187
Merge remote-tracking branch 'upstream/rc/3.3' into main
2021-11-03 14:01:51 +01:00
Arthur Baars
1327d7c8d5
Merge pull request #7043 from aibaars/fix-ql-tests-3.3
...
Ruby: Fix QL tests and Rust compilation error
2021-11-03 13:59:29 +01:00
Asger Feldthaus
712614a03c
JS: Block prototype pollution flow into this
2021-11-03 13:33:50 +01:00
Erik Krogh Kristensen
737c747dbb
early exit if string becomes too big
2021-11-03 13:28:03 +01:00
Erik Krogh Kristensen
1ba6f448cd
compute concatenated string and offset at the same time
2021-11-03 13:26:19 +01:00
Erik Krogh Kristensen
be46c1f679
remove unused import
2021-11-03 13:25:09 +01:00
Asger Feldthaus
08bc80ffdb
JS: Block prototype pollution assignment flows through .replace()
2021-11-03 13:24:29 +01:00
Mathias Vorreiter Pedersen
1f89b4987b
C++: Rename 'valueFlow' to 'conversionFlow' and add a QLDoc that explains its purpose.
2021-11-03 12:22:27 +00:00
Asger Feldthaus
76e841830f
JS: Check for labeled barriers in reachableFromInput
2021-11-03 13:10:20 +01:00
Erik Krogh Kristensen
9cf34f19bb
Merge branch 'main' into extractBigReg
2021-11-03 13:08:51 +01:00
Erik Krogh Kristensen
264f4ab5ab
add js/session-fixation query
2021-11-03 13:04:41 +01:00
Arthur Baars
aab8c64973
Ruby: fix compilation error
2021-11-03 12:32:45 +01:00
Arthur Baars
2c5d5ecdd8
Ruby: QLTest: fix pack search path for upgrades
2021-11-03 12:14:58 +01:00
Arthur Baars
32765e9bc1
Ruby: trigger jobs on workflow change
2021-11-03 12:14:58 +01:00
Mathias Vorreiter Pedersen
dfbfbe4953
Merge branch 'main' into use-shared-ssa-in-ir-dataflow
2021-11-03 10:39:22 +00:00
Mathias Vorreiter Pedersen
ad5619ff07
Revert "C++: Don't count write operations as uses."
...
This reverts commit 092beb8b73 .
2021-11-03 10:37:32 +00:00
Tom Hvitved
ab37ae6613
Merge pull request #7036 from hvitved/ruby/truncate-get-value-text
...
Ruby: Truncate concatenated strings in `getValueText`
2021-11-03 10:57:43 +01:00
Rasmus Lerchedahl Petersen
05aa314ac9
Python: Add tests for non-async constructs
2021-11-03 10:54:36 +01:00
ihsinme
c175f0aa9d
Update IncorrectChangingWorkingDirectory.ql
2021-11-03 12:25:30 +03:00
Tom Hvitved
51f4f57617
C#: Use cs/ prefix in all query IDs
2021-11-03 10:25:21 +01:00
Anders Schack-Mulligen
e6145f04d2
Merge pull request #6966 from atorralba/atorralba/android-explicit-intent-sanitizer
...
Android: Add ExplicitIntentSanitizer and allowIntentExtrasImplicitRead
2021-11-03 10:20:09 +01:00
Erik Krogh Kristensen
ab4780c505
Merge pull request #7032 from erik-krogh/cwe497
...
JS: add CWE-497 to js/stack-trace-exposure
2021-11-03 08:55:49 +01:00
Ethan P
b9eb278380
Add new file to index
2021-11-02 21:55:25 -07:00
Ethan P
98eb848e22
add link to new article
2021-11-02 21:35:39 -07:00
Ethan P
06cacfdd83
Create extractor-options.rst
2021-11-02 21:21:31 -07:00
Pierre
cf5b317eb1
Add updated framework support for JS/Java
...
Release: https://github.com/github/releases/issues/1724
2021-11-02 22:02:05 +01:00
Mathias Vorreiter Pedersen
4a2894a707
Merge pull request #7025 from MathiasVP/nomagic-parameterCand
...
Dataflow: Replace a 'noinline' pragma with a 'nomagic' pragma
2021-11-02 20:40:44 +00:00
Arthur Baars
eb645ba963
Merge remote-tracking branch 'origin/rc/3.3' into 'main'
2021-11-02 21:10:41 +01:00
Tom Hvitved
8b287a7846
Ruby: Truncate concatenated strings in getValueText
2021-11-02 18:19:49 +01:00
Erik Krogh Kristensen
9d99ce12c4
add CWE-497 to js/stack-trace-exposure
2021-11-02 15:43:55 +01:00
Rasmus Wriedt Larsen
8cd9fdebf9
Python: Model flask_admin
2021-11-02 15:43:13 +01:00
Rasmus Wriedt Larsen
ab88d945e2
Python: Add flask_admin tests
2021-11-02 15:41:57 +01:00
Rasmus Wriedt Larsen
c2632cff3d
Python: Add RequestHandler meta query
2021-11-02 15:41:57 +01:00
Rasmus Lerchedahl Petersen
768932d7b3
Python: Add tainttracking step that was removed
...
when the correpsonding datadlow step was removed.
2021-11-02 15:01:47 +01:00
Rasmus Lerchedahl Petersen
07d5086b07
Python: support user defined taint source
2021-11-02 15:00:23 +01:00
Dave Bartolomeo
d828ab7fd2
Merge pull request #6955 from github/codeql-ruby-3.3
...
RC 3.3: merge codeql-ruby repository into github/codeql
2021-11-02 09:57:49 -04:00
Erik Krogh Kristensen
5975e19f53
sync identical files
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
2a8807efe4
add change note
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
076a3dca1f
add qhelp
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
d9a214767b
add support for node-rsa
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
49ea53f32b
move ExpressJwt that was inside the Hasha module
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
2c013214f7
add Diffie-Hellman from the crypto library
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
1df8ec2cae
add insufficient key size model for node-forge
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
62039b866c
add cryptographic key model to the crypto-js library
2021-11-02 14:45:33 +01:00
Erik Krogh Kristensen
028799deb6
implement a simple InsufficientKeySize query
2021-11-02 14:45:30 +01:00
Erik Krogh Kristensen
7a9315f146
use set literal
2021-11-02 14:45:14 +01:00
yoff
97625d7c2c
Merge pull request #7023 from RasmusWL/toml
...
Python: Add modeling of `toml`
2021-11-02 14:42:06 +01:00
Rasmus Wriedt Larsen
cb6bcada4c
Merge branch 'main' into django-rest-framework
2021-11-02 14:33:16 +01:00
ihsinme
62b3c3c9a0
Update IncorrectChangingWorkingDirectory.ql
2021-11-02 16:16:17 +03:00
yoff
0240631510
Merge pull request #6782 from RasmusWL/fastapi
...
Python: Model FastAPI
2021-11-02 14:16:12 +01:00
ihsinme
738354b8e7
Update cpp/ql/src/experimental/Security/CWE/CWE-243/IncorrectChangingWorkingDirectory.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-11-02 16:13:34 +03:00
Asger Feldthaus
971f032b5f
JS: Autoformat
2021-11-02 14:12:05 +01:00
Asger Feldthaus
46bd3e58a3
JS: Switch to instanceof base type
2021-11-02 14:12:05 +01:00
Asger Feldthaus
5f4c1dd19b
JS: Support regexp-based path traversal check
2021-11-02 14:12:05 +01:00
Asger Feldthaus
83edcf515b
JS: Add test for regexp-based sanitizer
2021-11-02 14:12:04 +01:00
Mathias Vorreiter Pedersen
3e6ac74d73
C++: Add 'InheritanceConversionInstruction' to the list of instructions that set 'certain = false' in 'explicitWrite'.
2021-11-02 13:02:46 +00:00
Mathias Vorreiter Pedersen
56cabb8f46
C++: Add comments to some of the disjuncts in 'addressFlow'.
2021-11-02 12:52:11 +00:00
Rasmus Wriedt Larsen
c52e453342
Python: Minor rewrite
2021-11-02 13:37:50 +01:00
Erik Krogh Kristensen
54fba2d6a1
Merge pull request #6781 from erik-krogh/ldap
...
JS: Move LDAP injection out of experimental
2021-11-02 13:35:32 +01:00
Anders Schack-Mulligen
7d0152f3c0
Merge pull request #6932 from aschackmull/dataflow/flow-features
...
Dataflow: Add support for call context restrictions on sources/sinks.
2021-11-02 13:24:17 +01:00
Ian Wright
6fa9413f8b
more efficient implementation of calleeApiName
2021-11-02 12:05:33 +00:00
Nick Rolfe
6dd5dad4a9
Merge pull request #7026 from github/nickrolfe/rb-prefix
...
Ruby: use the `rb/` prefix in all query ids
2021-11-02 12:04:50 +00:00
Arthur Baars
18a47227b3
Remove redundant permissions block
2021-11-02 13:04:45 +01:00
Erik Krogh Kristensen
f7f315adbb
Merge pull request #7022 from erik-krogh/cwe319
...
JS: add cwe-319 to js/clear-text-cookie
2021-11-02 12:47:53 +01:00
Erik Krogh Kristensen
7a96b8e9e1
Merge branch 'main' into ldap
2021-11-02 12:47:28 +01:00
Nick Rolfe
898f5ec596
Ruby: use the rb/ prefix in all query ids
2021-11-02 11:42:02 +00:00
Mathias Vorreiter Pedersen
6f4107ff23
Dataflow: Replace a 'noinline' pragma with a 'nomagic' pragma.
2021-11-02 11:37:40 +00:00
Arthur Baars
53b03152f3
Use 'gh' command to download artifacts
2021-11-02 12:01:14 +01:00
Arthur Baars
501ff12abb
Use NUL character as separator
2021-11-02 12:01:13 +01:00
Arthur Baars
d1852af7b6
Add error messages
2021-11-02 12:00:11 +01:00
Mathias Vorreiter Pedersen
092beb8b73
C++: Don't count write operations as uses.
2021-11-02 10:59:34 +00:00
Rasmus Wriedt Larsen
8ee804a8c2
Python: Add toml modeling
2021-11-02 11:57:15 +01:00
Rasmus Wriedt Larsen
14bc297946
Python: Add toml encode/decode test
2021-11-02 11:57:06 +01:00
Geoffrey White
c1de4165a9
Update cpp/ql/lib/semmle/code/cpp/commons/NullTermination.qll
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-11-02 10:51:35 +00:00
Tom Hvitved
302373d154
Merge pull request #6858 from hvitved/python/type-tracker-changes
...
Python: Type tracker changes
2021-11-02 11:47:01 +01:00
CodeQL CI
d5e2026a26
Merge pull request #6934 from erik-krogh/more-instanceof
...
Approved by MathiasVP, esbena, yoff
2021-11-02 03:46:23 -07:00
CodeQL CI
5d62aa5b29
Merge pull request #6994 from erik-krogh/redundant-cast
...
Approved by RasmusWL, aschackmull, esbena, geoffw0, hvitved, nickrolfe
2021-11-02 03:45:48 -07:00
Tom Hvitved
fe80c4a17b
Ruby: Sync files
2021-11-02 11:16:46 +01:00
Tom Hvitved
1e64893742
Update python/ql/lib/semmle/python/dataflow/new/internal/TypeTracker.qll
...
Co-authored-by: Taus <tausbn@github.com >
2021-11-02 11:16:32 +01:00
Tom Hvitved
660398aa78
Python: Introduce TypeBackTracker::getACompatibleTypeTracker()
2021-11-02 11:16:32 +01:00
Tom Hvitved
73fd66cfed
Python: Cache TypeBackTracker::prepend
2021-11-02 11:16:32 +01:00
Erik Krogh Kristensen
41e7dea943
add cwe-319 "Cleartext Transmission of Sensitive Information" to js/clear-text-cookie
2021-11-02 11:11:38 +01:00
Rasmus Wriedt Larsen
83389be8e2
Python: Add some missing QLDocs
2021-11-02 11:02:51 +01:00
Rasmus Wriedt Larsen
5c2734c643
Python: Fix experimental Django.qll
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
fd12b144bc
Python: Add change-note
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
a7e4e5ef83
Python: Add rest_framework Response modeling
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
13815fe728
Python: Model known APIView subclasses
...
Added internal helper `.qll` file as well
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
62d30630aa
Python: Add rest_framework Request taint modeling
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
5d77e62f3a
Python: Add basic rest_framework Request modeling
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
57e13c6066
Python: rest_framework.decorators.api_view handling
...
Had to expose even more things, and had to make the `DjangoRouteHandler`
modeling more flexible so I could extend the char-pred in a different
file.
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
222db37c0d
Python: Add initial rest_framework modeling
...
I had to make the Django and PrivateDjango modeling non-private :O
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
a64e939d71
Python: Add note about .method
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
75e2555a8a
Python: Add rest_framework taint tests
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
095f896f95
Python: Add examples of class/function based views
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
9bbf08ddcf
Python: Add simple Django REST framework code
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
9d843153d4
Python: Set up test for Django REST framework
...
this is just pure Django project for now, (and very much a copy of the
one in `django-v2-v3`), to make it easier to see the changes needed to
set up Django REST framework.
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
f1307b772a
Python: Add RequestHandler meta query
2021-11-02 10:55:44 +01:00
Rasmus Wriedt Larsen
b7b9120724
Python: Better handling of Pydantic models
2021-11-02 10:29:17 +01:00
Rasmus Wriedt Larsen
c207580ed9
Python: Add extra FastAPI taint tests
2021-11-02 10:20:09 +01:00
Mathias Vorreiter Pedersen
e2cb53c65f
Merge pull request #7014 from jbj/isFromSystemMacroDefinition
...
C++: Add `isFromSystemMacroDefinition` predicate
2021-11-02 09:14:59 +00:00
Rasmus Wriedt Larsen
17da28118a
Python: Small refactor to use extends .. instanceof
2021-11-02 10:06:11 +01:00
Anders Schack-Mulligen
42a046edc6
Merge pull request #7004 from Marcono1234/marcono1234/deprecate-StringLiteral-getRepresentedString
...
Java: Deprecate `StringLiteral.getRepresentedString()`
2021-11-02 09:57:52 +01:00
Tamás Vajk
18b08060ae
Merge pull request #5110 from porcupineyhairs/ssrfCsharp
...
C# : Add query to detect SSRF
2021-11-02 09:50:28 +01:00
ihsinme
9b8b916199
Update IncorrectChangingWorkingDirectory.ql
2021-11-02 11:33:29 +03:00
Tony Torralba
5d7b09ac67
Merge pull request #7020 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-11-02 08:33:36 +01:00
github-actions[bot]
093be44258
Add changed framework coverage reports
2021-11-02 00:09:00 +00:00
Geoffrey White
dec7f93097
C++: Eliminate mutual recursion.
2021-11-01 17:32:38 +00:00
Geoffrey White
d6a714cf69
C++: Improve comments.
2021-11-01 17:32:37 +00:00
Marcono1234
668928045e
Merge branch 'main' into marcono1234/deprecate-StringLiteral-getRepresentedString
2021-11-01 16:32:57 +01:00
Anders Schack-Mulligen
e88bbfdd67
Merge pull request #7008 from JLLeitschuh/feat/JLL/java_optional_lambda_support
...
Java: Model java.util.Optional lambda methods
2021-11-01 13:49:21 +01:00
Anders Schack-Mulligen
64acd0288e
Merge pull request #6614 from Marcono1234/marcono1234/char-literal-codepoint
...
Java: Add `CharacterLiteral.getCodePointValue()`
2021-11-01 13:06:00 +01:00
Nick Rolfe
da5d10fd6b
Merge pull request #7012 from MalikIdreesHasanKhan/main
...
Fixed a typo. ( Minor PR)
2021-11-01 11:30:13 +00:00
Chris Smowton
b59f6665a2
Fix punctuation
2021-11-01 11:02:58 +00:00
Chris Smowton
9ff426cf23
Sort Optional models
2021-11-01 10:59:03 +00:00
CodeQL CI
dde493259a
Merge pull request #7003 from asgerf/js/mixed-this-fp
...
Approved by erik-krogh
2021-11-01 09:13:21 +00:00
Anders Schack-Mulligen
301a907596
Update java/ql/lib/semmle/code/java/Expr.qll
2021-11-01 09:36:09 +01:00
Jonas Jensen
93dfee866a
C++: Add isFromSystemMacroDefinition predicate
2021-11-01 09:17:49 +01:00
MalikIdreesHasa
e44e982065
Fixed a typo.
2021-10-31 15:11:39 +00:00
ihsinme
3161d112d1
Update IncorrectChangingWorkingDirectory.ql
2021-10-30 13:47:22 +03:00
Mathias Vorreiter Pedersen
d34e731f1d
C++: Add a small QLDoc novel above the IPA type for 'TIRDataFlowNode'.
2021-10-30 11:29:07 +01:00
Mathias Vorreiter Pedersen
d624259eab
C++: Add QLDoc to 'flowOutOfAddressStep'.
2021-10-30 10:46:39 +01:00
Mathias Vorreiter Pedersen
a75f195df3
C++: Several readability fixes:
...
1. Added lots of QLDoc explanation about the role of StoreNodeOperand.
2. Renamed '{StoreNode,ReadNode}.getAPredecessor' to 'getInner' and
'{StoreNode,ReadNode}.getASuccessor' to 'getOuter'.
3. Be more explicit about which type of 'StoreNode' is used in various
places.
2021-10-30 10:24:06 +01:00
Mathias Vorreiter Pedersen
f334201fce
Update cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-10-30 10:04:17 +01:00
Mathias Vorreiter Pedersen
cb4f10c609
C++: Move the union field check to the IPA branch of 'TFieldContent'.
2021-10-30 10:04:17 +01:00
Jonathan Leitschuh
c2a2a3a676
Java: Model java.util.Optional lambda methods
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-29 13:23:47 -04:00
Arthur Baars
9604cd5595
Revert "Don't use local actions"
...
This reverts commit b128c7ca00 .
2021-10-29 18:22:45 +02:00
Arthur Baars
a0903c377d
Use pull_request + workflow_run instead of pull_request_target
2021-10-29 18:18:06 +02:00
Marcono1234
b284e727a9
Java: Add change note for StringLiteral.getRepresentedString() deprecation
2021-10-29 15:21:55 +02:00
Mathias Vorreiter Pedersen
8a569da370
C++: Fix comments.
2021-10-29 14:05:34 +01:00
Marcono1234
fe5115169f
Java: Describe CharacterLiteral.getValue() behavior for surrogates
2021-10-29 14:56:07 +02:00
Marcono1234
e1516b4e9d
Java: Describe StringLiteral.getValue() behavior for unpaired surrogates
2021-10-29 14:53:13 +02:00
Marcono1234
bfb9577d15
Java: Deprecate StringLiteral.getRepresentedString()
2021-10-29 14:50:15 +02:00
Erik Krogh Kristensen
f676fc00d3
revert a change in an identical file
2021-10-29 14:42:38 +02:00
Erik Krogh Kristensen
0897b004eb
revert removal of redundant inline casts in some python files
2021-10-29 14:40:27 +02:00
Erik Krogh Kristensen
d36c66cfca
remove redundant inline casts in arguments where the type is inferred by the call target
2021-10-29 14:37:56 +02:00
Marcono1234
4f59886a65
Java: Simplify CompileTimeConstantExpr.getIntValue()
...
The changed code previously also only covered IntegerLiteral:
- Restricted to Literal
- Integral type
- != "long"
- != "char"
So the only class left which matches all of these is IntegerLiteral.
2021-10-29 14:30:51 +02:00
Marcono1234
9730021641
Java: Add CharacterLiteral.getCodePointValue()
2021-10-29 14:30:50 +02:00
Anders Schack-Mulligen
35b6cbe549
Java: Fix compilation error.
2021-10-29 14:26:36 +02:00
Anders Schack-Mulligen
e51a10a816
Java: Fix tests.
2021-10-29 14:25:43 +02:00
Asger Feldthaus
d52b2bd863
JS: Fix FP in ˚MixedStaticInstanceThisAccess
2021-10-29 14:16:54 +02:00
Asger Feldthaus
afa6424d67
JS: Add test with FP
2021-10-29 14:16:54 +02:00
yoff
1c78c792ff
Merge pull request #6991 from RasmusWL/flask-blueprints
...
Python: Support `flask.blueprints.Blueprint`
2021-10-29 14:06:43 +02:00
Rasmus Wriedt Larsen
7e7c363e43
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-10-29 13:59:36 +02:00
Rasmus Wriedt Larsen
85f00fda19
Merge pull request #6776 from yoff/python/model-asyncpg
...
Python: Model `asyncpg`
2021-10-29 13:54:44 +02:00
Anders Schack-Mulligen
abf508eeeb
Java: Add FieldValueNode to break up cartesian step relation.
2021-10-29 13:45:56 +02:00
Anders Schack-Mulligen
3a1836c9f6
Merge pull request #7000 from aschackmull/dataflow/interface-refactor
...
Dataflow: Refactor public references to DataFlowCallable
2021-10-29 12:21:13 +02:00
Max Schaefer
bc91f664ac
JavaScript: Teach API graphs to handle some forms of property copying.
...
In particular, copied promises are now handled better.
2021-10-29 11:19:54 +01:00
Edoardo Pirovano
513e0bbea9
Merge pull request #6965 from edoardopirovano/fix-lgtm-version
...
Fix LGTM version number in language reference
2021-10-29 10:50:53 +01:00
Anders Schack-Mulligen
bfacd23573
Dataflow: Adjust documentation.
2021-10-29 11:20:19 +02:00
Anders Schack-Mulligen
5951ae79b9
Dataflow: Add language specific predicates.
2021-10-29 11:11:35 +02:00
Anders Schack-Mulligen
00df6798b1
Dataflow: Sync
2021-10-29 11:00:23 +02:00
Anders Schack-Mulligen
2b4e3a7d9b
Dataflow: Refactor the getEnclosingCallable and ParameterNode interface.
2021-10-29 10:59:36 +02:00
Erik Krogh Kristensen
6fffdf6101
Merge pull request #6855 from erik-krogh/secCookie
...
JS: Move cookie queries out of experimental.
2021-10-29 10:23:48 +02:00
Mathias Vorreiter Pedersen
e94b2b6113
Merge pull request #6915 from geoffw0/nullterm2
...
C++: Fix the two null termination queries and re-enable them.
2021-10-29 08:20:08 +01:00
ihsinme
635a668670
Update IncorrectChangingWorkingDirectory.ql
2021-10-29 10:08:41 +03:00
ihsinme
c8a4a8b965
Update InsecureTemporaryFile.ql
2021-10-29 09:44:43 +03:00
Ethan P
5f73fb21b8
Add new article to ref page
2021-10-28 10:55:44 -07:00
Rasmus Lerchedahl Petersen
0f2f68bcbb
Python: rename file
2021-10-28 19:14:02 +02:00
yoff
8f9741ae72
Update python/ql/lib/semmle/python/internal/Awaited.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-10-28 19:13:08 +02:00
Mathias Vorreiter Pedersen
490156d7db
C++: Remove the 'isIndirection' predicate on 'SourceVariable' and move the rootdef of 'getIRVariable' into the two subclasses.
2021-10-28 17:26:28 +01:00
Erik Krogh Kristensen
cfc5629435
apply all doc fixes
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-28 18:19:37 +02:00
Mathias Vorreiter Pedersen
05900cda87
C++: Rename 'Ssa' to 'SsaInternals' and move definitions from 'SSaImplSpecific' to 'SsaInternals'. Now we can avoid cyclic imports.
2021-10-28 17:10:48 +01:00
Erik Krogh Kristensen
15c90adec5
remove redundant cast where the type is enforced by an equality comparison
2021-10-28 18:08:20 +02:00
hubwriter
2096c0aab1
Merge pull request #6856 from github/hubwriter/typo-fix
...
Docs: Fix one-word typo
2021-10-28 17:05:17 +01:00
jorgectf
47b14f1adc
Polish Concepts.qll qldocs
2021-10-28 17:55:34 +02:00
jorgectf
b3ec82cd36
Merge branch 'jorgectf/python/jwt-queries' of https://github.com/jorgectf/codeql into jorgectf/python/jwt-queries
2021-10-28 17:40:33 +02:00
jorgectf
a6c285ad32
Apply getItem(_) and extend verifiesSignature readability
2021-10-28 17:40:27 +02:00
Jorge
f4d63cc5e7
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-10-28 17:34:11 +02:00
jorgectf
ef4a27ff8c
Apply code review suggestions
2021-10-28 17:31:52 +02:00
Erik Krogh Kristensen
e75448ebb0
remove redundant inline casts
2021-10-28 16:35:53 +02:00
Ian Lynagh
d425b3782e
Merge pull request #6992 from igfoo/igfoo/patterns
...
Java: instanceof pattern matching is no longer a preview feature
2021-10-28 15:05:53 +01:00
Erik Krogh Kristensen
c34b089bc5
autoformat
2021-10-28 16:02:36 +02:00
Mathias Vorreiter Pedersen
675e284c0e
C++: A 'LoadInstruction' in a store chain always sets 'certain = false'.
2021-10-28 14:52:57 +01:00
Ian Lynagh
246a515175
Java: instanceof pattern matching is no longer a preview feature
2021-10-28 14:19:30 +01:00
Mathias Vorreiter Pedersen
ee2541c3bc
C++: Fix QLDoc on 'getDestinationAddress'.
2021-10-28 14:12:22 +01:00
Mathias Vorreiter Pedersen
cde80ccf83
Replace 'hasLocationInfo' with 'getLocation'.
2021-10-28 14:09:26 +01:00
Mathias Vorreiter Pedersen
387c96d1e2
Rename 'SourceVariable.getVariable' to 'SourceVariable.getIRVariable' and replace 'Def.getVariable' to 'Def.getSourceVariable'.
2021-10-28 14:00:50 +01:00
Rasmus Lerchedahl Petersen
8c72cc0cdd
Python: update change note
2021-10-28 14:53:46 +02:00
Erik Krogh Kristensen
4f6e5c903b
filter out writes to number indexes
2021-10-28 14:27:07 +02:00
yoff
beb0902db5
Merge pull request #6989 from RasmusWL/flask-file-sending-fixup
...
Python: Small fixup for `flask.send_from_directory`
2021-10-28 14:24:29 +02:00
Rasmus Lerchedahl Petersen
c92249525b
Python: update test expectations
2021-10-28 14:03:09 +02:00
Rasmus Wriedt Larsen
a33a8fd518
Python: Support flask.blueprints.Blueprint
...
Thanks to @haby0 who originally proposed this as part of
https://github.com/github/codeql/pull/6977
2021-10-28 14:02:03 +02:00
Nick Rolfe
f3977ea3d7
Merge pull request #6987 from github/nickrolfe/cleanup-ruby-docs
...
Ruby: clean up docs
2021-10-28 13:00:02 +01:00
Rasmus Lerchedahl Petersen
3abe3e43d0
Python: autoformat
2021-10-28 13:58:01 +02:00
Rasmus Wriedt Larsen
0acf6aaec8
Python: Add change-note
2021-10-28 13:45:34 +02:00
Rasmus Wriedt Larsen
8c3349f40f
Python: Properly model flask.send_from_directory
...
To not include `filename` as path-injection sink.
2021-10-28 13:41:39 +02:00
Mathias Vorreiter Pedersen
12e0185b0d
C++: Sync identical files.
2021-10-28 12:36:36 +01:00
Mathias Vorreiter Pedersen
7197216185
Add a copy of SsaImplCommon to the identical-files script.
2021-10-28 12:36:36 +01:00
Mathias Vorreiter Pedersen
fc3ff41d65
Merge branch 'main' into use-shared-ssa-in-ir-dataflow
2021-10-28 12:36:36 +01:00
Mathias Vorreiter Pedersen
2cd23e5ee0
Accept test changes.
2021-10-28 12:36:36 +01:00
Mathias Vorreiter Pedersen
8135dcefdd
Merge branch 'main' into use-shared-ssa-in-ir-dataflow
2021-10-28 12:36:25 +01:00
Rasmus Wriedt Larsen
228e9e973a
Python: Minor flask refactor
2021-10-28 13:36:03 +02:00
Mathias Vorreiter Pedersen
521d863429
C++: Autoformat.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
2547a8d746
C++: Fix join orders in 'DataFlowDispatch.qll' and Ssa.qll.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
21a1ee7758
C++: Add annoying case in SSA.qll related to 'NewExpr' and accept test changes.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
3efe60fdd2
C++: Accept test changes.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
5dbaea8b52
C++: Add a special dataflow step from InitializeIndirection instructions.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
b1ea00fa85
C++: Remove the taintflow edges that gives performance problems.
2021-10-28 12:35:01 +01:00
Mathias Vorreiter Pedersen
710d0cfc3d
C++: Since we now no longer have flow from exact memory operands to LoadInstructions, we no longer have flow from PhiInstructions to LoadInstructions. We could allow flow in this particular case, but we might as well use the shared SSA library's phi edges.
2021-10-28 12:35:00 +01:00
Mathias Vorreiter Pedersen
8caff41138
C++: Throw away most of the usage of IR-computed def-use information. Instead, we rely on the shared SSA library's use-use edges.
2021-10-28 12:35:00 +01:00
Mathias Vorreiter Pedersen
3a488574e5
C++: Rewrite the PartialDefinitionNode classes to match the new StoreNodes.
2021-10-28 12:35:00 +01:00
Mathias Vorreiter Pedersen
8bef79502f
C++: Similarly to the previous commit, we throw away the old memory-edges based way of doing read steps. Instead, we use the shared SSA library to transfer flow into a new ReadNode IPA branch, perform the necessary read steps, and then use the shared SSA library to transfer flow out of the ReadNode again.
2021-10-28 12:35:00 +01:00
Mathias Vorreiter Pedersen
5ebefe2d30
C++: Throw away the old way of doing store steps using memory edges. Instead, we introduce a StoreNode IPA branch that does store steps and instead use the shared SSA library to transfer flow into these nodes before a store step, and out of them following a sequence of store steps.
2021-10-28 12:35:00 +01:00
Rasmus Wriedt Larsen
6648a695eb
Python: Add flask specific path-injection test
2021-10-28 13:34:18 +02:00
Rasmus Lerchedahl Petersen
b3ba75a00f
Python: Fix tests by managing local sources
...
`API::Node::getAwaited` is restriced to local sources
2021-10-28 13:22:59 +02:00
jorgectf
3dec222922
Merge remote-tracking branch 'origin/main' into jorgectf/python/jwt-queries
2021-10-28 13:11:46 +02:00
jorgectf
7069f45864
Polish documentation
2021-10-28 13:09:28 +02:00
Nick Rolfe
2059896882
Ruby: clean up docs
2021-10-28 12:04:48 +01:00
Rasmus Wriedt Larsen
436152a46d
Python: Refactor flask file sending tests
2021-10-28 12:37:07 +02:00
Geoffrey White
e8895686f8
Merge pull request #6980 from geoffw0/unusedqhelp
...
C++: Remove old and unused qhelp files
2021-10-28 10:55:31 +01:00
Mathias Vorreiter Pedersen
1842fed7a2
C++: Add shared SSA library and instantiate it with the IR.
2021-10-28 10:52:09 +01:00
Mathias Vorreiter Pedersen
13ce2569d7
C++/C#: Sync identical IR files·
2021-10-28 10:52:00 +01:00
Mathias Vorreiter Pedersen
bccd4e9e93
C++: Add 'getReturnAddress' and 'getReturnAddressOperand' predicates to 'ReturnValueInstruction'.
2021-10-28 10:51:49 +01:00
Rasmus Wriedt Larsen
6d09334cba
Merge pull request #6330 from porcupineyhairs/pyPathTraversal
...
Python : Add Flask sinks for path injection query
2021-10-28 11:39:40 +02:00
Rasmus Wriedt Larsen
3fa66519f5
Merge branch 'main' into fastapi
2021-10-28 11:37:40 +02:00
Rasmus Wriedt Larsen
d9e5d179d2
Python: Minor fix to QLDoc
...
and auto-formatting
2021-10-28 11:15:34 +02:00
Rasmus Wriedt Larsen
358663ffbb
Python: Fix tests
2021-10-28 11:14:41 +02:00
Erik Krogh Kristensen
12305aae42
extract regexp literals from string concatenations
2021-10-28 10:44:33 +02:00
yoff
9478faf040
Merge pull request #6967 from RasmusWL/ruamel.yaml
...
Python: Model `ruamel.yaml` PyPI package
2021-10-28 10:19:08 +02:00
Arthur Baars
3fb0139430
Protect against flag injection
2021-10-28 09:58:10 +02:00
ihsinme
2574aa8980
Update InsecureTemporaryFile.ql
2021-10-28 10:51:48 +03:00
Rasmus Lerchedahl Petersen
56dab252c9
Python: remove spurious dataflow step
2021-10-28 09:47:04 +02:00
Rasmus Lerchedahl Petersen
cca675a161
Python: Add test for async taint
...
(which we belive we have just broken)
2021-10-28 09:47:04 +02:00
ihsinme
432fc74455
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-10-28 10:37:01 +03:00
ihsinme
235a3ec232
Update InsecureTemporaryFile.qhelp
2021-10-28 10:34:42 +03:00
ihsinme
0addb2d1ea
Update IncorrectChangingWorkingDirectory.ql
2021-10-28 10:17:48 +03:00
ihsinme
c3b1d7e5c8
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-10-28 10:17:13 +03:00
Tony Torralba
cee80f766f
Merge pull request #6983 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-28 08:19:34 +02:00
github-actions[bot]
adfc725225
Add changed framework coverage reports
2021-10-28 00:08:41 +00:00
Porcuiney Hairs
4fd3f212f8
Python : Add Flask sinks for path injection query
2021-10-28 02:12:11 +05:30
Nick Rolfe
0d161bec7a
Merge pull request #6982 from github/nickrolfe/also-revert-cargo-lock
...
Ruby: also revert Cargo.lock
2021-10-27 20:33:07 +01:00
Erik Krogh Kristensen
96b6f670d9
filter away paths that start with libary inputs and end with a fixed-property write
2021-10-27 21:01:11 +02:00
Erik Krogh Kristensen
78371894f4
update import after rebasing on main
2021-10-27 20:47:06 +02:00
Erik Krogh Kristensen
a9a9e34265
recognize delete expresssions as a sink for js/prototype-polluting-assignment
2021-10-27 20:37:42 +02:00
Erik Krogh Kristensen
1243c736dd
use ConcatenationNode::isCoercion
2021-10-27 20:37:42 +02:00
Erik Krogh Kristensen
2dedfb302a
remove paths without unmatched returns from js/prototype-polluting-assignment
2021-10-27 20:37:42 +02:00
Erik Krogh Kristensen
0c9c9bbde7
detect library input when the arguments object is converted to an array
2021-10-27 20:37:41 +02:00
Erik Krogh Kristensen
fa9e9dd847
split out predicates in ClassifyFiles to avoid unnecessary computations
2021-10-27 20:35:38 +02:00
Erik Krogh Kristensen
3d124cf95e
add change-note
2021-10-27 20:35:38 +02:00
Erik Krogh Kristensen
d1238dfd8b
update alert message to distinguish between library input and remote flow
2021-10-27 20:35:38 +02:00
Erik Krogh Kristensen
6e183af383
ignore test files for the `prototypeLessObject' predicate
2021-10-27 20:35:37 +02:00
Erik Krogh Kristensen
e94b0f5913
recognize inclusion based sanitizers for js/prototype-polluting-assignment
2021-10-27 20:35:37 +02:00
Erik Krogh Kristensen
2a808b2cd6
track taint through string coercions for js/prototype-polluting-assignment
2021-10-27 20:35:37 +02:00
Erik Krogh Kristensen
2d65aa17db
recognize exported functions that use the arguments object
2021-10-27 20:35:37 +02:00
Erik Krogh Kristensen
78774233c7
add library input as source to js/prototype-polluting-assignment
2021-10-27 20:35:36 +02:00
Erik Krogh Kristensen
0372ccce02
simplify regexp
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-10-27 20:04:24 +02:00
Erik Krogh Kristensen
af64b319ee
update documentation strings
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-10-27 19:54:52 +02:00
Nick Rolfe
f557df6c4e
Revert "Ruby: update Cargo.lock"
...
This reverts commit 0a89028663 .
2021-10-27 18:38:22 +01:00
Nick Rolfe
f1229ff071
Revert "Ruby: update Cargo.lock"
...
This reverts commit 7a5e8f1756 .
2021-10-27 18:38:08 +01:00
Arthur Baars
5e2cab4fb1
Split workflow into separate jobs
2021-10-27 19:06:22 +02:00
Erik Krogh Kristensen
71cca6d644
Merge branch 'main' into ldap
2021-10-27 19:06:06 +02:00
Erik Krogh Kristensen
2e912ee28e
rename LDAP to Ldap
2021-10-27 19:05:56 +02:00
Erik Krogh Kristensen
c1ab49fe8a
rename LDapFilterStep to TaintPreservingLDapFilterStep
2021-10-27 19:05:00 +02:00
jorgectf
350cbb4c5d
Polish qhelp and libraries
2021-10-27 18:47:19 +02:00
Geoffrey White
e0e18c6587
C++: Drop the precision tags again, for now.
2021-10-27 17:24:46 +01:00
Shati Patel
c9b50f3c2f
Merge pull request #6981 from github/aibaars/ruby-lgtm-links
...
Ruby: update lgtm.com query console links
2021-10-27 17:18:08 +01:00
Arthur Baars
f496336a0d
Ruby: update lgtm.com query console links
2021-10-27 18:08:11 +02:00
Nick Rolfe
06303b103f
Merge pull request #6979 from github/nickrolfe/revert-crate-updates
...
Ruby: revert crate updates
2021-10-27 16:53:19 +01:00
Nick Rolfe
7a5e8f1756
Ruby: update Cargo.lock
2021-10-27 16:21:33 +01:00
Nick Rolfe
ff7826dd96
Revert "Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/generator"
...
This reverts commit 4cedb43a54 .
2021-10-27 16:21:33 +01:00
Nick Rolfe
fc1f874f92
Revert "Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/extractor"
...
This reverts commit e9da027539 .
2021-10-27 16:21:33 +01:00
Geoffrey White
2182bb5c91
C++: Remove unused qhelp files.
2021-10-27 15:47:01 +01:00
Geoffrey White
d990e790e7
C++: Remove unused index.qhelp files.
2021-10-27 15:40:34 +01:00
Arthur Baars
aeedfd9987
Filter out non-qhelp files
2021-10-27 16:00:19 +02:00
Arthur Baars
b128c7ca00
Don't use local actions
2021-10-27 15:57:54 +02:00
Arthur Baars
19e010e6fe
fetch-codeql action: unzip in runner.temp
2021-10-27 15:57:54 +02:00
Anders Schack-Mulligen
6eabb610b4
Dataflow: Sync Ruby
2021-10-27 13:58:30 +02:00
Anders Schack-Mulligen
699630af54
Dataflow: Sync.
2021-10-27 13:57:44 +02:00
Anders Schack-Mulligen
92e4a1ed17
Dataflow: Review fixes.
2021-10-27 13:57:44 +02:00
Anders Schack-Mulligen
034c7f3538
Dataflow: Sync.
2021-10-27 13:57:44 +02:00
Anders Schack-Mulligen
51cebdce83
Dataflow: Add support for call context restrictions on sources/sinks.
2021-10-27 13:57:44 +02:00
Arthur Baars
dc24361f89
Merge pull request #6974 from github/nickrolfe/Cargo_lock
...
Ruby: update Cargo.lock
2021-10-27 13:47:22 +02:00
Arthur Baars
ce3a19458d
Set persist-credentials: false
2021-10-27 13:30:22 +02:00
Arthur Baars
54e946918a
QHelp preview: run if paths.txt is non-empty
2021-10-27 12:47:51 +02:00
Nick Rolfe
0a89028663
Ruby: update Cargo.lock
2021-10-27 11:43:09 +01:00
Arthur Baars
8077a49109
Switch qhelp-pr-preview.yml to pull_request_target
2021-10-27 12:38:52 +02:00
Rasmus Lerchedahl Petersen
06586a13a3
Python: merge tests files
2021-10-27 11:55:04 +02:00
Rasmus Lerchedahl Petersen
826f44d98e
Python: Share implementation of awaited
2021-10-27 11:41:18 +02:00
Rasmus Lerchedahl Petersen
01ad19b82b
Python: correct qldoc
2021-10-27 11:40:57 +02:00
yoff
c850554467
Update python/ql/lib/semmle/python/frameworks/SqlAlchemy.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-10-27 11:09:37 +02:00
Anders Schack-Mulligen
4a67ac5e0b
Merge pull request #4991 from JLLeitschuh/feat/JLL/early_ratpack_support
...
Java: Simple support for Ratpack HTTP Framework
2021-10-27 09:25:52 +02:00
Rasmus Wriedt Larsen
89e713a25c
Python: Update PyYAML comment with 6.0 release
2021-10-26 17:58:06 +02:00
Rasmus Wriedt Larsen
cd6d73d553
Python: Handle kwarg in PyYAML
...
Really surprised that we didn't already :|
2021-10-26 17:48:10 +02:00
Rasmus Wriedt Larsen
6c0083e584
Python: Add PoC for PyYAML code execution
2021-10-26 17:48:10 +02:00
Rasmus Wriedt Larsen
1ce09afa08
Python: Add modeling of ruamel.yaml PyPI package
2021-10-26 17:48:10 +02:00
Tony Torralba
6f7d0b62d7
Add ExplicitIntentSanitizer and allowIntentExtrasImplicitRead
2021-10-26 17:11:27 +02:00
Rasmus Wriedt Larsen
29e3abc977
Python: FastAPI: Add HTTP header taint example
2021-10-26 15:34:16 +02:00
Edoardo Pirovano
fe39823942
Fix LGTM version number in language reference
2021-10-26 14:18:35 +01:00
Joe Farebrother
02b440b0ed
Merge pull request #6599 from joefarebrother/android-sensitive-communication
...
Java: Promote android sensitive broadcast query
2021-10-26 13:48:58 +01:00
CodeQL CI
e5e1046c81
Merge pull request #6962 from asgerf/js/template-db-constraint-err
...
Approved by erik-krogh
2021-10-26 13:43:57 +01:00
Jonathan Leitschuh
21aeee6378
Actually remove the last non-ascii quote from Promise
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-26 08:28:44 -04:00
Erik Krogh Kristensen
8ba545999e
add change-note
2021-10-26 14:13:56 +02:00
Alexander Eyers-Taylor
3bae95a93a
Merge pull request #6939 from edoardopirovano/bump-version
...
Fix version number in language reference
2021-10-26 13:11:30 +01:00
Anders Schack-Mulligen
90bebaa5a9
Merge pull request #6960 from erik-krogh/useSetLiteral
...
use set literal instead of big disjunction of literals
2021-10-26 14:06:05 +02:00
Anders Schack-Mulligen
ba95d46ec3
Apply suggestions from code review
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2021-10-26 14:04:13 +02:00
Erik Krogh Kristensen
090fb2df10
Merge pull request #6857 from erik-krogh/fixPipes
...
JS: skip pipes and other special files when determining which files to extract
2021-10-26 13:59:40 +02:00
Mathias Vorreiter Pedersen
4a58349fcd
Merge pull request #6961 from MathiasVP/fix-join-order-in-in-def-dominance-frontier
...
C#: Fix join order in `inDefDominanceFrontier`
2021-10-26 12:55:31 +01:00
Edoardo Pirovano
6a3de20e7a
Fix version number in language reference
2021-10-26 12:53:48 +01:00
Erik Krogh Kristensen
9c8a51bca6
cache SensitiveExpr
2021-10-26 13:47:28 +02:00
Erik Krogh Kristensen
038438edca
assume that setting the secure/httpOnly flag to some unknown value is good
2021-10-26 13:47:28 +02:00
Erik Krogh Kristensen
5228196f79
fix typos and update docs
2021-10-26 13:47:21 +02:00
Erik Krogh Kristensen
311df4d2b7
add test for the cookie npm package
2021-10-26 13:46:59 +02:00
Erik Krogh Kristensen
92d59aa11c
refactor most of the isSensitive predicates into a common helper predicate
2021-10-26 13:46:59 +02:00
Erik Krogh Kristensen
834d5ec6ad
add session{key,id} as sensitive info
2021-10-26 13:46:59 +02:00
Erik Krogh Kristensen
1e1e549847
update tests so it's clear which cookies are insecure
2021-10-26 13:46:58 +02:00
Erik Krogh Kristensen
283b8231cb
add more cookie models
2021-10-26 13:46:58 +02:00
Erik Krogh Kristensen
2cb3d2c53f
documentation overhaul on client-exposed-cookie (and restricting it to server-side)
2021-10-26 13:46:58 +02:00
Erik Krogh Kristensen
ab23ffff3d
documentation overhaul for clear-text-cookie
2021-10-26 13:46:58 +02:00
Erik Krogh Kristensen
f36accf3e6
only report clear-text cookies for sensitive cookies
2021-10-26 13:46:58 +02:00
Erik Krogh Kristensen
53b4337795
combine test files
2021-10-26 13:46:57 +02:00
Erik Krogh Kristensen
9193984f1b
delete the experimental query library for cookie queries
2021-10-26 13:46:57 +02:00
Erik Krogh Kristensen
6858acc6a9
port experimental cookie models to non-experimental
2021-10-26 13:46:57 +02:00
Erik Krogh Kristensen
26a24a3895
prepare move to non-experimental
2021-10-26 13:46:57 +02:00
Erik Krogh Kristensen
44db920f10
refactor, cleanup, and improvements in experimental cookie queries
2021-10-26 13:46:57 +02:00
Erik Krogh Kristensen
a3c55c2aec
use set literal instead of big disjunction of literals
2021-10-26 12:55:25 +02:00
Rasmus Lerchedahl Petersen
8a81d42e6f
Python: more logic adjustment
...
Not sure why the missing result is missing. There is
and edge with label `getAwaited` from `pkg.async_func` on line 22
to `coro` on line 23.
2021-10-26 10:57:27 +02:00
Rasmus Wriedt Larsen
2b9edd7ff6
Merge pull request #6952 from github/aibaars/generate-code-scanning-query-list
...
Add Ruby to generate-code-scanning-query-list.py and make the script faster
2021-10-26 10:49:24 +02:00
Rasmus Lerchedahl Petersen
f91e43c068
Python: Add more honest test for awaited
2021-10-26 10:43:06 +02:00
Mathias Vorreiter Pedersen
67fd38f328
C#/Ruby: Use a 'noinline' instead of a 'only_bind_into'.
2021-10-26 09:41:52 +01:00
Rasmus Lerchedahl Petersen
a8a181a32f
Python: adjust logic and add tests
...
Due to the way paths a re printed, the tests look surprising
2021-10-26 09:55:47 +02:00
Anders Schack-Mulligen
3d1b617101
Merge pull request #6959 from igfoo/igfoo/bbStmts
...
Java: Make a test output a bit more readable
2021-10-26 08:42:53 +02:00
Mathias Vorreiter Pedersen
4b137ede0e
Ruby: Sync identical files.
2021-10-25 22:03:44 +01:00
Mathias Vorreiter Pedersen
e2d3474563
Merge branch 'main' into fix-join-order-in-in-def-dominance-frontier
2021-10-25 22:02:35 +01:00
Mathias Vorreiter Pedersen
9145382660
C#: Sync identical files.
2021-10-25 21:55:28 +01:00
Mathias Vorreiter Pedersen
ff35100d52
C#: Fix join order in 'inDefDominanceFrontier'.
2021-10-25 21:55:09 +01:00
Henry Mercer
3284953192
Merge pull request #6958 from github/henrymercer/rename-atm-query-pack
...
JS: [Internal only] Rename ATM query pack for consistency with other packs
2021-10-25 20:16:40 +01:00
Erik Krogh Kristensen
e117659dce
revert a thing for python
2021-10-25 20:50:18 +02:00
Ian Lynagh
f73f418a97
Java: Make a test output a bit more readable
...
Now the nodes are in index order, and the indices are aligned.
2021-10-25 18:48:19 +01:00
Erik Krogh Kristensen
f4a054ea01
apply range pattern patch to python
2021-10-25 19:38:10 +02:00
Erik Krogh Kristensen
d2d6b2ca7c
apply range pattern patch to cpp
2021-10-25 19:38:10 +02:00
Erik Krogh Kristensen
dbd1148bd6
apply range pattern patch to javascript
2021-10-25 19:38:00 +02:00
Henry Mercer
7e0e35f364
Rename ATM query pack for consistency with other packs
2021-10-25 17:32:25 +01:00
Jonathan Leitschuh
ebe2c26f4d
Remove the last non-ascii quote from Promise
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-25 11:30:12 -04:00
Arthur Baars
b79f8f1890
Fix CI jobs
2021-10-25 17:01:50 +02:00
shati-patel
8cd86ae8f5
Move queries.xml to src
2021-10-25 17:01:50 +02:00
shati-patel
b23b3c33f6
Add a queries.xml file (for CWE coverage) docs
2021-10-25 17:01:50 +02:00
Arthur Baars
de38570424
Merge identical-files.json
2021-10-25 17:01:44 +02:00
Nick Rolfe
db3c99d64d
Merge pull request #6954 from github/nickrolfe/ruby-labeler
...
Automatically label Ruby PRs
2021-10-25 15:44:30 +01:00
Arthur Baars
1bf4542c89
Remove github/codeql submodule
2021-10-25 16:42:45 +02:00
Arthur Baars
ddbba403f8
Update CodeSpaces configuration
2021-10-25 16:42:45 +02:00
Arthur Baars
aeb9ace694
Add ruby to CODEOWNERS
2021-10-25 16:42:45 +02:00
Arthur Baars
7741a72cc5
Merge remote-tracking branch 'codeql-ruby/rc/3.3' into codeql/rc/3.3
2021-10-25 16:41:36 +02:00
Nick Rolfe
096c207b3e
Automatically label Ruby PRs
2021-10-25 15:29:20 +01:00
CodeQL CI
3fc6e2b294
Merge pull request #6941 from RasmusWL/add-missing-noinline
...
Approved by tausbn
2021-10-25 15:23:37 +01:00
Arthur Baars
8ce7b287d1
Update dependabot config
2021-10-25 16:13:37 +02:00
Arthur Baars
3554e8d105
Drop LICENSE and CODE_OF_CONDUCT.md
2021-10-25 16:13:37 +02:00
Arthur Baars
2de757335f
Update Ruby workflows
2021-10-25 16:13:35 +02:00
Arthur Baars
068beeff56
Move create-extractor-pack Action
2021-10-25 16:12:08 +02:00
Arthur Baars
d2ea732539
Remove CodeSpaces configuration
2021-10-25 16:12:08 +02:00
Arthur Baars
ba32c54038
Move files to ruby subfolder
2021-10-25 16:11:59 +02:00
CodeQL CI
b5554da496
Merge pull request #6924 from asgerf/js/skip-files-with-unsupported-encoding
...
Approved by esbena
2021-10-25 14:48:38 +01:00
Nick Rolfe
7308f75b78
Merge pull request #6951 from github/nickrolfe/remove-workspace
...
Ruby: remove VS Code workspace
2021-10-25 14:29:06 +01:00
Rasmus Wriedt Larsen
7619d0fc33
Python: FastAPI: Model WebSocket usage
2021-10-25 15:23:33 +02:00
Rasmus Wriedt Larsen
b69977b37a
Python: FastAPI: Ignore scheme as tainted
...
reasoning highlighted in the comment
2021-10-25 15:23:33 +02:00
Rasmus Wriedt Larsen
bd8eec8475
Python: FastAPI: Add websocket test
2021-10-25 15:23:33 +02:00
Rasmus Wriedt Larsen
54ab5d4bc8
Python: Fix date for FastAPI change-note
2021-10-25 15:23:33 +02:00
Rasmus Wriedt Larsen
7e7a6464ec
Python: FastAPI: Model extra-taint for pydantic models
...
It feels a bit strange to add it to `frameworks.rst` since we only
support a little bit of it, but if I don't do it now, we will most
likely forget to do it later on (since it has already been added to
`frameworks.qll`).
2021-10-25 15:22:50 +02:00
Joe Farebrother
6dac86b9be
Fix unneeded import and spelling mistake
2021-10-25 14:11:00 +01:00
Arthur Baars
dcf71c4f9a
Ruby: update generate-code-scanning-query-list.py
2021-10-25 15:04:34 +02:00
Arthur Baars
a6ac2e73a1
Speed up generate-code-scanning-query-list.py
...
Use 'codeql execute cli-server' to avoid repeated JVM startup overhead
2021-10-25 15:03:28 +02:00
Nick Rolfe
779e24eb73
Ruby: remove VS Code workspace
2021-10-25 13:12:31 +01:00
Nick Rolfe
fb79886fe7
Merge pull request #6944 from github/dependabot/cargo/ruby/extractor/tracing-subscriber-0.3
...
Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/extractor
2021-10-25 12:50:48 +01:00
Nick Rolfe
b93be42421
Merge pull request #6943 from github/dependabot/cargo/ruby/generator/tracing-subscriber-0.3
...
Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/generator
2021-10-25 12:50:26 +01:00
Anders Schack-Mulligen
c48dd57d85
Merge pull request #6938 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-25 13:43:54 +02:00
Rasmus Lerchedahl Petersen
149b235c7a
Python: delete unused predicate
2021-10-25 13:41:29 +02:00
Rasmus Lerchedahl Petersen
cb61f87aa3
Python: rewrite "clever" reverse lookup
2021-10-25 13:40:45 +02:00
ihsinme
5d5d6bcc69
Add files via upload
2021-10-25 14:34:10 +03:00
ihsinme
baec186359
Add files via upload
2021-10-25 14:33:01 +03:00
Rasmus Lerchedahl Petersen
5a02b3880e
Python: use SqlConstruction in SqlAlchemy and
...
`SqlInjection`
2021-10-25 13:30:14 +02:00
ihsinme
3f3988ce1c
Add files via upload
2021-10-25 14:24:35 +03:00
ihsinme
8e8a324fa6
Add files via upload
2021-10-25 14:23:19 +03:00
Joe Farebrother
0c1af2411b
Write intent in lowercase consistently
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-25 12:22:49 +01:00
Anders Schack-Mulligen
5709365c0f
Merge pull request #6921 from igfoo/igfoo/types
...
Java: Replace @type with more specific types
2021-10-25 13:15:12 +02:00
Rasmus Lerchedahl Petersen
e5b68d68cb
Python: Use SqlConstruction in Asyncpg.qll
2021-10-25 13:15:09 +02:00
Rasmus Lerchedahl Petersen
03ada6e97a
Python: Add concept test for SqlConstruction
2021-10-25 13:09:43 +02:00
Rasmus Lerchedahl Petersen
ed5a386618
Python: add concept SqlCopnstruction
2021-10-25 12:48:24 +02:00
dependabot[bot]
e9da027539
Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/extractor
...
Updates the requirements on [tracing-subscriber](https://github.com/tokio-rs/tracing ) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.2.0...tracing-subscriber-0.3.0 )
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-10-25 10:40:34 +00:00
dependabot[bot]
4cedb43a54
Update tracing-subscriber requirement from 0.2 to 0.3 in /ruby/generator
...
Updates the requirements on [tracing-subscriber](https://github.com/tokio-rs/tracing ) to permit the latest version.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.2.0...tracing-subscriber-0.3.0 )
---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2021-10-25 10:40:28 +00:00
Arthur Baars
afc7867c98
Merge pull request #6942 from github/aibaars/patch-10
...
Merge codeql-ruby into codeql
2021-10-25 12:33:34 +02:00
Asger Feldthaus
bfb1da55d6
JS: Bump extractor version string
2021-10-25 11:49:56 +02:00
Asger Feldthaus
f3e2b0b946
JS: Avoid using non-existent attribute as parent
2021-10-25 11:49:56 +02:00
Asger Feldthaus
ac62379b17
JS: Add TRAP test
2021-10-25 11:49:39 +02:00
Rasmus Wriedt Larsen
f5464b79e4
Merge branch 'main' into fastapi
2021-10-25 09:49:42 +02:00
github-actions[bot]
2257d0475a
Add changed framework coverage reports
2021-10-25 00:09:34 +00:00
Arthur Baars
4f79398342
Merge branch 'main' of github.com:github/codeql into 'main'
...
Conflicts:
docs/codeql/query-help/codeql-cwe-coverage.rst
2021-10-22 21:51:25 +02:00
Tom Hvitved
f020b2e437
Merge pull request #335 from github/hmac/self-flow
2021-10-22 19:14:20 +02:00
Jonathan Leitschuh
5eb28398f0
Remove non-ASCII characters from Promise.java
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-22 10:52:46 -04:00
Nick Rolfe
3851a27fc1
Merge pull request #358 from github/external-control-file-path
...
Add rb/path-injection query
2021-10-22 15:38:39 +01:00
Tom Hvitved
7648815f1f
Merge pull request #6936 from hvitved/csharp/delegate-conversion-join-order
...
C#: Improve join-order in `defaultDelegateConversion`
2021-10-22 15:10:20 +02:00
Tom Hvitved
61d7cdeec0
Data flow: Assign empty locations to summary nodes
2021-10-22 14:48:33 +02:00
Harry Maclean
87df3a0a99
Minor refactor
2021-10-22 11:44:38 +01:00
hubwriter
12e56ec9e6
Merge pull request #6887 from github/hubwriter/codeql-ruby-support
...
Docs: Updates for Ruby support
2021-10-22 11:21:49 +01:00
Nick Rolfe
d4cee73720
Add taint summaries for ActiveStorage::Filename
2021-10-22 11:15:42 +01:00
Henry Mercer
02b1fe27d2
Merge pull request #6907 from github/henrymercer/add-experimental-atm-libraries
...
JS: [Internal only] Add experimental libraries and queries for adaptive threat modeling
2021-10-22 11:02:09 +01:00
Harry Maclean
aa8607009b
Update test fixtures
2021-10-22 10:56:34 +01:00
Harry Maclean
336bd15d2f
Override isCapturedAccess for self variables
...
Many `self` reads are synthesised from method calls with an implicit
`self` receiver. Synthesised nodes have no `toGenerated` result, which
the default definition of `isCapturedAccess` uses to determine if a
variable's scope matches the access's scope.
Hence we override the definition to properly identify accesses like the
call `puts` (below) as captured reads of a `self` variable defined in a
parent scope.
In other words, `puts x` is short for `self.puts x` and the `self`
refers to its value in the scope of the module `Foo`.
```ruby
module Foo
MY_PROC = -> (x) { puts x }
end
```
We also have to update the SSA `SelfDefinition` to exclude captured
`self` variables.
2021-10-22 10:56:34 +01:00
Harry Maclean
f1add388a0
Synthesise writes to self for classes/modules
...
This requires changing the CFG trees for classes and modules from
post-order to pre-order so that we can place the writes at the root node
of the tree, to prevent them overlapping with reads in the body of the
class/module.
We need to do this because classes and modules don't define their own
basic block, but re-use the surrounding one. This problem doesn't occur
for `self` variables in methods because each method has its own basic
block and we can place the write on the entry node of the bock.
2021-10-22 10:56:34 +01:00
Joe Farebrother
c89178c0e8
Apply suggestions from code review
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2021-10-22 10:54:57 +01:00
Tony Torralba
1333f67a69
Merge pull request #6917 from JLLeitschuh/feat/JLL/jdk_lambda_collections_model_tracking
...
[Java] JDK Collection lambda models
2021-10-22 10:26:50 +02:00
Tom Hvitved
4e40337d02
C#: Improve join-order in defaultDelegateConversion
2021-10-22 10:12:18 +02:00
Porcuiney Hairs
f70d808e2f
fix testcases
2021-10-22 00:58:59 +05:30
Porcuiney Hairs
9fe822f41c
Include suggestions from review
2021-10-22 00:55:01 +05:30
Arthur Baars
4f72d0853a
Merge pull request #375 from github/rc/3.3
...
Merge rc/3.3 into main
2021-10-21 18:16:57 +02:00
Joe Farebrother
2d368a7d9a
Remove redundant imports from ExternalFlow
2021-10-21 16:48:53 +01:00
Joe Farebrother
a9dde419d2
Fix up test
2021-10-21 16:46:07 +01:00
Geoffrey White
9009dac9ea
Merge branch 'main' into nullterm2
2021-10-21 13:14:15 +01:00
Taus
562a57b75b
Merge pull request #6928 from RasmusWL/diagnostic-as-warning
...
Python: Improve SARIF severity level reporting of extractor diagnostics
2021-10-21 13:54:01 +02:00
Nick Rolfe
5734f51792
Merge remote-tracking branch 'origin/main' into external-control-file-path
2021-10-21 10:58:38 +01:00
Rasmus Wriedt Larsen
852e9875bd
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-10-21 10:24:34 +02:00
Edoardo Pirovano
1fe772a2ab
Merge pull request #6896 from edoardopirovano/fix-version-trailing
...
Language reference: Fix when trailing commas are allowed
2021-10-21 00:02:02 +01:00
Aditya Sharad
174df98762
Merge pull request #6929 from github/esbena-patch-5
...
Mention default JavaScript Autobuilder excludes
2021-10-20 15:47:51 -07:00
Esben Sparre Andreasen
a1ce81c3d7
Update creating-codeql-databases.rst
2021-10-20 23:00:46 +02:00
Arthur Baars
f9f0fab0d0
Merge pull request #374 from github/aibaars/sync-codeql
...
Sync with `github/codeql:main`
2021-10-20 22:38:46 +02:00
Ian Lynagh
830f81bfdb
Java: Autoformat
2021-10-20 17:45:01 +01:00
Joe Farebrother
3e3503a763
Fix failing checks
2021-10-20 17:25:38 +01:00
Joe Farebrother
b6c584cb70
Update docs
2021-10-20 17:09:59 +01:00
Joe Farebrother
447e06d92a
Rename from SensitiveBroadcast to SensitiveCommmunication
2021-10-20 17:09:59 +01:00
Joe Farebrother
54e9c49080
Remove SendBroadcastMethodAccess
2021-10-20 17:09:59 +01:00
Joe Farebrother
e02be6cf93
Add additional sinks
2021-10-20 17:09:59 +01:00
Joe Farebrother
e616122982
Rename parameter
2021-10-20 17:09:59 +01:00
Joe Farebrother
fede77a934
Rename some utility methods
2021-10-20 17:09:59 +01:00
Joe Farebrother
069d6627b5
Improve sanitizers
2021-10-20 17:09:59 +01:00
Joe Farebrother
174ac3d6c3
Move to correct directory
2021-10-20 17:09:59 +01:00
Joe Farebrother
c3d1165c5f
Revert change to argument handling
2021-10-20 17:09:58 +01:00
Joe Farebrother
6a2346ec33
Clean up sink definition
2021-10-20 17:09:58 +01:00
Joe Farebrother
daf6ac2584
Update tests to InlineFlowTest
2021-10-20 17:09:58 +01:00
Joe Farebrother
52ca6b93e3
Make things private where possible
2021-10-20 17:09:58 +01:00
Joe Farebrother
351e67c639
Fix qhelp
2021-10-20 17:09:58 +01:00
Joe Farebrother
06a30bf822
Add change note
2021-10-20 17:09:58 +01:00
Joe Farebrother
b112189530
Update docs
2021-10-20 17:09:58 +01:00
Joe Farebrother
224d679722
Add Sticky broadcast sinks
2021-10-20 17:09:57 +01:00
Joe Farebrother
ef7125e21a
Simplify sink definitions using local flow
2021-10-20 17:09:57 +01:00
Joe Farebrother
d7c7776495
Add additional models; fix up tests
2021-10-20 17:09:57 +01:00
Joe Farebrother
ae461bcfe4
Switch to inline expectations tests
2021-10-20 17:09:57 +01:00
Joe Farebrother
4012866c6f
Allow arbitrary read steps at the sink
2021-10-20 17:09:57 +01:00
Joe Farebrother
bae0da8851
Remove existing get methods
2021-10-20 17:09:57 +01:00
Joe Farebrother
1e8dd7ae40
Use subclasses of context for sinks
2021-10-20 17:09:57 +01:00
Joe Farebrother
143920efca
Movee query logic to a qll file
2021-10-20 17:09:57 +01:00
Joe Farebrother
c68a7077d7
Move query and tests out of experimental
2021-10-20 17:09:56 +01:00
Rasmus Wriedt Larsen
8167e83ae5
Python: Fix tests
2021-10-20 17:58:03 +02:00
Jonathan Leitschuh
cce3aad62e
Remove non-ASCII characters from Handler.java
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-20 11:34:59 -04:00
Geoffrey White
0e5cfd3469
C++: Rename the predicate and make it private.
2021-10-20 16:12:04 +01:00
Rasmus Wriedt Larsen
d0fd907582
Python: Add change-note
...
I reworded this slightly from what was done in C++, such that I can
completely stand behind what it says.
2021-10-20 17:03:55 +02:00
Rasmus Wriedt Larsen
8f28684d10
Python: Rename ExtractionErrors.ql -> ExtractionWarnings.ql
2021-10-20 17:01:33 +02:00
Rasmus Wriedt Larsen
605494c3d1
Python: Treat SyntaxErrors as warnings in diagnostics
...
Rename going to happen in second commit, so git doesn't get too confused
I don't actually recall where to lookup that warning is 1, and error is
2, but I took this from
https://github.com/github/codeql/pull/6830/files#diff-460fc20823ced3b074784db804f2d4d6cfcad4f23fe5d264dc7496c782629a2eR121-R123
2021-10-20 16:59:00 +02:00
Geoffrey White
5379b25146
C++: Add tests.
2021-10-20 15:44:56 +01:00
Geoffrey White
f17c06a37f
C++: Fix mistake in previous commit.
2021-10-20 15:40:14 +01:00
Arthur Baars
62d25b6e12
Merge pull request #373 from github/aibaars/warn-ruby-beta
...
Ruby: warn that Ruby is still in Beta
2021-10-20 16:14:29 +02:00
Arthur Baars
74ba532a8b
Ruby: warn that Ruby is still in Beta
2021-10-20 15:59:26 +02:00
Mathias Vorreiter Pedersen
7feab27bf4
Merge pull request #6926 from geoffw0/setliterals2
...
C++: Use set literals (more).
2021-10-20 14:58:06 +01:00
Arthur Baars
630ee17613
Ruby: sync-files and add allowParameterReturnInSelf()
2021-10-20 15:39:46 +02:00
Arthur Baars
0bec8987b6
Merge remote-tracking branch 'codeql/main' into 'main'
2021-10-20 15:38:59 +02:00
Geoffrey White
da412178ce
C++: Use set literals (more).
2021-10-20 14:18:27 +01:00
Harry Maclean
356828cd51
Update stored XSS fixture
...
The change to `self` modelling finds more true positives in this query.
2021-10-20 13:30:51 +01:00
Nick Rolfe
16c62d22de
Add change-note for rb/path-injection
2021-10-20 13:19:49 +01:00
Nick Rolfe
e367832637
Import Frameworks.qll in Summaries module
2021-10-20 13:11:50 +01:00
hubwriter
8f15dc4bd0
Add 'requires glibc 2.17' in supported languages table
2021-10-20 12:48:20 +01:00
Nick Rolfe
86da3c2db3
Add rb/path-injection query
2021-10-20 12:31:16 +01:00
Tom Hvitved
19589bef27
Merge pull request #6777 from hvitved/dataflow/summary-clear-modelling
...
Data flow: Rework `SummarizedCallable::clearsContent/2`
2021-10-20 13:23:56 +02:00
Ian Lynagh
25b5601da9
Java: Add a changenote to RefType -> ClassOrInterface
2021-10-20 12:21:08 +01:00
Ian Lynagh
25fcae1c51
Java: Make some types more specific
...
Where we used to use RefType, we now use ClassOrInterface.
2021-10-20 12:18:20 +01:00
hubwriter
aaa5046533
Add beta note to page Calum added
2021-10-20 11:17:38 +01:00
Asger Feldthaus
fa0ce5380b
JS: Skip files with unsupported file encoding
2021-10-20 12:16:50 +02:00
Tom Hvitved
f9fb046e9f
C#: Update expected test output after rebase
2021-10-20 12:15:27 +02:00
Tom Hvitved
29cdc8a49a
Java: Update expected test output after rebase
2021-10-20 12:11:59 +02:00
hubwriter
dd31d5ffb3
Merge branch 'main' into hubwriter/codeql-ruby-support
2021-10-20 11:08:59 +01:00
Tom Hvitved
0bf5238f39
Update QL doc for allowParameterReturnInSelf
2021-10-20 12:08:58 +02:00
Tom Hvitved
53d4d72fe5
C#: Simplify SummarizedCallableDefaultClearsContent
2021-10-20 12:08:58 +02:00
Tom Hvitved
dd138b0429
Address review comments
2021-10-20 12:08:58 +02:00
Tom Hvitved
ec5d8ab2db
Java: Restrict use-use flow
2021-10-20 12:08:57 +02:00
Tom Hvitved
a1511e13d8
Data flow: Sync files
2021-10-20 12:08:57 +02:00
Tom Hvitved
1196d0c624
C#: Rework SummarizedCallable::clearsContent/2
2021-10-20 12:08:57 +02:00
Calum Grant
ed73d9bab4
Merge pull request #6860 from github/ruby-docs
...
Ruby documentation
2021-10-20 10:47:05 +01:00
Tom Hvitved
f1f7930529
Make all self nodes LocalSourceNodes
2021-10-20 11:43:50 +02:00
Tom Hvitved
94f0f8daf2
Make SelfVariableAccess a sub type of LocalVariableAccess
2021-10-20 11:43:44 +02:00
Harry Maclean
e0b2d88377
Remove redundant import
2021-10-20 10:41:17 +01:00
Harry Maclean
c437fd50a4
Update test fixtures
...
Some of these look a bit suspicious, so need to double check them before
merging.
2021-10-20 10:39:36 +01:00
Harry Maclean
c71f538a5a
Extend the scope of self variables
...
`self` variables are scoped to methods, modules, classes and the
top-level of the program. Prior to this change, they were treated as
being scoped just to methods.
This change means we (once again) correctly synthesise `self` receivers
for method calls in class bodies, module bodies and at the top-level.
2021-10-20 09:43:23 +01:00
Harry Maclean
647485acde
Don't omit self from uninitialized writes
...
We can safely create uninitialized writes for `self` variables, because
they appear at index -1 in the entry block of a method, and are
immediately overwritten by a write to `self` at index 0. As a result,
they are not live and will be pruned from the CFG.
2021-10-20 09:43:22 +01:00
Tom Hvitved
446eb13471
Minor adjustments to SSA library for self variables
2021-10-20 09:43:21 +01:00
Harry Maclean
0d39a15786
Model implicit reads of self variables
...
We already synthesise `self` nodes for method calls with no receiver.
This change creates read accesses for each of these synthesised nodes.
2021-10-20 09:43:20 +01:00
Harry Maclean
e7a3050fb2
Improve the modelling of self variables.
...
We model `self` variables by inserting a write at the start of every
method body. We then treat them as local variables that are alive for
the extent of the method body.
2021-10-20 09:43:19 +01:00
Tamás Vajk
9331b3538d
Merge pull request #6914 from tamasvajk/feature/improve-csv-pr-commenter
...
Introduce foldable region in CSV coverage PR comments
2021-10-20 08:45:55 +02:00
Ian Lynagh
9fbff1b4c1
Java: Add an upgrade script
2021-10-20 00:34:47 +01:00
Jonathan Leitschuh
d4b18fe6a3
[Java] JDK Collection lambda models
...
Adds support for data flow tracking through simple JDK collection
functional APIs.
- `Iterable::forEach`
- `Iterator::forEachRemaining`
- `Map::forEach`
Replaces #5871
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-19 15:57:58 -04:00
Ian Lynagh
90299033d1
Java: Replace @type with more specific types
2021-10-19 20:23:53 +01:00
Geoffrey White
f7bd74ea59
C++: Prototype nodeBefore predicate.
2021-10-19 20:08:55 +01:00
Geoffrey White
57fe4b9a31
C++: Also fix variableMustBeNullTerminated.
2021-10-19 18:06:11 +01:00
Jonathan Leitschuh
584c27a2f8
Move CollectionPassingTest to correct directory
2021-10-19 11:44:12 -04:00
Jonathan Leitschuh
8231907116
Ratpack code cleanup from code review
2021-10-19 11:42:35 -04:00
Calum Grant
112d408fb9
Address review comments.
2021-10-19 16:30:54 +01:00
Chris Smowton
233a3346a8
Merge pull request #6240 from haby0/java/UnsafeUrlForward
...
[Java] CWE-552: Unsafe url forward
2021-10-19 16:18:23 +01:00
Geoffrey White
b4b8392748
C++: New, behaviour preserving solution.
2021-10-19 16:16:05 +01:00
Jonas Jensen
7015be7cad
Merge pull request #6916 from geoffw0/fixnotbound
...
C++: Fix unbound variables in PrivateCleartextWrite.qll.
2021-10-19 16:46:42 +02:00
Geoffrey White
38257a58f0
C++: Fix unbound variables in PrivateCleartextWrite.qll.
2021-10-19 15:01:32 +01:00
Tom Hvitved
3f396ac10e
Merge pull request #371 from github/hvitved/dataflow/arg-sugar
...
Data flow: Fix bug for sugared call arguments
2021-10-19 15:48:21 +02:00
Chris Smowton
057d0fb7e0
Rewrite query to use shared StringPrefixes library
2021-10-19 14:45:38 +01:00
Tamás Vajk
12d7f0c9e2
Merge pull request #6913 from tamasvajk/feature/improve-stubbing
...
C#: Remove cartesian product in stubbing (GeneratedType::getStub)
2021-10-19 15:13:26 +02:00
Geoffrey White
e487832823
C++: Clean up QL.
2021-10-19 14:10:30 +01:00
Chris Smowton
8a4fa0a7e2
Copyedit
2021-10-19 12:50:17 +01:00
haby0
9d9a7abd06
Fix
2021-10-19 12:50:03 +01:00
haby0
283376eb19
Modify the model
2021-10-19 12:49:08 +01:00
haby0
679652e63a
Modify Sanitizer
2021-10-19 12:49:08 +01:00
haby0
952b34a163
Eliminate FP
2021-10-19 12:49:08 +01:00
haby0
d0eec1e381
Add CWE-552-UnsafeUrlForward
2021-10-19 12:49:07 +01:00
Tamas Vajk
70ffbae091
Introduce foldable region in CSV coverage PR comments
2021-10-19 13:34:25 +02:00
Anders Schack-Mulligen
662852bd1d
Merge pull request #6859 from smowton/smowton/admin/factor-string-prefix
...
Java: Factor out string prefix logic
2021-10-19 13:32:52 +02:00
Arthur Baars
db1be380ea
Merge pull request #372 from github/aibaars/codeqlmanifest
...
Add reference to nested .codeqlmanifest.json
2021-10-19 13:25:30 +02:00
Arthur Baars
c604825fdd
Add reference to nested .codeqlmanifest.json
2021-10-19 13:14:45 +02:00
Henry Mercer
548a344d34
JS: Implement suggestions from review
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-10-19 12:00:40 +01:00
Tamas Vajk
c7c35401e0
C#: Remove cartesian product in stubbing (GeneratedType::getStub)
2021-10-19 12:56:23 +02:00
Chris Smowton
d46b897492
Add explicit this
2021-10-19 11:32:24 +01:00
Chris Smowton
beaa1cffd2
Make import private
2021-10-19 11:28:56 +01:00
Chris Smowton
3bf9abb4ce
Avoid ambiguous term 'successor'.
2021-10-19 11:28:56 +01:00
Chris Smowton
0d66cebfba
Autoformat
2021-10-19 11:28:56 +01:00
Chris Smowton
3c25301593
Extend documentation
2021-10-19 11:28:55 +01:00
Chris Smowton
d0d17e3b84
Make import private
2021-10-19 11:28:55 +01:00
Chris Smowton
b71920209e
Factor out string prefix logic
2021-10-19 11:28:54 +01:00
Anders Schack-Mulligen
b975e12f41
Merge pull request #6912 from aschackmull/java/minor-perf-fix
...
Java: Fix bad join-order.
2021-10-19 12:13:26 +02:00
Rasmus Wriedt Larsen
386c7e3a12
Python: Add missing pragma[noinline]
2021-10-19 11:55:51 +02:00
Rasmus Wriedt Larsen
b0af805460
Merge pull request #6899 from thepurpleowl/patch-1
...
Python SignatureOverriddenMethod: Rmv duplicate condition
2021-10-19 11:24:01 +02:00
Anders Schack-Mulligen
90a50e7ca9
Java: Fix bad join-order.
2021-10-19 10:55:52 +02:00
Anders Schack-Mulligen
6508afe824
Merge pull request #6900 from Marcono1234/marcono1234/MemberRefExpr-receiver-type
...
Java: Add `MemberRefExpr.getReceiverType()`
2021-10-19 10:49:15 +02:00
hubwriter
6f34735f64
Update docs/codeql/writing-codeql-queries/creating-path-queries.rst
2021-10-19 09:27:54 +01:00
Arthur Baars
fc546d63ca
Merge remote-tracking branch 'codeql/rc/3.3' into 'rc/3.3'
2021-10-19 09:52:24 +02:00
Jonathan Leitschuh
db2892b9ea
Resove taint tracking issues from asMultimap
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 14:30:46 -04:00
Henry Mercer
4d7a8285ad
JS: Initial commit of Adaptive Threat Modeling
2021-10-18 17:24:24 +01:00
Jonathan Leitschuh
5a2bdc9a0f
Jackson taint tracking of elements
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:11 -04:00
Jonathan Leitschuh
8fecc158ff
Add support for Map.forEach
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:11 -04:00
Jonathan Leitschuh
23e60e2c52
Add full integration test for Ratpack example
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:11 -04:00
Jonathan Leitschuh
ebbbda70c0
Ratpack tests all passing
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:11 -04:00
Jonathan Leitschuh
fe374f5e9c
Ratpack: Add support for Promise::apply
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
6562ac3680
Ratpack conversion to new lambda model
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
4f90f0a748
Begin refactoring Ratpack to use functional taint tracking
...
Signed-off-by: Jonathan Leitschuh <Jonathan.Leitschuh@gmail.com >
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
6497a61c1d
Ratpack: Drop support for flatMap like methods
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
af90b00e63
Ratpack: Release note and typo fix
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
901631ceb8
Ratpack Promise add support for apply method
2021-10-18 12:21:10 -04:00
Jonathan Leitschuh
b9dc3d0cfe
Ratpack: Better support for Promise API
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
cdfdcc66bd
Ratpack fix formatting and non-ascii characters
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
a3b1736a73
Ratpack improve support for parsing types
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
ac185d9bd5
Remove RatpackGetRequestDataMethod
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
563e5690df
Refactor Ratpack to use CSV format
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
4f658df0ac
Apply suggestions from code review
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-10-18 12:21:09 -04:00
Jonathan Leitschuh
18c74c5030
Simplify Ratpack API using standard abstract classes
2021-10-18 12:21:08 -04:00
Jonathan Leitschuh
b2e3df29b3
Add support for Promise.value and Promise::flatMap
2021-10-18 12:21:08 -04:00
Jonathan Leitschuh
b2ad128beb
Refactors Ratpack lambda taint tracking to use generic API
2021-10-18 12:21:08 -04:00
Jonathan Leitschuh
170657b9a4
Add additional Ratpack test and improve Promise based dataflow tracking
2021-10-18 12:21:08 -04:00
Jonathan Leitschuh
dabf00e8b4
Add Tests to Ratpack Framework Support
2021-10-18 12:21:08 -04:00
Jonathan Leitschuh
f5c3723a99
Java: Simple support for Ratpack HTTP Framework
2021-10-18 12:21:08 -04:00
Marcono1234
86d53931aa
Java: Improve MemberRefExpr.getReceiverType() documentation
2021-10-18 18:20:22 +02:00
Geoffrey White
3f3c79f48f
Merge pull request #6884 from geoffw0/setliterals
...
Replace or chains with set literals.
2021-10-18 16:46:55 +01:00
Shati Patel
702c647556
Merge pull request #6904 from shati-patel/ruby-query-help
...
Docs: Add Ruby to query help pages
2021-10-18 16:13:50 +01:00
Anders Schack-Mulligen
b67032d1cc
Merge pull request #6891 from erik-krogh/fix-java-this
...
add explicit this qualifier on all of java
2021-10-18 17:13:37 +02:00
Tom Hvitved
c57b7c5b2b
Data flow: Restrict ExprReturnNode to nodes from the body of the callable
2021-10-18 17:01:30 +02:00
Tom Hvitved
a10bde5795
Merge pull request #6872 from hvitved/dataflow/path-into-callable0-join
...
Data flow: Performance tweaks
2021-10-18 16:25:10 +02:00
Tony Torralba
a5749a5eb1
Add ComponentName tests to existing Intent tests
2021-10-18 15:23:52 +02:00
Taus
8e68eae83d
Merge pull request #5463 from jorgectf/jorgectf/python/headerInjection
...
Python: Add Header Injection query
2021-10-18 15:16:14 +02:00
Tom Hvitved
e6954292aa
Address review comments
2021-10-18 14:09:44 +02:00
Anders Schack-Mulligen
91ea064980
Sync
2021-10-18 14:04:50 +02:00
Anders Schack-Mulligen
df9836cce0
Work around compiler bug.
2021-10-18 14:04:16 +02:00
Tom Hvitved
397b8345e0
Data flow: Fix bug for sugared call arguments
2021-10-18 13:48:11 +02:00
Tom Hvitved
0de27bbc7e
Data flow: Add ArgumentNode test
2021-10-18 13:47:50 +02:00
Jonas Jensen
493a37ba5e
Merge pull request #6903 from MathiasVP/remove-implicit-this-for-cpp
...
C++: Remove uses of implicit `this`
2021-10-18 13:41:30 +02:00
Ian Lynagh
9371737331
Merge pull request #6894 from igfoo/igfoo/exprs
...
Java: Don't use dbscheme tables in CloseType.qll
2021-10-18 12:04:11 +01:00
shati-patel
b9ede183b0
Docs: Add Ruby to query help pages
2021-10-18 11:48:24 +01:00
Nick Rolfe
51cab94cb0
Merge pull request #370 from github/shati-patel/ruby-docs
...
Move queries.xml to `src`
2021-10-18 11:35:36 +01:00
Tony Torralba
392e2eebeb
Add intent creation from a URI as a taint step
2021-10-18 12:18:07 +02:00
shati-patel
83a1260769
Move queries.xml to src
2021-10-18 11:18:00 +01:00
Tony Torralba
d1d2d61d7e
Add more sinks
...
Also, fix things after rebase
2021-10-18 12:00:07 +02:00
Ian Lynagh
54d2028920
Update java/ql/src/Likely Bugs/Resource Leaks/CloseType.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-10-18 10:12:01 +01:00
Tony Torralba
28ae4c211f
Update java/ql/src/Security/CWE/CWE-940/AndroidIntentRedirection.qhelp
...
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com >
2021-10-18 11:10:23 +02:00
Tony Torralba
e7983fb269
Add test and check for another edge case
2021-10-18 11:10:23 +02:00
Tony Torralba
bc6c13be69
Refactor to actually build the full flows from src to sink
...
Add more tests for edge cases
2021-10-18 11:10:22 +02:00
Tony Torralba
4dd9e7d6a0
Remove unnecessary import
...
Add comment
2021-10-18 11:10:22 +02:00
Tony Torralba
14963103aa
Add full path reconstruction from RemoteFlowSource to sink
2021-10-18 11:10:21 +02:00
Tony Torralba
445da1e71e
Move files to new location
2021-10-18 11:10:21 +02:00
Tony Torralba
8263524d70
Add tests for Intent and ComponentName summaries
2021-10-18 11:10:17 +02:00
Tony Torralba
2ab7a55545
Improve intermediate flow to add more potential sources
2021-10-18 11:09:52 +02:00
Tony Torralba
28369d1822
Apply suggestions from code review
...
Co-authored-by: Steve Guntrip <12534592+stevecat@users.noreply.github.com >
2021-10-18 11:09:31 +02:00
Tony Torralba
aa2cdb7a53
Add intermediate dataflow
...
Make sure that source intents are obtained from another intent's extras
2021-10-18 11:09:30 +02:00
Tony Torralba
f90220436f
Move sinks to security library
2021-10-18 11:09:28 +02:00
Tony Torralba
9a537f9c23
Add guard sanitizer for component name checks
2021-10-18 11:08:14 +02:00
Tony Torralba
21b70a009e
Use CSV models
2021-10-18 11:07:58 +02:00
Tony Torralba
9604f88ae0
Undo autoformatting
2021-10-18 11:07:28 +02:00
Tony Torralba
d7973592da
Update java/ql/src/semmle/code/java/security/AndroidIntentRedirection.qll
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-10-18 11:07:03 +02:00
Tony Torralba
5f0ce4d232
Add suggestions from code review
2021-10-18 11:07:01 +02:00
Tony Torralba
a6f2ebe820
Fix stubs
2021-10-18 11:06:43 +02:00
Tony Torralba
9eb4cda1af
Fix qhelp and formatting
2021-10-18 11:06:08 +02:00
Tony Torralba
031fa2199c
Fix stubs and tests
2021-10-18 11:06:06 +02:00
Tony Torralba
529a3d9d61
Added change note
2021-10-18 11:04:35 +02:00
Tony Torralba
5dfb0d4d64
Fix Android tests affected by changes in stubs
2021-10-18 11:04:33 +02:00
Tony Torralba
ef30ca211a
Fix stubs
2021-10-18 11:03:13 +02:00
Tony Torralba
7b949e8db2
QLDoc
2021-10-18 11:02:35 +02:00
Tony Torralba
fd8a128693
Renamed to AndroidIntentRedirection
...
Added qhelp
2021-10-18 11:02:34 +02:00
Tony Torralba
09d96e65b8
Added QLDoc
2021-10-18 11:02:32 +02:00
Tony Torralba
8c400d9b1b
Added tests and stubs
2021-10-18 11:02:10 +02:00
Tony Torralba
d006db9d20
First version of the query
2021-10-18 10:58:09 +02:00
Mathias Vorreiter Pedersen
ea67ca22a9
C++: Undo changes to shared dataflow files.
2021-10-18 09:00:00 +01:00
Tony Torralba
5216bbab93
Merge pull request #6835 from atorralba/atorralba/fix-local-and-remote-flow-tests
...
Java: Use InlineExpectationsTest for local and remote flow tests
2021-10-18 09:33:57 +02:00
Tom Hvitved
47ae76fb7d
Merge pull request #6890 from hvitved/csharp/nullable-default-param
...
C#: Handle `Nullable<T>` default parameter values in assemblies
2021-10-18 08:55:02 +02:00
Tony Torralba
e3b46f25a5
Merge branch 'main' into atorralba/fix-local-and-remote-flow-tests
2021-10-18 08:52:37 +02:00
Marcono1234
43b7bc52ca
Java: Add MemberRefExpr.getReceiverType()
2021-10-18 00:26:19 +02:00
Mathias Vorreiter Pedersen
af6a21f5d9
Merge pull request #6893 from geoffw0/nullterm
...
C++: Disable the two null termination queries enabled by 6794.
2021-10-17 22:14:10 +01:00
Surya Prakash Sahu
2871bdb206
Python SignatureOverriddenMethod: Rmv duplicate condition
2021-10-17 18:04:20 +05:30
jorgectf
271e2e4c49
Update .expected
2021-10-16 13:12:33 +02:00
jorgectf
14c50e993b
Add django GET.get RFS
2021-10-16 13:10:48 +02:00
jorgectf
45146bc798
Merge branch 'main' into jorgectf/python/headerInjection
2021-10-16 12:46:57 +02:00
jorgectf
bf76d9cd8b
Fix django test
2021-10-16 10:45:25 +02:00
jorgectf
2db1ffef1e
Merge remote-tracking branch 'origin/main' into jorgectf/python/headerInjection
2021-10-16 10:40:52 +02:00
Edoardo Pirovano
0e01b91c7e
Language reference: Fix when trailing commas are allowed
2021-10-16 08:57:26 +01:00
Arthur Baars
e26cf7c354
Merge pull request #369 from github/rc/3.3
...
Merge 3.3 into main
2021-10-15 23:04:12 +02:00
Arthur Baars
9b88bbdd04
Merge pull request #367 from github/shati-patel/queriesxml
...
Add a queries.xml file (for CWE coverage docs)
2021-10-15 20:50:21 +02:00
shati-patel
c37cf71766
Add a queries.xml file (for CWE coverage) docs
2021-10-15 20:33:16 +02:00
Ian Lynagh
e485a16993
Java: Don't use dbscheme tables in CloseType.qll
2021-10-15 18:39:42 +01:00
Calum Grant
5861fcf443
Address review comment
2021-10-15 18:07:18 +01:00
Calum Grant
42c5af3cdf
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:03:12 +01:00
Calum Grant
87adcc2e6b
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:03:04 +01:00
Calum Grant
5265ed6b64
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:02:54 +01:00
Calum Grant
bf5cc212e1
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:02:40 +01:00
Calum Grant
48077a5757
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:02:32 +01:00
Calum Grant
86c5b5d944
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:02:20 +01:00
Calum Grant
579753b0fc
Update docs/codeql/codeql-language-guides/codeql-library-for-ruby.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:02:09 +01:00
Calum Grant
2d61519ec6
Update docs/codeql/codeql-language-guides/basic-query-for-ruby-code.rst
...
Co-authored-by: hubwriter <hubwriter@github.com >
2021-10-15 18:01:56 +01:00
Geoffrey White
6b0360acca
Revert "C++: Disable the two null termination queries enabled by 6794."
...
This reverts commit f38dade578 .
2021-10-15 17:54:26 +01:00
Geoffrey White
5cbf632573
C++: Inline and simplify 'Assignment to another stack variable' case in NullTermination.qll.
2021-10-15 17:54:26 +01:00
Geoffrey White
f38dade578
C++: Disable the two null termination queries enabled by 6794.
2021-10-15 17:39:12 +01:00
Nick Rolfe
8469a535e3
Merge pull request #366 from github/merge-3.3-main-1
...
Merge 3.3 into main
2021-10-15 17:18:39 +01:00
Arthur Baars
804aef9b4a
Merge remote-tracking branch 'codeql/main' into 'main'
...
Conflicts:
config/identical-files.json
2021-10-15 16:37:59 +02:00
Arthur Baars
0e7b1f516c
Merge remote-tracking branch 'origin/rc/3.3' into 'main'
2021-10-15 16:36:09 +02:00
Arthur Baars
3cb9a4921d
Merge pull request #363 from github/codeql-merge
...
Merge `github/codeql` into rc/3.3
2021-10-15 16:17:20 +02:00
Arthur Baars
f296cc7860
Merge pull request #362 from github/merge-3.3-main
...
Merge 3.3 into main
2021-10-15 16:01:56 +02:00
Erik Krogh Kristensen
fe891746bf
C++: fix implicit this
2021-10-15 14:59:48 +01:00
Arthur Baars
568872a2f5
Add ruby to CODEOWNERS
2021-10-15 15:38:16 +02:00
Arthur Baars
103d9420d2
Update CodeSpaces configuration
2021-10-15 15:38:16 +02:00
Arthur Baars
5cd9b9cfc5
Remove github/codeql submodule
2021-10-15 15:38:16 +02:00
Arthur Baars
5a16f1e093
Merge identical-files.json
2021-10-15 15:38:16 +02:00
Geoffrey White
a0e501c3a9
Sync identical files.
2021-10-15 14:34:02 +01:00
Arthur Baars
56953f5d5d
Merge commit 'codeql-ruby/rc/3.3' into codeql/rc/3.3
2021-10-15 15:33:47 +02:00
Erik Krogh Kristensen
caeeebf572
add explicit this qualifier on all of java
2021-10-15 15:27:37 +02:00
Arthur Baars
ceecb23118
Merge remote-tracking branch 'rc/3.3' into 'main'
2021-10-15 15:21:48 +02:00
Arthur Baars
2444f6e7eb
Merge pull request #361 from github/prepare-merge
...
Prepare merge into github/codeql
2021-10-15 15:07:35 +02:00
Tom Hvitved
888a1b38aa
C#: Handle Nullable<T> default parameter values in assemblies
2021-10-15 14:23:18 +02:00
Arthur Baars
472fe0064f
Update dependabot config
2021-10-15 14:20:07 +02:00
Arthur Baars
a9ba13c557
Drop LICENSE and CODE_OF_CONDUCT.md
2021-10-15 14:20:07 +02:00
Arthur Baars
21373c43eb
Add change note
2021-10-15 14:20:07 +02:00
Arthur Baars
c66bf38f8d
Update Ruby workflows
2021-10-15 14:20:07 +02:00
Arthur Baars
393800e4b9
Move create-extractor-pack Action
2021-10-15 11:47:57 +02:00
Arthur Baars
c815178f31
Remove CodeSpaces configuration
2021-10-15 11:47:56 +02:00
Arthur Baars
976daddd36
Move files to ruby subfolder
2021-10-15 11:47:28 +02:00
Taus
b2e4276bc8
Merge pull request #6886 from aschackmull/java-python/perffix-transitive-step-x3
...
Java/Python: Fix some potential performance problems due to transitive deltas.
2021-10-15 11:06:35 +02:00
Tom Hvitved
86b1305e35
Merge pull request #6883 from hvitved/csharp/inline-expectations
...
C#: Adopt inline test expectations framework
2021-10-15 09:33:22 +02:00
Anders Schack-Mulligen
4de1deefc4
Merge pull request #6889 from tausbn/java-fix-import-order
...
Java: Fix import order in `SignAnalysisSpecific`
2021-10-15 09:17:50 +02:00
Anders Schack-Mulligen
0b82289950
Merge pull request #6828 from zbazztian/adjust-jsp-locations
...
Adjust locations of results in JSP files
2021-10-15 08:28:11 +02:00
hubwriter
4f247bab4e
Add Ruby to language table
2021-10-14 17:13:42 +01:00
Taus
a9c5fd2cc0
Java: Fix import order in SignAnalysisSpecific
2021-10-14 15:51:56 +00:00
Geoffrey White
8f30b8b586
Autoformat.
2021-10-14 16:00:23 +01:00
Anders Schack-Mulligen
eb0a88d39c
Merge pull request #6885 from aschackmull/java/perffix-transitve-step
...
Java: Fix performance problem due to transitive step.
2021-10-14 16:51:51 +02:00
hubwriter
75066813ee
Add more Ruby refs as per CD plan
2021-10-14 15:51:28 +01:00
Anders Schack-Mulligen
f6a517c998
Merge pull request #6882 from MathiasVP/fix-unnecessary-exists
...
C++/Python: Remove unnecessary `exists`
2021-10-14 16:44:05 +02:00
Anders Schack-Mulligen
310eec07c1
Java/Python: Fix some potential performance problems due to transitive deltas.
2021-10-14 16:10:00 +02:00
Anders Schack-Mulligen
cb5f2559ea
Java: Fix performance problem due to transitive step.
2021-10-14 15:54:54 +02:00
Geoffrey White
f08d2ee759
Merge branch 'main' into setliterals
2021-10-14 14:39:39 +01:00
Geoffrey White
9d63efe495
Python: Set literals.
2021-10-14 14:22:44 +01:00
Geoffrey White
b9cce57db4
JS: Fix mistake.
2021-10-14 14:22:43 +01:00
Geoffrey White
882adc8e50
JS: Set literals.
2021-10-14 14:22:42 +01:00
Geoffrey White
a82c76d2f9
Java: Set literals.
2021-10-14 14:22:40 +01:00
Geoffrey White
3983587682
C#: Set literals.
2021-10-14 14:22:39 +01:00
Tom Hvitved
083214f85a
C#: Use inline test expectations for FieldFlow.ql
2021-10-14 15:22:21 +02:00
Tom Hvitved
ed6a182cd1
C#: Adopt inline test expectations framework
2021-10-14 15:22:21 +02:00
Anders Schack-Mulligen
8b6baa250c
Merge pull request #6878 from aschackmull/remove-singleton-setliteral
...
C++/C#/Java/JavaScript/Python: Remove singleton set literals.
2021-10-14 14:53:05 +02:00
Rasmus Wriedt Larsen
7cd5e681dd
Merge pull request #6693 from yoff/python/promote-regex-injection
...
Python: Promote `py/regex-injection`
2021-10-14 14:49:05 +02:00
Mathias Vorreiter Pedersen
47a85bbb1d
Merge pull request #6869 from MathiasVP/fix-prefix/suffix-equality
...
Java/JS/Python: Replace '.prefix'/'.suffix' with '.matches'
2021-10-14 13:47:03 +01:00
Rasmus Wriedt Larsen
a5ab0b9100
Merge pull request #6871 from tausbn/python-fix-uses-of-implicit-this
...
Python: Fix uses of "implicit `this`"
2021-10-14 14:38:13 +02:00
Tom Hvitved
3acd718876
Merge pull request #360 from github/bump-codeql
...
Bump `codeql` submodule
2021-10-14 14:00:57 +02:00
Tom Hvitved
b12561865a
Bump codeql submodule
2021-10-14 13:41:48 +02:00
Nick Rolfe
1920cd1c7e
Merge pull request #359 from github/explicit_this
...
Add explicit `this` qualifiers in generated code
2021-10-14 12:40:09 +01:00
Anders Schack-Mulligen
10d6803b05
Merge pull request #6880 from hvitved/csharp/explicit-this
...
C#: Add explicit `this` qualifiers
2021-10-14 13:31:04 +02:00
Mathias Vorreiter Pedersen
8049d3f738
Python: Remove unnecessary 'exists'.
2021-10-14 12:02:57 +01:00
Mathias Vorreiter Pedersen
69ed7c543f
C++: Remove unnecessary 'exists'.
2021-10-14 11:59:59 +01:00
Nick Rolfe
ec91111848
Add explicit this qualifiers in generated code
2021-10-14 11:53:27 +01:00
Erik Krogh Kristensen
047aee313c
add pragma[noinline] to predicates where the qldoc mentions join-order
2021-10-14 12:34:25 +02:00
Tom Hvitved
dde054d5a7
Merge pull request #357 from github/erik-krogh/fix-implicit-this
...
Add explicit `this` qualifiers
2021-10-14 12:00:58 +02:00
Tom Hvitved
f5420333e2
Sync shared files
2021-10-14 11:49:02 +02:00
Tom Hvitved
3dc09a3cda
Revert changes to shared/generated files
2021-10-14 11:42:05 +02:00
Anders Schack-Mulligen
57cb300759
C++/C#/Java/JavaScript/Python: Remove singleton set literals.
2021-10-14 11:34:22 +02:00
Erik Krogh Kristensen
a358a192c4
add explicit this to all calls to class predicates
2021-10-14 10:11:55 +02:00
Erik Krogh Kristensen
cbd55f2299
add explicit this to all calls to class predicates
2021-10-14 10:10:00 +02:00
Mathias Vorreiter Pedersen
a2371370ff
Merge pull request #6865 from MathiasVP/fix-if-none
...
C++/C#/JS/Python: Replace 'if p() then q() else none()' with a conjunction
2021-10-13 19:47:55 +01:00
Mathias Vorreiter Pedersen
4991301f36
JS: Fix incorrect fix.
2021-10-13 19:45:02 +01:00
Tom Hvitved
c14dcfbfe4
Data flow: Sync
2021-10-13 20:13:28 +02:00
CodeQL CI
2b0415e238
Merge pull request #6741 from yoff/python/model-os-path-file-accesses
...
Approved by RasmusWL
2021-10-13 11:11:41 -07:00
Tom Hvitved
5be7a97a16
Data flow: Avoid unnecessary non-linear recursion via getConfiguration()
2021-10-13 20:10:26 +02:00
Tom Hvitved
ee44e742f6
Data flow: Avoid bad join-order in pathIntoCallable0
2021-10-13 20:09:43 +02:00
Arthur Baars
236643fc43
Merge pull request #356 from github/rc/3.3
...
Merge rc/3.3 into main
2021-10-13 19:21:36 +02:00
Arthur Baars
240b33f119
Merge pull request #355 from github/aeisenberg/bump-submodule
...
Bump codeql submodule
2021-10-13 18:50:25 +02:00
Andrew Eisenberg
ef8eff8c29
Bump codeql submodule
2021-10-13 09:30:52 -07:00
Andrew Eisenberg
878203f1d0
Merge pull request #6862 from github/aeisenberg/tutorial
...
Move tutorial directly into each qlpack
2021-10-13 09:29:37 -07:00
Tom Hvitved
1cf90858cc
Merge pull request #350 from github/hvitved/erb-get-a-child-stmt-perf
...
Speedup `ErbDirective::containsStmtStart`
2021-10-13 18:14:43 +02:00
Andrew Eisenberg
0d1632a5d2
Move tutorial directly into each qlpack
...
Previously, the tutorial was injected during build time. This is much
simpler.
2021-10-13 08:37:04 -07:00
Arthur Baars
5df728dd7d
Merge pull request #354 from github/hvitved/identical-files-fix
...
Remove "DataFlow2" section from `identical-files.json`
2021-10-13 17:20:40 +02:00
Geoffrey White
2e61ae244a
C++: Set literals.
2021-10-13 16:12:36 +01:00
Tom Hvitved
6b46aaaefb
Remove "DataFlow2" section from identical-files.json
2021-10-13 17:03:48 +02:00
Arthur Baars
893ca5a250
Merge pull request #353 from github/rc/3.3
...
Merge rc/3.3 into main
2021-10-13 16:33:42 +02:00
Arthur Baars
dc8399f13c
Merge pull request #352 from github/hvitved/dataflowimpl2-sync
...
Add missing `DataFlowImpl2.qll` entry to `identical-files.json`
2021-10-13 16:08:24 +02:00
Anders Schack-Mulligen
169cc75c88
Merge pull request #6840 from aschackmull/java/misc-perf
...
Java: Fix some performance issues.
2021-10-13 15:53:49 +02:00
Tom Hvitved
11792e17a9
Add missing DataFlowImpl2.qll entry to identical-files.json
2021-10-13 15:50:29 +02:00
Andrew Eisenberg
01819cdbde
Merge pull request #344 from github/aeisenberg/tutorial
2021-10-13 06:48:55 -07:00
Taus
a6115687aa
Python: More implicit this
2021-10-13 13:43:37 +00:00
Taus
a9c8163ab3
Python: Fix uses of implicit this
...
Quoting the style guide:
"14. _Always_ qualify _calls_ to predicates of the same class with
`this`."
2021-10-13 13:43:36 +00:00
Andrew Eisenberg
0e0441743b
Move tutorial directly into each qlpack
...
See also https://github.com/github/codeql/pull/6862
2021-10-13 15:28:17 +02:00
Arthur Baars
aa4d0021a8
Merge pull request #349 from github/aibaars/bump-codeql-main
...
Bump codeql submodule on main
2021-10-13 15:26:59 +02:00
Arthur Baars
078cebe822
Merge pull request #351 from github/aibaars/fix-broken-links
...
Update broken links
2021-10-13 15:25:23 +02:00
Philip Ginsbach
a204b7f3e7
Merge pull request #6866 from github/ginsbach/MoreInstanceofExtensions
...
more instanceof extensions
2021-10-13 14:21:50 +01:00
Jonas Jensen
c215838531
Merge pull request #6867 from nickrolfe/mergeback
...
Merge rc/3.3 into main
2021-10-13 15:19:18 +02:00
Mathias Vorreiter Pedersen
6ece3c2b46
Merge pull request #6870 from jbj/cp-fixes
...
C++: Fix potential Cartesian products
2021-10-13 14:15:33 +01:00
Arthur Baars
f4003406cf
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2021-10-13 15:11:04 +02:00
Arthur Baars
112b7a8e27
Update broken links
2021-10-13 15:03:19 +02:00
Tom Hvitved
436f678c94
Speedup ErbDirective::containsStmtStart
2021-10-13 14:41:04 +02:00
Jonas Jensen
e80c1ad91f
C++: Fix resource-not-released-in-destructor CP
...
By moving a disjunct outside the scope of an `exists(Function f`
variable it doens't use, the code becomes clearer and can be optimized
better.
The CP in the QL code did not lead to a CP at evaluation time since the
optimizer was smart enough to compensate for it:
376161 ~37597630% {0} r1 = SCAN functions OUTPUT {}
1 ~0% {0} r2 = STREAM DEDUP r1
Before this change, the largest tuple count in `leakedInSameMethod` on
bitcoin/bitcoin was 2M. Now it's 400k.
2021-10-13 14:24:26 +02:00
Mathias Vorreiter Pedersen
a80860cdc6
Python: Replace '.prefix'/'.suffix' with '.matches'.
2021-10-13 13:23:12 +01:00
Mathias Vorreiter Pedersen
f3bb0a676e
JS: Replace '.prefix'/'.suffix' with '.matches'.
2021-10-13 13:23:07 +01:00
Mathias Vorreiter Pedersen
d85d009a54
Java: Replace '.prefix'/'.suffix' with '.matches'.
2021-10-13 13:19:06 +01:00
Jonas Jensen
955344e175
C++: Inline a predicate that contains CPs
...
The `overflows` predicate had quite severe Cartesian products. We didn't
see them in practice because magic saved us, but we can't rely on magic
in the future, so it seems better to inline this predicate.
Tuple counts and speed look good both before and after.
2021-10-13 14:11:47 +02:00
Philip Ginsbach
c9c0c7f24f
fix formatting
2021-10-13 13:10:37 +01:00
Arthur Baars
bf3d291a1c
Updates after codeql file sync
2021-10-13 13:24:20 +02:00
Arthur Baars
80ac05d5c6
Bump codeql submodule to 'main'
2021-10-13 13:24:08 +02:00
Alex Ford
0d72a51334
Merge pull request #342 from github/improve-xss-isAdditionalFlowStep
...
Improve `XSS::Shared::isAdditionalFlowStep` performance
2021-10-13 12:15:52 +01:00
Mathias Vorreiter Pedersen
bdc54bcda7
Python: Replace 'if p() then q() else none()' with a conjunction.
2021-10-13 12:13:55 +01:00
Mathias Vorreiter Pedersen
887849857d
JS: Replace 'if p() then q() else none()' with a conjunction.
2021-10-13 12:13:55 +01:00
Mathias Vorreiter Pedersen
7690625114
C#: Replace 'if p() then q() else none()' with a conjunction.
2021-10-13 12:11:50 +01:00
Mathias Vorreiter Pedersen
ba981c525b
C++: Replace 'if p() then q() else none()' with a conjunction.
2021-10-13 12:11:42 +01:00
Arthur Baars
6a18aa4e2a
Merge pull request #348 from github/rc/3.3
...
Merge rc/3.3 into main
2021-10-13 13:08:55 +02:00
Arthur Baars
287046e9b0
Merge pull request #346 from github/erik-krogh/fix-primary-class-typo
...
fix typo for getAPrimaryQlClass
2021-10-13 12:53:51 +02:00
Philip Ginsbach
6b9ddf1f65
Guard non-extending subtype of G::Guard
2021-10-13 11:44:22 +01:00
Philip Ginsbach
e3e741251f
ParameterNode non-extending subtype of ParameterNodeImpl
2021-10-13 11:42:41 +01:00
Philip Ginsbach
aa656f7542
ArgumentNode non-extending subtype of ArgumentNodeImpl
2021-10-13 11:41:40 +01:00
Philip Ginsbach
4a0aac8505
SuppressionScope non-extending subtype of SuppressionComment
2021-10-13 11:40:32 +01:00
Philip Ginsbach
d0ecabad19
DataFlowCall non-extending subtype of Call
2021-10-13 11:39:25 +01:00
Nick Rolfe
1c5dcecf1e
Update expected output to match getAPrimaryQlClass change
2021-10-13 12:39:13 +02:00
Erik Krogh Kristensen
e1675ff055
fix typo for getAPrimaryQlClass
2021-10-13 12:39:13 +02:00
Arthur Baars
d448e208ab
Merge pull request #347 from github/aibaars/bump-codeql
...
Bump codeql submodule to rc/3.3
2021-10-13 12:28:17 +02:00
Arthur Baars
8ef1af9de0
Bump codeql submodule to rc/3.3
2021-10-13 12:03:49 +02:00
Tom Hvitved
e2db11b31f
Performance improvements in XSS.qll
...
Various performance improvements to make sure that we never join methods
and calls (or variables and accesses) on only name (or file), but always
perform a multi-join on both values.
2021-10-13 11:53:49 +02:00
Calum Grant
59e4a6ff7b
Move file to correct location
2021-10-13 09:23:04 +01:00
Calum Grant
f575139180
Add Ruby to toctree
2021-10-13 09:10:46 +01:00
Anders Schack-Mulligen
d4fd8780e9
Merge pull request #6863 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-13 08:58:18 +02:00
Anders Schack-Mulligen
306388a6bc
Update java/ql/src/Likely Bugs/Comparison/StringComparison.ql
2021-10-13 08:57:31 +02:00
github-actions[bot]
2f27a0c9f9
Add changed framework coverage reports
2021-10-13 00:09:35 +00:00
Andrew Eisenberg
8285878504
Merge pull request #6861 from github/aeisenberg/qlpack-defaultSuite
...
QlPacks: Add the defaultSuite to query packs that are missing it
2021-10-12 14:27:09 -07:00
Andrew Eisenberg
7a0437f159
Merge pull request #343 from github/aeisenberg/defaultSuite
...
Add defaultSuite
2021-10-12 14:26:35 -07:00
Andrew Eisenberg
d9ab13b43d
Update ql/src/qlpack.yml
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-10-12 13:01:03 -07:00
Andrew Eisenberg
2fca1f57c6
Add defaultSuite
...
Also, change the dependencies to be in alignment with other standard qlpacks.
2021-10-12 21:57:53 +02:00
Arthur Baars
4e79d9fad6
Merge pull request #334 from github/RasmusWL/normalize-qlpack
...
Packaging: Normalize src/qlpack.yml
2021-10-12 21:56:31 +02:00
Alex Ford
ad5c1f9b32
ql format
2021-10-12 20:43:20 +01:00
Alex Ford
d7b5e4c779
update predicate visibility
2021-10-12 20:43:20 +01:00
Alex Ford
9083cda8df
improve XSS::Shared::isFlowFromHelperMethod performance
2021-10-12 20:43:20 +01:00
Alex Ford
9afc1f9275
split out isAdditionalXSSFlowStep components
2021-10-12 20:43:20 +01:00
Andrew Eisenberg
bbb2637bcc
QlPacks: Add the defaultSuite to query packs that are missing it
...
Also, change some examples pack names from `codeql-lang-examples` to
`codeql/lang-examples`. This doesn't affect behaviour since internally,
the legacy name is converted to the modern name.
2021-10-12 11:54:50 -07:00
Arthur Baars
bf139a09f9
Merge pull request #341 from github/rc/3.3
...
Rc/3.3 mergeback
2021-10-12 20:48:21 +02:00
Arthur Baars
8531174d30
Merge pull request #333 from github/hvitved/api-graphs-non-linear-rec
...
API graphs: Avoid non-linear recursion
2021-10-12 20:24:07 +02:00
Arthur Baars
80ebfed226
Merge pull request #336 from github/improve-getTemplateFile
...
Improve `RenderCall#getTemplateFile` performance and accuracy
2021-10-12 20:21:12 +02:00
Arthur Baars
06e91c1182
Merge pull request #322 from github/request-without-validation
...
rb/request-without-cert-validation
2021-10-12 20:19:11 +02:00
Arthur Baars
a78ee535a0
Merge pull request #340 from github/mergeback
...
Merge rc/3.3 into main
2021-10-12 20:16:59 +02:00
Rasmus Lerchedahl Petersen
83490e9a03
Python: update change note
2021-10-12 19:27:27 +02:00
Aditya Sharad
a517a05ca8
Merge pull request #6830 from github/henrymercer/report-extraction-errors-as-warnings
...
C++: Improve SARIF severity level reporting of extractor diagnostics
2021-10-12 09:59:27 -07:00
Nick Rolfe
ceef9762a7
Fix comment typo
...
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com >
2021-10-12 17:45:34 +01:00
Arthur Baars
398ed4c0c9
Merge pull request #338 from github/aibaars/update-grammar
...
Update tree-sitter-ruby
2021-10-12 18:39:34 +02:00
Calum Grant
30a00b22c9
CodeQL library for Ruby
2021-10-12 17:33:09 +01:00
Arthur Baars
bb5da92577
Update src/unsupported_feature.rb with a feature that is still unsupported
2021-10-12 18:11:00 +02:00
Arthur Baars
8c9d3b88df
Update dbscheme stats
2021-10-12 17:48:59 +02:00
Arthur Baars
0dc3ea5ed1
Add test-cases for forward arguments and endless methods
2021-10-12 17:32:01 +02:00
Arthur Baars
e44064cda7
Add forward parameter/arguments to AST
2021-10-12 17:31:31 +02:00
Nick Rolfe
ecc9f07c50
Merge pull request #311 from github/nickrolfe/oj
...
Consider Oj.load a sink for unsafe deserialization
2021-10-12 16:17:08 +01:00
Alex Ford
e35ad020d5
ql format
2021-10-12 15:56:00 +01:00
Alex Ford
909cdacb1a
remove cast to StringlikeLiteral
2021-10-12 15:27:26 +01:00
Alex Ford
44499cab51
replace an abstract predicate
2021-10-12 15:27:10 +01:00
Anders Schack-Mulligen
0e5f89a03c
Merge pull request #6463 from smowton/smowton/admin/gson-unsafe-deserialization
...
Java: add Gson support to unsafe-deserialization query
2021-10-12 16:15:27 +02:00
Mathias Vorreiter Pedersen
6853f491f4
Merge pull request #6794 from geoffw0/impropnullfp
...
C++: Improvements to cpp/improper-null-termination
2021-10-12 14:47:02 +01:00
Tom Hvitved
10739b11ee
Merge pull request #6841 from hvitved/dataflow/incorrect-summary-chaining
...
Data flow: Add tests for missing summary flow
2021-10-12 15:44:21 +02:00
Rasmus Lerchedahl Petersen
e904e7410b
Python: Update frameworks.rst
2021-10-12 15:21:38 +02:00
yoff
c40b3a9533
Update python/ql/lib/semmle/python/frameworks/Asyncpg.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-10-12 15:19:07 +02:00
Rasmus Lerchedahl Petersen
6c108e43d9
Python: address review
2021-10-12 15:16:48 +02:00
Rasmus Lerchedahl Petersen
cf92e1eee7
Python: move getStringArgIndex
2021-10-12 15:11:00 +02:00
Chris Smowton
83c6406167
Update javadoc
2021-10-12 13:51:02 +01:00
Tom Hvitved
cc305ed766
Data flow: Sync
2021-10-12 14:37:33 +02:00
Tom Hvitved
296e268339
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-10-12 14:28:32 +02:00
Erik Krogh Kristensen
7d4266aea7
skip pipes and other special files when determining which files to extract
2021-10-12 14:06:41 +02:00
Chris Smowton
3c96e62be7
Remove duplicate declaration
2021-10-12 12:35:05 +01:00
Chris Smowton
8816aa1431
Improve Android stub fidelity to the point that all relevant tests work
...
Note these still aren't entirely mechanically generated stubs matching the real Android 9.
2021-10-12 12:35:05 +01:00
Chris Smowton
205b6fe6d7
Fix bad merge on Uri.java
2021-10-12 12:35:05 +01:00
Chris Smowton
5da392ebfe
Introduce TaintInheritingContent
2021-10-12 12:35:05 +01:00
Chris Smowton
1afc03b9b5
Remove redundant import
2021-10-12 12:35:05 +01:00
Chris Smowton
9e0b112f05
Remove now-unnecessary models and tests
2021-10-12 12:35:05 +01:00
Chris Smowton
490168fb05
Fix comments
2021-10-12 12:35:05 +01:00
Chris Smowton
1dffbcd0bd
Fix tests disrupted by re-modelling and stubbing Android 9:
...
* Account for changed dataflow graph shape using external flow
* Account for BaseBundle only existing as of Android 5
* Properly implement Parcelable, which we previously got away with due to a partial stub
* Restore an Android 11 function that had been added to the Android 9 Context class (I won't get into enforcing the difference in this PR)
2021-10-12 12:35:05 +01:00
Chris Smowton
81c0e66b1d
Add change note and update qhelp
2021-10-12 12:35:05 +01:00
Chris Smowton
fc0b18cf61
Add tests for Android flow steps
2021-10-12 12:35:05 +01:00
Chris Smowton
cd2c9e9ca3
Add Gson support to unsafe deserialization query
2021-10-12 12:35:04 +01:00
Anders Schack-Mulligen
6b4ca31783
Merge pull request #6849 from Marcono1234/marcono1234/improvements
...
Java: Serialization query improvements
2021-10-12 13:30:45 +02:00
Alex Ford
9640af0b8c
Merge pull request #339 from github/rc-workflows
...
enable actions workflows for rc branches
2021-10-12 12:23:47 +01:00
hubwriter
516674697b
Fix one-word typo
2021-10-12 11:30:02 +01:00
Alex Ford
f870c38e4c
enable actions workflows for rc branches
2021-10-12 10:47:27 +01:00
Alex Ford
48f3d48a11
add some test cases for checking against spurious flow into ERB templates
2021-10-12 10:37:22 +01:00
Arthur Baars
2a7f3fbfaf
Add upgrade script
2021-10-12 11:36:10 +02:00
Shati Patel
1c3239972c
Merge pull request #6854 from shati-patel/packaging-beta-note
...
Docs: Update beta note for packaging
2021-10-12 10:33:59 +01:00
Taus
75c4d6a8a0
Merge pull request #6650 from yoff/python-dataflow/init-time
...
Python: Import time dataflow
2021-10-12 11:31:03 +02:00
Rasmus Lerchedahl Petersen
61008fd3d0
Merge branch 'main' of github.com:github/codeql into python/promote-regex-injection
2021-10-12 11:28:12 +02:00
Rasmus Lerchedahl Petersen
b093aaaf27
Python: switch to type tracking
...
for tracking compiled regexes
2021-10-12 11:23:27 +02:00
yoff
43f7eede0b
Merge pull request #6182 from haby0/python/LogInjection
...
Python: CWE-117 Log injection
2021-10-12 10:54:45 +02:00
yoff
c007c9460c
Merge pull request #6843 from RasmusWL/dataflow-bool-expr
...
Python: Add data-flow for `x or y` and `x and y`
2021-10-12 10:40:54 +02:00
Rasmus Lerchedahl Petersen
f34d1ee997
Python: Update test expectation following rename
2021-10-12 10:36:18 +02:00
Tom Hvitved
97bbb12e06
Merge pull request #6838 from hvitved/csharp/enumerate-files-dir-not-found
...
C#: Make `GetCSharpArgsLogs` robust against log directory not existing
2021-10-12 10:00:27 +02:00
haby0
d52f95d24d
Auto Formatting
2021-10-12 09:36:44 +08:00
Nick Rolfe
8e14b6582d
Remove unused predicate
2021-10-11 18:15:41 +01:00
Mathias Vorreiter Pedersen
df8c399efb
Merge pull request #6710 from ihsinme/ihsinme-patch-70
...
CPP: Add query for CWE-1041 Use of Redundant Code
2021-10-11 17:17:01 +01:00
Alex Ford
7270fe0ee7
slightly limit viable template files from render calls
2021-10-11 17:12:08 +01:00
Alex Ford
cdfee1f27d
better RenderCall#getTemplateFile performance and accuracy
2021-10-11 16:46:10 +01:00
ihsinme
4334acb6f2
Update FindWrapperFunctions.qhelp
2021-10-11 18:40:03 +03:00
Tony Torralba
a8aa8e3bb4
Use InlineExpectationsTest directly
2021-10-11 16:38:20 +02:00
yoff
0629ce00de
Merge pull request #6214 from haby0/python/ClientSuppliedIpUsedInSecurityCheck
...
[Python] CWE-348: Client supplied ip used in security check
2021-10-11 16:38:04 +02:00
Geoffrey White
ac6acfb660
C++: Use data flow.
2021-10-11 15:36:00 +01:00
Owen Mansel-Chan
058a04f756
Merge pull request #6795 from owen-mc/inline-expectation-test-trivial-change
...
Change class name in InlineExpectationTest to avoid clash
2021-10-11 15:35:17 +01:00
shati-patel
c7fbddce54
Docs: Update beta note for packaging
2021-10-11 15:02:25 +01:00
Rasmus Wriedt Larsen
bca1cb141c
Packaging: Normalize src/qlpack.yml
...
Port of 4) from https://github.com/github/codeql/pull/6605
> Dependencies from query packs to other packs are always "*" since
these dependencies are always from source and we should get the
latest.
Compare with [C++ change](https://github.com/github/codeql/pull/6605/files#diff-0236560ca1b9c19eb7c74d8bfecd1c78005e762122f8bcdaee9eb9b20460bf9c ).
2021-10-11 14:36:14 +02:00
Marcono1234
ba0dbd5871
Java: Improve IncorrectSerializableMethods.ql; address review comments
2021-10-11 14:29:10 +02:00
Rasmus Lerchedahl Petersen
19f6cc00c8
Python: rewrite import time test
2021-10-11 14:28:25 +02:00
yoff
5aee715931
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-10-11 13:00:21 +02:00
Arthur Baars
fac4df203a
Update tree-sitter-ruby
2021-10-11 12:53:16 +02:00
Tom Hvitved
98d1ee5178
API graphs: Avoid non-linear recursion
2021-10-11 12:01:33 +02:00
Tom Hvitved
68ea3e7b49
Data flow: Add debugging predicates for rendering data flow graphs for summarized callables
2021-10-11 11:29:08 +02:00
Tom Hvitved
d5955f1ae1
Java: Add test for missing summary flow
2021-10-11 11:29:08 +02:00
Tom Hvitved
30bf2aade4
C#: Add test for missing summary flow
2021-10-11 11:29:08 +02:00
Tom Hvitved
61973c399e
C#: Make GetCSharpArgsLogs robust against log directory not existing
2021-10-11 11:28:49 +02:00
Tom Hvitved
c75e2d306d
Merge pull request #6852 from hvitved/csharp/interpret-element0-bad-magic
...
C#: Avoid bad magic in `interpretElement0`
2021-10-11 11:27:35 +02:00
haby0
c2d0fcfbe6
Update python/ql/test/experimental/query-tests/Security/CWE-348/ClientSuppliedIpUsedInSecurityCheck.expected
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-10-11 16:46:02 +08:00
haby0
29ddc76e2f
Update python/ql/test/experimental/query-tests/Security/CWE-117/LogInjection.expected
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-10-11 16:43:30 +08:00
Rasmus Wriedt Larsen
8444388ec7
Python: Update .expected
2021-10-11 09:48:56 +02:00
Rasmus Wriedt Larsen
1552c108b0
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-10-11 09:34:15 +02:00
Tom Hvitved
b05d76a131
C#: Avoid bad magic in interpretElement0
2021-10-11 09:30:52 +02:00
Tony Torralba
0919746f1a
Merge pull request #6844 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-11 09:25:46 +02:00
github-actions[bot]
ea0a0522a7
Add changed framework coverage reports
2021-10-11 00:08:32 +00:00
Marcono1234
a7670fbcab
Java: Enhance IncorrectSerializableMethods.ql
2021-10-11 02:05:53 +02:00
Marcono1234
12936ff5fe
Java: Fix IncorrectSerializableMethods.ql using wrong readObject signature
2021-10-11 02:05:53 +02:00
Marcono1234
b009886664
Java: Add TypeObjectInputStream
2021-10-11 02:05:50 +02:00
Marcono1234
a74d423d82
Java: Improve AnnotationPresentCheck.ql
2021-10-11 01:03:46 +02:00
Rasmus Lerchedahl Petersen
64b1aeaecd
Python: Shorten toString for module vars
2021-10-10 15:59:31 +02:00
Rasmus Lerchedahl Petersen
0aa632d149
Python: Move writing of module vars
...
into runtime jump steps.
2021-10-10 15:49:33 +02:00
yoff
9c9c5c09ff
Merge pull request #6837 from RasmusWL/more-unsafe-deserialization-sinks
...
Python: More unsafe deserialization sinks
2021-10-10 14:33:53 +02:00
yoff
f6122c8a6c
Merge pull request #6734 from erik-krogh/regBehind
...
JS/PY: do not filter away regular expressions with lookbehinds
2021-10-10 13:54:26 +02:00
Henry Mercer
5b26d41d27
C++: Improve SARIF severity level reporting of extractor diagnostics
2021-10-08 17:53:55 +01:00
Rasmus Wriedt Larsen
a50b193c40
Python: Model data-flow for x or y and x and y
2021-10-08 18:32:30 +02:00
Rasmus Wriedt Larsen
15476c2513
Python: Add data-flow tests for BoolExp
...
> 6.11. Boolean operations
> The expression x and y first evaluates x; if x is false, its value is
> returned; otherwise, y is evaluated and the resulting value is
> returned.
> The expression x or y first evaluates x; if x is true, its value is
> returned; otherwise, y is evaluated and the resulting value is
> returned.
2021-10-08 18:29:06 +02:00
Nick Rolfe
f500e5b2d7
Use Expr::getValueText
2021-10-08 16:41:06 +01:00
Geoffrey White
79f13cae55
Merge pull request #6839 from geoffw0/toctoufp
...
CPP: Add test cases for cpp/toctou-race-condition
2021-10-08 16:15:00 +01:00
Rasmus Lerchedahl Petersen
705970cedd
Python: Update tests to use correct tag
2021-10-08 16:57:36 +02:00
Cornelius Riemenschneider
84883d115d
Merge pull request #6813 from adityasharad/docs/database-create-bazel
...
CLI docs: Add example for creating a database using a Bazel build command
2021-10-08 16:56:10 +02:00
Rasmus Lerchedahl Petersen
8ba01abcd6
Merge branch 'python-dataflow/init-time' of github.com:yoff/codeql into python-dataflow/init-time
2021-10-08 16:53:08 +02:00
Anders Schack-Mulligen
2185a654de
Java: Fix some performance issues.
2021-10-08 15:53:14 +02:00
Anders Schack-Mulligen
5d0e72755d
Merge pull request #6770 from aschackmull/java/stream-model
...
Java: Add models for java.util.stream.
2021-10-08 15:48:50 +02:00
Geoffrey White
1c56573194
C++: Add tests.
2021-10-08 14:30:27 +01:00
Geoffrey White
dd95131630
C++: Test spacing.
2021-10-08 14:28:42 +01:00
Rasmus Lerchedahl Petersen
4807f50c00
Merge branch 'main' of github.com:github/codeql into python-dataflow/init-time
2021-10-08 14:55:01 +02:00
ihsinme
8c42545d1c
Update FindWrapperFunctions.qhelp
2021-10-08 13:10:36 +03:00
Rasmus Wriedt Larsen
fd0c386a4c
Python: Add change-note
2021-10-08 12:06:18 +02:00
Rasmus Wriedt Larsen
5e6f042f6e
Python: Model pickle.Unpickler
2021-10-08 11:55:54 +02:00
Rasmus Wriedt Larsen
75b06d8a25
Python: Model dill.load
2021-10-08 11:55:54 +02:00
Rasmus Wriedt Larsen
4820be3b10
Python: Model keyword arguments to dill.loads
2021-10-08 11:55:54 +02:00
Rasmus Wriedt Larsen
9180257afe
Python: Refactor Dill.qll
...
So it matches the layout of all our other qll modules modeling a PyPI
package.
2021-10-08 11:55:54 +02:00
Rasmus Wriedt Larsen
f9333fc551
Python: Expand dill tests
2021-10-08 11:55:54 +02:00
Rasmus Wriedt Larsen
42980a1ab4
Python: Model shelve.open
2021-10-08 11:55:54 +02:00
Tony Torralba
2df30dc107
Use InlineFlowTest for local and remote flow tests
2021-10-08 11:48:35 +02:00
Anders Schack-Mulligen
446c738f20
Merge pull request #6790 from aschackmull/dataflow/force-precision
...
Dataflow: Force high precision of certain Contents.
2021-10-08 11:44:26 +02:00
Calum Grant
958fbc7992
Merge pull request #316 from github/calumgrant/readme
...
Update README.md
2021-10-08 10:36:07 +01:00
Alex Ford
9dedb0540e
Merge pull request #312 from github/rb/stored-xss-1
...
Implement `rb/stored-xss` query
2021-10-08 10:33:11 +01:00
ihsinme
d79596354e
Update cpp/ql/src/experimental/Security/CWE/CWE-1041/FindWrapperFunctions.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-10-08 11:50:45 +03:00
Tom Hvitved
951df380a9
Merge pull request #6829 from hvitved/csharp/gvn-to-string-concat-range
...
C#: Speedup GVN string `concat`s by pulling ranges into separate predicates
2021-10-08 10:02:31 +02:00
Anders Schack-Mulligen
06e59f3b17
Merge pull request #6832 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-08 09:53:49 +02:00
Anders Schack-Mulligen
1bec58dee5
Dataflow: Fix more qldoc: s/accesspath/access path/.
2021-10-08 09:41:26 +02:00
github-actions[bot]
062250741a
Add changed framework coverage reports
2021-10-08 00:08:55 +00:00
Rasmus Wriedt Larsen
a81d359669
Python: Model marshal.load
2021-10-07 21:27:51 +02:00
Rasmus Wriedt Larsen
1b61296ea5
Python: Model pickle.load
2021-10-07 21:25:48 +02:00
Rasmus Wriedt Larsen
27c368a444
Python: Model keyword arguments to pickle.loads
2021-10-07 21:24:12 +02:00
Rasmus Wriedt Larsen
3592b09d56
Python: Expand stdlib decoding tests
...
The part about claiming there is decoding of the input to `shelve.open`
is sort of an odd one, since it's not the filename, but the contents of
the file that is decoded.
However, trying to only handle this problem through path injection is
not enough -- if a user is able to upload and access files through
`shelve.open` in a path injection safe manner, that still leads to code
execution.
So right now the best way we have of modeling this is to treat the
filename argument as being deserialized...
2021-10-07 21:11:51 +02:00
Alex Ford
16ab4da812
Update ql/lib/codeql/ruby/security/XSS.qll
...
Co-authored-by: Harry Maclean <hmac@github.com >
2021-10-07 20:03:07 +01:00
Rasmus Wriedt Larsen
a31bf75169
Python: Refactor pickle.loads() modeling
2021-10-07 20:28:30 +02:00
Robert Marsh
2539e3247a
Merge pull request #6814 from MathiasVP/fix-qldoc-in-copy-instruction
...
C++/C#: Fix QLDoc of `CopyInstruction`
2021-10-07 11:18:38 -07:00
Aditya Sharad
2ed572095c
CLI docs: Address comments on Bazel example
2021-10-07 10:51:11 -07:00
yoff
933412eb8d
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-10-07 17:45:07 +02:00
Nick Rolfe
eafe22ef93
Merge remote-tracking branch 'origin/main' into nickrolfe/oj
2021-10-07 16:40:36 +01:00
Arthur Baars
2a32b59840
Merge pull request #331 from github/aibaars/remove-unsafe
...
Remove use of 'unsafe'
2021-10-07 16:58:59 +02:00
Alex Ford
de01770612
update test output
2021-10-07 15:50:35 +01:00
Arthur Baars
439d873564
Remove use of 'unsafe'
2021-10-07 16:38:29 +02:00
Alex Ford
168e67dd6d
deduplicate string constantQualifiedName(ConstantWriteAccess) as string ConstantWriteAccess#getQualifiedName
2021-10-07 15:30:36 +01:00
Alex Ford
5b38e06765
Rename ActiveRecordModelClass#methodMayAccessField() as ActiveRecordModelClass#getAPotentialFieldAccessMethod()
2021-10-07 15:30:36 +01:00
Alex Ford
3bdc680434
Drop a comment that is no longer relevant
2021-10-07 15:30:36 +01:00
Alex Ford
8262247ed7
Minor simplification of finderMethodName predicate
2021-10-07 15:30:36 +01:00
Alex Ford
eb8c48d10f
Remove some unused predicates
2021-10-07 15:30:36 +01:00
Alex Ford
c9edbd98d5
Update ql/lib/codeql/ruby/frameworks/ActiveRecord.qll
...
Co-authored-by: Harry Maclean <hmac@github.com >
2021-10-07 15:30:36 +01:00
Alex Ford
e4fe1d5c13
check for superclass method definitions in ActiveRecordModelClass#methodMayAccessField
2021-10-07 15:30:36 +01:00
Alex Ford
fb5cfcc9b0
OrmTracking goes through or expressions
2021-10-07 15:30:36 +01:00
Alex Ford
be018cc97f
update ActionController tests
2021-10-07 15:30:36 +01:00
Alex Ford
955080234b
partial support for rails layouts
2021-10-07 15:30:36 +01:00
Alex Ford
8e1b48e607
StoredXSS.qhelp
2021-10-07 15:30:36 +01:00
Alex Ford
182a926eeb
rename some example files
2021-10-07 15:30:36 +01:00
Alex Ford
1929a95e89
format
2021-10-07 15:30:36 +01:00
Alex Ford
6065e29aba
Fix performance issues related to a x-product between ActiveRecordModelInstantiation and MethodCall
2021-10-07 15:30:36 +01:00
Alex Ford
43a49689d7
reorganize ActiveRecord field access heuristics
2021-10-07 15:30:36 +01:00
Alex Ford
8f81eaa79c
format
2021-10-07 15:30:36 +01:00
Alex Ford
b2434950d3
abstract away some ActiveRecord specific parts of XSS.qll
2021-10-07 15:30:36 +01:00
Alex Ford
6a32c0cde0
update XSS tests
2021-10-07 15:30:36 +01:00
Alex Ford
6dc3ce335b
make rb/stored-xss track ActiveRecord db accesses
2021-10-07 15:30:36 +01:00
Alex Ford
f6dd6bb00c
expand ActiveRecord modelling to cover how to access fields
2021-10-07 15:30:36 +01:00
Alex Ford
eb5f26ce06
duplicate DataFlow implementation
2021-10-07 15:30:36 +01:00
Alex Ford
a2084f813e
rb/stored-xss structure and initial implementation (FileSystemReadAccess sources)
2021-10-07 15:30:36 +01:00
Chris Smowton
9a80ab31c4
Merge pull request #6567 from luchua-bc/java/sensitive_android_file_leak
...
Java: CWE-200 - Query to detect exposure of sensitive information from android file intent
2021-10-07 15:19:39 +01:00
Chris Smowton
39640efc9b
Remove no-longer-needed TaintPreservingCallables and update test expectations
2021-10-07 14:33:39 +01:00
Anders Schack-Mulligen
2b88a2aa0c
Dataflow: Fix qldoc: s/accesspath/access path/.
2021-10-07 14:46:24 +02:00
Anders Schack-Mulligen
f885751107
Java: Add change note.
2021-10-07 14:42:19 +02:00
Tom Hvitved
764a987b09
C#: Speedup GVN string concats by pulling ranges into separate predicates
2021-10-07 13:51:05 +02:00
haby0
538bf7c321
Update python/ql/src/experimental/Security/CWE-348/ClientSuppliedIpUsedInSecurityCheck.ql
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-10-07 19:44:25 +08:00
Anders Schack-Mulligen
fc69acee46
Java: Add test.
2021-10-07 13:28:02 +02:00
Nick Rolfe
253064144b
Tweak alert wording.
...
This reflects the fact that the query finds results where validation is
only disabled under certain conditions.
2021-10-07 12:06:53 +01:00
Tom Hvitved
1c08592637
Merge pull request #329 from github/hvitved/dataflow/synth-return
...
Data flow: Add a synthetic return node
2021-10-07 13:06:39 +02:00
Chris Smowton
b7448d55ed
Introduce TaintInheritingContent instead of using parts of DataFlowPrivate
2021-10-07 11:20:19 +01:00
Henry Mercer
4b069d41f6
Merge pull request #6818 from github/henrymercer/js/add-classify-files-to-library-pack
...
JS: Move `ClassifyFiles.qll` to library pack
2021-10-07 11:18:20 +01:00
Tom Hvitved
c540615223
HardcodedCredentials: Add test for default parameter values
2021-10-07 11:57:57 +02:00
CodeQL CI
a0dd3d9e75
Merge pull request #6815 from asgerf/js/adjust-security-severity-scores
...
Approved by erik-krogh, esbena
2021-10-07 02:36:19 -07:00
Sebastian Bauersfeld
f651bc3668
Adjust locations of results in JSP files. This is necessary due to known limitations in VSCode which cause locations with zero character indices to be mapped to invalid ranges. This is hopefully a temporary workaround until this problem has been properly addressed.
2021-10-07 12:45:21 +07:00
Dave Bartolomeo
d8d9073bc2
Merge pull request #6826 from github/aeisenberg/add-library
2021-10-06 20:18:39 -04:00
Andrew Eisenberg
e2b1f6ac50
Packaging: Add library flag to upgrades packs
...
This flag was missing. It should be there. Otherwise, this
pack cannot be built.
2021-10-06 14:29:55 -07:00
Nick Rolfe
ffda527da9
Tidy up
2021-10-06 18:07:29 +01:00
Dave Bartolomeo
0452512de2
Merge pull request #6820 from github/aeisenberg/gitignore
...
Ignore .codeql folder
2021-10-06 12:59:45 -04:00
Chris Smowton
f88c8a64a1
Copyedit
2021-10-06 17:37:21 +01:00
Chris Smowton
b33daa3d3a
Update Intent model tests, and fix models where required
2021-10-06 17:09:47 +01:00
Chris Smowton
4be2347a30
Adapt to use the new shared Intent models
2021-10-06 16:15:18 +01:00
Henry Mercer
83cbc86f50
JS: Move ClassifyFiles.qll to library pack
...
This allows us to use this library in packs that depend on the
`codeql/javascript-all` library pack.
2021-10-06 16:08:06 +01:00
Andrew Eisenberg
c9c45808b4
Merge pull request #6819 from github/aeisenberg/javascript/fix-compile-errors
...
Fixes compile errors by moving files
2021-10-06 07:59:50 -07:00
Tom Hvitved
953821c443
Avoid potential tuple explosion in reverse type tracking
2021-10-06 15:21:43 +02:00
Tom Hvitved
fdf1cd38fd
Data flow: Add a synthetic return node
2021-10-06 15:21:43 +02:00
Nick Rolfe
1ce458fa33
Add query to find HTTP requests that disable SSL validation
2021-10-06 14:06:09 +01:00
Chris Smowton
91d8b3da23
Sort Intent models
2021-10-06 12:30:40 +01:00
Chris Smowton
f24e310ace
Update test expectation details
2021-10-06 12:25:23 +01:00
Chris Smowton
ffdfc0549a
Update comment
2021-10-06 12:17:49 +01:00
luchua-bc
987bfa6ca7
Update condition check and qldoc
2021-10-06 12:17:49 +01:00
luchua-bc
8c2fddb297
Update the condition check and use DataFlow in the ql file
2021-10-06 12:17:49 +01:00
Chris Smowton
b0e652a3af
Remove AsyncTask models
2021-10-06 12:17:49 +01:00
Chris Smowton
9e0cf5a2fd
Update test expectations to include subpaths
2021-10-06 12:17:49 +01:00
Chris Smowton
3607d50994
Update remote flow source locations
2021-10-06 12:17:46 +01:00
luchua-bc
02bfa1ca57
Optimize the query
2021-10-06 12:16:04 +01:00
luchua-bc
0621e65827
Query to detect exposure of sensitive information from android file intent
2021-10-06 12:16:04 +01:00
Dave Bartolomeo
91b2ee2f10
Merge pull request #6822 from github/lgtm.com
...
Make sure the lgtm.com branch is an ancestor of rc/3.3
2021-10-06 06:58:13 -04:00
Geoffrey White
4c6f4ef14b
Revert "C++: change note" and "C++: Exclusion rules for system macros"
...
This reverts commit a055c86c4f .
This reverts commit 237a7d34b8 .
2021-10-06 10:21:19 +01:00
Harry Maclean
c50a6c180f
Merge pull request #318 from github/hmac-open-query
...
Add a query for uses of `Kernel.open` and `IO.read`
2021-10-06 10:05:43 +01:00
Anders Schack-Mulligen
d0b307ecfb
Merge pull request #6103 from atorralba/atorralba/promote-insecure-javamail
...
Java: Promote Insecure JavaMail SSL Configuration from experimental
2021-10-06 09:24:11 +02:00
Anders Schack-Mulligen
9505846088
Merge pull request #6821 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-06 09:06:14 +02:00
github-actions[bot]
33ee947f8d
Add changed framework coverage reports
2021-10-06 00:08:24 +00:00
Andrew Eisenberg
57ef989a89
Fixes compile errors by moving files
...
The two files moved in this commit are referenced from the
javascript/lib qlpack, but they are located in the
javascript/src qlpack. This causes compile errors when running
compile-ish commands for javascript queries. Moving the
files fixes it.
2021-10-05 14:00:02 -07:00
Andrew Eisenberg
0590e2a5fb
Ignore .codeql folder
2021-10-05 13:42:36 -07:00
Chris Smowton
5b13232a9d
Merge pull request #6739 from joefarebrother/android-intent-extra
...
Java: Model Android Bundle and Intent extras methods
2021-10-05 15:39:42 +01:00
Tom Hvitved
1d1215923c
Merge pull request #323 from github/hvitved/get-value-text
...
Introduce `Expr::getValueText`
2021-10-05 14:26:25 +02:00
Harry Maclean
7bf818fdf5
Refactor KernelMethodCall modelling
...
By extending `DataFlow::CallNode` instead of `MethodCall`, we get rid of
a lot of `.asExpr().getExpr()` calls.
2021-10-05 12:26:59 +01:00
Anders Schack-Mulligen
9133adac30
Java: Adjust csv validation.
2021-10-05 13:13:28 +02:00
Anders Schack-Mulligen
04892df45a
Java: Include stream method overrides.
2021-10-05 13:13:28 +02:00
Anders Schack-Mulligen
af7d633f2f
Java: Add Stream::mapMulti* and Stream::toList.
2021-10-05 13:13:28 +02:00
Anders Schack-Mulligen
ef80263106
Java: Add models for java.util.stream.
2021-10-05 13:13:27 +02:00
Anders Schack-Mulligen
5d63a76e25
Merge pull request #6797 from Marcono1234/marcono1234/remove-overwritten-NestedType-isStatic-qldoc
...
Java: Remove overwritten `NestedType.isStatic()` QLDoc
2021-10-05 13:05:53 +02:00
Joe Farebrother
b956238efa
Fill in gen/get methods for tests
2021-10-05 12:01:25 +01:00
Harry Maclean
232fb9ad5b
Add cwe-073 tag to KernelOpen query
...
CWE-073 is External Control of File Name or Path, which applies here.
2021-10-05 11:13:58 +01:00
Harry Maclean
6f293c7a5e
Add a query for uses of Kernel.open and IO.read
2021-10-05 11:13:58 +01:00
Harry Maclean
0fcb079ba7
Merge pull request #326 from github/hmac/eval-fixes
...
Make Code execution query more specific
2021-10-05 10:57:54 +01:00
Calum Grant
a95b87dfcb
Update CONTRIBUTING guidelines
2021-10-05 10:48:34 +01:00
Calum Grant
d8a19ecd6e
Initial version of CONTRIBUTING from codeql-go
2021-10-05 10:30:22 +01:00
Calum Grant
d8209719e1
Moved developer information into its own doc
2021-10-05 10:28:40 +01:00
Harry Maclean
e419fc9599
Make Code execution query more specific
...
Only the first argument to eval, instance_eval, send, class_send and
module_send is interpreted as Ruby code.
2021-10-05 10:28:34 +01:00
haby0
a17b0d4e5c
Modify Sanitizer
2021-10-05 17:12:04 +08:00
Mathias Vorreiter Pedersen
b089e6d84e
C++/C#: Fix QLDoc of 'CopyInstruction'.
2021-10-05 09:14:20 +01:00
Asger Feldthaus
3a20ca96c4
JS: Update CWE tags and severity score of code injection query
...
The derived security-severity score of the JS code injection query
was much lower than for other languages (6.1 versus 9.3), possibly due
some differences in CWE tags, such as the inclusion of CWE-079.
We also add the more specific CWE-095 ("eval injection") for consistency
with other languages. It is a child of CWE-094 ("code injection") which
was already tagged.
2021-10-05 10:12:19 +02:00
Asger Feldthaus
c4e8af983a
JS: Update score and add CWE-730 to LoopBoundInjection
...
This is a denial-of-service query, but was missing the CWE-730 tag
("denial of service") and consequently had a lower score than the
other DoS queries.
2021-10-05 10:10:01 +02:00
Asger Feldthaus
682a71176d
JS: Make TaintedFormatString have same severity as LogInjection
...
The CWE number for this query is associated with buffer overflows
from printf/scanf-style functions in C++, which has likely determined
its derived security score.
But in JavaScript, a tainted format string is unlikely to lead to
anything worse than log injection so we're manually update its score
to reflect this.
2021-10-05 10:10:01 +02:00
Asger Feldthaus
83ca4ef6d9
JS: Lower security-severity of queries with speculative threat model
...
In the CVSS calculator we model this by setting 'Attack Complexity' to
High and 'User Interaction' to Low (as opposed to None).
CVSS vector:
CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:N
2021-10-05 10:10:01 +02:00
Tony Torralba
a86cbd884e
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-10-05 09:40:22 +02:00
Tony Torralba
3323f7ab1a
Fix qhelp
2021-10-05 09:18:50 +02:00
Tony Torralba
9f54b1065a
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-10-05 09:18:49 +02:00
Tony Torralba
9c1021134a
Add some links to qhelp
2021-10-05 09:18:49 +02:00
Tony Torralba
2d1278ece5
Consider setStartTLSRequired for Apache SimpleEmail
2021-10-05 09:18:48 +02:00
Tony Torralba
baffb0ed89
Consider Jakarta Mail
2021-10-05 09:18:47 +02:00
Tony Torralba
a2e9c2f4ab
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-10-05 09:18:47 +02:00
Tony Torralba
c13bf2a2a1
Add change note
2021-10-05 09:18:46 +02:00
Tony Torralba
73653f77aa
Use InlineExpectationsTest
2021-10-05 09:18:45 +02:00
Tony Torralba
8c6d58e6d8
Refactored into libraries
2021-10-05 09:18:44 +02:00
Tony Torralba
0e149f0523
Move from experimental
2021-10-05 09:18:44 +02:00
CodeQL CI
40d98ad678
Merge pull request #6789 from asgerf/js/restrict-package-exports
...
Approved by erik-krogh
2021-10-05 06:20:23 +01:00
Aditya Sharad
9913221010
CLI docs: Add example for creating a database using a Bazel build command
...
We have internal material on this subject, so it makes sense to have a reference example.
Bazel builds could be in any compiled language, so follow the pattern
of the generic build script example.
Include the build flags that we recommend to customers,
which turn off Bazel's caching and distributed behaviour
so that CodeQL can observe the entire build.
2021-10-04 11:08:43 -07:00
yoff
f230a37004
Merge pull request #6804 from tausbn/python-fix-bad-magic-in-conditionblock-controls
...
Python: Fix bad magic in `controls/2`
2021-10-04 19:16:06 +02:00
Geoffrey White
11b8d4191f
C++: Repair .expected following merge.
2021-10-04 16:53:33 +01:00
Geoffrey White
2c64fa50d2
Merge branch 'main' into impropnullfp
2021-10-04 16:51:21 +01:00
Mathias Vorreiter Pedersen
7f7f90681f
Merge pull request #6808 from MathiasVP/add-cwes-to-incorrect-allocation-handling
...
C++: Add more CWEs to 'cpp/incorrect-allocation-error-handling'.
2021-10-04 17:02:08 +02:00
Marcono1234
0bce8234d8
Java: Remove overwritten NestedType.isStatic() QLDoc
...
Did not mention nested non-member interfaces and record classes.
The documentation of the overridden `isStatic()` predicate already mentions
that this predicate holds for explicitly and implicitly static elements, so
overwriting it is not necessary and only adds more maintenance work.
2021-10-04 16:30:57 +02:00
Anders Schack-Mulligen
745ece6e6d
Merge pull request #6613 from Marcono1234/marcono1234/literals-test-split
...
Java: Split literals tests
2021-10-04 16:20:08 +02:00
Mathias Vorreiter Pedersen
eac0222f2c
C++: Add more CWEs to 'cpp/incorrect-allocation-error-handling'.
2021-10-04 15:15:40 +01:00
Tom Hvitved
70e41b180e
Merge pull request #6800 from hvitved/csharp/constant-cond-tuple-discard
...
C#: Filter discards in tuples in `ConstantCondition.ql`
2021-10-04 14:38:45 +02:00
Tom Hvitved
9762ce706b
Merge pull request #6799 from hvitved/csharp/dead-store-using-discard
...
C#: Filter using `var _ = ... results` from `DeadStoreOfLocal.ql`
2021-10-04 14:38:15 +02:00
Chris Smowton
041aff6bfd
Merge pull request #6802 from atorralba/atorralba/fix-flowtestcasegenerator-folder
...
Java: Fix flow test case generator's folder name
2021-10-04 13:36:01 +01:00
Nick Rolfe
b955fdb58d
Merge pull request #324 from github/clippy_fixes
...
clippy fixes
2021-10-04 13:35:26 +01:00
Nick Rolfe
2a44cd8c98
Merge pull request #6803 from nickrolfe/cpp_upgrade_script
...
C++: add upgrade script for dbscheme comment changes
2021-10-04 13:31:13 +01:00
Taus
54aec7bb96
Python: Fix bad magic in controls/2
...
The changes to `ModificationOfParameterWithDefault.ql` and the use of
`ConditionBlock::controls` therein caused the `BasicBlock` argument to
get magicked in, resulting in the following antijoin for the `forall`:
```
[2021-10-04 12:07:46] (108s) Tuple counts for GuardedControlFlow::ConditionBlock::controls_dispred#fbf#antijoin_rhs/5@d84e94 after 1m44s:
201222345 ~7% {5} r1 = JOIN GuardedControlFlow::ConditionBlock::controls_dispred#fbf#shared#2 WITH Flow::BasicBlock::getASuccessor_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.0 'arg1', Rhs.1 'arg4', Lhs.1 'arg0', Lhs.2 'arg2', Lhs.3 'arg3'
200599933 ~4% {5} r2 = JOIN r1 WITH Flow::BasicBlock::dominates#ff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.0 'arg1', Lhs.3 'arg2', Lhs.4 'arg3', Lhs.1 'arg4'
0 ~0% {4} r3 = JOIN GuardedControlFlow::ConditionBlock::controls_dispred#fbf#shared#1 WITH GuardedControlFlow::ConditionBlock#class#f ON FIRST 1 OUTPUT Lhs.0 'arg3', Lhs.2 'arg1', Lhs.1 'arg0', false
0 ~0% {4} r4 = JOIN GuardedControlFlow::ConditionBlock::controls_dispred#fbf#shared WITH GuardedControlFlow::ConditionBlock#class#f ON FIRST 1 OUTPUT Lhs.0 'arg3', Lhs.2 'arg1', Lhs.1 'arg0', true
0 ~0% {4} r5 = r3 UNION r4
0 ~0% {5} r6 = JOIN r5 WITH Flow::BasicBlock::getASuccessor_dispred#ff ON FIRST 2 OUTPUT Lhs.2 'arg0', Lhs.1 'arg1', Lhs.3 'arg2', Lhs.0 'arg3', Rhs.0
200599933 ~4% {5} r7 = r2 UNION r6
return r7
```
(cancelled)
I observed that quick-eval'ing the `controls` predicate exhibit no such
bad join order (and terminated quickly) which lead me to conclude that
this was a case of bad magic.
Adding the `pragma[nomagic]` resulted in a return to the previous
performance.
2021-10-04 12:16:53 +00:00
Tony Torralba
064aba810b
Remove hyphens from the flow testcase generator folder name
...
So that it can be imported from the autogenerated query `gen.ql`
2021-10-04 13:31:07 +02:00
Nick Rolfe
5aec84b672
C++: add upgrade script for dbscheme comment changes
2021-10-04 12:30:42 +01:00
Asger Feldthaus
cbd577694c
JS: Autoformat
2021-10-04 13:30:15 +02:00
Tom Hvitved
a315640082
C#: Address review comments
2021-10-04 13:15:26 +02:00
Nick Rolfe
46d1280d07
Fix clippy warnings in extractor
2021-10-04 12:07:49 +01:00
Tom Hvitved
f06632a8e7
C#: Filter discards in tuples in ConstantCondition.ql
2021-10-04 13:04:18 +02:00
Nick Rolfe
a188e73f7b
Fix clippy warnings in generator
2021-10-04 11:55:55 +01:00
Nick Rolfe
087958be2d
Fix clippy warnings in node-types
2021-10-04 11:44:21 +01:00
Nick Rolfe
1e38c705b8
Fix clippy warnings in autobuilder
2021-10-04 11:44:14 +01:00
Rasmus Lerchedahl Petersen
aa91c26792
Python: Add missing taint steps
2021-10-04 12:12:07 +02:00
yoff
4521a9fdf0
Update python/ql/lib/semmle/python/frameworks/Stdlib.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-10-04 11:36:53 +02:00
Anders Schack-Mulligen
65a4f36cf8
Merge pull request #6767 from aschackmull/dataflow/callback-postupdate
...
Dataflow: Support side-effects for callbacks in summaries.
2021-10-04 11:13:18 +02:00
Tom Hvitved
70b9b002cb
C#: Add change note
2021-10-04 10:48:07 +02:00
Tom Hvitved
682a2aae3a
C#: Filter using var _ = ... results from DeadStoreOfLocal.ql
2021-10-04 10:45:44 +02:00
Jonas Jensen
ce27acd099
Merge pull request #6793 from MathiasVP/add-return-value-deref-to-model-util
...
C++: Handle return value dereferences in `ModelUtil.qll`
2021-10-04 09:22:52 +02:00
Marcono1234
fb1385b3e8
Java: Fix formatting of SpuriousJavadocParam.java
2021-10-03 00:13:36 +02:00
Owen Mansel-Chan
938d003e5e
Fix example to use space after $ for consistency
2021-10-02 08:11:49 +01:00
Owen Mansel-Chan
25792b2a45
Change class name to avoid clash with Go and Javascript libraries
2021-10-02 08:04:17 +01:00
Porcuiney Hairs
cf31b6e7f6
fix testcases
2021-10-02 02:10:18 +05:30
Mathias Vorreiter Pedersen
cc8b581c06
C++: Accept test changes.
2021-10-01 22:23:17 +02:00
Mathias Vorreiter Pedersen
cca77ed65c
Merge branch 'main' into add-return-value-deref-to-model-util
2021-10-01 22:02:06 +02:00
Geoffrey White
b9a1a451a9
C++: Autoformat.
2021-10-01 19:21:30 +01:00
Tamás Vajk
62aa7b75bd
Merge pull request #6792 from tamasvajk/fix/csv-workflow
...
Let 'ql/lib' folders trigger the CSV workflow
2021-10-01 19:44:48 +02:00
Mathias Vorreiter Pedersen
0679142607
C++: Accept test changes.
2021-10-01 18:27:55 +02:00
Mathias Vorreiter Pedersen
3463c28e24
C++: Add return value dereference to 'callOutput'. This will need to be modified once we get return value side effects in the IR.
2021-10-01 18:27:46 +02:00
Marcono1234
e3fed55945
Java: Add tests for text blocks
2021-10-01 18:16:11 +02:00
Joe Farebrother
085701c7db
Remove models.csv
2021-10-01 17:11:12 +01:00
Geoffrey White
51188aa93f
C++: Give the two queries medium precision (for now).
2021-10-01 17:04:22 +01:00
Joe Farebrother
5e4498a53a
Add more models; fix tests
2021-10-01 16:53:53 +01:00
Geoffrey White
a62772c274
C++: Add change note.
2021-10-01 16:35:12 +01:00
Marcono1234
924b7320bc
Java: Add test for NullLiteral
2021-10-01 17:27:54 +02:00
Marcono1234
bb6e6f4808
Java: Split literals tests
...
This allows changing individual tests in the future without having to adjust
the expected output of all other tests.
2021-10-01 17:27:50 +02:00
Geoffrey White
ada30800c9
C++: Exclude results where identity-like functions obscure operations on a variable.
2021-10-01 16:16:06 +01:00
Anders Schack-Mulligen
99ba80d492
C#: Adjust test output.
2021-10-01 16:57:30 +02:00
Tamas Vajk
ebe0988d9a
Let 'ql/lib' folders trigger the CSV workflow
2021-10-01 16:30:56 +02:00
Arthur Baars
2f462771bb
Merge pull request #286 from github/aibaars/xxe
...
XXE query
2021-10-01 16:14:41 +02:00
Geoffrey White
11d7a0b712
C++: Exclude results where the address of the variable is taken.
2021-10-01 14:39:02 +01:00
Geoffrey White
d41e517757
C++: Simplify mayAddNullTerminator.
2021-10-01 14:15:05 +01:00
Geoffrey White
ec2e4f432a
C++: Add more test cases, inspired by FPs on LGTM with the query.
2021-10-01 14:03:41 +01:00
Geoffrey White
74957dcb2e
C++: Test spacing.
2021-10-01 13:59:34 +01:00
Anders Schack-Mulligen
6359c44622
Java: Autoformat.
2021-10-01 14:05:47 +02:00
yoff
1ce9426adf
Merge pull request #6761 from RasmusWL/cryptodome-sha3
...
Python/JS: Recognize SHA-3 hash functions
2021-10-01 13:33:36 +02:00
Anders Schack-Mulligen
98f68cb053
Dataflow: Sync.
2021-10-01 13:11:43 +02:00
Anders Schack-Mulligen
490df2027b
Dataflow: Add language-specific predicate forceHighPrecision().
2021-10-01 13:11:14 +02:00
Anders Schack-Mulligen
d4f1a9602f
Dataflow: Force high precision of certain Contents.
2021-10-01 13:03:50 +02:00
Anders Schack-Mulligen
eb26b4a04b
Merge pull request #6755 from alexet/alexet/cache-params-string
...
Java: Fix more performance issues with future versions of codeql.
2021-10-01 12:54:53 +02:00
Arthur Baars
5a454bb9f2
Add comment
2021-10-01 12:13:19 +02:00
Asger Feldthaus
c8e7df7900
JS: Add test case
2021-10-01 12:02:40 +02:00
Asger Feldthaus
600e5bad0d
JS: Exclude methods declared private/protected
2021-10-01 11:46:32 +02:00
Asger Feldthaus
af1b04de9c
JS: Restrict what property names that are considered public exports
2021-10-01 11:42:03 +02:00
Arthur Baars
c78d02d00d
Fix module of Parser::Options
2021-10-01 11:18:03 +02:00
Arthur Baars
b06bb7a789
Improve test cases
...
Set NONET (2048) by default.
2021-10-01 11:16:56 +02:00
Erik Krogh Kristensen
5a1eb1995c
add change note
2021-10-01 11:13:41 +02:00
Mathias Vorreiter Pedersen
a3cf721b9e
Merge pull request #6713 from geoffw0/cwe139
...
C++: New query for 'Cleartext transmission of sensitive information'
2021-10-01 11:10:36 +02:00
Tom Hvitved
08225181c8
Introduce Expr::getValueText
2021-10-01 11:03:46 +02:00
Geoffrey White
679b0f9b73
C++: Autoformat.
2021-10-01 09:40:16 +01:00
Rasmus Lerchedahl Petersen
175a06fe73
Python: Fix compile error due to predicate rename
2021-10-01 10:33:42 +02:00
Anders Schack-Mulligen
799e099d1d
Merge pull request #6784 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-10-01 10:05:34 +02:00
Erik Krogh Kristensen
694016dcbe
add missing qldoc
2021-10-01 09:01:57 +02:00
Erik Krogh Kristensen
6a9277b5ce
recognize string sanitizers for ldap-injection
2021-10-01 09:01:29 +02:00
Erik Krogh Kristensen
51b56a9e28
add cwe 090 (ldap injection) and cwe 943 (Improper Neutralization of Special Elements in Data Query Logic) to SqlInjection.ql
2021-10-01 09:01:29 +02:00
Erik Krogh Kristensen
2062afc868
add calls to parseDN as sinks for ldap-injection
2021-10-01 09:01:28 +02:00
Erik Krogh Kristensen
d4de5e3248
refactoring and renamings in the ldap model
2021-10-01 09:01:14 +02:00
Erik Krogh Kristensen
bcf4626fd0
remove ldap examples from experimental folder
2021-10-01 09:00:10 +02:00
Erik Krogh Kristensen
c55b7bcd85
model ldap filters as taint steps
2021-10-01 09:00:10 +02:00
Erik Krogh Kristensen
9b5ff66b68
naively port tests from ldap examples
2021-10-01 09:00:10 +02:00
Erik Krogh Kristensen
2b286a856c
naively move ldap into the SQL injection query
2021-10-01 09:00:10 +02:00
Erik Krogh Kristensen
94e2676c0f
naive conversion of ldapjs model to API node
2021-10-01 09:00:10 +02:00
github-actions[bot]
3d61c81456
Add changed framework coverage reports
2021-10-01 00:09:22 +00:00
Rasmus Wriedt Larsen
2d5c6e2723
Python: FastAPI: Add taint test
2021-09-30 19:14:15 +02:00
Rasmus Wriedt Larsen
c839f35485
Python: FastAPI: Proper modeling of implicit returns
2021-09-30 19:14:15 +02:00
Rasmus Wriedt Larsen
50147708bf
Python: FastAPI: Model response classes
...
Figuring out how to do the `media_type` tracking was quite difficult.
2021-09-30 19:14:15 +02:00
Rasmus Wriedt Larsen
eef946a0c8
Python: FastAPI: Add test for custom response annotation
...
It really is rather contrived, but it also _does_ work.
2021-09-30 19:14:15 +02:00
Rasmus Wriedt Larsen
c9895b54fe
Python: FastAPI: Add tests for direct response construction
2021-09-30 19:14:14 +02:00
Rasmus Wriedt Larsen
c50c805f5f
Python: FastAPI: Model Cookie Writes
2021-09-30 19:14:14 +02:00
Rasmus Wriedt Larsen
d34c5fd72f
Python: FastAPI: Add tests with response parameter
2021-09-30 19:14:14 +02:00
Rasmus Wriedt Larsen
285de2b4c8
Python: FastAPI: Add support for APIRouter
2021-09-30 19:14:14 +02:00
Rasmus Wriedt Larsen
b1f8b5352b
Python: FastAPI: Add support for api_route
...
Note that `route` did not actually work (that also comes from the
underlying web framework library Starlette)
2021-09-30 19:14:14 +02:00
Rasmus Wriedt Larsen
3661ff3bd8
Python: Add basic FastAPI support
2021-09-30 19:14:14 +02:00
Chris Smowton
f48c418d6d
Merge pull request #5907 from x-f1v3/java/hardcoded-shiro-key
...
Java: CWE-798: Query to detect hard-coded SHIRO key
2021-09-30 17:58:12 +01:00
Chris Smowton
ec4cb7c90f
Fix typo
2021-09-30 16:22:12 +01:00
Harry Maclean
f61161e66d
Merge pull request #321 from github/hmac-more-eval
...
Identify more instances of code injection
2021-09-30 16:12:24 +01:00
Chris Smowton
cb4ce36d3c
Update change note; drop unnecessary import
2021-09-30 15:00:13 +01:00
Chris Smowton
b0983cb726
Specifically include Base64 encode/decode as a likely intermediate step for hardcoded credentials
2021-09-30 14:57:49 +01:00
Chris Smowton
b57a58c253
Amend change note
2021-09-30 14:27:05 +01:00
f1v3
24c9bb2fb7
autoformat
2021-09-30 14:26:19 +01:00
f1v3
168fc4170d
Apply suggestions from code review
2021-09-30 14:26:14 +01:00
f1v3
f3bde56de9
detects a hard-coded cipher key for shiro
2021-09-30 14:22:48 +01:00
Harry Maclean
8c0c08e887
Identify more instance of code injection
...
`class_eval` and `module_eval` both take a string as argument and
execute it as Ruby code.
2021-09-30 14:19:24 +01:00
Chris Smowton
60a023d064
Merge pull request #5852 from luchua-bc/java/hardcoded-azure-credential
...
Java: CWE-798 Query to detect hard-coded Azure credentials
2021-09-30 14:11:29 +01:00
Rasmus Lerchedahl Petersen
35d9005eae
Python: typo again..
2021-09-30 14:39:44 +02:00
Rasmus Lerchedahl Petersen
f3fc56a167
Python: typos
2021-09-30 14:39:05 +02:00
Rasmus Lerchedahl Petersen
d19d37bf9b
Python: more suggestions from review
2021-09-30 14:36:26 +02:00
yoff
c1c63d0c28
Merge pull request #6738 from RasmusWL/qldoc-getArgByName
...
Python: Add QLDoc to `Function.getArgByName`
2021-09-30 14:11:18 +02:00
yoff
46e62cd963
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-30 14:00:18 +02:00
Rasmus Lerchedahl Petersen
02e91b3902
Python: Model functions that will raise
...
on non-existing files.
2021-09-30 13:36:24 +02:00
Harry Maclean
7f103b9450
Merge pull request #319 from github/hmac-activerecord-updates
...
Add some more vulnerable ActiveRecord methods
2021-09-30 12:09:09 +01:00
Arthur Baars
0419d28ba0
XXE: overapproximate feature flag values for & and | operators
2021-09-30 11:20:23 +02:00
Arthur Baars
089f9d87d4
Address comments
2021-09-30 11:20:23 +02:00
Arthur Baars
2b077595ae
Also track DTDLOAD and NONET
2021-09-30 11:20:23 +02:00
Arthur Baars
4268d9c565
XXE query
2021-09-30 11:20:17 +02:00
Harry Maclean
7191e1c007
Re-add delete_all and destroy_all methods
...
These methods don't take any arguments in Rails versions > 3, but
there's no harm in checking for them anyway, and some people might be
using very old Rails versions.
2021-09-30 09:39:58 +01:00
Harry Maclean
75bbc51e73
Make room for new test cases
...
This just bumps the other code down a bit so that the .expected diff is
easier to read.
2021-09-30 09:33:39 +01:00
Rasmus Lerchedahl Petersen
fc9fb59082
Python: Add comments
2021-09-30 10:05:57 +02:00
Jonas Jensen
45cf6344cd
Merge pull request #6184 from github/rdmarsh2/improve-exec-tainted
...
C++: Refactor ExecTainted.ql to only report results after string concatenation
2021-09-29 19:21:13 +02:00
CodeQL CI
e9b4e571e1
Merge pull request #6775 from RasmusWL/fix-hasLocationInfo-url
...
Approved by aschackmull, erik-krogh, hvitved, jbj, tausbn
2021-09-29 16:51:08 +01:00
alexet
447eb23356
Java: Fix for tc magic issue with subtyping.
2021-09-29 16:01:08 +01:00
Rasmus Lerchedahl Petersen
115113888f
Python: Add change note
2021-09-29 16:58:14 +02:00
Rasmus Lerchedahl Petersen
cc1c32cf0e
Python: model file accesses
2021-09-29 16:53:25 +02:00
Joe Farebrother
3ae5f13c3d
Generate tests and stubs
2021-09-29 15:44:21 +01:00
Tamás Vajk
089bb33113
Merge pull request #6773 from tamasvajk/fix/global-stmt-library
...
C#: Handle invalid code gracefully: global statements in library
2021-09-29 16:18:05 +02:00
Harry Maclean
0ea228e86f
Merge pull request #315 from github/hmac-outgoing-http
...
Model more HTTP clients
2021-09-29 14:26:56 +01:00
Harry Maclean
a9c00a05fe
HTTP -> Http
...
Change the capitalisation of HTTP to Http, to conform to the QL style
guide.
Leave the HTTP module in Concepts alone, so it remains consistent with
the Concepts in other language libraries.
2021-09-29 13:50:05 +01:00
Nick Rolfe
1d58f8cd50
Merge pull request #320 from github/rasmuswl/fix-hasLocationInfo-url
2021-09-29 13:23:08 +01:00
Tom Hvitved
c69762bc14
Merge pull request #317 from github/hvitved/disable-operation-resolution
...
Temporarily disable operation call resolution
2021-09-29 14:17:05 +02:00
Rasmus Wriedt Larsen
3a270abcdc
Fix hasLocationInfo URL reference
...
Port of https://github.com/github/codeql/pull/6775
2021-09-29 14:04:25 +02:00
Rasmus Wriedt Larsen
ba990f72f2
Another hasLocationInfo URL reference fix
2021-09-29 14:00:28 +02:00
Harry Maclean
f5f79a81bc
Update ActionController fixture
2021-09-29 12:51:26 +01:00
Rasmus Wriedt Larsen
987b573709
Fix hasLocationInfo URL reference
...
Follow up to https://github.com/github/codeql/pull/5830
2021-09-29 13:47:58 +02:00
alexet
dea8dde566
Java: Improve performance of confusing overloading query.
2021-09-29 12:17:30 +01:00
Harry Maclean
615beeec80
Identify more vulnerable ActiveRecord methods
...
This change identifies the following patterns:
- `Model.select(input)`
- `Model.reselect(input)`
- `Model.rewhere(input)`
- `Model.update_all(input)`
- `model.reload(lock: input)`
2021-09-29 11:47:07 +01:00
Harry Maclean
270d13e4ac
Identify more vulnerable ActiveRecord methods
...
`find_by!`, `find_or_create_by`, `find_or_create_by!` and
`find_or_initialize_by` act similarly to `find_by`.
2021-09-29 10:49:14 +01:00
Harry Maclean
56919eee0b
delete/destroy_all -> delete/destroy_by
...
The ActiveRecord `delete_all` and `destroy_all` methods do not take a
condition argument - they act on the scope of their receiver.
The `delete_by` and `destroy_by` methods do take an argument which can
be raw SQL, and are therefore vulnerable to SQL injection.
For more info:
https://api.rubyonrails.org/v6.1.4/classes/ActiveRecord/Relation.html#method-i-delete_all
https://api.rubyonrails.org/v6.1.4/classes/ActiveRecord/Relation.html#method-i-delete_by
2021-09-29 10:45:54 +01:00
Harry Maclean
3a1b294c21
Identify more ActiveRecord calculate methods
...
`average`, `count`, `maximum`, `minimum` and `sum` are all convenience
methods that call `calculate(:<method name>, ...)` under the hood.
Therefore they are vulnerable to SQL injection too.
2021-09-29 10:11:38 +01:00
Tamas Vajk
e17071723f
C#: Handle invalid code gracefully: global statements in library
2021-09-29 10:23:33 +02:00
Mathias Vorreiter Pedersen
8dcf7926de
Merge pull request #6760 from andersfugmann/relax_memberMayBeVarSize
...
Increase precision to high for cpp/static-buffer-overflow
2021-09-29 10:09:11 +02:00
Tom Hvitved
10d19bf05b
Temporarily disable operation call resolution
2021-09-29 09:40:41 +02:00
Benjamin Muskalla
d09c3bf863
Merge pull request #6748 from bmuskalla/fixHiddenTypesTestGenerator
...
Java: Avoid stubbing methods with private parameter types
2021-09-29 09:27:13 +02:00
Anders Schack-Mulligen
1a92fa5d92
Merge pull request #6772 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-29 09:25:19 +02:00
github-actions[bot]
8d2ad4ed17
Add changed framework coverage reports
2021-09-29 00:08:05 +00:00
Porcuiney Hairs
b9c08167f3
C# : Add query to detect SSRF
2021-09-29 04:14:22 +05:30
Calum Grant
5317022d2e
Basic query for Ruby
2021-09-28 20:51:21 +01:00
Geoffrey White
89098f54be
C++: Correct comment.
2021-09-28 20:03:42 +01:00
Benjamin Muskalla
5f659f6e48
Merge branch 'main' into fixHiddenTypesTestGenerator
2021-09-28 17:42:39 +02:00
Rasmus Lerchedahl Petersen
a5912ff76d
Python: Align implementations of awaited.
2021-09-28 16:42:19 +02:00
Geoffrey White
10323ac819
Update cpp/ql/src/Security/CWE/CWE-311/CleartextStorage.inc.qhelp
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-09-28 15:13:29 +01:00
Shati Patel
ee46717c76
Merge pull request #6771 from shati-patel/mergeback-3.2-main
...
Merge 3.2 into main
2021-09-28 14:52:17 +01:00
Jonas Jensen
914e621d1b
Merge pull request #6678 from andersfugmann/refactor_use_of_isGuardPhi
...
C++: Refactor code to use predicate isGuardPhi/4
2021-09-28 15:45:05 +02:00
Shati Patel
976190e84d
Merge pull request #6764 from shati-patel/slides-links
...
Docs: Fix a few links in the training slides
2021-09-28 14:35:46 +01:00
Mathias Vorreiter Pedersen
06eb93da3f
Merge pull request #6769 from github/docfix-dead-links-in-readme
...
Fix dead links in README.md
2021-09-28 15:21:19 +02:00
Mathias Vorreiter Pedersen
7197f41e75
Fix dead links in README.md
2021-09-28 15:12:36 +02:00
Edoardo Pirovano
5488872044
Merge pull request #6505 from edoardopirovano/trailing-comma
...
QL Language Spec: Trailing comma in set literal
2021-09-28 13:45:09 +01:00
Chris Smowton
413ac4e8f4
Merge pull request #6684 from owen-mc/java/model/apache-collections-subpackages
...
Java: model remaining subpackages of Apache Commons Collections
2021-09-28 12:28:48 +01:00
Anders Schack-Mulligen
e95dc82087
Autoformat.
2021-09-28 13:00:50 +02:00
Tony Torralba
cec6cd0830
Merge pull request #6724 from atorralba/atorralba/android-contentprovider-sources
...
Java: Add sources for content providers in Android
2021-09-28 12:13:54 +02:00
Chris Smowton
39a12a8464
Remove models that are no longer required
2021-09-28 10:48:43 +01:00
Anders Schack-Mulligen
b11cb88a9f
Dataflow: Sync to C#.
2021-09-28 11:45:33 +02:00
Anders Schack-Mulligen
9a9bbe3123
Dataflow: Support side-effects for callbacks in summaries.
2021-09-28 11:42:38 +02:00
Tony Torralba
46eb27cd01
Don't restrict inputs to be ParameterNodes
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-09-28 11:21:56 +02:00
Anders Fugmann
ba98c0c1cb
Merge remote-tracking branch 'upstream/main' into relax_memberMayBeVarSize
2021-09-28 11:15:11 +02:00
Harry Maclean
6d7a04a222
Move Files test to its own folder
...
This prevents it picking up fixtures from other tests.
2021-09-28 10:06:53 +01:00
Harry Maclean
b34fcc65d1
Model the Typhoeus http client
2021-09-28 10:06:53 +01:00
Harry Maclean
b5dec5e8cf
Model the OpenURI http client
2021-09-28 10:06:53 +01:00
Anders Schack-Mulligen
fc8b439263
Merge pull request #6740 from aschackmull/java/callback-dispatch
...
Java: Add callback dispatch to more anonymous classes.
2021-09-28 10:49:27 +02:00
Anders Peter Fugmann
a358ea8667
C++: Apply documentation change suggestion
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-09-28 10:38:02 +02:00
Anders Schack-Mulligen
c294b75f6c
Merge pull request #6766 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-28 10:35:43 +02:00
Shati Patel
d5e17f9ebf
Merge pull request #6765 from shati-patel/docs-config-fixes
...
Docs: Fix inconsistencies in sphinx config files
2021-09-28 09:18:02 +01:00
Anders Peter Fugmann
c7ea7ca5cd
C++: Apply documentation change suggestion
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-09-28 09:40:25 +02:00
Anders Peter Fugmann
49c656d904
C++: Apply documentation change suggestion
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-09-28 09:40:07 +02:00
Anders Fugmann
79549c2285
Merge remote-tracking branch 'upstream/main' into refactor_use_of_isGuardPhi
2021-09-28 09:38:16 +02:00
Owen Mansel-Chan
787f36f056
Add a change note
2021-09-28 07:32:28 +01:00
Robert Marsh
d47c4732e2
C++: Update change note date
2021-09-27 17:36:14 -07:00
github-actions[bot]
b7b229d59b
Add changed framework coverage reports
2021-09-28 00:08:59 +00:00
Robert Marsh
dfb27d170c
C++ fix test compilation errors
2021-09-27 13:58:54 -07:00
luciaromeroML
1fc58e51a3
adding suggestion that removes sanitizer for unknown base urls
2021-09-27 17:37:36 -03:00
luciaromeroML
1f2618b893
new test case for unknown base url
2021-09-27 17:37:11 -03:00
shati-patel
64fcbe05c3
Docs: Fix inconsistencies in sphinx config files
2021-09-27 18:54:23 +01:00
shati-patel
31c34870ef
Fix warning about "Anonymous hyperlink mismatch"
2021-09-27 18:27:57 +01:00
shati-patel
3c17ac424d
Docs: Fix some broken/redirected links
2021-09-27 18:27:30 +01:00
Calum Grant
64ae42014c
Update README.md
2021-09-27 17:46:15 +01:00
Felicity Chapman
bb6c079e5a
Merge pull request #6762 from github/felicitymay-patch-1
...
Update links to match those on the staging site
2021-09-27 16:49:58 +01:00
Felicity Chapman
a3c1975a84
Update links to match those on the staging site
2021-09-27 16:35:22 +01:00
Owen Mansel-Chan
bdd78d2bc7
Fix stub
2021-09-27 16:24:41 +01:00
Owen Mansel-Chan
29db42c3cd
Generate stubs
2021-09-27 16:24:40 +01:00
Owen Mansel-Chan
e6df8164cf
Fix up old tests for new helper functions
2021-09-27 16:24:39 +01:00
Owen Mansel-Chan
cf03bd8bd1
Merge new and old tests
...
# Conflicts:
# java/ql/test/library-tests/frameworks/apache-collections/TestNew.java
2021-09-27 16:24:38 +01:00
Owen Mansel-Chan
342c14887b
Fix existing models for MapUtils
2021-09-27 16:24:37 +01:00
Owen Mansel-Chan
e1101e582e
Minor improvement to existing tests
2021-09-27 16:24:37 +01:00
Owen Mansel-Chan
768203bd36
Remove redundant casts
2021-09-27 16:24:36 +01:00
Owen Mansel-Chan
c51fb00082
Add tests for non-public abstract classes
2021-09-27 16:24:35 +01:00
Owen Mansel-Chan
0a92b04c8b
Fix up automatically generated tests
2021-09-27 16:24:34 +01:00
Owen Mansel-Chan
15161d8867
Make concrete subclasses of abstract classes
2021-09-27 16:24:33 +01:00
Owen Mansel-Chan
53ee465726
Fix errors in generated tests that stop compilation
2021-09-27 16:24:32 +01:00
Owen Mansel-Chan
a20acfee25
Add automatically generated tests
...
Also update test.ql to use the new InlineFlowTest.
2021-09-27 16:24:31 +01:00
Owen Mansel-Chan
f69787afd0
Miscellaneous model fixes
2021-09-27 16:24:30 +01:00
Owen Mansel-Chan
9b12980688
Do not model some protected methods
2021-09-27 16:24:29 +01:00
Owen Mansel-Chan
cb0f82c36e
Do not modelled protected static inner classes
2021-09-27 16:24:29 +01:00
Owen Mansel-Chan
3b678bfbc5
Address review comments
2021-09-27 16:24:28 +01:00
Owen Mansel-Chan
e1750adc38
Address problems highlighted by generating tests
2021-09-27 16:24:27 +01:00
Owen Mansel-Chan
fd0fb9483e
Model the remaining subpackages in Apache Commons Collections
2021-09-27 16:24:26 +01:00
Owen Mansel-Chan
3d1d491e6b
Model java.lang.Object.clone() better for access paths.
...
Model value flow for Element, MapKey and MapValue. This assumes
that clone() is a shallow copy.
2021-09-27 16:24:25 +01:00
Edoardo Pirovano
18020707b8
QL Language Spec: Trailing comma in set literal
2021-09-27 15:57:39 +01:00
Rasmus Lerchedahl Petersen
3c1206f873
Python: Model more awaiting construcs
...
in API graphs.
Some unsatisfactory lack of understanding here.
2021-09-27 16:41:01 +02:00
Tom Hvitved
5219b1a8b9
Merge pull request #310 from github/hvitved/more-instanceof
...
More uses of `instanceof` in the external/internal AST layer
2021-09-27 16:11:04 +02:00
Harry Maclean
ca1fc44f21
Model the HTTPClient http client
2021-09-27 14:44:25 +01:00
Harry Maclean
3a4ddc4b4e
Model the HTTParty http client
...
We currently model direct calls like
HTTParty.get("http://example.com ")
but we don't yet handle calls on other classes that have included the
`HTTParty` module, like
class MyClient
include HTTParty
end
MyClient.get("http://example.com ")
2021-09-27 14:44:04 +01:00
Tom Hvitved
8018c1525d
Merge pull request #314 from github/hvitved/setter-method-call-base
...
Strengthen the type of `SetterMethodCall`
2021-09-27 15:29:07 +02:00
Nick Rolfe
79c2f09585
Merge pull request #302 from github/rm_tokeninfo_idx
...
Remove unused columns from tokeninfo tables
2021-09-27 14:19:38 +01:00
Nick Rolfe
b2c4daecd5
Merge pull request #303 from github/nickrolfe/node_kind_id
...
Use integer comparisons instead of strings when scanning ERB files
2021-09-27 14:18:10 +01:00
Rasmus Lerchedahl Petersen
f6311bf051
Python: model other awaiting constructs
2021-09-27 14:32:55 +02:00
Rasmus Lerchedahl Petersen
15b07bfcc0
Python: Model sql executions
2021-09-27 14:15:58 +02:00
Tom Hvitved
317303cdad
Strengthen the type of SetterMethodCall
2021-09-27 14:05:28 +02:00
Anders Schack-Mulligen
cfa0d46b73
Merge pull request #6097 from atorralba/atorralba/promote-xslt-injection
...
Java: Promote XSLT Injection from experimental
2021-09-27 13:14:57 +02:00
Anders Schack-Mulligen
e027d514f1
Merge pull request #6037 from atorralba/atorralba/promote-spel-injection
...
Java: Promote SpEL Injection query from experimental
2021-09-27 13:13:35 +02:00
Tony Torralba
d5f675c2dc
Fix unbound field
...
Add tests for non-exported providers
2021-09-27 12:58:28 +02:00
Arthur Baars
2a4747b27e
Merge pull request #313 from github/hmac-remove-unicode-char
...
Remove unicode character from doc string
2021-09-27 12:57:21 +02:00
Harry Maclean
3e100bc2a9
Remove unicode character from doc string
...
We require that all source code is in ASCII.
2021-09-27 11:40:04 +01:00
Rasmus Wriedt Larsen
ded3088529
Python/JS: Recognize SHA-3 hash functions
...
Official names are SHA3-224, SHA3-256, SHA3-384, SHA3-512 as per
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf
2021-09-27 12:08:40 +02:00
Tony Torralba
78c12dc505
Move to lib
2021-09-27 12:04:14 +02:00
Tony Torralba
ad08ccb50b
Apply suggestion from code review
2021-09-27 12:00:21 +02:00
mc
95751fcc21
Update XsltInjection.qhelp
...
Made a few minor tweaks during editorial review
2021-09-27 12:00:21 +02:00
Tony Torralba
13417dbf14
Remove DataFlow references from XsltInjection.qll
2021-09-27 12:00:20 +02:00
Tony Torralba
ff21662b23
Refactor XsltInjection.qll
2021-09-27 12:00:18 +02:00
Tony Torralba
6967b06dee
Decouple XsltInjection.qll to reuse the taint tracking configuration
2021-09-27 11:59:51 +02:00
Tony Torralba
fc58ada92e
Add change note
2021-09-27 11:58:20 +02:00
Tony Torralba
108118afa3
Use InlineExpectationsTest
2021-09-27 11:58:18 +02:00
Tony Torralba
d8bb5273e7
Refactor to use CSV sink models
2021-09-27 11:57:58 +02:00
Tony Torralba
c792567904
Move from experimental
2021-09-27 11:57:53 +02:00
Tony Torralba
6d9a88d1c8
Move to lib
2021-09-27 11:43:46 +02:00
mc
3520fed752
Update SpelInjection.qhelp
2021-09-27 11:40:51 +02:00
Tony Torralba
d10dbbdd9d
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-09-27 11:40:51 +02:00
Tony Torralba
6bf1e87bbe
Remove CSV sinks; make imports private
2021-09-27 11:40:47 +02:00
Tony Torralba
91f46624b6
Refactor SpelInjection.qll
2021-09-27 11:40:26 +02:00
Tony Torralba
94f32d2985
Decouple SpelInjection.qll to reuse the taint tracking configuration
2021-09-27 11:39:30 +02:00
Tony Torralba
569426b04e
Consider subtypes of Expression and ExpressionParser
...
Add parseRaw as additional taint step
2021-09-27 11:38:12 +02:00
Tony Torralba
b0852f6c16
Add change note
2021-09-27 11:37:46 +02:00
Tony Torralba
b985ddb868
Use InlineExpectationsTest
2021-09-27 11:37:41 +02:00
Tony Torralba
079769ed2e
Refactored SpelInjection.qll to use CSV sink models
2021-09-27 11:36:56 +02:00
Tony Torralba
fc6af0476f
Moved from experimental
2021-09-27 11:36:48 +02:00
Anders Fugmann
03bd7d7f96
C++: Update test results from OverflowStatic
2021-09-27 11:23:08 +02:00
Anders Schack-Mulligen
92ffd8c465
Merge pull request #6749 from aschackmull/java/istextblock
...
Java: Add StringLiteral.isTextBlock().
2021-09-27 10:54:31 +02:00
Jonas Jensen
b0836a620c
Merge pull request #6757 from geoffw0/impropnulltest2
...
C++: Small improvement to cpp/improper-null-termination
2021-09-27 10:52:49 +02:00
Jonas Jensen
06b36f742e
Merge pull request #6745 from andersfugmann/handle_overflow_for_upperbound
...
C++: Handle overflow for upperbound
2021-09-27 10:32:49 +02:00
James Fletcher
c977cfe40a
Merge pull request #6754 from github/update-link
...
Update one more link in the QL training content
2021-09-27 08:33:42 +01:00
Anders Fugmann
e0921ac983
C++: Increase precision of cpp/static-buffer-overflow to high
2021-09-27 09:06:36 +02:00
Geoffrey White
7e7dfe2cc4
C++: Understand format arguments.
2021-09-24 19:25:43 +01:00
Geoffrey White
91a8b9fdd9
C++: Add suggested test (and a good variant).
2021-09-24 18:34:28 +01:00
Nick Rolfe
175958b9be
Consider Oj.load a sink for unsafe deserialization
...
Unless a known-safe mode is used, either by setting the default options,
or by explicitly passing a mode in the options hash argument.
2021-09-24 17:43:22 +01:00
Alexander Eyers-Taylor
8debae1a3b
Merge pull request #6753 from github/aibaars/fix-typo
...
Fix typo in language spec
2021-09-24 17:21:14 +01:00
Rasmus Wriedt Larsen
547cbb6322
Merge pull request #6331 from porcupineyhairs/pythonXpath
...
Python : Improve Xpath Injection Query
2021-09-24 18:11:08 +02:00
james
1adc5c2a5b
update links correctly
2021-09-24 17:00:59 +01:00
Geoffrey White
6901d9d9c2
C++: Add and use getRemoteSocket predicates.
2021-09-24 15:16:48 +01:00
Geoffrey White
9f59bc8f7b
C++: Naive translation to use RemoteFlow*Function.
2021-09-24 15:12:14 +01:00
Rasmus Wriedt Larsen
d39df18544
Python: Minor test cleanup
2021-09-24 16:11:27 +02:00
james
e664711f47
make links to slide decks relative
2021-09-24 14:56:48 +01:00
Tom Hvitved
793368d670
More uses of instanceof in the external/internal AST layer
2021-09-24 15:55:15 +02:00
Arthur Baars
7d3a219f63
Fix typo in language spec
...
Thanks to https://github.com/github/codeql/issues/6750
2021-09-24 15:47:09 +02:00
james
23e4ad1abb
update one more link
2021-09-24 14:46:14 +01:00
Geoffrey White
3e1bc66984
Merge pull request #6733 from MathiasVP/fix-qldoc-in-initialize-dynamic-allocation-instruction
...
C++/C#: Fix QLDoc on `InitializeDynamicAllocationInstruction`.{`getAllocationAddressOperand` and `getAllocationAddress`}
2021-09-24 14:30:03 +01:00
alexet
49f8f46354
Java: Cache params string computation.
2021-09-24 14:12:26 +01:00
Rasmus Wriedt Larsen
26d2fbd217
Python: Fix new XPath injection query
...
Fixes the typo `ETXpath` => `ETXPath`
2021-09-24 15:11:34 +02:00
Rasmus Wriedt Larsen
913a679ef5
Python: Replace old XPath injection query
2021-09-24 15:10:41 +02:00
Anders Peter Fugmann
aebde189f8
C++: Apply peer review suggestion
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-09-24 15:09:23 +02:00
Anders Schack-Mulligen
66c206cc61
Merge pull request #6747 from bmuskalla/organizeUtils
...
Java: Organize `utils` into separate directories
2021-09-24 15:05:51 +02:00
Rasmus Wriedt Larsen
c9640ffdbc
Python: Minor adjustments to XPath Injection
2021-09-24 15:02:39 +02:00
Rasmus Lerchedahl Petersen
520a2da8ab
Python: Add tests for asyncpg
2021-09-24 14:41:50 +02:00
Mathias Vorreiter Pedersen
24214002a1
C#/C++: Sync identical files.
2021-09-24 13:13:09 +01:00
Mathias Vorreiter Pedersen
eba1b0bc15
Respond to review comments.
2021-09-24 13:12:58 +01:00
Rasmus Wriedt Larsen
289660067c
Merge branch 'main' into pythonXpath
2021-09-24 13:53:38 +02:00
Harry Maclean
74982cb3aa
Merge pull request #307 from github/hmac-outgoing-http-2
...
Model some more HTTP clients
2021-09-24 12:30:48 +01:00
Anders Schack-Mulligen
854f2a046a
Java: Add StringLiteral.isTextBlock().
2021-09-24 13:11:18 +02:00
Mathias Vorreiter Pedersen
69541d3628
Merge pull request #6744 from rdmarsh2/rdmarsh2/dtt-subpath
...
C++: add subpaths to DefaultTaintTracking
2021-09-24 11:58:31 +01:00
Tom Hvitved
141f5f7605
Merge pull request #308 from github/hvitved/operation-method-call
...
Make `{Unary,Binary}Operation` a sub class of `MethodCall`
2021-09-24 12:51:07 +02:00
Benjamin Muskalla
70e1724463
Exclude methods with non-public parameter types
2021-09-24 12:41:12 +02:00
Anders Fugmann
cbdabe35de
C++: Update test results to reflect changes
2021-09-24 12:29:28 +02:00
Anders Fugmann
c9c41252e3
C++: Update test results in SimpleRangeAnalysis
2021-09-24 12:23:48 +02:00
Tom Hvitved
30d2df53c6
Include MethodCall.getAChild in {Unary,Binary}Operation.getAChild
2021-09-24 12:08:54 +02:00
Anders Fugmann
3437cf2909
C++: only use upperbound if there are no overflows in the guard
2021-09-24 11:46:58 +02:00
Anders Fugmann
d7afd86a27
C++: Add test case exposing problem with overflows for upperBound predicate
2021-09-24 11:44:05 +02:00
Benjamin Muskalla
38ca5aba98
Move test generator into subdirectory
2021-09-24 11:13:04 +02:00
Benjamin Muskalla
4e6a8d991e
Move stub generator into subdirectory
2021-09-24 11:12:41 +02:00
Benjamin Muskalla
cb0a567c03
Merge pull request #6743 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-24 09:23:35 +02:00
Anders Fugmann
032ac50034
C++: Do not warn on static buffer overflow using loop counters, if the loop counter has been widened
2021-09-24 08:31:36 +02:00
Anders Fugmann
3e5f7d0db5
C++: using buildin offsetof for an array member indexed after end is legal
2021-09-24 08:31:35 +02:00
Anders Fugmann
b08eabec68
C++: Relax predicate memberMayBeVarSize to mark all members of size 0 or 1 as variable sized
2021-09-24 08:31:35 +02:00
Anders Fugmann
a4a9e2aa96
C++: Weaken wording on overflow static alert text
2021-09-24 08:31:35 +02:00
Robert Marsh
3189c578a4
C++: Add QLDoc to subpaths in DefaultTaintTracking
2021-09-23 22:42:38 -07:00
haby0
9b969e15fc
Modify according to @yoff suggestion
2021-09-24 12:56:10 +08:00
Robert Marsh
c2b356ab08
C++: add subpaths to DefaultTaintTracking
2021-09-23 21:00:45 -07:00
github-actions[bot]
ceb9a0bd6b
Add changed framework coverage reports
2021-09-24 00:08:02 +00:00
Tom Hvitved
edfdfb1fa4
Make {Unary,Binary}Operation a sub class of MethodCall
2021-09-23 19:13:55 +02:00
Harry Maclean
88885a222e
Model the RestClient HTTP client
2021-09-23 16:32:15 +01:00
Harry Maclean
4cf520c2df
Model the Faraday HTTP client
2021-09-23 16:32:15 +01:00
Harry Maclean
ee51298633
Model the Excon HTTP client
2021-09-23 16:32:15 +01:00
Tom Hvitved
ca2ff9a863
Merge pull request #305 from github/hvitved/desugar/array-literals
...
Desugar array literals to `::Array.[]`
2021-09-23 17:30:34 +02:00
Anders Schack-Mulligen
a031b2a090
Merge pull request #6493 from atorralba/atorralba/cleartext-storage-query-refactor
...
Java: Refactor Cleartext Storage queries
2021-09-23 16:31:17 +02:00
Tony Torralba
b52a2cd292
Apply code review comments
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-09-23 15:48:15 +02:00
Arthur Baars
40f0112e8a
Merge pull request #297 from github/aibaars/alert-suppression
...
Alert suppression and file classifier query
2021-09-23 15:37:19 +02:00
Rasmus Lerchedahl Petersen
f2fbeed490
Python: Model os.path-functions
2021-09-23 15:30:00 +02:00
Rasmus Lerchedahl Petersen
81adb7dd2a
Python: Add tests for os.path-functions
2021-09-23 15:28:05 +02:00
Anders Schack-Mulligen
6be4b3bac6
Merge pull request #6725 from emilejq/date-format
...
Java: Remove requirements for final and access mods from DateFormatThreadUnsafe
2021-09-23 15:02:17 +02:00
Harry Maclean
4f9518a9c6
Merge pull request #293 from github/hmac-code-injection
...
Add query for Code Injection
2021-09-23 13:50:48 +01:00
Anders Schack-Mulligen
4841c3037d
Java: Add callback dispatch to more anonymous classes.
2021-09-23 14:34:56 +02:00
Tom Hvitved
f347505542
Merge pull request #277 from github/hvitved/flow-summaries
...
Add support for flow summaries
2021-09-23 14:31:52 +02:00
Harry Maclean
41608ef47b
Address review comments
2021-09-23 12:26:54 +01:00
Joe Farebrother
0919042692
Model Bundle and Intent extra methods
2021-09-23 12:03:45 +01:00
Tom Hvitved
68d41f9f12
Address review comments
2021-09-23 12:39:47 +02:00
ihsinme
13741ba137
Update FindWrapperFunctions.ql
2021-09-23 12:55:03 +03:00
ihsinme
18de9f0aa3
Update FindWrapperFunctions.expected
2021-09-23 12:53:16 +03:00
Rasmus Wriedt Larsen
f14e3f6007
Merge pull request #5445 from jorgectf/jorgectf/python/ldapinsecureauth
...
Python: Add LDAP Insecure Authentication query
2021-09-23 11:08:13 +02:00
Emile El-Qawas
83fb41e414
Add visibility constraints; Fix non-compliant code
2021-09-23 09:55:49 +01:00
Tony Torralba
d0b9920cac
Fix encryption sanitizer
...
It now discards sensitive exprs (sources) instead of sinks for better precision
2021-09-23 10:42:30 +02:00
Tony Torralba
51d2b5225e
Remove cached property from SensitiveSource::flowsTo
2021-09-23 10:42:30 +02:00
Tony Torralba
563e8a2bd6
Remove unused library
2021-09-23 10:42:30 +02:00
Tony Torralba
a30554e97c
Refactored cleartext storage libraries
2021-09-23 10:42:30 +02:00
Harry Maclean
83705c5787
Merge pull request #306 from github/hmac-outgoing-http
...
Model outgoing HTTP requests as remote flow sources
2021-09-23 09:34:44 +01:00
Rasmus Wriedt Larsen
ef6e502ff0
Python: Make LDAP global options test better
...
Before it didn't really showcase that we know it can make connections
secure.
2021-09-23 10:18:18 +02:00
Chris Smowton
93daaf5b5b
Merge pull request #6174 from joefarebrother/guava-collections
...
Java: Model Guava collections package
2021-09-23 09:13:24 +01:00
Rasmus Wriedt Larsen
70489b2fc2
Merge branch 'main' into jorgectf/python/ldapinsecureauth
2021-09-23 10:05:56 +02:00
Harry Maclean
5826f2c279
Move Net::HTTP modelling into http_clients module
...
This seems a more convenient place to keep all the HTTP client
modelling.
2021-09-23 09:04:20 +01:00
Harry Maclean
b658bacab3
Simplify Net::HTTP modelling
2021-09-23 09:04:01 +01:00
Harry Maclean
3000587849
Add Net::HTTP request modelling
2021-09-23 09:04:01 +01:00
Harry Maclean
2bdea01c8a
Add HTTP::Client concept
2021-09-23 09:04:01 +01:00
Rasmus Wriedt Larsen
d4564d5dd1
Python: Add QLDoc to Function.getArgByName
2021-09-23 10:01:04 +02:00
Tom Hvitved
27c45d8dda
Merge pull request #6731 from hvitved/remove-reduced-env-var
...
Remove `CODEQL_REDUCE_FILES_FOLDERS_RELATIONS`
2021-09-23 09:39:17 +02:00
Robert Marsh
49f8fd2164
C++: whitespace fix
2021-09-22 16:54:03 -07:00
Robert Marsh
0c5d642489
C++: Rename SystemFunction and restore QLDoc
2021-09-22 14:22:57 -07:00
Robert Marsh
6f03c3e252
C++: Accept command injection test changes
...
Making the DefaultTaintTracking configurations inactive removed many
unneeded nodes and edges from the PathGraph predicates.
2021-09-22 14:19:23 -07:00
Robert Marsh
8faeab18b9
C++: move ResolveCall.qll out of internal directory
2021-09-22 11:54:47 -07:00
Robert Marsh
21ed5c430d
Merge branch 'main' into rdmarsh2/improve-exec-tainted
...
Manual fix for conflict in Models.qll
2021-09-22 11:51:18 -07:00
Chris Smowton
3123abfac3
Merge pull request #6711 from bananabr/AndroidLoggingFix
...
Fix Android logging signature
2021-09-22 17:23:04 +01:00
Alex Ford
21e31a47d9
Merge pull request #283 from github/file-system-sources
...
Start modelling some file system access concepts
2021-09-22 16:45:13 +01:00
Alex Ford
b769aa67c2
test for IO.open as a way of creating an IO instance
2021-09-22 16:29:10 +01:00
Erik Krogh Kristensen
805d1d170c
do not filter away regular expressions with lookbehinds
2021-09-22 17:14:29 +02:00
Joe Farebrother
522c6e01d2
Sort models by class and name
2021-09-22 15:23:01 +01:00
Alex Ford
0092c0279b
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-22 14:28:15 +01:00
yoff
14a31a2299
Merge pull request #6732 from RasmusWL/minor-sqlalchemy-comment-fixes
2021-09-22 15:15:52 +02:00
Mathias Vorreiter Pedersen
35baff8bac
C#/C++: Sync identical files.
2021-09-22 13:32:29 +01:00
Mathias Vorreiter Pedersen
5969c227ab
C++: Fix QLDoc on 'getAllocationAddressOperand' and 'getAllocationAddress'.
2021-09-22 13:32:20 +01:00
Tom Hvitved
e670fdbb82
Move two predicates in FlowSummaryImplSpecific.qll
2021-09-22 14:12:46 +02:00
Rasmus Wriedt Larsen
8badba26b8
Python: Minor SQLALchemy comment fixes
2021-09-22 13:58:29 +02:00
haby0
6c07a3e260
Apply @yoff's suggestion
2021-09-22 18:50:58 +08:00
Chris Smowton
24e3ad4e18
Remove unnecessary type constraint
2021-09-22 10:54:24 +01:00
Mathias Vorreiter Pedersen
a66f83644b
Merge pull request #6728 from rdmarsh2/rdmarsh/sql-models-followup
...
C++: Add additional functions to the SQL models
2021-09-22 10:19:51 +01:00
Tom Hvitved
364dab6990
Remove CODEQL_REDUCE_FILES_FOLDERS_RELATIONS
2021-09-22 09:43:56 +02:00
Edoardo Pirovano
b960857fc2
Merge pull request #6722 from edoardopirovano/update-analyze-docs
...
Update documentation to reflect changes to `database analyze`
2021-09-22 08:29:45 +01:00
yoff
65d3373ad3
Merge pull request #6727 from RasmusWL/fix-sqlalchemy-query
...
Python: Merge SQLAlchemy TextClause injection into `py/sql-injection`
2021-09-22 09:29:28 +02:00
Tom Hvitved
a37737d065
Replace string kind with boolean preservesValue
2021-09-22 09:28:55 +02:00
Robert Marsh
3108817717
C++: Add additional functions to the SQL models
2021-09-21 17:34:01 -07:00
Robert Marsh
d6fd83dd6c
C++: move resolveCall to its own file for perf
...
This avoids a performance issue in DataFlowImpl::localFlowStep when the
DataFlow::Configuration subclasses in DefaultTaintTracking are active
in the same query as other Configuration
subclasses.
ResolveCall.qll is kept internal for the moment.
2021-09-21 16:32:09 -07:00
Tom Hvitved
888183f26d
Desugar array literals to ::Array.[]
2021-09-21 21:27:29 +02:00
Rasmus Wriedt Larsen
d44f279339
Python: Fix .qhelp
2021-09-21 20:35:03 +02:00
Rasmus Wriedt Larsen
a83bb39d0f
Python: Merge SQLAlchemy TextClause injection into py/sql-injection
...
As discussed in a meeting today, this will end up presenting an query
suite that's easier to use for customers.
Since https://github.com/github/codeql/pull/6589 has JUST been merged,
if we get this change in fast enough, no end-user will ever have run
`py/sqlalchemy-textclause-injection` as part of LGTM.com or Code
Scanning.
2021-09-21 20:21:42 +02:00
Alex Ford
70c2be8ca3
Files library tests
2021-09-21 19:08:03 +01:00
Alex Ford
05a04f4835
Files.qll library implementation
2021-09-21 19:07:55 +01:00
Alex Ford
6315621b16
use instanceof extensions for some filesystem concepts
2021-09-21 19:02:11 +01:00
Alex Ford
d1f2258d45
revamp weak file permissions query
2021-09-21 19:02:11 +01:00
Alex Ford
25300cb2b4
start modelling some file access concepts
2021-09-21 19:02:11 +01:00
ihsinme
88a257fcdc
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-09-21 20:32:08 +03:00
Robert Marsh
d62f76afa6
Merge pull request #6133 from MathiasVP/promote-sql-pqxx
...
C++: Promote `cpp/sql-injection-via-pqxx` out of experimental
2021-09-21 10:13:57 -07:00
Robert Marsh
97c2917c16
Merge pull request #6409 from JordyZomer/main
...
cpp: Add query to detect unsigned integer to signed integer conversio…
2021-09-21 09:57:44 -07:00
Joe Farebrother
3cd675bfff
Manually fill in most of the remaining support method calls
2021-09-21 17:56:18 +01:00
Mathias Vorreiter Pedersen
478093aa89
Update cpp/ql/lib/semmle/code/cpp/models/interfaces/Sql.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-09-21 17:51:24 +01:00
Emile El-Qawas
dcae1c5c04
DateFormatThreadUnsafe - Remove requirements for final and access modifiers
2021-09-21 16:50:48 +01:00
Joe Farebrother
6e9bee1be7
Add missing models
2021-09-21 16:32:49 +01:00
Joe Farebrother
25d6e00b1a
Implement gen methods for MapDifference
2021-09-21 16:30:12 +01:00
Joe Farebrother
a47897bdf9
Implement Table gen methods
2021-09-21 15:29:06 +01:00
Anders Schack-Mulligen
2c41de6648
Merge pull request #6720 from aschackmull/java/isunreachableincall-joinorder
...
Java: Fix join-order in isUnreachableInCall.
2021-09-21 16:07:42 +02:00
Anders Schack-Mulligen
dd1bed02e8
Merge pull request #6721 from aschackmull/dataflow/subpaths01-joinorder
...
Dataflow: Fix join-order in subpaths01
2021-09-21 16:05:41 +02:00
Mathias Vorreiter Pedersen
bd5edc7ae5
Respond to review comments.
2021-09-21 14:29:26 +01:00
Mathias Vorreiter Pedersen
dfe932d053
Add missing conjunct in PostgreSqlEscapeFunction's 'escapesSqlArgument' predicate.
2021-09-21 12:14:45 +01:00
Nick Rolfe
dd31473dff
Merge pull request #301 from github/fix_source_archive
...
Fix filenames in source archives
2021-09-21 11:37:02 +01:00
Tony Torralba
99881db8bd
Add stubs
2021-09-21 12:10:05 +02:00
Tony Torralba
0c1f3ed0b3
Add tests for ContentProvider sources
2021-09-21 12:09:47 +02:00
Tony Torralba
a811ab3aff
Add ContentProvider sources
2021-09-21 12:09:28 +02:00
Jonas Jensen
a055c86c4f
C++: change note
2021-09-21 11:58:04 +02:00
Nick Rolfe
d60410e6b8
Use integer comparisons instead of strings when scanning ERB files
2021-09-21 10:50:04 +01:00
Jonas Jensen
237a7d34b8
C++: Exclusion rules for system macros
...
Unwanted results were reported for our JPL Rule 24 queries. Including
system headers with complex macros could lead to unpredictable alerts
from these rules.
2021-09-21 11:31:13 +02:00
Edoardo Pirovano
5a28a796af
Update documentation to reflect changes to database analyze
2021-09-21 10:16:12 +01:00
Tom Hvitved
cdc359527a
Resolve semantic conflicts after rebase
2021-09-21 11:14:11 +02:00
yoff
4adb0c75bd
Merge pull request #6589 from RasmusWL/promote-sqlalchemy
...
Python: Promote modeling of SQLAlchemy
2021-09-21 11:08:41 +02:00
Tom Hvitved
564c76c41f
Address review comments
2021-09-21 11:04:53 +02:00
Tom Hvitved
08dc6d79ef
Add support for flow summaries
2021-09-21 11:04:53 +02:00
Rasmus Wriedt Larsen
4a16be2cba
Merge pull request #6557 from yoff/python/port-modification-of-default-value
...
Python: port modification of default value
2021-09-21 10:12:12 +02:00
Rasmus Wriedt Larsen
f8e6ba633a
Python: Fix .expected for new subpaths query predicate
2021-09-21 09:40:13 +02:00
Rasmus Wriedt Larsen
c7c8e2f3e3
Merge branch 'main' into promote-sqlalchemy
2021-09-21 09:36:07 +02:00
Nick Rolfe
3201f30098
Update dbscheme stats
2021-09-20 23:13:38 +01:00
Nick Rolfe
e97adff21d
Add upgrade script to remove unused tokeninfo columns
2021-09-20 22:42:13 +01:00
Nick Rolfe
6a17dfd228
Remove file column from tokeninfo tables.
2021-09-20 22:42:13 +01:00
Nick Rolfe
6f059638d2
Remove idx column from tokeninfo tables.
2021-09-20 22:42:13 +01:00
Nick Rolfe
143256e673
Fix filenames in source archives
2021-09-20 22:17:45 +01:00
Nick Rolfe
c183e05c49
Merge pull request #300 from github/fix_tests
...
Fix tests
2021-09-20 16:19:40 +01:00
Nick Rolfe
d27f8a6d24
Add empty subpaths section to expected test output
2021-09-20 15:56:58 +01:00
Anders Schack-Mulligen
eaf05305ff
Merge pull request #6709 from aschackmull/java/local-taint-collections
...
Java: Add container flow to the local taint flow relation.
2021-09-20 16:04:45 +02:00
Tom Hvitved
8aaabe8b1e
Merge pull request #299 from github/hvitved/actions-reuse
...
Add two 'composite' actions for reusing logic
2021-09-20 15:55:28 +02:00
Nick Rolfe
6f7d4fef70
Merge pull request #287 from github/unsafe-deserialization
...
rb/unsafe-deserialization query
2021-09-20 14:23:30 +01:00
Nick Rolfe
8af12a164a
Merge pull request #298 from github/trap_extension
...
Fix trap extension for source files without extensions
2021-09-20 14:23:01 +01:00
Anders Schack-Mulligen
044623a360
Dataflow: Sync.
2021-09-20 14:58:28 +02:00
Anders Schack-Mulligen
07c05528ef
Dataflow: Fix join-order in subpaths01.
2021-09-20 14:58:12 +02:00
Tom Hvitved
e201dae672
Add two 'composite' actions for reusing logic
2021-09-20 14:52:02 +02:00
Anders Schack-Mulligen
c72e385a47
Java: Fix join-order in isUnreachableInCall.
2021-09-20 14:09:09 +02:00
Nick Rolfe
c30c7b380d
Replace if let with match.
2021-09-20 12:22:55 +01:00
Nick Rolfe
0936c4cd7b
Fix trap extension for source files without extensions
...
We were writing files with names like `Gemfile..trap.gz`. Now fixed to
`Gemfile.trap.gz`.
2021-09-20 12:11:00 +01:00
Tom Hvitved
4bfbf62e13
Merge pull request #296 from github/hvitved/empty-location
...
Extract a special empty location
2021-09-20 13:05:27 +02:00
Tom Hvitved
1393dc9eb4
Update extractor/src/main.rs
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-20 12:50:24 +02:00
Mathias Vorreiter Pedersen
797966fd3d
C++: Change the names of the new classes and predicates to match the upcoming 'CommandExecutionFunction' class.
2021-09-20 11:49:09 +01:00
Tom Hvitved
82d463e86e
Merge pull request #6718 from hvitved/csharp/xss-subpath
...
C#: Add `subpaths` predicate to XSS queries
2021-09-20 12:47:27 +02:00
Harry Maclean
95e50cedad
Add query for Code Injection
...
This query finds cases where user input flows to an argument to `eval`
or `send`, which can execute arbitrary Ruby code.
2021-09-20 11:35:45 +01:00
Rasmus Wriedt Larsen
97c0f1c7b7
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-09-20 12:04:46 +02:00
Tom Hvitved
64507ab316
Merge pull request #6712 from hvitved/csharp/subsumption-perf-take2
...
C#: Speedup type subsumption calculation
2021-09-20 11:59:24 +02:00
Tom Hvitved
b9c4abe7dc
C#: Fix qldoc typos
2021-09-20 10:42:01 +02:00
Tom Hvitved
6d315a5d16
C#: Add subpaths predicate to XSS queries
2021-09-20 10:40:54 +02:00
Anders Schack-Mulligen
187b7e117c
Merge pull request #6715 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-20 10:19:16 +02:00
Harry Maclean
916b844557
Merge pull request #280 from github/hmac-cli-injection
...
Add CLI Injection query
2021-09-20 08:54:01 +01:00
Tom Hvitved
b2d0c60a02
Replace hasLocationInfo with getLocation in API::Node
2021-09-20 09:52:26 +02:00
Tom Hvitved
58d06715fc
Extract a special empty location
2021-09-20 09:52:26 +02:00
github-actions[bot]
f0e7be7d56
Add changed framework coverage reports
2021-09-20 00:08:08 +00:00
Tom Hvitved
c6c1ad1b90
C#: Update toString for nested types
2021-09-18 19:51:37 +02:00
Tom Hvitved
07fe29cc67
C#: Speedup type subsumption calculation
2021-09-18 19:51:37 +02:00
luciaromeroML
f348a5ce47
adding comments to some functions
2021-09-17 18:25:14 -03:00
luciaromeroML
25065bc986
simplifying sentence
2021-09-17 18:07:04 -03:00
luciaromeroML
0b0ac8317c
format ql code
2021-09-17 18:05:52 -03:00
valeria-meli
054218a381
Merge branch 'main' into javascript/ssrf
2021-09-17 17:08:52 -03:00
Robert Marsh
a9add04ee3
C++: remove unneed import
2021-09-17 12:17:06 -07:00
Robert Marsh
d3d708bc68
C++: QLDoc for CommandExecution model
2021-09-17 12:16:20 -07:00
Alex Ford
36289aa9d9
Merge pull request #255 from github/reflected-xss
...
rb/reflected-xss query
2021-09-17 18:32:48 +01:00
Joe Farebrother
4929c66e60
Implement gen methods for collections and maps
2021-09-17 17:37:46 +01:00
Harry Maclean
739661eb10
Test that KernelMethodCall is specific enough
...
Calls to `UnknownModule.system`, where `UnknownModule` is a module that
we know nothing about, should not be identified as instances of
`KernelMethodCall`.
2021-09-17 17:02:17 +01:00
Harry Maclean
64a8cedaa7
Generalise the concept of a Kernel method call
2021-09-17 17:02:17 +01:00
Harry Maclean
599dc28ffa
Add another test for shell interpretation
2021-09-17 17:02:17 +01:00
Harry Maclean
f8359767bc
Exclude non-shell interpreted args
...
Update the CommandInjection query to only consider sinks where the
argument is interpreted by a shell. If the argument is passed directly
to a subprocess then it's not vulnerable to shell injection.
2021-09-17 17:02:17 +01:00
Harry Maclean
c8e9a592f0
Update CLI injection tests
...
Cover more cases, like sinks after (but not guarded by) barrier guards.
2021-09-17 17:02:17 +01:00
Harry Maclean
d046fb0591
Separate open3 pipeline methods
...
These have a slightly different structure than the other open3 methods.
2021-09-17 17:02:17 +01:00
Harry Maclean
174ba25c66
Update SystemCommandExecution to new pattern
...
The new pattern is to use the new instanceof keyword in the class
definition, instead of constraining the "superclass" via a member field.
2021-09-17 17:02:17 +01:00
Harry Maclean
cbc14ccda9
Make KernelSystemCall more specific
...
Test that calls to`system` on modules other than `Kernel` are excluded,
such as in this example:
module Foo
def self.system(*args); end
end
# This is not a call to Kernel.system
Foo.system("bar")
2021-09-17 17:02:17 +01:00
Harry Maclean
fb23a2e3bf
Add SubshellHeredocExecution
...
This is a form of command execution:
result = <<`EOF`
echo foo bar #{baz}
EOF
2021-09-17 17:02:17 +01:00
Harry Maclean
799ef4e4c9
Add barrier guards for CLI injection
2021-09-17 17:02:17 +01:00
Harry Maclean
4ecc78effc
Kernel#system -> Kernel.system
2021-09-17 17:02:17 +01:00
Harry Maclean
8f65d78cb5
Add Shellwords.escape as CLI injection sanitizer
2021-09-17 17:02:17 +01:00
Harry Maclean
fe8fc0697b
Add qhelp for CLI Injection query
2021-09-17 17:02:17 +01:00
Harry Maclean
4a0d7c528a
Add top-level CLI injection query and tests
2021-09-17 17:02:17 +01:00
Harry Maclean
8440fe2ba9
Add CommandInjection dataflow config
2021-09-17 17:02:17 +01:00
Harry Maclean
a8f0bce1d1
Add SystemCommandExecution concept
...
A SystemCommandExecution is a method call or builtin that executes a
system command, either directly or via a subshell.
2021-09-17 17:02:17 +01:00
Joe Farebrother
3ef09da1df
Add models for more of methods; update stubs
2021-09-17 16:57:49 +01:00
Nick Rolfe
3c05101961
Merge pull request #290 from github/extract_gemfile
...
Automatically extract Gemfiles
2021-09-17 16:42:30 +01:00
Nick Rolfe
3d23575a38
Merge pull request #292 from github/regexp_slash_az
...
Don't parse `\A` and `\Z` as `RegExpConstant`
2021-09-17 16:42:13 +01:00
Daniel Santos
9e41f43ee2
Fix: android.util.Log is final. No inheritance handling is needed.
2021-09-17 10:15:48 -05:00
Geoffrey White
e7c82d7370
C++: Accept subpaths in tests.
2021-09-17 16:14:24 +01:00
Geoffrey White
24668b2281
Merge branch 'main' into cwe139
2021-09-17 16:04:51 +01:00
Geoffrey White
51243454c8
C++: Change note.
2021-09-17 15:10:55 +01:00
Anders Schack-Mulligen
2cbad4aed6
Merge pull request #6600 from atorralba/atorralba/fix-conditionalbypass
...
Java: Fix performance of the query User-controlled bypass of sensitive method
2021-09-17 16:07:39 +02:00
Geoffrey White
90bc138049
CPP: Fix QLDoc comments.
2021-09-17 14:12:04 +01:00
Tamás Vajk
3247794e2f
Merge pull request #6196 from tamasvajk/feature/sql-sinks
...
C#: Migrate SQL sinks to CSV format
2021-09-17 14:36:57 +02:00
Joe Farebrother
e946f49b64
[Test gen] Gen methods for Set and Iterator
2021-09-17 11:22:50 +01:00
Joe Farebrother
0bff1b4afb
Implement get methods
2021-09-17 11:08:09 +01:00
haby0
99167539fb
Modify sinks
2021-09-17 17:29:40 +08:00
Geoffrey White
a3de94e868
C++: Assign precision and severity; medium for now, since there are FPs in SAMATE Juliet.
2021-09-17 10:05:06 +01:00
Tamas Vajk
8232698254
C#: Migrate SQL sinks to CSV format
2021-09-17 10:21:31 +02:00
Tamás Vajk
6a78aa7840
Merge pull request #6461 from tamasvajk/feature/service-stack
...
C#: Add ServiceStack support
2021-09-17 10:16:20 +02:00
Felicity Chapman
7383988988
Merge pull request #6701 from github/docs-4908-training-note-links
...
Update links in training notes to use CodeQL microsite
2021-09-17 09:00:36 +01:00
james
e906ded0d1
remove java class
2021-09-17 08:48:26 +01:00
Daniel Santos
032a7e71fe
Update Logging.qll
...
Simplified using a set-literal as suggested by @intrigus-lgtm
2021-09-16 13:03:26 -05:00
Ethan Palm
b73a2f7d56
Merge pull request #6667 from ethanpalm/indirect-build-tracing-docs
...
Add indirect build tracing docs
2021-09-16 12:36:56 -04:00
Ethan P
4d7aa5c945
Update example note
2021-09-16 09:29:35 -07:00
Daniel Santos
af8b2b6d9c
Fix Android logging signature in java/ql/src/experimental/semmle/code/java/Logging.qll
2021-09-16 11:24:06 -05:00
ihsinme
b6bcf9fa44
Add files via upload
2021-09-16 19:18:19 +03:00
ihsinme
b393c6a285
Add files via upload
2021-09-16 19:16:54 +03:00
james
c36292bfd0
a few more links
2021-09-16 17:03:29 +01:00
Anders Schack-Mulligen
a67db45454
Merge pull request #6612 from Marcono1234/marcono1234/literal-getLiteral-usage
...
Java: Replace incorrect usage of `Literal.getLiteral()`
2021-09-16 17:00:32 +02:00
Rasmus Lerchedahl Petersen
64685f31dc
Python: Add missing qldoc
...
Also do some general cleanup
How was this allowed comitted in the first place?
2021-09-16 16:51:43 +02:00
Joe Farebrother
1111afc031
Update tests for new support methods; fix bad model
2021-09-16 15:23:03 +01:00
Joe Farebrother
54dbd7c0bd
[Test gen] Add more support method implementations
2021-09-16 15:23:03 +01:00
Joe Farebrother
ef5bf87672
[Test gen] Distinguish default support methods
2021-09-16 15:23:03 +01:00
Joe Farebrother
eb45e67784
Generate tests for modified models
2021-09-16 15:23:02 +01:00
Joe Farebrother
1eacbd88b8
Fix up some incorrect models; simplify/remove some redundand ones
2021-09-16 15:23:02 +01:00
Joe Farebrother
a89bd32eb0
Factor out content manipulating methods from tests to a separate file
2021-09-16 15:23:02 +01:00
Joe Farebrother
56a2dc632b
Move tests around and remove files used for generating tests
2021-09-16 15:23:02 +01:00
Joe Farebrother
7dded52de2
Add change note
2021-09-16 15:23:02 +01:00
Joe Farebrother
8425a94729
Mark failing tests as missing
...
I'm not sure why these tests don't work.
2021-09-16 15:23:02 +01:00
Joe Farebrother
7bf55fbc49
Update stubs to not include package protected members
2021-09-16 15:23:02 +01:00
Joe Farebrother
39349f3763
Fix failing test
2021-09-16 15:23:02 +01:00
Joe Farebrother
60c6158152
Fill in implementations of getters for synthetic fields
2021-09-16 15:23:01 +01:00
Joe Farebrother
225e70a8d0
Fill in implementations fo getMapKey/Value
2021-09-16 15:23:01 +01:00
Joe Farebrother
338a6f2114
Fill in implementations for getElement
2021-09-16 15:23:01 +01:00
Joe Farebrother
cd7c7c3152
Implement array getters/constructors in generated tests
2021-09-16 15:23:01 +01:00
Joe Farebrother
84748cda76
Increase field flow branch limit.
...
I'm a little concerned that this appears to be necassary for tests; as it may mean that results involving these flow steps may not be found in real-world projects.
2021-09-16 15:23:01 +01:00
Joe Farebrother
f94a61cc8a
Remove unneeded rows
2021-09-16 15:23:01 +01:00
Joe Farebrother
b51ffadd27
Improve generated tests
2021-09-16 15:23:01 +01:00
Joe Farebrother
0f2c50f1f5
Explicitly add the of and copyOf methods for ImmutableSorted variants of certain types.
2021-09-16 15:23:01 +01:00
Joe Farebrother
c8e2b027ee
Add fieldFlowBranchLimit to the tests
2021-09-16 15:23:00 +01:00
Joe Farebrother
839c9e35c8
Simplify synthetic table fields
2021-09-16 15:23:00 +01:00
Joe Farebrother
46eec3c8eb
Switch to simpler synthetic field model
2021-09-16 15:23:00 +01:00
Joe Farebrother
6ae11b5b2c
Generate stubs.
...
Some generated stubs were manually adjusted due to minor issues in the stub generator.
In particular, ambiguous references were resolved and references to private classes were removed.
2021-09-16 15:23:00 +01:00
Joe Farebrother
ff733e0334
Fix up issues in generated tests
2021-09-16 15:23:00 +01:00
Joe Farebrother
693d729ec6
Generate tests and fix broken specs
2021-09-16 15:23:00 +01:00
Joe Farebrother
2150c1d58e
Remove <> from flow summaries
2021-09-16 15:23:00 +01:00
Joe Farebrother
1273b063f4
Fix test expectations
2021-09-16 15:23:00 +01:00
Joe Farebrother
a755633405
Add the remaining utility classes
2021-09-16 15:22:59 +01:00
Joe Farebrother
19579f0d9a
Add more utility class models and reorder existing ones
2021-09-16 15:22:59 +01:00
Joe Farebrother
ca583bffd5
Add Lists and Collections2 utilites
2021-09-16 15:22:59 +01:00
Joe Farebrother
5fee6d2d19
Convert Sets utilities
2021-09-16 15:22:59 +01:00
Joe Farebrother
10f0f3038c
Add tables, improve tests, make fixes
2021-09-16 15:22:59 +01:00
Joe Farebrother
73aba09eee
Add create methods
2021-09-16 15:22:59 +01:00
Joe Farebrother
035d655e72
Update guava collection flow steps to CSV
2021-09-16 15:22:59 +01:00
Marcono1234
020aa4d94c
Java: Address feedback and fix test failures
2021-09-16 14:10:48 +01:00
Marcono1234
58d2d5d14e
Java: Replace incorrect usage of Literal.getLiteral()
2021-09-16 14:10:48 +01:00
haby0
0277601705
Eliminate false positives caused by .
2021-09-16 20:59:34 +08:00
Rasmus Lerchedahl Petersen
72bf390ec5
Merge branch 'main' of github.com:github/codeql into python/promote-regex-injection
2021-09-16 14:50:17 +02:00
Tom Hvitved
1c1c46591e
Merge pull request #6708 from hvitved/python/files-folders-drop-columns
...
Python: Drop redundant columns from `files` and `folders` relations
2021-09-16 14:42:15 +02:00
Tom Hvitved
1fd91ab9bd
Merge pull request #295 from github/hvitved/remove-numlines
...
No longer create redundant `numlines` relation
2021-09-16 13:21:20 +02:00
Tom Hvitved
9f10018d48
Address review comment
2021-09-16 13:11:03 +02:00
Taus
783233dfe4
Merge pull request #6696 from yoff/python/copy-multiples-performance-fix-from-ruby
...
Python: Copy performance fix for `multiples` from ruby
2021-09-16 13:01:07 +02:00
Tom Hvitved
464b50231b
DB upgrade script
2021-09-16 12:57:32 +02:00
Tony Torralba
f18c163408
Improve handling of the 'author' word as an exception
2021-09-16 11:57:28 +02:00
Tony Torralba
8022530f34
Merge pull request #5983 from atorralba/atorralba/promote-insecure-basic-auth
...
Java: Promote Insecure Basic Authentication query from experimental
2021-09-16 11:45:30 +02:00
Tom Hvitved
fd04baa9fe
No longer create redundant numlines relation
2021-09-16 11:43:13 +02:00
Anders Schack-Mulligen
28e5dcef52
Java: Add container flow to the local taint flow relation.
2021-09-16 11:14:30 +02:00
Tom Hvitved
37ec83a68b
Python: Upgrade script
2021-09-16 10:51:27 +02:00
Tom Hvitved
94b5c4eada
Python: Drop redundant columns from files and folders relations
2021-09-16 10:51:27 +02:00
Benjamin Muskalla
d3caa80274
Merge pull request #6706 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-16 09:58:19 +02:00
Tamas Vajk
f015cea590
Merge branch 'main' into feature/service-stack
2021-09-16 09:42:42 +02:00
Tamas Vajk
05dd3fa0e7
Adjust review findings
2021-09-16 09:42:38 +02:00
Erik Krogh Kristensen
0198cf6318
Merge pull request #6704 from erik-krogh/fix-upgrade
...
JS: fix dbsheme upgrade from TypeScript 4.4 PR
2021-09-16 08:34:58 +02:00
Anders Schack-Mulligen
236ffc8972
Merge pull request #6700 from aschackmull/dataflow/subpaths-joinorder
...
Dataflow: Fix bad joinorder in subpaths
2021-09-16 08:22:59 +02:00
github-actions[bot]
563878d28d
Add changed framework coverage reports
2021-09-16 00:08:03 +00:00
Erik Krogh Kristensen
5c73fed83a
fix dbsheme upgrade from TypeScript 4.4 PR
2021-09-15 22:38:27 +02:00
Alex Ford
e89d485bc0
update test output (subpaths)
2021-09-15 20:51:14 +01:00
Alex Ford
773291e4c3
Put exprNodeReturnedFrom predicate in DataFlowDispatch.qll
2021-09-15 20:50:46 +01:00
Alex Ford
e80faa017c
Fix rb/reflected-xss flow from helper method return values
2021-09-15 20:50:46 +01:00
Alex Ford
35da921deb
format
2021-09-15 20:50:46 +01:00
Alex Ford
50b0bb8b36
Restrict rb/reflected-xss instance variable taint edges
2021-09-15 20:50:46 +01:00
Alex Ford
5cfefb1027
Add some more test cases for rb/reflected-xss
2021-09-15 20:50:46 +01:00
Alex Ford
6cc82d46f3
Fix LinkToCallArgumentAsSink matching when link_to is passed a block
2021-09-15 20:50:46 +01:00
Alex Ford
200c8f2493
Add some HTMLEscaping implementations for Rails
2021-09-15 20:50:46 +01:00
Alex Ford
2e65f9b80e
update some comments referencing view components
2021-09-15 20:50:46 +01:00
Alex Ford
98fd0e1c24
Update ql/src/queries/security/cwe-079/ReflectedXSS.qhelp
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-15 20:50:46 +01:00
Alex Ford
0689e6095e
make a type more specific
2021-09-15 20:50:46 +01:00
Alex Ford
ed708c1903
Update ql/src/queries/security/cwe-079/ReflectedXSS.qhelp
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-15 20:50:46 +01:00
Alex Ford
eed87b3319
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-15 20:50:46 +01:00
Alex Ford
205b141482
format
2021-09-15 20:50:46 +01:00
Alex Ford
76864a82be
remove an incorrect test case
2021-09-15 20:50:46 +01:00
Alex Ford
3445a6a5e7
fix flow steps from controller instance var assignement to view read access
2021-09-15 20:50:46 +01:00
Alex Ford
b993723595
remove spurious ivar -> locals hash mapping (actionview/controller)
2021-09-15 20:50:46 +01:00
Alex Ford
3430a46440
fix some local variable mappings between view and controller
2021-09-15 20:50:46 +01:00
Alex Ford
b264a05288
Update ql/lib/codeql/ruby/security/ReflectedXSSCustomizations.qll
...
Co-authored-by: Harry Maclean <hmac@github.com >
2021-09-15 20:50:46 +01:00
Alex Ford
dbb239b04e
reorder and format rb/reflected-xss qhelp
2021-09-15 20:50:46 +01:00
Alex Ford
d71dd3f6c7
rb/reflected-xss
2021-09-15 20:50:46 +01:00
Robert Marsh
c85cc1455b
C++: accept changes to new ExecTainted test
2021-09-15 11:27:13 -07:00
Ethan P
080867a390
Add reviewer feedback
2021-09-15 11:19:41 -07:00
Robert Marsh
a3e1f54e33
C++: Refactor models to prevent IR reevaluation
2021-09-15 10:55:56 -07:00
Robert Marsh
509a3493b6
C++: support new subpaths predicate in ExecTainted
2021-09-15 10:55:56 -07:00
Robert Marsh
09ef8f639e
C++: Improve performance by restricting isSource
2021-09-15 10:55:55 -07:00
Robert Marsh
83cc098412
C++: accept test output
2021-09-15 10:55:55 -07:00
Robert Marsh
3cd08bc724
C++: autoformat Printf.qll
2021-09-15 10:55:55 -07:00
Robert Marsh
fe1f9878ba
C++: add GVN import to fix reevaluation
2021-09-15 10:55:54 -07:00
Robert Marsh
e874fbbea2
C++: Add path stitching in ExecTainted.ql
2021-09-15 10:55:54 -07:00
Robert Marsh
5dc6e13ab5
C++: use TaintTracking2 in ExecTainted.ql
2021-09-15 10:55:53 -07:00
Robert Marsh
4d2036fa26
C++: change note for cpp/command-line-injection
2021-09-15 10:55:53 -07:00
Robert Marsh
c30e7ec41a
C++: raise precision of cpp/command-line-injection
2021-09-15 10:55:53 -07:00
Robert Marsh
181eb803e1
C++: Add QLDoc for getOutputArgument
2021-09-15 10:55:52 -07:00
Robert Marsh
37c92178a5
C++: exclude int/string conversion in ExecTainted
2021-09-15 10:55:52 -07:00
Robert Marsh
5e265f45e1
C++: ExecTainted tests for int/string conversions
2021-09-15 10:55:51 -07:00
Robert Marsh
9926892c8a
C++: remove debugging predicates
2021-09-15 10:55:51 -07:00
Robert Marsh
9c478c502e
C++: add some more tests for ExecTainted
2021-09-15 10:55:50 -07:00
Robert Marsh
562c8b97ad
C++: add comment explaining concatenation logic
2021-09-15 10:55:50 -07:00
Robert Marsh
6f408f949c
C++: Refactor ExecTainted.ql to need concatenation
...
This makes ExecTainted report results only when the tainted value does
not become the start of the string which is eventually run as a shell
command. The theory is that those cases are likely to be deliberate, and
part of the expected threat model of the program (e.g. $CC in make).
This lines up better with the results I considered fixable true
positives in LGTM testing
2021-09-15 10:55:49 -07:00
Robert Marsh
8f4df8603a
C++: more tests for command injection
2021-09-15 10:55:49 -07:00
Nick Rolfe
f76ce8b33b
Merge pull request #6686 from hvitved/cpp/files-folders-drop-columns
...
C++: Drop redundant columns from `files` and `folders` relations
2021-09-15 18:33:20 +01:00
Mathias Vorreiter Pedersen
33ef634ea8
Merge pull request #6679 from andersfugmann/relax_memberMayBeVarSize
...
Improve precision on OverflowStatic query.
2021-09-15 17:24:10 +01:00
Felicity Chapman
05d83e487d
Update all links to CodeQL microsite
2021-09-15 17:08:55 +01:00
Tony Torralba
21079a1315
Fix conditionControlsMethod predicate
...
Exceptions for throw and return statements were missing the appropriate condition
2021-09-15 17:51:51 +02:00
Tony Torralba
d3cf697b07
QLDoc
2021-09-15 17:32:36 +02:00
Tony Torralba
5ed9949498
Adapt InsecureBasicAuth to the previous commit
2021-09-15 17:20:28 +02:00
Tony Torralba
2e08c5dd2b
Refactored HttpsUrls.ql
2021-09-15 17:20:28 +02:00
Tony Torralba
c3c73377b8
Fix scope issues in the Java example
2021-09-15 17:20:28 +02:00
Tony Torralba
023264660b
Suggestions from code review
2021-09-15 17:20:28 +02:00
mc
0e7cbbfeb8
Update InsecureBasicAuth.qhelp
2021-09-15 17:20:28 +02:00
mc
e58b90ef1c
Added full stops
2021-09-15 17:20:28 +02:00
Tony Torralba
e159351179
Update java/change-notes/2021-06-01-insecure-basic-auth-query.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-09-15 17:20:27 +02:00
Tony Torralba
30178d4f23
Decouple InsecureBasicAuth.qll to reuse the taint tracking configuration
2021-09-15 17:20:27 +02:00
Tony Torralba
90df3fa94c
Remove CWE reference from qlhelp since it's obtained from metadata
2021-09-15 17:20:27 +02:00
Tony Torralba
49c6a56f97
Add change note
2021-09-15 17:20:27 +02:00
Tony Torralba
148443fae1
Use InlineExpectationsTest
2021-09-15 17:20:27 +02:00
Tony Torralba
2cada386b4
Refactored into InsecureBasicAuth.qll
2021-09-15 17:20:27 +02:00
Tony Torralba
905be67aae
Moved from experimental
2021-09-15 17:20:27 +02:00
Tom Hvitved
d3a1d0a62a
Merge pull request #294 from github/bump-codeql
...
Bump `codeql` submodule
2021-09-15 16:24:04 +02:00
Anders Schack-Mulligen
c0fd44c909
Dataflow: Sync.
2021-09-15 16:10:54 +02:00
Anders Schack-Mulligen
3abe1b4fc6
Dataflow: Fix bad join-order.
2021-09-15 16:10:30 +02:00
Geoffrey White
c4714b55a3
Merge pull request #6588 from ihsinme/ihsinme-patch-069
...
CPP: Add query for CWE-675: Duplicate Operations on Resource
2021-09-15 15:10:03 +01:00
Tom Hvitved
9e67382f06
Bump codeql submodule
2021-09-15 14:59:42 +02:00
Jonas Jensen
65f4ec403f
Merge pull request #6593 from geoffw0/samate-move
...
C++: Add test cases with SAMATE Juliet code snippets to the codeql test suite.
2021-09-15 14:18:08 +02:00
Mathias Vorreiter Pedersen
947ab8a14d
Make the QLDoc on 'getAnSqlParameter' more clear.
2021-09-15 13:15:05 +01:00
Erik Krogh Kristensen
3f736d3eb8
Merge pull request #6694 from erik-krogh/owasp-fixes
...
JS/Java: use the correct cwe tags
2021-09-15 13:46:35 +02:00
CodeQL CI
b228398b87
Merge pull request #6587 from erik-krogh/ts44
...
Approved by asgerf
2021-09-15 04:00:13 -07:00
Rasmus Lerchedahl Petersen
8ea7a28a77
Python: Unexpose fields as suggested.
2021-09-15 12:32:21 +02:00
yoff
758b6bd4dd
Update python/ql/src/semmle/python/functions/ModificationOfParameterWithDefaultCustomizations.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-15 12:25:27 +02:00
Geoffrey White
0e7afb24cf
Merge pull request #6643 from MathiasVP/add-frontend-and-extractor-diagnostic-query
...
C++: Add uninterpreted query for obtaining frontend and extraction time
2021-09-15 11:17:58 +01:00
Geoffrey White
9ad51fbc02
C++: Fix the correct test this time.
2021-09-15 11:03:09 +01:00
Erik Krogh Kristensen
cf149bd8c8
add static_initializer as a stmt_parent
2021-09-15 11:54:30 +02:00
Chris Smowton
03db15af9a
Merge pull request #6685 from smowton/smowton/admin/android-uri-model
...
Java: Add models for android.net.Uri[.Builder]
2021-09-15 10:48:33 +01:00
Erik Krogh Kristensen
0b83d033d7
add @static_initializer in the stats file
2021-09-15 11:33:05 +02:00
Jordy Zomer
0f6e845418
Merge branch 'main' of https://github.com/JordyZomer/codeql into main
2021-09-15 10:41:31 +02:00
Jordy Zomer
01a06d1f5c
Add filter and format the query
2021-09-15 10:37:40 +02:00
Anders Fugmann
e49cd83868
C++: update change note per suggestion from peer review
2021-09-15 10:31:15 +02:00
Anders Schack-Mulligen
8485b6f0b3
Merge pull request #6691 from bmuskalla/moreStringMethods
...
Java: Support String#getChars and #translateEscapes
2021-09-15 10:14:54 +02:00
CodeQL CI
220f2ded85
Merge pull request #6698 from asgerf/js/template-self-assignment
...
Approved by esbena
2021-09-15 01:08:39 -07:00
Anders Schack-Mulligen
3f7d6e6f85
Merge pull request #6136 from smowton/smowton/admin/spring-xss-content-type-sensitivity
...
Spring HTTP: improve content-type sensitivity
2021-09-15 09:50:56 +02:00
Anders Schack-Mulligen
2a9e3da24f
Merge pull request #6697 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-15 09:35:09 +02:00
Asger Feldthaus
b5db4047a0
JS: Exclude template files in SelfAssignment
2021-09-15 08:59:47 +02:00
haby0
c60eded2de
Fix conflicting
2021-09-15 11:07:43 +08:00
github-actions[bot]
baab70bea6
Add changed framework coverage reports
2021-09-15 00:07:57 +00:00
CodeQL CI
b25b19f71b
Merge pull request #6584 from erik-krogh/clipBoard
...
Approved by esbena
2021-09-14 12:41:49 -07:00
Erik Krogh Kristensen
5a7785776c
add upgrade script
2021-09-14 20:43:07 +02:00
Erik Krogh Kristensen
fdbf5f73b1
add JS support for static initializers
2021-09-14 20:40:46 +02:00
Erik Krogh Kristensen
cc0d86403e
revert some type changes that are no longer needed
2021-09-14 20:40:46 +02:00
Erik Krogh Kristensen
48b763c7e9
add qldoc to StaticInitializer::getBody
2021-09-14 20:40:46 +02:00
Erik Krogh Kristensen
7ce87a7118
remove stray import
2021-09-14 20:40:46 +02:00
Erik Krogh Kristensen
c8c7a1f772
remove the body field from StaticInitializer and relax the valuye type on MemberDefinition
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
e3ed6c2523
refactor StaticInitializer into it's own class
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
23e28ae5d4
fix typo in comment
...
Co-authored-by: Asger F <asgerf@github.com >
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
2a03a84315
remove TODO comment
...
Co-authored-by: Asger F <asgerf@github.com >
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
68ab210dc8
update TypeScript version info in versions-compilers.rst
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
ffd51e725f
add getter for static initializer blocks
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
9585481d0b
add support for static initializer blocks in TypeScript
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
59f15eb4eb
add tests for TypeScript 4.4 types
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
02a0eed8ee
add basic support for TypeScript 4.4
2021-09-14 20:40:45 +02:00
Erik Krogh Kristensen
3b6c8c5191
Merge branch 'main' into clipBoard
2021-09-14 20:21:37 +02:00
CodeQL CI
136d04390d
Merge pull request #6695 from erik-krogh/js-add-cwes
...
Approved by esbena
2021-09-14 11:19:35 -07:00
Nick Rolfe
961674e4a8
Update expected output now we extract the Gemfile
2021-09-14 18:23:57 +01:00
Nick Rolfe
ec13133317
Automatically extract .gemspec and Gemfile files
...
They are just Ruby code, after all.
2021-09-14 18:23:57 +01:00
Nick Rolfe
ebf23d00d1
Don't parse \A and \Z as RegExpConstant
...
Fixes some FPs for the ReDoS queries.
2021-09-14 16:49:35 +01:00
Geoffrey White
8fd848701e
C++: Fix test failure.
2021-09-14 16:38:11 +01:00
Chris Smowton
e5b84fb795
Use InlineFlowTest
2021-09-14 16:37:07 +01:00
Chris Smowton
5d737934c3
Don't inherit models from a final class
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2021-09-14 16:37:07 +01:00
Chris Smowton
367a53dd71
Add models for android.net.Uri[.Builder]
2021-09-14 16:37:07 +01:00
Harry Maclean
12723f0f13
Merge pull request #288 from github/hmac-barrier-guard-checks
...
Make barrier guards more specific
2021-09-14 16:16:20 +01:00
Chris Smowton
ca87768a93
Merge pull request #6692 from bmuskalla/testGeneratorFlowTest
...
Java: Test generator uses `InlineFlowTest`
2021-09-14 15:44:24 +01:00
Arthur Baars
e03fe0fcd4
Add ClassifyFiles.ql
2021-09-14 16:30:34 +02:00
Mathias Vorreiter Pedersen
44dca68463
Merge branch 'main' into promote-sql-pqxx
2021-09-14 15:29:37 +01:00
Chris Smowton
406466de9a
Simplify specifiesContentType predicate
2021-09-14 15:24:46 +01:00
Mathias Vorreiter Pedersen
adbeba291b
Merge pull request #6687 from MathiasVP/fix-fp-in-av-rule-114
...
C++: Exclude uninstantiated templates from AV Rule 114.
2021-09-14 15:24:18 +01:00
Chris Smowton
6cff0d0376
Merge pull request #6393 from luchua-bc/java/xss-jsf
...
Java: CWE-079 Query to detect XSS with JavaServer Faces (JSF)
2021-09-14 15:15:56 +01:00
Anders Fugmann
bc22e0d9aa
C++: Update comments on memberMayBeVarSize
2021-09-14 16:04:39 +02:00
Tony Torralba
4e93330cb9
Improved tests
...
Note that a FN test case was added
2021-09-14 15:51:08 +02:00
Benjamin Muskalla
abd770a027
Avoid empty template in test generator
2021-09-14 15:32:12 +02:00
Chris Smowton
a1ad1ddc10
Deprecated and replace uses of old name ServletWriterSource
2021-09-14 14:21:29 +01:00
Rasmus Lerchedahl Petersen
d37c14880f
Python: Copy performance fix
2021-09-14 15:15:50 +02:00
haby0
9e63aa9d84
Update query
2021-09-14 21:12:49 +08:00
Erik Krogh Kristensen
b936a04826
add some fitting CWEs to existing queries
2021-09-14 14:59:24 +02:00
Ethan Palm
c62a21e04f
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-09-14 08:55:46 -04:00
Erik Krogh Kristensen
6d12c4aab1
use the correct cwe tags
2021-09-14 14:42:23 +02:00
Anders Schack-Mulligen
26eafcb55a
Merge pull request #6456 from smowton/smowton/admin/flexjson-unsafe-deserialization
...
Java: add unsafe-deserialization support for Flexjson
2021-09-14 14:33:22 +02:00
Tom Hvitved
f4e2c30d86
Merge pull request #291 from github/hvitved/regexp-multiples
...
Speedup `RegExp::multiples`
2021-09-14 14:22:20 +02:00
Tom Hvitved
8ac3dc29e0
Speedup RegExp::multiples
...
Use regexps to perform matching to avoid constructing sub strings.
2021-09-14 13:58:24 +02:00
Rasmus Lerchedahl Petersen
c2d2037726
Python: Add change note and set precision
2021-09-14 13:45:51 +02:00
Tony Torralba
0640b41f00
Adjust tests
2021-09-14 13:44:53 +02:00
Rasmus Wriedt Larsen
8b7fad8595
Merge pull request #6283 from tausbn/python-fix-exceptstmt-gettype
...
Python: Fix `ExceptStmt::getType`
2021-09-14 13:40:33 +02:00
Rasmus Wriedt Larsen
49f5f1e2c2
Merge pull request #6336 from tausbn/python-make-annotated-assignment-a-definitionnode
...
Python: Two fixes regarding annotated assignments
2021-09-14 13:37:53 +02:00
Chris Smowton
6af5c5fc86
Add change note
2021-09-14 12:36:38 +01:00
Chris Smowton
26dbf058c8
Add reverse import from ExternalFlow.qll
2021-09-14 12:35:33 +01:00
Rasmus Lerchedahl Petersen
1c7982b319
Python: Move query tests over
2021-09-14 13:29:21 +02:00
Chris Smowton
fcc0f1d5a7
Expand test to exercise all sinks
2021-09-14 12:27:33 +01:00
Chris Smowton
e439b7d7f8
Remove resource-related sources
...
These access application-owned resources AFAICT
2021-09-14 12:24:27 +01:00
Tony Torralba
b740cf9664
Add change note
2021-09-14 13:16:47 +02:00
Tony Torralba
097927226b
Improved heuristics to increase precision
2021-09-14 13:16:47 +02:00
Tony Torralba
f8d1e2ac11
Refactor tests to use InlineExpectationsTest
2021-09-14 13:16:45 +02:00
Tony Torralba
1f7990d6bb
Refactor to use ConditionalBypassQuery.qll
2021-09-14 13:16:09 +02:00
Tony Torralba
a484e9fb06
Use RemoteFlowSource instead of UserInput
2021-09-14 13:16:09 +02:00
Rasmus Lerchedahl Petersen
36e27f2aa4
Python: Remove promoted code:
...
- queries (`py/regex-injection`)
- concepts (RegexExecution, RegexEscape)
- library models (Stdlib::Re)
2021-09-14 13:14:16 +02:00
Tom Hvitved
b69033f4ff
C++: Upgrade script
2021-09-14 13:14:04 +02:00
Tom Hvitved
6c32b92929
C++: Drop redundant columns from files and folders relations
2021-09-14 13:14:04 +02:00
Tom Hvitved
98a12cef26
Merge pull request #6690 from hvitved/js/files-folders-drop-columns
...
JavaScript: Drop redundant columns from `files` and `folders` relations
2021-09-14 13:13:37 +02:00
Rasmus Lerchedahl Petersen
abbd1d1dc5
Python: Fix errors introduced during port
...
testing on a database helps..
2021-09-14 13:08:21 +02:00
Chris Smowton
104873e8ee
Autoformat
2021-09-14 12:07:59 +01:00
Chris Smowton
6811441459
Factor JSF source definitions
2021-09-14 12:07:48 +01:00
Chris Smowton
b7fc068cee
Move JSFRenderer.qll to lib
2021-09-14 11:49:01 +01:00
Chris Smowton
023c533745
Combine Servlet and JSF vulnerable writer flow-tracking
...
JSP and Servlet already shared this logic; might as well add JSF into the same mechanism.
2021-09-14 11:48:34 +01:00
Chris Smowton
cb8096f636
Remove JSF XSS Example
...
Per previous commit, no need for a top-level JSF example
2021-09-14 11:47:37 +01:00
Chris Smowton
cca9ad06b4
Remove JSF example
...
I don't think we need this: there are lots of possible XSS vectors; we don't need to enumerate every one in the qhelp file.
2021-09-14 11:47:36 +01:00
Chris Smowton
76e4077b56
Delete unused classes
2021-09-14 11:47:35 +01:00
luchua-bc
24addd5c10
Query to detect XSS with JavaServer Faces (JSF)
2021-09-14 11:47:32 +01:00
Chris Smowton
e92b9cbe99
Improve getAProducesExpr documentation
2021-09-14 11:16:45 +01:00
Harry Maclean
4763312e55
Merge ConditionBlock and BarrierGuard
2021-09-14 11:11:12 +01:00
Benjamin Muskalla
f9918cc63c
Test generator uses InlineFlowTest
2021-09-14 11:58:56 +02:00
Rasmus Lerchedahl Petersen
6c82daef3d
Python: Move Regexinjection out of experimental
...
and fix up structure
2021-09-14 11:54:59 +02:00
Rasmus Lerchedahl Petersen
3d5192d6d3
Python: Fix typos
2021-09-14 11:54:11 +02:00
Arthur Baars
c2ec6407f5
Add AlertSuppression.ql
2021-09-14 11:53:53 +02:00
Rasmus Lerchedahl Petersen
a30f697537
Python: Add getName to RegexExecution concept
2021-09-14 11:53:40 +02:00
Anders Schack-Mulligen
e71173d953
Merge pull request #6591 from bmuskalla/inlineFlowTest
...
Java: Simplify setup for flow tests using `InlineExpectationsTest`
2021-09-14 10:31:29 +02:00
Tom Hvitved
57b5b2af2e
JavaScript: DB upgrade script
2021-09-14 10:25:53 +02:00
Tom Hvitved
25e1da0150
JavaScript: Update expected test output
2021-09-14 10:25:42 +02:00
Tom Hvitved
63e28c57cd
JavaScript: Drop redundant columns from files and folders relations
2021-09-14 10:25:37 +02:00
Benjamin Muskalla
199e015a06
Support missing String methods
2021-09-14 10:22:22 +02:00
jorgectf
b505662ef9
Fix global test and update .expected
2021-09-14 10:20:50 +02:00
Tamás Vajk
d52616b687
Merge pull request #6683 from tamasvajk/feature/csv-coverage-fix
...
Only leave CSV coverage updater job enabled on github/codeql
2021-09-14 10:13:28 +02:00
Anders Fugmann
3f5ab60fb4
C++: Add DEPRECATED to documentation block
2021-09-14 09:55:19 +02:00
Benjamin Muskalla
93f9097b02
Merge pull request #6689 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-14 09:35:31 +02:00
jorgectf
2ccc6dc092
Merge branch 'main' into jorgectf/python/ldapinsecureauth
2021-09-14 09:32:19 +02:00
ihsinme
8fa3cefb8c
Update DoubleRelease.ql
2021-09-14 10:31:20 +03:00
ihsinme
d150c9a6be
Update DoubleRelease.ql
2021-09-14 08:51:13 +03:00
github-actions[bot]
bf7c26e681
Add changed framework coverage reports
2021-09-14 00:07:57 +00:00
Taus
4d24be04a1
Merge pull request #6688 from RasmusWL/small-fix
...
Python: Fix `globals() == locals()` FP
2021-09-13 21:50:13 +02:00
Erik Krogh Kristensen
b889674486
add change note
2021-09-13 20:45:35 +02:00
Erik Krogh Kristensen
8569d261f7
add test
2021-09-13 20:43:31 +02:00
Erik Krogh Kristensen
8e98dcefb1
add clipboard data as a RemoteFlowSource
2021-09-13 20:43:31 +02:00
Erik Krogh Kristensen
3983aceb48
recognize types of the form "HTML%Element" as dom values
2021-09-13 20:43:31 +02:00
Erik Krogh Kristensen
bac80bf686
delete ClipboardXss.ql experimental query
2021-09-13 20:43:31 +02:00
Rasmus Wriedt Larsen
f402475dd3
Python: Fix globals() == locals() FP
2021-09-13 20:03:11 +02:00
Rasmus Wriedt Larsen
69fe2a36e5
Python: Add globals() == locals() test
2021-09-13 20:02:08 +02:00
Rasmus Wriedt Larsen
ba7cdec2ea
Python: Add some lines in test file
...
These are just empty now, such that it's obvious the tests didn't
change.
2021-09-13 20:00:50 +02:00
Rasmus Wriedt Larsen
a9694bf0ef
Python: Clean whitespace
2021-09-13 19:58:59 +02:00
Mathias Vorreiter Pedersen
a714966e9b
Import 'cpp' and add more description.
2021-09-13 18:43:34 +01:00
Ethan P
930a36df37
Add example step for ending build tracing
2021-09-13 13:40:49 -04:00
Mathias Vorreiter Pedersen
034899367d
C++: Exclude uninstantiated templates from AV Rule 114.
2021-09-13 18:08:51 +01:00
Ethan P
47a543e086
Add reviewer feedback
2021-09-13 12:02:31 -04:00
Tom Hvitved
3bdc92ba8e
Merge pull request #6681 from hvitved/java/files-folders-drop-columns
...
Java: Drop redundant columns from `files` and `folders` relations
2021-09-13 17:43:31 +02:00
Chris Smowton
122ffca049
Merge pull request #6645 from Marcono1234/marcono1234/spurious-javadoc-param-generic-class
...
Java: Detect spurious param Javadoc tag of generic classes
2021-09-13 16:41:06 +01:00
Benjamin Muskalla
24d740b2da
Merge branch 'main' into inlineFlowTest
2021-09-13 17:15:37 +02:00
Benjamin Muskalla
bf5a46f6d8
Simplify inline tests
2021-09-13 17:08:02 +02:00
Taus
b51ce1d2b3
Merge pull request #6640 from yoff/python-add-parameter-default-value-flow-step
...
Python: add parameter default value flow step
2021-09-13 17:05:48 +02:00
Rasmus Lerchedahl Petersen
8f152a5bfb
Python: Port regex concepts and adapt PolyRedos
2021-09-13 16:50:00 +02:00
Anders Schack-Mulligen
7b764aec92
Merge pull request #6682 from aschackmull/java/callbacks
...
Java: Add support for callback-based library models.
2021-09-13 16:43:03 +02:00
Chris Smowton
3c7b39f089
Add change note
2021-09-13 15:36:26 +01:00
Anders Fugmann
f202ddc5aa
C++: Add changenote
2021-09-13 16:31:06 +02:00
Tamas Vajk
80f5ec29d4
Log stdout and stderr in CSV coverage jobs
2021-09-13 16:16:03 +02:00
Tamas Vajk
1d8fae44cc
Only leave CSV coverage updater job enabled on github/codeql
2021-09-13 16:15:21 +02:00
Tom Hvitved
b60f1cd531
Java: Upgrade script
2021-09-13 16:09:47 +02:00
Tom Hvitved
9fdcacd865
Java: Drop redundant columns from files and folders relations
2021-09-13 16:09:47 +02:00
Anders Schack-Mulligen
ab862276fc
Java: Fix tests.
2021-09-13 16:04:11 +02:00
Anders Schack-Mulligen
12aeaeed56
Java: Address review comment.
2021-09-13 16:03:50 +02:00
Geoffrey White
67c6b35845
C++: We get many more real world results using taint tracking.
2021-09-13 15:03:28 +01:00
Geoffrey White
0e8064dbf9
C++: Add a test demonstrating taint.
2021-09-13 15:00:31 +01:00
Chris Smowton
47b5165f2a
Merge pull request #6653 from smowton/smowton/admin/javascript-unpaired-surrogate-test
...
Java and JS: Add/adapt tests for literals with an unpaired surrogate character
2021-09-13 14:53:23 +01:00
Anders Schack-Mulligen
818e75bb8f
Java: Fix compilation error in telemetry lib.
2021-09-13 15:50:21 +02:00
Anders Fugmann
8e9ac18026
C++: Deprecate RangeSSA::isGuardPhi/3
2021-09-13 15:35:05 +02:00
Geoffrey White
902fa7d44a
C++: Subsection header.
2021-09-13 14:10:17 +01:00
Geoffrey White
acd1acd869
C++: Give it a section header.
2021-09-13 14:08:18 +01:00
Geoffrey White
befd1a7ccc
C++: Rename security tests readme.
2021-09-13 14:06:22 +01:00
Chris Smowton
abdd3a5dbe
Adjust Java tests that check for unpaired surrogate extraction
2021-09-13 14:02:05 +01:00
Erik Krogh Kristensen
05cc6bcf8a
adjust regexp libraries to how unpaired surrogate are parsed now
2021-09-13 14:02:05 +01:00
Chris Smowton
f24d7c4212
Acknowledge new FPs due to the extractor using U+FFFD for unpaired surrogates
...
These were already misinterpreted, but the ReDoS code ignored them as they previously appeared to be `?` characters.
2021-09-13 14:02:05 +01:00
Chris Smowton
487ebdf173
Add test for Javascript literal with an unpaired surrogate character
2021-09-13 14:02:05 +01:00
Geoffrey White
ee7ccd7936
C++: Upgrade to path problem.
2021-09-13 13:52:12 +01:00
Anders Schack-Mulligen
89a6cdc711
Java: Add support for callback-based library models.
2021-09-13 14:49:28 +02:00
Ian Lynagh
3404bcf265
Merge pull request #6680 from github/igfoo/java_location
...
Java: Use the standard URL format for Location.toString()
2021-09-13 13:43:32 +01:00
Ian Lynagh
4fbb165dce
Java: Use the standard URL format for Location.toString()
2021-09-13 12:53:50 +01:00
Harry Maclean
6f32401e5c
Add unless x != test to barrier guards
...
This tests that the following call to `foo bar` is guarded:
unless bar != "bar"
foo bar
end
2021-09-13 11:58:17 +01:00
Anders Fugmann
9a35a699cb
C++: Update tests
2021-09-13 12:10:58 +02:00
Chris Smowton
68ed3250e8
Merge pull request #6478 from smowton/smowton/feature/jax-rs-request-filters
...
Java: Add sources for Jax-RS filters
2021-09-13 10:59:17 +01:00
Geoffrey White
f58177f292
C++: Full dataflow version.
2021-09-13 10:53:09 +01:00
Felicity Chapman
1d76578202
Merge pull request #6659 from github/docs-311-update-version
...
Update version numbers for LGTM Enterprise 1.28
2021-09-13 10:26:52 +01:00
James Fletcher
c86311e879
Merge pull request #6502 from github/dataflow-tutorial
...
Add data flow debugging guide to CodeQL docs
2021-09-13 10:25:19 +01:00
Anders Fugmann
342b2df93f
C++: zero or one byte sized arrays in unions are considered as having the length of the union its a member of
2021-09-13 11:25:04 +02:00
Anders Fugmann
3172d5727a
C++: Relax constraints on Buffer::memberMayBeVarSize
2021-09-13 11:15:33 +02:00
yoff
d0563c80be
Merge pull request #6665 from smowton/smowton/fix/python-redos-invalid-utf16
...
ReDoS: fix unpaired surrogate test
2021-09-13 11:14:45 +02:00
Anders Schack-Mulligen
2db039fb77
Merge pull request #6673 from Marcono1234/marcono1234/clone-method-models
...
Java: Remove duplicate classes modeling Object.clone
2021-09-13 11:13:14 +02:00
Anders Schack-Mulligen
dde07fd2ee
Merge pull request #6672 from Marcono1234/marcono1234/functional-interfaces-test
...
Java: Extend functional interfaces test
2021-09-13 11:13:06 +02:00
Anders Fugmann
4ab9b81a9a
C++: Add tests exposing some FP's for OverflowStatic query
2021-09-13 11:09:56 +02:00
Tom Hvitved
4628f880b4
Merge pull request #6489 from hvitved/csharp/files-folders-drop-columns
...
C#: Drop redundant columns from `files` and `folders` relations
2021-09-13 11:02:13 +02:00
Geoffrey White
e696eaaa2f
C++: Fix false positives involving STDIN_FILENO.
2021-09-13 09:50:19 +01:00
Geoffrey White
3ba9e80635
C++: Support various functions / variants.
2021-09-13 09:50:03 +01:00
Geoffrey White
1707d67adb
C++: Support 'send' as well.
2021-09-13 09:49:40 +01:00
Geoffrey White
29ad3bf7f8
C++: Test dataflow and other slightly more complex cases.
2021-09-13 09:49:25 +01:00
Anders Schack-Mulligen
31739cdae6
Merge pull request #6668 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-09-13 09:50:09 +02:00
Tom Hvitved
2730423ab2
C#: Upgrade script
2021-09-13 09:49:10 +02:00
Tom Hvitved
5d048a9518
C#: Drop redundant columns from files and folders relations
2021-09-13 09:49:09 +02:00
Tamás Vajk
cc1374b832
Merge pull request #6646 from tamasvajk/fix/csv-timeseries
...
Fix CSV timeseries script to create DB with scheme from correct git SHA
2021-09-13 09:41:56 +02:00
Tom Hvitved
0abfb00032
Merge pull request #6660 from hvitved/csharp/dotnet-exec-tracing-windows
...
C#: Handle `dotnet exec csc.dll` compiler calls on Windows
2021-09-13 09:07:50 +02:00
github-actions[bot]
26e8e89aca
Add changed framework coverage reports
2021-09-13 00:08:00 +00:00
jorgectf
353c0a9ee7
Add missing comment
2021-09-12 20:44:04 +02:00
jorgectf
3cf28ad6ce
Merge remote-tracking branch 'origin/main' into jorgectf/python/ldapinsecureauth
2021-09-12 20:36:25 +02:00
jorgectf
18b05bc56e
Fix tests and add global option
2021-09-12 20:35:57 +02:00
jorgectf
54012eba23
Optimize getFullHostRegex
2021-09-12 20:13:08 +02:00
Philip Ginsbach
131d63c374
Merge pull request #6592 from github/ginsbach/instanceofDocs
...
language reference entry for non-extending subtypes
2021-09-12 15:21:41 +01:00
Marcono1234
d117593d72
Java: Remove duplicate classes modeling Object.clone
2021-09-12 02:05:57 +02:00
Marcono1234
5009ed618f
Java: Extend functional interfaces test
2021-09-12 01:50:07 +02:00
Andrew Eisenberg
edbaceceb3
Merge pull request #6666 from github/aeisenberg/suites-fix
...
Remove incorrect `suites` directive
2021-09-10 14:15:10 -07:00
Ethan P
fb22931e2d
add indirect build tracing content and example
2021-09-10 16:06:32 -04:00
CodeQL CI
e8fc3c8ead
Merge pull request #5888 from erik-krogh/casting
...
Approved by asgerf
2021-09-10 09:11:39 -07:00
Andrew Eisenberg
9c0f18b88d
Remove incorrect directive
...
This directive should only be in the
pack.
2021-09-10 08:57:37 -07:00
Harry Maclean
800e18349f
Add != to StringConstCompare
...
This means we treat != comparisons against strings as taint tracking guards:
if foo != "A"
foo # still tainted
else
foo # not tainted, because we know foo == "A"
end
2021-09-10 16:42:45 +01:00
Chris Smowton
95046b9bb1
Factor JaxRS models
2021-09-10 16:36:40 +01:00
Chris Smowton
451a46bf0e
Add models for getLanguage, getMediaType
2021-09-10 16:36:38 +01:00
Chris Smowton
5e7a3ca2e6
Model UriInfo.relativize and resolve.
2021-09-10 16:36:37 +01:00
Chris Smowton
62ecab8432
Add change note
2021-09-10 16:36:36 +01:00
Chris Smowton
f1c3a11103
Add sources for Jax-RS filters
2021-09-10 16:36:34 +01:00
Harry Maclean
8f36b0d7fe
Simplify guard in SQL injection tests
...
We don't (yet) properly sanitize taint in cases like this
foo = "A" unless foo == "B"
So for now, use a simpler guard in the SQL injection test.
We can resurrect the old, more idiomatic guard when we can support it.
2021-09-10 16:27:57 +01:00
Chris Smowton
d83ed33252
Make supertype consideration consistent
2021-09-10 16:27:28 +01:00
Chris Smowton
9b488207eb
Add support for the Flexjson framework to the unsafe-deserialization query
2021-09-10 16:27:23 +01:00
Harry Maclean
56983565fe
Update ReDoS length guard
...
Changes to barrier guards in a previous commit mean we need to update
this guard to match.
2021-09-10 16:21:17 +01:00
Chris Smowton
9d31641bb1
Add change note
2021-09-10 16:10:56 +01:00
Chris Smowton
655236c70d
Remove no-longer-needed generic specifiers
2021-09-10 16:10:55 +01:00
Chris Smowton
b47939c737
Note resolved spurious results
2021-09-10 16:10:54 +01:00
Chris Smowton
d940085384
Spring HTTP: inherit produced content-types from surrounding class
2021-09-10 16:10:52 +01:00
Chris Smowton
bdd135dbff
Spring HTTP: mark explicitly content-typed body calls as sinks
...
Previously only the return from the request-handler method constituted a sink, and was filtered by the Produces annotation if any, even though a BodyBuilder could explicitly override.
These sinks are also marked as out-barriers to avoid duplicate paths when the Produces annotation is in agreement.
2021-09-10 16:10:50 +01:00
Chris Smowton
701d0bcdca
Spring content types: recognise constant content-type strings
2021-09-10 16:10:48 +01:00
Chris Smowton
4397371a50
Spring constant media types: recognise constant string versions
...
Previously we only recognised the constant MediaTypes
2021-09-10 16:10:47 +01:00
Chris Smowton
b9b34eb0ee
Move Spring XSS sink definition into SpringHttp.qll
2021-09-10 16:10:45 +01:00
Chris Smowton
3b6cc97557
Sanitize Spring bodies directly associated with an XSS-safe Content-Type
2021-09-10 16:10:44 +01:00
Chris Smowton
0ebbb333ba
Merge pull request #6564 from haby0/java/xxe/new
...
Java: Add XXE sinks
2021-09-10 16:04:27 +01:00
Chris Smowton
38cc9bef02
ReDoS: fix unpaired surrogate test
...
This actually does result in an FP, but this was previously hidden by non-interpretation of '\u' escapes within a raw string.
2021-09-10 15:37:34 +01:00
Chris Smowton
29028c5d46
Update test expectations to account for dataflow subpaths changes
2021-09-10 13:53:41 +01:00
Chris Smowton
2d03840fde
Add experimental variants of java/xxe, incorporating new sinks and a version that uses local sources.
...
Originally authored by @haby0, squashed to clean up a tangled commit history.
2021-09-10 13:49:31 +01:00
Rasmus Lerchedahl Petersen
2eb11731e2
Python: Subpaths in test output
2021-09-10 14:04:57 +02:00
Rasmus Lerchedahl Petersen
02fd63ce20
Merge branch 'main' of github.com:github/codeql into python/port-modification-of-default-value
...
To get the subpaths.
2021-09-10 14:03:02 +02:00
Rasmus Lerchedahl Petersen
5d137ce9c5
Python: Update test expectations
2021-09-10 13:35:49 +02:00
Rasmus Wriedt Larsen
db78e3a7da
Merge pull request #6274 from tausbn/python-api-graphs-import-star
...
Python: Support `import *` in API graphs
2021-09-10 13:25:41 +02:00
Rasmus Wriedt Larsen
b45743b562
Merge pull request #6312 from tausbn/python-deprecate-importnode
...
Python: Deprecate `importNode`
2021-09-10 13:12:56 +02:00
CodeQL CI
27f2d417c1
Merge pull request #6652 from asgerf/js/type-tracking-through-callback
...
Approved by erik-krogh
2021-09-10 04:11:14 -07:00
Rasmus Lerchedahl Petersen
7cfa08abc8
Python: Do not use BarrierGuards
...
They are simply not right for this problem.
We should not even make them available as an extension point.
2021-09-10 12:48:24 +02:00
Tom Hvitved
649c2ce188
Merge pull request #6586 from hvitved/dataflow/stage2-precise-call-ctx-take2
...
Data flow: Add precise call contexts to stage 2
2021-09-10 11:34:35 +02:00
Tom Hvitved
af0b9abab7
C#: Handle dotnet exec csc.dll compiler calls on Windows
2021-09-10 11:26:43 +02:00
Anders Fugmann
2c93bce9ad
C++: Refactor code to use predicate isGuardPhi/4
2021-09-10 10:53:48 +02:00
CodeQL CI
0673355f31
Merge pull request #6649 from rhysd/discussion-untrusted-inputs
...
Approved by erik-krogh
2021-09-10 01:44:54 -07:00
Rasmus Lerchedahl Petersen
b20232db3c
Python: Simplify guards as suggested
2021-09-10 10:31:48 +02:00
Anders Peter Fugmann
1bbadb57a2
Merge pull request #6568 from andersfugmann/andersfugmann/improve_upper_bound
...
C++: Improve predicate upperBound in SimpleRangeAnalysis
2021-09-10 09:49:48 +02:00
Erik Krogh Kristensen
a756ffa3a6
use the new instanceof syntax for NodeJSClientRequest
2021-09-10 09:30:37 +02:00
Tom Hvitved
296d10fe2a
Data flow: Adjust callMayFlowThroughFwd pragmas
2021-09-10 09:21:24 +02:00
Felicity Chapman
3b3350e648
Correct the Qllexer path for slides
2021-09-10 08:04:07 +01:00
Anders Schack-Mulligen
3e17fdcaa3
Merge pull request #6407 from bmuskalla/charSeqSubSeq
...
Java: Track taint for CharSequence#subSequence
2021-09-10 09:01:29 +02:00
Felicity Chapman
32b3e416b3
Update version numbers for LGTM E 1.28
2021-09-10 06:54:36 +01:00
rhysd
97ed9edd32
JS: Detect untrusted inputs in 'discussion' and 'discussion_comment' payloads
2021-09-10 10:42:58 +09:00
Chris Smowton
5b8b27a2aa
Merge pull request #6651 from smowton/smowton/admin/functional-interface-tests
...
Add tests for functional interfaces
2021-09-09 22:02:16 +01:00
Nick Rolfe
b51e741439
Merge pull request #289 from github/rust_warnings
...
Fix 'unused borrow that must be used' warnings.
2021-09-09 17:27:05 +01:00
Nick Rolfe
cf72bada3d
Fix 'unused borrow that must be used' warnings.
...
I don't remember seeing this warning before upgrading to Rust 1.55
2021-09-09 17:03:10 +01:00
Tamás Vajk
ad04099ac2
Merge pull request #6630 from tamasvajk/feature/interface-runtimecallable
...
C# Extend runtime callables to cover interface members with default implementation
2021-09-09 17:24:55 +02:00
Andrew Eisenberg
4c74709019
Merge pull request #6606 from github/aeisenberg/docs
...
Update the docs about qlpacks
2021-09-09 07:42:24 -07:00
Anders Schack-Mulligen
13c4b93d3d
Merge pull request #6648 from aschackmull/java/func-interface
...
Java: Fix FunctionalInterface.
2021-09-09 16:14:14 +02:00
Benjamin Muskalla
9d5e48430e
Merge branch 'main' into charSeqSubSeq
2021-09-09 16:04:36 +02:00
Chris Smowton
a0bf170d02
Add test for functional interfaces
2021-09-09 15:00:42 +01:00
Anders Schack-Mulligen
ec3990c619
Java: Fix FunctionalInterface.
2021-09-09 15:04:22 +02:00
Anders Schack-Mulligen
c4956a4ade
Merge pull request #6376 from bmuskalla/thirdpartyapitelemtry
...
Java: Introduce queries to capture information about 3rd party API usage
2021-09-09 13:55:47 +02:00
Rasmus Lerchedahl Petersen
6c5596d17e
Python: rewrite test
2021-09-09 13:45:44 +02:00
Anders Fugmann
270dbd2bf7
C++: Revert peer review suggestion.
...
The suggested change has a severe impact on row counts, as cpp does not cache
the results for `bbDominates`. Since the `getGuardedUpperBound` predicate the
cost of runtime complexity is considered higher than the benefit of this change.
2021-09-09 13:26:42 +02:00
Anders Fugmann
6c44b0e6e7
C++: Add test case where a guarded block has two predecessors which are both in the dominance domain of the guard
2021-09-09 13:18:49 +02:00
Benjamin Muskalla
c0e65e71b4
Revert "Java: Fix external flow perofrmance with future optimiser."
...
This reverts commit be1d4c04f2 .
2021-09-09 13:06:23 +02:00
Benjamin Muskalla
eef044f4d0
Add test to capture expected parameter format
2021-09-09 13:05:15 +02:00
Tamas Vajk
abe6c90829
Update change note
2021-09-09 13:04:47 +02:00
Tamas Vajk
0a17ab9325
Merge branch 'main' into feature/service-stack
2021-09-09 13:01:43 +02:00
Tamas Vajk
cc7471f37d
Fix package separator in timeseries report
2021-09-09 12:53:59 +02:00
Rasmus Lerchedahl Petersen
e27b3162e5
Python: rewrite simpleLocalFlowStep
...
to take into account the split between
import time and runtime.
2021-09-09 12:43:08 +02:00
Nick Rolfe
6dbf6d7e82
Merge pull request #278 from github/aibaars/revert-hotfix
...
Revert "Use hotfixed version of `codeql/suite-helpers` with workaround for bug in released CLI"
2021-09-09 11:21:20 +01:00
Harry Maclean
b4c29425ea
Make barrier guards more specific
...
Following examples from the other libraries, this change introduces a
member predicate `checks(CfgNode expr, boolean branch)` to
`BarrierGuard`, which holds if the guard validates `expr` for a
particular value of `branch`, which represents the value of the
condition in the guard.
For example, in the following guard...
if foo == "foo"
do_something foo
else
do_something_else foo
end
...the variable `foo` is validated when the condition `foo == "foo"` is
true.
We also introduce the concept that a guard "controls" a code block based
on the value of `branch`. In the example above, the "then" branch of the
if statement is controlled when `branch` is true. The else branch is
not controlled because `foo` can take (almost) any value in that branch.
Based on these concepts, we define a guarded node to be a read of a
validated variable in a controlled block.
In the above example, the `foo` in `do_something foo` is guarded, but
the `foo` in `do_something_else foo` is not.
2021-09-09 11:04:52 +01:00
Tamas Vajk
cbb37f70c4
Change timeseries CSV report to only include dates when values changed
2021-09-09 11:34:38 +02:00
Benjamin Muskalla
a1b7437f8d
Merge branch 'main' into thirdpartyapitelemtry
2021-09-09 11:11:42 +02:00
Tamas Vajk
1fe9e9262f
Fix CSV timeseries script to create DB with scheme from correct git SHA
2021-09-09 10:59:52 +02:00
Marcono1234
a173d9593b
Java: Detect spurious param Javadoc tag of generic classes
2021-09-09 00:11:02 +02:00
Andrew Eisenberg
fb90bb4241
Remove outdated section
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-09-08 10:45:50 -07:00
Nick Rolfe
2ddca2c0db
Document and test YAML.safe_load
2021-09-08 18:22:31 +01:00
Nick Rolfe
760dbd739d
Add test for rb/unsafe-deserialization
2021-09-08 17:49:23 +01:00
Nick Rolfe
9b9fc18605
Add taint step for Base64.decode64
2021-09-08 17:49:23 +01:00
Nick Rolfe
adceb0a2a1
Add query rb/unsafe-deserialization
2021-09-08 17:49:23 +01:00
Andrew Eisenberg
ec5435befd
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
2021-09-08 08:13:15 -07:00
Philip Ginsbach
55c605998c
Update docs/codeql/ql-language-reference/types.rst
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-09-08 15:35:40 +01:00
Benjamin Muskalla
96a34b6165
Fix value flow for fluent api
2021-09-08 16:12:52 +02:00
Anders Schack-Mulligen
5d58edb3b9
Merge pull request #6641 from aschackmull/dataflow/edges-fasttc
...
Dataflow: Only calculate fastTC for the relevant part of edges.
2021-09-08 15:45:46 +02:00
Mathias Vorreiter Pedersen
44f477d552
C++: Add uninterpreted query for obtaining frontend and extraction time.
2021-09-08 14:32:50 +01:00
Benjamin Muskalla
b47507293a
Minor fixes for fluent apis
2021-09-08 15:32:41 +02:00
Tamas Vajk
9ab6c29cd3
Extend runtime callables to cover interface members with default implementation
2021-09-08 15:07:49 +02:00
Rasmus Lerchedahl Petersen
baca9edbb1
Merge branch 'main' of github.com:github/codeql into python-add-parameter-default-value-flow-step
2021-09-08 14:48:13 +02:00
Rasmus Lerchedahl Petersen
a9c409403c
Python: more tests and comments
2021-09-08 14:44:36 +02:00
CodeQL CI
cd26d97dd7
Merge pull request #6549 from erik-krogh/moreDom
...
Approved by asgerf
2021-09-08 05:10:47 -07:00
Chris Smowton
5d37748973
Merge pull request #6631 from github/Claim-Java-16-support
...
Claim Java 16 support
2021-09-08 12:31:28 +01:00
Benjamin Muskalla
67eaa1b735
Fix qldoc
2021-09-08 13:08:28 +02:00
Asger Feldthaus
db1de18cc2
JS: Support transitive callback-passing
2021-09-08 13:08:16 +02:00
Asger Feldthaus
ceaf2b3727
JS: Rename FlowSteps::callback -> exploratoryCallbackStep
2021-09-08 13:08:12 +02:00
Asger Feldthaus
7c94dd94e9
JS: Add type-tracking steps through callback args
2021-09-08 13:08:05 +02:00
Asger Feldthaus
1f6df4e70d
JS: Add callback type tracking test
2021-09-08 13:08:04 +02:00
Anders Schack-Mulligen
1af39f0776
Dataflow: Sync.
2021-09-08 13:02:07 +02:00
Anders Schack-Mulligen
2e9876f58f
Dataflow: Only calculate fastTC for the relevant part of edges.
2021-09-08 13:01:29 +02:00
Anders Fugmann
f91bd91d02
C++: Apply suggested change from code review
2021-09-08 12:38:53 +02:00
Anders Schack-Mulligen
2b7882e6e5
Merge pull request #5032 from aschackmull/dataflow/subpaths
...
Dataflow: Add subpaths query predicate.
2021-09-08 11:52:41 +02:00
Anders Schack-Mulligen
3f5b9d0f54
Merge pull request #6637 from github/alexet/imporve-query
...
Java: Fix performance issues with future versions of codeql.
2021-09-08 11:16:19 +02:00
Anders Fugmann
e93dc0b4c4
C++: Fix comment in getGuardedUpperBound
2021-09-08 11:06:58 +02:00
Rasmus Lerchedahl Petersen
9b198c6d0a
Python: Add some module initialization tests
2021-09-08 10:37:28 +02:00
Rasmus Lerchedahl Petersen
4a5f70e6c8
Python: Reclassify defaultValueFlowStep
...
as a `jumpStep`.
2021-09-08 10:05:31 +02:00
jorgectf
eee9b3f39e
Merge remote-tracking branch 'origin/main' into jorgectf/python/headerInjection
2021-09-07 19:54:58 +02:00
jorgectf
352eab0eca
Fix HeaderDeclaration class' comment
2021-09-07 19:44:25 +02:00
Jorge
190bc2f0da
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-09-07 19:42:37 +02:00
Nick Rolfe
a62aa2b1b2
Merge pull request #269 from github/polynomial_redos
...
Polynomial ReDoS query
2021-09-07 18:31:04 +01:00
jorgectf
4e261c61ae
Optimize concatAndCompareAgainstFullHostRegex
2021-09-07 19:05:03 +02:00
jorgectf
800801177d
Fix taint tracking comment
2021-09-07 19:02:32 +02:00
jorgectf
b802d7903a
Fix OPT_X_TLS_ mandatory options
2021-09-07 19:01:46 +02:00
jorgectf
ee98c0c587
Add start_tls_s() comment and use DataFlow::MethodCallNode instead
2021-09-07 19:00:14 +02:00
Nick Rolfe
414362db8d
Rename .qll to match our naming scheme for other dataflow queries.
2021-09-07 17:38:08 +01:00
Jorge
1bc16fb31e
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-07 18:37:33 +02:00
Nick Rolfe
7666d856b7
Merge remote-tracking branch 'origin/main' into polynomial_redos
2021-09-07 17:35:07 +01:00
alexet
81f4822b8d
Java: Fix performance with future optimiser by caching a predicate
2021-09-07 16:38:40 +01:00
alexet
be1d4c04f2
Java: Fix external flow perofrmance with future optimiser.
2021-09-07 16:38:39 +01:00
alexet
726feb3f4d
Java: Fix magic in TC with future optimiser.
2021-09-07 16:38:39 +01:00
Tamás Vajk
f90d1fd70e
Merge pull request #6636 from tamasvajk/fix/stubbing-2
...
C#: Fix member order (yet again) in stubbing
2021-09-07 17:37:29 +02:00
Benjamin Muskalla
9e66ee1da0
Add example to inline flow test docs
2021-09-07 16:47:02 +02:00
Benjamin Muskalla
3641b28c3e
Convert javax-json to InlineFlowTest
2021-09-07 16:47:01 +02:00
Benjamin Muskalla
a6b47208e1
Convert optional to InlineFlowTest
2021-09-07 16:47:01 +02:00
Benjamin Muskalla
2d9b4b33d4
Convert spring to InlineFlowTest
2021-09-07 16:47:01 +02:00
Benjamin Muskalla
da3b7a2b69
Convert json-java to InlineFlowTest
2021-09-07 16:47:00 +02:00
Benjamin Muskalla
ff73e46c95
Convert jackson to InlineFlowTest
2021-09-07 16:47:00 +02:00
Benjamin Muskalla
1ead522705
Convert guava-cache to InlineFlowTest
2021-09-07 16:47:00 +02:00
Benjamin Muskalla
efd5dc94e6
Convert apache-commons-lang3 to InlineFlowTest
2021-09-07 16:47:00 +02:00
Benjamin Muskalla
eba414e31b
Convert apache-collections to InlineFlowTest
2021-09-07 16:46:59 +02:00
Benjamin Muskalla
3bc70f0ce6
Convert containerflow to inline flow test
2021-09-07 16:46:59 +02:00
Benjamin Muskalla
7a0fc6ae61
Migrate jaxson to inline test
2021-09-07 16:46:59 +02:00
Benjamin Muskalla
41891959a3
Fix apache test
2021-09-07 16:46:58 +02:00
Benjamin Muskalla
2d13906e0e
Simplify jaxrs setup
2021-09-07 16:46:58 +02:00
Benjamin Muskalla
24d43689b2
Simplify test setup
2021-09-07 16:46:58 +02:00
Benjamin Muskalla
8830f1531f
Convert some tests to use InlineFlowTest
2021-09-07 16:46:58 +02:00
Benjamin Muskalla
acb055400d
Extract inline flow test
2021-09-07 16:46:57 +02:00
Benjamin Muskalla
d1a1f57e77
Convert taint-format test into inline test
2021-09-07 16:46:56 +02:00
Rasmus Wriedt Larsen
995a8192a9
Merge pull request #6635 from github/RasmusWL/fix-csharp-cwe-tag
...
C#: Fix CWE tag for `cs/insufficient-key-size`
2021-09-07 15:54:42 +02:00
Tom Hvitved
3d4db42da4
Merge pull request #6634 from hvitved/csharp/codeql-manual-build-command
...
C#: Use explicit Code Analysis build command
2021-09-07 15:31:20 +02:00
Tamas Vajk
469993f6d3
C#: Fix member order (yet again) in stubbing
...
With explicit interface implementation, the same member name can show up multiple times in a type declaration. This commit defines an explicit order
for these members.
2021-09-07 15:26:03 +02:00
yoff
43effd2b40
Update python/ql/src/semmle/python/functions/ModificationOfParameterWithDefault.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-07 15:08:50 +02:00
Taus Brock-Nannestad
bea8a457a2
Merge branch 'main' into python-make-annotated-assignment-a-definitionnode
2021-09-07 15:01:01 +02:00
Taus Brock-Nannestad
1ab86892a0
Merge branch 'main' into python-deprecate-importnode
2021-09-07 14:59:12 +02:00
CodeQL CI
5b229e9392
Merge pull request #6574 from asgerf/js/vue-api-graphs
...
Approved by erik-krogh
2021-09-07 05:53:30 -07:00
Taus Brock-Nannestad
79c3ccd56e
Python: Remove import-helper tests
...
As discussed, these are all present in the `ApiGraphs` directory
already (except for the dataflow consistency test, which has been
moved there instead).
2021-09-07 14:50:05 +02:00
Tamás Vajk
d7934865c9
Merge pull request #6628 from tamasvajk/feature/fix-stub-escaping
...
C#: improve stubbing to escape more member names (not just fields)
2021-09-07 14:29:44 +02:00
Benjamin Muskalla
f7ad894495
Fix name of api filter predicate
2021-09-07 14:28:58 +02:00
Taus Brock-Nannestad
5ac32f145f
Merge branch 'main' into python-fix-exceptstmt-gettype
2021-09-07 14:21:13 +02:00
Benjamin Muskalla
22df141761
Rename API name predicate
2021-09-07 14:17:13 +02:00
Taus
51c0ceea38
Python: Update test_import_star.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-07 14:15:48 +02:00
Taus Brock-Nannestad
5f5285955b
Merge branch 'main' into python-api-graphs-import-star
2021-09-07 14:13:56 +02:00
Taus
b99c075282
Merge pull request #6460 from yoff/python-regex-parsing-consistency-checks
...
Python: Add regex parsing consistency checks
2021-09-07 13:33:59 +02:00
Nick Rolfe
4d5928ae5a
Add @security-severity tag
2021-09-07 12:15:44 +01:00
Tom Hvitved
bef05f885c
C#: Update CIL data flow tests
2021-09-07 13:02:20 +02:00
Anders Schack-Mulligen
f6541811d2
Dataflow: Update more tests.
2021-09-07 13:02:20 +02:00
Anders Schack-Mulligen
f30dad7705
Dataflow: Update test expected outputs.
2021-09-07 13:02:20 +02:00
Nick Rolfe
8fbe5c0adf
Merge pull request #261 from github/getPrimaryQlClasses
...
Implement getPrimaryQlClasses
2021-09-07 12:02:15 +01:00
Tom Hvitved
8ce7fdc59a
Merge pull request #284 from github/hvitved/instanceof-test
...
Use `instanceof` base classes
2021-09-07 13:01:43 +02:00
Rasmus Wriedt Larsen
8f52089475
C#: Fix CWE tag for cs/insufficient-key-size
...
Since this targets
CWE-326 Inadequate Encryption Strength
> The software stores or transmits sensitive data using an encryption scheme that is theoretically sound, but is not strong enough for the level of protection required.
> \- https://cwe.mitre.org/data/definitions/326.html
and not
CWE-327: Use of a Broken or Risky Cryptographic Algorithm
> The use of a broken or risky cryptographic algorithm is an unnecessary risk that may result in the exposure of sensitive information.
> \- https://cwe.mitre.org/data/definitions/327.html
This matches what we do for similar query in Python: https://github.com/github/codeql/blob/main/python/ql/src/Security/CWE-326/WeakCryptoKey.ql
2021-09-07 12:59:10 +02:00
Anders Schack-Mulligen
7ec1fa2ebe
Dataflow: Sync.
2021-09-07 12:51:42 +02:00
Anders Schack-Mulligen
2d7d45a8ac
Dataflow: Account for hidden nodes.
2021-09-07 12:51:42 +02:00
Anders Schack-Mulligen
3c3d71d4a0
Dataflow: Sync
2021-09-07 12:51:42 +02:00
Anders Schack-Mulligen
81ed3e7176
Dataflow: Add subpaths query predicate.
2021-09-07 12:51:42 +02:00
Tamás Vajk
1dc712f54d
Merge pull request #6629 from tamasvajk/feature/dispatch-fix
...
C#: Fix dispatch library to handle summarized callables with no runti…
2021-09-07 12:35:45 +02:00
Tamas Vajk
203ca3f91b
C#: improve stubbing to escape more member names (not just fields)
2021-09-07 12:34:23 +02:00
Tamás Vajk
7befdc9c5c
Merge pull request #6627 from tamasvajk/feature/stub-readme
...
C#: Add readme to stub folder
2021-09-07 12:09:52 +02:00
Tamás Vajk
c63fd4a254
Merge pull request #6260 from tamasvajk/feature/method-name
...
C#: Change generic method names to include <> and type args/params
2021-09-07 12:09:27 +02:00
Rasmus Lerchedahl Petersen
fcd346c2af
Python: Add flow from default values
...
to their parameters.
This creates data-flow inconsistencies,
probably because the default values have incorrect enclosing callables
2021-09-07 11:33:09 +02:00
Tom Hvitved
bcaf0658e4
C#: Use explicit Code Analysis build command
2021-09-07 10:58:06 +02:00
Mathias Vorreiter Pedersen
5cecea42e4
Merge pull request #6603 from geoffw0/impropnulltests
...
C++: Add test cases for cpp/improper-null-termination.
2021-09-07 09:55:36 +01:00
Mathias Vorreiter Pedersen
b7206c1218
Merge pull request #6581 from geoffw0/uncontrolledarith2
...
CPP: Improvements for cpp/uncontrolled-arithmetic
2021-09-07 09:48:59 +01:00
Anders Fugmann
ebdda885f9
C++: Update test annotation for OverflowStatic
2021-09-07 10:38:16 +02:00
Rasmus Lerchedahl Petersen
e8644f6f2a
Python: coment out discriminating test
...
The test case has different behaviour between py2/3.
When merging this, we should create an issue to resolve it.
2021-09-07 10:30:38 +02:00
Rasmus Lerchedahl Petersen
b48caaf465
Python: fix reference to PrintNode.qll
2021-09-07 10:19:42 +02:00
Rasmus Lerchedahl Petersen
8729701b66
Merge branch 'main' of github.com:github/codeql into python/port-modification-of-default-value
...
Files have moved around, specifically PrintNode.qll.
2021-09-07 10:13:51 +02:00
Rasmus Lerchedahl Petersen
29cb067769
Python: Remember to update test expectations
2021-09-07 10:13:17 +02:00
Rasmus Lerchedahl Petersen
ae8408bcab
Python: Add missing qldoc
2021-09-07 10:09:02 +02:00
Rasmus Lerchedahl Petersen
4998a48f99
Python: Fix simple guards
2021-09-06 22:40:30 +02:00
Nick Rolfe
060060bc0b
Merge remote-tracking branch 'origin/main' into getPrimaryQlClasses
2021-09-06 19:34:34 +01:00
Geoffrey White
cd5a5347fc
C++: Add basic test.
2021-09-06 18:11:34 +01:00
Geoffrey White
246302453f
C++: Add CleartextTransmission query.
2021-09-06 18:11:19 +01:00
Chris Smowton
79ff7baaf6
Claim Java 16 support
...
As of https://github.com/github/codeql/pull/6604 we support all new Java 16 features
2021-09-06 17:17:17 +01:00
yoff
138a7ae67f
Merge pull request #6349 from RasmusWL/more-modeling
...
Python: Improve various library modeling
2021-09-06 17:01:45 +02:00
Tamas Vajk
3a9cf639bd
Change ServiceStack redis sinks to code injection instead of SQL injection
2021-09-06 16:59:31 +02:00
Tamas Vajk
5fa9f16c01
Adjust ServiceStack CSV rows with generic method names
2021-09-06 16:45:21 +02:00
Tom Hvitved
3594794875
Use instanceof base classes in range patterns
2021-09-06 16:15:52 +02:00
yoff
c7146ac10c
Update python/ql/src/meta/alerts/RemoteFlowSourcesReach.ql
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswl@github.com >
2021-09-06 16:00:58 +02:00
Tamas Vajk
f6366e1e1f
Merge branch 'feature/method-name' into feature/service-stack
2021-09-06 15:52:08 +02:00
Tamas Vajk
207d8f6030
Merge branch 'main' into feature/service-stack
2021-09-06 15:46:43 +02:00
Anders Fugmann
9af4d560dd
Merge branch 'main' into andersfugmann/improve_upper_bound
2021-09-06 14:26:58 +02:00
Tamas Vajk
5014ef2337
C#: Add ServiceStack support with CSV data model
2021-09-06 14:06:37 +02:00
Tamas Vajk
43ccc14162
Add ServiceStack stubs and empty test referencing it
2021-09-06 14:05:41 +02:00
Tamas Vajk
e3a49f8213
C#: improve stubbing to escape more member names (not just fields)
2021-09-06 14:02:42 +02:00
Tamas Vajk
270b56af1b
Extend runtime callables to interface members with default implementation
2021-09-06 14:02:42 +02:00
Tamas Vajk
39a88d2e43
Fix dispatch library to handle summarized callables with no runtime target
2021-09-06 14:02:42 +02:00
Tamas Vajk
648197db35
C#: Fix dispatch library to handle summarized callables with no runtime target
2021-09-06 13:45:43 +02:00
Tamas Vajk
0d88d18781
C#: Add readme to stub folder
2021-09-06 13:42:36 +02:00
Andrew Eisenberg
bb9911e06f
Merge pull request #6605 from aeisenberg/aeisenberg/pack/consistency
2021-09-06 04:40:58 -07:00
Rasmus Wriedt Larsen
b28bddd22c
Merge pull request #6598 from RasmusWL/fail-on-missing-query-pack
...
Misc: Make `generate-code-scanning-query-list.py` fail on missing query pack
2021-09-06 13:22:13 +02:00
Tamas Vajk
b7f13a7e1f
C#: Change generic method names to include <> and type args/params
2021-09-06 11:48:22 +02:00
Erik Krogh Kristensen
85e1c87d14
use the new non-extending-subtypes syntax
2021-09-06 11:19:50 +02:00
Erik Krogh Kristensen
8d4af3ad81
convert field based range pattern to casting based range pattern
2021-09-06 11:05:23 +02:00
Anders Fugmann
ddbaf585ec
Merge branch 'main' into andersfugmann/improve_upper_bound
2021-09-06 10:32:44 +02:00
Anders Fugmann
e4d22ea628
C++: Add comment on why getGuardedUpperBound must have exactly one predecessor
2021-09-06 10:31:32 +02:00
Tom Hvitved
9b3b9a731f
Move instanceof check from charpred in CfgScope
2021-09-06 10:31:16 +02:00
Anders Schack-Mulligen
5a47ddbf77
Merge pull request #6604 from smowton/smowton/admin/marcono-record-tests
...
Java: Add tests for static and final modifiers relating to record classes
2021-09-06 09:32:32 +02:00
Tamás Vajk
b9ef6c7e55
Merge pull request #6596 from tamasvajk/fix/stub-ordering
...
C#: Fix ordering of stubbed type members, implemented interfaces, and…
2021-09-06 09:27:19 +02:00
ihsinme
8b0d5a2e7b
Update cpp/ql/src/experimental/Security/CWE/CWE-675/DoubleRelease.qhelp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-09-05 22:46:37 +03:00
Andrew Eisenberg
286c102358
Update the docs about qlpacks
...
This is a first pass to fix obvious holes and outdated information, but
we should rethink these docs completely.
2021-09-03 12:50:25 -07:00
Andrew Eisenberg
6a47fcaf1f
Packaging: Normalize all qlpack.yml files for all languages
...
This commit ensures consistency among all of our qlpacks. Here are the
changes:
1. Ensure only modern references are used (codeql-{lang} is converted to
codeql/{lang}-all or codeql/{lang}-queries where appropriate).
2. Use consistent version numbers. All languages are at 0.0.2 except
javascript, which is 0.0.3.
3. Convert all `libraryPathDependencies` to `dependencies` with version
constraints
4. Dependencies from query packs to other packs are always `"*"` since
these dependencies are always from source and we should get the
latest.
5. Dependencies from codeql/{lang}-lib to codeql/{lang}-upgrades must
be strict since there is a tight connection between the libary
and its relevant upgrades.
2021-09-03 11:53:28 -07:00
Chris Smowton
23d7633cd5
Add tests for static and final modifiers relating to record classes
2021-09-03 18:20:16 +01:00
Philip Ginsbach
863eede75b
easier second example for instanceof extensions
2021-09-03 16:12:52 +01:00
Geoffrey White
4e60fd5fc7
C++:Add the ImproperNullTerminationTainted.ql query to the test.
2021-09-03 15:53:24 +01:00
Tamas Vajk
c02a743835
Revert redundant order by
2021-09-03 16:51:32 +02:00
Geoffrey White
ccf1a44a2b
C++: Extend tests for cpp/improper-null-termination.
2021-09-03 15:48:36 +01:00
Calum Grant
51d729a086
Merge pull request #282 from github/add-coc
...
Create CODE_OF_CONDUCT.md
2021-09-03 14:25:44 +01:00
Benjamin Muskalla
ec0066d5a4
Merge pull request #6597 from bmuskalla/hideStubsInDiff
...
Java: Hide diff for generated files by default
2021-09-03 15:11:15 +02:00
Rasmus Lerchedahl Petersen
913990bc62
Python: Add suggested comments and test case
2021-09-03 14:40:16 +02:00
Harry Maclean
36d5fda400
Merge pull request #260 from github/hmac-url-redirect
...
Add URLRedirect query
2021-09-03 13:36:54 +01:00
Pierre
12c1f43ceb
Create CODE_OF_CONDUCT.md
...
Add COC based on the latest template.
2021-09-03 14:27:04 +02:00
yoff
c6eb795e76
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-09-03 14:23:57 +02:00
Benjamin Muskalla
51475d2fb0
Merge branch 'main' into thirdpartyapitelemtry
2021-09-03 14:23:31 +02:00
Harry Maclean
87253032e2
Add a query for URL redirect vulnerabilities
...
This query finds instances of CWE-601: Redirection to Untrusted Site.
The structure is copied from a query of the same name in the Python
library. We add customisations specific to `ActionController`.
2021-09-03 13:17:14 +01:00
Benjamin Muskalla
f59a5b6574
Hide changes for experimenal stubs
2021-09-03 14:16:04 +02:00
Calum Grant
799c0ff252
Merge pull request #281 from github/add-license
...
Add LICENSE
2021-09-03 13:14:15 +01:00
Benjamin Muskalla
ab5c1d6bdd
Rework filter to exclude simple constructors
2021-09-03 13:38:01 +02:00
Asger Feldthaus
7149ad8ac4
JS: Also mark uses of the exports object as an export in PackageExports
2021-09-03 13:35:30 +02:00
Pierre
bc85a1b825
Add LICENSE file
...
Required step for open-sourcing. This uses the same license at `codeql-ruby`.
2021-09-03 13:10:54 +02:00
Chris Smowton
0dd463dd2b
Merge pull request #6520 from smowton/smowton/feature/allow-local-interfaces
...
Java: Allow local interfaces
2021-09-03 12:01:36 +01:00
Philip Ginsbach
cd646c819d
explain instanceof extensions via charpred instanceof
2021-09-03 10:55:03 +01:00
Benjamin Muskalla
9ed14b438e
Use readble format for APIs
2021-09-03 11:53:18 +02:00
Philip Ginsbach
35b0e83370
simpler first instanceof extension example
2021-09-03 10:52:05 +01:00
Chris Smowton
c20cf23c98
Update stats file dependencies
2021-09-03 10:40:51 +01:00
Benjamin Muskalla
4b02e266fd
Fix test as we support explicit collection types
2021-09-03 11:37:39 +02:00
Benjamin Muskalla
7d3131ca49
Move usage count into where clause
2021-09-03 11:32:14 +02:00
Benjamin Muskalla
89ce04dcb9
Pull usage count into where clause
2021-09-03 11:26:22 +02:00
Philip Ginsbach
6e025186ab
make clear that instanceof supertypes are not base types
2021-09-03 10:23:58 +01:00
Philip Ginsbach
abaa0633d7
consistently distinguish base types and supertypes
2021-09-03 10:20:14 +01:00
Philip Ginsbach
d2f833d02c
deep implications => implications
2021-09-03 10:13:12 +01:00
Benjamin Muskalla
2edb32f344
Fix naming
2021-09-03 10:59:35 +02:00
Rasmus Wriedt Larsen
67df890f68
Misc: Fail by default if query pack can't be found
2021-09-03 10:56:49 +02:00
Chris Smowton
76a41146a8
Merge pull request #6594 from smowton/smowton/fix/stub-arrays-and-bounds
...
Move unreachable cases of IndirectType into getAContainedType
2021-09-03 09:56:04 +01:00
Benjamin Muskalla
6ede08e3c9
Remove dead code
2021-09-03 10:53:24 +02:00
Benjamin Muskalla
c06e37f3d9
Hide diff for generated files by default
2021-09-03 10:46:52 +02:00
Rasmus Wriedt Larsen
9386a900eb
Misc: Clean whitespace in generate-code-scanning-query-list.py
2021-09-03 10:46:25 +02:00
james
8c37e90a77
revert a couple of changes
2021-09-03 09:31:54 +01:00
Geoffrey White
f2047ee4d0
C++: Actually fix expected files after layout changes.
2021-09-03 09:13:41 +01:00
Tamas Vajk
3560853f36
C#: Fix ordering of stubbed type members, implemented interfaces, and location comments
2021-09-03 09:53:34 +02:00
Nati Pesaresi
629efb85fb
ternary operator
2021-09-02 17:55:09 -03:00
Anders Fugmann
d962fc4ce1
C++: Improve predicate upperBound in SimpleRangeAnalysis
...
If an expression has an immediate guardPhi node, this is used as a strict upper bound
2021-09-02 21:46:18 +02:00
Anders Fugmann
c110508b4e
C++: Add tests to expose potential improvements available to SimpleRangeAnalysis
2021-09-02 21:20:33 +02:00
Chris Smowton
d57bd34575
Update dbscheme stats
2021-09-02 20:14:51 +01:00
Shati Patel
d22620f72f
Merge pull request #6575 from shati-patel/docs-copyright-year
...
Docs: Auto-update copyright year
2021-09-02 18:43:07 +01:00
Nick Rolfe
47e5a8fd09
Add test for polynomial ReDoS query
2021-09-02 17:57:56 +01:00
Nick Rolfe
cbe23661ed
Rename exponential ReDoS test directory
2021-09-02 17:57:56 +01:00
Nick Rolfe
d62b41bdf4
Add query for polynomial ReDoS
2021-09-02 17:57:56 +01:00
Chris Smowton
c259d0204a
Move unreachable cases of IndirectType into getAContainedType
2021-09-02 17:53:52 +01:00
Geoffrey White
a0b712d44b
C++: Add notice about the SAMATE Juliet tests.
2021-09-02 17:34:48 +01:00
Geoffrey White
d73604d1c5
C++: Fix a few glitches and accept line number changes in expected files.
2021-09-02 17:34:47 +01:00
Geoffrey White
f755659f5d
C++: More directory structure consistency / cleanup.
2021-09-02 17:34:47 +01:00
Geoffrey White
d1ab2d2e8c
C++: Remove some irrelevant macro logic and main functions.
2021-09-02 17:34:46 +01:00
Geoffrey White
fdb4a2acdb
C++: Clean up header comments.
2021-09-02 17:34:46 +01:00
Geoffrey White
75d367a6c5
C++: Add ad-hoc SAMATE Juliet test cases (that were previously internal). Directory structures cleaned up in a few places.
2021-09-02 17:34:45 +01:00
Philip Ginsbach
ee13efbffd
some whitesapce fixes
2021-09-02 17:31:55 +01:00
Philip Ginsbach
dbda1bf5c0
Update docs/codeql/ql-language-reference/types.rst
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-09-02 17:30:36 +01:00
Chris Smowton
b9afccc015
Remove impossible lines from Stubs.qll
2021-09-02 17:14:38 +01:00
james
2e995839bb
fix link
2021-09-02 16:46:23 +01:00
james
81a9ce2baa
polish text
2021-09-02 16:40:29 +01:00
Alex Ford
86073776b7
Merge pull request #249 from github/erb-lib
...
Add codeql_ruby.ast.Erb library
2021-09-02 16:26:52 +01:00
Philip Ginsbach
dbc95cadb4
language reference entry for non-extending subtypes
2021-09-02 15:23:39 +01:00
Rasmus Wriedt Larsen
9f590dbf2d
Python: Fix .expected
...
After we now model `db.text()` calls from Flask-SQLAlchemy
2021-09-02 16:04:25 +02:00
Rasmus Wriedt Larsen
414bf12f86
Python: Fix DefaultTextClauseConstruction
2021-09-02 16:03:25 +02:00
Rasmus Wriedt Larsen
88c6d4bb20
Python: Fix .qhelp
2021-09-02 16:02:04 +02:00
Arthur Baars
ab4cc753b0
Revert "Use hotfixed version of codeql/suite-helpers with workaround for bug in released CLI"
...
This reverts commit 9d7b77496e .
2021-09-02 16:01:51 +02:00
Chris Smowton
29b9231f49
Rename db types relating to local classes
...
These now all refer to types or classes-or-interfaces.
2021-09-02 14:51:51 +01:00
Chris Smowton
e8bdc8ba17
Make Member.getEnclosingCallable compatible with local interfaces
2021-09-02 14:51:50 +01:00
Chris Smowton
608d24f75e
Rename QL elements that refer to local classes
2021-09-02 14:51:50 +01:00
Chris Smowton
0a5410c2d3
Remove unnecessary charpred
2021-09-02 14:51:49 +01:00
Chris Smowton
474d983f8d
Fix typo
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-09-02 14:51:48 +01:00
Chris Smowton
fca561351d
Fix typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-09-02 14:51:48 +01:00
Chris Smowton
ac43ad6da2
Add change note
2021-09-02 14:51:47 +01:00
Chris Smowton
e048a729db
Add Interface.isLocal and use it where appropriate
...
Some EJB logic regrettably needs to be renamed out of the way. Hopefully the churn caused by this is less than would be caused if Interface's isLocal needed to be named differently from Class.isLocal.
2021-09-02 14:51:46 +01:00
Chris Smowton
ca5c2b2acf
Fix description wording
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-09-02 14:51:46 +01:00
Chris Smowton
9c4a50503c
Allow local interfaces
...
Java 16 permits enums and interfaces to be declared method-locally. Enums are already classes, but interfaces are not (in dbscheme terms), so we need to permit isLocalClass to tag them like it already does classes.
2021-09-02 14:51:45 +01:00
Rasmus Wriedt Larsen
065075056b
Python: Highlight how await taint-step works
2021-09-02 15:45:59 +02:00
Rasmus Wriedt Larsen
ad102e2746
Python: Minor cleanup to snippets
...
As pointed out in review, we don't need this override any more!
2021-09-02 15:40:32 +02:00
CodeQL CI
b4963c7538
Merge pull request #6558 from erik-krogh/redosCasing
...
Approved by esbena, yoff
2021-09-02 12:20:08 +01:00
Tom Hvitved
b8ec5d7d31
Merge pull request #276 from github/hvitved/api-graphs-comment-typo
...
Fix typo in comment
2021-09-02 12:50:25 +02:00
Taus
e4fd749a46
Merge pull request #6547 from github/RasmusWL/cwe328-weak-hash
...
Python: Add CWE-328 to `py/weak-sensitive-data-hashing`
2021-09-02 11:42:31 +02:00
Tamás Vajk
82f61ca015
Merge pull request #6577 from tamasvajk/fix/cil-modified-pointer
...
C#: Temporarily extract modified pointers as unmodified during CIL ex…
2021-09-02 10:48:51 +02:00
Rasmus Wriedt Larsen
d55f18f8e3
Python: Add modeling of Flask-SQLAlchemy
2021-09-02 10:48:24 +02:00
Rasmus Wriedt Larsen
f1744890b1
Python: Add tests for Flask-SQLAlchemy
2021-09-02 10:48:15 +02:00
Tom Hvitved
2d0febeb04
Fix typo in comment
2021-09-02 10:24:37 +02:00
Rasmus Wriedt Larsen
c34d6d1162
Python: Add query to handle SQLAlchemy TextClause Injection
...
instead of doing this via taint-steps. See description in code/tests.
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
81dbe36e99
Python: Promote SQLAlchemy modeling
...
Due to the split between `src/` and `lib/`, I was not really able to do
the next step without having moved the SQLAlchemy modeling over to be in
`lib/` as well.
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
ba99e21875
Python: Remove modeling of sqlescapy PyPI package
...
I've never seen this being used in real code, and this library doesn't
have a lot of traction, so I would rather not commit to supporting it
(which includes verifying that it actually makes things safe).
Personally I don't think this is the right approach for avoiding SQL
injection either.
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
91442e100c
Python: Model sessionmaker().begin()
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
feb2303e1f
Python: Model the underlying DB-API connection
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
1ab04a7276
Python: Model Connection.execution_options
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
2acf518037
Python: Model exec_driver_sql
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
fe143c7dfa
Python: Rewrite most of SQLAlchemy modeling
2021-09-02 10:19:57 +02:00
Rasmus Wriedt Larsen
b39bb24fcf
Python: Add more SQLAlchemy tests
2021-09-02 10:19:57 +02:00
Jonas Jensen
1ba26237a7
Merge pull request #6585 from rvermeulen/patch-3
...
Update qldoc for the Access class
2021-09-02 10:17:36 +02:00
ihsinme
1e88470ad8
Add files via upload
2021-09-02 10:22:49 +03:00
ihsinme
9f4b7255aa
Add files via upload
2021-09-02 10:21:07 +03:00
Erik Krogh Kristensen
1ad204d89e
make after and TState private in ReDoSUtil
2021-09-02 09:15:43 +02:00
Erik Krogh Kristensen
df04c5044c
use concat instead of strictconcat in RegexTreeView.qll
2021-09-02 08:54:39 +02:00
Tom Hvitved
c3ecae503b
Data flow: Sync files
2021-09-01 19:58:47 +02:00
Tom Hvitved
136c8b5192
Data flow: Improve callMayFlowThroughFwd join order
...
Before:
```
[2021-08-25 09:56:29] (1395s) Tuple counts for DataFlowImpl2::Stage3::callMayFlowThroughFwd#ff/2@111fb3:
15495496 ~5% {5} r1 = SCAN DataFlowImpl2::Stage3::fwdFlowOutFromArg#fffff#reorder_0_2_4_1_3 OUTPUT In.3, In.4, In.2 'config', In.0 'call', In.1
1450611958 ~6335% {5} r2 = JOIN r1 WITH DataFlowImpl2::Stage3::fwdFlow#fffff_03412#join_rhs ON FIRST 3 OUTPUT Lhs.3 'call', Lhs.4, Lhs.2 'config', Rhs.3, Rhs.4
7043648 ~20415% {2} r3 = JOIN r2 WITH DataFlowImpl2::Stage3::fwdFlowIsEntered#fffff#reorder_0_3_4_1_2 ON FIRST 5 OUTPUT Lhs.0 'call', Lhs.2 'config'
return r3
```
After:
```
[2021-08-25 10:57:02] (2652s) Tuple counts for DataFlowImpl2::Stage3::callMayFlowThroughFwd#ff/2@d3e27b:
15495496 ~0% {6} r1 = SCAN DataFlowImpl2::Stage3::fwdFlowOutFromArg#fffff#reorder_0_2_4_1_3 OUTPUT In.0 'call', In.1, In.2 'config', In.3, In.4, In.2 'config'
9236888 ~22% {7} r2 = JOIN r1 WITH DataFlowImpl2::Stage3::fwdFlowIsEntered#fffff#reorder_0_3_4_1_2 ON FIRST 3 OUTPUT Lhs.3, Rhs.3, Rhs.4, Lhs.4, Lhs.5, Lhs.0 'call', Lhs.2 'config'
7043648 ~20415% {2} r3 = JOIN r2 WITH DataFlowImpl2::Stage3::fwdFlow#fffff ON FIRST 5 OUTPUT Lhs.5 'call', Lhs.6 'config'
return r3
```
2021-09-01 19:57:29 +02:00
Andrew Eisenberg
10f6cab77e
Merge pull request #6583 from github/aeisenberg/query-suite-docs
...
Docs: Update documentation for query suites
2021-09-01 10:33:22 -07:00
Tom Hvitved
c176d344ab
Merge pull request #274 from github/hvitved/cfg/may-raise
...
CFG: Model calls that may raise an exception
2021-09-01 17:42:13 +02:00
Tom Hvitved
6e23a9ae7a
Merge pull request #275 from github/hvitved/api-graphs-fix
...
API graphs: Fix bug for resolvable modules
2021-09-01 17:10:27 +02:00
Tom Hvitved
03e91a22bc
API graphs: Performance fixes
2021-09-01 16:57:56 +02:00
Tom Hvitved
ae70af01cd
API graphs: Fix bug for resolvable modules
2021-09-01 16:57:52 +02:00
Tom Hvitved
031a73ff0f
Add API graph test that exhibits a missing edge
2021-09-01 16:56:09 +02:00
Benjamin Muskalla
ee8958ba03
Fix nodes for local taint test
2021-09-01 15:55:59 +02:00
Benjamin Muskalla
c1d34d7d6f
Move Strings to lib
2021-09-01 15:55:39 +02:00
Benjamin Muskalla
190bf90bc8
Replace stringbuilder step with model
2021-09-01 15:41:16 +02:00
Benjamin Muskalla
7ddf7ff211
Track taint from concatenated string
2021-09-01 15:41:16 +02:00
Benjamin Muskalla
d178fe4e5d
Fix failing tests
2021-09-01 15:41:16 +02:00
Benjamin Muskalla
93bc8aa7b2
Fix tests to take trim into account
2021-09-01 15:41:15 +02:00
Benjamin Muskalla
7be179cf6c
Mark String constructor as propagating taint
2021-09-01 15:41:15 +02:00
Benjamin Muskalla
3928ffd30d
Support CharSequence#subSequence
2021-09-01 15:41:15 +02:00
Benjamin Muskalla
b7e608abc9
Model string builder APIs
2021-09-01 15:41:14 +02:00
Benjamin Muskalla
dab626270d
Convert Objects API to csv model
2021-09-01 15:41:14 +02:00
Benjamin Muskalla
5df5805d36
Convert strings to summary model
2021-09-01 15:41:14 +02:00
Benjamin Muskalla
e0d978fd58
Migrate String constructor to model
2021-09-01 15:41:13 +02:00
Tom Hvitved
701eab7b74
Merge pull request #273 from github/hvitved/has-name
...
Add `hasName` predicates
2021-09-01 15:39:39 +02:00
Remco Vermeulen
7310590f90
Update qldoc FunctionAccess class
...
The `FunctionAccess` class doesn't capture accesses of functions in function call expressions.
This update makes that explicit.
2021-09-01 15:36:00 +02:00
Remco Vermeulen
ffd2a388a9
Update qldoc for the Access class
...
The access class does not capture function accesses that are part of a function call expression.
This updates makes that explicit
2021-09-01 15:30:33 +02:00
Tom Hvitved
89e6c0e838
CFG: Model calls that may raise an exception
...
In order to avoid dead `rescue`s, we assume that any call that happens in a
`rescue`/`ensure` context may raise an exception.
2021-09-01 14:07:28 +02:00
Tom Hvitved
4eaa31d800
Add hasName predicates
2021-09-01 13:32:19 +02:00
Asger Feldthaus
cc838326e1
JS: Remove old bulk export access getAnExportedModule
2021-09-01 13:28:54 +02:00
Asger Feldthaus
7daa6481e3
JS: Check property name in NodeJSModule.getABulkExportedNode
2021-09-01 13:25:14 +02:00
Asger Feldthaus
4b1f918feb
JS: Extend getABulkExportedNode and use it in PackageExports
2021-09-01 13:24:23 +02:00
Chris Smowton
dccdc3be5a
Merge pull request #6582 from github/smowton/admin/mention-multiple-sort-criteria
...
Expression docs: mention multiple sort criteria
2021-09-01 12:22:23 +01:00
Asger Feldthaus
cce3c0256e
JS: Update some comments in Vue
2021-09-01 13:04:40 +02:00
Tamás Vajk
e9ff6e8755
Merge pull request #6578 from tamasvajk/fix/cil-local-decoding
...
C#: Handle non-critical exception in CIL local variable extraction
2021-09-01 12:52:53 +02:00
Erik Krogh Kristensen
a3289fabe1
sync ReDoSUtil with python
2021-09-01 12:47:06 +02:00
Erik Krogh Kristensen
537450606e
use a consistent comment about the ignore case flag
2021-09-01 12:46:50 +02:00
Erik Krogh Kristensen
ff74fe1e03
rename hasChildThatMatchesIgnoringCasing to hasChildThatMatchesIgnoringCasingFlags
2021-09-01 12:45:20 +02:00
Erik Krogh Kristensen
75a3f34e86
use if-else in ReDoSUtil::getCanonicalizationFlags
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-09-01 12:44:02 +02:00
CodeQL CI
29bcd7ca6f
Merge pull request #6572 from erik-krogh/live-server
...
Approved by esbena
2021-09-01 12:41:23 +02:00
Tamás Vajk
50a9b18c92
Merge pull request #6579 from tamasvajk/fix/cil-type-args
...
C#: Fix completely broken type argument extraction in NoMetadataHandleType
2021-09-01 12:16:15 +02:00
Chris Smowton
303e02fb8a
Fix typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-09-01 10:45:47 +01:00
Erik Krogh Kristensen
f8d46677b9
add RequestExpr as an alias to NodeJSLib::RequestExpr in Connect.qll
2021-09-01 10:11:05 +02:00
Erik Krogh Kristensen
98d018ce26
remove redundant extends clause
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-09-01 10:09:40 +02:00
Andrew Eisenberg
21c168e229
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-08-31 14:47:28 -07:00
Andrew Eisenberg
0923d1fdc1
Docs: Update documentation for query suites
...
Adds some clarification around the `qlpack` directive.
The semantics has changed. This provides a new example
and some description.
2021-08-31 13:39:04 -07:00
Alex Ford
41e7ef11e6
add missing pragma back
2021-08-31 21:19:56 +01:00
Alex Ford
d47c8ee9a5
format
2021-08-31 21:04:43 +01:00
Chris Smowton
c92b7828cb
Merge pull request #6580 from smowton/smowton/admin/guava-models-mistakes
...
Fix minor mistakes in old Guava models
2021-08-31 19:44:23 +01:00
Chris Smowton
a47efc4348
Expression docs: mention multiple sort criteria
2021-08-31 19:18:03 +01:00
Shati Patel
a80a367de4
Merge pull request #6354 from Optixal/docs-js-isuncertain
...
JS: Fixed description of `isUncertain()` predicate in CodeQL Language Guides: CodeQL Library for JavaScript
2021-08-31 19:13:40 +01:00
Geoffrey White
d6368c3d1b
C++: Add QLDoc comments.
2021-08-31 19:03:45 +01:00
Tom Hvitved
2d08b0156a
Merge pull request #271 from github/hvitved/cfg/shared
...
Adopt shared CFG library
2021-08-31 19:41:02 +02:00
Geoffrey White
49807c080b
C++: Understand *=.
2021-08-31 18:25:52 +01:00
Geoffrey White
436b18a11f
C++: Add test cases.
2021-08-31 18:23:15 +01:00
Geoffrey White
6bbed9d624
C++: Test layout.
2021-08-31 18:09:21 +01:00
Sauyon Lee
7156dee270
Merge pull request #6521 from sauyon/java/test-gen-improvements
...
Java: generate more realistic tests
2021-08-31 10:06:08 -07:00
Alex Ford
20b851a6e0
improve ErbExecutionDirective definition
2021-08-31 17:49:15 +01:00
Alex Ford
df9e0dfcb2
make strictlyBefore a member predicate on Location
2021-08-31 16:24:38 +01:00
Alex Ford
d84731bcc7
Add a library for working with the ERB AST
2021-08-31 16:24:38 +01:00
Harry Maclean
502ad3f9bd
Merge pull request #247 from github/hmac-jump-to-def
...
Jump-to-definition
2021-08-31 16:00:43 +01:00
Harry Maclean
3490e328e1
codeql_ruby -> codeql.ruby
2021-08-31 15:43:02 +01:00
Harry Maclean
d3f683e573
Minor refactor of constantQualifiedName
2021-08-31 15:42:06 +01:00
Harry Maclean
34f02ee622
Fix constantQualifiedName
...
Exclude partial results
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com >
2021-08-31 15:42:06 +01:00
Harry Maclean
91d56cd802
Use dataflow to find method call targets
...
This includes both local and non-local methods, and is also simpler than
the previous definition.
2021-08-31 15:42:06 +01:00
Harry Maclean
cd3192e8f1
Fix ordering for definitionOf
...
Actually select the lexicographically least location, not the greatest.
2021-08-31 15:42:06 +01:00
Harry Maclean
8901eba978
Include constants in jump-to-def query
...
The previous version of this query inadvertently excluded constants
which weren't classes or modules. This version includes them, by
introducing a laxer version of `resolveScopeExpr` that doesn't require
the result to be a `TResolved`.
2021-08-31 15:42:06 +01:00
Harry Maclean
155b385981
Simplify LocalVariable constraint in jump-to-def
2021-08-31 15:42:06 +01:00
Harry Maclean
e72f1399cb
Include class variables in jump-to-def query
2021-08-31 15:42:06 +01:00
Harry Maclean
e84ebe2b94
Include instance variables in jump-to-def query
...
By convention, instance variables are considered to be "defined" in the
`#initialize` method of their containing class. If an instance variable
is written to in `#initialize` and then read elsewhere in the program,
we will point from the read to the write. If it is not written to in
`#initialize` then we won't provide any jump-to-definition information
for it.
2021-08-31 15:42:06 +01:00
Harry Maclean
a16cd8967b
Ignore synthesised reads for jump-to-definition
...
We synthesise variables for things like tuple patterns. For example,
this Ruby code:
a, b = ...
becomes:
__synth__0 = ...
a = __synth__0[0]
b = __synth__0[1]
The `__synth__` variables should be ignored when calculating
jump-to-definition information, since they don't appear in the original
source code.
2021-08-31 15:42:05 +01:00
Harry Maclean
a814010665
Small refactor to constantQualifiedName
2021-08-31 15:42:05 +01:00
Harry Maclean
95e2b8a4a4
Simplify jump-to-def query
...
The expected output format is a tuple (a, b, k) where `a` and `b` are any
`AstNode` subclass and `k` is a string indicating the kind of
definition (e.g. variable, method, ...).
By ensuring that every value in `DefLoc` is a subclass of `Expr` (itself
a subclass of `AstNode`) we can simplify the query by removing all the
use of `getLocation()`.
2021-08-31 15:42:05 +01:00
Harry Maclean
19e135fb6f
Remove redundant imports
2021-08-31 15:42:05 +01:00
Harry Maclean
2fbbabda2d
First draft of a jump-to-definition query
...
TODO: flesh out this message
2021-08-31 15:42:05 +01:00
Nick Rolfe
d1171e08b1
Merge pull request #272 from github/fix_upgrade
...
Fix typo in db upgrade script
2021-08-31 15:34:55 +01:00
Chris Smowton
7977d9c253
Fix minor mistakes in old Guava models
...
Also add tests for the affected functions
2021-08-31 15:26:09 +01:00
Nick Rolfe
ad66f03f90
Fix typo in db upgrade script
2021-08-31 15:23:16 +01:00
Chris Smowton
b38a23daee
Fix test cases featuring primitive arrays
...
Previously we couldn't print the name of types like `byte[]` for example.
2021-08-31 15:12:47 +01:00
Tamas Vajk
b267d26ff8
C#: Fix completely broken type argument extraction in NoMetadataHandleType
2021-08-31 14:34:27 +02:00
Tamas Vajk
d6ae19c87d
C#: Handle non-critical exception in CIL local variable extraction
2021-08-31 14:29:53 +02:00
Tamas Vajk
0ba334bb22
C#: Temporarily extract modified pointers as unmodified during CIL extraction
2021-08-31 14:26:36 +02:00
Erik Krogh Kristensen
28dce6e95a
fix non-monotonic recursion in js/missing-rate-limiting
2021-08-31 14:23:23 +02:00
Erik Krogh Kristensen
83252e5ba2
change note
2021-08-31 14:23:23 +02:00
Erik Krogh Kristensen
cecb6c7bdd
add model for live-server
2021-08-31 14:23:23 +02:00
Erik Krogh Kristensen
b509627113
add tests for connect
2021-08-31 14:23:23 +02:00
Erik Krogh Kristensen
3d6ab81ab8
refactor the tests for connect
2021-08-31 14:23:23 +02:00
Erik Krogh Kristensen
c6399dbdf4
simplify the connect model by reusing NodeJSLib::RouteHandler
2021-08-31 14:23:23 +02:00
Tom Hvitved
eeb68a88b6
Add make target to run tests locally
2021-08-31 14:22:26 +02:00
Tom Hvitved
4677a0832f
Adopt shared CFG library
2021-08-31 13:42:41 +02:00
Tom Hvitved
50158b82c8
Sync shared files
2021-08-31 13:42:25 +02:00
Tom Hvitved
b9745c8e27
Bump codeql submodule
2021-08-31 13:38:52 +02:00
Chris Smowton
f94d8c341d
Abbreviate multi-column min
2021-08-31 11:57:49 +01:00
Chris Smowton
510f5abb9a
Add missing qldoc
2021-08-31 11:56:03 +01:00
Chris Smowton
5dddc48e60
autoformat
2021-08-31 11:53:13 +01:00
Arthur Baars
60aca018a8
Merge pull request #254 from github/hvitved/drop-files-folders-columns
...
Drop redundant columns from `files` and `folders` relations
2021-08-31 12:30:05 +02:00
Tom Hvitved
c70407ae8c
Update DB stats
2021-08-31 12:19:35 +02:00
Tom Hvitved
652d2a7a72
DB upgrade script
2021-08-31 12:19:35 +02:00
Tom Hvitved
7f03b87142
Drop redundant columns from files and folders relations
2021-08-31 12:16:26 +02:00
Arthur Baars
32253aa868
Merge pull request #266 from github/dbartol/refactor-packs
...
Refactor Ruby into library and query packs
2021-08-31 12:14:00 +02:00
Tom Hvitved
c8a5397085
Merge pull request #6513 from hvitved/csharp/cfg/shared
...
C#: Make CFG library shared
2021-08-31 11:55:43 +02:00
Asger Feldthaus
27f10123c7
JS: Autoformat
2021-08-31 11:19:11 +02:00
Asger Feldthaus
8833ff7854
JS: Use Vue model in Vuex model
2021-08-31 11:19:10 +02:00
Asger Feldthaus
ebf17e10d6
JS: Fixup in getComponentRef()
2021-08-31 11:19:09 +02:00
Asger Feldthaus
607f2d66b8
JS: Rename getASelfRef to getAnInstanceRef
2021-08-31 11:19:08 +02:00
Asger Feldthaus
999f22f548
JS: Fix getOwnOptionsObject
2021-08-31 11:19:08 +02:00
Asger Feldthaus
9f02ae29ec
JS: Autoformat
2021-08-31 11:19:07 +02:00
Asger Feldthaus
7dd65d8ac6
JS: Clean up taint step definitions
...
These are Unit types and so should be kept private as you can't
use them for anything other than getting all taint steps of a certain
type.
Also factors out accesses to 'this'.
2021-08-31 11:19:06 +02:00
Asger Feldthaus
5b0e26c814
JS: Use API graphs a few more places
2021-08-31 11:19:06 +02:00
Asger Feldthaus
4ff135e827
JS: Port class-based components to API graphs
2021-08-31 11:19:05 +02:00
Asger Feldthaus
5cd0996d92
JS: Deprecate getOwnOptionsObject()
2021-08-31 11:19:04 +02:00
Asger Feldthaus
7be4b76abb
JS: Simplify getABoundFunction
2021-08-31 11:19:04 +02:00
Asger Feldthaus
0ee1e8bd97
JS: Rename ExtendedVue to ComponentExtension
2021-08-31 11:19:03 +02:00
Asger Feldthaus
881951368d
JS: Merge VueInstance and ExtendedInstance into one case
2021-08-31 11:19:03 +02:00
Asger Feldthaus
ecda79834d
JS: Remove getOption(name) override subsumed by new implementation
2021-08-31 11:19:02 +02:00
Asger Feldthaus
e4901eda91
JS: Handle .extend called on any component
2021-08-31 11:19:01 +02:00
Asger Feldthaus
2a79817c3b
JS: Add test for "extends"
2021-08-31 11:19:01 +02:00
Asger Feldthaus
4d4443c3cf
JS: Use API graphs in getOption(s)
2021-08-31 11:19:00 +02:00
Asger Feldthaus
f450476b27
JS: Improve handling of default exports in Vue
2021-08-31 11:19:00 +02:00
Asger Feldthaus
cd6a60dc70
JS: Treat default-export from .vue file as entry point
2021-08-31 11:18:59 +02:00
Asger Feldthaus
b223049682
JS: Add getComponentRef()
2021-08-31 11:18:58 +02:00
Asger Feldthaus
b9d1b5584e
JS: Add API-node version of getOwnOptions
2021-08-31 11:18:58 +02:00
Asger Feldthaus
63b7c6a8d9
JS: Use API:: classes for clarity (no semantic change)
2021-08-31 11:18:57 +02:00
Asger Feldthaus
f7f69dc3ab
JS: Make MkExtendedInstance handle cross-module flow
2021-08-31 11:18:56 +02:00
Asger Feldthaus
76c38a564d
JS: Port vue() to API graphs
2021-08-31 11:18:56 +02:00
Tom Hvitved
7fc536db15
Data flow: Add precise call contexts to stage 2
2021-08-31 10:44:33 +02:00
CodeQL CI
cf9ab83dee
Merge pull request #6498 from bananabr/main
...
Approved by asgerf
2021-08-31 08:46:11 +02:00
CodeQL CI
c3e122f5fc
Merge pull request #6569 from erik-krogh/packageJsonModule
...
Approved by asgerf
2021-08-31 08:23:45 +02:00
Benjamin Muskalla
09aaa8f78e
Merge pull request #6562 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-30 21:31:02 +02:00
Rasmus Lerchedahl Petersen
a01fca5d48
Merge branch 'main' of github.com:github/codeql into python-regex-parsing-consistency-checks
...
To fix conflicts
2021-08-30 18:40:12 +02:00
yoff
13c5857241
Update python/ql/src/semmle/python/RegexTreeView.qll
...
Co-authored-by: Taus <tausbn@github.com >
2021-08-30 18:38:38 +02:00
Rasmus Lerchedahl Petersen
a855074588
Python: Try to remove py2/3 differences
2021-08-30 15:41:51 +02:00
Rasmus Lerchedahl Petersen
0de621edf9
Python: Add qldoc
2021-08-30 15:03:58 +02:00
Tom Hvitved
789e2e48cf
C#: Remove temporary dispatch restriction
2021-08-30 14:49:04 +02:00
Tom Hvitved
05b45da42f
Merge pull request #6556 from hvitved/csharp/insecure-sql-conn-flow
...
C#: Use data flow instead of taint tracking in `InsecureSQLConnection.ql`
2021-08-30 11:31:22 +02:00
Tom Hvitved
7dbdfeb161
Merge pull request #6548 from hvitved/csharp/dataflow/tests
...
C#: Update call-context data-flow tests
2021-08-30 11:30:55 +02:00
Rasmus Lerchedahl Petersen
1903cb8f82
Python: Add change note
2021-08-30 11:27:55 +02:00
Erik Krogh Kristensen
486b283c20
support the "module" field in package.json files
2021-08-30 11:05:32 +02:00
Rasmus Lerchedahl Petersen
a762373ad6
Python: Implement simple barrier guard
...
The one found in the original test case
2021-08-30 11:04:27 +02:00
Erik Krogh Kristensen
f5a1a12435
support case insensitive regexps in the ReDoS queries
2021-08-30 09:59:33 +02:00
github-actions[bot]
b28e956dd2
Add changed framework coverage reports
2021-08-30 00:08:31 +00:00
Andrew Eisenberg
bf15b18f22
Merge pull request #6565 from github/dbartol/suite-helpers-incomatbility
2021-08-27 12:40:11 -07:00
Sauyon Lee
adcb90aa8c
fixup generateflowtestcase chaneg
2021-08-27 11:25:03 -07:00
Sauyon Lee
23b9028d2c
Correctly determine which support method definitions are required
2021-08-27 11:25:03 -07:00
Sauyon Lee
04e04b3031
Use array allocation syntax
2021-08-27 11:25:03 -07:00
Sauyon Lee
97faeb026f
Fix side of stack that gen method types are used
2021-08-27 11:25:03 -07:00
Sauyon Lee
119de6c60c
Replace type variables before attempting to match to an array generation
2021-08-27 11:25:03 -07:00
Sauyon Lee
9d66761eeb
Consider a callable to ambiguous if it has a varargs parameter
2021-08-27 11:25:02 -07:00
Sauyon Lee
0d174f2daf
Only include support methods and imports from working test cases
2021-08-27 11:25:02 -07:00
Dave Bartolomeo
ede2ae11e9
Fix incompatibility with release CLI
...
This fixes #6563 , in which a customer reports being unable to run a query suite despite following the "Getting Started with the CodeQL CLI" instructions. The problem is that the released versions of the CodeQL CLI incorrectly disallow any reference to a library pack from within a .qls file. This is a CLI bug that will be fixed in the next CLI release, but since our policy is to make `github/codeql`'s `main` branch compatible with the latest released CLI, we need to work around this for now by pretending `codeql/suite-helpers` is a query pack.
2021-08-27 14:17:48 -04:00
Erik Krogh Kristensen
81742528a2
add test
2021-08-27 10:04:39 +02:00
Erik Krogh Kristensen
1b6e1dbd13
include property writes in super-classes when reading a property in a sub-class
2021-08-27 10:04:39 +02:00
Erik Krogh Kristensen
285c659541
add src as a potential unsafe DOM property name for js/xss-through-dom
2021-08-27 10:04:39 +02:00
Dave Bartolomeo
42629b969f
Move initial dbscheme
2021-08-26 19:43:06 -04:00
Dave Bartolomeo
593f3b62fe
Fix paths in upgrade script check
2021-08-26 19:26:26 -04:00
Dave Bartolomeo
9c03a02965
Update lock file for hotfix
2021-08-26 19:13:48 -04:00
Dave Bartolomeo
2c1620f25e
Move missed library file
2021-08-26 18:59:58 -04:00
Dave Bartolomeo
9d7b77496e
Use hotfixed version of codeql/suite-helpers with workaround for bug in released CLI
2021-08-26 18:50:04 -04:00
Dave Bartolomeo
11ad664bfb
Updated pack versions and lock files
2021-08-26 18:50:04 -04:00
Dave Bartolomeo
eb412fb31e
Fix PowerShell version of extractor pack script
2021-08-26 18:50:04 -04:00
Dave Bartolomeo
56332a676d
Ignore .codeql output directories
2021-08-26 18:50:04 -04:00
Arthur Baars
ac2c315839
Fix merge conflicts during rebase
2021-08-26 18:48:53 -04:00
Arthur Baars
0afcb9cc86
Workaround for compilation failure
2021-08-26 18:42:06 -04:00
Arthur Baars
817f8747de
Fix build
2021-08-26 18:42:02 -04:00
Arthur Baars
17fc6ab72c
Refactor into separate library and query packs
2021-08-26 18:40:06 -04:00
jorgectf
64b305cf7a
Add .qhelp along with its example
2021-08-26 23:29:45 +02:00
Edoardo Pirovano
48829450bb
Merge pull request #6560 from edoardopirovano/bump-js-packs
...
JS: Release new version of library and upgrade pack
2021-08-26 16:53:29 +01:00
Sauyon Lee
2132ee52d5
Restrict the size of appliesTo for default methods
2021-08-26 08:02:21 -07:00
Sauyon Lee
abf3bbbe8d
Add qldoc for public elements
2021-08-26 08:02:21 -07:00
Sauyon Lee
e7611ab641
Move getCall and appliesTo to relevant classes
2021-08-26 08:02:21 -07:00
Sauyon Lee
ce8d14e6ef
Add a priority predicate for test generation support methods
2021-08-26 08:02:21 -07:00
Sauyon Lee
1bd5eb5120
Use if statement instead of manual disjuction
2021-08-26 08:02:21 -07:00
Sauyon Lee
73d6177477
Java test gen: make char zero '\0'
2021-08-26 08:02:20 -07:00
Chris Smowton
2b0f6a2723
Java: Generate more realistic tests
2021-08-26 08:02:20 -07:00
Chris Smowton
33c727e6b9
Split up GenerateFlowTestCase.qll
...
This doesn't change any behaviour or alter any predicate bodies
2021-08-26 08:02:19 -07:00
Edoardo Pirovano
29e75aed75
JS: Release new version of library and upgrade pack
2021-08-26 15:54:54 +01:00
Alex Ford
ee6c809281
Merge pull request #262 from github/action-view-1
...
Start modelling ActionView
2021-08-26 15:22:55 +01:00
Tom Hvitved
348b12c109
Merge pull request #268 from github/hvitved/db-upgrade-pr-check
...
Add DB upgrade script check
2021-08-26 16:06:06 +02:00
Tom Hvitved
42daf5b6d3
Add DB upgrade script check
2021-08-26 15:55:18 +02:00
Alex Ford
9571e7bccc
drop ViewComponent parts from the ActionView library
2021-08-26 14:45:47 +01:00
Alex Ford
a3ae5bcec4
improve ActionControllerHelperMethod doc
2021-08-26 14:12:27 +01:00
Chris Smowton
7a0555ecb3
Merge pull request #6357 from artem-smotrakov/static-iv
...
Java: Static initialization vector
2021-08-26 13:45:43 +01:00
Chris Smowton
4e243f9277
Merge pull request #6555 from bmuskalla/objectsAsCsv
...
Java: Migrate `Objects` flow to CSV model
2021-08-26 13:45:16 +01:00
Alexandre Boulgakov
f18e8a4d95
Merge pull request #6541 from sashabu/sashabu/init
...
C++: Add support for default member initializers.
2021-08-26 13:29:56 +01:00
Rasmus Lerchedahl Petersen
49ae549e89
Python: Implement modifying syntax
2021-08-26 14:29:18 +02:00
Rasmus Lerchedahl Petersen
097c23e437
Python: add inline expectations test
...
Consider removing the original test
2021-08-26 14:08:52 +02:00
Benjamin Muskalla
9ca3b4661a
Fix return value for requireNonNullElse
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-26 14:03:55 +02:00
Tom Hvitved
7e1efbdd8e
C#: Use data flow instead of taint tracking in InsecureSQLConnection.ql
2021-08-26 13:48:57 +02:00
Tom Hvitved
592a42231f
C#: Fix test for InsecureSQLConnection.ql
2021-08-26 13:48:56 +02:00
Rasmus Wriedt Larsen
47377c7197
Merge branch 'main' into more-modeling
2021-08-26 13:40:17 +02:00
Alexandre Boulgakov
10bc2568b7
C++: Add support for default member initializers.
2021-08-26 12:32:30 +01:00
yoff
7b204cebbe
Merge pull request #6551 from erik-krogh/redosUnicode
...
JS/Python: use toUnicode in ReDoSUtil.qll
2021-08-26 12:41:11 +02:00
jorgectf
786edb72df
Update .expected
2021-08-26 12:36:34 +02:00
Jorge
d458464e6b
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-08-26 12:20:09 +02:00
Nick Rolfe
4ec30b2a4b
Merge pull request #267 from github/erik-krogh/redosUnicode
...
use toUnicode in ReDoSUtil.qll
2021-08-26 11:08:31 +01:00
Benjamin Muskalla
8abb9fb045
Replace Objects model
2021-08-26 12:06:56 +02:00
Benjamin Muskalla
4e2c148e80
Model Objects API as CSV
2021-08-26 12:06:47 +02:00
Rasmus Lerchedahl Petersen
d834cec9b9
Python: test simple sanitizer
2021-08-26 11:31:20 +02:00
Rasmus Lerchedahl Petersen
8614563b42
Python: More tests of syntactic constructs
2021-08-26 10:56:41 +02:00
Erik Krogh Kristensen
ff27a0c894
use toUnicode in ReDoSUtil.qll
2021-08-26 08:46:51 +00:00
Fosstars
1dd4bf00ac
Simplify StaticInitializationVectorSource
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-26 09:42:23 +02:00
Alex Ford
4a4b2445dc
Clean up how we map between Rails actions and default associated template files
2021-08-26 04:57:15 +01:00
Daniel Santos
b8ce5a63c5
Remove unncessary results
...
Simplifies query to improve performance by removing unnecessary results.
2021-08-25 17:33:45 -05:00
Rasmus Lerchedahl Petersen
5bff5188ac
Python: switch from negative to positive list
...
This should avoid potentially terrible performance.
Also noted the missing syntactic constructs,
as I went through the documnetation.
2021-08-25 23:52:42 +02:00
Erik Krogh Kristensen
0cc19d914e
use toUnicode in ReDoSUtil.qll
2021-08-25 22:21:43 +02:00
Andrew Eisenberg
039b655f7f
Merge pull request #6544 from github/aeisenberg/pack/javascript
...
Packaging: Rafactor Javascript core libraries
2021-08-25 13:17:34 -07:00
Andrew Eisenberg
5609c3d1b5
Packaging: Fix identical files script
2021-08-25 12:17:27 -07:00
Andrew Eisenberg
45d1fa7f01
Packaging: Rafactor Javascript core libraries
...
Extract the external facing `qll` files into the codeql/javascript-all
query pack.
2021-08-25 12:15:56 -07:00
Andrew Eisenberg
48344d9ffc
Merge pull request #6545 from github/aeisenberg/pack/python
...
Packaging: Rafactor Python core libraries
2021-08-25 12:04:44 -07:00
Artem Smotrakov
23e2322635
Simplify ArrayUpdate
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-25 19:43:43 +02:00
Artem Smotrakov
f41828e5db
Better qldoc in StaticInitializationVectorQuery.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-25 19:38:33 +02:00
Nick Rolfe
ffd80fcc88
Merge pull request #263 from github/bump_ts
...
Bump tree-sitter versions to pick up parsing fixes
2021-08-25 16:35:23 +01:00
Harry Maclean
4cbd848497
Merge pull request #264 from github/hmac-dependabot
...
Enable dependabot on the Rust projects
2021-08-25 16:34:29 +01:00
Daniel Santos
cd40de7464
Update javascript/ql/src/experimental/Security/CWE-079/ClipboardXss.ql
...
Typo fix
Co-authored-by: Asger F <asgerf@github.com >
2021-08-25 09:40:55 -05:00
Harry Maclean
0bd7e5914f
Enable dependabot on the Rust projects
...
Add a dependabot.yml file to trigger daily dependabot updates on the
four Rust projects in the codebase:
- `node_types`
- `generator`
- `extractor`
- `autobuilder`
2021-08-25 15:35:31 +01:00
CodeQL CI
1daeea5696
Merge pull request #6472 from erik-krogh/apiPromise
...
Approved by asgerf
2021-08-25 14:45:03 +01:00
Nick Rolfe
3b0055a7c0
Use published crate for tree-sitter-ruby 0.19
2021-08-25 14:32:01 +01:00
CodeQL CI
170a069657
Merge pull request #6403 from asgerf/js/handlebars-extraction
...
Approved by erik-krogh
2021-08-25 13:54:52 +01:00
Nick Rolfe
bc06817611
Add ERB comment as regression test for parsing bug
2021-08-25 12:43:33 +01:00
Nick Rolfe
289b59d3b0
Bump tree-sitter versions to pick up parsing fixes
...
Particularly, in tree-siter-embedded-template
2021-08-25 11:58:56 +01:00
Fosstars
f97c8bb049
Removed sanitizer in StaticInitializationVectorConfig
2021-08-25 12:40:48 +02:00
Fosstars
86b7b2b86d
Updated qldoc for ArrayUpdate
2021-08-25 12:14:36 +02:00
Fosstars
c80a1da483
Don't consider copyOf() and clone() in ArrayUpdate
2021-08-25 12:11:34 +02:00
Tom Hvitved
ab2bc38789
C#: Use shared logic in NodeGraph.ql test
2021-08-25 11:35:12 +02:00
Tom Hvitved
d405284d36
C#: Make CFG library shared
2021-08-25 11:35:11 +02:00
Asger Feldthaus
87843a3794
JS: Autoformatttt
2021-08-25 10:37:37 +02:00
Tom Hvitved
01f7fdfea5
C#: Update call-context data-flow tests
2021-08-25 10:34:53 +02:00
Erik Krogh Kristensen
c664d7cfb3
add a getMaybePromisifiedCall method in API graphs, and use it to model child_process
2021-08-25 10:27:09 +02:00
Rasmus Wriedt Larsen
605bd19306
Python: Add CWE-328 to py/weak-sensitive-data-hashing
...
Reading over the description at https://cwe.mitre.org/data/definitions/328.html :
> The product uses a hashing algorithm that produces a hash value that can be used to determine the original input, or to find an input that can produce the same hash, more efficiently than brute force techniques.
For the data that does not require computationally expensive hashing, that will be the exactly problems that this query finds 👍 (that is, MD5, SHA1)
2021-08-25 10:19:22 +02:00
Jonas Jensen
abdf993e47
Merge pull request #6537 from andersfugmann/implicit_downcast_involving_references
...
Implicit downcast involving references
2021-08-25 09:45:32 +02:00
Anders Peter Fugmann
67a267d971
Update cpp/change-notes/2021-08-24-implicit-downcast-from-bitfield.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-08-25 08:58:44 +02:00
Andrew Eisenberg
e23df94748
Packaging: Fix identical files script
2021-08-24 16:12:43 -07:00
Andrew Eisenberg
8f73c6968a
Merge pull request #6542 from github/aeisenberg/pack/move-external
...
Java: Move the ExternalArtifact.qll module to the library pack
2021-08-24 16:07:26 -07:00
yo-h
2b4635c4e0
Merge pull request #6539 from smowton/smowton/admin/downgrade-sql-unescaped
...
Downgrade precision of java/concatenated-sql-query
2021-08-24 17:22:01 -04:00
Andrew Eisenberg
3660c64328
Packaging: Rafactor Python core libraries
...
Extract the external facing `qll` files into the codeql/python-all
query pack.
2021-08-24 13:23:45 -07:00
Andrew Eisenberg
7f3066cd64
Java: Move the ExternalArtifact.qll module to the library pack
2021-08-24 13:01:02 -07:00
Chris Smowton
2689c13bde
Merge pull request #6485 from Marcono1234/marcono1234/field-initializer-fix
...
Java: Fix Field.getInitializer() matching non-initializer assignments
2021-08-24 20:52:02 +01:00
Alex Ford
abc283ee8a
remove ErbFile refs
2021-08-24 17:22:35 +01:00
Alex Ford
e403fc77d3
tests
2021-08-24 17:21:22 +01:00
Alex Ford
d628716c42
extend ActionController tests
2021-08-24 17:21:22 +01:00
Alex Ford
41ff10c908
extend modelling of ActionController, and start modelling ActionView
2021-08-24 17:21:22 +01:00
Geoffrey White
8f38ab0116
Merge pull request #6540 from jbj/ctime-weaken-claims
...
C++:Lower potentially-dangerous-function precision
2021-08-24 17:01:23 +01:00
Jonas Jensen
19ee64d9ad
C++:Lower potentially-dangerous-function precision
...
There have been multiple reports of false positives from this query over
time. Now that it has `@security-severity 10.0`, these false positives
look even worse.
The query looks purely for calls to functions with certain names, not
at whether the calls happen in a dangerous context. To justify a higher
precision, the query should only flag calls that happen in a thread or
another non-reentrant context.
2021-08-24 17:14:42 +02:00
yoff
2f5ed03798
Merge pull request #6323 from RasmusWL/sec-test-layout
...
Python: Restructure security tests to contain query name
2021-08-24 16:50:08 +02:00
Rasmus Lerchedahl Petersen
e865a290de
Python: straight port of query
...
The old query uses `pointsTo` to limit the sinks
to methods on lists and dictionaries.
That constraint is omitted here which could hurt performance.
2021-08-24 16:35:11 +02:00
Rasmus Lerchedahl Petersen
e3765ced78
Python: Add tests for modification of defaults
2021-08-24 16:35:11 +02:00
Nick Rolfe
5e783e4798
Implement getPrimaryQlClasses
2021-08-24 14:49:56 +01:00
Chris Smowton
5a2dfda09e
Add test for field initializers
2021-08-24 14:04:45 +01:00
Marcono1234
c8d98ae649
Java: Fix Field.getInitializer() matching non-initializer assignments
2021-08-24 14:04:44 +01:00
Asger Feldthaus
8a564cc64b
JS: Fix qldoc
2021-08-24 14:31:00 +02:00
Asger F
8f8a46848d
Update javascript/ql/src/semmle/javascript/frameworks/Templating.qll
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-08-24 14:16:41 +02:00
CodeQL CI
c66a34be9c
Merge pull request #6533 from erik-krogh/cwdPath
...
Approved by asgerf
2021-08-24 13:10:38 +01:00
CodeQL CI
c0e8680c81
Merge pull request #6534 from erik-krogh/fallbackEntry
...
Approved by asgerf
2021-08-24 11:38:25 +01:00
Erik Krogh Kristensen
99d7e8b953
add change note
2021-08-24 12:35:20 +02:00
Chris Smowton
7f73efe3e1
Downgrade precision of java/concatenated-sql-query
2021-08-24 10:46:01 +01:00
Rasmus Wriedt Larsen
ca341bde08
Merge pull request #5612 from jty-team/jty/python/nosqlInjection
...
Python: CWE-943 - Add NoSQL injection query
2021-08-24 11:29:25 +02:00
Anders Fugmann
6b66f5dbb4
C++: Add change note for implicit downcasting involving references
2021-08-24 10:26:25 +02:00
Anders Fugmann
6d4b7c828c
C++: Remove superfluous 'and any()'
2021-08-24 09:37:39 +02:00
Ian Lynagh
43355feaeb
Merge pull request #6536 from github/igfoo/getPrimaryQlClasses
...
All languages: Add getPrimaryQlClasses()
2021-08-23 19:49:37 +01:00
Geoffrey White
bc9994774a
Merge pull request #6515 from MathiasVP/clarify-initialization-vs-assignment-in-docs
...
C++: Clarify difference between 'Initializer' and 'Assignment'.
2021-08-23 18:00:36 +01:00
Ian Lynagh
1e06808105
Update cpp/change-notes/2021-08-23-getPrimaryQlClasses.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-08-23 16:52:07 +01:00
Chris Smowton
57d44b8a40
Merge pull request #6538 from atorralba/atorralba/fix-test-generator-qlpack
...
Java: Adapt test generator to new qlpack name
2021-08-23 15:57:38 +01:00
Ian Lynagh
a9db1c52e5
All languages: Add getPrimaryQlClasses()
...
This is a non-overridable predicate that concatenates all the
getAPrimaryQlClass() results into a comma-separated string.
2021-08-23 15:49:10 +01:00
Shati Patel
2a51abdee3
Merge pull request #6523 from shati-patel/vscode-docs
...
Docs: Minor tweaks to VS Code docs (query history + viewing results)
2021-08-23 15:06:09 +01:00
Tony Torralba
1ee2f6f207
Adapt test generator to new package name
2021-08-23 16:05:13 +02:00
Erik Krogh Kristensen
38477d7d2e
Merge pull request #6462 from erik-krogh/repeat
...
JS: support more regular expressions in js/incomplete-multi-character-sanitization
2021-08-23 15:39:31 +02:00
Shati Patel
1dc18c4f9c
Update docs/codeql/codeql-for-visual-studio-code/analyzing-your-projects.rst
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-08-23 14:37:51 +01:00
yoff
0c0f335b1c
Merge pull request #6508 from github/RasmusWL-patch-1
...
Python: Update comment for RegExpTreeView isExcluded
2021-08-23 15:07:29 +02:00
james
18440710b4
fix typos
2021-08-23 14:02:53 +01:00
Anders Fugmann
c04ba7b724
C++: Revert benign change of return type from 'unsigned int' to 'int' in testcase, and add 'GOOD' annotation to the testcase
2021-08-23 14:58:43 +02:00
Anders Fugmann
9324d8f348
C++: Fix case where implicit downcasts were not detected when using reference
2021-08-23 14:44:49 +02:00
Anders Fugmann
8939a9b2c1
C++: Add tests for implicit downcast involving references
2021-08-23 14:42:36 +02:00
james
66bdbf4a28
address review comments
2021-08-23 11:35:04 +01:00
james
dbf7487a9b
address review comments
2021-08-23 11:34:48 +01:00
Chris Smowton
0210d85ce8
Merge pull request #6499 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-23 11:26:36 +01:00
shati-patel
e1ae531b62
Docs: Auto-update copyright year
2021-08-23 11:11:31 +01:00
Chris Smowton
4cfa0f66a8
Merge pull request #6526 from github/aeisenberg/pack/java-default
...
Packaging: Migrate default.qll
2021-08-23 11:05:00 +01:00
yoff
467aa647da
Merge pull request #6507 from tausbn/python-prevent-polynomial-redos-explosion
...
Python: Prevent explosion in poly-ReDoS query
2021-08-23 11:48:14 +02:00
Rasmus Lerchedahl Petersen
34d7772a0d
Python: Move constraints into pranch charpreds
...
For sequences and alternations, we require at least one child.
Otherwise, we wish to represent the term differently.
This avoids multiple representations.
2021-08-23 11:44:00 +02:00
Nick Rolfe
9c17e00645
Merge pull request #256 from github/syncRedos
...
sync ReDoSUtil.qll with python/JS
2021-08-23 10:11:16 +01:00
Erik Krogh Kristensen
5fe6671cc5
making it more explicit what character class matching is used for
2021-08-23 08:30:50 +02:00
Erik Krogh Kristensen
5d232bbfce
recognize more src folders when "main" in package.json points to a compiled output
2021-08-23 08:09:01 +02:00
Erik Krogh Kristensen
32ac8778bd
add the cwd option to shell executions as a sink to js/path-injection
2021-08-23 07:32:05 +02:00
github-actions[bot]
7d9f06fb63
Add changed framework coverage reports
2021-08-23 00:08:11 +00:00
Andrew Eisenberg
2042cc7871
Packaging: Migrate default.qll
2021-08-20 20:01:29 -07:00
Andrew Eisenberg
eda7616a23
Merge pull request #6514 from github/aeisenberg/pack/java
...
Packaging: Refactor java and C#
2021-08-20 15:24:13 -07:00
Andrew Eisenberg
8e75fef923
Fix identical files script
2021-08-19 14:55:54 -07:00
Andrew Eisenberg
c9f1c98390
Packaging: C# refactoring
...
Split c# pack into `codeql/csharp-all` and `codeql/csharp-queries`.
2021-08-19 14:09:35 -07:00
Andrew Eisenberg
8e750f18ad
Packaging: Java refactoring
...
Split java pack into `codeql/java-all` and `codeql/java-queries`.
2021-08-19 14:09:35 -07:00
Andrew Eisenberg
39533317ff
Merge pull request #6524 from github/aeisenberg/cpp/move-file
...
C++: Move file from src to lib
2021-08-19 13:46:31 -07:00
Andrew Eisenberg
2b36378917
C++: Move file from src to lib
...
Neglected to do this one earlier.
2021-08-19 13:12:42 -07:00
shati-patel
03953ef32d
Update default query history format
2021-08-19 19:07:47 +01:00
shati-patel
58073ceeb1
Docs: Update options for viewing results in VS Code
2021-08-19 19:07:29 +01:00
Owen Mansel-Chan
714e126088
Merge pull request #6370 from owen-mc/java/model/apache-collections
...
Java: Model more of Apache Commons Collections
2021-08-19 15:09:06 +01:00
Asger Feldthaus
2553338bce
JS: Autoformat {AST,HTML}Extractor.java
2021-08-19 14:54:05 +02:00
Asger Feldthaus
bac212c610
JS: Fix typo: instantiaton -> instantiation
2021-08-19 14:41:18 +02:00
Asger Feldthaus
a1819a54f2
JS: Remove unused isInPlainCodeContext
2021-08-19 14:22:05 +02:00
Asger Feldthaus
bef222dfcc
JS: Add placeholder in attribute to trap test
2021-08-19 14:19:25 +02:00
CodeQL CI
1e1ee55ade
Merge pull request #6511 from asgerf/js/vue-component-renaming
...
Approved by erik-krogh
2021-08-19 12:57:15 +01:00
Mathias Vorreiter Pedersen
207dcb08a7
C++: Make it clear that 'getAnAssignment' also gets the expression from the initializer.
2021-08-19 13:38:32 +02:00
Alexandre Boulgakov
297ae91e3b
Merge pull request #6516 from sashabu/sashabu/elements
...
C++: Move element tests to internal repo.
2021-08-19 11:28:43 +01:00
Mathias Vorreiter Pedersen
586c5b90c1
C++: Mention Variable.getAnAssignedValue() in the QLDoc for getAnAssignment.
2021-08-19 12:27:03 +02:00
Joe Farebrother
9dc28eb9b5
Merge pull request #6387 from joefarebrother/guava-cache
...
Java: Model guava cache package
2021-08-19 10:53:48 +01:00
Tamás Vajk
763de4fff9
Merge pull request #6425 from raulgarciamsft/insecureRandom_potential_fix
...
C#: Adding Membership.GeneratePassword() as a bad source of random data
2021-08-19 11:16:26 +02:00
Alexandre Boulgakov
89e52bf500
C++: Move element tests to internal repo.
2021-08-19 09:48:13 +01:00
Mathias Vorreiter Pedersen
01dfab2aec
Update cpp/ql/lib/semmle/code/cpp/exprs/Assignment.qll
...
Co-authored-by: Matan Merom <1010225+matan7890@users.noreply.github.com >
2021-08-19 10:32:46 +02:00
Rasmus Lerchedahl Petersen
c4554836ca
Python: merge test.py into unittests.py
2021-08-19 10:24:32 +02:00
Rasmus Lerchedahl Petersen
3c647c65bf
Python: update comment
2021-08-19 10:21:19 +02:00
Tamas Vajk
d97525e21e
Fix minor quality issues in comment and change note
2021-08-19 09:30:23 +02:00
Mathias Vorreiter Pedersen
f5c23c9c52
C++: Clarify the difference between 'Initializer' and 'Assignment' in the QLDoc for these classes.
2021-08-19 08:33:27 +02:00
Alexandre Boulgakov
1eb804a072
Merge pull request #6496 from sashabu/sashabu/c_linkage
...
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 17:46:44 +01:00
Chris Smowton
48818ebd6d
Merge pull request #6434 from smowton/smowton/admin/jodd-unsafe-deserialization
...
Java: Unsafe deserialization: add support for Jodd JSON library
2021-08-18 17:26:02 +01:00
Mathias Vorreiter Pedersen
24638418f1
Merge pull request #6503 from andersfugmann/model_strdupa_functions
...
C++: Model strdupa and strndupa
2021-08-18 17:48:04 +02:00
Shati Patel
089077ed60
Merge pull request #6322 from shati-patel/shati-patel/docs-multi-dbs-vscode
...
Docs: Running query on multiple DBs in CodeQL for VS Code
2021-08-18 16:41:10 +01:00
Rasmus Lerchedahl Petersen
21f683d531
Python: clean up stray coments
2021-08-18 16:59:35 +02:00
Daniel Santos
5644514606
Update javascript/ql/src/experimental/Security/CWE-079/ClipboardXss.ql
...
Co-authored-by: Asger F <asgerf@github.com >
2021-08-18 09:52:55 -05:00
Alexandre Boulgakov
3ba308a69f
C++: Allow querying for "C" language linkage on routine types.
2021-08-18 15:35:30 +01:00
Taus
021e5ff510
Python: Autoformat
2021-08-18 14:27:54 +00:00
Rasmus Wriedt Larsen
60eb81106a
Python: Update comment for RegExpTreeView isExcluded
...
I noticed after reading https://github.com/github/codeql/pull/6507 , but didn't want to overload that PR.
2021-08-18 16:16:26 +02:00
Chris Smowton
cc4fe7375c
Merge pull request #5953 from github/sauyon/java/spring-webutil
...
Java: Add models for the Spring `web.util` package
2021-08-18 15:07:28 +01:00
Mathias Vorreiter Pedersen
27df2727e9
Merge pull request #6501 from erik-krogh/rank
...
CPP/C#: use min() instead of rank[1]()
2021-08-18 15:47:08 +02:00
Asger Feldthaus
eef7f559c6
JS: Change note
2021-08-18 15:36:41 +02:00
Asger Feldthaus
cde8059960
JS: Update some comments referring to Vue instances
2021-08-18 15:36:41 +02:00
Asger Feldthaus
165f6c6935
JS: Add a deprecated forwarder for Vue::Instance
2021-08-18 15:36:41 +02:00
Asger Feldthaus
7b6485c32a
JS: Rename some test predicates to match class name
2021-08-18 15:36:41 +02:00
Asger Feldthaus
b21071923e
JS: Rename variables to match new class name
2021-08-18 15:36:41 +02:00
Asger Feldthaus
0a98679f74
JS: Rename Vue::Instance to Vue::Component
2021-08-18 15:36:41 +02:00
Anders Fugmann
0b98b39f91
C++: Test dataflow tests for strdupa and strndupa functions
2021-08-18 15:22:14 +02:00
Taus
af91a2df00
Python: Prevent explosion in poly-ReDoS query
...
I consider this to be a short-term solution to the performance problems
we identified. The choice of "at most ten occurrences of `.*`" is
somewhat arbitrary, and it's possible a higher limit would work just as
well.
2021-08-18 13:21:46 +00:00
james
dcbf766217
add new article to toc
2021-08-18 12:14:48 +01:00
Anders Fugmann
44752d5ee0
C++: Model strdupa and strndupa string functions returning memory allocated with alloca
2021-08-18 13:12:08 +02:00
james
8443d344a2
correct article name
2021-08-18 11:58:42 +01:00
james
18b8244406
fix link
2021-08-18 11:47:16 +01:00
james
429decd7b6
tweak sojme text
2021-08-18 11:38:03 +01:00
james
ad2850dd5d
add new tutorial
2021-08-18 11:27:53 +01:00
james
babec9bf79
add data flow debugging guide
2021-08-18 11:26:51 +01:00
Asger Feldthaus
4a1fb5df5d
JS: De-abstractify Vue::Instance class
2021-08-18 11:14:25 +02:00
Asger Feldthaus
40ae13a20e
JS: Rename Vue::{Component -> ComponentRegistration}
2021-08-18 11:14:25 +02:00
Erik Krogh Kristensen
dd59f79947
use min() instead of rank[1]()
2021-08-18 11:09:03 +02:00
Erik Krogh Kristensen
4cc2ac9d35
exclude char classes that match everything
2021-08-18 08:59:17 +00:00
Harry Maclean
a2115f41e8
Merge pull request #259 from github/hmac-print-ast
...
Don't include desugared nodes in the printed AST
2021-08-18 09:16:36 +01:00
Aditya Sharad
21d03cd365
Merge pull request #6488 from github/aeisenberg/pack/cpp
...
Packaging: Refactor cpp libraries
2021-08-17 16:44:04 -07:00
Andrew Eisenberg
03d6b15401
Merge branch 'main' into aeisenberg/pack/cpp
2021-08-17 15:28:47 -07:00
Andrew Eisenberg
88ceb42356
Packaging: Migrate cpp experimental/semmle folder to lib
...
Also, fix up some library path dependencies.
2021-08-17 14:41:41 -07:00
Andrew Eisenberg
d8e4e25c1e
Packaging: Fix query pack references
...
We can't have recursive references to query packs.
2021-08-17 13:03:40 -07:00
Sauyon Lee
17cef3f498
Address review comments
2021-08-17 12:45:47 -07:00
Andrew Eisenberg
2c5dd2dfa3
Packaging: Refactor the cpp libraries
...
This PR separates the core cpp packs into `codeql/cpp-queries` and
`codeql/cpp-all`.
There are very few lines of code changed. Almost all changes are moving
files around.
2021-08-17 11:22:36 -07:00
Daniel Santos
5e155d25b1
new Experimental query ClipboardBasedXss
2021-08-17 12:57:26 -05:00
Joe Farebrother
076aeb5d80
Update tests
2021-08-17 16:44:58 +01:00
Benjamin Muskalla
99e19e6d59
Fix predicate to only match the current API
2021-08-17 16:26:08 +02:00
Benjamin Muskalla
035f7b57e9
Improve query name
2021-08-17 16:25:49 +02:00
Harry Maclean
e82c21d35d
Don't include desugared nodes in the printed AST
...
The base `PrintAstConfiguration` class already has a predicate for
filtering out desugared nodes - this change just makes use of it in the
query.
This fixes https://github.com/github/codeql-team/issues/408 , which was
caused by including nodes representing the desugaring of
a[b] = c
in the query output. This would result in multiple edges to the same
target node (one from the surface AST and another from the desugared
AST), which the VSCode AST viewer cannot handle.
2021-08-17 15:20:30 +01:00
Mathias Vorreiter Pedersen
88372df125
Merge pull request #6495 from andersfugmann/more_buffer_overrun_tests
...
More buffer overrun tests
2021-08-17 16:18:36 +02:00
yoff
50a4345235
Merge pull request #6161 from RasmusWL/peewee-modeling
...
Python: Add modeling of `peewee`
2021-08-17 16:06:35 +02:00
Anders Fugmann
666d5917fa
C++: Avoid inclusion of standard headers
2021-08-17 15:56:28 +02:00
Anders Fugmann
469f8a638b
C++: Add more tests for buffer overruns
2021-08-17 15:21:33 +02:00
Anders Fugmann
35b7808866
C++: Fix wrong comment on what is tested
2021-08-17 15:21:03 +02:00
Rasmus Wriedt Larsen
3231ae77ef
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-17 15:17:10 +02:00
Erik Krogh Kristensen
25d29b2c29
add change-note
2021-08-17 15:12:15 +02:00
Erik Krogh Kristensen
3f7f5d2418
performance improvements in ReDoSUtil
2021-08-17 15:10:33 +02:00
Erik Krogh Kristensen
49e47641e4
sync ReDoSUtil.qll with python
2021-08-17 15:10:33 +02:00
Erik Krogh Kristensen
9c2d83e82b
add tests
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
6d06550f7d
update expected output
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
5d4c434d34
restrict char class matches to alpha-numeric chars
2021-08-17 15:10:30 +02:00
Erik Krogh Kristensen
59f0a41665
support more regular expressions in js/incomplete-multi-character-sanitization
2021-08-17 15:10:20 +02:00
Chris Smowton
92d1becf08
Merge pull request #6474 from github/yo-h-patch-1
...
Java: add `org.json` package to known frameworks
2021-08-17 14:09:39 +01:00
Chris Smowton
c52a51e5c8
Merge pull request #6454 from smowton/smowton/admin/change-note-wording
...
Java: Elaborate change note a little
2021-08-17 14:08:04 +01:00
CodeQL CI
92804a3cc3
Merge pull request #6487 from erik-krogh/moreJquerySinks
...
Approved by asgerf
2021-08-17 11:46:24 +01:00
Arthur Baars
df4fb23f37
Merge pull request #246 from github/aibaars/tweaks
...
Add an example snippet query
2021-08-17 12:42:02 +02:00
Cornelius Riemenschneider
341dad5f73
Merge pull request #6490 from criemen/criemen/delete-flaky-test
...
JS: Delete flaky test.
2021-08-17 12:33:03 +02:00
CodeQL CI
e3cdc4522e
Merge pull request #6450 from asgerf/js/query-suffix-convention2
...
Approved by erik-krogh
2021-08-17 11:31:21 +01:00
Arthur Baars
9b877dc6e1
Add an example snippet query
2021-08-17 11:29:44 +01:00
Rasmus Wriedt Larsen
15d483d56c
Python: Use TypeTrackingNode in new PEP249 modeling
2021-08-17 12:03:40 +02:00
Rasmus Wriedt Larsen
b649f5f38c
Merge branch 'main' into peewee-modeling
2021-08-17 12:03:18 +02:00
Tom Hvitved
44ff623d8c
Merge pull request #5508 from edvraa/deserializers
...
deserialization sinks
2021-08-17 11:41:52 +02:00
Rasmus Lerchedahl Petersen
dee5535fbb
Python: condense tests
...
This also avoids potential licensing issues.
2021-08-17 11:24:39 +02:00
Tom Hvitved
50cfd9c318
Merge pull request #257 from github/hvitved/cfg/erb
...
CFG: Allow `erb` top-level scopes
2021-08-17 11:21:44 +02:00
Sauyon Lee
390e48fdd2
Remove more redundant models
2021-08-17 02:17:36 -07:00
Arthur Baars
115a13f50c
Merge pull request #258 from github/qltest-no-beta
...
Exclude beta releases of code-cli for qltest job
2021-08-17 11:09:53 +02:00
Cornelius Riemenschneider
59b3d55b9a
JS: Delete flaky test.
2021-08-17 10:58:39 +02:00
Alex Ford
8427a6bcee
exclude beta releases of code-cli for qltest job
2021-08-17 09:57:52 +01:00
Tom Hvitved
394c27a279
CFG: Allow erb top-level scopes
2021-08-17 10:46:15 +02:00
Andrew Eisenberg
e566fb9c5a
Packaging: Update suite-helpers qlpack
...
Uses new style naming scheme.
2021-08-16 17:51:33 -07:00
Erik Krogh Kristensen
cc2a267b07
recognize array elements from JQuery objects as DOM values
2021-08-16 22:35:57 +02:00
Benjamin Muskalla
1d3bcdf522
Align tests with new query structure
2021-08-16 21:55:00 +02:00
Chris Smowton
ff3f85be49
Autoformat
2021-08-16 18:09:40 +01:00
Owen Mansel-Chan
b23fabe8cb
Fix errors from previous PR
2021-08-16 16:11:17 +01:00
Benjamin Muskalla
87ef540b52
Split out queries showing supported APIs
2021-08-16 16:38:32 +02:00
Benjamin Muskalla
89f4a35273
Remove filter to see all unsupported APIs
2021-08-16 15:40:53 +02:00
Joe Farebrother
48c61fc4b4
Update models for Cache.getAllPresent and LoadingCache.getAll
2021-08-16 13:50:54 +01:00
Mathias Vorreiter Pedersen
221a259938
Merge pull request #6486 from ihsinme/ihsinme-patch-textFix
...
correction of the error text
2021-08-16 14:49:33 +02:00
ihsinme
6988912b72
Update UndefinedOrImplementationDefinedBehavior.ql
2021-08-16 15:20:00 +03:00
Erik Krogh Kristensen
5e63b0b132
add RegExpSubPattern.getOperand
2021-08-16 12:14:53 +00:00
Erik Krogh Kristensen
8bd663a7ce
sync ReDoSUtil.qll with python/JS
2021-08-16 12:04:22 +00:00
Erik Krogh Kristensen
46959234b7
Merge pull request #6288 from erik-krogh/emptyRedos
...
JS/Python: Fix FP in redos related to empty lookaheads
2021-08-16 13:48:22 +02:00
Asger Feldthaus
0047536337
JS: Add change note
2021-08-16 13:22:43 +02:00
ihsinme
c63dff639c
Update UndefinedOrImplementationDefinedBehavior.expected
2021-08-16 14:15:10 +03:00
ihsinme
74f372d547
Update UndefinedOrImplementationDefinedBehavior.ql
2021-08-16 14:11:28 +03:00
Asger Feldthaus
4923bda0f3
JS: Autoformat
2021-08-16 12:33:55 +02:00
Tamás Vajk
166a6b02f6
Merge pull request #6268 from tamasvajk/feature/generic-type-name
...
C#: Remove type args/params from generic type names in extractor
2021-08-16 12:22:16 +02:00
Chris Smowton
497f36796c
Merge pull request #6483 from Marcono1234/marcono1234/callable-string-signature-doc
...
Java: Improve Callable.getStringSignature() documentation
2021-08-16 11:05:59 +01:00
Erik Krogh Kristensen
e962a7c77c
Update python/ql/src/semmle/python/RegexTreeView.qll
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-08-16 11:24:05 +02:00
Rasmus Lerchedahl Petersen
6be78d442c
Python: fix compilation
2021-08-16 10:35:33 +02:00
Fosstars
fbac5891b8
Fixed a typo in qldoc
2021-08-14 21:28:30 +02:00
Marcono1234
48872b4588
Java: Improve Callable.getStringSignature() documentation
2021-08-14 19:58:55 +02:00
Fosstars
e2dc9753ac
Covered copyOfRange() and clone() in ArrayUpdate
2021-08-14 13:25:46 +02:00
Fosstars
d218813320
Updated qldoc for ArrayUpdate
2021-08-14 13:09:14 +02:00
Fosstars
11992404ec
Be precise when checking for Cipher.ENCRYPT_MODE
2021-08-14 12:18:02 +02:00
Fosstars
4e69081c22
Support multi-dimensional arrays
2021-08-13 20:52:27 +02:00
Sarita Iyer
57ff8e7138
Merge pull request #6473 from github/sarita-iyer/codeql-packs-vscode
...
Added article for working with codeQL packs in VS Code
2021-08-12 16:08:00 -04:00
Sarita Iyer
a373ac8332
Update period at end of quote
2021-08-12 15:42:23 -04:00
Sarita Iyer
eb2ef23d56
Apply suggestions from code review
...
Co-authored-by: Ethan Palm <56270045+ethanpalm@users.noreply.github.com >
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-08-12 14:57:13 -04:00
Sauyon Lee
814004e63d
Add tests for html escape functions
2021-08-12 11:20:49 -07:00
Sauyon Lee
ed1d855025
Java: Remove redundant models from Spring web.util and fix typo
2021-08-12 11:20:49 -07:00
Sauyon Lee
9c1d5a70e3
Java: Add test for XSS sanitizer
2021-08-12 11:20:49 -07:00
Sauyon Lee
9a5c0f6c73
Java: Add HTML escapes as XSS sanitizers
...
Co-Authored-By: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-12 11:20:49 -07:00
Sauyon Lee
eb980e2a40
Add change note
2021-08-12 11:20:49 -07:00
Sauyon Lee
d86dffbb5d
Add tests for Spring web.util
2021-08-12 11:20:48 -07:00
Sauyon Lee
fd0ea15719
Add stubs for Spring web.util tests
2021-08-12 11:20:48 -07:00
Sauyon Lee
25649a61c4
Java: Add models for the Spring web.util package
2021-08-12 11:20:48 -07:00
Sarita Iyer
d1190dc5f2
Switch from object to element, and clarify package cache functionality
2021-08-12 10:41:20 -04:00
Owen Mansel-Chan
1c2476c6a1
Add explanatory comments
2021-08-12 14:51:49 +01:00
Owen Mansel-Chan
fe477ff989
Fix more models based on review comments
2021-08-12 14:51:37 +01:00
Rasmus Lerchedahl Petersen
2df846ee4b
Merge branch 'python-regex-parsing-consistency-checks' of github.com:yoff/codeql into python-regex-parsing-consistency-checks
2021-08-12 13:34:11 +02:00
Rasmus Lerchedahl Petersen
54e65ce765
Python: Add consistency tests
...
for all the projects that went out of disk as a result of ReDoS
2021-08-12 13:33:44 +02:00
Shati Patel
1707fb8821
Merge pull request #6475 from github/correct-link-syntax
...
Fix markup in `metadata-for-codeql-queries.rst`
2021-08-12 09:36:18 +01:00
yoff
61bbddeb0c
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-08-12 09:39:04 +02:00
Asger Feldthaus
a6c389698e
JS: Fix DomBasedXssQuery.qll
2021-08-12 09:31:24 +02:00
Asger Feldthaus
fd027451b1
JS: Fix StoresXss example query
2021-08-12 09:30:43 +02:00
Asger Feldthaus
020d65befc
Fix StoredXssTypeTracking example query
2021-08-12 09:30:43 +02:00
Asger Feldthaus
cb0075f15a
JS: Remove use of deprecated API
2021-08-12 09:30:43 +02:00
Asger Feldthaus
3a6da34454
JS: Add missing QLdoc
2021-08-12 09:30:43 +02:00
Asger Feldthaus
71930f93f1
JS: Fix cleartext logging
2021-08-12 09:30:43 +02:00
Asger Feldthaus
abb819ed88
JS: Fix insecure randomness
2021-08-12 09:30:43 +02:00
Asger Feldthaus
5638a33199
JS: Remove obsolete module prefix
2021-08-12 09:30:43 +02:00
Asger Feldthaus
f6da030572
JS: Migrate to *Query.qll convention
2021-08-12 09:30:18 +02:00
CodeQL CI
8fe2a43fd9
Merge pull request #6433 from asgerf/js/tainted-url-suffix
...
Approved by erik-krogh
2021-08-12 00:28:46 -07:00
James Fletcher
3bd918972e
fix markup
2021-08-12 08:16:20 +01:00
yo-h
bd3a24d568
Java: add org.json package to known frameworks
2021-08-11 20:03:32 -04:00
Sarita Iyer
186e011a4b
Added codeql packs info for use in VS code
2021-08-11 15:47:27 -04:00
Alexandre Boulgakov
00466e4bb0
Merge pull request #6464 from sashabu/sashabu/auto
...
C++: Expose trailing return type presence.
2021-08-11 18:43:39 +01:00
Alex Ford
0f6c464d27
Merge pull request #251 from github/aibaars/test
...
Add integration test
2021-08-11 16:54:47 +01:00
Chris Smowton
7a2704373f
Merge pull request #5943 from joefarebrother/java-stub
...
[Java] Add stubbing script
2021-08-11 16:11:53 +01:00
Alexandre Boulgakov
490498899b
C++: Expose trailing return type presence.
2021-08-11 16:04:07 +01:00
Geoffrey White
3f72a1abea
Merge pull request #6471 from MathiasVP/fix-fp-in-incorrect-allocation-error-handling
...
C++: Fix false-positive in 'cpp/incorrect-allocation-error-handling'
2021-08-11 15:56:55 +01:00
CodeQL CI
c8ded7ebf6
Merge pull request #6459 from erik-krogh/oreq
...
Approved by asgerf
2021-08-11 07:40:13 -07:00
Mathias Vorreiter Pedersen
8d594dbf08
Update cpp/ql/test/query-tests/Security/CWE/CWE-570/test.cpp
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-08-11 16:18:18 +02:00
Benjamin Muskalla
8aba0b04bc
Add QLDoc for all shared libraries
2021-08-11 16:07:24 +02:00
Mathias Vorreiter Pedersen
0d1884d7a6
C++: Fix FP and accept test changes.
2021-08-11 15:38:57 +02:00
Mathias Vorreiter Pedersen
c2b1da0010
C++: Add FP testcase with an 'new' that has a 'std::nothrow&' parameter, but not a 'noexcept' specifier. This case was previously not reported because of the 'noexcept' specifier, and apparently the 'std::nothrow' case was broken all along.
2021-08-11 15:38:03 +02:00
Benjamin Muskalla
26ffe6c03d
Add tests for telemetry queries
2021-08-11 15:32:09 +02:00
Benjamin Muskalla
6287e6d8e9
Filter unused API callsites
2021-08-11 15:31:56 +02:00
Benjamin Muskalla
ec7f4d18e1
Avoid duplicates and support modular runtime
2021-08-11 15:31:33 +02:00
Rasmus Lerchedahl Petersen
c08f94ec04
Python: Fix parsing of octal escapes
2021-08-11 15:01:26 +02:00
Rasmus Lerchedahl Petersen
34b054ff53
Python: Add consistency checks
2021-08-11 14:58:27 +02:00
Mathias Vorreiter Pedersen
89ce25f247
Merge pull request #6083 from ihsinme/ihsinme-patch-275
...
CPP: Add query for CWE-783 Operator Precedence Logic Error When Use Bitwise Or Logical Operations
2021-08-11 14:40:09 +02:00
Asger Feldthaus
2da40b8b07
JS: Fix some performance issues
2021-08-11 14:31:06 +02:00
ihsinme
6d24047626
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-11 14:34:20 +03:00
Arthur Baars
f26f8c1e05
Add integration test
2021-08-11 12:54:30 +02:00
Asger Feldthaus
13fa49a7f1
JS: Update TRAP output
2021-08-11 12:54:22 +02:00
Asger Feldthaus
b9b10af9b5
JS: Tolerate parse errors in test due to speculative parsing
2021-08-11 12:54:22 +02:00
Asger Feldthaus
74505544e9
JS: Remove unused getTemplateContentNode
2021-08-11 12:54:22 +02:00
Asger Feldthaus
5d2bc5e40b
JS: Update stats file
2021-08-11 12:54:22 +02:00
Asger Feldthaus
31d93bb150
JS: Add upgrade script
2021-08-11 12:54:22 +02:00
Asger Feldthaus
349a851631
JS: Add change note
2021-08-11 12:54:19 +02:00
Asger Feldthaus
65b44248f8
JS: Autoformat
2021-08-11 12:50:54 +02:00
Asger Feldthaus
4f4f524937
JS: Add test for upward traversal
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b7339348ef
JS: Add tests for EJS includes
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b1cadc8ae7
JS: Add test for AngularJS sinks
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e61d534c59
JS: Add ambiguity test for template file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
308461a3e3
JS: Pass around base folder in file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e8d10b983e
JS: Tests for template file resolution
2021-08-11 12:50:54 +02:00
Asger Feldthaus
28fe8da37c
JS: Add similar test for .njk file
2021-08-11 12:50:54 +02:00
Asger Feldthaus
1444ec5255
JS: Add similar test for hbs
2021-08-11 12:50:54 +02:00
Asger Feldthaus
7045fb4679
JS: Expand on test
2021-08-11 12:50:54 +02:00
Asger Feldthaus
ec5e0283d5
JS: Bump extractor version string
2021-08-11 12:50:54 +02:00
Asger Feldthaus
e3e24f9880
JS: Use separate ScopeManager for template exprs
2021-08-11 12:50:54 +02:00
Asger Feldthaus
b36e9e0e54
JS: Filter out common string literal sinks
2021-08-11 12:50:53 +02:00
Asger Feldthaus
f563a015a4
JS: Recognize .njk extension in QL
2021-08-11 12:50:53 +02:00
Asger Feldthaus
e19b6c2c3b
JS: Update taint step
2021-08-11 12:50:53 +02:00
Asger Feldthaus
13aa511364
JS: Support TemplatePlaceholderTag.getEnclosingExpr
...
fixup! makeLocation
2021-08-11 12:50:52 +02:00
Asger Feldthaus
0a14de1741
JS: Also extract .njk files
2021-08-11 12:36:35 +02:00
Asger Feldthaus
14bada4bbe
JS: Model consolidate and factor in template syntax from call site
2021-08-11 12:36:35 +02:00
Asger Feldthaus
425bd7abf9
JS: Model template instantiation from Fastify, Hapi, and Koa
2021-08-11 12:36:35 +02:00
Asger Feldthaus
266c10462e
JS: More aggressive TemplateFileReference.getValue
2021-08-11 12:36:35 +02:00
Asger Feldthaus
bc73d9f431
JS: Support templates importing each other
2021-08-11 12:36:35 +02:00
Asger Feldthaus
bb80fdddbd
JS: Handle leading ../ in template resolution
2021-08-11 12:36:35 +02:00
Asger Feldthaus
6954a9ac23
JS: Treat EJS-include calls as template instantiations
...
JS: Fixup EJS include call (API node)
2021-08-11 12:36:35 +02:00
Asger Feldthaus
248715c743
JS: Restrict FileAccessToHttp a bit
2021-08-11 12:36:35 +02:00
Asger Feldthaus
8a50d99f33
JS: Treat GeneratedCodeExpr as DirectEval in UnusedVariable.ql
2021-08-11 12:36:35 +02:00
Asger Feldthaus
623557ba39
JS: "this" in a template is not the global object
2021-08-11 12:36:35 +02:00
Asger Feldthaus
ee33c593e0
JS: Autoformat
2021-08-11 12:36:34 +02:00
Asger Feldthaus
0f27bffb05
JS: Add sinks for server-template tags in AngularJS templates
2021-08-11 12:36:34 +02:00
Asger Feldthaus
d6dbabf9e0
JS: Ignore empty char sequences
2021-08-11 12:36:34 +02:00
Asger Feldthaus
745f9b36e0
JS: Exclude non-code script tags
2021-08-11 12:36:34 +02:00
Asger Feldthaus
2412f530f9
JS: Add steps and sinks for pipes
2021-08-11 12:36:34 +02:00
Asger Feldthaus
23eeb49959
JS: Detect relevant templating syntax, and add sinks
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f3b97f05c9
JS: Add steps to/from placeholder tags
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f1c663b01b
JS: Add steps from instantiation site to placeholder expr
2021-08-11 12:36:34 +02:00
Asger Feldthaus
5659a8a30f
JS: Add template resolution logic
2021-08-11 12:36:34 +02:00
Asger Feldthaus
1474c0788b
JS: Introduce TemplateInstantiation
2021-08-11 12:36:34 +02:00
Asger Feldthaus
8fe2d84d53
JS: Move template-related classes to Templating file
2021-08-11 12:36:34 +02:00
Asger Feldthaus
f26e94c0db
JS: Rename to Angular-style template
2021-08-11 12:36:34 +02:00
Asger Feldthaus
66cec65bfb
JS: Format HTMLExtractor
2021-08-11 12:36:34 +02:00
Asger Feldthaus
8666bc1894
JS: Extract placeholders in HTML
2021-08-11 12:36:31 +02:00
Chris Smowton
d45d58804b
Merge pull request #6466 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-11 07:56:55 +01:00
github-actions[bot]
5db82651fe
Add changed framework coverage reports
2021-08-11 00:13:37 +00:00
jorgectf
e6ce10b5c5
Merge remote-tracking branch 'origin/main' into jty/python/nosqlInjection
2021-08-10 20:01:08 +02:00
Joe Farebrother
7462180dcd
Improve handling or array types
2021-08-10 16:52:38 +01:00
Joe Farebrother
207c753f6f
Update model for getAll
2021-08-10 15:05:02 +01:00
Tamas Vajk
2437546009
Merge branch 'main' into feature/service-stack
2021-08-10 15:16:17 +02:00
Alex Ford
4d6d6a4016
Merge pull request #236 from github/more-concepts
...
Port some concepts to Concepts.qll
2021-08-10 12:42:40 +01:00
Tamas Vajk
243424063a
Add pragma inline to getMember/Method/Callable
2021-08-10 13:25:56 +02:00
Tamas Vajk
51661bfa62
Add pragma noinline to fix uselessUpcast check
2021-08-10 13:24:30 +02:00
Owen Mansel-Chan
2000985509
Remove duplicate test
2021-08-10 11:58:28 +01:00
Calum Grant
e29e61fd3e
Merge pull request #250 from github/aibaars-patch-2
...
Use strict 3 digit semantic version number
2021-08-10 11:41:15 +01:00
Owen Mansel-Chan
a55a32f50a
Add more missing models
...
And corresponding tests
2021-08-10 11:35:20 +01:00
Erik Krogh Kristensen
01a202fa10
fix cfg and dataflow for logical compound assignments
2021-08-10 12:17:59 +02:00
Asger Feldthaus
b1ce3d1c5a
JS: Do not extract binary HTML
2021-08-10 12:15:44 +02:00
Asger Feldthaus
96a2c3f2db
JS: Extract .hbs and .ejs as HTML
2021-08-10 12:15:44 +02:00
Asger Feldthaus
e678c16d59
JS: Parse EJS-style template tags
2021-08-10 12:15:44 +02:00
Asger Feldthaus
a7cdf532fa
JS: Parse mustache-style tags as expressions
2021-08-10 12:15:43 +02:00
Asger Feldthaus
d1c31db06f
JS: Reset implicit variable scope when leaving template expr
2021-08-10 12:15:43 +02:00
Benjamin Muskalla
8127f63b1e
Only include APIs without support
2021-08-10 12:05:16 +02:00
Benjamin Muskalla
26d4269071
Use FlowSources for coverage tracking
2021-08-10 12:02:56 +02:00
Arthur Baars
da464511ec
Use strict 3 digit semantic version number
2021-08-10 12:02:54 +02:00
Benjamin Muskalla
c48586ff80
Implement coverage tracking using dataflow nodes
2021-08-10 11:38:01 +02:00
Benjamin Muskalla
5b55a83aaa
Use basename for jars
2021-08-10 11:37:19 +02:00
Tom Hvitved
d658ef1dcd
Merge pull request #6449 from hvitved/python/contains-in-scope-perf
...
Python: Avoid bad join in `AstExtended::AstNode::containsInScope`
2021-08-10 10:27:00 +02:00
Chris Smowton
cb73100717
Merge pull request #6458 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-10 09:23:53 +01:00
Chris Smowton
9f9c76390f
Nudge CI
2021-08-10 09:12:18 +01:00
Asger Feldthaus
d83f5a9cd7
JS: Update StringConcatenation tests after handling 0-arg join calls
2021-08-10 08:56:36 +02:00
Asger Feldthaus
a3e56dea5e
JS: Factor out StringOps::substringMethodName
2021-08-10 08:55:04 +02:00
Asger Feldthaus
1074d409fb
JS: Autoformat
2021-08-10 08:55:03 +02:00
Asger Feldthaus
6ef83f8015
JS: Change note
2021-08-10 08:55:03 +02:00
Asger Feldthaus
f1bcfa287b
JS: Add more tests
2021-08-10 08:55:03 +02:00
Asger Feldthaus
4efea4316e
JS: Use TaintedUrlSuffix flow label in jQuery xss
2021-08-10 08:55:03 +02:00
Asger F
077aa05336
Merge pull request #6448 from asgerf/js/handlebars-extraction-preliminary
...
JS: Update locations in Angular2 test
2021-08-10 08:50:18 +02:00
github-actions[bot]
22fe354aab
Add changed framework coverage reports
2021-08-10 00:07:47 +00:00
Aditya Sharad
0b64ef2579
Merge pull request #248 from github/hmakholm/pr/windows-autobuilder
...
attempt to fix Windows autobuilder script
2021-08-09 09:49:17 -07:00
Henning Makholm
d9880075cc
attempt to fix Windows autobuilder script
2021-08-09 18:35:45 +02:00
Owen Mansel-Chan
54fdfe3906
Make helper functions more consistent
2021-08-09 17:18:03 +01:00
Owen Mansel-Chan
2d31bb8d64
Remove toString taint propagation
...
We do not do this for other overrides of toString
2021-08-09 17:18:02 +01:00
Owen Mansel-Chan
487a46ae77
Improve treatment of new and old package name
2021-08-09 16:25:11 +01:00
Chris Smowton
021e405294
Elaborate change note a little
2021-08-09 15:33:21 +01:00
Chris Smowton
5ba9347281
Merge pull request #6006 from artem-smotrakov/timing-attacks
...
Java: Timing attacks while comparing results of cryptographic operations
2021-08-09 15:30:47 +01:00
Chris Smowton
171dc26531
Fix test reference and expectations
2021-08-09 13:56:55 +01:00
Tom Hvitved
c0049bf161
Merge pull request #229 from github/hvitved/api-graphs/remove-mk-module
...
API graphs: Remove `MkModule`
2021-08-09 13:10:17 +02:00
Tom Hvitved
ae837d9f7a
API graphs: Remove restriction on top-level constants
2021-08-09 12:59:36 +02:00
Tom Hvitved
ea6d51f123
Python: Avoid bad join in AstExtended::AstNode::containsInScope
2021-08-09 11:20:57 +02:00
Asger Feldthaus
88500a3fa3
JS: Update TRAP test output
2021-08-09 11:19:08 +02:00
Asger Feldthaus
2836d465e4
JS: Update locations in Angular2 test
2021-08-09 11:03:15 +02:00
Tamas Vajk
91bd3d1a11
Cache getName to improve performance
2021-08-09 10:28:31 +02:00
Tom Hvitved
15db6dfb10
Merge pull request #6431 from hvitved/csharp/silence-xml-extraction
...
C#: Silence XML extraction commands
2021-08-09 09:36:23 +02:00
CodeQL CI
562ba49f4e
Merge pull request #6406 from erik-krogh/cleanCfg
...
Approved by asgerf
2021-08-09 00:21:31 -07:00
Tamás Vajk
c1cf2a1c5f
Merge pull request #5579 from edvraa/cookies
...
C#: HttpOnly and Secure cookie queries
2021-08-09 08:58:11 +02:00
Owen Mansel-Chan
1997dfbb4a
Remove unnecessary casts
2021-08-08 14:03:57 +01:00
Owen Mansel-Chan
f94e467076
Fixes to models and tests
...
Running the test generator script again showed many missing tests.
2021-08-08 14:03:48 +01:00
Owen Mansel-Chan
377403d525
Remove redundant models and corresponding test
...
Iterator.next is already modelled
2021-08-08 13:57:51 +01:00
Owen Mansel-Chan
5d3f10824e
Fix erroneous treatment of varargs in models
2021-08-08 13:57:50 +01:00
Fosstars
df0f9ee3a5
Fixed a few typos
2021-08-08 12:50:04 +02:00
Owen Mansel-Chan
9533f12e24
Add explanatory commented for MapIterator model
2021-08-06 07:06:36 +01:00
Owen Mansel-Chan
2ba41df2ba
Remove commented line
2021-08-06 07:06:36 +01:00
Owen Mansel-Chan
d1a440a45a
Improve helper functions for Put
2021-08-06 07:06:35 +01:00
Owen Mansel-Chan
26f5ac9ff2
Add change note
2021-08-06 07:06:35 +01:00
Owen Mansel-Chan
b922d7c6f3
Duplicate models for old package name
...
The package name was org.apache.commons.collection until release 4.0.
2021-08-06 07:06:34 +01:00
Owen Mansel-Chan
51a7018afc
Add stubs
2021-08-06 07:06:16 +01:00
Raul Garcia
2708326624
Update csharp/ql/test/query-tests/Security Features/CWE-338/InsecureRandomness.cs
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-08-05 16:33:01 -07:00
Raul Garcia (MSFT)
e117077761
Adding change-note
2021-08-05 15:29:18 -07:00
Jordy Zomer
a3bacc76f1
Update cpp/ql/src/experimental/Security/CWE/CWE-787/UnsignedToSignedPointerArith.ql
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-08-05 23:31:12 +02:00
Chris Smowton
0b6c991ac4
Unsafe deserialization: add support for Jodd JSON library
2021-08-05 16:01:14 +01:00
Jordy Zomer
cf40d0ae4d
Fix a typo unsiged -> unsigned
2021-08-05 16:40:49 +02:00
Shati Patel
8bb47b91b9
Merge pull request #6426 from shati-patel/docs/cwe-coverage
...
Docs: Make TOC more visible and add note about CWE coverage
2021-08-05 15:01:29 +01:00
Shati Patel
97dd88661e
Merge pull request #6427 from shati-patel/docs/vscode-tests
...
Docs: Mention setting for running tests in VS Code (already shipped)
2021-08-05 15:01:20 +01:00
Tom Hvitved
5b5ed97421
C#: Silence XML extraction commands
2021-08-05 15:24:01 +02:00
Tom Hvitved
4ee5cc5557
Merge pull request #6428 from hvitved/csharp/xss-nodes
...
C#: Add missing `nodes` predicate to XSS queries
2021-08-05 15:03:22 +02:00
Tom Hvitved
9eb3f28ef1
C#: Add missing nodes predicate to XSS queries
2021-08-05 13:53:52 +02:00
Tom Hvitved
6471092139
Merge pull request #6394 from github/p0/csharp-virtual-dispatch-limit
...
C#: Guard against virtual dispatch branching too much.
2021-08-05 13:20:14 +02:00
Jordy Zomer
489ac04f86
Remove author tag
2021-08-05 12:34:31 +02:00
shati-patel
dbf49a8257
Docs: Mention setting for running tests in VS Code
2021-08-05 11:27:20 +01:00
shati-patel
09f3001048
Docs: Make TOC more visible and add note about CWE coverage
2021-08-05 10:55:41 +01:00
Anders Schack-Mulligen
c29353db80
Merge pull request #6424 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-05 09:48:53 +02:00
Tony Torralba
0356ed7f9e
Merge pull request #5911 from atorralba/atorralba/promote-missing-jwt-signature-check
...
Java: Promote Missing JWT signature check query from experimental
2021-08-05 09:43:03 +02:00
Anders Schack-Mulligen
1932f604dc
Merge pull request #6419 from smowton/smowton/admin/unsafe-deserialization-jabsorb
...
Add unsafe-deserialization support for Jabsorb
2021-08-05 09:04:23 +02:00
Erik Krogh Kristensen
d3ea58002d
fix a case in union where order wasn't necessarily preserved
2021-08-05 08:48:15 +02:00
Erik Krogh Kristensen
6ca53c8b25
a little more special casing in CFGExtractor union
2021-08-05 08:32:56 +02:00
CodeQL CI
475032780e
Merge pull request #6311 from asgerf/js/dom-element-methods
...
Approved by erik-krogh
2021-08-04 23:18:34 -07:00
Raul Garcia (MSFT)
7340a1293f
Fixing query & test
2021-08-04 19:37:57 -07:00
Raul Garcia (MSFT)
8544356f90
Adding Membership.GeneratePassword() as a bad source of random data because of the bias.
2021-08-04 17:12:00 -07:00
github-actions[bot]
9d13edb325
Add changed framework coverage reports
2021-08-05 00:08:17 +00:00
Erik Krogh Kristensen
7e422a656a
remove unused imports
2021-08-04 23:41:36 +02:00
Erik Krogh Kristensen
ff9943906d
micro optimize the hot loops by adding special cases and removing streams
2021-08-04 23:35:58 +02:00
Fosstars
b913928294
Renamed queries and merged qhelp files
2021-08-04 17:54:16 +02:00
Chris Smowton
1f08c3fe55
Move test files to appropriate package directories
2021-08-04 16:50:03 +01:00
edvraa
db2f9add53
Post merge
2021-08-04 18:37:17 +03:00
Chris Smowton
5a42448888
Code review suggestions
...
- Remove unneeded import
- Remove unnecessary `toLowerCase` call
2021-08-04 16:08:07 +01:00
Chris Smowton
69549e9ce3
Add unsafe-deserialization support for Jabsorb
...
This is partly extracted from https://github.com/github/codeql/pull/5954
2021-08-04 15:35:50 +01:00
Asger Feldthaus
1b67b43b40
JS: Change note
2021-08-04 16:25:59 +02:00
Asger Feldthaus
00f4694616
JS: Recognize methods returning DOM objects
2021-08-04 16:25:56 +02:00
Anders Schack-Mulligen
5f9f857c34
Update java/ql/src/semmle/code/java/security/JWT.qll
2021-08-04 16:23:21 +02:00
Anders Schack-Mulligen
78998d0ca1
Update java/ql/src/semmle/code/java/security/JWT.qll
2021-08-04 16:22:56 +02:00
Arthur Baars
e8f6cb65b8
Merge pull request #245 from github/aibaars/tweaks
...
Move UseDetect.ql to experimental for now
2021-08-04 16:05:06 +02:00
Arthur Baars
23f423ad66
Merge pull request #242 from github/regex_parsing_fixes
...
Regex parsing fixes
2021-08-04 16:04:54 +02:00
Arthur Baars
9ca0e81953
Move UseDetect to experimental for now
2021-08-04 15:52:48 +02:00
Anders Schack-Mulligen
6a09a5667d
Merge pull request #5931 from atorralba/atorralba/promote-jndi-injection
...
Java: Promote JNDI Injection query from experimental
2021-08-04 15:48:44 +02:00
Owen Mansel-Chan
2e04319d9f
Manually improve tests
2021-08-04 14:27:01 +01:00
Owen Mansel-Chan
a538699a0a
Add automatically generated tests
2021-08-04 14:27:00 +01:00
Owen Mansel-Chan
b82389088b
Model interfaces in Apache Commons Collections main package
2021-08-04 14:26:59 +01:00
Owen Mansel-Chan
39ea0a989a
Model *Utils classes
2021-08-04 14:26:58 +01:00
Tony Torralba
bc9563c073
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-04 14:40:32 +02:00
Arthur Baars
8ded688b72
Add queries.xml for legacy tooling
2021-08-04 14:34:20 +02:00
Tony Torralba
989afb446e
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-04 14:07:10 +02:00
edvraa
d1e41689bb
Merge with main
2021-08-04 14:25:34 +03:00
Tony Torralba
a046d75ea6
Apply suggestions from code review
2021-08-04 13:15:49 +02:00
edvraa
e790ee7c2e
Fix formatting
2021-08-04 14:06:27 +03:00
Tony Torralba
452fd9a8e3
Refactor to path query
2021-08-04 13:05:18 +02:00
Anders Schack-Mulligen
fe654dc8ee
Merge pull request #6418 from github/cwe-918-add-sec-sev
...
Update Security-Severity for CWE-918
2021-08-04 13:04:40 +02:00
Tamas Vajk
6405b89443
Add DB upgrade script to change generic type names to undecorated ones
2021-08-04 12:38:16 +02:00
Tamas Vajk
f1a596ee81
Fix code review findings
2021-08-04 12:38:16 +02:00
Tamas Vajk
62f5af9ac8
Fix TupleType::getName
2021-08-04 12:38:16 +02:00
Tamas Vajk
d3803b01e4
Fix nested generic type qualified names
2021-08-04 12:38:16 +02:00
Tamas Vajk
99fe9d8d07
Fix erroneous space in type name
2021-08-04 12:38:16 +02:00
Tamas Vajk
0cfd73c818
Adjust QL getName to the extracted undecorated names
2021-08-04 12:38:15 +02:00
Tamas Vajk
8df77060ba
C#: Remove type args/params from generic type names in extractor
2021-08-04 12:38:15 +02:00
turbo
a8f84da7ac
Update Security-Severity for CWE-918
2021-08-04 12:17:21 +02:00
Tony Torralba
b586f3ec9c
Make the additional flow step abstract
2021-08-04 12:11:17 +02:00
Tony Torralba
f4bc4df8c1
Renamed JWTQuery so that it's named after the actual query name
2021-08-04 12:08:08 +02:00
Tom Hvitved
0eaeb3b5a6
Rename moduleImport to getTopLevelMember
2021-08-04 10:57:57 +02:00
Tom Hvitved
8451286754
API graphs: Remove MkModule
2021-08-04 10:28:30 +02:00
Anders Schack-Mulligen
1a078c38ad
Merge pull request #6412 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-04 09:58:34 +02:00
github-actions[bot]
8a2acda53c
Add changed framework coverage reports
2021-08-04 00:07:10 +00:00
valeria-meli
0b5c8909dd
tests
2021-08-03 18:00:49 -03:00
valeria-meli
595ea6c383
files for qhelp
2021-08-03 18:00:29 -03:00
valeria-meli
57ac944319
rename folders
2021-08-03 17:39:48 -03:00
valeria-meli
92c874c2e2
rename query
2021-08-03 17:32:36 -03:00
valeria-meli
0e4865c40c
Merge branch 'main' into javascript/ssrf
2021-08-03 17:17:50 -03:00
Erik Krogh Kristensen
fe551f1359
remove the last use of createCollection
2021-08-03 21:54:55 +02:00
Jordy Zomer
19bb8e8c17
Make requested changes
2021-08-03 21:54:04 +02:00
Robert Marsh
55256d434d
Merge pull request #6410 from geoffw0/uncontrolledarithtests
...
C++: Clean up the test directories for cpp/uncontrolled-arithmetic
2021-08-03 12:46:31 -07:00
Geoffrey White
e679eac008
C++: Rename test directories to match the test names, where possible.
2021-08-03 18:43:02 +01:00
Jordy Zomer
e07516585a
cpp: Add query to detect unsigned integer to signed integer conversions used in pointer arithmetics
2021-08-03 19:08:47 +02:00
Mathias Vorreiter Pedersen
8ce6335383
Merge pull request #6372 from geoffw0/uncontrolledarith
2021-08-03 17:53:39 +02:00
Erik Krogh Kristensen
85d6bfe044
move createCollection to the only place it is used
2021-08-03 16:55:44 +02:00
Erik Krogh Kristensen
ef5ea437c3
remove raw Object type where possible, and simplify accordingly
2021-08-03 16:55:38 +02:00
Geoffrey White
54253bc2eb
C++: Resurrect underflow detection, but only on unsigned types.
2021-08-03 15:02:39 +01:00
Chris Smowton
eaf3d3cc03
Merge pull request #6162 from smowton/smowton/feature/jax-rs-content-type-sensitivity-fixes
...
Jax-RS: implement content-type tracking
2021-08-03 14:53:31 +01:00
Geoffrey White
23ba7dcf9c
Merge pull request #6141 from ihsinme/ihsinme-patch-276
...
CPP: Add a query to find incorrectly used exceptions. 2
2021-08-03 14:46:39 +01:00
Anders Schack-Mulligen
7fb1e1578e
Merge pull request #5894 from atorralba/atorralba/promote-ognl-injection
...
Java: Promote OGNL Injection query from experimental
2021-08-03 15:31:40 +02:00
Anders Schack-Mulligen
be6fd7c22e
Merge pull request #6382 from bmuskalla/stringValueOfTaint
...
Track taint for String.valueOf(..)
2021-08-03 15:30:30 +02:00
Chris Smowton
3bf41491b3
Apply suggestions from code review
2021-08-03 14:15:39 +01:00
Benjamin Muskalla
8ce841493c
Avoid taint for valueOf(Object)
2021-08-03 14:46:55 +02:00
ihsinme
a1755b0b53
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:42:59 +03:00
ihsinme
e5c30c2edf
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:29:51 +03:00
Anders Schack-Mulligen
c0d76da1a6
Merge pull request #5846 from atorralba/atorralba/promote-unsafe-android-webview-fetch
...
Java: Promote Unsafe resource loading in Android WebView from experimental
2021-08-03 14:24:34 +02:00
Tony Torralba
f5cbec4938
Fix tests affected by Jackson stubs changes
2021-08-03 14:22:55 +02:00
Anders Schack-Mulligen
fb9feabe64
Merge pull request #6062 from atorralba/atorralba/promote-groovy-injection
...
Java: Promote Groovy Code Injection from experimental
2021-08-03 14:19:15 +02:00
ihsinme
4f09545f24
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-03 15:12:39 +03:00
ihsinme
15e76d1a98
Update cpp/ql/src/experimental/Security/CWE/CWE-783/OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-08-03 15:11:22 +03:00
Mathias Vorreiter Pedersen
43044cd475
Merge pull request #6081 from ihsinme/ihsinme-patch-273
...
CPP: Add a query to find incorrectly used switch
2021-08-03 13:16:45 +02:00
Tony Torralba
a33e0bce9d
Fix tests affected by Jackson stubs changes
2021-08-03 13:15:45 +02:00
Anders Schack-Mulligen
ad86641e22
Merge pull request #6216 from smowton/smowton/admin/serializability-dataflow
...
Create a dataflow instance specifically for the Serializability library
2021-08-03 13:03:49 +02:00
Tony Torralba
c44de87503
Fix reference to PostUpdateNode
2021-08-03 12:45:12 +02:00
Nick Rolfe
78b64dad71
Merge pull request #244 from github/script_cleanup
...
Tidy up shell scripts
2021-08-03 11:27:32 +01:00
Nick Rolfe
52ecc2c152
fix path to create-extractor-pack.sh
2021-08-03 11:14:23 +01:00
Tom Hvitved
ee51e1593f
Merge pull request #6217 from hvitved/csharp/dataflow/csv-override-fix
...
C#: Fix CSV overrides logic
2021-08-03 12:11:26 +02:00
Chris Smowton
36379146c5
Resync dataflow clone
2021-08-03 11:03:30 +01:00
Joe Farebrother
a4659f4e96
Exclude package protected members
2021-08-03 10:51:39 +01:00
Chris Smowton
afa827829a
Make imports private where possible
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-03 10:36:46 +01:00
Chris Smowton
a52c4746bc
Improve docs
2021-08-03 10:36:46 +01:00
Chris Smowton
75310a6609
Create a dataflow instance specifically for the Serializability library
...
Otherwise because this dataflow instance populates AdditionalTaintStep there is an ever-present danger that a user will stumble into creating a recursive configuration, or at least that by using DataFlow5::Configuration for any other purpose they will needlessly recalculate the Serializability dataflow results.
2021-08-03 10:36:46 +01:00
Chris Smowton
f83f950be6
Merge pull request #6325 from smowton/smowton/feature/org-json-models
...
Java: add models of JSON-java, aka `org.json`
2021-08-03 10:33:49 +01:00
Mathias Vorreiter Pedersen
3a456577d8
Merge pull request #6378 from geoffw0/impropnull
...
C++: Test and improve cpp/improper-null-termination
2021-08-03 11:32:15 +02:00
CodeQL CI
07f6ce7f3b
Merge pull request #6398 from erik-krogh/authHeader
...
Approved by esbena
2021-08-03 02:04:35 -07:00
CodeQL CI
394d3349ac
Merge pull request #6213 from asgerf/js/vuex
...
Approved by erik-krogh
2021-08-03 01:49:06 -07:00
Geoffrey White
bb96ca3e00
Merge branch 'main' into impropnull
2021-08-03 09:37:58 +01:00
Anders Schack-Mulligen
62adefb015
Merge pull request #6400 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-08-03 10:36:27 +02:00
Geoffrey White
db292287db
Merge branch 'main' into impropnull
2021-08-03 09:34:16 +01:00
Tony Torralba
084cda6daa
Merge branch 'main' into atorralba/promote-groovy-injection
2021-08-03 09:53:46 +02:00
Tony Torralba
36565802dc
Delete unnecesary file
...
RequestForgery.expected in experimental was an artifact from a merge that wasn't adequately removed
2021-08-03 09:48:04 +02:00
Tony Torralba
8852f69d36
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-03 09:46:32 +02:00
CodeQL CI
a27cb4b1ae
Merge pull request #6399 from erik-krogh/nunjucks
...
Approved by esbena
2021-08-03 00:45:37 -07:00
Erik Krogh Kristensen
f1f44ceee7
add change-note
2021-08-03 09:11:27 +02:00
Erik Krogh Kristensen
6b579dfad3
normalize auth-headers to lowercase
2021-08-03 09:09:47 +02:00
Erik Krogh Kristensen
116679d8b6
simplify union
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8f613b6b16
rename seq to visitSequence
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
e56e56c14e
use Collection instead of Iterable
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
1479376f23
rename visit to visitWithSuccessors to avoid ambiguity
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
4289875747
make utility methods static
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
94a593b208
rename entry and exit to getEntryNode and getExitNode respectively
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
366a16f700
rename the V class to WriteSuccessorsVisitor
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
c059ceaee9
add qldoc to union(xs, ys)
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8db10aeb9d
add JavaDoc to createIterable and createReversedIterable
2021-08-03 08:59:33 +02:00
Erik Krogh Kristensen
8fdcd917ee
rename foreach and hcaerof to createIterable and createReversedIterable respectively
2021-08-03 08:59:32 +02:00
Erik Krogh Kristensen
014728a66a
implement hcaerof in terms of foreach
2021-08-03 08:59:32 +02:00
Erik Krogh Kristensen
ca26b5ebbc
rename succ to writeSuccessor/writeSuccessors
2021-08-03 08:59:32 +02:00
Asger Feldthaus
c88d213f37
JS: Use appendToNamespace
2021-08-03 08:52:19 +02:00
Asger Feldthaus
f5f255d93d
JS: Rename getPrefix -> getNamespace
2021-08-03 08:51:35 +02:00
Asger F
ff17d298b0
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-08-03 08:45:56 +02:00
github-actions[bot]
cd65baf481
Add changed framework coverage reports
2021-08-03 00:07:34 +00:00
Ethan Palm
2c6977e5e2
Merge pull request #6327 from ethanpalm/cwe-coverage-tables
...
CodeQL: Display CWE coverage information by language
2021-08-02 18:00:01 -04:00
Erik Krogh Kristensen
87c0c60c22
don't report dummy authentication headers as hardcoded-crendentials
2021-08-02 22:56:14 +02:00
Erik Krogh Kristensen
f719e0ca1b
remove nunjucks template URLs from the target-blank query
2021-08-02 22:46:59 +02:00
Ethan P
6a6993248d
Add note to readme about CWE coverage tables
2021-08-02 13:34:26 -07:00
Nick Rolfe
f2af68f8cf
Clean up script file locations
2021-08-02 18:21:50 +01:00
Arthur Baars
2c8b1fa6da
Merge pull request #231 from github/aibaars/makefile
...
Add makefile
2021-08-02 18:31:16 +02:00
Arthur Baars
38f82ffc3c
Update Makefile
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-08-02 18:01:59 +02:00
Benjamin Muskalla
60c7003667
Optimize return type check
2021-08-02 17:14:44 +02:00
Benjamin Muskalla
fda394858b
Turn external API query into diagnostics query
...
* Expose (partial) CSV model for the API
* Rework and simplify predicates
2021-08-02 17:14:44 +02:00
Benjamin Muskalla
8595ae71f7
Simplify api coverage detection
...
Fixes a bug that doesn't take super types into account
when computing the usage of a specific API.
2021-08-02 17:14:44 +02:00
Benjamin Muskalla
3365634259
Expose csv parameter format predicate
2021-08-02 17:14:44 +02:00
Benjamin Muskalla
aab633eced
Reformat
2021-08-02 17:14:43 +02:00
Benjamin Muskalla
2064915d3b
Fold JDK API query into external API query
2021-08-02 17:14:43 +02:00
Benjamin Muskalla
0c04c9a2c2
Fix aggregation of jar usages
2021-08-02 17:14:43 +02:00
Benjamin Muskalla
722889e881
Make id unique
2021-08-02 17:14:42 +02:00
Benjamin Muskalla
d9285e78c0
Add query to collect external API calls
2021-08-02 17:14:42 +02:00
Benjamin Muskalla
07303ccbb3
Fix formatting
2021-08-02 17:14:42 +02:00
Benjamin Muskalla
b9f6b60c4d
Introduce query to capture external libraries
2021-08-02 17:14:41 +02:00
Benjamin Muskalla
32f52ac30d
Improve column names
2021-08-02 17:14:41 +02:00
Benjamin Muskalla
18e3763f90
Expose whether APIs are already supported
2021-08-02 17:14:41 +02:00
Benjamin Muskalla
9b6ae9029f
Introduce query for capture JDK API usage
2021-08-02 17:14:40 +02:00
Chris Smowton
fad1622730
Merge pull request #5435 from haby0/DynamicallyLoadedClasses
...
Java: CWE-470 Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
2021-08-02 16:04:30 +01:00
Alex Ford
403dee279d
add Node#getALocalSource predicate
2021-08-02 15:56:36 +01:00
Alex Ford
56139ccf93
port some concepts to Concepts.qll
2021-08-02 15:56:36 +01:00
Arthur Baars
58a6f5a783
Address comments
2021-08-02 16:12:50 +02:00
Arthur Baars
730b6d8e6c
Add makefile
2021-08-02 16:12:50 +02:00
Tony Torralba
08bdd1aa7a
Merge branch 'main' into atorralba/promote-ognl-injection
2021-08-02 16:05:38 +02:00
Tony Torralba
8b50b3d00f
Add jackson-core to test dependencies
2021-08-02 16:04:49 +02:00
Geoffrey White
904db788ec
Merge branch 'main' into impropnull
2021-08-02 15:00:12 +01:00
Chris Smowton
09a873138d
Add missing qldoc
2021-08-02 14:48:42 +01:00
Chris Smowton
170bb43393
Update java/ql/test/library-tests/frameworks/json-java/test.ql
...
Remove unnecessary import
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-08-02 14:46:38 +01:00
Chris Smowton
8a78075d3d
Remove redundant method taint flow specifications
2021-08-02 14:30:31 +01:00
Mathias Vorreiter Pedersen
bbbbeda7c3
Merge pull request #6385 from MathiasVP/more-FieldConfiguration-sources
...
C++: Fix missing local flow in AST dataflow
2021-08-02 15:22:07 +02:00
Anders Schack-Mulligen
53e6ddfeb6
Merge pull request #6001 from atorralba/atorralba/promote-mvel-injection
...
Java: Promote MVEL injection query from experimental
2021-08-02 14:40:26 +02:00
Tony Torralba
f4b78ef3bd
Fix stubs
2021-08-02 14:12:05 +02:00
Tony Torralba
9b384d84cc
Merge branch 'main' into atorralba/promote-ognl-injection
2021-08-02 14:06:45 +02:00
Tony Torralba
351a24558d
Add tests for JacksonSerializability
...
Upgraded jackson stubs to 2.12
2021-08-02 14:03:30 +02:00
Tony Torralba
632ae747c7
Fix JacksonModel duplicate row
2021-08-02 12:53:30 +02:00
Anders Schack-Mulligen
3b676d432f
Merge pull request #5900 from artem-smotrakov/unsafe-jackson-deserialization
...
Java: Unsafe deserialization with Jackson
2021-08-02 12:45:30 +02:00
Anders Schack-Mulligen
0a1c754de8
Merge pull request #6395 from github/bmuskalla/fixTypoInVariables
...
Fix typo in variables documentation
2021-08-02 12:30:14 +02:00
Benjamin Muskalla
d678cdc815
Update variables.rst
2021-08-02 12:07:09 +02:00
Arthur Baars
2f491a1924
Merge pull request #230 from github/redos-enable-tounicode
...
enable unicode parsing in the ReDoS query
2021-08-02 10:42:09 +02:00
Pavel Avgustinov
2be9f3e41e
C#: Guard against virtual dispatch branching too much.
...
We have observed databases where dispatch to highly overridden
virtual methots (like Enumerable.GetEnumerator) ends up branching
to many thousands of overrides, if there is not sufficient type
context to prune. This causes performance problems for analyses
that use dataflow.
As an immediate fix, this commit prevents branching to virtual
method overrides if this would result in branching to 1,000 or
more methods.
2021-08-02 09:40:16 +01:00
Tom Hvitved
7a475eb0a2
C#: Fix CSV overrides logic
2021-08-02 10:35:21 +02:00
Tom Hvitved
df29538840
C#: Add test that exhibits bug in CSV overrides logic
2021-08-02 10:35:21 +02:00
Anders Schack-Mulligen
6c973b59ac
Update java/ql/src/semmle/code/java/frameworks/Jackson.qll
2021-08-02 10:16:42 +02:00
Anders Schack-Mulligen
26881ec220
Merge pull request #6389 from github/yo-h-patch-1
...
Java: update `frameworks.rst` with Jackson
2021-08-02 10:07:02 +02:00
Tony Torralba
9fadb26325
Fix qhelp sample
2021-08-02 10:00:59 +02:00
Tony Torralba
4435853c8a
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-08-02 09:56:40 +02:00
Erik Krogh Kristensen
632ad518f0
enable unicode parsing in the ruby ReDoS query
2021-08-02 07:13:41 +00:00
ihsinme
375a60194b
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.ql
2021-08-01 16:44:54 +03:00
ihsinme
14b4e08ce9
Update OperatorPrecedenceLogicErrorWhenUseBitwiseOrLogicalOperations.expected
2021-08-01 16:43:56 +03:00
ihsinme
36131ee16a
Update test.cpp
2021-08-01 16:43:05 +03:00
ihsinme
098773dd10
Update FindIncorrectlyUsedSwitch.ql
2021-08-01 15:04:30 +03:00
ihsinme
80eb4907c0
Update FindIncorrectlyUsedSwitch.expected
2021-08-01 15:03:30 +03:00
ihsinme
5c71a7c024
Update test.c
2021-08-01 15:02:41 +03:00
Fosstars
bd7e7b1371
Better qldoc for timing attacks
2021-08-01 10:18:37 +02:00
Fosstars
44e52517ad
Removed unsafeMacCheckWithArraysDeepEquals() test
2021-08-01 10:12:38 +02:00
Fosstars
0fc487fb04
Better qhelp for timing attacks
2021-08-01 09:57:14 +02:00
Artem Smotrakov
9b953cf0fc
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-08-01 09:47:07 +02:00
Fosstars
ad54c9d937
Two queries for timing attacks
2021-08-01 09:47:07 +02:00
Artem Smotrakov
e3b6ceade5
Renamed NonConstantTimeCryptoComparison.ql to NonConstantTimeCheckOnSignature.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
8b557765b3
Narrow NonConstantTimeCryptoComparison.ql to timing attack on signatures and MACs only
2021-08-01 09:47:06 +02:00
Artem Smotrakov
c359852608
Consider only Cipher.ENCRYPT_MODE in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
1f2a9cdda7
Added taint propagation steps for hashes in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:06 +02:00
Artem Smotrakov
c96d939cf5
Covered custom fast-fail checks in NonConstantTimeCryptoComparison.ql
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-08-01 09:47:06 +02:00
Artem Smotrakov
6500a1bbbb
More references in NonConstantTimeCryptoComparison.qhelp
2021-08-01 09:47:05 +02:00
Artem Smotrakov
860e8f379e
Better signatures in java/non-constant-time-crypto-comparison
2021-08-01 09:47:05 +02:00
Artem Smotrakov
622c7ee957
Added a change note for new steps for ByteBuffer and InputStream
2021-08-01 09:47:05 +02:00
Artem Smotrakov
1b4ee05b80
Better docs for java/non-constant-time-crypto-comparison
2021-08-01 09:47:05 +02:00
Artem Smotrakov
8c4da16459
More test cases for java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
295fd686ce
Make java/non-constant-time-crypto-comparison a warning
2021-08-01 09:47:04 +02:00
Artem Smotrakov
c977fd09cb
Better constant check in java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
d01dc35011
Less duplicate code in java/non-constant-time-crypto-comparison
2021-08-01 09:47:04 +02:00
Artem Smotrakov
40e513ba52
Added more taint propagation steps for InputStream and ByteBuffer
2021-08-01 09:47:04 +02:00
Artem Smotrakov
a4f3a5a88e
Take into account remote user input in java/non-constant-time-crypto-comparison
2021-08-01 09:47:03 +02:00
Artem Smotrakov
8e6d227dc0
More sinks for java/ql/src/experimental/Security/CWE/CWE-208/NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:03 +02:00
Artem Smotrakov
dfa3b523d0
Renamed files
2021-08-01 09:47:03 +02:00
Artem Smotrakov
75f67959f3
Covered Arrays.deepEquals() in NonConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
5dbcf1d611
Covered Object.deepEquals() in NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
5c474f689d
Better comments and descriptions
2021-08-01 09:47:02 +02:00
Artem Smotrakov
f245dc3ac8
Removed hashes from NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:02 +02:00
Artem Smotrakov
8a69b7b3ac
Added NotConstantTimeCryptoComparison.qhelp and examples
2021-08-01 09:47:01 +02:00
Artem Smotrakov
67579dd1d8
Added tests for NotConstantTimeCryptoComparison.ql
2021-08-01 09:47:01 +02:00
Artem Smotrakov
c2c85d32da
Java: Added a query for timing attacks
2021-08-01 09:47:01 +02:00
Artem Smotrakov
7959e76da8
Better qldoc in UnsafeDeserializationQuery.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-30 09:30:59 +02:00
Fosstars
a4b0041120
Better looksLikeResolveClassStep() predicate
2021-07-30 09:28:03 +02:00
Fosstars
1d3eb570bf
hasJsonTypeInfoAnnotation() should check fields recursively
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-30 08:30:40 +02:00
yo-h
6a18b33616
Java: update frameworks.rst with Jackson
...
Updating manually maintained list with coverage in `JacksonSerializability.qll`
2021-07-29 17:35:06 -04:00
Arthur Baars
d986bea317
Merge pull request #238 from github/aibaars/extract-erb
...
Extract ERB tags
2021-07-29 19:21:32 +02:00
Aditya Sharad
cb686ea802
Merge pull request #6388 from github/geoffw0-patch-2
...
Update query-metadata-style-guide.md
2021-07-29 10:20:26 -07:00
Arthur Baars
00a0b93172
Add erb file
2021-07-29 19:09:56 +02:00
Geoffrey White
5e6e176f32
Update query-metadata-style-guide.md
...
Add a note about the `@security-severity` tag.
2021-07-29 17:53:31 +01:00
Nick Rolfe
4007e85991
Incorporate changes from Python PR
2021-07-29 17:25:39 +01:00
Nick Rolfe
3abe047cac
Fix parsing of POSIX bracket expressions.
...
The docs are misleading. [[:alpha:]] is actually a character class
*containing* a POSIX bracket expression, and that means you can have
expressions like [[:alpha:][:digit:]_?!]
2021-07-29 17:24:51 +01:00
Nick Rolfe
5d336d8e1d
Make some predicates/classes/imports private
2021-07-29 17:17:11 +01:00
Mathias Vorreiter Pedersen
b1e5fbe2de
Merge pull request #6377 from sashabu/sashabu/virtual
...
C++: Allow querying virtual, override, and final declaration specifiers.
2021-07-29 17:51:14 +02:00
Joe Farebrother
227818adb4
Add change note
2021-07-29 16:41:33 +01:00
Joe Farebrother
e23f666f67
Replace get and newWith methods with real implementations
2021-07-29 16:39:50 +01:00
Tony Torralba
29490e5872
Add suggestion from code review
2021-07-29 17:07:18 +02:00
Joe Farebrother
f1ca29a846
Add more stubs
2021-07-29 15:58:42 +01:00
Tony Torralba
3fcc9fae79
Refactor sinks to reuse code
2021-07-29 16:48:47 +02:00
Geoffrey White
417edab126
C++: Simplify out the 'effect' string.
2021-07-29 15:44:53 +01:00
Geoffrey White
7f621bc737
C++: Repair the tests that use subtraction so that the thing they're testing is preserved, and add two new explicit tests of behaviour on subtraction.
2021-07-29 15:36:43 +01:00
Tony Torralba
6e3b6dcb98
Imporve qhelp
2021-07-29 16:36:38 +02:00
Tony Torralba
bdf0f582a4
QLDoc improvements from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 16:34:21 +02:00
Tony Torralba
90b5e02b6e
Improve qhelp
2021-07-29 16:28:10 +02:00
Geoffrey White
13823df5a1
C++: Remove underflow detection.
2021-07-29 15:22:18 +01:00
Geoffrey White
9e0411238b
C++: Add some more test cases.
2021-07-29 15:15:26 +01:00
Tony Torralba
4ea6729c53
Update java/ql/src/Security/CWE/CWE-347/MissingJWTSignatureCheck.ql
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-07-29 16:10:49 +02:00
mc
0a986ad0e8
Update JndiInjection.qhelp
...
Improve negation
2021-07-29 15:10:32 +01:00
Joe Farebrother
096509b9aa
Generate tests and stubs
2021-07-29 15:01:50 +01:00
Joe Farebrother
3bcb46f875
Model guava cache package
2021-07-29 14:52:26 +01:00
Mathias Vorreiter Pedersen
bbb38fd2aa
C++: Accept more test changes.
2021-07-29 15:49:50 +02:00
Tony Torralba
2628d3dc39
Improve csv sink models
2021-07-29 15:36:18 +02:00
Tony Torralba
3edc8bc679
Doc improvements
2021-07-29 15:35:39 +02:00
Tony Torralba
d9fb650dfb
JacksonCreateParserMethod converted to CSV summay model
2021-07-29 15:19:30 +02:00
Tony Torralba
b20d53cfd4
Update java/ql/src/semmle/code/java/security/OgnlInjection.qll
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 15:08:27 +02:00
Alexandre Boulgakov
e55bd4fb64
C++: Allow querying virtual, override, and final declaration specifiers.
2021-07-29 14:02:03 +01:00
Mathias Vorreiter Pedersen
41d233f086
C++: Make the 'definition by reference'-node in 'foo(a.b);' a source in the 'FieldConfiguration' configuration.
2021-07-29 14:49:59 +02:00
Mathias Vorreiter Pedersen
a082172422
C++: Add testcase demonstrating missing local flow out of fields that are defined by reference.
2021-07-29 14:46:32 +02:00
Nick Rolfe
e757d2e654
Merge pull request #241 from github/fix_yml
...
Fix invalid file-type identifier
2021-07-29 12:05:10 +01:00
Arthur Baars
c568162256
Use a single TrapWriter
...
The output of two distinct TrapWriters should not be written to the
same TRAP file because this causes name clashes between TRAP labels.
2021-07-29 12:50:27 +02:00
Nick Rolfe
4aacdafb38
Fix invalid file-type identifier
...
Upper-case characters are not allowed.
2021-07-29 11:49:22 +01:00
mc
8f1fc9e893
Update MvelInjection.qhelp
...
Minor tweaks
2021-07-29 11:30:19 +01:00
Arthur Baars
cc1bdf1fc3
Add charpred to RubyFile class
2021-07-29 11:48:35 +02:00
Joe Farebrother
143b302eef
Merge pull request #6384 from joefarebrother/test-gen-improvements
...
Java: Test generator: use getComponentType
2021-07-29 10:47:37 +01:00
Joe Farebrother
3b430d4925
Use getComponentType
2021-07-29 10:11:22 +01:00
Joe Farebrother
f7099f459f
Java: Test generator: use getComponentType
2021-07-29 10:08:45 +01:00
Artem Smotrakov
83a9b0ee28
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-29 11:04:21 +02:00
mc
ebf004a4df
Update MissingJWTSignatureCheck.qhelp
...
Using same syntax as on other queries for 'BAD' and 'GOOD'.
2021-07-29 09:13:00 +01:00
Benjamin Muskalla
b7b74b51a3
Track taint for String.valueOf(..)
2021-07-29 09:14:03 +02:00
Arthur Baars
fcf2d4cbd2
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-07-29 09:02:57 +02:00
Geoffrey White
ae35ae10e6
C++: Fix readlink FPs.
2021-07-28 17:45:18 +01:00
Fosstars
893f84fbf4
Merge branch 'unsafe-jackson-deserialization' of github.com:artem-smotrakov/ql into unsafe-jackson-deserialization
2021-07-28 18:25:53 +02:00
Fosstars
50497eb747
Make imports as private as possible
2021-07-28 18:25:05 +02:00
ihsinme
2d5a263799
Update FindIncorrectlyUsedExceptions.ql
2021-07-28 18:46:49 +03:00
Geoffrey White
c2ef58d29d
C++: Support 'readlinkat'.
2021-07-28 16:15:28 +01:00
Geoffrey White
358d89f3ce
C++: Add tests.
2021-07-28 16:15:16 +01:00
Joe Farebrother
d900fcaf42
Merge pull request #6374 from joefarebrother/test-gen-improvements
...
Java: Add support for synthetic fields to the test generator
2021-07-28 16:02:47 +01:00
Artem Smotrakov
7fec575df8
Simplify JsonTypeInfo stub
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-28 14:23:50 +02:00
Joe Farebrother
9ddae3e9f6
Fix spelling
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-07-28 10:12:17 +01:00
Tony Torralba
3248f458a5
Update java/change-notes/2021-06-14-groovy-code-injection-query.md
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-07-28 10:45:03 +02:00
haby0
eda3d864f5
Model written using smowton
2021-07-28 15:55:47 +08:00
valeria-meli
f3c0bf7826
copy-paste from our repo
2021-07-27 18:09:11 -03:00
Aditya Sharad
d7c29791de
Merge pull request #6368 from bmuskalla/addMissingKeywords
...
Add missing keywords to language specification
2021-07-27 11:08:25 -07:00
Felicity Chapman
0714f4abbb
Merge pull request #6339 from github/package-manager-docs
...
[July 27-8, 2021] CodeQL package manager: update CodeQL CLI docs (beta)
2021-07-27 18:24:03 +01:00
Arthur Baars
1d245b8d2e
Merge pull request #237 from github/aibaars/rules-sarif
...
Build/Release: create rules.sarif file
2021-07-27 18:49:50 +02:00
Arthur Baars
dacd3f3d19
Update dbscheme stats
2021-07-27 18:43:51 +02:00
Arthur Baars
4d18ec226a
Fix dataset_measure.yml
2021-07-27 18:43:51 +02:00
Arthur Baars
38eb6c112f
Add ERB extraction
2021-07-27 18:43:51 +02:00
Arthur Baars
768a751271
Add upgrade script
2021-07-27 18:43:51 +02:00
Arthur Baars
866ff7b1f6
Replace Generated module with Ruby
2021-07-27 18:43:44 +02:00
Arthur Baars
02bf895a4a
Update dbscheme type references
2021-07-27 18:42:21 +02:00
Joe Farebrother
2d862ef119
Support synthetic fields
2021-07-27 17:28:53 +01:00
Arthur Baars
2e10f8f054
Prefix dbscheme entries with language name
2021-07-27 18:17:19 +02:00
Arthur Baars
fe868e4c05
Ruby-Generator: add --dbscheme and --library flags
2021-07-27 18:17:19 +02:00
Arthur Baars
fc8f5919f3
Remove Ruby specific parts from FileSystem.qll
2021-07-27 18:17:15 +02:00
Chris Smowton
23de0859ea
Add missing models and other minor improvements per Marcono1234's review
2021-07-27 16:03:39 +01:00
Joe Farebrother
a8cca4ba0e
Merge pull request #6373 from joefarebrother/test-gen-improvements
...
Java: Test generator improvements
2021-07-27 15:44:56 +01:00
Chris Smowton
0049b8e3c4
Merge pull request #6371 from github/smowton/admin/test-generator-notice-bad-rows
...
Add test-case generator check for non-parseable rows
2021-07-27 15:44:01 +01:00
Joe Farebrother
309f0e7c26
Fix handling of arrays
2021-07-27 15:05:57 +01:00
Joe Farebrother
9ffcfbcd33
Add --force option
2021-07-27 15:05:57 +01:00
Joe Farebrother
8ab0fd54b4
Improvements to the test generator:
...
- Only reference public methods
- Report rows for which test cases could not be generated
- Add a blanket `throws Exception` clause to the generated method
2021-07-27 15:05:55 +01:00
Joe Farebrother
2036aa1e4a
Format test generator
2021-07-27 15:04:19 +01:00
Felicity Chapman
28ce21ed7e
Update docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst
2021-07-27 15:02:39 +01:00
Geoffrey White
5ac6b38380
C++: Change note.
2021-07-27 14:27:16 +01:00
mc
10a3dcb188
Update GroovyInjection.qhelp
2021-07-27 14:26:49 +01:00
Chris Smowton
97d603cafb
Add test-case generator check for non-parseable rows
2021-07-27 14:26:22 +01:00
Geoffrey White
e7842b9625
C++: Autoformat.
2021-07-27 14:19:30 +01:00
Geoffrey White
00f6f668cc
C++: Don't report underflowing multiplication.
2021-07-27 14:02:40 +01:00
Geoffrey White
40f0658e8a
C++: Exclude unintended results on pointers.
2021-07-27 13:39:20 +01:00
Geoffrey White
503c5c9e33
C++: Add more test cases.
2021-07-27 13:38:00 +01:00
Anders Schack-Mulligen
a5f0a4ea71
Merge pull request #6087 from smowton/smowton/admin/rest-xss-tests
...
Java: Add Spring XSS tests
2021-07-27 14:09:34 +02:00
Felicity Chapman
e5d8e81634
Merge branch 'package-manager-docs' of github.com:github/codeql into package-manager-docs
2021-07-27 12:52:46 +01:00
Felicity Chapman
f060296cf8
Update beta note with details of release
2021-07-27 12:52:15 +01:00
Arthur Baars
58c93bfdca
Build/Release: create rules.sarif file
2021-07-27 12:29:27 +02:00
Anders Schack-Mulligen
aa8fa26a2a
Merge pull request #6355 from intrigus-lgtm/patch-6
...
Update broken link
2021-07-27 09:05:02 +02:00
haby0
00f13e1e6e
Modify isAdditionalTaintStep
2021-07-27 10:59:38 +08:00
Felicity Chapman
ecaf03ff7e
Update docs/codeql/codeql-cli/about-ql-packs.rst
2021-07-27 00:19:31 +01:00
Felicity Chapman
070554e0d8
Update description of 'suites'
2021-07-26 23:48:50 +01:00
Felicity Chapman
de5d14df62
Replace package manager
2021-07-26 23:37:13 +01:00
Felicity Chapman
5b92d9445e
Apply suggestions from code review
...
Co-authored-by: Dave Bartolomeo <dbartol@github.com >
2021-07-26 23:29:01 +01:00
Felicity Chapman
5197c2db9f
Move beta note into a reusable
2021-07-26 23:15:45 +01:00
Felicity Chapman
84fe27270f
Further changes from the technical review
2021-07-26 23:08:32 +01:00
Felicity Chapman
6c82c2c0c8
Apply suggestions from code review
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 22:38:25 +01:00
Robert Marsh
b6200e5b23
Merge pull request #6369 from geoffw0/toctou3
...
C++: Increase cpp/toctou-race-condition query precision.
2021-07-26 13:16:28 -07:00
Robert Marsh
fbb3f2e506
Merge pull request #6273 from geoffw0/cleartext-storage-file
...
C++: Improve the CleartextFileWrite query
2021-07-26 12:46:51 -07:00
Felicity Chapman
c6a9b029cf
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
2021-07-26 18:19:24 +01:00
Felicity Chapman
8b64b8144c
Apply suggestions from code review
2021-07-26 18:15:04 +01:00
Geoffrey White
f65c5cfb70
C++: Increase query precision.
2021-07-26 15:15:12 +01:00
intrigus-lgtm
434b36c648
Update broken link
2021-07-26 15:48:47 +02:00
Felicity Chapman
33d859eb5c
Fix further Sphinx build warnings
2021-07-26 13:12:10 +01:00
Dominik Bamberger
f2ac9f6224
Wrap code in a block.
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-07-26 13:55:08 +02:00
Dominik Bamberger
275ab370d4
Revert "Remove space to test if that fixes CI."
...
This reverts commit 3eb8d11a0a .
2021-07-26 13:44:11 +02:00
Anders Schack-Mulligen
6c666b49f5
Merge pull request #6366 from smowton/smowton/fiix/junit-nested-classes
...
Prevent class-could-be-static alerts regarding JUnit Nested tests
2021-07-26 12:45:23 +02:00
Dominik Bamberger
3eb8d11a0a
Remove space to test if that fixes CI.
2021-07-26 12:35:56 +02:00
Benjamin Muskalla
a32e6f507c
Add missing keywords to language specification
2021-07-26 12:27:56 +02:00
Dominik Bamberger
f1883adb34
Rename label to avoid collision.
2021-07-26 12:17:00 +02:00
Dominik Bamberger
1cdb345148
Add missing table columns.
2021-07-26 11:40:20 +02:00
Joe Farebrother
358a7c1707
Fix issue when building with no pom file
2021-07-26 10:38:16 +01:00
Dominik Bamberger
fedd4d7d15
Remove typo from file name.
2021-07-26 11:23:40 +02:00
Dominik Bamberger
163dfa086a
Note accepting multiple packs.
2021-07-26 11:21:20 +02:00
Anders Schack-Mulligen
5d3e8d2add
Merge pull request #6365 from Marcono1234/marcono1234/InstanceOfExpr-getCheckedType
...
Java: Add `InstanceOfExpr.getCheckedType()`
2021-07-26 11:20:48 +02:00
Dominik Bamberger
db056fb57b
Remove obsolete '--allow-packs' flag.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:18:06 +02:00
Dominik Bamberger
1f439a15db
Remove obsolete '--allow-packs' flag.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:17:25 +02:00
Dominik Bamberger
66922dcfa8
Clarify sequence.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:16:59 +02:00
Dominik Bamberger
a634d37026
Include location.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:15:59 +02:00
Anders Schack-Mulligen
ee13520836
Merge pull request #6364 from Marcono1234/marcono1234/TypeLiteral-getReferencedType
...
Java: Add `TypeLiteral.getReferencedType()`
2021-07-26 11:15:06 +02:00
Dominik Bamberger
270d49d3fd
Refer to GitHub Packages.
2021-07-26 11:14:20 +02:00
Dominik Bamberger
659af055e7
Wrap note.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 11:12:03 +02:00
Dominik Bamberger
5193e657bc
Add warning about reformatting and stripping comments.
2021-07-26 11:08:50 +02:00
Dominik Bamberger
f89f3f408b
Mention optional dependencies block.
2021-07-26 11:07:13 +02:00
Dominik Bamberger
ff74e9b73b
Mention optional '+' modifier to combine input with config file.
2021-07-26 11:04:02 +02:00
Chris Smowton
aca905fa36
Prevent class-could-be-static alerts regarding JUnit Nested tests
2021-07-26 09:35:26 +01:00
Anders Schack-Mulligen
f6439b792e
Merge pull request #6356 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-26 10:33:08 +02:00
Dominik Bamberger
15ed567420
Set expectations for multi-language analysis.
2021-07-26 10:32:31 +02:00
Dominik Bamberger
de573a373b
Use 'query suites' instead of 'code scanning suites'.
2021-07-26 10:27:18 +02:00
Dominik Bamberger
77f481d8da
Fix command invocation.
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-07-26 10:15:45 +02:00
Dominik Bamberger
120f00354e
Include '--output' and '--format' flags.
2021-07-26 10:11:59 +02:00
Dominik Bamberger
f6ce9b9eb3
Remove '--allow-packs' flag.
2021-07-26 10:09:45 +02:00
Dominik Bamberger
3402ca62c2
Explain GitHub Packages as GitHub Container Registry (GHCR).
2021-07-26 10:06:48 +02:00
Dominik Bamberger
907179c704
Explain GitHub Packages as GitHub Container Registry (GHCR).
2021-07-26 10:02:13 +02:00
Dominik Bamberger
228e4938df
Add description metadata example.
2021-07-26 09:41:05 +02:00
Dominik Bamberger
c8e604d141
Add licenses metadata example.
2021-07-26 09:40:00 +02:00
Dominik Bamberger
1df3f7f1cf
Remove section on 'bugs'.
2021-07-26 09:35:40 +02:00
Dominik Bamberger
1d5c5c2021
Replace collaborators with authors.
2021-07-26 09:34:04 +02:00
Dominik Bamberger
589e18c6fc
Remove obsolete version warning.
2021-07-26 09:32:16 +02:00
Dominik Bamberger
756cbab361
Remove mention of test files to make it sound less exclusive to testing.
2021-07-26 09:31:27 +02:00
Dominik Bamberger
c9732937dd
Mention suites correctly.
2021-07-26 09:25:18 +02:00
Dominik Bamberger
4d88326ad3
Add space to YAML syntax.
2021-07-26 09:23:52 +02:00
Dominik Bamberger
4116bfaea0
Add more naming restrictions.
2021-07-26 09:22:09 +02:00
Dominik Bamberger
e7bfa8f6ac
Use a less generic example.
2021-07-26 09:18:07 +02:00
Dominik Bamberger
e2f13ecf20
Mention cache lookup.
2021-07-26 09:15:53 +02:00
Dominik Bamberger
8ae9b9b865
Remove section about '.qll' file structure.
2021-07-26 09:10:16 +02:00
Dominik Bamberger
fdae0dd402
Mention cache usage.
2021-07-26 09:07:27 +02:00
github-actions[bot]
d51eafbfd5
Add changed framework coverage reports
2021-07-26 00:08:31 +00:00
Marcono1234
606173012a
Java: Add InstanceOfExpr.getCheckedType()
...
Additionally change `EqualsUsesInstanceOf.ql` to check for all RefTypes
instead of only Class.
2021-07-26 00:50:11 +02:00
Marcono1234
3569ed56e5
Java: Add TypeLiteral.getReferencedType()
2021-07-26 00:02:08 +02:00
jorgectf
8d0386b049
Split into getNameArg and getValueArg
2021-07-25 04:35:22 +02:00
jorgectf
f9b244ecad
Polish documentation
2021-07-24 01:06:05 +02:00
haby0
291ca3830a
Modify according to suggestions
2021-07-23 09:28:55 +08:00
Ethan P
87005b93e3
Remove placeholder note
2021-07-22 16:25:41 -04:00
intrigus-lgtm
a30005c42e
Replace broken link with archive.org link.
2021-07-22 22:14:44 +02:00
Robert Marsh
0e9d36b922
Merge pull request #6335 from geoffw0/toctou2
...
C++: Improvements to the cpp/toctou-race-condition query
2021-07-22 12:49:32 -07:00
Taus
74f1992aaf
Merge pull request #6352 from tausbn/mergeback-rc/3.2-to-main
...
Mergeback `rc/3.2` to `main`
2021-07-22 19:58:29 +02:00
Geoffrey White
d9682aa440
C++: Autoformat.
2021-07-22 18:32:40 +01:00
Dominik Bamberger
807fdb01c8
Add beta note.
2021-07-22 19:23:10 +02:00
Dominik Bamberger
b51db7f2de
Include packaging in 'Using custom queries with the CodeQL CLI'.
2021-07-22 19:23:10 +02:00
Jorge
f02b6d60a5
Merge branch 'github:main' into jorgectf/python/ldapinsecureauth
2021-07-22 18:49:51 +02:00
Shawn P
930d576cfb
Fixed isUncertain() description
2021-07-23 00:45:02 +08:00
jorgectf
b03e75e3d1
Extend ldap3's start_tls and fix tests
2021-07-22 18:42:41 +02:00
Geoffrey White
e9b96adf24
C++: Exclude results formatted with a character other than %s.
2021-07-22 17:40:32 +01:00
Geoffrey White
f8fed263e6
C++: Exclude results that are used as file names.
2021-07-22 17:40:25 +01:00
jorgectf
a34d6d390e
Port to ApiGraphs and finish the query
2021-07-22 18:34:57 +02:00
Ethan P
c7731ebbbe
Correct codeql database analyze command syntax
2021-07-22 11:44:54 -04:00
Dominik Bamberger
af80a255a3
Add example for 'Integrating a CodeQL pack into a Code Scanning workflow'.
2021-07-22 17:35:39 +02:00
Dominik Bamberger
7519288bfb
Add example for 'Running a CodeQL pack'.
2021-07-22 17:35:39 +02:00
Joe Farebrother
6be9c705f0
Update usage text
2021-07-22 16:30:26 +01:00
Chris Smowton
5c917b4a23
Merge pull request #6353 from sauyon/sauyon/java/model-constructors
...
Java: Add models for collection constructors
2021-07-22 16:27:59 +01:00
Sauyon Lee
150f3fd352
improve windows compatibility
2021-07-22 08:00:14 -07:00
Rasmus Wriedt Larsen
f71c99af22
Merge pull request #5444 from jorgectf/jorgectf/python/ldapimproperauth
...
Python: Add LDAP Improper Authentication query
2021-07-22 17:00:09 +02:00
Sauyon Lee
5d716b95b1
Allow use of pom.xml to generate stubs
2021-07-22 07:52:35 -07:00
Geoffrey White
1d582182b0
C++: Exclude 'path'.
2021-07-22 15:49:30 +01:00
Geoffrey White
86ee5fea40
C++: More test cases and correct an existing one.
2021-07-22 15:47:06 +01:00
haby0
2a50cf8244
Fix
2021-07-22 22:24:09 +08:00
Sauyon Lee
fd02dcdf2e
Java: Add models for collection constructors
2021-07-22 07:23:26 -07:00
Rasmus Wriedt Larsen
42a997cbcb
Python: Fix deprecation warning
2021-07-22 15:59:13 +02:00
Ethan P
1606d96859
fix typo
2021-07-22 09:58:43 -04:00
Rasmus Wriedt Larsen
71e6db8a01
Merge branch 'main' into jorgectf/python/ldapimproperauth
2021-07-22 15:57:43 +02:00
haby0
d8f5f6987b
Fix
2021-07-22 21:53:41 +08:00
Taus
6ea8ef5d16
Merge branch 'rc/3.2' into mergeback-rc/3.2-to-main
2021-07-22 13:52:56 +00:00
haby0
e160352b38
Fix
2021-07-22 21:48:46 +08:00
Taus
08f480a556
Merge pull request #6351 from tausbn/python-hotfix-localsourcenode-typetrackingnode
...
Python: Hotfix `LocalSourceNode`
2021-07-22 15:47:59 +02:00
haby0
735ab28040
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:30 +08:00
haby0
7cf2e9ed79
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
46a212b712
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
676f0ad817
Update java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-22 21:45:29 +08:00
haby0
4ebf0ed7c5
Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')
2021-07-22 21:45:29 +08:00
Chris Smowton
40173f7abb
Remove stubbing script outputs
2021-07-22 14:33:34 +01:00
Rasmus Wriedt Larsen
802d9bda83
Merge pull request #5680 from mrthankyou/python-use-sqlalchemy
...
Python: Add SqlAlchemy model
2021-07-22 15:31:39 +02:00
Mathias Vorreiter Pedersen
f6f9c8af65
Merge pull request #6350 from MathiasVP/mergeback-2021-07-22
...
Mergeback `rc/3.2`
2021-07-22 15:13:44 +02:00
Taus
020c6e3b3b
Python: Update change note
2021-07-22 13:11:29 +00:00
Taus
badf6311c9
Python: Remove flow between globals...
...
... in a local scope. Or rather, remove these from the `hasLocalSource`
relation.
This prevents a quadratic blowup when the same global is mentioned
_a lot_ of times within a single function scope.
2021-07-22 13:10:40 +00:00
Taus
ed794f42b5
Python: Soft revert TypeTrackingNode
...
Temporarily instates `TypeTrackingNode` as an alias of `LocalSourceNode`
as having it as a separate class lead to performance regressions.
In the hopes that this will be resolved in the near future, I have left
the current `TypeTrackingNode` implementation in situ, but hidden inside
a `FutureWork` private module.
2021-07-22 13:10:07 +00:00
Mathias Vorreiter Pedersen
e34261accf
Merge branch 'rc/3.2' into mergeback-2021-07-22
2021-07-22 14:40:22 +02:00
Geoffrey White
7fdac2a792
Merge pull request #6347 from MathiasVP/import-gvn-to-prevent-ir-reevaluation
...
C++: Import 'GVN' in 'Overflow.qll' to prevent IR reevaluation.
2021-07-22 13:37:03 +01:00
Ethan P
09c2ccafd8
Formatting fixes
2021-07-22 08:31:28 -04:00
Rasmus Wriedt Larsen
38875ca0c7
Python: Improve handling of async methods
2021-07-22 14:17:07 +02:00
Rasmus Wriedt Larsen
c3f942f899
Python: Provide internal InstanceTaintStepsHelper
...
I realized that if you ever wanted to the way taint-steps works again,
you would have to go to all the 117 places it has been implemented, and
change EVERY ONE OF THEM :( so trying to solve that problem here.
Not super happy with the name, but that was just the best I could come up with :D
2021-07-22 14:16:50 +02:00
Rasmus Wriedt Larsen
6e9d9fcbbd
Python: Improve taint steps in for & iterable unpacking
...
These were written way before the ones in DataFlowPrivate, but
apparently didn't cover quite as much :|
2021-07-22 14:16:17 +02:00
Taus
b8a40bb7f1
Merge pull request #6348 from tausbn/python-hotfix-disable-redos-queries
...
Python: Hotfix: Disable ReDoS queries
2021-07-22 13:32:14 +02:00
Dominik Bamberger
6d869f2572
Remove section on 'Creating a custom QL pack'.
2021-07-22 13:25:01 +02:00
Taus
bfe42ae146
Python: Update change note
2021-07-22 11:10:08 +00:00
Taus
e9a4114c04
Python: Hotfix: Disable ReDoS queries
2021-07-22 10:58:49 +00:00
Geoffrey White
a4c137fae5
C++: Add '_fsopen' as well.
2021-07-22 11:31:41 +01:00
Rasmus Wriedt Larsen
d3163d8a76
Python: Add iterable-unpacking in for test
2021-07-22 11:59:46 +02:00
Rasmus Wriedt Larsen
e2d3fa7093
Python: Add list-comprehension taint test
2021-07-22 11:59:46 +02:00
Rasmus Wriedt Larsen
f5ae5a581b
Python: A bit more additional taint clean up
...
A few stragglers that did not have the same TODO comments as the others
2021-07-22 11:59:46 +02:00
Rasmus Wriedt Larsen
d2efe0b84d
Python: Normalize additional taint steps for modeled classes
...
Such that it should be next to the other class-related predicates (such
as `instance()`), the class is called `AdditionalTaintStep`, and it
marked private.
I also moved any modeling of attributes as well, while I was at it.
2021-07-22 11:59:46 +02:00
Rasmus Wriedt Larsen
be1cad864b
Python: Resolve all meth = obj.meth; meth() TODOs
...
It would probably have been easier to do this as the _first_ thing...
but that's too late now 😓
2021-07-22 11:59:46 +02:00
Mathias Vorreiter Pedersen
39144ee02b
C++: Import 'GVN' in 'Overflow.qll' to prevent IR reevaluation.
2021-07-22 11:35:16 +02:00
Chris Smowton
e2a533c7de
Merge pull request #6346 from aschackmull/java/perf-fix
...
Java: Fix bad magic.
2021-07-22 10:15:16 +01:00
Chris Smowton
605f037af8
Merge pull request #6247 from p0wn4j/spring-responseentity-redirect-sink
...
[Java] CWE-601: Add Spring URL Redirect ResponseEntity sink
2021-07-22 09:45:30 +01:00
Rasmus Wriedt Larsen
6f63c03558
Python: Model http.cookies.Morsel and usage in Tornado
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
7e09a1cbfd
Python: Model tornado.httputil.HTTPHeaders
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
7020e4132b
Python: Model BaseHTTPRequestHandler.rfile as file-like object
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
d388dd547e
Python: Model HTTPMessage from Stdlib
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
f3ce3933d1
Python: Add AdditionalTaintStep to type-tracking class snippet
...
I know that the TODO about not having the tools to handling
`meth = obj.meth; meth()` is outdated now that we `DataFlow::MethodCallNode`,
but I'm planning to deal with that later on ;)
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
dac71ded9d
Python: Add Authorization modeling in Flask
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
133632119d
Python: Model werkzeug Headers
...
Also removed a misleading comment link to method on wrong class :D
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
4d9c86a252
Python: Model Werkzeug FileStorage.save as FileSystemAccess
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
9cb4899c5c
Python: Add FileStorage modeling in Flask
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
09b0c300d9
Python: Rewrite werkzeug to avoid InstanceSourceApiNode
...
InstanceSourceApiNode is a really good idea, but it just happened too
soon. I can't do what I need if I have to supply an API-node. So to
avoid confusion between deprecating to/from InstanceSource in those
classes, I opted to do some major reorganizing as well 👍
Due to aliasing restrictions, I had to use a little trick with the
`WerkzeugOld` module.
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
04190ea308
Python: Add file-like modeling to werkzeug FileStorage
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
5f5c0b11c7
Python: Refactor Werkzeugmodeling
...
Having the additional taint step just next to the other definitions, so
everything is together.
2021-07-22 10:43:18 +02:00
Rasmus Wriedt Larsen
4f4dec50f2
Python: Model ResovlerMatch in Django
...
Like before, omitted ClassInstantiation
2021-07-22 10:43:13 +02:00
Anders Schack-Mulligen
dcfc027b5f
Java: Fix bad magic.
2021-07-22 10:12:49 +02:00
jorgectf
edb273ace5
Merge remote-tracking branch 'origin/jorgectf/python/ldapimproperauth' into jorgectf/python/ldapinsecureauth
2021-07-22 02:51:19 +02:00
jorgectf
68f79f054b
Update .expected
2021-07-21 21:32:08 +02:00
jorgectf
8d84d63b94
Add Python-Jose modeling and tests
2021-07-21 21:31:53 +02:00
jorgectf
ce507beed4
Add Authlib modeling and tests
2021-07-21 21:31:35 +02:00
jorgectf
e14b10370e
Add indeterminate test to pyjwt
2021-07-21 21:30:54 +02:00
jorgectf
f1b3c70909
Divide JWT libraries
2021-07-21 21:29:23 +02:00
Chris Smowton
c568a9463a
Remove <> qualifier from ResponseEntity name
...
This was an extractor bug that was fixed recently
2021-07-21 17:58:06 +01:00
Geoffrey White
fa0f5d08a2
Merge branch 'main' into toctou2
2021-07-21 16:21:29 +01:00
Rasmus Wriedt Larsen
6f0a622252
Python: Remove ClassInstantiation from Django UploadedFile
...
since UploadedFile is the abstract base class, all real usage would be
of one of the subclasses, so removing this to not provide a false hope
that it actually works.
I don't think investing the time into making this work would give any
value, so that's why I didn't do it ;)
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
7dc6518350
Python: Add FileLikeObject modeling
...
Such that the result of `request.FILES["key"].file.read()` is tainted
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
18c0d13efd
Python: Model most of UploadedFile in Django
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
5ec5557203
Python: Model MultiValueDict in Django
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
95e88c18b9
Python: Minor cleanup
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
51b543c67c
Python: Model taint for django request methods
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
bced467a88
Python: Refactor django additional step handling
...
So it matches the new style we're using in aiohttp/twisted/...
2021-07-21 16:35:09 +02:00
Rasmus Wriedt Larsen
ce4b192caa
Python: Improve usefulness of RemoteFlowSourcesReach meta query
...
Before, results from `dca` would look something like
## + py/meta/alerts/remote-flow-sources-reach
- django/django@c2250cf_cb8f: tests/messages_tests/urls.py:38:16:38:48
reachable with taint-tracking from RemoteFlowSource
- django/django@c2250cf_cb8f: tests/messages_tests/urls.py:38:9:38:12
reachable with taint-tracking from RemoteFlowSource
now it should make it easier to spot _what_ it is that actually changed,
since we pretty-print the node.
2021-07-21 16:35:09 +02:00
Ethan P
3a048a1cdd
Add `qlpack.yml` information
2021-07-21 09:27:41 -04:00
Rasmus Wriedt Larsen
6aabbf0b9a
Python: Add some alert meta queries
...
Intended for use with dca
2021-07-21 14:53:01 +02:00
Mathias Vorreiter Pedersen
73ee7409f6
Merge pull request #6342 from MathiasVP/fix-fp-in-uninitialized-local
...
C++: Fix FP in `cpp/uninitialized-local`
2021-07-21 14:46:57 +02:00
Ethan P
2cdf404e05
Create "About CodeQL packs" and add to ToC
2021-07-21 08:10:46 -04:00
Anders Schack-Mulligen
22f6b021ba
Merge pull request #6338 from aschackmull/java/cleanup-deprecated
...
Java: Remove deprecated ParExpr.
2021-07-21 11:36:40 +02:00
Geoffrey White
daed988108
Merge pull request #6341 from MathiasVP/mergeback-2021-07-21
...
Mergeback `rc/3.2`
2021-07-21 10:35:07 +01:00
Mathias Vorreiter Pedersen
e536cecefe
C++: Fix FP caused by a variable missing type information.
2021-07-21 11:04:23 +02:00
Mathias Vorreiter Pedersen
6d0290809d
Merge branch 'rc/3.2' into mergeback-2021-07-21
2021-07-21 10:23:58 +02:00
Pavel Avgustinov
2d9600de4a
Merge pull request #6340 from MathiasVP/revert-path-sensitive-stackvariablereachability
...
C++: Revert #6004
2021-07-21 09:17:56 +01:00
Tony Torralba
76905c47b4
Formatting
2021-07-21 09:47:45 +02:00
ihsinme
8aac5b339e
Update FindIncorrectlyUsedExceptions.expected
2021-07-21 09:49:19 +03:00
ihsinme
4202759bcc
Update test.cpp
2021-07-21 09:48:36 +03:00
ihsinme
2d1924ac0e
Update test.cpp
2021-07-21 08:32:18 +03:00
ihsinme
cf689b83a9
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-07-21 08:29:42 +03:00
Ethan P
0eb2f903a3
add procedural information for publishing and using CodeQL packs
2021-07-20 23:21:36 -04:00
Ethan P
e586765cbe
add new articles to ToC
2021-07-20 22:33:06 -04:00
p0wn4j
f0d5520976
Add Spring URL Redirect ResponseEntity sink
...
Copyedit qhelp
2021-07-21 03:16:16 +04:00
Ethan P
96de32bd2a
Add conceptual information "Creating and working with CodeQL packs"
2021-07-20 14:01:30 -04:00
Geoffrey White
473198a6ef
C++: Accept any check followed by a 'sensitive' use such as 'chmod'.
2021-07-20 18:11:05 +01:00
Aditya Sharad
46fbb2a3cc
Merge pull request #6334 from github/security-severity-docs
...
Update CodeQL docs for security-severity levels
2021-07-20 09:58:19 -07:00
Geoffrey White
c6d8abc9b1
C++: Add a couple more testcases.
2021-07-20 17:52:59 +01:00
Mathias Vorreiter Pedersen
a006a7fb24
Revert "Merge pull request #6004 from MathiasVP/path-sensitive-stack-variable-reachability-analysis"
...
This reverts commit e3e7b00986 , reversing
changes made to 8ccdd4fb9f .
2021-07-20 18:06:49 +02:00
Tony Torralba
4622d8590b
Fix change note
2021-07-20 17:50:58 +02:00
Tony Torralba
26999c7ac4
Decouple UnsafeAndroidAccess.qll to reuse the taint tracking configuration
2021-07-20 17:46:35 +02:00
Tony Torralba
99e66cffa2
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-07-20 17:30:56 +02:00
Tony Torralba
ed0db7c7b4
Fix release note
2021-07-20 17:24:24 +02:00
Tony Torralba
7a898a04f3
Fix release note
2021-07-20 17:23:47 +02:00
Tony Torralba
3259ead946
Decouple OgnlInjection.qll to reuse the taint tracking configuration
2021-07-20 17:21:10 +02:00
Tony Torralba
b6904a7992
Merge branch 'main' into atorralba/promote-ognl-injection
2021-07-20 17:17:17 +02:00
Tony Torralba
22c9baa462
Refactor JWT.qll
2021-07-20 17:14:34 +02:00
Tony Torralba
430d9f1834
Merge branch 'main' into atorralba/promote-missing-jwt-signature-check
2021-07-20 16:20:35 +02:00
Tony Torralba
8f1ecf529f
QLDoc
2021-07-20 15:53:38 +02:00
Tony Torralba
42b6b26c10
Decouple JndiInjection.qll to reuse the taint tracking configuration
2021-07-20 15:38:34 +02:00
Anders Schack-Mulligen
77d53676ba
Java: Remove deprecated ParExpr.
2021-07-20 15:27:31 +02:00
Taus
6591a86aad
Python: Add test cases
...
I debated whether to add a
`MISSING: use=moduleImport("builtins").getMember("print").getReturn()`
annotation to the last line.
Ultimately, I decided to add it, as we likely _do_ want this information
to propagate into inner functions (even if the value of `var2` may
change before `func4` is called).
2021-07-20 13:26:35 +00:00
Taus
e53b86fbbc
Python: Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-20 15:19:45 +02:00
Geoffrey White
5d1c7841a6
C++: Change note.
2021-07-20 14:14:01 +01:00
Tony Torralba
b8ea833a61
Merge branch 'main' into atorralba/promote-jndi-injection
2021-07-20 15:01:26 +02:00
Taus
bbcbcefedc
Python: Add false negative test case.
2021-07-20 12:54:06 +00:00
Tony Torralba
68df8028d2
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-20 14:47:16 +02:00
Taus
233ae5a54b
Python: Fix FP in py/unused-local-variable
...
This is only a temporary fix, as indicated by the TODO comment.
The real underlying issue is the fact that `isUnused` is defined in
terms of the underlying SSA variables (as these are only created
for variables that are actually used), and the fact that annotated
assignments are always considered to redefine their targets, which may
not actually be the case.
Thus, the correct fix would be to change the extractor to _disregard_
mere type annotations for the purposes of figuring out whether an
SSA variable should be created or not.
However, in the short term the present fix is likely sufficient.
2021-07-20 12:13:44 +00:00
Taus
8b3fa789da
Python: Add AnnAssign DefinitionNode
...
This was a source of false positives for the
`py/uninitialized-local-variable` query, as exemplified by the test
case.
2021-07-20 11:57:26 +00:00
Taus
f91e826781
Python: Add test case
2021-07-20 11:57:12 +00:00
Arthur Baars
3790611ca1
Merge pull request #233 from github/tausbn/bump-typetrackingnode-changes
...
Bump `codeql` submodule
2021-07-20 13:24:30 +02:00
Arthur Baars
890adf97d6
Merge pull request #6333 from github/rc/3.2
...
Merge rc/3.2 to main
2021-07-20 12:19:20 +02:00
Geoffrey White
ae944b268a
C++: Restrict the 'check' to stat / access only as these are by far the more reliable results.
2021-07-20 11:18:00 +01:00
James Fletcher
a365d4fb34
update docs for security-severity
2021-07-20 11:00:13 +01:00
Rasmus Wriedt Larsen
5a489a386a
Merge pull request #6329 from havron/qhelp-typo
...
Fix qhelp typo in RequestWithoutValidation
2021-07-20 10:18:35 +02:00
Artem Smotrakov
158a75e5a1
Import UnsafeDeserializationQuery in unsafeDeserialization.ql
2021-07-20 10:14:50 +02:00
Tony Torralba
0f199601f8
Refactor GroovyInjection.qll
2021-07-20 09:44:37 +02:00
Anders Schack-Mulligen
47528b3379
Merge pull request #6332 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-20 09:27:59 +02:00
github-actions[bot]
bed08a6f4f
Add changed framework coverage reports
2021-07-20 00:06:37 +00:00
Ethan P
1cf5386824
Create publishing-and-using-codeql-packs.rst
2021-07-19 18:42:01 -04:00
Ethan P
a5cbc560e3
Add conceptual info for creating and working with CodeQL packs
2021-07-19 18:41:44 -04:00
Porcuiney Hairs
c6c925d67a
Python : Improve Xpath Injection Query
2021-07-20 03:31:30 +05:30
Aditya Sharad
48778ce9a4
Merge pull request #6160 from timoles/patch-1
...
Add information for generating qhelp files locally
2021-07-19 14:14:22 -07:00
Ethan P
26a36592ce
Add intros and Overview headers
2021-07-19 16:29:18 -04:00
Ethan P
511e01aa1b
shorten title for full-cwe
2021-07-19 16:23:57 -04:00
Sam Havron
733e5b45bf
Fix qhelp typo in RequestWithoutValidation
2021-07-19 16:01:06 -04:00
Timo Müller
b24c096a76
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-07-19 21:12:59 +02:00
Aditya Sharad
20fa8e49c8
Merge pull request #6326 from adityasharad/codeowners/codeql-tools
...
Codeowners: Add reviewer teams for CodeQL tools and associated docs
2021-07-19 11:15:58 -07:00
Ethan P
5028fccee5
Create new CWE coverage overview and full CWE coverage page
2021-07-19 14:01:42 -04:00
Ethan P
618e8b34dc
Create individual language pages for CWE tables
2021-07-19 14:01:18 -04:00
Aditya Sharad
94b2b174c1
Merge pull request #6177 from skyzyx/patch-1
...
Update getting-started-with-the-codeql-cli.rst
2021-07-19 10:58:43 -07:00
Geoffrey White
ab4b2c2342
C++: Fix 'rename'.
2021-07-19 18:58:39 +01:00
Geoffrey White
95ec8f5394
C++: Add support for '_wfsopen'.
2021-07-19 18:36:09 +01:00
Aditya Sharad
c26a4d315d
Codeowners: Add reviewer teams for CodeQL tools and associated docs
2021-07-19 10:35:59 -07:00
Chris Smowton
7819d32784
Make MediaType stub constants actually constant
...
This is required to use them in annotations
2021-07-19 18:28:30 +01:00
Chris Smowton
a0297d51e5
Note fixed test result
...
the Optional type has now been modelled
2021-07-19 18:28:06 +01:00
Chris Smowton
82ea2592ad
Spring HTTP: Fix test mistakes
...
Classes without RestController and methods without GetMapping or similar were never going to be detected.
2021-07-19 18:21:13 +01:00
Chris Smowton
392e405f5d
Add Spring-XSS test
...
This covers the cases currently exercised in https://github.com/github/codeql-securitylab/blob/main/java/ql/src/pwntester/security/RestXSS.ql
2021-07-19 18:21:11 +01:00
Chris Smowton
16c5952167
Add and improve Spring-web stubs
2021-07-19 18:20:37 +01:00
Chris Smowton
8051a7cd83
Add change note
2021-07-19 18:11:05 +01:00
Chris Smowton
34a4b71891
Add models of JSON-java, aka org.json
2021-07-19 17:57:27 +01:00
Arthur Baars
43c68eae94
Merge pull request #6324 from github/aibaars/include-diagnostic-summary
...
Code Scanning selectors: Include diagnostic and summary metric queries
2021-07-19 17:16:48 +02:00
Arthur Baars
ed054acd8e
Merge pull request #6305 from intrigus-lgtm/patch-5
...
C# remove spurious spaces in <code> tag
2021-07-19 17:09:36 +02:00
Arthur Baars
d960ef2dac
Code Scanning selectors: Include diagnostic and summary metric queries
2021-07-19 17:05:43 +02:00
Rasmus Wriedt Larsen
5249591747
Python: Fix test folder for InsecureProtocol
2021-07-19 16:57:00 +02:00
Rasmus Wriedt Larsen
5939128a76
Python: Fix test folder for InsecureDefaultProtocol
...
it was named wrong before. whoops.
2021-07-19 16:56:07 +02:00
Rasmus Wriedt Larsen
77021ae119
Python: Restructure security tests to contain query name
...
We were mixing between things, so this is just to keep things
consistent. Even though it's not strictly needed for all queries,
it does look nice I think
2021-07-19 16:54:34 +02:00
Rasmus Wriedt Larsen
da021feb8b
Python: Move py/incomplete-hostname-regexp tests to own folder
2021-07-19 16:48:21 +02:00
Rasmus Wriedt Larsen
7939a1372e
Python: Move Jinja2WithoutEscaping tests to own folder
2021-07-19 16:44:41 +02:00
Geoffrey White
c85edb6c03
C++: Use [, ] in the query.
2021-07-19 15:24:25 +01:00
Geoffrey White
7684796d63
C++: Fix handling of the 'stat' pointer argument.
2021-07-19 15:13:19 +01:00
Mathias Vorreiter Pedersen
7bc18abbb0
Merge pull request #6150 from geoffw0/toctou
...
C++: Tests for cpp/toctou-race-condition
2021-07-19 15:51:35 +02:00
Tony Torralba
70081b6a1e
Refactor MvelInjection.qll
2021-07-19 15:36:35 +02:00
Artem Smotrakov
47e4cf4180
Make UnsafeDeserializationSink public
2021-07-19 15:34:33 +02:00
Geoffrey White
0c029898bb
C++: Autoformat.
2021-07-19 13:58:25 +01:00
Geoffrey White
49bbfefb4d
C++: Fix uses of 'rename' in tests.
2021-07-19 13:57:16 +01:00
Tony Torralba
45a72ff6eb
Fix InsecureBasicAuth test expectations
2021-07-19 13:56:31 +02:00
Tony Torralba
46faf68d64
Decouple MvelInjection.qll to reuse the taint tracking configuration
2021-07-19 13:50:03 +02:00
Tony Torralba
5ca8b380e9
Merge branch 'main' into atorralba/promote-mvel-injection
2021-07-19 13:45:10 +02:00
Nick Rolfe
8d21f95ffc
Merge pull request #235 from github/comment_fix
...
Move comment so it's not treated as part of the precision metadata
2021-07-19 12:39:13 +01:00
Nick Rolfe
ce35d74447
Move comment so it's not treated as part of the precision metadata
2021-07-19 12:29:16 +01:00
shati-patel
69dab49073
Docs: Running query on multiple DBs in CodeQL for VS Code
2021-07-19 12:24:05 +01:00
Artem Smotrakov
035f7ac669
Refactored libs for unsafe deserialization
2021-07-19 13:19:36 +02:00
Tony Torralba
1c91e74269
Rename sink models class
2021-07-19 13:05:37 +02:00
Tony Torralba
441e8afe81
Decouple GrovyInjection.qll to reuse the taint tracking configuration
2021-07-19 12:53:37 +02:00
Anders Schack-Mulligen
db76b12f3f
Merge pull request #6313 from aschackmull/java/fix-csv-dispatch
...
Java: Fix a bug in call-context-sensitve dispatch to SummarizedCallable.
2021-07-19 12:49:31 +02:00
Tony Torralba
b08f417a1e
Merge branch 'main' into atorralba/promote-groovy-injection
2021-07-19 12:44:03 +02:00
Artem Smotrakov
e02530749b
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-19 11:52:12 +02:00
Anders Schack-Mulligen
0b89f96055
Merge pull request #6318 from Marcono1234/patch-1
...
Java: Fix documentation mistake for `ProtoPom`
2021-07-19 11:25:06 +02:00
Anders Schack-Mulligen
d1f21a854a
Merge pull request #6042 from joefarebrother/spring-http
...
[Java] Model spring `http` package
2021-07-19 11:24:41 +02:00
Taus
12f7921c92
Merge pull request #6304 from RasmusWL/more-snippets
...
Python: Add more snippets
2021-07-19 11:23:24 +02:00
Anders Schack-Mulligen
c32a75a1b3
Merge pull request #6183 from smowton/smowton/feature/javax-json-models
...
Add models of the jakarta/javax.json package
2021-07-19 11:19:21 +02:00
Anders Schack-Mulligen
6de31f8b59
Merge pull request #6317 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-19 10:45:22 +02:00
Rasmus Wriedt Larsen
c9087b2e1b
Python: Minor fixup to snippet
...
Spotted by @tausbn 🎉
2021-07-19 10:19:23 +02:00
github-actions[bot]
9b7616bea4
Add changed framework coverage reports
2021-07-19 00:07:04 +00:00
thank_you
9e01338500
Query only vulnerable methods
2021-07-18 17:13:10 -04:00
Marcono1234
87d6b9ca5a
Java: Fix documentation mistake for ProtoPom
2021-07-18 02:49:43 +02:00
Tom Hvitved
1c68d3f4cd
Merge pull request #6309 from hvitved/csharp/dead-store-of-local-perf
...
C#: Improve performance of `DeadStoreOfLocal.ql`
2021-07-17 10:56:35 +02:00
Tom Hvitved
25706e0812
Merge pull request #6303 from hvitved/csharp/get-qual-name-nomagic
...
C#: Two `pragma` performance fixes
2021-07-17 07:53:35 +02:00
Artem Smotrakov
cfe74b527a
Use inline-expectation tests for StaticInitializationVector.ql
2021-07-17 01:04:52 +02:00
Robert Marsh
e0ff1d949b
Merge pull request #6315 from MathiasVP/fix-off-by-one-in-rem-expr-range-analysis
...
C++: Fix off–by-one in range analysis for `RemExpr`.
2021-07-16 15:22:03 -07:00
ihsinme
4083da3218
Update cpp/ql/src/experimental/Security/CWE/CWE-561/FindIncorrectlyUsedSwitch.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-07-16 23:18:58 +03:00
Artem Smotrakov
218731ca0a
Added a query for static initialization vectors in encryption
...
- Added StaticInitializationVector.ql
- Added StaticInitializationVector.qhelp
- Added tests
2021-07-16 19:06:44 +02:00
Artem Smotrakov
c367c7e33b
Merge branch 'unsafe-jackson-deserialization' of github.com:artem-smotrakov/ql into unsafe-jackson-deserialization
2021-07-16 18:26:38 +02:00
Artem Smotrakov
3856527d14
Refactored tests for unsafe deserialization
2021-07-16 18:26:06 +02:00
Artem Smotrakov
6d7cb48054
Refactored the query for unsafe deserialization
2021-07-16 18:25:41 +02:00
Calum Grant
8d71d09b94
Merge pull request #234 from github/calumgrant/security-severities
...
Add security-severity metadata
2021-07-16 15:40:03 +01:00
Mathias Vorreiter Pedersen
39d9395bc3
C++: Fix off-by-one in range analysis for 'RemExpr'.
2021-07-16 16:35:19 +02:00
Mathias Vorreiter Pedersen
81aa115838
C++: Fix range analysis bug for 'RemExpr'.
2021-07-16 16:28:08 +02:00
Mathias Vorreiter Pedersen
dc2eea59a3
C++: Add buggy testcase with 'RemExpr'.
2021-07-16 16:27:09 +02:00
Calum Grant
46a03795c2
Add security-severity metadata
2021-07-16 14:05:54 +01:00
Anders Schack-Mulligen
effca4495f
Java: Fix a bug in call-context-sensitve dispatch to SummarizedCallable.
2021-07-16 14:31:29 +02:00
Taus
4f3f93f267
Python: Autoformat
2021-07-16 12:22:24 +00:00
Anders Schack-Mulligen
68b3c28202
Merge pull request #6310 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-16 14:10:33 +02:00
Taus
3fd0ec74f0
Python: Deprecate importNode
...
Unsurprisingly, the only thing affected by this was the `import-helper`
tests. These have lost all of the results relating to `ImportMember`s,
but apart from that the underlying behaviour should be the same.
I also limited the test to only `CfgNode`s, as a bunch of `EssaNode`s
suddenly appeared when I switched to API graphs.
Finally, I used `API::moduleImport` with a dotted name in the type
tracking tests. This goes against the API graphs interface, but I think
it's more correct for this use case, as these type trackers are doing
the "module attribute lookup" bit manually.
2021-07-16 11:38:30 +00:00
Erik Krogh Kristensen
6da1007f67
mark new redos tests correctly
2021-07-16 13:37:47 +02:00
Erik Krogh Kristensen
b2b736db10
add more tests for non-empty positive lookaheads
2021-07-16 13:25:37 +02:00
CodeQL CI
9aafe8242e
Merge pull request #6271 from erik-krogh/logs
...
Approved by asgerf
2021-07-16 03:49:22 -07:00
Anders Schack-Mulligen
ef9d09692d
Merge pull request #5796 from smowton/smowton/feature/apache-mutable-flow
...
Java: Add synthetic fields; model Commons Lang's MutableObject type
2021-07-16 12:08:26 +02:00
Erik Krogh Kristensen
36de24aecb
use API nodes instead of type-tracking in the pino model
2021-07-16 11:32:32 +02:00
Erik Krogh Kristensen
178d3de824
Merge branch 'main' into logs
2021-07-16 11:21:25 +02:00
CodeQL CI
a02a82caac
Merge pull request #6284 from erik-krogh/qs
...
Approved by asgerf
2021-07-16 02:11:59 -07:00
CodeQL CI
c1d0e52492
Merge pull request #6286 from erik-krogh/mkdirp
...
Approved by asgerf
2021-07-16 02:11:07 -07:00
CodeQL CI
6c2c51a767
Merge pull request #6287 from erik-krogh/react-tooltip
...
Approved by asgerf
2021-07-16 02:10:36 -07:00
CodeQL CI
d4fa1f7d96
Merge pull request #6295 from erik-krogh/sort-keys
...
Approved by asgerf
2021-07-16 02:09:47 -07:00
CodeQL CI
520337577b
Merge pull request #6298 from erik-krogh/ansi-to-html
...
Approved by asgerf
2021-07-16 02:09:03 -07:00
CodeQL CI
f4f8ce0d36
Merge pull request #6294 from erik-krogh/arrify
...
Approved by asgerf
2021-07-16 02:08:19 -07:00
CodeQL CI
8ef57366c4
Merge pull request #6278 from erik-krogh/toUnicodeInAngular
...
Approved by asgerf
2021-07-16 02:07:18 -07:00
Chris Smowton
9cde13bf82
Note spurious results that stem from weak updates to synthetic fields.
2021-07-16 09:44:36 +01:00
Tom Hvitved
45ee21622d
C#: Cache NamedElement::getQualifiedName()
2021-07-16 10:25:07 +02:00
Asger Feldthaus
be8c574d5c
JS: Add test and comment for access path termination criteria
2021-07-16 09:42:59 +02:00
Asger Feldthaus
0247de76af
JS: Add a .vue file to vuex test
2021-07-16 09:31:47 +02:00
CodeQL CI
b14139f3a0
Merge pull request #6261 from max-schaefer/js/module-constructor
...
Approved by asgerf
2021-07-16 00:28:30 -07:00
Tom Hvitved
8321d5f312
Merge pull request #6293 from hvitved/csharp/ssa/remove-redundant-conjunct
...
C#: Remove redundant conjunct in `ssaDefReachesReadWithinBlock`
2021-07-16 06:15:34 +02:00
github-actions[bot]
e61702c281
Add changed framework coverage reports
2021-07-16 00:07:10 +00:00
Robert Marsh
59855de0ac
Merge pull request #6301 from github/aibaars/drop-opaque-id
...
CPP: drop opaque-id properties
2021-07-15 16:36:11 -07:00
Tom Hvitved
c53502a84a
C#: Improve performance of DeadStoreOfLocal.ql
2021-07-15 22:26:07 +02:00
intrigus-lgtm
7aa19ea00f
C# remove spurious spaces in <code> tag
2021-07-15 19:34:36 +02:00
intrigus-lgtm
88bd464296
C# remove spurious spaces in <code> tag
2021-07-15 19:34:13 +02:00
intrigus-lgtm
f587db4385
C# remove spurious spaces in <code> tag
2021-07-15 19:33:24 +02:00
Rasmus Wriedt Larsen
5e193ee8da
Python: Add more snippets
2021-07-15 18:56:49 +02:00
Rasmus Wriedt Larsen
a07de3faae
Merge branch 'main' into emptyRedos
2021-07-15 18:21:29 +02:00
Taus
258f85d6d0
Add defaultImplicitTaintRead
2021-07-15 15:52:59 +00:00
Geoffrey White
c5ed859cf5
C++: Update test comments to my best understanding.
2021-07-15 16:36:21 +01:00
jorgectf
6f09b95019
Update .expected
2021-07-15 17:16:29 +02:00
Taus
dc4d353a01
Bump shared dataflow library
2021-07-15 15:08:59 +00:00
Geoffrey White
c4322fdcd2
Merge pull request #6231 from ihsinme/ihsinme-patch-277
...
Add query for CWE-758: Reliance on Undefined, Unspecified, or Implementation-Defined Behavior
2021-07-15 15:52:48 +01:00
Taus
ec645725f0
Bump codeql submodule
...
Syncs up the shared type tracking implementation with Python.
2021-07-15 14:35:33 +00:00
Joe Farebrother
f7de2e64c5
Fix failing test caused by an imprecission in the stubber
2021-07-15 15:15:37 +01:00
CodeQL CI
d282f6a356
Merge pull request #6218 from tausbn/python-add-typetrackingnode
...
Approved by RasmusWL
2021-07-15 07:04:50 -07:00
Taus
dd03d8102b
Merge pull request #6300 from RasmusWL/redos-tests
...
Python: Fix `py/polynomial-redos`
2021-07-15 15:59:01 +02:00
Chris Smowton
1bbac748fe
Add change note
2021-07-15 14:58:25 +01:00
Chris Smowton
7b984cc2b0
Add models for Apache Commons Lang's Mutable container
2021-07-15 14:58:25 +01:00
Erik Krogh Kristensen
2b6790e914
update expected output
2021-07-15 15:54:51 +02:00
Erik Krogh Kristensen
28b98c1bfa
update expected output
2021-07-15 15:51:01 +02:00
Geoffrey White
e5e8a1b781
C++: Exclude integral types from SensitiveExprs.
2021-07-15 14:44:14 +01:00
Tom Hvitved
4180528d02
C#: Do not inline getLeafTypeAt
2021-07-15 15:41:16 +02:00
Tom Hvitved
7e4d761aa3
C#: Add nomagic to NamedElement::getQualifiedName()
2021-07-15 15:40:26 +02:00
Geoffrey White
dd95c53a3e
C++: More test cases.
2021-07-15 14:39:56 +01:00
Chris Smowton
712b0d866e
Merge pull request #6297 from aschackmull/java/query-metadata4
...
Java: More missing metadata.
2021-07-15 14:32:47 +01:00
Geoffrey White
aabb2fc3a1
C++: Tune SensitiveExprs.qll based on real TP and FP results.
2021-07-15 14:25:29 +01:00
Arthur Baars
a47002c6d8
Merge pull request #6302 from github/aibaars/drop-spaces
...
C# remove spurious spaces in <code> tag
2021-07-15 14:57:21 +02:00
Arthur Baars
e387d602b2
C# remove spurious spaces in <code> tag
2021-07-15 14:38:01 +02:00
Rasmus Wriedt Larsen
900cbc9a2f
Merge pull request #6265 from tausbn/python-performance-fixes
...
Python: Fix a few performance issues.
2021-07-15 14:19:37 +02:00
Rasmus Wriedt Larsen
a5834c4d78
Python: Fix py/polynomial-redos
2021-07-15 14:16:19 +02:00
Rasmus Wriedt Larsen
76caf43b54
Python: Add tests for py/polynomial-redos
2021-07-15 14:15:44 +02:00
Rasmus Wriedt Larsen
1be0dc0876
Python: Move test for ReDoS
2021-07-15 14:15:24 +02:00
Arthur Baars
d059ec0c93
CPP: drop opaque-id properties
...
The undocumented @opaque-id property takes precendence over the normal @id
property and causes the SARIF output produced by CodeQL to use that ID for
rules.
2021-07-15 14:12:01 +02:00
Erik Krogh Kristensen
ae2fc7171b
add a taint step through the ansi-to-html library
2021-07-15 14:04:16 +02:00
Anders Schack-Mulligen
5b7c2d133f
Merge pull request #6291 from aschackmull/java/csv-synthfield
...
Java: Add support for synthetic fields in csv rows.
2021-07-15 13:43:56 +02:00
Anders Schack-Mulligen
9b2b593cb4
Java: More missing metadata.
2021-07-15 13:41:12 +02:00
Geoffrey White
e3e7b00986
Merge pull request #6004 from MathiasVP/path-sensitive-stack-variable-reachability-analysis
...
C++: Add path-sensitivity to `StackVariableReachability`
2021-07-15 12:34:33 +01:00
Erik Krogh Kristensen
aaa8969537
add sort-keys as a clone call
2021-07-15 13:16:17 +02:00
Erik Krogh Kristensen
d2c74480b9
add taint step through flatten libraries
2021-07-15 12:36:07 +02:00
Erik Krogh Kristensen
77f4d56cd9
add taint step through array-union, array-uniq, and uniq
2021-07-15 12:32:29 +02:00
Anders Schack-Mulligen
8ccdd4fb9f
Merge pull request #6211 from aschackmull/dataflow/refactor-call-context-check
...
Dataflow: Refactor call context check
2021-07-15 12:27:23 +02:00
Tom Hvitved
caf88a2d31
C#: Remove redundant conjunct in ssaDefReachesReadWithinBlock
2021-07-15 12:25:33 +02:00
Anders Schack-Mulligen
7339bd89ba
Java: Add support for synthetic fields in csv rows.
2021-07-15 12:19:34 +02:00
Joe Farebrother
0e8dd9f335
Use generated stubs
2021-07-15 11:03:51 +01:00
Joe Farebrother
af78b99475
Include stubs for javax
2021-07-15 10:58:12 +01:00
Joe Farebrother
f59ab527b4
Fix issue with nested types
2021-07-15 10:57:32 +01:00
Joe Farebrother
65ce8aa798
Fix issue with circular type bounds
2021-07-15 10:49:14 +01:00
Joe Farebrother
0577e12b97
Add consistency checks
2021-07-15 10:49:13 +01:00
Joe Farebrother
ecf130f7ae
Move stubber to utils folder for consistency with test generator
2021-07-15 10:49:13 +01:00
Joe Farebrother
ddb93e8829
Fix a bug with type bounds + a few other bugs
2021-07-15 10:49:13 +01:00
Joe Farebrother
036e83a247
Fix error with implementing interfaces
2021-07-15 10:49:13 +01:00
Joe Farebrother
06d6ddc1b9
Fix issue with reporting javac output
2021-07-15 10:49:13 +01:00
Joe Farebrother
8f40a6e21e
Use shlex for printing commands
2021-07-15 10:49:13 +01:00
Joe Farebrother
c850c7d079
Fix typo in comment
2021-07-15 10:49:13 +01:00
Joe Farebrother
b562bdd14f
Simplify the python script
2021-07-15 10:49:12 +01:00
Joe Farebrother
f35320e85b
Add explanatory comments + minor fixes
2021-07-15 10:49:12 +01:00
Joe Farebrother
cce6217e17
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-15 10:49:12 +01:00
Joe Farebrother
471c140d2c
Fix incorrect comment
2021-07-15 10:49:12 +01:00
Joe Farebrother
cffaa8d9a0
Improve the stubbing query to handle more language constructs correctly
2021-07-15 10:49:12 +01:00
Joe Farebrother
40bb19e4f1
Add Java stubbing script
2021-07-15 10:49:12 +01:00
Joe Farebrother
e7e432d7fd
Fix incorrect row
2021-07-15 10:39:05 +01:00
Joe Farebrother
f3ab295f0f
Fix up tests
2021-07-15 10:34:21 +01:00
Joe Farebrother
bbc4d4855c
Move tests
2021-07-15 10:34:18 +01:00
Joe Farebrother
51045a83c2
Add change note
2021-07-15 10:33:33 +01:00
Joe Farebrother
df74a142dd
Update for collection flow and add more tests
2021-07-15 10:33:33 +01:00
Joe Farebrother
8f89d748fe
Add spring tests
2021-07-15 10:33:33 +01:00
Joe Farebrother
4be7e94dcc
Add more spring stubs
2021-07-15 10:33:30 +01:00
Joe Farebrother
c1555b36a1
Add additional HTTP flow steps
2021-07-15 10:32:13 +01:00
Joe Farebrother
9b6213dbf0
Convert existing spring http steps to csv
2021-07-15 10:32:10 +01:00
Erik Krogh Kristensen
5ff7d208b7
add taint step through arrify
2021-07-15 11:24:50 +02:00
Erik Krogh Kristensen
e64f29fe8f
add support for Array.prototype.find and polyfills
2021-07-15 11:16:06 +02:00
Erik Krogh Kristensen
f6f63e2811
add model for the array-from polyfill
2021-07-15 10:51:55 +02:00
Anders Schack-Mulligen
d34e748c83
Merge pull request #6290 from aschackmull/java/query-metadata3
...
Java: Add metadata.
2021-07-15 09:59:45 +02:00
Erik Krogh Kristensen
383b5f2ff2
implement RegExpSubPattern.getOperand in the Python regexp implementation
2021-07-15 09:41:53 +02:00
Anders Schack-Mulligen
60b3dbd217
Java: Add metadata.
2021-07-15 09:16:56 +02:00
Anders Schack-Mulligen
bf0877c5cb
Merge pull request #6289 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-15 09:15:51 +02:00
Anders Schack-Mulligen
e18a20fedb
Merge pull request #6285 from smowton/smowton/feature/spring-jdbc-object
...
Add models for org.springframework.jdbc.object
2021-07-15 09:06:56 +02:00
Robert Marsh
4d8e882214
Merge pull request #6186 from geoffw0/formatarg
...
C++: Fix FPs from cpp/wrong-type-format-argument
2021-07-14 17:20:46 -07:00
github-actions[bot]
d6186e8d0f
Add changed framework coverage reports
2021-07-15 00:06:37 +00:00
Erik Krogh Kristensen
de8f64c5be
sync with python
2021-07-14 23:40:06 +02:00
Erik Krogh Kristensen
80d784e37a
add a step over empty lookaheads/lookbehinds
2021-07-14 23:40:04 +02:00
mr-sherman
04940a1105
Create 2021-07-14-service-stack-support.md
2021-07-14 15:54:28 -04:00
Erik Krogh Kristensen
22dfe84ee8
add xss sink for react-tooltip
2021-07-14 20:03:50 +02:00
Erik Krogh Kristensen
14b26f2a68
add mkdirp as a sink for tainted-path
2021-07-14 19:32:22 +02:00
Chris Smowton
f2b232f276
Add change note
2021-07-14 17:39:58 +01:00
Chris Smowton
0b2750828e
Add models for org.springframework.jdbc.object
...
Also add tests for the existing Spring JDBC SQL injection sinks in the process
2021-07-14 17:25:00 +01:00
Taus
fb57c5f6f0
Merge pull request #6143 from RasmusWL/concepts-private-import-python
...
Python: Make `import python` private in Concepts.qll
2021-07-14 17:49:06 +02:00
Taus
5c5ee85332
Merge pull request #6122 from RasmusWL/mention-mysqlclient
...
Python: Mention modeling of `mysqlclient` PyPI package
2021-07-14 17:48:40 +02:00
Taus
30d61045d2
Python: Mention nameIndicatesSensitiveData
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-14 17:33:39 +02:00
Erik Krogh Kristensen
f462c9bb76
add taint through the parseqs library
2021-07-14 17:22:35 +02:00
Erik Krogh Kristensen
bec1818fc7
add taint through the normalize-url library
2021-07-14 17:15:14 +02:00
Erik Krogh Kristensen
86de10e6a1
simplify some implementations in UriLibraries.qll
2021-07-14 17:01:40 +02:00
Erik Krogh Kristensen
193ddfc771
add taint through the qs library
2021-07-14 16:56:51 +02:00
Aditya Sharad
e0a123cbd0
Merge pull request #6257 from github/rneatherway/summary-docs
...
Add docs for summary type queries
2021-07-14 07:54:18 -07:00
Taus
5a9fca48e8
Python: Fix ExceptStmt::getType
...
We were not supporting `except` statements handling multiple exception
types (specified as a tuple) correctly, instead just returning the
tuple itself as the "type" (which makes little sense).
To fix this, we explicitly extract the elements of this node, in the
case where it _is_ a tuple.
This is a change that can potentially affect many queries (as `getType`
is used in quite a few places), so some care should be taken to
ensure that this does not adversely affect performance.
2021-07-14 14:03:49 +00:00
Taus
ec9063b4a5
Python: Add test case for github/codeql#6227
2021-07-14 13:52:32 +00:00
Taus
2bb44d49d9
Python: Perform more deduplication
...
This cut the evaluation time on `django` down from 1.2 seconds to ~0.8
seconds (but the impact will likely be greater on bigger projects).
2021-07-14 13:38:05 +00:00
Anders Schack-Mulligen
a0481bda91
Merge pull request #6282 from aschackmull/java/query-metadata2
...
Java: Add missing metadata.
2021-07-14 15:17:27 +02:00
edvraa
fd4d8e2595
Use HasFlow instead HasFlowPath
2021-07-14 16:06:34 +03:00
Anders Schack-Mulligen
11fc23ba09
Merge pull request #6030 from smowton/smowton/admin/test-generator
...
Add test-generator script + add generated models for Spring summary steps
2021-07-14 14:44:07 +02:00
Anders Schack-Mulligen
9034b03c7b
Java: Add missing metadata.
2021-07-14 14:40:50 +02:00
Anders Schack-Mulligen
3a3398508c
Merge pull request #5895 from github/sauyon/java/spring
...
Add models for some Spring pseudo-collections
2021-07-14 14:40:24 +02:00
Sauyon Lee
d7bfc2eebf
Remove redundant model lines
2021-07-14 05:05:17 -07:00
Sauyon Lee
671243c15d
Add change note
2021-07-14 05:05:17 -07:00
Sauyon Lee
1f97ac88c8
Fix tests
2021-07-14 05:05:17 -07:00
Sauyon Lee
eaef1c146c
Add generated tests
2021-07-14 05:05:16 -07:00
Sauyon Lee
16931e5de8
Add necessary stubs for Spring
...
Co-Authored-By: smowton <smowton@github.com >
2021-07-14 04:57:56 -07:00
Sauyon Lee
fc7e062deb
Java: Add models for the Spring cache package
2021-07-14 04:57:56 -07:00
Sauyon Lee
d9fb09d132
Java: Add models for the Spring ui package.
2021-07-14 04:57:56 -07:00
Anders Schack-Mulligen
04244b3c45
Merge pull request #5974 from github/sauyon/java/spring-webmultipart
...
Model Spring `web.multipart`
2021-07-14 13:57:24 +02:00
Anders Schack-Mulligen
3c4cd15738
Merge pull request #5505 from joefarebrother/android-sql-convert
...
Java: Convert Android SQL-related flow steps to CSV format
2021-07-14 13:56:55 +02:00
Chris Smowton
e9390cb3eb
Remove superfluous conjunct
2021-07-14 12:42:28 +01:00
Tom Hvitved
42c06bfde4
Merge pull request #226 from github/hvitved/const-flow
...
Data flow through constants
2021-07-14 13:21:07 +02:00
Taus
09993406f1
Python: Add explanatory QLDoc comment
2021-07-14 10:42:07 +00:00
Mathias Vorreiter Pedersen
0b21caa9ae
Merge pull request #6280 from MathiasVP/restrict-call-context-relation
...
C++: Potentially improve performance of call-context calculation
2021-07-14 12:15:26 +02:00
Mathias Vorreiter Pedersen
1480ac7c1d
C++: Potentially improve performance by restricting the size of the call-context relation.
2021-07-14 11:23:56 +02:00
Robin Neatherway
c9e642fb06
Merge branch 'main' into rneatherway/summary-docs
2021-07-14 10:13:32 +01:00
Tom Hvitved
9463927409
Address review comments
2021-07-14 11:05:55 +02:00
Chris Smowton
3ae99b93ca
Merge pull request #6215 from aschackmull/java/fix-csv-subtype-interpretation
...
Java: Fix CSV subtype interpretation
2021-07-14 09:57:21 +01:00
Anders Schack-Mulligen
0ccb213ec5
Dataflow: Sync.
2021-07-14 10:36:09 +02:00
Anders Schack-Mulligen
dbe1ca928b
Dataflow: Simplify call context checks.
2021-07-14 10:36:09 +02:00
Anders Schack-Mulligen
c95e78546c
Dataflow: Refactor
2021-07-14 10:36:09 +02:00
Erik Krogh Kristensen
73491d88da
use the new .toUnicode method in the Angular2 model
2021-07-14 10:19:48 +02:00
CodeQL CI
f6f7020388
Merge pull request #6250 from erik-krogh/python-redos-unicode
...
Approved by RasmusWL
2021-07-14 01:09:26 -07:00
CodeQL CI
436168aa4f
Merge pull request #6267 from erik-krogh/read-pkg
...
Approved by asgerf
2021-07-14 01:01:33 -07:00
ihsinme
4d3666692b
Update cpp/ql/src/experimental/Security/CWE/CWE-758/UndefinedOrImplementationDefinedBehavior.ql
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-07-14 10:17:53 +03:00
Anders Schack-Mulligen
8dc1f28c68
Merge pull request #6272 from hvitved/dataflow/flow-summary-impl-cached
...
Data flow: Use cached predicates from DataFlowImplCommon in `FlowSummaryImpl.qll`
2021-07-14 09:12:23 +02:00
ihsinme
1e12ede9fa
Apply suggestions from code review
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-07-14 10:11:28 +03:00
Taus
c3789811c8
Python: Support import * in API graphs
2021-07-13 18:22:51 +00:00
Taus
8b6b4dde69
Python: Refactor built-ins logic
...
This will make it possible to reuse for names defined in `import *`.
2021-07-13 18:20:25 +00:00
${sleep,5}
51a6140258
Change variable name to correct sanitized input variable
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-13 14:04:06 -04:00
Taus
df8a6b984a
Python: Add import * tests
...
Moves the current test out of `test.py`, as otherwise any unknown global
(like, say, `sink`) would _also_ be considered to be something
potentially defined in `unknown`.
2021-07-13 17:46:59 +00:00
Geoffrey White
989633993b
C++: Increase the query precision.
2021-07-13 18:38:30 +01:00
Sauyon Lee
51211c0394
Add stubs
2021-07-13 10:29:02 -07:00
Sauyon Lee
c2c7fee8df
Fix tests
2021-07-13 10:29:02 -07:00
Sauyon Lee
b01e6d49fb
Add generated tests
2021-07-13 10:29:01 -07:00
Sauyon Lee
b807757863
Model Spring web.multipart
2021-07-13 10:29:01 -07:00
Geoffrey White
dd03828522
C++: Change note.
2021-07-13 18:08:34 +01:00
Robert Marsh
25dd29b24f
Merge pull request #6158 from MathiasVP/call-ctx-for-function-ptr-resolution
...
C++: Resolve function pointer calls using call contexts
2021-07-13 10:00:44 -07:00
Geoffrey White
652f903457
C++: Add simple dataflow to the query.
2021-07-13 17:48:48 +01:00
Geoffrey White
7500d75b5b
C++: Fix some easy FPs.
2021-07-13 17:36:41 +01:00
Geoffrey White
133953303b
C++: More test cases.
2021-07-13 17:32:08 +01:00
Chris Smowton
1044049e72
Simplify getInput
2021-07-13 16:36:26 +01:00
Arthur Baars
64a55ba6cf
Merge pull request #232 from github/regexp_test_order
...
Stabilise node ordering for regexp parsing test
2021-07-13 17:36:21 +02:00
Chris Smowton
98b85a481c
Improve inline-expectation style
2021-07-13 16:36:08 +01:00
Chris Smowton
a11021991a
Improve method documentation
2021-07-13 16:35:44 +01:00
Chris Smowton
b5492056d8
Remove superfluous parens
2021-07-13 16:35:22 +01:00
Nick Rolfe
1fe5162b67
Stabilise node ordering for regexp parsing test
2021-07-13 16:18:21 +01:00
Chris Smowton
97694bc9a1
Report error even if interpretElement resolves to a non-Callable Element
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-07-13 16:16:01 +01:00
CodeQL CI
f9b539e5b9
Merge pull request #6253 from asgerf/js/more-precise-capture-steps
...
Approved by erik-krogh
2021-07-13 07:42:07 -07:00
Erik Krogh Kristensen
086c9c8156
remove redundant getACall()
...
Co-authored-by: Asger F <asgerf@github.com >
2021-07-13 16:32:14 +02:00
Tom Hvitved
7e9d87055d
Data flow: Sync
2021-07-13 16:15:00 +02:00
Tom Hvitved
febebed15e
Data flow: Use cached predicates from DataFlowImplCommon in FlowSummaryImpl.qll
2021-07-13 16:15:00 +02:00
Anders Schack-Mulligen
9388983e41
Java: Add missing stub.
2021-07-13 15:26:37 +02:00
Anders Schack-Mulligen
0f6f020766
Java: Fix models.
2021-07-13 15:23:19 +02:00
Taus
6aec7f2c49
Merge pull request #6264 from RasmusWL/customization-files-for-path-problems
...
Python: Provide proper source/sink customization for most path queries
2021-07-13 15:09:33 +02:00
Artem Smotrakov
1b3516ab94
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-07-13 14:53:45 +02:00
CodeQL CI
48ec223727
Merge pull request #6212 from asgerf/js/typescript-4.3.5
...
Approved by esbena
2021-07-13 05:45:09 -07:00
CodeQL CI
9d59cba644
Merge pull request #6262 from erik-krogh/slash
...
Approved by asgerf
2021-07-13 05:44:55 -07:00
CodeQL CI
c87fe95d52
Merge pull request #6258 from erik-krogh/case
...
Approved by asgerf
2021-07-13 05:44:49 -07:00
CodeQL CI
b34f444c88
Merge pull request #6254 from erik-krogh/json2csv
...
Approved by asgerf
2021-07-13 05:44:36 -07:00
Rasmus Wriedt Larsen
6f8969a55e
Python: Add change-note
2021-07-13 14:39:44 +02:00
Rasmus Wriedt Larsen
9ed61e7663
Python: Port py/polynomial-redos to use proper source/sink customization
...
I noticed the configuration/customization files are in the `performance`
folder in JS, but I just kept them in place, since that seems correct to
me.
2021-07-13 14:39:44 +02:00
Erik Krogh Kristensen
e13d53f001
support pino logging calls on request objects
2021-07-13 14:32:50 +02:00
Taus
693a479bf6
Merge branch 'main' into python-add-typetrackingnode
2021-07-13 14:13:21 +02:00
Rasmus Wriedt Larsen
cea2f82be9
Python: Port py/path-injection to use proper source/sink customization
2021-07-13 14:09:02 +02:00
Erik Krogh Kristensen
cce15bed1d
add basic support for the pino library
2021-07-13 14:00:01 +02:00
Rasmus Wriedt Larsen
bf214ac3bb
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-07-13 13:41:26 +02:00
Tom Hvitved
cb1b227c87
Merge pull request #6270 from hvitved/csharp/standalone-nuget-restore
...
C#: Skip `dotnet restore` in standalone extraction when `nuget_restore: false` is set
2021-07-13 13:36:40 +02:00
Rasmus Wriedt Larsen
1a59c9b64a
Merge pull request #6204 from tausbn/python-ensmallen-localsourcenode
...
Python: Clean up `LocalSourceNode` charpred
2021-07-13 13:27:38 +02:00
Robin Neatherway
fc38960795
Split up metric information across the doc
2021-07-13 11:25:15 +01:00
Chris Smowton
78fe0f810a
Add models for decode/encodePointer methods
2021-07-13 11:10:46 +01:00
Mathias Vorreiter Pedersen
1ed027e0d1
Merge pull request #6266 from erik-krogh/mootools-doc
...
JS: add missing qldoc in MooTools.qll
2021-07-13 10:39:21 +02:00
Anders Schack-Mulligen
be96647f78
Merge pull request #6256 from hvitved/dataflow/summary-node-type-join-order
...
Data flow: Fix bad join-orders in `summaryNodeType`
2021-07-13 10:24:30 +02:00
Erik Krogh Kristensen
07bc5856db
add the cwd option from read-pkg as sink for path-injection
2021-07-12 23:43:15 +02:00
Erik Krogh Kristensen
cadbdcff0a
add missing qldoc in MooTools.qll
2021-07-12 23:20:51 +02:00
Robert Marsh
61ee4af66c
Merge pull request #6159 from MathiasVP/more-effective-barriers-in-bounded-predicate
...
C++: More effective barriers in the `bounded` predicate for CWE-190
2021-07-12 11:59:37 -07:00
Artem Smotrakov
09ae779b21
Removed fromSource() check in looksLikeResolveClassStep()
2021-07-12 19:56:51 +02:00
Mathias Vorreiter Pedersen
7da7ec60d9
C++: Inline predicates from 'Bounded.qll'.
2021-07-12 19:09:33 +02:00
Chris Smowton
2bd58d6ba7
Improve header comment
2021-07-12 18:09:23 +01:00
Chris Smowton
cc4401b453
Add models of JsonPointer, JsonMergeDiff and JsonPatchBuilder
2021-07-12 18:08:45 +01:00
Chris Smowton
539859497b
Add models of JsonMergePatch, JsonPatchBuilder and JsonPointer
2021-07-12 17:39:51 +01:00
Robin Neatherway
2c14c982d8
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-07-12 17:34:52 +01:00
Chris Smowton
6bf931392b
Add missing model of JsonObjectBuilder.remove
2021-07-12 17:13:39 +01:00
Taus
1decf23785
Python: Fix bad join order for sensitive data
...
Not the prettiest of solutions, but it does the job. Basically, we were
calculating (and re-calculating) the same big relation between strings
and regexes and then checking whether the latter matched the former.
This resulted in tuple counts like the following:
```
[2021-07-12 16:09:24] (12s) Tuple counts for SensitiveDataSources::SensitiveDataModeling::SensitiveVariableAssignment#class#ff#shared/4@7489c6:
4918074 ~0% {4} r1 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH Flow::NameNode::getId_dispred#ff CARTESIAN PRODUCT OUTPUT Lhs.0 'arg0', Lhs.1 'arg1', Rhs.0, Rhs.1 'arg3'
2654 ~0% {4} r2 = JOIN r1 WITH PRIMITIVE regexpMatch#bb ON Lhs.3 'arg3',Lhs.1 'arg1'
return r2
```
(The above being just the bit that handles `DefinitionNode` in
`SensitiveVariableAssignment`, and taking 12 seconds to evaluate.)
By applying a bit of manual inlining and magic, this becomes somewhat
more manageable:
```
[2021-07-12 15:59:44] (1s) Tuple counts for SensitiveDataSources::SensitiveDataModeling::sensitiveString#ff/2@8830e2:
27671 ~2% {3} r1 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveParameterName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
334012 ~2% {3} r2 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
361683 ~11% {3} r3 = r1 UNION r2
154644 ~0% {3} r4 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveFunctionName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
149198 ~1% {3} r5 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveStrConst#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
124257 ~5% {3} r6 = JOIN SensitiveDataHeuristics::HeuristicNames::maybeSensitiveRegexp#ff WITH SensitiveDataSources::SensitiveDataModeling::sensitiveAttributeName#f CARTESIAN PRODUCT OUTPUT Lhs.0 'classification', Lhs.1, Rhs.0
273455 ~21% {3} r7 = r5 UNION r6
428099 ~30% {3} r8 = r4 UNION r7
789782 ~78% {3} r9 = r3 UNION r8
1121 ~77% {3} r10 = JOIN r9 WITH PRIMITIVE regexpMatch#bb ON Lhs.2 'result',Lhs.1
1121 ~70% {2} r11 = SCAN r10 OUTPUT In.0 'classification', In.2 'result'
return r11
```
(The above being the total for all the sensitive names we care about,
taking only 1.2 seconds to evaluate.)
Incidentally, you may wonder why this has _fewer_ results than before.
The answer is control flow splitting -- every sensitively-named
`DefinitionNode` would have been matched in isolation previously. By
pre-matching on just the names of these, we can subsequently join
against those names that are known to be sensitive, which is a much
faster operation.
(We also get the benefit of deduplicating the strings that are matched,
before actually performing the match, so if, say, an attribute name and
a variable name are identical, then we'll only match them once.)
We also exclude all docstrings as relevant string constants, as these
presumably don't actually flow anywhere.
2021-07-12 16:10:49 +00:00
Mathias Vorreiter Pedersen
4fc60aedc6
C++: Relax the restrictions on when '%' is a barrier and accept test changes.
2021-07-12 17:39:12 +02:00
Mathias Vorreiter Pedersen
a6f1f8d3b6
C++: Add testcases demonstrating FPs from real code.
2021-07-12 17:39:12 +02:00
Mathias Vorreiter Pedersen
6a11aa7f2a
Merge pull request #6154 from MathiasVP/more-random-sources-in-uncontrolled-arithmetic
...
C++: Add more random sources in `cpp/uncontrolled-arithmetic`
2021-07-12 17:37:44 +02:00
Robin Neatherway
5d849a9f9d
Add docs for summary type queries
2021-07-12 16:26:21 +01:00
Mathias Vorreiter Pedersen
768b3c84c9
C++: Fix a bug that slipped into fd477383b0.
2021-07-12 17:13:21 +02:00
Erik Krogh Kristensen
899e54fbc9
add support for the slash library
2021-07-12 16:36:54 +02:00
Max Schaefer
ce24215dd5
JavaScript: Improve modelling of Module.prototype._compile sink.
2021-07-12 15:32:21 +01:00
Max Schaefer
70c82c83ac
JavaScript: Make ModuleVarNode and ExportsVarNode more easily accessible.
2021-07-12 15:31:40 +01:00
Taus
a73e382dfe
Python: Prevent bad join in hashlib model
...
I'm not entirely sure what triggered this bad join order, but some
combination of the use of abstract classes and the exclusion of `new`
caused this to go really wrong:
```
WeakSensitiveDataHashing.ql-15:Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff ......... 15.5s
```
with the following tuple counts:
```
[2021-07-12 13:20:15] (16s) Tuple counts for Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff/4@217901:
148810 ~3% {3} r1 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArg_dispred#fff ON FIRST 1 OUTPUT "hashlib", Lhs.1 'node', Lhs.0 'this'
148810 ~4% {3} r2 = JOIN r1 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'node', Lhs.2 'this'
7589310 ~486% {4} r3 = JOIN r2 WITH ApiGraphs::API::Impl::edge#2#fff@staged_ext ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.2 'this', Rhs.1, InverseAppend("getMember(\"","\")",Rhs.1)
6994070 ~490% {4} r4 = SELECT r3 ON In.3 != "new"
6994070 ~4503% {2} r5 = SCAN r4 OUTPUT In.1 'this', In.0 'node'
22 ~4% {3} r6 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArgByName_dispred#fff ON FIRST 1 OUTPUT "hashlib", Lhs.1 'node', Lhs.0 'this'
22 ~0% {3} r7 = JOIN r6 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'node', Lhs.2 'this'
1122 ~437% {4} r8 = JOIN r7 WITH ApiGraphs::API::Impl::edge#2#fff@staged_ext ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.2 'this', Rhs.1, InverseAppend("getMember(\"","\")",Rhs.1)
1034 ~460% {4} r9 = SELECT r8 ON In.3 != "new"
1034 ~4549% {2} r10 = SCAN r9 OUTPUT In.1 'this', In.0 'node'
6995104 ~4503% {2} r11 = r5 UNION r10
5213851 ~4683% {3} r12 = JOIN r11 WITH ApiGraphs::API::Node::getACall_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'hashClass', Lhs.1 'node', Lhs.0 'this'
6478480 ~4646% {6} r13 = JOIN r12 WITH ApiGraphs::API::Impl::edge#2#fff_201#join_rhs ON FIRST 1 OUTPUT "hashlib", Rhs.1, Lhs.1 'node', Lhs.2 'this', Lhs.0 'hashClass', Rhs.2
1410 ~4693% {5} r14 = JOIN r13 WITH ApiGraphs::API::Impl::MkModuleImport#ff@staged_ext ON FIRST 2 OUTPUT Lhs.2 'node', Lhs.3 'this', Lhs.4 'hashClass', Lhs.5, InverseAppend("getMember(\"","\")",Lhs.5)
1222 ~4540% {5} r15 = SELECT r14 ON In.4 'hashName' != "new"
1222 ~4540% {4} r16 = SCAN r15 OUTPUT In.1 'this', In.4 'hashName', In.2 'hashClass', In.0 'node'
```
By factoring out the insides, the biggest iteration now looks like
```
[2021-07-12 14:17:36] (0s) Tuple counts for Stdlib::Stdlib::HashlibDataPassedToHashClass#class#ffff/4@85bb21:
148810 ~0% {2} r1 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArg_dispred#fff ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.0 'this'
148810 ~0% {2} r2 = JOIN r1 WITH Stdlib::Stdlib::hashlibMember#ff#nonempty CARTESIAN PRODUCT OUTPUT Lhs.1 'this', Lhs.0 'node'
22 ~0% {2} r3 = JOIN DataFlowPublic::CallCfgNode#class#ff#shared WITH project#DataFlowPublic::CallCfgNode::getArgByName_dispred#fff ON FIRST 1 OUTPUT Lhs.1 'node', Lhs.0 'this'
22 ~0% {2} r4 = JOIN r3 WITH Stdlib::Stdlib::hashlibMember#ff#nonempty CARTESIAN PRODUCT OUTPUT Lhs.1 'this', Lhs.0 'node'
148832 ~0% {2} r5 = r2 UNION r4
110933 ~2% {3} r6 = JOIN r5 WITH ApiGraphs::API::Node::getACall_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1 'hashClass', Lhs.1 'node', Lhs.0 'this'
26 ~0% {4} r7 = JOIN r6 WITH Stdlib::Stdlib::hashlibMember#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.2 'this', Rhs.1 'hashName', Lhs.0 'hashClass', Lhs.1 'node'
return r7
```
(The tuple counts themselves are not directly comparable.)
2021-07-12 14:22:21 +00:00
Rasmus Wriedt Larsen
47f5c977cf
Python: Port py/stack-trace-exposure to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
934007c811
Python: Port py/unsafe-deserialization to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
7c71223f7f
Python: Port py/url-redirection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
b4c0b1b525
Python: Port py/reflective-xss to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
62e4445f45
Python: Port py/command-line-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
7f53781ba7
Python: Port py/code-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Rasmus Wriedt Larsen
0be280c608
Python: Port py/sql-injection to use proper source/sink customization
2021-07-12 16:22:10 +02:00
Tom Hvitved
6ba6d9931c
C#: Skip dotnet restore in standalone extraction when nuget_restore: false is set
2021-07-12 15:16:16 +02:00
Mathias Vorreiter Pedersen
be06230b43
Merge branch 'main' into path-sensitive-stack-variable-reachability-analysis
2021-07-12 14:46:44 +02:00
Asger F
d8927e5612
Apply suggestions from code review
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-07-12 14:23:58 +02:00
edvraa
a0942e0360
JsonConvert
2021-07-12 15:23:04 +03:00
Erik Krogh Kristensen
c4f5009917
make explicit calls to member predicates
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-07-12 14:22:08 +02:00
Erik Krogh Kristensen
d22ebadcf2
add support for many more case changing libraries
2021-07-12 14:09:34 +02:00
Mathias Vorreiter Pedersen
dec747f6f0
Merge branch 'main' into more-random-sources-in-uncontrolled-arithmetic
2021-07-12 13:48:48 +02:00
Erik Krogh Kristensen
a5d1325d3f
add support for the change-case library
2021-07-12 13:37:06 +02:00
Taus
1e79091120
Python: Fix typo
2021-07-12 11:33:52 +00:00
Mathias Vorreiter Pedersen
c47d680d65
Merge pull request #6168 from criemen/fix-warning
...
C++: Fix warning from compile-query.
2021-07-12 12:41:29 +02:00
edvraa
f4cb6c50c0
YamlDotNet
2021-07-12 13:25:50 +03:00
edvraa
1e4409f9ed
SharpSerializer
2021-07-12 13:22:20 +03:00
edvraa
c3ac3ca41c
FsPickler
2021-07-12 13:20:57 +03:00
Tom Hvitved
47d126e681
Data flow: Sync
2021-07-12 12:09:51 +02:00
Tom Hvitved
09daf86e33
Data flow: Fix bad join-orders in summaryNodeType
2021-07-12 12:09:06 +02:00
Taus
32062d83ad
Python: Make deprecation warning more prominent
2021-07-12 10:00:21 +00:00
Taus
200da983d9
Python: Add change note
2021-07-12 09:59:17 +00:00
Mathias Vorreiter Pedersen
04dcef5ec4
C++: Include ComplementExpr as a sanitizer.
2021-07-12 11:53:47 +02:00
Cornelius Riemenschneider
d34f7b941a
C++: Address code review.
2021-07-12 11:43:43 +02:00
Cornelius Riemenschneider
e821b8be99
C++: Fix warning from compile-query.
2021-07-12 11:43:43 +02:00
Mathias Vorreiter Pedersen
d2cc0d3925
C++: Fix annotations.
2021-07-12 11:30:43 +02:00
Erik Krogh Kristensen
bef7e61e76
add support for the fast-json-stringify library
2021-07-12 11:13:01 +02:00
Erik Krogh Kristensen
40aa970db3
add support for the strip-json-comments library
2021-07-12 11:08:50 +02:00
Erik Krogh Kristensen
23c3be6860
add support for the json-cycle library
2021-07-12 11:03:39 +02:00
Asger Feldthaus
5df961c4ed
JS: Add change note
2021-07-12 10:53:41 +02:00
Erik Krogh Kristensen
94cbc4b2c0
add step through the fclone library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
f99a33598f
add support for the safe-stable-stringify library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
d6300bced3
add support for the replicator library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
babf657d9d
add support for the teleport-javascript library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
9261b7f859
add support for the flatted library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
1792c9a611
add taint step through the prettyjson library
2021-07-12 10:51:43 +02:00
Erik Krogh Kristensen
0bfff1eb7e
add support for the json5 library
2021-07-12 10:51:42 +02:00
Erik Krogh Kristensen
cb3bd4901b
add taint step through the json2csv library
2021-07-12 10:51:42 +02:00
edvraa
1682e993bc
Merge with Main
2021-07-12 11:32:47 +03:00
Tom Hvitved
db4c8dfd3c
Merge pull request #6208 from hvitved/csharp/query-modules
...
C#: Add `Query` suffix to libraries that should only be imported by queries
2021-07-12 10:26:45 +02:00
Anders Schack-Mulligen
0e913a19aa
Merge pull request #6220 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-12 09:54:18 +02:00
github-actions[bot]
56419bc74b
Add changed framework coverage reports
2021-07-12 00:06:55 +00:00
edvraa
40e8a900de
Apply changes from code review
2021-07-12 02:08:23 +03:00
edvraa
6393dca22f
Apply changes from code review
2021-07-12 01:13:41 +03:00
edvraa
3de7b280e4
AuthCookie.qll moved to experimental
2021-07-12 01:13:40 +03:00
edvraa
02f0d81830
delete unused predicate
2021-07-12 01:13:40 +03:00
edvraa
3723f7f132
comments
2021-07-12 01:13:40 +03:00
edvraa
2c9d6827ad
comments
2021-07-12 01:13:40 +03:00
edvraa
74cb61a475
Autoformat
2021-07-12 01:13:40 +03:00
edvraa
65fb46af3d
fix help files
2021-07-12 01:13:40 +03:00
edvraa
d0e9a01edc
Rename files
2021-07-12 01:13:40 +03:00
edvraa
5c9a3d5ce7
Single Secure query
2021-07-12 01:13:39 +03:00
edvraa
07327984b0
Single HttpOnly query
2021-07-12 01:13:39 +03:00
edvraa
dea4d67ebd
Extract to predicate isCookieWithSensitiveName
2021-07-12 01:13:39 +03:00
edvraa
7e723e90f1
Remove redundant iResponse.getAppendMethod() = mc.getTarget(), it is already covered by higher level exists
2021-07-12 01:13:39 +03:00
edvraa
98261a63c5
typo accessibe -> accessible
2021-07-12 01:13:39 +03:00
edvraa
89c4102462
HttpOnly and Secure cookie queries
2021-07-12 01:13:39 +03:00
Erik Krogh Kristensen
440e4b9a92
enable unicode support in the Python ReDoS query
2021-07-11 21:28:40 +02:00
Artem Smotrakov
c98f1a479e
Better taint propagation in UnsafeTypeConfig
2021-07-09 10:24:15 +02:00
Artem Smotrakov
476843a278
Added comments for Jackson in UnsafeDeserialization.qll
2021-07-09 10:24:15 +02:00
Artem Smotrakov
e9731cd212
Minor improvements for Jackson in UnsafeDeserialization.qll
2021-07-09 10:24:15 +02:00
Artem Smotrakov
704cc77bb5
Added a change note for Jackson
2021-07-09 10:24:14 +02:00
Artem Smotrakov
24e4b68b9c
Removed getAnAccess() calls for Jackson
2021-07-09 10:24:14 +02:00
Artem Smotrakov
aefd21075b
Added tests for UnsafeDeserialization.ql and Jackson
2021-07-09 10:24:10 +02:00
Artem Smotrakov
ea0991c980
Added Jackson to UnsafeDeserialization.qhelp
2021-07-09 10:17:29 +02:00
Artem Smotrakov
97fca620fa
Cover attacker-controlled types for deserialization with Jackson
2021-07-09 10:16:04 +02:00
Artem Smotrakov
3eb2af1bc2
First draft of sinks for unsafe deserialization with Jackson
2021-07-09 10:16:01 +02:00
ihsinme
eedcb0171d
Add files via upload
2021-07-05 11:14:51 +03:00
ihsinme
b10bdf1475
Add files via upload
2021-07-05 11:13:05 +03:00
haby0
e8d0827916
Add tornado source
2021-07-05 10:42:15 +08:00
Tom Hvitved
4de4753c67
C#: Remove Query.qll top-level modules
2021-07-04 09:35:27 +02:00
Tom Hvitved
c812d4e4e8
C#: Add Query suffix to libraries that should only be imported by queries
2021-07-04 09:35:26 +02:00
Taus
a65d40e36f
Merge branch 'main' into python-add-typetrackingnode
2021-07-02 20:55:37 +02:00
Taus
55d822cc56
Python: Add TypeTrackingNode
...
Splits `ModuleVariableNode` away from `LocalSourceNode`, instead
creating a class `TypeTrackingNode` that encapsulates both of these.
This means we no longer have module variable nodes as part of
`LocalSourceNode` (which is good, since they have no "local" aspect to
them), and hence we can have `LocalSourceNode` inherit directly from
`ExprNode` (which makes the API a bit nicer).
Unfortunately these are breaking changes, so we can't actually fulfil
the above two desiderata until the `track` and `backtrack` methods on
`LocalSourceNode` have been fully deprecated. For this reason, we
preserve the present implementation of `LocalSourceNode`, and instead
lay the foundation for switching over in the future, by deprecating
`track` and `backtrack` on `LocalSourceNode`.
2021-07-02 18:00:33 +00:00
Geoffrey White
dc2cb9bd62
C++: Fix numbering.
2021-07-02 18:33:36 +01:00
Geoffrey White
bc3b347569
C++: Another test case to consider.
2021-07-02 18:32:46 +01:00
Geoffrey White
a53b161afb
C++: Move some variant tests to a case we definitely do want to flag the base case of.
2021-07-02 18:18:11 +01:00
Geoffrey White
c3cd1359d6
C++: Mark the cases we're not sure about.
2021-07-02 18:18:10 +01:00
Geoffrey White
cf8fa830a9
C++: Clarify the note about file descriptors.
2021-07-02 18:18:10 +01:00
Geoffrey White
d86a0ab7a5
C++: Add test cases involving file descriptor versions.
2021-07-02 18:17:59 +01:00
CodeQL CI
1d56748eed
Merge pull request #6200 from yoff/pythonJS-make-expbtlib-private
...
Approved by RasmusWL, esbena
2021-07-02 09:09:18 -07:00
Joe Farebrother
4d459f24d9
Fix up tests and update models
2021-07-02 14:46:33 +01:00
Joe Farebrother
fc017b7934
Use ArrayElement of in flow step specifications
2021-07-02 14:46:31 +01:00
Joe Farebrother
15415931ce
Use Argument ranges in CSV rows
2021-07-02 14:46:03 +01:00
Joe Farebrother
5325622813
Convert sql-related flow steps to CSV
2021-07-02 14:46:03 +01:00
Anders Schack-Mulligen
3c6604daa7
Java: Fix subtypes interpretation.
2021-07-02 14:43:56 +02:00
Anders Schack-Mulligen
6813a79423
Java: Add test for override of Map.put highlighting problem.
2021-07-02 14:41:59 +02:00
Anders Schack-Mulligen
55ebbc3e01
Java: Add signature to Map.put.
2021-07-02 14:41:32 +02:00
Geoffrey White
cfbfe924ef
C++: Replace cached with more efficient QL.
2021-07-02 13:03:46 +01:00
Tom Hvitved
23447e6d58
Reduce size of lookupMethodOrConst
2021-07-02 14:02:26 +02:00
Tom Hvitved
bf696df788
Data flow through constants
2021-07-02 14:02:26 +02:00
Tom Hvitved
3b6e5881c8
Update constants.rb test
2021-07-02 14:02:26 +02:00
Arthur Baars
0eae89a41b
Merge pull request #228 from github/qhelp
...
QHelp preview
2021-07-02 14:00:51 +02:00
CodeQL CI
a25933aa56
Merge pull request #5926 from RasmusWL/small-cleanups
...
Approved by tausbn
2021-07-02 04:59:54 -07:00
Arthur Baars
5afd3c7846
Merge pull request #213 from github/aibaars/api-graphs2
...
First version of ApiGraphs
2021-07-02 13:58:00 +02:00
Arthur Baars
48ad0aa1ee
Escape file paths
2021-07-02 13:51:22 +02:00
Asger Feldthaus
457ce14ca6
JS: Summarize steps into captured variables
2021-07-02 13:42:42 +02:00
Rasmus Wriedt Larsen
3c8c2d1da1
Merge pull request #6209 from yoff/python-add-redos-queryhelp
...
Python: port redos .qhelp from js
2021-07-02 13:42:39 +02:00
Arthur Baars
b2ba8e664c
Handle .inc.qhelp files
2021-07-02 13:32:43 +02:00
Asger Feldthaus
093ff41170
JS: Update tests
2021-07-02 13:31:17 +02:00
haby0
b866f1b21e
Add CWE-348 ClientSuppliedIpUsedInSecurityCheck
2021-07-02 19:30:33 +08:00
Rasmus Wriedt Larsen
81fab487a4
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-07-02 13:27:41 +02:00
Rasmus Wriedt Larsen
22c155687e
Python: Fix code after removing getPostUpdateNode
2021-07-02 13:25:25 +02:00
Rasmus Wriedt Larsen
7a6eee50ff
Revert "Python: Add getPostUpdateNode to DataFlow::Node"
...
This reverts commit 9137f04bd3 .
2021-07-02 13:23:02 +02:00
Rasmus Wriedt Larsen
e56dfe75bd
Python: AttrRef getOjbect/1 -> accesses/2
...
See this thread for discussion:
https://github.com/github/codeql/pull/5926#discussion_r635384981
2021-07-02 13:21:12 +02:00
Asger Feldthaus
ff49aaa684
JS: Do not capture own variables
2021-07-02 13:17:32 +02:00
Asger Feldthaus
8befb03cb9
JS: Add test case with spurious call/return flow
2021-07-02 13:17:32 +02:00
Arthur Baars
20570eb1d1
QHelp preview
2021-07-02 13:10:51 +02:00
Asger Feldthaus
a2b913119d
JS: Change note
2021-07-02 12:47:55 +02:00
Asger Feldthaus
ee608540c5
JS: Add support for createNamespacedHelpers
2021-07-02 12:47:55 +02:00
Asger Feldthaus
dd1e21c713
JS: Model vuex
2021-07-02 12:47:55 +02:00
Asger Feldthaus
fefe30a9fa
JS: Add API graph edges for indirect propref members
2021-07-02 12:47:54 +02:00
Asger Feldthaus
2a3bc0f110
JS: Add spread step when bactracking in API graphs
2021-07-02 12:47:54 +02:00
Asger Feldthaus
9f2897b179
JS: Make VueRouterFlowSource a subclass of ClientSideRemoteFlowSource
2021-07-02 12:47:54 +02:00
CodeQL CI
38f763dd6a
Merge pull request #6192 from asgerf/js/string-literals-as-source-nodes
...
Approved by esbena
2021-07-02 03:47:20 -07:00
Rasmus Lerchedahl Petersen
6f2642607e
Python: make the import of RedosUtil public
...
This mirrors `SuperlinearBacktracking.qll`
An alternative is to keep it private and import it again
in the query files.
2021-07-02 12:32:04 +02:00
Chris Smowton
6823855e9c
Merge pull request #6203 from smowton/smowton/admin/avoid-config-imports-from-qlls
...
Java: Reduce DataFlow Configuration pollution from Random.qll and JexlInjection.qll
2021-07-02 11:27:27 +01:00
Chris Smowton
ca1bf7791e
Merge pull request #6210 from tamasvajk/fix/large-coverage-comment
...
Fix markdown link in framework coverage PR comment
2021-07-02 11:27:17 +01:00
Rasmus Lerchedahl Petersen
77c329fb0f
Python/JS: Make much more private
2021-07-02 12:13:52 +02:00
Tamás Vajk
4a5fe75d8c
Merge pull request #6207 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-07-02 12:00:31 +02:00
Asger Feldthaus
c3b7d85341
JS: Update test output after rebasing
2021-07-02 11:57:45 +02:00
Tamas Vajk
f3f069fed5
Fix markdown link in framework coverage PR comment
2021-07-02 11:56:00 +02:00
Asger Feldthaus
7249d2892a
JS: Add comment to VueTemplateSink class
2021-07-02 11:55:56 +02:00
Asger Feldthaus
0105b829c4
JS: Update test output
2021-07-02 11:55:56 +02:00
Asger Feldthaus
6d9b96f6e8
JS: Dont use getALocalSource() when marking Vue template sinks
2021-07-02 11:55:56 +02:00
Asger Feldthaus
472b41f5e1
JS: Update React to handle string literals being SourceNodes
2021-07-02 11:55:56 +02:00
Asger Feldthaus
39c204ac39
JS: Treat string literals as source nodes
2021-07-02 11:55:56 +02:00
Rasmus Lerchedahl Petersen
1fc9638486
Python: port redos .qhelp from js
2021-07-02 11:36:46 +02:00
Tom Hvitved
703e9e726d
Merge pull request #225 from github/hvitved/private-methods
...
Model private methods and "main objects"
2021-07-02 11:02:41 +02:00
Chris Smowton
a51154a8ef
Deduplicate Jexl configuration
2021-07-02 10:02:28 +01:00
Chris Smowton
d022c57903
Add change note
2021-07-02 10:02:28 +01:00
Chris Smowton
bbd3ecb768
Add docs to RandomQuery.qll
2021-07-02 10:02:28 +01:00
Chris Smowton
e661fc08d3
Split Android XSS sink defintions out of XSS.qll
...
This removes one of the routes by which XSS.qll is always in scope, and so its dataflow configuration is too -- however it is still always in scope because JaxWS.qll imports it.
2021-07-02 10:02:25 +01:00
Chris Smowton
747a8e4157
Split up JexlInjection.qll
...
This avoids a DataFlow2::Configuration being in scope for all queries via the import from ExternalFlow.qll
2021-07-02 10:01:51 +01:00
Chris Smowton
643f7dfb87
Split up Random.qll
...
This prevents bringing a dataflow config into scope from utility libraries.
2021-07-02 10:00:49 +01:00
Asger Feldthaus
8177b5747a
JS: Bump TypeScript version to 4.3.5
2021-07-02 10:57:27 +02:00
Anders Schack-Mulligen
80124df78e
Merge pull request #5487 from joefarebrother/sql-sinks
...
Java: Convert SQL sinks to CSV format
2021-07-02 10:51:09 +02:00
Tom Hvitved
330b33638e
Address review comments
2021-07-02 10:41:10 +02:00
Tom Hvitved
52529d590b
Model private methods and "main objects"
2021-07-02 10:41:06 +02:00
Tom Hvitved
9de4ed4d4d
Add tests for private methods
2021-07-02 10:39:49 +02:00
CodeQL CI
61ee193dc0
Merge pull request #6197 from asgerf/js/recompose
...
Approved by esbena
2021-07-02 00:58:06 -07:00
Esben Sparre Andreasen
0cf9c95981
Merge pull request #6193 from esbena/esbena/mootools-xss
...
JS: add Mootools XSS sinks
2021-07-02 09:24:56 +02:00
Anders Schack-Mulligen
4e1155cfd2
Merge pull request #6202 from smowton/smowton/admin/cleanup-duplicated-experimental-query
...
Deduplicate shared body of regular and experimental versions of `java/command-line-injection` query.
2021-07-02 09:23:50 +02:00
Anders Schack-Mulligen
f9da044e54
Merge pull request #6185 from aschackmull/java/perf-fix-request-forgery
...
Java: Fix bad magic.
2021-07-02 09:07:07 +02:00
github-actions[bot]
55aff21587
Add changed framework coverage reports
2021-07-02 00:09:02 +00:00
Taus
a9c1d3ba86
Python: Clean up LocalSourceNode charpred
...
This results in the same set of nodes, but is a bit more clear about
the reasons why. For instance, `ModuleVariableNode`s are included
directly, and not in a roundabout way by virtue of not having flow to
them. This should hopefully be a bit more robust as well.
2021-07-01 19:12:18 +00:00
Geoffrey White
41a540e4e0
C++: Make isMicrosoft() faster.
2021-07-01 17:42:02 +01:00
Tom Hvitved
8de1eedb41
Merge pull request #227 from github/hvitved/expose-call-graph
2021-07-01 18:29:14 +02:00
Taus
f151338def
Merge pull request #6198 from RasmusWL/fix-cleartext-logging
...
Python: Some minor fixes to `py/clear-text-logging-sensitive-data`
2021-07-01 18:28:25 +02:00
jorgectf
3d2b6f7a2d
Delete outdated comment
2021-07-01 17:54:46 +02:00
jorgectf
7fb44470ee
Add .expected results
2021-07-01 17:53:04 +02:00
jorgectf
a1f48db60b
Make verifiesSignature() a predicate
2021-07-01 17:51:56 +02:00
jorgectf
4079e5352e
Add JWT framework to Frameworks.qll
2021-07-01 17:51:34 +02:00
jorgectf
07422a1dce
Move tests under test/
2021-07-01 17:51:00 +02:00
Chris Smowton
8b7db8a8cc
Merge pull request #5408 from p0wn4j/urlclassloader-webclient-ssrf-sinks
...
Java: Add URLClassLoader, WebClient SSRF sinks
2021-07-01 16:14:22 +01:00
Tamás Vajk
05842dcdb3
Merge pull request #6181 from tamasvajk/feature/test-options-files
...
C#: Start using 'options' files in tests
2021-07-01 17:03:27 +02:00
Taus
336c0662ef
Python: Remove pointless LocalSourceNodes
...
This gets rid of a large number of nodes that seemingly have no impact.
2021-07-01 15:02:31 +00:00
Tom Hvitved
c3cff3e113
Expose call graph through Call::getATarget()
2021-07-01 16:40:45 +02:00
Joe Farebrother
1e82c607ef
Mark failing tests as missing
2021-07-01 15:29:47 +01:00
Tamas Vajk
5e2770339f
Add adjusted expected files
2021-07-01 16:09:11 +02:00
Tamas Vajk
03d1a3e0ad
Trim test files + remove duplicate newlines
2021-07-01 16:09:11 +02:00
Tamas Vajk
4900ecfabe
Manual fixes
2021-07-01 16:09:11 +02:00
Tamas Vajk
c29d11087b
C#: Start using 'options' files in tests
2021-07-01 16:08:47 +02:00
Chris Smowton
e0a7f6e14f
Fix URLClassLoader test
2021-07-01 15:03:38 +01:00
Chris Smowton
d5a9f3d87b
Deduplicate shared body of regular and experimental versions of java/command-line-injection query.
2021-07-01 14:53:56 +01:00
Joe Farebrother
160f3b4312
Remove ArrayElement from sink specifications
2021-07-01 14:41:39 +01:00
Joe Farebrother
4bea33402c
Rename test labels for more clarity
2021-07-01 14:38:20 +01:00
Joe Farebrother
1a06c132be
Use ArrayElement of to handle arargs case in SpringJdbc.qll
2021-07-01 14:38:20 +01:00
Joe Farebrother
29f82fc81f
Use ArrayElementOf in Android sinks
2021-07-01 14:38:19 +01:00
Joe Farebrother
f4a59cc2e3
Convert tainted arrays to arrays of tainted elements in tests
2021-07-01 14:38:19 +01:00
Joe Farebrother
865477d020
Convert android tests to inline expectations
2021-07-01 14:38:19 +01:00
Joe Farebrother
95d8018a43
Include overrides for SQLiteQueryBuilder sinks
2021-07-01 14:38:19 +01:00
Joe Farebrother
0d4f8aedb8
Use Argument ranges in CSV rows
2021-07-01 14:38:19 +01:00
Joe Farebrother
7926d16844
Convert SQL sinks to CSV format
2021-07-01 14:38:19 +01:00
Rasmus Lerchedahl Petersen
eee56e0156
Python/JS: Make most of the new library private
2021-07-01 15:34:06 +02:00
Chris Smowton
44e8dd9ec5
Add change note
2021-07-01 13:36:00 +01:00
Anders Schack-Mulligen
cda5c22f6e
Merge pull request #5590 from github/sauyon/java-spring-errors
...
Add models for Spring validation.Errors
2021-07-01 14:29:49 +02:00
Asger Feldthaus
993cc29275
JS: Autoformat
2021-07-01 14:22:44 +02:00
Anders Schack-Mulligen
37f8794d01
Merge pull request #6165 from edoardopirovano/fix-regression
...
Performance: Improve join order in data flow library
2021-07-01 14:13:18 +02:00
Rasmus Wriedt Larsen
b0309dd321
Python: Limit SensitiveDataSources to prevent _some_ cross-talk
2021-07-01 12:08:12 +02:00
Rasmus Wriedt Larsen
f64e58a21c
Python: Fix a QLDoc for SensitiveDataSources
2021-07-01 12:05:59 +02:00
Rasmus Wriedt Larsen
d7e3ebb15c
Python: Add tests showing sensitive data cross-talk
2021-07-01 12:05:51 +02:00
Esben Sparre Andreasen
85b9003af4
JS: add Mootools XSS sinks
2021-07-01 09:17:27 +02:00
ihsinme
02bf800b6d
Update FindIncorrectlyUsedSwitch.ql
2021-07-01 08:50:46 +03:00
yo-h
d325d2ae81
Merge pull request #6180 from tamasvajk/fix/coverage-report-search-path
...
Upgrade database in coverage report jobs
2021-06-30 21:00:09 -04:00
p0wn4j
0db7496617
Add URLClassLoader and Spring WebClient SSRF sinks
2021-07-01 03:34:14 +04:00
Rasmus Wriedt Larsen
d9e2f504f8
Python: Fix clear text logging sink
...
No need to restrict it to arguments that are calls
2021-06-30 20:31:17 +02:00
Nick Rolfe
d99b5510e5
Merge pull request #219 from github/regex
...
Add regexp parser and exponential ReDoS query
2021-06-30 17:23:29 +01:00
Alex Ford
7cc6b3a7b0
Merge pull request #224 from github/sqli-override-fp
...
rb/sql-injection: fix FPs stemming from not accounting for overridden methods
2021-06-30 17:20:14 +01:00
Taus
e4af14638b
Merge pull request #6175 from yoff/python-port-ReDoS
...
Python: port ReDoS queries from Javascript
2021-06-30 16:26:07 +02:00
Chris Smowton
753c878f48
Also cover jakarta version of javax.json, and some missed methods
2021-06-30 15:04:15 +01:00
yoff
6a77b890af
Merge pull request #6155 from RasmusWL/port-cleartext-queries
...
Python: Port cleartext queries
2021-06-30 15:52:34 +02:00
Taus
fc71a648c0
Merge pull request #6092 from RasmusWL/markupsafe-modeling
...
Python: Add `MarkupSafe` model
2021-06-30 15:52:10 +02:00
Anders Schack-Mulligen
d8b017e6c0
Merge pull request #6036 from atorralba/atorralba/spring-beans
...
Java: Flow summaries for Spring's Bean Properties classes
2021-06-30 15:41:24 +02:00
Anders Schack-Mulligen
b8b6f05603
Merge pull request #6187 from aschackmull/java/perf-fix-variable-getinit
...
Java: Fix bad join-order.
2021-06-30 15:39:00 +02:00
Rasmus Lerchedahl Petersen
a176e6ac30
Python: comment out temporarily unused predicate
2021-06-30 15:28:31 +02:00
Asger Feldthaus
376efaa46c
JS: Change note
2021-06-30 15:10:52 +02:00
Asger Feldthaus
780453008a
JS: Drive-by fixes in ComposedFunctions.qll
2021-06-30 15:07:59 +02:00
Asger Feldthaus
7e2871bfdf
JS: Propagate React components through recompose HOCs
2021-06-30 15:05:28 +02:00
Rasmus Lerchedahl Petersen
45e30b0c06
Python: comment out temporarily unused predicate
2021-06-30 15:04:37 +02:00
Rasmus Lerchedahl Petersen
c306cee04e
Python: mimic JS file hierarchy
2021-06-30 15:03:22 +02:00
Rasmus Lerchedahl Petersen
651f8abba0
Python: Avoid multiple results for toString
2021-06-30 14:39:49 +02:00
Rasmus Wriedt Larsen
c2708176b1
Python: Support %-style formatting for MarkupSafe
2021-06-30 14:15:41 +02:00
Rasmus Wriedt Larsen
0a4efd0e86
Python: Add %-style formatting tests for MarkupSafe
2021-06-30 14:13:59 +02:00
Rasmus Wriedt Larsen
c84658dff1
Python: Use MethodCallNode for MarkupSafe string-format
2021-06-30 13:58:09 +02:00
Rasmus Wriedt Larsen
d6e8fafdbd
Python: Proper sorting in Frameworks.qll
2021-06-30 13:55:26 +02:00
Rasmus Wriedt Larsen
075953860b
Merge branch 'main' into markupsafe-modeling
2021-06-30 13:55:08 +02:00
Anders Schack-Mulligen
f03d460e95
Java: Fix bad join-order.
2021-06-30 13:42:45 +02:00
Tamas Vajk
dc63f23d6b
Fix review findings
2021-06-30 13:40:36 +02:00
Tamas Vajk
6a35c8c5f4
Upgrade database in coverage report jobs
2021-06-30 13:40:36 +02:00
Chris Smowton
7f556de8a0
Resolve now-fixed spurious XSS results
2021-06-30 12:04:22 +01:00
Chris Smowton
c37ecb7102
Fix existing JaxRs tests
...
* Expose getContentTypeString for use by tests
* Use it to get constant arguments to @Produces annotations
* Note that text/html is xss-vulnerable (I have no idea how it ever came to expect exactly text/plain)
2021-06-30 12:04:21 +01:00
Chris Smowton
52471b292a
Add change note
2021-06-30 12:04:21 +01:00
Chris Smowton
856046ce50
Jax-RS: implement content-type tracking
...
This follows content-type specifications across Variant-related functions and the ResponseBuilder class in order to sanitize or sink entities as appropriate.
2021-06-30 12:04:21 +01:00
Chris Smowton
10714211c6
Add utility functions definining XSS-vulnerable content-types
2021-06-30 12:04:21 +01:00
Chris Smowton
450eebcd40
JaxWS: Pull out MediaType constant interpretation routine
...
Also extend the routine slightly to expose multiple content types given with array notation
2021-06-30 12:04:20 +01:00
Chris Smowton
3e7ea34054
XSS: expose extension point for defining barrier sinks
2021-06-30 12:04:20 +01:00
Tamás Vajk
10a6089739
Merge pull request #6148 from tamasvajk/feature/try-csv-source-models
...
C#: Start using CSV based flow models
2021-06-30 12:58:42 +02:00
Tony Torralba
a3e1b139c3
Fix spring stubs location
2021-06-30 12:56:45 +02:00
Tony Torralba
0bb9e464b2
Merge branch 'main' into atorralba/spring-beans
2021-06-30 12:55:10 +02:00
Rasmus Lerchedahl Petersen
72986e1e28
Python: Add some comments on the booelan sweep
...
pattern
2021-06-30 12:50:36 +02:00
Rasmus Lerchedahl Petersen
4ca0ee87f0
Merge branch 'main' of github.com:github/codeql into python-port-ReDoS
2021-06-30 12:28:54 +02:00
Rasmus Lerchedahl Petersen
52d91917aa
Merge branch 'python-port-ReDoS' of github.com:yoff/codeql into python-port-ReDoS
2021-06-30 12:25:59 +02:00
Rasmus Lerchedahl Petersen
09e71cfdfd
Python: update test expectations
2021-06-30 12:25:29 +02:00
Rasmus Lerchedahl Petersen
6dfbf80494
Python: Disable use of toUnicode
...
until supporting CLI is released
2021-06-30 12:21:52 +02:00
Rasmus Wriedt Larsen
e5d65992b4
Python: Use DefinitionNode instead of Assign
...
Based on https://github.com/github/codeql/pull/6155#discussion_r660964666 :
> Hmm... Would it be better to do this using DefinitionNode instead of
> Assign? The latter is fairly limited in what it can represent, and also
> raises questions of whether this definition is sound with regard to
> control-flow splitting.
2021-06-30 12:08:32 +02:00
yoff
c19522e921
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-30 11:49:45 +02:00
Tamas Vajk
0946ae2ae9
Fix review findings
2021-06-30 11:39:51 +02:00
Anders Schack-Mulligen
e235e151f1
Java: Fix bad magic.
2021-06-30 11:09:08 +02:00
Geoffrey White
4a8299e5d0
C++: Change note.
2021-06-30 09:21:10 +01:00
Tony Torralba
9d64cadb50
Adapt tests after applying changes from code review
2021-06-30 10:02:03 +02:00
Tony Torralba
b64b8ecec2
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-30 09:52:22 +02:00
Anders Schack-Mulligen
374859efb4
Merge pull request #6156 from smowton/smowton/feature/jax-rs-content-type-sensitivity
...
Jax RS XSS Tests
2021-06-30 09:52:07 +02:00
Tamás Vajk
a0e768bb43
Merge pull request #6172 from tamasvajk/fix/csv-comment-again
...
Fix CSV framework coverage commenter workflow
2021-06-30 09:10:47 +02:00
Tom Hvitved
22dd53f245
Merge pull request #6167 from hvitved/csharp/trap-stack-preprocessor-conditions
...
C#: Add active preprocessor conditions as suffix in all TRAP `.push` instructions
2021-06-30 08:34:47 +02:00
thank_you
0be2c6b765
Add SQLEscapySanitizerCall class
2021-06-29 19:39:46 -04:00
thank_you
986f2f4302
Add SQLEscape module
2021-06-29 19:39:26 -04:00
${sleep,5}
2a65917bb5
Merge pull request #1 from RasmusWL/python-use-sqlalchemy
...
Minor updates to SQL alchemy PR
2021-06-29 18:15:44 -04:00
jorgectf
e02a63a27a
Delete trivial *_good.py tests
2021-06-29 23:03:41 +02:00
Sauyon Lee
52d1901d6e
Adjust validation models to reflect array parameters
2021-06-29 12:01:24 -07:00
Sauyon Lee
52b24118b3
Add tests for Spring validation.Errors
2021-06-29 12:01:23 -07:00
Geoffrey White
dcc7a6360f
C++: Simplify a bit and remove two noopts that don't seem to make a difference.
2021-06-29 19:05:13 +01:00
Edoardo Pirovano
8354f66c29
Performance: Improve join order in data flow library
2021-06-29 18:23:22 +01:00
Geoffrey White
5bf7e453e6
C++: Tidy up WrongTypeFormatArguments.ql somewhat.
2021-06-29 16:45:47 +01:00
Geoffrey White
6e49891ed9
C++: Accept Microsoft/non-Microsoft format specifiers on the opposite platform.
2021-06-29 16:45:46 +01:00
Chris Smowton
bb5fefa47f
Sync FlowSummaryImpl.qll
2021-06-29 15:59:55 +01:00
Chris Smowton
47ccb19b84
SSV -> CSV everywhere
...
While these are semicolon-delimited, we use CSV as a generic term for delimited values
2021-06-29 15:59:43 +01:00
Chris Smowton
92ab650b7d
Use new interpretSpec/2 predicate where appropriate
2021-06-29 15:59:43 +01:00
Chris Smowton
28ab4c083b
Make interpretSpec/3 private again
2021-06-29 15:59:43 +01:00
Chris Smowton
c94c69415f
Document Content::hasLocationInfo
2021-06-29 15:59:43 +01:00
Chris Smowton
cf7c966ea7
GenerateFlowTestCase: make imports private
2021-06-29 15:59:43 +01:00
Chris Smowton
5a71812001
Adjust import
...
Type Content has moved into DataFlowUtil
2021-06-29 15:59:43 +01:00
Chris Smowton
95b640db20
Resolve missing qldoc errors
...
Document some, make some private, and delete the needless modules surrounding the spring models.
2021-06-29 15:59:43 +01:00
Chris Smowton
036733d3e7
Sync FlowSummaryImpl.qll
2021-06-29 15:59:43 +01:00
Chris Smowton
eda7bb6aa2
Fix: restrict generated test cases to requested rows
2021-06-29 15:59:14 +01:00
Chris Smowton
bd1bd8cf08
Switch to an abstract unit / predicate approach to specifying rows to generate tests for
...
This enables moving this code into the qll file, rather than having to specify a query predicate in the .ql
2021-06-29 15:59:14 +01:00
Chris Smowton
f3868887b8
Test case generator: rework to use a less-invasive ExternalFlow API
...
Some predicate/type names and docs are also improved
2021-06-29 15:59:14 +01:00
Chris Smowton
59725d635b
Test case generator: improve error reporting
...
We now distinguish cases where SSV rows are not in scope at all from those where they don't identify a known type or method, or where input or output specs could not be parsed.
2021-06-29 15:59:14 +01:00
Chris Smowton
dff9c717bc
Fix test case generation when no auxiliary support functions are required
2021-06-29 15:59:14 +01:00
Chris Smowton
c49d5253f0
Revise ExternalFlow and FlowSummaryImpl API used for test generation
2021-06-29 15:59:14 +01:00
Chris Smowton
b1af90991d
Add help text to GenerateFlowTestCase.py
2021-06-29 15:59:14 +01:00
Chris Smowton
5f1a491516
Fix test-generation when a type variable's bound is itself a type variable
...
For example, class G<A, B extends A>
2021-06-29 15:59:14 +01:00
Chris Smowton
e542e71cf5
Fix testing methods with 2-qualifier or deeper input specifications
...
For example, an identity function on lists-of-maps, which might convey MapValue of Element of Argument[0] to MapValue of Element of ReturnValue, requiring `newWithElement(newWithMapValue(source())` on the input side but `getMapValue(getElement(out))` on the output side.
2021-06-29 15:59:13 +01:00
Chris Smowton
0d8124bc95
Document test generator
2021-06-29 15:59:13 +01:00
Chris Smowton
617201930d
Always use source declarations (i.e, raw types) when naming types in tests
2021-06-29 15:59:13 +01:00
Chris Smowton
e8acfec070
Fix formatting of instance variables
2021-06-29 15:59:13 +01:00
Chris Smowton
e2cfc17bfe
Fix output of nested and generic type names, and disambiguate overloads where necessary
2021-06-29 15:59:11 +01:00
Chris Smowton
6d9661f412
Fix open-for-writing statement
2021-06-29 15:58:39 +01:00
Chris Smowton
d6edfd50da
Determine when a model row didn't produce any tests; fix the model specifications revealed defective by this feature.
2021-06-29 15:55:34 +01:00
Chris Smowton
6360e0b7c4
Add flow-through test case generator
2021-06-29 15:55:13 +01:00
Chris Smowton
6fee40cfde
Add flow-through test case generator
2021-06-29 15:55:13 +01:00
jorgectf
621a810b7b
Update .expected
2021-06-29 16:53:53 +02:00
jorgectf
9a8d1f8e0f
Take back non-trivial tests
2021-06-29 16:53:44 +02:00
jorgectf
0819090fcb
Fix qldocs typo
2021-06-29 16:53:32 +02:00
Chris Smowton
ba5dc3cdbc
Add models of the javax.json package
2021-06-29 15:21:01 +01:00
jorgectf
2f9e6454a5
Hardcode ldap2 binding functions
2021-06-29 16:14:55 +02:00
Rasmus Wriedt Larsen
94bcda3bae
Python: Highlight problem picking DataFlow::Node for Assign
2021-06-29 15:32:16 +02:00
Alex Ford
3f76075fe6
improve some rails framework tests
2021-06-29 13:56:28 +01:00
Alex Ford
31cbf818ab
fix rb/sql-injection FPs due to not accounting for overridden ActiveRecord methods
2021-06-29 13:54:15 +01:00
Sauyon Lee
b76f761e56
Import springvalidation in ExternalFlow.qll
2021-06-29 05:51:58 -07:00
Sauyon Lee
aa0fbce28e
Remove unnecessary code from stubs
2021-06-29 05:51:38 -07:00
Sauyon Lee
92f1c51653
fixup! Add models for Spring validation.Errors
...
Rename SpringErrors to SpringValidation
2021-06-29 05:51:36 -07:00
Sauyon Lee
534ab86900
Add models for Spring validation.Errors
2021-06-29 05:51:21 -07:00
Sauyon Lee
fe2b73ed72
Stub more of Spring
2021-06-29 05:51:19 -07:00
Chris Smowton
d4bb8a70c2
Merge pull request #5976 from github/sauyon/java/spring-util
...
Model Spring `util`
2021-06-29 13:50:12 +01:00
Anders Schack-Mulligen
ad8bef5177
Update java/ql/src/semmle/code/java/frameworks/spring/SpringUtil.qll
2021-06-29 14:08:48 +02:00
Chris Smowton
48d4493146
Fix test indentation
2021-06-29 12:42:20 +01:00
Chris Smowton
9551321592
Fix LinkedMultiValueMap models and make tests more realistic
2021-06-29 12:40:57 +01:00
Chris Smowton
60179ce8f0
Genericise MultiValueMaps; remove non-longer-needed casts
2021-06-29 12:32:22 +01:00
Chris Smowton
916c7c576d
Remove superfluous (Object) casts
2021-06-29 12:28:42 +01:00
Chris Smowton
71f6d59646
Genericise test util functions
2021-06-29 12:27:03 +01:00
Chris Smowton
60126b406f
Clean up test
...
Remove unused import; drop unused util methods and needless casts.
2021-06-29 12:20:47 +01:00
Chris Smowton
d6c4325c13
Import SpringUtil from ExternalFlow.qll
2021-06-29 12:18:30 +01:00
Anders Schack-Mulligen
1bd01a5eee
Update java/ql/test/library-tests/frameworks/spring/util/test.ql
2021-06-29 13:13:09 +02:00
Chris Smowton
3d270bbc50
Drop models for stringifying functions
...
Per default stringification isn't taint-propagating in Java
2021-06-29 12:01:08 +01:00
Chris Smowton
0441098b18
Amend models of MultiValueMap.addAll overloads
2021-06-29 11:58:46 +01:00
Chris Smowton
b202110285
Drop redundant model that can be inherited from java.util.Iterator
2021-06-29 11:47:22 +01:00
Chris Smowton
f67e9ae1cc
Drop tests for protected inner classes
2021-06-29 11:45:59 +01:00
Chris Smowton
5769f4718f
Add missing CollectionUtils model
2021-06-29 11:44:29 +01:00
Chris Smowton
659478cc39
Remove model for protected class
...
Can't be accessed outside the org.springframework.util package.
2021-06-29 11:40:19 +01:00
Chris Smowton
f7a4614f56
Add missing tests for AntPathMatcher's protected methods; fix models accordingly
2021-06-29 11:35:25 +01:00
Nick Rolfe
97ae9ed181
Add more qldoc comments from Python version
...
Co-authored-by: Alex Ford <alexrford@users.noreply.github.com >
2021-06-29 11:22:47 +01:00
Rasmus Lerchedahl Petersen
b684434a58
Merge branch 'main' of github.com:github/codeql into python-port-ReDoS
2021-06-29 11:45:21 +02:00
Rasmus Lerchedahl Petersen
e778a65464
Python: Adjust test expectations
...
so we can see the light go green.
But we should perhaps do something about those duplicate results.
2021-06-29 11:29:42 +02:00
Rasmus Lerchedahl Petersen
fbfe415162
Python: Limit test files
2021-06-29 11:18:24 +02:00
Rasmus Lerchedahl Petersen
6f2cdbf59e
Python: Give up on providing values for form feeds
2021-06-29 11:14:27 +02:00
Rasmus Wriedt Larsen
a5a7f3e38a
Python: Add taint-step for sqlalchemy.text
2021-06-29 11:06:25 +02:00
Rasmus Lerchedahl Petersen
ffb8938e52
Python: undo autoformat character mangling
2021-06-29 11:06:17 +02:00
Rasmus Wriedt Larsen
ef48734206
Python: Add taint-tests for SQLAlchemy
2021-06-29 11:03:40 +02:00
Rasmus Wriedt Larsen
cb112395f8
Python: Fixup after merging main
2021-06-29 11:02:43 +02:00
Rasmus Lerchedahl Petersen
135b71b649
Python: Apply performance fix by @hvitved
2021-06-29 11:01:33 +02:00
Rasmus Wriedt Larsen
684f51ae5f
Merge branch 'main' into python-use-sqlalchemy
2021-06-29 10:58:51 +02:00
Rasmus Wriedt Larsen
eac1c5d109
Python: Fix concepts-tests for SQLAlchemy
2021-06-29 10:58:28 +02:00
Chris Smowton
dec0123751
Autoformat
2021-06-29 09:52:24 +01:00
Tom Hvitved
125d435d62
C#: Address review comments
2021-06-29 10:50:45 +02:00
Anders Schack-Mulligen
89cea5cc1a
Merge pull request #6178 from github/yo-h/java-sealed-classes
...
Java: add `permits` relation to dbscheme (sealed classes)
2021-06-29 10:43:37 +02:00
Tom Hvitved
20f239fd0a
Improve performance of seqChild/4
...
Gets rid of the following bad join-order
```
[2021-06-29 09:40:44] (5s) Starting to evaluate predicate RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3/5@i2#fe59dz (iteration 2)
[2021-06-29 09:46:34] (354s) Tuple counts for RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3/5@i2#fe59dz:
222277 ~0% {5} r1 = SCAN RegExpTreeView::RegExpTerm#ffff#prev_delta OUTPUT In.1 're', In.2 'start', In.3, 0, In.0 'result'
207749 ~3% {4} r2 = JOIN r1 WITH ParseRegExp::RegExp::item_dispred#fff ON FIRST 3 OUTPUT Lhs.0 're', Lhs.1 'start', 0, Lhs.4 'result'
11636 ~2% {5} r3 = JOIN r2 WITH ParseRegExp::RegExp::sequence_dispred#fff ON FIRST 2 OUTPUT 0, Lhs.3 'result', Lhs.0 're', Lhs.1 'start', Rhs.2 'end'
222277 ~0% {4} r4 = SCAN RegExpTreeView::RegExpTerm#ffff#prev_delta OUTPUT In.1 're', In.2 'start', In.3, In.0 'result'
207749 ~0% {3} r5 = JOIN r4 WITH ParseRegExp::RegExp::item_dispred#fff ON FIRST 3 OUTPUT Lhs.1, Lhs.3 'result', Lhs.0 're'
902017671 ~2% {3} r6 = JOIN r5 WITH RegExpTreeView::RegExpTerm#ffff#reorder_3_0_1_2#prev ON FIRST 1 OUTPUT Lhs.2 're', Lhs.1 'result', Rhs.1
1193975963 ~2% {5} r7 = JOIN r6 WITH ParseRegExp::RegExp::sequence_dispred#fff ON FIRST 1 OUTPUT Lhs.0 're', Rhs.1, Rhs.2 'end', Lhs.2, Lhs.1 'result'
0 ~0% {6} r8 = JOIN r7 WITH RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3#prev ON FIRST 4 OUTPUT Lhs.4 'result', Lhs.0 're', Lhs.1 'start', Lhs.2 'end', Rhs.4 're', (1 + Rhs.4 're')
0 ~0% {6} r9 = SELECT r8 ON In.5 'i' > 0
0 ~0% {5} r10 = SCAN r9 OUTPUT In.5 'i', In.0 'result', In.1 're', In.2 'start', In.3 'end'
11636 ~2% {5} r11 = r3 UNION r10
222277 ~3% {2} r12 = SCAN RegExpTreeView::RegExpTerm#ffff#prev_delta OUTPUT In.3, In.0 'result'
961948702 ~4% {5} r13 = JOIN r12 WITH RegExpTreeView::RegExpTerm#ffff#reorder_2_1_0_3#prev ON FIRST 1 OUTPUT Rhs.1 're', Lhs.0, Rhs.3, Lhs.1, Rhs.2 'result'
902017671 ~0% {3} r14 = JOIN r13 WITH ParseRegExp::RegExp::item_dispred#fff ON FIRST 3 OUTPUT Lhs.0 're', Lhs.3, Lhs.4 'result'
1193975963 ~2% {5} r15 = JOIN r14 WITH ParseRegExp::RegExp::sequence_dispred#fff ON FIRST 1 OUTPUT Lhs.0 're', Rhs.1, Rhs.2 'end', Lhs.1, Lhs.2 'result'
0 ~0% {6} r16 = JOIN r15 WITH RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3#prev ON FIRST 4 OUTPUT Lhs.4 'result', Lhs.0 're', Lhs.1 'start', Lhs.2 'end', Rhs.4 're', (1 + Rhs.4 're')
0 ~0% {6} r17 = SELECT r16 ON In.5 'i' > 0
0 ~0% {5} r18 = SCAN r17 OUTPUT In.5 'i', In.0 'result', In.1 're', In.2 'start', In.3 'end'
0 ~0% {5} r19 = SCAN RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3#prev_delta OUTPUT In.0 're', In.1 'start', In.2 'end', In.4, In.3
0 ~0% {6} r20 = JOIN r19 WITH ParseRegExp::RegExp::sequence_dispred#fff ON FIRST 3 OUTPUT Lhs.0 're', Lhs.1 'start', Lhs.2 'end', Lhs.3, Lhs.4, (1 + Lhs.3)
0 ~0% {6} r21 = SELECT r20 ON In.5 'i' > 0
0 ~0% {5} r22 = SCAN r21 OUTPUT In.4, In.0 're', In.1 'start', In.2 'end', In.5 'i'
0 ~0% {5} r23 = JOIN r22 WITH RegExpTreeView::RegExpTerm#ffff#prev ON FIRST 1 OUTPUT Rhs.3, Lhs.1 're', Lhs.2 'start', Lhs.3 'end', Lhs.4 'i'
0 ~0% {7} r24 = JOIN r23 WITH RegExpTreeView::RegExpTerm#ffff#reorder_2_1_0_3#prev ON FIRST 2 OUTPUT Lhs.1 're', Lhs.0, Rhs.3, Lhs.2 'start', Lhs.3 'end', Lhs.4 'i', Rhs.2 'result'
0 ~0% {5} r25 = JOIN r24 WITH ParseRegExp::RegExp::item_dispred#fff ON FIRST 3 OUTPUT Lhs.5 'i', Lhs.6 'result', Lhs.0 're', Lhs.3 'start', Lhs.4 'end'
0 ~0% {5} r26 = r18 UNION r25
11636 ~2% {5} r27 = r11 UNION r26
11636 ~2% {5} r28 = r27 AND NOT RegExpTreeView::seqChild#fffff#reorder_0_1_2_4_3#prev(Lhs.2 're', Lhs.3 'start', Lhs.4 'end', Lhs.1 'result', Lhs.0 'i')
11636 ~0% {5} r29 = SCAN r28 OUTPUT In.2 're', In.3 'start', In.4 'end', In.1 'result', In.0 'i'
return r29
```
2021-06-29 09:57:23 +02:00
Anders Schack-Mulligen
53823e4a36
Merge pull request #6179 from github/yo-h/java-frameworks-jakarta
...
Java: add `jakarta.*` package to known frameworks
2021-06-29 09:38:55 +02:00
Tamas Vajk
513482b4d5
Adjust code review findings (string escaping)
2021-06-29 08:45:13 +02:00
yo-h
2e8bd621bd
Merge pull request #6164 from github/workflow/coverage/update
...
Update CSV framework coverage reports
2021-06-28 22:04:00 -04:00
yo-h
3c3ecb33a1
Java: add jakarta.* package to known frameworks
2021-06-28 21:49:45 -04:00
yo-h
aa19fe606d
Java: add dbscheme stats for permits relation
2021-06-28 21:18:25 -04:00
github-actions[bot]
991404aefb
Add changed framework coverage reports
2021-06-29 00:10:00 +00:00
yo-h
1f6996002a
Java: add permits relation to dbscheme (sealed classes)
2021-06-28 19:48:39 -04:00
jorgectf
51395d155f
Move xmltodict to its own file under frameworks/
2021-06-28 21:08:43 +02:00
Jorge
350440897c
Apply suggestions from code review
...
Update `xmltodict` format and delete `ujson` modeling.
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-28 21:02:40 +02:00
jorgectf
68c683189a
Polish documentation, mongoCollectionMethod() and update .expected
2021-06-28 20:55:49 +02:00
Chris Smowton
dd70f2c87e
Add spurious results now found in JaxXSS.java
2021-06-28 19:24:19 +01:00
Chris Smowton
768a8e78dd
Fixup JaxRs.ql to cope with stubbed MediaType file
...
In a real-world situation this type would be defined in an imported jar, but since here it is defined in a stub the getADeclaredContentType routine can see it is defined as an empty string in the stubbed implementation. Filter these out so the test more closely resembles the real situation.
2021-06-28 19:24:19 +01:00
Chris Smowton
8eaffaff35
Fix test mistakes
2021-06-28 19:24:19 +01:00
Chris Smowton
6b3bc42ef2
Add JAX-RS XSS tests
2021-06-28 19:24:18 +01:00
Chris Smowton
b3c186c513
Convert XSS test to inline expectations
2021-06-28 19:24:18 +01:00
jorgectf
3fd1129895
Delete trivial tests
2021-06-28 20:18:31 +02:00
jorgectf
0ca4f240d9
Merge tests and update .expected
2021-06-28 20:13:53 +02:00
Sauyon Lee
240058be28
fixup! Fix tests for Spring util
...
Apply review comments
2021-06-28 10:53:00 -07:00
Sauyon Lee
4012076c90
fixup! Model spring util
...
Apply review comments
2021-06-28 10:52:58 -07:00
Felicity Chapman
267e36919e
Merge pull request #6153 from github/docs-content-4456-multiple-dbs
...
Add information on multi-db options to the CodeQL CLI docs
2021-06-28 17:38:49 +01:00
Ryan Parman
0d7e4d5854
Update getting-started-with-the-codeql-cli.rst
...
1. The documentation is at least one full macOS release behind, and we're past WWDC so we already know what the next version is. IMO, we should optimize the documentation for the now + future, rather than providing exceptions for them while favoring legacy releases. _Current_ macOS requires the steps that are currently hidden by default; I would recommend inverting the pattern so that _current_ is shown by default, and legacy releases are hidden away.
1. Homebrew is the bread and butter of many developers. Installing Python via Homebrew installs a custom version of `xattr` that is different from the system's `xattr`, which doesn't support the `-c` flag. By specifically executing the system-provided version of `xattr` by path, you are more-or-less guaranteed to get the system-provided `xattr` with the expected `-c` flag.
2021-06-28 10:20:00 -06:00
Sauyon Lee
bddc88c010
Add stubs for Spring util tests
2021-06-28 08:26:40 -07:00
Sauyon Lee
60db9e1851
Rename springframework-5.2.3 to 5.3.8
2021-06-28 08:26:39 -07:00
Sauyon Lee
fb0e6bfb42
Fix tests for Spring util
2021-06-28 08:26:39 -07:00
Sauyon Lee
739b142209
Generate tests for Spring util
2021-06-28 08:26:38 -07:00
Sauyon Lee
92ebb63b1f
Model Spring AntPath utils
2021-06-28 08:26:38 -07:00
Sauyon Lee
c4e9b1fd8e
Model Spring util
2021-06-28 08:26:37 -07:00
Rasmus Lerchedahl Petersen
c7992f6c6e
Python: add change note
2021-06-28 17:24:37 +02:00
Rasmus Lerchedahl Petersen
40ac91eecd
Python: Add some tests for exponential ReDoS
...
- `KnownCVEs` contain the currently triaged Python CVEs
- `unittest.py` contains some tests constructed by @erik-krogh
- `redos.py` contains a port of `tst.js` from javascript
The expected file has been ported as well with some fixups by @tausbn
2021-06-28 17:04:49 +02:00
Rasmus Lerchedahl Petersen
591b6ef69c
Python: Add ReDoS as identical files from JS
...
The library specific file is `RegExpTreeView`.
The files are recorded as identical via the mapping
in `identical-files.json`.
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
d2eeaff441
JS: Refactor ReDoS to make files sharable
...
the extra ordering conditions in ReDoSUtil will be needed
for the Python implementation.
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
2c27ce7aa5
Python: Make ast viewer see regexes
...
This work is due to @erik-krogh who also
- made corresponding fixes to `RegexTreeView.qll`
- implemented `toUnicode` so it is available on `String`s
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
d953ba8dd4
Python: A parse-tree-view of regular expressions
...
This contains several contributions from @erik-krogh
and also some fixes from @nickrolfe
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
21007d21f4
Python: track if qualifiers allow unbounded
...
repeats. This in preparation for ReDoS
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
74ca1d00b9
Python: More precise regex parsing
2021-06-28 17:04:48 +02:00
Rasmus Lerchedahl Petersen
e5f07cc4d3
Python: inline test of regex components
...
- Added naive implementation of `charRange` so the test can run.
- Made predicates public as needed.
2021-06-28 17:04:48 +02:00
Tony Torralba
8112d723e0
Merge branch 'main' into atorralba/spring-beans
2021-06-28 17:02:31 +02:00
Tony Torralba
393b95cbbe
Remove 'magic' from tests
2021-06-28 17:01:34 +02:00
Tamas Vajk
006303420b
Fix CSV framework coverage commenter workflow
2021-06-28 15:07:13 +02:00
Jorge
a5009efb4b
Merge pull request #5 from RasmusWL/nosql-fixes
...
Small NoSQL fixes
2021-06-28 14:23:57 +02:00
Chris Smowton
ca4c519a2a
Merge pull request #6170 from smowton/smowton/admin/cleanup-exec-tainted-query
...
Change ID and description of cloned query
2021-06-28 13:22:34 +01:00
jorgectf
1d432af498
Update .expected
2021-06-28 14:18:27 +02:00
jorgectf
1d4d8ab6e0
Fix tests
2021-06-28 14:16:52 +02:00
jorgectf
b9422518b3
Rephrase .qhelp
2021-06-28 14:00:00 +02:00
Felicity Chapman
c4047afc05
Add extra reference to docs.github.com
...
Clarify the existing reference and add one for CodeQL code scanning using GitHub Actions.
2021-06-28 12:30:49 +01:00
Felicity Chapman
b52b158c97
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-06-28 12:20:20 +01:00
Chris Smowton
3d69868297
Change ID and description of cloned query
...
This should be cleaned up more effectively soon, but this suffices to fix the clashing-id problem.
2021-06-28 12:18:59 +01:00
Rasmus Wriedt Larsen
318694ccc8
Python: Don't rely on d = d.getOutput() for Decoding
...
Although it is for `json.loads` and the like.
2021-06-28 13:17:45 +02:00
Rasmus Wriedt Larsen
59711424bd
Python: Fix qhelp for NoSQL injection
2021-06-28 11:48:28 +02:00
Tamas Vajk
3b5856907f
Add updated C# framework coverage report
2021-06-28 11:29:46 +02:00
Tamas Vajk
3170781d57
Rework timeseries report to iterate git history only once
2021-06-28 11:29:45 +02:00
Tamas Vajk
1ec1e1cfc8
Adjust framework coverage report generator to include all sources not just remote ones
2021-06-28 11:20:32 +02:00
Tamas Vajk
4524563923
Fix timeseries coverage report to handle multiple languages
2021-06-28 11:20:32 +02:00
Tamas Vajk
a90a86bcbf
Fix flow from Element of Argument[0] for Int32.TryParse(ReadOnlySpan<Char>,...
2021-06-28 11:20:32 +02:00
Tamas Vajk
1d8b19e153
Adjust coverage report generator to allow multiple sink identifiers per CWE
2021-06-28 11:20:32 +02:00
Tamas Vajk
2a75989881
Migrate StringContent sink to CSV format
2021-06-28 11:20:32 +02:00
Tamas Vajk
5aba7142e8
C#: Add framework coverage report
2021-06-28 11:20:32 +02:00
Tamas Vajk
016e8fb2cf
Adjust framework coverage jobs to cover C#
2021-06-28 11:20:32 +02:00
Tamas Vajk
b7a43dccd3
C#: Migrate System.Int32 flow summaries to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
a9ccd65fa9
C#: Migrate System.Web.HttpResponse sinks to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
45568d5b10
C#: Convert System.Console.Read* local flow source to CSV
2021-06-28 11:20:32 +02:00
Tamas Vajk
9606816c39
Fix missing summarizedCallable case
2021-06-28 11:20:32 +02:00
Cornelius Riemenschneider
a1c38b78a9
Merge pull request #6163 from adityasharad/lines-of-code-make-unique
...
Ensure only one query per language is tagged `lines-of-code`
2021-06-28 10:57:29 +02:00
Rasmus Wriedt Larsen
5477b2e0d5
Python: Minor refactoring cleanup
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
4a2c99a021
Python: Inline LDAPImproperAuth.qll
...
Since having it inlined makes the query a bit easier to read. We
obviously need to share it if we want to share this predicate, but for
now that does not seem to be the case.
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
b33f6a315c
Python: Fix select for py/improper-ldap-auth
2021-06-28 10:54:21 +02:00
Rasmus Wriedt Larsen
dfe16aae4c
Python: Handle both positional and keyword args for LDAP bind
2021-06-28 10:46:13 +02:00
Tom Hvitved
4f8a103df2
C#: Add active preprocessor conditions as suffix in all TRAP .push instructions
2021-06-28 10:34:42 +02:00
ihsinme
6e7644f529
Update FindIncorrectlyUsedExceptions.ql
2021-06-27 22:27:41 +03:00
Aditya Sharad
61e6dcb56d
Ensure only one query per language is tagged lines-of-code
...
Some languages have multiple `summary` queries for lines of code,
representing different forms of counting (user written, total, etc).
When Code Scanning sees results from multiple such summary queries in a single run,
it will need to choose one as the primary LoC count to display in the UI.
By ensuring only one query per language has the `lines-of-code` tag,
in future we can teach Code Scanning to look for this particular tag
to identify the primary LoC count.
If a "lines of user code" query is available, use that.
Otherwise use the total "lines of code".
(It is completely fine for multiple queries to be tagged with `summary`.)
2021-06-25 16:45:37 -07:00
Chris Smowton
8aa9cd52b5
Merge pull request #5811 from mogwailabs/insecureJmxRmiServerEnvironment
...
Java: Add query - insecure environment configuration during JMX/RMI server init
2021-06-25 22:09:20 +01:00
Timo Mueller
e5fa5325b5
Auto formatting .ql file
2021-06-25 22:31:29 +02:00
Timo Mueller
eb0a13f60f
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-06-25 22:29:43 +02:00
Chris Smowton
def4a23af2
Merge pull request #4879 from intrigus-lgtm/java/improve-trustmanager
...
Java: Add/improve insecure trustmanager query
2021-06-25 18:15:55 +01:00
Tom Hvitved
e624fb46f9
Merge pull request #6152 from hvitved/csharp/dataflow/csv-out-ref
2021-06-25 18:02:59 +02:00
Rasmus Wriedt Larsen
97571e0b4f
Python: Add modeling of peewee
2021-06-25 17:50:59 +02:00
Rasmus Wriedt Larsen
1317ae298c
Python: Rename cursor => Cursor in PEP249
...
Notice that since this will be part of the same PR as 5cfc433 , it is OK
to do this change without keeping `PEP249::cursor` for backwards
compatibility.
2021-06-25 17:30:35 +02:00
Rasmus Wriedt Larsen
d8db83d081
Python: Add cursor::instance for PEP249
...
For Peewee modeling I want to be able to define new cursor instances
just like I can do for connections.
2021-06-25 17:29:32 +02:00
Rasmus Wriedt Larsen
6be0db2c22
Python: Improve QLDoc of PEP249 modeling
2021-06-25 17:24:28 +02:00
Rasmus Wriedt Larsen
5cfc43395b
Python: Refactor PEP249 to encapsulate in module
...
So global namespace doesn't contain `Connection` whenever `PEP249.qll`
is imported
2021-06-25 17:15:12 +02:00
intrigus
5aa711a956
Accept test changes.
2021-06-25 17:04:36 +02:00
Owen Mansel-Chan
44f0411b7c
Merge pull request #6138 from owen-mc/java/model/apache-commons-collections
...
Model Apache commons collections MapUtils class and keyvalue package
2021-06-25 15:53:03 +01:00
Anders Schack-Mulligen
a79356e316
Apply suggestions from code review
2021-06-25 16:47:26 +02:00
intrigus
be57aeccf2
Remove change-note.
2021-06-25 16:47:26 +02:00
intrigus
5106aec319
Fix test location.
2021-06-25 16:47:25 +02:00
intrigus
36575bb26f
Move back to experimental.........
2021-06-25 16:47:25 +02:00
intrigus
fe923facc8
Java: Move comments to separate lines.
...
Move comments to separate lines to improve
the rendering in the finished query help.
2021-06-25 16:47:25 +02:00
intrigus-lgtm
f527df73d5
Apply suggestions from code review.
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-06-25 16:47:25 +02:00
intrigus
f0d4b1d2b0
Java: Add change-note.
2021-06-25 16:47:25 +02:00
intrigus
6bfdf8d148
Java: Fix qhelp errors.
2021-06-25 16:47:24 +02:00
intrigus
dc0b06a735
Java: Factor out SecurityFlag library.
2021-06-25 16:47:24 +02:00
intrigus-lgtm
51fdcf86c8
Apply suggestions from code review
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-25 16:47:24 +02:00
intrigus
6f217d37da
Java: Apply suggestions from review.
2021-06-25 16:47:24 +02:00
intrigus
4a00670b68
Java: Reduce long comment.
2021-06-25 16:47:24 +02:00
intrigus
45cec3df1c
Java: Use this consistently in QL classes.
2021-06-25 16:47:24 +02:00
intrigus
0c1ce74135
Java: Switch from tabs to spaces.
2021-06-25 16:47:24 +02:00
intrigus
281e0859d1
Java: Accept test changes.
2021-06-25 16:47:23 +02:00
intrigus
6413af4fbe
Java: Expand tests.
2021-06-25 16:47:23 +02:00
intrigus
484533c659
Java: Flag "intentionally" unsafe methods in tests.
...
Previously intentionally unsafe methods such as `disableCertificate`
would be ignored by this query. But now they will also be flagged
as it is hard to guess intentions...
Adjust the tests to account for this change.
2021-06-25 16:47:23 +02:00
intrigus
7023793af4
Java: Fix compilation errors in test.
2021-06-25 16:47:23 +02:00
intrigus
6d09db6fd6
Java: Explicitly list custom flow steps.
2021-06-25 16:47:23 +02:00
intrigus
e4775e0fae
Java: Remove "intention-guessing" sanitizer & simplify.
...
This removes the sanitizer part that classified some results as FP
if the results were in methods with certain names, like
`disableVerification()`. I now think that it's a bad idea to filter
based on the method name.
The custom flow steps in `flagFlowStep` are now listed explicitly.
Simplified check whether a method throws an exception.
2021-06-25 16:47:23 +02:00
intrigus
8a7f6b72e9
Java: Apply suggestions for QHelp
2021-06-25 16:47:23 +02:00
intrigus
d37d922e8f
Java: Fix Typos
2021-06-25 16:47:22 +02:00
intrigus-lgtm
030c286902
Java: Use machine-in-the-middle consistently
2021-06-25 16:47:22 +02:00
intrigus-lgtm
f52e438f3e
Java: Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-25 16:47:22 +02:00
intrigus
592fd1e8ca
Java: Accept test changes
2021-06-25 16:47:22 +02:00
intrigus
1b96d0ac54
Java: Remove overlapping code
2021-06-25 16:47:22 +02:00
intrigus
87554a78d4
Java: Add insecure trust manager query.
2021-06-25 16:47:22 +02:00
Timo Müller
8daa398af6
Update InsecureRmiJmxEnvironmentConfiguration.ql
2021-06-25 16:12:37 +02:00
Timo Mueller
b969b9b5e7
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-06-25 16:11:47 +02:00
Timo Mueller
72ef4983db
Fixed wrong match for symbolic constant
2021-06-25 16:11:37 +02:00
Timo Müller
328b69f46c
Update java/ql/src/experimental/Security/CWE/CWE-665/InsecureRmiJmxEnvironmentConfiguration.ql
2021-06-25 16:10:20 +02:00
Rasmus Wriedt Larsen
c476c89de5
Python: Add tests for peewee
2021-06-25 16:08:57 +02:00
Nick Rolfe
ba7021086b
Merge remote-tracking branch 'origin/main' into regex
2021-06-25 15:00:26 +01:00
Owen Mansel-Chan
bad32716e8
Import Apache Collections models in ExternalFlow
2021-06-25 14:51:09 +01:00
Timo Müller
d1a4f57342
Added chapter about generating qhelp files locally
2021-06-25 15:48:27 +02:00
Timo Mueller
5aeeb3a801
Fixed and validated qhelp
2021-06-25 15:37:47 +02:00
Owen Mansel-Chan
044ecc51e5
Manually improve tests #2
2021-06-25 13:51:18 +01:00
Mathias Vorreiter Pedersen
794d96e52c
C++: Use call context information to perform function-pointer resolution.
2021-06-25 14:45:56 +02:00
Rasmus Wriedt Larsen
9573048ee8
Python: Port py/clear-text-logging-sensitive-data
2021-06-25 14:35:31 +02:00
Rasmus Wriedt Larsen
68cfeb0b5c
Python: Model logging from the logging module
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
c05e375401
Python: Fix indentation of hashlib modeling
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
36c9ceb13b
Python: Add Logging concept
2021-06-25 14:26:35 +02:00
Rasmus Wriedt Larsen
a7eb1b3a12
Python: Minor QLDoc fixup
2021-06-25 14:26:35 +02:00
Owen Mansel-Chan
e2803800dc
Add change note
2021-06-25 12:55:09 +01:00
Nick Rolfe
bee94757dd
Add query test for ReDoS.ql, ported from JS
2021-06-25 12:51:35 +01:00
Nick Rolfe
6142029fdc
Recognise \t as not escaping t
2021-06-25 12:46:25 +01:00
Nick Rolfe
a77e7761fd
Make \h and \H character class escapes
2021-06-25 12:27:39 +01:00
Nick Rolfe
a5dff79e51
Fix locations of regexp nodes in AST viewer
2021-06-25 12:00:38 +01:00
Owen Mansel-Chan
2fd4c9f1b9
Manually improve tests
2021-06-25 11:17:11 +01:00
Owen Mansel-Chan
1bb33bca33
Add Apache Commons Collections to coverage reports
2021-06-25 11:17:10 +01:00
Owen Mansel-Chan
eb469c0811
Duplicate models for old package name
...
The package name was org.apache.commons.collection until release 4.0.
2021-06-25 11:17:09 +01:00
Owen Mansel-Chan
2e670c4050
Manually update automatically generated stubs
2021-06-25 11:17:08 +01:00
Owen Mansel-Chan
acc43fcaca
Add options file
2021-06-25 11:17:07 +01:00
Owen Mansel-Chan
5feee9cc17
Add automatically-generated stubs
2021-06-25 11:17:06 +01:00
Owen Mansel-Chan
7004c87ec0
Manually edit tests so they pass
2021-06-25 11:17:05 +01:00
Owen Mansel-Chan
4388f19ddf
Add automatically-generated tests
2021-06-25 11:17:04 +01:00
Owen Mansel-Chan
224fd343f3
Fix models (addressing PR review comments)
2021-06-25 11:17:03 +01:00
Owen Mansel-Chan
e78d56e7e9
Model MapUtils class and keyvalue package
2021-06-25 11:17:02 +01:00
Owen Mansel-Chan
213f5d6a37
Model and use isEmpty from Apache Collections
2021-06-25 11:17:01 +01:00
Owen Mansel-Chan
492f6ebc7c
Model isNotEmpty from Apache Commons Collections
2021-06-25 11:17:00 +01:00
Arthur Baars
fa5e7cb9cc
Merge pull request #223 from github/aibaars/mkdir-p
...
Create parent folders when copying qhelp and sample files
2021-06-25 11:29:27 +02:00
Alex Ford
5179e3e5d6
Merge pull request #209 from github/query-sql-injection
2021-06-25 09:59:50 +01:00
Arthur Baars
efde1f86d9
Fix test case
2021-06-25 10:59:10 +02:00
Mathias Vorreiter Pedersen
fd477383b0
C++: Fix join order in 'bbSuccessorEntryReachesLoopInvariant'.
2021-06-25 10:49:33 +02:00
Anders Schack-Mulligen
2d24387e9e
Merge pull request #6149 from edoardopirovano/fix-java-regression
...
Performance: Fix bad join order in Java dataflow library
2021-06-25 10:42:05 +02:00
Timo Müller
d0478eac95
XML validation and spelling/ordering changes
...
* XML validation and summary changes in qhelp file
;
* Encode entities within <code> snippet
* Updated minor descriptions and examples
* Implemented spelling review
2021-06-25 09:45:46 +02:00
Tamás Vajk
1cddcdfcb1
Merge pull request #6123 from tamasvajk/feature/framework-coverage-pr
...
Add scheduled job to update framework coverage
2021-06-25 09:18:10 +02:00
CodeQL CI
28c060e758
Merge pull request #6113 from erik-krogh/promise
...
Approved by esbena
2021-06-24 13:25:42 -07:00
Arthur Baars
0d77f49f7c
Create parent folders
2021-06-24 22:07:58 +02:00
yo-h
61c89369b8
Merge pull request #6151 from tamasvajk/fix/csv-comment-backwards-compat
...
Fix framework coverage commenting action
2021-06-24 15:57:03 -04:00
Alex Ford
2a7d8bbc0a
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2021-06-24 19:43:35 +01:00
Arthur Baars
d4666ab099
Merge pull request #222 from github/aibaars/file-filters
...
Add support for LGTM_INDEX_FILTERS environment variable
2021-06-24 20:09:08 +02:00
Arthur Baars
e3b4e0a9a3
Add missing use statement
2021-06-24 20:00:41 +02:00
Arthur Baars
f92989350a
Update autobuilder/src/main.rs
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-06-24 19:50:32 +02:00
Nick Rolfe
9ec503a3a5
Merge remote-tracking branch 'origin/main' into regex
2021-06-24 18:16:13 +01:00
Alex Ford
a45366e426
remove unnecessary ExprNodes prefix
2021-06-24 18:12:26 +01:00
Alex Ford
b27891b14e
update ActiveRecord test output
2021-06-24 18:12:26 +01:00
Alex Ford
1f5a5181b9
StringInterpolationComponentCfgNode extends ExprNodes::StmtSequenceCfgNode
2021-06-24 18:12:26 +01:00
Alex Ford
a4a8f17a54
Update ql/src/codeql_ruby/dataflow/BarrierGuards.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2021-06-24 18:12:26 +01:00
Alex Ford
9883a9b606
update SqlInjection tests
2021-06-24 18:12:26 +01:00
Alex Ford
d62f4f5bd4
Address review comments
2021-06-24 18:12:26 +01:00
Alex Ford
bc5a1b86ff
Fix handling of arrays passed to ActiveRecord SQL methods
2021-06-24 18:12:26 +01:00
Alex Ford
fc8db88b66
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2021-06-24 18:12:25 +01:00
Alex Ford
7415503772
update ActiveRecord test output
2021-06-24 18:12:25 +01:00
Alex Ford
12e4c9ee90
update SqlInjection tests
2021-06-24 18:12:25 +01:00
Alex Ford
734fe01867
Support named :conditions parameter to some SQL executing ActiveRecord calls
2021-06-24 18:12:25 +01:00
Alex Ford
91bde8d85d
Support ActiveRecord SQL executing calls where there is a self receiver (implicit or explicit)
2021-06-24 18:12:25 +01:00
Alex Ford
5386c776b3
Implement rb/sql-injection
2021-06-24 18:12:25 +01:00
Alex Ford
957b29b5af
Add more defaultAdditionalTaintSteps
2021-06-24 18:12:25 +01:00
Alex Ford
6e5665da8c
Make ActiveRecord model flag more potentially dangerous SQL executions
2021-06-24 18:12:25 +01:00
Alex Ford
8761873cd1
Implement two common barrier guards
2021-06-24 18:12:25 +01:00
Alex Ford
98313d0a56
Convenience classes for wrapping some Exprs as ExprCfgNodes
2021-06-24 18:12:25 +01:00
Alex Ford
ad1d8420f3
Make BarrierGuard abstract
2021-06-24 18:12:25 +01:00
Alex Ford
adf32e973a
Create Frameworks.qll to act as a container for all framework models
2021-06-24 18:12:25 +01:00
Nick Rolfe
17a59ef824
Add basic test for regex parsing
2021-06-24 18:06:08 +01:00
Arthur Baars
f69c5dc19b
Merge pull request #221 from github/package-depend-on-compile-queries
...
make the package job depend on compile-queries
2021-06-24 19:03:44 +02:00
Arthur Baars
22990a938d
Add support for LGTM_INDEX_FILTERS environment variable
...
* re-implement autobuilder script in Rust
* add additional --include/--exclude flags based on LGTM_INDEX_FILTERS
environment variable
2021-06-24 18:45:31 +02:00
Tom Hvitved
7a9f9e245f
C#: Handle CSV data-flow summaries with out/ref parameters
2021-06-24 18:34:25 +02:00
Nick Rolfe
51b0ffdaf8
Fix printAst to support adding edges in AstDesugar test
2021-06-24 17:14:23 +01:00
Nick Rolfe
f7e89f47fd
Comment out temporarily-unused predicates
2021-06-24 17:06:41 +01:00
Chris Smowton
2acb4de2cb
Merge pull request #5955 from haby0/java/JShellCodeInjection
...
Java: JShell Injection
2021-06-24 17:03:30 +01:00
Alex Ford
58e9b69ea4
make the package job depend on compile-queries
2021-06-24 16:52:22 +01:00
Rasmus Wriedt Larsen
a9469b73d9
Python: Port py/clear-text-storage-sensitive-data
2021-06-24 17:39:08 +02:00
Rasmus Wriedt Larsen
8926b3edc7
Python: Add change-note for CookieWrite
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
7017beca47
Python: Model CookieWrite for twisted
...
Had to split the call to `request.cookies.append` since inline
expectation tests didn't like the expectation that contained `=` :(
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
4606444b85
Python: Model CookieWrite for flask
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
65c526df86
Python: Model CookieWrite for tornado
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
9340d658a4
Python: Model CookieWrite for django
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
930ed0a712
Python: Minor django fixup
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
226425e831
Python: Model CookieWrite for aiohttp
2021-06-24 17:34:43 +02:00
Rasmus Wriedt Larsen
e1af1f11ee
Python: Add HTTP::Server::CookieWrite concept
...
along with tests, but no implementations (to ease reviewing).
---
I've put quite some thinking into what to call our concept for this.
[JS has `CookieDefinition`](581f4ed757/javascript/ql/src/semmle/javascript/frameworks/HTTP.qll (L148-L187) ), but I couldn't find a matching concept in any other languages.
We used to call this [`CookieSet`](f07a7bf8cf/python/ql/src/semmle/python/web/Http.qll (L76) ) (and had a corresponding `CookieGet`).
But for headers, [Go calls this `HeaderWrite`](cd1e14ed09/ql/src/semmle/go/concepts/HTTP.qll (L97-L131) ) and [JS calls this `HeaderDefinition`](581f4ed757/javascript/ql/src/semmle/javascript/frameworks/HTTP.qll (L23-L46) )
I think it would be really cool if we have a naming scheme that means the name for getting the value of a header on a incoming request is obvious. I think `HeaderWrite`/`HeaderRead` fulfils this best. We could go with `HeaderSet`/`HeaderGet`, but they feel a bit too vague to me. For me, I'm so used to talking about def-use, that I would immediately go for `HeaderDefinition` and `HeaderUse`, which could work, but is kinda strange.
So in the end that means I went with `CookieWrite`, since that allows using a consistent naming scheme for the future :)
2021-06-24 17:34:43 +02:00
Nick Rolfe
a6dd2fa0a1
Split ReDoS query into .ql and .qll, and add .qhelp
2021-06-24 16:32:45 +01:00
Arthur Baars
7574d1cad7
Merge pull request #220 from github/aibaars/update-build-yml
...
Update build.yml
2021-06-24 16:38:26 +02:00
Arthur Baars
be1d4c3d2c
Address comment
2021-06-24 16:31:24 +02:00
Arthur Baars
ade36691b6
Remove unnecessary qualifier
2021-06-24 16:13:29 +02:00
Arthur Baars
dfc96de4cc
Update build.yml
2021-06-24 16:09:45 +02:00
Mathias Vorreiter Pedersen
a294fb07f5
C++: Add change-note.
2021-06-24 16:01:59 +02:00
Arthur Baars
95399b2d0a
Refactor ApiGraphs.qll
2021-06-24 15:58:02 +02:00
Arthur Baars
4f96834711
Add ConstantAccessCfgNode
2021-06-24 15:57:48 +02:00
Mathias Vorreiter Pedersen
af56c782bf
C++: Add QLDoc.
2021-06-24 15:57:01 +02:00
Mathias Vorreiter Pedersen
38c487abf9
Merge branch 'main' into more-random-sources-in-uncontrolled-arithmetic
2021-06-24 15:56:15 +02:00
Mathias Vorreiter Pedersen
5bfb78b583
C++: Block flow through all bitwise 'and' and 'or' operations. This seems to be a common source of false positives on LGTM.
2021-06-24 15:53:59 +02:00
Mathias Vorreiter Pedersen
e8bba78825
C++: Convert 'cpp/uncontrolled-arithmetic' to use a 'TaintTracking::Configuration'.
2021-06-24 15:51:44 +02:00
Felicity Chapman
4a8b71a245
Make initial changes for multi-db options
2021-06-24 14:44:08 +01:00
Anders Schack-Mulligen
95ad8b55fe
Merge pull request #6107 from aschackmull/dataflow/implicit-reads
...
Dataflow: Add support for implicit reads
2021-06-24 15:38:35 +02:00
Anders Schack-Mulligen
01fc3e6559
C++/C#/Java/Python: Add change notes.
2021-06-24 14:29:34 +02:00
Anders Schack-Mulligen
cd0efbe7ce
Dataflow: Sync.
2021-06-24 14:19:17 +02:00
Anders Schack-Mulligen
1c1d11a4a4
DataFlow: Address review comments.
2021-06-24 14:18:45 +02:00
Mathias Vorreiter Pedersen
c0ffd9027f
C++: Add more random sources.
2021-06-24 13:40:00 +02:00
haby0
3cf71c50b8
Mobile stubs
2021-06-24 19:24:38 +08:00
Anders Schack-Mulligen
1e511c0a9e
Merge pull request #6137 from smowton/smowton/feature/java-util-optional
...
Java: Model java.util.Optional
2021-06-24 13:21:36 +02:00
Arthur Baars
6bed50a86b
Rename predicate with snake cased name
2021-06-24 11:59:13 +02:00
Tamás Vajk
173be0cce0
Merge pull request #6144 from tamasvajk/feature/stub-dapper
...
C#: Change Dapper stub to nuget-based one (stub also System.Data.SqlC…
2021-06-24 11:41:12 +02:00
Rasmus Wriedt Larsen
686638a65f
Merge pull request #6049 from RasmusWL/jmespath
...
Python: Add modeling of `jmespath`
2021-06-24 11:13:19 +02:00
Tamas Vajk
477dfa28ec
Fix framework coverage commenting action
...
This commit handles the case when the current run finds no coverage change and the previous run is identified,
but it doesn't have the required artifacts.
2021-06-24 10:44:36 +02:00
Mathias Vorreiter Pedersen
c8c77396fa
C++: Get rid of the trivial 'True' condition. Turns out it's not actually needed.
2021-06-24 09:57:54 +02:00
Mathias Vorreiter Pedersen
656ff4aee9
C++: Add more QLDoc.
2021-06-24 09:57:25 +02:00
Mathias Vorreiter Pedersen
d70ea5f6e0
Update cpp/ql/src/semmle/code/cpp/controlflow/StackVariableReachability.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-24 09:27:11 +02:00
Edoardo Pirovano
0909c9ff22
Performance: Fix bad join order in dataflow library
2021-06-24 08:24:17 +01:00
Tamas Vajk
ad6e47be39
Apply code review findings
2021-06-24 09:13:08 +02:00
Tamas Vajk
7557b7a67d
Add scheduled coverage job to open PR with changes
2021-06-24 09:13:08 +02:00
Tamás Vajk
4a19a9978a
Merge pull request #6115 from tamasvajk/feature/framework-coverage-comment-noise
...
Only post comment with framework coverage change if it changed or wasn't done before
2021-06-24 08:44:03 +02:00
CodeQL CI
c02c96369d
Merge pull request #6139 from erik-krogh/colors
...
Approved by esbena
2021-06-23 14:02:17 -07:00
Mathias Vorreiter Pedersen
2938ad5f8f
C++: Add testcase demonstrating the fix from a8c57ec4aa.
2021-06-23 23:01:49 +02:00
yo-h
ffdc752720
Merge pull request #6059 from smowton/smowton/fix/qualified-name-generic-types
...
Adapt to static methods and nested types returning unbound declaring types
2021-06-23 14:45:51 -04:00
Arthur Baars
b2be1c3b3d
Update ql/src/codeql_ruby/ApiGraphs.qll
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2021-06-23 20:40:22 +02:00
Chris Smowton
4c777eb04a
Add change note
2021-06-23 18:54:27 +01:00
Geoffrey White
06591956ff
C++: Rename some variables.
2021-06-23 17:54:47 +01:00
Mathias Vorreiter Pedersen
43bbd4f7ad
C++: Fix join order with 'pragma[noopt]'.
2021-06-23 18:34:04 +02:00
Geoffrey White
a2c904d0c0
C++: Clarify the meanings of predicates.
2021-06-23 17:17:50 +01:00
Geoffrey White
eeb84d4209
C++: Add more test cases for the toctou query.
2021-06-23 17:12:53 +01:00
Tamás Vajk
8518e7c5a3
Merge pull request #6146 from tamasvajk/feature/stub-nhibernate
...
C#: Change nHibernate stub to nuget-based one
2021-06-23 18:00:45 +02:00
Tamás Vajk
4dc70fa959
Merge pull request #6145 from tamasvajk/feature/stub-jsonnet
...
C#: Change Newtonsoft.Json stub to nuget-based one
2021-06-23 18:00:27 +02:00
Chris Smowton
f6ba4e0235
Merge pull request #6142 from artem-smotrakov/better-spring-exporters
...
Added sinks for RmiBasedExporter and HessianExporter
2021-06-23 16:39:10 +01:00
CodeQL CI
469e709113
Merge pull request #6055 from RasmusWL/rsa-modeling
...
Approved by yoff
2021-06-23 08:35:25 -07:00
Chris Smowton
9c91d1a965
Add change note
2021-06-23 16:09:29 +01:00
Chris Smowton
74feaf2893
Adapt to static methods and nested types returning unbound declaring types
...
Previously these returned raw declaring types instead
2021-06-23 16:03:18 +01:00
Chris Smowton
b34448af87
{Generic,Parameterized,Raw}Type: implement getAPrimaryQlClass
...
An aid to debugging
2021-06-23 15:58:31 +01:00
Tom Hvitved
9438885776
Merge pull request #216 from github/hvitved/synthesis-location
...
AST synthesis: Move location information into a separate predicate
2021-06-23 16:50:17 +02:00
Mathias Vorreiter Pedersen
9b8f558fb8
Merge pull request #6125 from MathiasVP/improve-tainted-arithmetic
...
C++: Add more barriers to `cpp/tainted-arithmetic`
2021-06-23 16:44:20 +02:00
Nick Rolfe
c784e37089
Add regexp parser and exponential ReDoS query
2021-06-23 15:29:49 +01:00
Mathias Vorreiter Pedersen
295e022df3
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 15:45:18 +02:00
Ian Lynagh
089e4e2e1e
Merge pull request #6147 from AlexDenisov/adjust_test_expectation
...
C++: Adjust test expectations after frontend upgrade
2021-06-23 14:43:47 +01:00
Alex Ford
e5f0206c6d
Merge pull request #208 from github/action-controller-1
...
Model accesses to `ActionController` parameters via `params` method
2021-06-23 14:21:55 +01:00
Alex Ford
0238c19085
remove TODO
2021-06-23 14:11:38 +01:00
Alex Ford
5941eb2be4
model some ActionController user input sources (params)
2021-06-23 14:11:38 +01:00
Alex Ford
9227f3a0c3
Add RemoteFlowSources.qll
2021-06-23 14:11:38 +01:00
Mathias Vorreiter Pedersen
a8c57ec4aa
C++: Prevent false negatives caused by incorrectly concluding that a loop variant condition refutes itself across loop iterations.
2021-06-23 15:08:16 +02:00
Tamas Vajk
b0447089d9
C#: Change Dapper stub to nuget-based one (stub also System.Data.SqlClient)
2021-06-23 15:04:57 +02:00
Alex Ford
5163514d43
Merge pull request #218 from github/build-yml-debug
...
Fix `compile-queries` job
2021-06-23 14:04:33 +01:00
Alex Ford
8e1f2e6237
try fixing build.yml
2021-06-23 13:41:51 +01:00
Anders Schack-Mulligen
6374914053
Java: Fix bad magic.
2021-06-23 14:39:18 +02:00
Alex Denisov
653afc8448
C++: Adjust test expectations after frontend upgrade
2021-06-23 14:39:16 +02:00
Mathias Vorreiter Pedersen
c44475458e
Update cpp/ql/src/Security/CWE/CWE-190/Bounded.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-23 14:38:36 +02:00
Erik Krogh Kristensen
dbc8b9cf6a
autoformat
2021-06-23 14:21:15 +02:00
CodeQL CI
a86f50e091
Merge pull request #6135 from erik-krogh/chokidar
...
Approved by esbena
2021-06-23 05:16:06 -07:00
CodeQL CI
b66f4cb965
Merge pull request #6134 from erik-krogh/templates
...
Approved by asgerf, esbena
2021-06-23 05:09:23 -07:00
Tamas Vajk
f352bcb0a3
C#: Change nHibernate stub to nuget-based one
2021-06-23 13:55:19 +02:00
Tamas Vajk
1188e1b678
Fix extra constructor stubbing
2021-06-23 13:50:54 +02:00
Tamas Vajk
e200ecde4a
C#: Change Newtonsoft.Json stub to nuget-based one
2021-06-23 13:49:11 +02:00
Rasmus Wriedt Larsen
0774e985ce
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-23 13:37:38 +02:00
Tamás Vajk
2dc0849b79
Merge pull request #5664 from tamasvajk/feature/stub-generation
...
C#: Stub generation
2021-06-23 13:33:10 +02:00
Rasmus Wriedt Larsen
447099a1df
Python: Update jmespath tests
2021-06-23 13:32:19 +02:00
Artem Smotrakov
0dfb869c5b
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-23 13:23:54 +02:00
Mathias Vorreiter Pedersen
d308dd2f40
Update cpp/ql/src/semmle/code/cpp/controlflow/StackVariableReachability.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-06-23 11:54:56 +02:00
Mathias Vorreiter Pedersen
90633b9ce1
C++: Make the new SQL abstract classes extend 'Function' instead. This is more in line with how we model RemoteFlowFunction.
2021-06-23 11:49:51 +02:00
Mathias Vorreiter Pedersen
6379463bcf
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 11:42:45 +02:00
Tamas Vajk
09dd615c6b
Regenerate stubs (add System.Void struct)
2021-06-23 11:38:41 +02:00
Geoffrey White
298f70f082
Merge pull request #6120 from MathiasVP/not-overflow-is-barrier-in-cwe-190
...
C++: Recognize any non-overflowing arithmetic expression as a barrier for `cpp/uncontrolled-arithmetic`
2021-06-23 10:35:33 +01:00
Tamas Vajk
d698f0ae27
Fix VoidType handling
2021-06-23 11:30:47 +02:00
Mathias Vorreiter Pedersen
9b94f3a650
Merge branch 'main' into improve-tainted-arithmetic
2021-06-23 11:04:08 +02:00
Rasmus Wriedt Larsen
902b450b12
Python: Also model pathlib.Path().open().write()
...
And this transition to type-trackers also helped fix the missing path
through function calls 👍
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
39ec8701ca
Python: Add FileSystemWriteAccess concept
...
I made `FileSystemWriteAccess` be a subclass of `FileSystemAccess` (like in [JS](64001cc02c/javascript/ql/src/semmle/javascript/Concepts.qll (L68-L74) )), but then I started wondering about how I could give a good result for `getAPathArgument`, and what would a good result even be? The argument to the `open` call, or the object that the `write` method is called on? I can't see how doing either of these enables us to do anything useful...
So I looked closer at how JS uses `FileSystemWriteAccess`:
1. as sink for zip-slip: 7c51dff0f7/javascript/ql/src/semmle/javascript/security/dataflow/ZipSlipCustomizations.qll (L121)
2. as sink for downloading unsafe files (identified through their extension) through non-secure connections: 89ef6ea4eb/javascript/ql/src/semmle/javascript/security/dataflow/InsecureDownloadCustomizations.qll (L134-L150)
3. as sink for writing untrusted data to a local file 93b1e59d62/javascript/ql/src/semmle/javascript/security/dataflow/HttpToFileAccessCustomizations.qll (L43-L46)
for the 2 first sinks, it's important that `getAPathArgument` has a proper result... so that solves the problem, and highlights that it _can_ be important to give proper results for `getAPathArgument` (if possible).
So I'm trying to do best effort for `f = open(...); f.write(...)`, but with this current code we won't always be able to give a result (as highlighted by the tests). It will also be the case that there are multiple `FileSystemAccess` with the same path-argument, which could be a little strange.
overall, I'm not super confident about the way this new concept and implementation turned out, but it also seems like the best I could come up with right now...
The obvious alternative solution is to NOT make `FileSystemWriteAccess` a subclass of `FileSystemAccess`, but I'm not very tempted to go down this path, given the examples of this being useful above, and just the general notion that we should be able to model writes as being a specialized kind of `FileSystemAccess`.
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
6a6d6fbe92
Python: Add leading space in some inline tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
13609b2888
Python: Move pathlib tests to Python 3 only tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
e2facd0981
Python: Expand cleartext query tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
5506365b0e
Python: Split cleartext tests
2021-06-23 10:50:04 +02:00
Rasmus Wriedt Larsen
c0964617d7
Merge pull request #6111 from tausbn/python-a-few-minor-cleanups
...
Python: A few minor bits of cleanup
2021-06-23 10:42:41 +02:00
Erik Krogh Kristensen
6cf275bb36
update change-note
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-06-23 10:42:26 +02:00
Erik Krogh Kristensen
700dfcc3a7
add comment about why colors/safe is not safe
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-06-23 10:39:56 +02:00
Rasmus Wriedt Larsen
c77884b8c4
Python: Apply suggestions from code review
...
Co-authored-by: Jorge <46056498+jorgectf@users.noreply.github.com >
2021-06-23 10:37:06 +02:00
Rasmus Wriedt Larsen
ae841cdd9b
Python: Make import python private in Concepts.qll
...
Just a mistake that we have never caught on to
2021-06-23 10:32:36 +02:00
Mathias Vorreiter Pedersen
a611e76ed2
C++: Respond to review comments.
2021-06-23 10:28:00 +02:00
Erik Krogh Kristensen
8b5c285ac8
add support for the chokidar library
2021-06-23 09:59:34 +02:00
Artem Smotrakov
14e724bce6
Added sinks for RmiBasedExporter and HessianExporter
2021-06-23 09:53:47 +02:00
Tamas Vajk
133d760659
Regenerate stubs to update nested class names in comments
2021-06-23 09:53:39 +02:00
ihsinme
d61fcfc84b
Add files via upload
2021-06-23 10:46:03 +03:00
ihsinme
460fde72ff
Add files via upload
2021-06-23 10:44:27 +03:00
Tamas Vajk
9ba1529f19
Fix nested class names in comments of stubs expected test file
2021-06-23 09:38:29 +02:00
Tamas Vajk
b40b6f40b6
Change frameworks folder to _frameworks
2021-06-23 09:26:55 +02:00
Tamas Vajk
5b2be8ce2d
Fix code review findings
2021-06-23 09:26:55 +02:00
Tom Hvitved
026bcc72f2
C#: Improve performance of stubbing library
2021-06-23 09:26:54 +02:00
Tamas Vajk
405c008b47
Fix conversion operator stubbing + reduce skipped ctor noise in stubs
2021-06-23 09:26:54 +02:00
Tamas Vajk
e4b02e377c
Add .net core and asp.net core stubs
2021-06-23 09:26:54 +02:00
Tamas Vajk
0f18fd6892
Adjust script to handle .net core framework reference
2021-06-23 09:26:54 +02:00
Tamas Vajk
4eee6ef1d9
Handle system.object missing base type
2021-06-23 09:26:54 +02:00
Tamas Vajk
97cd006b2c
Add missing required private constructors
2021-06-23 09:26:54 +02:00
Tamas Vajk
d7a93a5367
Move default excluded assembly definition
2021-06-23 09:26:54 +02:00
Tamas Vajk
f597c9a7ed
Handle special case of duplicate type constraints
2021-06-23 09:26:54 +02:00
Tamas Vajk
42fcfad0d8
Handle types defined in multiple assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
22f3b05170
Handle all structs (simple types, intptr, system.void)
2021-06-23 09:26:54 +02:00
Tamas Vajk
914da6bdd2
Fix various stubbing issues
2021-06-23 09:26:54 +02:00
Tamas Vajk
fec0ddd2d2
Add test for tuples with arity < 2
2021-06-23 09:26:54 +02:00
Tamas Vajk
d7d653b9d2
Fix tuple stubbing with arity < 2
2021-06-23 09:26:54 +02:00
Tamas Vajk
2edfa15472
Reduce size of stubDefaultArguments predicate
2021-06-23 09:26:54 +02:00
Tamas Vajk
e93736f583
Change base class of GeneratedDeclaration to Modifiable
2021-06-23 09:26:54 +02:00
Tamas Vajk
53054290d1
Improve QL check for path match on netcore.app.ref in exluded assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
a00c2ccf31
Remove _stub.cs file generation
2021-06-23 09:26:54 +02:00
Tamas Vajk
31795c3e6b
Introduce test option to include files from projects
2021-06-23 09:26:54 +02:00
Tamas Vajk
cce7404470
Add csproj generation
2021-06-23 09:26:54 +02:00
Tamas Vajk
b725f6e547
Handle types that are defined in multiple assemblies
2021-06-23 09:26:54 +02:00
Tamas Vajk
ce214cfbf8
Split generated stubs to separate files
2021-06-23 09:26:53 +02:00
Tamas Vajk
88c97bd34e
Generate stubs per assembly
2021-06-23 09:26:53 +02:00
Tamas Vajk
ba238578d1
Add stubbing tests
2021-06-23 09:26:53 +02:00
Tamas Vajk
7e7a52de3c
Stub IndexerName attribute
2021-06-23 09:26:53 +02:00
Tamas Vajk
5e07d82b42
Stub unsafe modifier
2021-06-23 09:26:53 +02:00
Tamas Vajk
4e0bbffac4
Fix ExtraGeneratedConstructor to exclude static constructors and take into account generic derived classes
2021-06-23 09:26:53 +02:00
Tamas Vajk
e96754c2d5
Fix all remaining issues to stub entity framework core
2021-06-23 09:26:53 +02:00
Tamas Vajk
3e92be5324
Extract private/internal members from referenced assemblies + stub required non public constructors
2021-06-23 09:26:53 +02:00
Tamas Vajk
bd83f74dca
Fix generic type constraint order
2021-06-23 09:26:53 +02:00
Tamas Vajk
9b6e9ab148
Escape field names
2021-06-23 09:26:53 +02:00
Tamas Vajk
3c3ddcc8fb
Fix protected internal on override in the same assembly
2021-06-23 09:26:53 +02:00
Tamas Vajk
e6bfb0d1d2
Fix qualified name stubbing for nested types
2021-06-23 09:26:53 +02:00
Tamas Vajk
8cbdd30e1e
Fix generic type constraint stubbing on overrides
2021-06-23 09:26:53 +02:00
Tamas Vajk
ff4db5b8d2
Fix abstract override member generation
2021-06-23 09:26:53 +02:00
Tamas Vajk
cda285de18
Use dotnet format to format the output stub file
2021-06-23 09:26:53 +02:00
Tamas Vajk
53655d4ae4
Only stub declarations from libraries
2021-06-23 09:26:53 +02:00
Tamas Vajk
eabf6b0be8
Only stub effectively public declarations
2021-06-23 09:26:53 +02:00
Tamas Vajk
66eca53b00
Fix accessibility modifier stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
1aadd3f3d6
Fix constant value stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
264d216a33
Generate stub for nested classes
2021-06-23 09:26:53 +02:00
Tamas Vajk
27608b3b38
Add support for event stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
85b3ec6096
Add support for base ctor calls in stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
7bf1794310
Add support for delegate stubbing
2021-06-23 09:26:53 +02:00
Tamas Vajk
a273f88a51
Add support for explicitly implemented indexers
2021-06-23 09:26:53 +02:00
Tamas Vajk
481ae0ff19
Exclude default struct constructors from stubs
2021-06-23 09:26:53 +02:00
Tamas Vajk
3f0a158b3c
Add query to select all public declarations from target assemblies
2021-06-23 09:26:53 +02:00
Tamas Vajk
bfa9bf33c0
C#: Add nuget based stubbing script
2021-06-23 09:26:53 +02:00
Erik Krogh Kristensen
fa02651542
add taint step through the strip-ansi library
2021-06-23 09:13:03 +02:00
Erik Krogh Kristensen
fe76341820
add taint step through the chalk library
2021-06-23 09:12:48 +02:00
Erik Krogh Kristensen
053d9b5564
add taint step through the kleur library
2021-06-23 09:12:25 +02:00
Tom Hvitved
1dde5b8ef9
AST synthesis: Move location information into a separate predicate
2021-06-23 08:46:07 +02:00
Tamas Vajk
9d004ec2d5
Handle case when changes had been reported, and then removed
2021-06-23 08:25:20 +02:00
Tamas Vajk
5657c215e9
Change workflow step name
2021-06-23 08:25:20 +02:00
Tamas Vajk
a165cde808
Compute framework coverage diff in artifacts job
2021-06-23 08:25:20 +02:00
Tamas Vajk
d6361d8500
Use string interpolation
2021-06-23 08:23:44 +02:00
Tamas Vajk
12e4ad2640
Fix code quality issues
2021-06-23 08:23:44 +02:00
Tamas Vajk
d28fd363f9
Fix string vs int ID comparison
2021-06-23 08:23:44 +02:00
Tamas Vajk
801007357f
Only post comment with framework coverage change if it changed or wasn't done before
2021-06-23 08:23:44 +02:00
Tamas Vajk
0e91269a23
Refactor framework coverage job to download artifacts from python
2021-06-23 08:23:44 +02:00
Tamás Vajk
fa215bcda5
Merge pull request #6132 from tamasvajk/fix/coverage-commenter-base
...
Fix framework coverage commenter to use merge commit parent instead o…
2021-06-23 08:12:07 +02:00
CodeQL CI
37b66f9045
Merge pull request #6117 from asgerf/js/sharpen-match-calls
...
Approved by esbena
2021-06-22 22:52:37 -07:00
Erik Krogh Kristensen
6e2b92468f
add taint step through the slice-ansi library
2021-06-22 23:14:14 +02:00
Erik Krogh Kristensen
35c513d38a
add taint step through the cli-color library
2021-06-22 23:10:40 +02:00
Erik Krogh Kristensen
ec9c885908
add taint step through the cli-highlight library
2021-06-22 23:06:50 +02:00
Erik Krogh Kristensen
d114cdc6e5
add taint step through the colorette library
2021-06-22 23:02:01 +02:00
Erik Krogh Kristensen
e4427bb34a
add taint step through the wrap-ansi library
2021-06-22 22:59:03 +02:00
Erik Krogh Kristensen
626a653401
add taint step through the colors library
2021-06-22 22:55:15 +02:00
Erik Krogh Kristensen
a21ebbbe8f
add taint step through the ansi-colors library
2021-06-22 22:47:58 +02:00
Chris Smowton
9fd1606238
Model java.util.Optional
2021-06-22 21:17:22 +01:00
CodeQL CI
d719a1e627
Merge pull request #6114 from erik-krogh/promisify
...
Approved by esbena
2021-06-22 12:19:38 -07:00
Erik Krogh Kristensen
2ba2642c7a
add more template sinks for the js/code-injection query
2021-06-22 20:24:42 +02:00
CodeQL CI
bde1bb4030
Merge pull request #6126 from erik-krogh/dates
...
Approved by esbena
2021-06-22 10:35:51 -07:00
Arthur Baars
f18e5030e0
Address comments by @tausbn
2021-06-22 17:25:34 +02:00
Mathias Vorreiter Pedersen
90fe5c5aca
C++: Add change-note.
2021-06-22 17:13:07 +02:00
Mathias Vorreiter Pedersen
2e2673aff6
C++: Delete the experimental SqlPqxxTainted query.
2021-06-22 17:13:07 +02:00
Mathias Vorreiter Pedersen
440793b5ff
C++: Move the example from the experimental CWE-089 query into a test.
2021-06-22 17:13:06 +02:00
Mathias Vorreiter Pedersen
222cd41aa3
C++: Use the new SQL interface in 'Security.qll' and 'SqlTainted.ql'.
2021-06-22 17:13:06 +02:00
Mathias Vorreiter Pedersen
092fbd60d9
C++: Create a new SQL interface.
2021-06-22 17:13:06 +02:00
Alex Ford
dbf1805c8b
Merge pull request #196 from github/active-record-1
...
Start modelling some potential SQL fragment sinks in ActiveRecord
2021-06-22 16:05:26 +01:00
Taus
317c6867aa
Python: Fix sneaky semantic change
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-22 16:46:54 +02:00
CodeQL CI
eb95dff746
Merge pull request #6129 from erik-krogh/ReDoSCWE
...
Approved by esbena
2021-06-22 07:02:39 -07:00
Arthur Baars
bedd790d33
Merge pull request #217 from github/aibaars-patch-2
...
Remove ad-hoc entries from query suite
2021-06-22 15:48:22 +02:00
Shati Patel
396de59ad7
Merge pull request #6131 from erik-krogh/toUnicodeDoc
...
mention the new `toUnicode` method in the QL language specification
2021-06-22 14:36:16 +01:00
Arthur Baars
f7eee915da
Remove ad-hoc queries
2021-06-22 15:35:30 +02:00
Erik Krogh Kristensen
062502fecc
add back support for util-promisifyall
2021-06-22 15:34:51 +02:00
Rasmus Wriedt Larsen
3b41c2f204
Python: Use new MethodCallNode in TaintTrackingPrivate
2021-06-22 15:12:35 +02:00
Rasmus Wriedt Larsen
0b767bb853
Merge branch 'main' into small-cleanups
2021-06-22 15:01:53 +02:00
Tamas Vajk
870e4125dc
Fix framework coverage commenter to use merge commit parent instead of (old) base repo SHA
2021-06-22 13:24:26 +02:00
Erik Krogh Kristensen
3bdd9f7a30
mention the new toUnicode method in the QL language specification
2021-06-22 13:13:30 +02:00
Tom Hvitved
38a38fd2c1
Merge pull request #6003 from hvitved/csharp/external-summaries
...
C#: CSV-based flow summaries
2021-06-22 12:59:44 +02:00
Asger Feldthaus
16e3681fd3
JS: Update RegExpInjection test case
2021-06-22 12:00:04 +02:00
Anders Schack-Mulligen
206a37cf08
Merge pull request #6130 from aschackmull/java/collection-test
...
Java: Improve test and fix a few missing cases.
2021-06-22 11:56:44 +02:00
Erik Krogh Kristensen
4360e5dcbc
add model of the thenify library
2021-06-22 11:55:58 +02:00
Erik Krogh Kristensen
61cc415a32
add model of the util.promisify library
2021-06-22 11:55:58 +02:00
Erik Krogh Kristensen
2f3ea4412f
add model of the pify library
2021-06-22 11:55:54 +02:00
Rasmus Wriedt Larsen
5db627042f
Merge pull request #6091 from tausbn/python-exclude-main-py-files
...
Python: Avoid `__main__.py` files as entry points.
2021-06-22 11:29:02 +02:00
Rasmus Wriedt Larsen
e05d6e71b8
Merge pull request #6064 from tausbn/python-add-get-method-call
...
Python: Add `getAMethodCall` to `LocalSourceNode`
2021-06-22 11:16:39 +02:00
Anders Schack-Mulligen
38fc8a750c
Java: Improve test and fix a few missing cases.
2021-06-22 11:16:02 +02:00
Jonas Jensen
ae296fc6db
Merge pull request #6101 from github/AlonaHlobina-patch-3
...
Adding C++20 Beta support.rst
2021-06-22 11:02:15 +02:00
Erik Krogh Kristensen
c736606695
add support for moment/dayjs/luxon instances returned by @date-io adapters
2021-06-22 10:42:24 +02:00
Erik Krogh Kristensen
f2ca2134d1
refactor promisify models into a module
2021-06-22 10:40:22 +02:00
Arthur Baars
cdfe74959f
Remove methodName field
2021-06-22 10:32:44 +02:00
Erik Krogh Kristensen
f53955fb5e
add support for the promise.allsettled library
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
95a7b16315
add support for the lie polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
085efe5d20
add support for the any-promise polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
cb82cdf6e9
add support for the synchronous-promise library
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
5cb3c2c650
add support for the pinkie polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
b574292dab
add support for the pinkie-promise polyfill
2021-06-22 10:30:33 +02:00
Erik Krogh Kristensen
bb1c971348
add support for the when polyfill, and expand the defition of ES2015PromiseDefinition
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
e467ea2ea6
add support for the native-promise-only polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
ebde9015d8
add support for the rsvp and es6-promise polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
d7a47e8fbd
add support for the promise-polyfill polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
f095e190a9
add support for the promise polyfill
2021-06-22 10:30:32 +02:00
Erik Krogh Kristensen
967ccfef0c
add support for kew
2021-06-22 10:30:28 +02:00
Arthur Baars
7c3c1db462
Use ApiGraphs in WeakFilePermissions query
2021-06-22 10:25:56 +02:00
Arthur Baars
65d9327951
Add CallNode class
2021-06-22 10:25:56 +02:00
Erik Krogh Kristensen
a4303bc81d
add CWE-1333 to the JS ReDoS queries
2021-06-22 10:24:56 +02:00
ihsinme
94bd2a32f9
Update FindIncorrectlyUsedSwitch.qhelp
2021-06-22 10:39:37 +03:00
AlonaHlobina
2a9d0009be
Update versions-compilers.rst
2021-06-22 10:36:19 +03:00
Erik Krogh Kristensen
227f61b954
add model for the luxon library
2021-06-21 23:29:12 +02:00
Erik Krogh Kristensen
cdf3cdcf71
add model for the formatByString and formatByNumber functions in @date-io
2021-06-21 23:29:01 +02:00
Erik Krogh Kristensen
2a4570eaaa
add model for the dayjs library
2021-06-21 23:28:45 +02:00
Arthur Baars
57d8ba649f
Use flowsTo
2021-06-21 19:37:41 +02:00
Arthur Baars
d2e2901128
First version of ApiGraphs
2021-06-21 19:37:41 +02:00
Arthur Baars
f0c83288a7
Add test case for ApiGraph
2021-06-21 19:37:41 +02:00
Arthur Baars
4fa093048c
Add inline expectations test framework
2021-06-21 19:37:41 +02:00
Taus
ba6ab8ff3d
Python: Expand __main__.py comment
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-06-21 18:14:03 +02:00
Taus
768cab3642
Python: Address review comments
...
- changes `getReceiver` to `getObject`
- fixes `calls` to avoid unwanted cross-talk
- adds some more documentation to highlight the above issue
2021-06-21 14:57:19 +00:00
Mathias Vorreiter Pedersen
3bc6b11ae5
C++: Share the 'bounded' predicate from 'cpp/uncontrolled-arithmetic' and use it in 'cpp/tainted-arithmetic'.
2021-06-21 16:38:17 +02:00
Arthur Baars
33c5312842
Merge pull request #215 from github/bump-codeql
...
Bump `codeql` submodule
2021-06-21 16:18:04 +02:00
Anders Schack-Mulligen
c06e152e90
Java: Remove outdated test.
2021-06-21 16:08:59 +02:00
Anders Schack-Mulligen
27c973e157
Java: Fix some qltests.
2021-06-21 16:08:52 +02:00
Tom Hvitved
992d8faa06
Bump codeql submodule
2021-06-21 16:06:45 +02:00
Mathias Vorreiter Pedersen
05389bb9d4
Merge pull request #6099 from geoffw0/weak-crypto3
...
Further improvements to cpp/weak-cryptographic-algorithm
2021-06-21 15:46:50 +02:00
Rasmus Wriedt Larsen
1c48aca630
Merge branch 'main' into jmespath
2021-06-21 15:26:45 +02:00
CodeQL CI
565af1a879
Merge pull request #6071 from RasmusWL/fix-input-cwe
...
Approved by calumgrant, tausbn
2021-06-21 06:23:18 -07:00
Geoffrey White
05ed4ed739
Update cpp/change-notes/2021-06-21-weak-cryptographic-algorithm.md
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-06-21 14:22:56 +01:00
AlonaHlobina
281a619646
Merge branch 'main' into AlonaHlobina-patch-3
2021-06-21 16:22:10 +03:00
Rasmus Wriedt Larsen
a7170bedb6
Python: Mention modeling of mysqlclient PyPI package
...
Just for completeness in terms of what we claim support for.
2021-06-21 15:20:08 +02:00
yoff
baf8d0a990
Merge pull request #6045 from RasmusWL/twisted
...
Python: Model twisted
2021-06-21 14:52:57 +02:00
Anders Schack-Mulligen
810de73246
C/C++: Update qltest expected output.
2021-06-21 14:47:31 +02:00
Anders Schack-Mulligen
14b485efa4
Merge pull request #6119 from smowton/smowton/fix/jaxrs-tests-field-flow
...
Increase field flow branch limit in Jax-RS tests
2021-06-21 14:43:59 +02:00
Tom Hvitved
abe5e3d953
Merge pull request #210 from github/hvitved/dataflow/consistency
...
Data flow: Add consistency queries
2021-06-21 14:42:55 +02:00
Anders Schack-Mulligen
d383c0f69b
Java: Remove temporary store-as-taint.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
65ac8be5ac
Java: Add defaultImplicitTaintRead and sync.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
38319a4832
C/C++: Make Content public as DataFlow::Content.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
aa82d0b815
Java: Make Content public as DataFlow::Content.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
80880320d5
Dataflow: Sync.
2021-06-21 14:42:47 +02:00
Anders Schack-Mulligen
b7ac329ba1
DataFlow: Add support for configuration-specific implicit reads.
2021-06-21 14:41:19 +02:00
Mathias Vorreiter Pedersen
238c483e5b
C++: Make any non-overflowing arithmetic operation a barrier.
2021-06-21 14:05:34 +02:00
Mathias Vorreiter Pedersen
18e5d3cce8
C++: Add false positive with multiplication.
2021-06-21 14:04:27 +02:00
Chris Smowton
e2aaae8181
Increase test fieldFlowBranchLimit to 1000
...
Might as well head off future failures in this test
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-21 12:51:37 +01:00
Chris Smowton
c5eef7be8c
Increase field flow branch limit in Jax-RS tests
...
This fixes apparently-missing results by allowing the dataflow library to persist even when there are many Map implementations possibly available.
2021-06-21 12:46:13 +01:00
Geoffrey White
6f808c9e4c
C++: Update change note.
2021-06-21 12:32:48 +01:00
Geoffrey White
79198974dc
Merge branch 'main' into weak-crypto3
2021-06-21 11:55:29 +01:00
Anders Schack-Mulligen
9110dfaeb3
Merge pull request #6095 from hvitved/dataflow/local-cc-join
...
Data flow: Fix `getLocalCallContext` join-order
2021-06-21 12:53:38 +02:00
Geoffrey White
90e2a2d222
C++: Change note.
2021-06-21 11:30:12 +01:00
Nick Rolfe
35eb4a3af4
Merge pull request #214 from github/regexp_naming
...
Use RegExp prefix instead of Regex, for consistency with other languages.
2021-06-21 11:06:19 +01:00
Asger Feldthaus
0754ed2b5c
JS: Change note
2021-06-21 11:46:44 +02:00
Rasmus Wriedt Larsen
d6ec4d30fc
Python: Twisted refactor of getRequestParamIndex
2021-06-21 10:54:28 +02:00
Tom Hvitved
b820f3f20d
Merge pull request #212 from github/hvitved/ssa/assigns-pred
...
Add `Ssa::WriteDefinition::assigns/1` predicate
2021-06-21 10:46:48 +02:00
Rasmus Wriedt Larsen
8208aebd7e
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-21 10:43:25 +02:00
Shati Patel
bbb5a39c02
Merge pull request #6072 from shati-patel/shati-patel/vs-code-setting
...
[Already shipped] Docs: Update setting in CodeQL for VS Code
2021-06-21 08:34:14 +01:00
jorgectf
b10ade17be
Update HeaderDeclaration input naming
2021-06-20 00:13:59 +02:00
jorgectf
058ade4d8e
Merge remote-tracking branch 'upstream/main' into jorgectf/python/jwt-queries
2021-06-18 22:21:38 +02:00
jorgectf
6565680dd6
Finish query
2021-06-18 22:16:39 +02:00
Taus
3aea270e10
Python: Autoformat
2021-06-18 18:30:27 +00:00
jorgectf
017a778a20
Polish make_response and fix extend argument
2021-06-18 20:21:11 +02:00
yo-h
26a04d6659
Merge pull request #6108 from tamasvajk/fix/coverage-commenter
...
Fix diff in the framework coverage PR comment
2021-06-18 14:02:15 -04:00
Taus
aeac03663f
Python: Remove old ClickHouseDriver.qll
...
The merge must've gone wrong some way, as this file is not supposed to
exist in `experimental` anymore.
2021-06-18 17:41:09 +00:00
Taus
348b20ca9d
Merge branch 'main' of https://github.com/github/codeql into python-a-few-minor-cleanups
2021-06-18 17:38:43 +00:00
Taus
9351688da8
Python: asCfgNode cleanup
2021-06-18 17:22:42 +00:00
Taus
c386f4a009
Python: Clean up py/insecure-protocol
...
Going all the way to the AST layer seemed excessive to me, so I rewrote
it to do most of the logic at the data-flow layer. In principle this
_could_ result in more names being computed (due to splitting), but in
practice I don't expect this make a big difference.
2021-06-18 17:22:42 +00:00
Taus
f24a9a46d9
Python: add getAnAttributeWrite
2021-06-18 17:22:42 +00:00
Taus
c78ba476cf
Python: Clean up a few verbose casts
2021-06-18 17:22:42 +00:00
Nick Rolfe
65aa97c07c
Use RegExp prefix instead of Regex, for consistency with other languages.
2021-06-18 15:56:19 +01:00
Tamas Vajk
b3f44f457a
Fix diff in the framework coverage PR comment
2021-06-18 16:33:50 +02:00
haby0
1750efad2a
fix
2021-06-18 21:46:48 +08:00
haby0
dca737190b
Modify JShellInjection.expected
2021-06-18 21:36:45 +08:00
haby0
2b77f7d1bc
Modify isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
a71757f0f4
Update java/ql/src/experimental/Security/CWE/CWE-094/JShellInjection.qhelp
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-06-18 21:36:44 +08:00
haby0
bfe0d40987
using isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
3a2a99e289
Fix 1
2021-06-18 21:36:44 +08:00
haby0
ed0aabef46
add isAdditionalTaintStep
2021-06-18 21:36:44 +08:00
haby0
921b8e80a2
Jshell Injection
2021-06-18 21:36:44 +08:00
Mathias Vorreiter Pedersen
17df8e44d0
C++: Convert 'cpp/tainted-arithmetic' to a 'path-problem' query.
2021-06-18 14:56:17 +02:00
AlonaHlobina
ac35438b5f
Update versions-compilers.rst
2021-06-18 15:35:37 +03:00
CodeQL CI
081fd28090
Merge pull request #6102 from RasmusWL/js-qhelp-fixup
...
Approved by erik-krogh
2021-06-18 04:52:48 -07:00
Chris Smowton
6302187a5d
Merge pull request #5957 from haby0/java/BeanShellInjection
...
Java: BeanShell Injection
2021-06-18 12:38:51 +01:00
Jonas Jensen
f829fff2ad
Merge pull request #6100 from github/AlonaHlobina-patch-2
...
Update C/C++ Clang and GCC versions.rst
2021-06-18 13:10:29 +02:00
AlonaHlobina
288a314108
Update versions-compilers.rst
2021-06-18 13:35:11 +03:00
Rasmus Wriedt Larsen
968a0921d4
JS: Fix secure example inclusion in InsecureDownload.qhelp
2021-06-18 12:12:06 +02:00
Anders Schack-Mulligen
7eb6da3888
Merge pull request #5772 from smowton/smowton/feature/apache-tuple-flow
...
Add models for Apache Commons Lang's tuple types
2021-06-18 11:25:07 +02:00
AlonaHlobina
bd820458f5
Update docs/codeql/support/reusables/versions-compilers.rst
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-18 12:24:34 +03:00
haby0
a73cb3f04a
Fix error
2021-06-18 17:22:26 +08:00
CodeQL CI
1ffd9c9ba7
Merge pull request #6086 from asgerf/js/knex
...
Approved by esbena
2021-06-18 01:58:21 -07:00
Tom Hvitved
7cc02e6d00
Add Ssa::WriteDefinition::assigns/1 predicate
2021-06-18 10:42:32 +02:00
Calum Grant
32f6a465b0
Merge pull request #6080 from github/calumgrant/security-severities
...
Update security-severity scores
2021-06-18 09:40:40 +01:00
Tom Hvitved
eb86bceb4d
Address review comments
2021-06-18 10:18:47 +02:00
AlonaHlobina
9c5ba8d4f6
Adding C++20 Beta support.rst
2021-06-18 10:56:11 +03:00
haby0
0d18e4ff9c
BeanShell Injection
2021-06-18 15:54:13 +08:00
AlonaHlobina
9feda2ddd6
Update C/C++ Clang and GCC versions.rst
2021-06-18 10:46:22 +03:00
Tamás Vajk
0545bcfbd2
Merge pull request #6028 from github/tamasvajk/feature/csv-coverage-report-comment
...
Add CSV coverage PR commenter
2021-06-18 09:32:45 +02:00
jorgectf
eac5254a88
Resolve merge conflict
2021-06-18 02:12:49 +02:00
jorgectf
dcb1da338b
Extend documentation
2021-06-18 02:03:56 +02:00
jorgectf
4963caf506
Rewrite frameworks modeling
2021-06-18 02:03:27 +02:00
jorgectf
066504e79e
Checkout Stdlib.qll
2021-06-18 02:02:47 +02:00
Tom Hvitved
66e4940ac3
C#: Remove bad magic
2021-06-17 20:47:20 +02:00
Tom Hvitved
d5163ca244
C#: Cache NamedElement::hasQualifiedName/2
2021-06-17 20:47:07 +02:00
jorgectf
1d7ddce8db
Update .expected
2021-06-17 18:10:43 +02:00
Nick Rolfe
78db1bf045
Merge pull request #211 from github/smaller_trap
...
Tweaks to reduce size of TRAP output
2021-06-17 17:09:14 +01:00
jorgectf
9cbb7e0899
Change query objective
2021-06-17 17:53:58 +02:00
jorgectf
5704ac36db
Rework LDAP framework modeling
2021-06-17 17:44:08 +02:00
jorgectf
13cfcec968
Change qhelp explanation
2021-06-17 17:43:34 +02:00
jorgectf
d34d2ed2b1
Add .qlref
2021-06-17 17:42:38 +02:00
Nick Rolfe
ab72b4e9e7
Use hexadecimal encoding for TRAP labels
2021-06-17 16:16:32 +01:00
Nick Rolfe
ed93233917
Remove unnecessary spaces in TRAP output
2021-06-17 16:16:06 +01:00
jorgectf
eb16018446
Update .expected
2021-06-17 15:45:05 +02:00
jorgectf
4e74003cd5
Polish Concepts documentation
2021-06-17 15:44:51 +02:00
jorgectf
7e6032f5b4
Port to Decoding
2021-06-17 15:43:54 +02:00
jorgectf
8e3d5ff3f9
Rename mongoclient tests
2021-06-17 15:43:01 +02:00
jorgectf
b8e619a60c
Extend qhelp references
2021-06-17 15:42:45 +02:00
Alex Ford
7439ab5635
remove recvCls field from ActiveRecordModelClassMethodCall
2021-06-17 14:42:42 +01:00
Alex Ford
214532516b
try to avoid a future merge conflict
2021-06-17 14:41:51 +01:00
Alex Ford
762656ee60
Add QLDoc to ActiveRecord.qll
2021-06-17 14:41:51 +01:00
Alex Ford
12a0af1d28
Tidy up PotentiallyUnsafeSqlExecutingMethodCall characteristic predicate
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-06-17 14:39:40 +01:00
Geoffrey White
b4cbe6dce8
C++: Increase query precision to high.
2021-06-17 14:33:17 +01:00
Geoffrey White
b5c71fd1d7
C++: Repair funcion call in a function call.
2021-06-17 14:33:16 +01:00
Geoffrey White
e5147c2a1f
C++: Exclude functions that don't involve buffers.
2021-06-17 14:33:16 +01:00
Tony Torralba
1014400a08
Fix test comments
2021-06-17 15:03:45 +02:00
Tony Torralba
3ec2c1308e
Add RequestForgerySanitizer
2021-06-17 14:58:27 +02:00
Tony Torralba
0c71393171
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-06-17 14:54:25 +02:00
Tom Hvitved
eca11f1b40
C#: Adjust getQualifiedName for type parameters
2021-06-17 14:47:19 +02:00
Chris Smowton
64001cc02c
Merge pull request #5587 from smowton/smowton/admin/promote-ssrf-query
...
Promote SSRF query from experimental
2021-06-17 13:02:33 +01:00
Chris Smowton
d28c95d16c
Field foo of -> Field[foo] of
2021-06-17 12:49:25 +01:00
Chris Smowton
74b2a2c7a6
Improve style of interpretField
2021-06-17 12:45:44 +01:00
Geoffrey White
a481e5c292
C++: Exclude template code.
2021-06-17 12:36:14 +01:00
Geoffrey White
8efdf359dc
C++: Fix some incorrect uses of 'const' in the tests.
2021-06-17 12:36:13 +01:00
Geoffrey White
3641cdcc1f
C++: Add a test case involving an array.
2021-06-17 12:36:09 +01:00
Chris Smowton
5cf0243dd0
Add change note
2021-06-17 12:34:40 +01:00
Chris Smowton
2cc1f46871
Model constructors for (Imm|M)utable(Pair|Triple)
2021-06-17 12:34:40 +01:00
Chris Smowton
fbaa382158
Add tests for Pair.of and Triple.of
2021-06-17 12:34:40 +01:00
Chris Smowton
eebaab8fe9
Order left and right consistently
2021-06-17 12:34:40 +01:00
Chris Smowton
365aab9bd9
Improve matching of Field specifiers; add Field recognition in tests
2021-06-17 12:34:36 +01:00
Geoffrey White
23db21cd90
C++: Test spacing.
2021-06-17 12:33:31 +01:00
Chris Smowton
472a2a64dd
Add models for Apache Commons tuples
2021-06-17 12:25:21 +01:00
Chris Smowton
73fa680224
Add support for CSV-specified flow to or from fields.
2021-06-17 12:24:28 +01:00
Geoffrey White
d590952aaa
C++: Add a test case involving nested function calls.
2021-06-17 12:23:18 +01:00
Geoffrey White
7632c9edb5
C++: Add test cases involving strings and comparisons.
2021-06-17 12:23:17 +01:00
Geoffrey White
2e236dd2a9
C++: Add a test case involving a harmless assert.
2021-06-17 12:23:17 +01:00
Geoffrey White
dca397dfb1
C++: Add a test case with a template class.
2021-06-17 12:23:16 +01:00
Tamas Vajk
07b83d5dc1
Remove commented code
2021-06-17 13:04:39 +02:00
Tamás Vajk
c532db58fd
Apply suggestions from code review
...
Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com >
2021-06-17 13:04:39 +02:00
Tamas Vajk
e61f725196
Apply code review findings
2021-06-17 13:04:39 +02:00
Tamas Vajk
4abaa7870f
Add CSV coverage PR commenter
2021-06-17 13:04:39 +02:00
Tamás Vajk
200126b302
Merge pull request #6008 from github/tamasvajk/feature/csv-coverage-report
...
Add timeseries CSV generator script
2021-06-17 13:03:41 +02:00
Chris Smowton
11b70326fd
Add Jakarta WS url-open sink
2021-06-17 11:58:41 +01:00
Chris Smowton
da1e760269
Adjust Spring models to use erased function signatures
2021-06-17 11:43:33 +01:00
Chris Smowton
1176fec287
Improve docs
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-17 11:43:33 +01:00
Chris Smowton
09f27554d0
Note incidental extra models in change note
2021-06-17 11:43:33 +01:00
Chris Smowton
7509e36382
Remove no-longer-needed BasicRequestLine model from InsecureBasicAuth.ql; adjust test expectations accordingly
2021-06-17 11:43:33 +01:00
Chris Smowton
c531b81ebe
Rename RequestForgery.java -> SanitizationTests.java
2021-06-17 11:43:33 +01:00
Chris Smowton
cb99e17f4d
Split and rename JavaNetHttp and ApacheHttp tests for consistency
2021-06-17 11:43:32 +01:00
Chris Smowton
6c4a909b86
Remove dead code from test
2021-06-17 11:43:32 +01:00
Chris Smowton
08ab5f5546
Remove redundant test
2021-06-17 11:43:32 +01:00
Chris Smowton
74569ce316
Tidy Jax-RS test
2021-06-17 11:43:32 +01:00
Chris Smowton
57ca36baad
Tidy Spring test
2021-06-17 11:43:32 +01:00
Chris Smowton
8b080a94e7
Convert request forgery tests to inline expectations; add missing models revealed by this process.
2021-06-17 11:43:32 +01:00
Chris Smowton
b66dcbe5b6
Factor request-forgery config so it can be used in an inline-expectations test
2021-06-17 11:43:32 +01:00
Chris Smowton
ee872f1752
Add missing tests, add additional models revealed missing in the process, and add stubs to support them all.
2021-06-17 11:43:32 +01:00
Chris Smowton
49bbfc3f4b
Convert SSRF sinks into url-open CSV sinks
...
I also drop the previous approach of taint-tracking through various builder objects in favour of assuming that a URI set in a request-builder object is highly likely to end up requested in some way or another.
This will cause the `java/non-https-url` query to pick the new sinks up too, and fixes a Spring case that had never worked but went unnoticed until now.
2021-06-17 11:43:30 +01:00
Chris Smowton
0f2139ff5d
Fix and document one-based argument indexing in StringFormat's getAnArgUsageOffset
2021-06-17 11:41:06 +01:00
Chris Smowton
55c72cebf2
Improve StringBuilder append chain tracking
...
Previously this didn't catch the case of constructors chaining directly into appends, like `StringBuilder sb = new StringBuilder("1").append("2")`
2021-06-17 11:41:06 +01:00
Chris Smowton
5b25694a52
Simplify and improve AddExpr logic
...
The improvement is in considering (userSupplied + "/") itself a sanitising prefix.
2021-06-17 11:41:06 +01:00
Chris Smowton
6b76f42d22
Broaden PrimitiveSanitizer to include boxed primitives and other java.lang.Numbers
2021-06-17 11:41:06 +01:00
Chris Smowton
3167af29bd
Tidy and remove catersian product from getUrlArgument
2021-06-17 11:41:05 +01:00
Chris Smowton
f388aae78e
Fix getAnArgUsageOffset and improve its space complexity
...
Also add tests checking the output of the new function
2021-06-17 11:41:05 +01:00
Chris Smowton
0db5484399
Copyedit documentation
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-17 11:41:05 +01:00
Chris Smowton
1549993565
Update test results to account for changed model structure
...
(Models now have internal nodes in order to allow field flow through them)
2021-06-17 11:41:05 +01:00
Chris Smowton
8d70e3d22e
Fix casing of change note
2021-06-17 11:41:05 +01:00
Chris Smowton
9138d2b8f5
Improve comment casing
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-06-17 11:41:05 +01:00
Chris Smowton
b25e8671b9
Java SSRF query: comment on sanitizing regex
2021-06-17 11:41:05 +01:00
Chris Smowton
a665d5d111
Improve RequestForgery.qhelp recommendation
2021-06-17 11:41:05 +01:00
Chris Smowton
0d9a6e2b61
Update java/ql/src/semmle/code/java/security/RequestForgery.qll
...
SpringRestTemplateUrlMethods -> SpringRestTemplateUrlMethod
2021-06-17 11:41:05 +01:00
Chris Smowton
fb2989c16b
Copyedit comments and function names
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-06-17 11:41:04 +01:00
Chris Smowton
960a903185
Java SSRF query: document RequestForgeryAdditionalTaintStep and use Unit not string for a supertype.
2021-06-17 11:41:04 +01:00
Chris Smowton
575198a0e4
Java SSRF query: Server Side -> Server-Side everywhere.
2021-06-17 11:41:04 +01:00
Chris Smowton
7899e17f3a
Java SSRF query: move RequestForgery qll file into semmle/code hierarchy
...
This makes it importable by people wishing to extend the query.
2021-06-17 11:41:04 +01:00
Chris Smowton
532a10bfdf
Java SSRF query: Provide hook for custom taint-propagating steps; make all default sinks/sanitizers/steps private.
2021-06-17 11:41:04 +01:00
Chris Smowton
5bdd9da27a
Java SSRF query: credit original author
2021-06-17 11:41:04 +01:00
Chris Smowton
e8613367e8
Java SSRF query: copyedit qhelp
2021-06-17 11:41:04 +01:00
Chris Smowton
3333e7d186
Java SSRF query: sanitize primitives
...
Even 'char' isn't a realistic vector for an exploit, unless somebody is copying out a string char by char.
2021-06-17 11:41:04 +01:00
Chris Smowton
93a9f471ce
Add change note
2021-06-17 11:41:04 +01:00
Chris Smowton
77904d9597
Remove failing test
...
The case where something might be exactly a constant is general across all queries, and not handled yet, particularly in the case where the result of `getParameter("uri")` might have changed between the check and the use.
2021-06-17 11:41:04 +01:00
Chris Smowton
6933d06a46
Add exactly the string '/' as a sanitizing prefix.
...
Usually this is ignored for suspicion that it could be taken for a protocol specifier, but on balance the context `(something) + "/" + tainted()` is more likely to be taken for a user-controlled location within a host the user does not control.
2021-06-17 11:41:03 +01:00
Chris Smowton
bc43b6d760
Fix typo
2021-06-17 11:41:03 +01:00
Chris Smowton
e6249eed79
Add doc comments
2021-06-17 11:41:03 +01:00
Chris Smowton
26e10f3ad5
SSRF: don't consider results of fetches we initiated to be untrustworthy
2021-06-17 11:41:03 +01:00
Chris Smowton
c63d5986cf
Sanitize StringBuilder appends that follow directly from a constructor.
...
Note that some of this logic ought to be incorporated into StringBuilderVar once that code can be reviewed.
2021-06-17 11:41:03 +01:00
Chris Smowton
b5a450b881
SSRF query: add sanitizer looking for a variety of ways of prepending a sanitizing prefix, such as one that restricts the hostname a URI will refer to.
2021-06-17 11:41:03 +01:00
Chris Smowton
487c1db6ed
Promote SSRF query to main query set
2021-06-17 11:41:01 +01:00
Anders Schack-Mulligen
6ca8d69b26
Merge pull request #5881 from haby0/java/UnsafeDeserialization
...
Java: CWE-502 Add UnsafeDeserialization sinks
2021-06-17 12:36:34 +02:00
Anders Schack-Mulligen
8fe2f4a554
Merge pull request #6034 from owen-mc/java/jax-rs
...
Improve JAX-WS and JAX-RS models
2021-06-17 12:35:34 +02:00
Anders Schack-Mulligen
b173b4141d
Merge pull request #6096 from smowton/smowton/fix/inline-expectations-missing-prefix
...
Inline expectation tests: accept // $MISSING: and // $SPURIOUS:
2021-06-17 11:41:15 +02:00
haby0
363ad5b470
Fix error
2021-06-17 17:36:35 +08:00
Owen Mansel-Chan
945db01f56
Address review comments
2021-06-17 10:29:33 +01:00
Owen Mansel-Chan
b9bc1f978c
Update style of inline expectation comments
2021-06-17 10:04:15 +01:00
Tom Hvitved
41ed9f3e1b
Data flow: Fix inconsistencies
2021-06-17 10:48:32 +02:00
Chris Smowton
558813acf7
Inline expectation tests: accept // $MISSING: and // $SPURIOUS:
...
Previously there had to be a space after the $ token, unlike ordinary expectations (i.e., // $xss was already accepted)
2021-06-17 09:44:39 +01:00
Owen Mansel-Chan
0987425f94
Reinstate failing tests with MISSING: prefix
2021-06-17 09:36:51 +01:00
Tom Hvitved
00e544189e
Data flow: Add consistency queries
2021-06-17 10:26:56 +02:00
Tom Hvitved
ad54f2e1f4
Bump codeql submodule
2021-06-17 10:24:19 +02:00
Tom Hvitved
0febf5a592
Merge pull request #6094 from hvitved/dataflow/consistency-compiler-too-smart
...
Data flow: Workaround for too clever compiler in consistency queries
2021-06-17 10:23:31 +02:00
ihsinme
1cabaec0c3
Update cpp/ql/src/experimental/Security/CWE/CWE-561/FindIncorrectlyUsedSwitch.qhelp
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-06-17 11:09:36 +03:00
Tom Hvitved
ffb2350a54
Data flow: Fix getLocalCallContext join-order
2021-06-17 10:02:31 +02:00
Tom Hvitved
cc383e0f6a
Data flow: Workaround for too clever compiler in consistency queries
2021-06-17 09:43:36 +02:00
ihsinme
bf65044a0d
Update test.c
2021-06-17 10:42:25 +03:00
haby0
3dd851fffb
expected
2021-06-17 15:20:03 +08:00
Owen Mansel-Chan
5f82993b0b
Put parameters with inline expectation comments on their own lines
2021-06-17 06:41:01 +01:00
jorgectf
8527ccc6d6
Update .expected
2021-06-16 23:19:14 +02:00
jorgectf
5c7229c715
Optimize Type Tracking stuff
2021-06-16 23:19:05 +02:00
jorgectf
81505fbd76
Normalize tests
2021-06-16 23:18:38 +02:00
Rasmus Wriedt Larsen
68f526da1f
Python: Add change-note
2021-06-16 20:09:05 +02:00
Tom Hvitved
3f6beaf9df
C#: Add tests for complex CSV flow summaries
2021-06-16 19:36:05 +02:00
Tom Hvitved
0af44a7f94
C#: Changes to Type::{getQualifier,hasQualifiedName}
2021-06-16 19:36:05 +02:00
Rasmus Wriedt Larsen
498703fc81
Python: Escaping only valid with both input/output defined
...
Problematic part is
```codeql
/** A escape from string format with `markupsafe.Markup` as the format string. */
private class MarkupEscapeFromStringFormat extends MarkupSafeEscape, Markup::StringFormat {
override DataFlow::Node getAnInput() {
result in [this.getArg(_), this.getArgByName(_)] and
not result = Markup::instance()
}
override DataFlow::Node getOutput() { result = this }
}
```
since the char-pred still holds even if `getAnInput` has no results...
I will say that doing it this way feels kinda dirty, and we _could_ fix
this by including the logic in `getAnInput` in the char-pred as well.
But as I see it, that would just lead to a lot of code duplication,
which isn't very nice.
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
6539df6422
Python: Add ConceptsTest for MarkupSafe
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
14de3bffb7
Python: Model MarkupSafe PyPI package
...
Since expectation tests had so many changes from ConceptsTest, I'm going
to do the changes for that on in a separate commit. The important part
is the changes to taint-tracking, which is highlighted in this commit.
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
e1c4b8ca42
Python: Add helper predicates to Escaping kinds
...
The other approach felt a bit too much like specifying magic strings
that you had to get right. (crossing your fingers that no-one writes
`HTML` instead of `html`)
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
bcef8d19e6
Python: Add Escaping concept
2021-06-16 19:09:00 +02:00
Rasmus Wriedt Larsen
d18b9a2704
Python: Add markupsafe tests
2021-06-16 19:09:00 +02:00
CodeQL CI
bcafe532ac
Merge pull request #5944 from RasmusWL/async-api-graph-tests
...
Approved by tausbn
2021-06-16 08:46:26 -07:00
Tony Torralba
2dd862661b
Generic type parameters no longer needed in CSV sink models
2021-06-16 16:23:50 +02:00
Tony Torralba
2c8f8911fc
Adatp CSV sink models to generics fix
2021-06-16 16:12:02 +02:00
Tony Torralba
47fffb04a6
Merge branch 'main' into atorralba/promote-ognl-injection
2021-06-16 15:46:33 +02:00
Tony Torralba
91ba30a781
Merge branch 'main' into atorralba/promote-missing-jwt-signature-check
2021-06-16 15:46:14 +02:00
Tony Torralba
dab33b21fb
Merge branch 'main' into atorralba/promote-mvel-injection
2021-06-16 15:44:43 +02:00
CodeQL CI
9b84a8e146
Merge pull request #6048 from erik-krogh/graphql
...
Approved by esbena
2021-06-16 06:35:42 -07:00
Tony Torralba
bf2be6ec7c
Merge branch 'main' into atorralba/promote-jndi-injection
2021-06-16 15:34:37 +02:00
Tom Hvitved
8866e6c969
C#: Always use fully qualified names in CSV data-flow summaries
2021-06-16 14:09:45 +02:00
Tom Hvitved
def3d6bac4
C#: CSV-based flow summaries
2021-06-16 14:09:45 +02:00
Owen Mansel-Chan
5d00bb23e4
Move logic for URL redirection sinks
2021-06-16 12:48:11 +01:00
yoff
0ddeb7a8c1
Merge pull request #5950 from RasmusWL/promote-clickhouse
...
Python: Promote ClickHouse SQL models
2021-06-16 13:38:41 +02:00
Tony Torralba
66a8f57784
Fix HttpsUrls tests affected by the new URL summary
2021-06-16 13:04:00 +02:00
Tony Torralba
66d49aa4e8
Fix InsecureBasicAuth tests affected by the new URL summary
2021-06-16 13:01:40 +02:00
Tony Torralba
af6bd0b963
Consider subtypes of ReaderSource
2021-06-16 13:01:40 +02:00
Tony Torralba
87dfc92aba
Add tests for CompilationUnit's subtypes
2021-06-16 13:01:40 +02:00
Tony Torralba
e324e4e8d1
Remove non-ascii characters added by accident
2021-06-16 13:01:40 +02:00
Tony Torralba
357b0e1a90
Fix SSRF tests affected by the new URL summary
2021-06-16 13:01:40 +02:00
Tony Torralba
17cce6bd18
Add change note
2021-06-16 13:01:39 +02:00
Tony Torralba
f3ef93fa8a
Make sinks more specific, improve tests
2021-06-16 13:01:39 +02:00
Tony Torralba
f9e6b3c3d2
Add new URL(tainted) as taint step
2021-06-16 13:01:39 +02:00
Tony Torralba
7ff4d368be
Fix tests
2021-06-16 13:01:39 +02:00
Tony Torralba
6f926e1e80
Refine sinks and add more taint steps
2021-06-16 13:01:39 +02:00
Tony Torralba
5d56eb6ea1
Add stubs
2021-06-16 13:01:39 +02:00
Tony Torralba
4b491dcc50
Add codehaus sink and taint steps
2021-06-16 13:01:39 +02:00
Tony Torralba
7883549c25
Use InlineExpectationsTest
2021-06-16 13:01:39 +02:00
Tony Torralba
7031e0a91d
Refactor to use CSV sink models
2021-06-16 13:01:38 +02:00
Tony Torralba
356601ce15
Moved from experimental
2021-06-16 13:01:38 +02:00
Taus
e647403948
Python: Avoid __main__.py files as entry points.
...
According to the official documentation, the purpose of `__main__.py`
files is that their presence in a package (say, `foo`) means one can
execute the package directly using `python -m foo` (which will run the
aforementioned `foo/__main__.py` file).
In principle this means that adding `if __name__ == "__main__"` in these
files is superfluous, as they are only intended to be executed (and not
imported by some other file).
However, in practice people often _do_ include the above construct.
Here are some instances of this on LGTM.com:
https://lgtm.com/query/7521266095072095777/
In particular, 10 out of 33 files in `cpython` have this construct.
This causes some confusion in our module naming, as we usually see the
presence of `__name__ == "__main__"` as an indication that a file may
be run directly (and hence with "absolute import" semantics). However,
when run with `python -m`, the interpreter uses the usual package
semantics, and this leads to modules getting multiple names.
For this reason, I think it makes sense to simply exclude `__main__.py`
files from consideration. Note that if there is a `#!` line mentioning
the Python interpreter, then they will still be included as entry
points.
2021-06-16 10:59:56 +00:00
Tamás Vajk
eaa69dfa5d
Merge pull request #6084 from tamasvajk/feature/effective-publicness
...
C#: Fix isEffectively* visibility predicates
2021-06-16 12:52:38 +02:00
Tom Hvitved
872c7edfc8
Merge pull request #207 from github/bump-codeql
...
Bump `codeql` submodule
2021-06-16 12:33:40 +02:00
Anders Schack-Mulligen
75d5fe67ea
Merge pull request #6090 from atorralba/atorralba/move-httpsurls-tests
...
Java: Move/tweak some tests
2021-06-16 12:00:55 +02:00
Tom Hvitved
84d79ccae9
Bump codeql submodule
2021-06-16 11:55:38 +02:00
Tamas Vajk
28ef0e86f6
Apply code review findings
2021-06-16 10:51:52 +02:00
Tamas Vajk
c5b8acf216
Add change notes
2021-06-16 10:51:52 +02:00
Tamas Vajk
db8a777aa9
Fix isEffectively* predicates to members extracted from multiple assemblies
2021-06-16 10:51:52 +02:00
Tamas Vajk
77f8f3fa8a
Adjust comments on isEffectively*
2021-06-16 10:51:52 +02:00
Tamas Vajk
eea96a5585
Fix effective publicness of protected private and protected internal
2021-06-16 10:51:52 +02:00
Tamas Vajk
f715445c7a
Fix effective privateness of explicitly implemented members
2021-06-16 10:51:08 +02:00
Tamas Vajk
a24006239b
C#: Add more tests to effective visibility
2021-06-16 10:50:15 +02:00
Taus
96d8fc78f8
Merge pull request #6078 from hvitved/type-tracker-caching
...
Python: Move cached predicates in type tracker library to same stage
2021-06-16 10:45:02 +02:00
Tamás Vajk
9f44bc575f
Merge pull request #6089 from tamasvajk/feature/interface-member-modifier
...
C#: Allow abstract modifier on interface members
2021-06-16 10:44:43 +02:00
haby0
c1ada6d85b
Merge branch 'main' into java/UnsafeDeserialization
2021-06-16 16:37:03 +08:00
Tamás Vajk
386d88ab93
Merge pull request #6085 from tamasvajk/feature/unsafe
...
C#: Fix `Modifiable::isUnsafe` to handle declarations extracted from assemblies
2021-06-16 10:30:09 +02:00
Tony Torralba
e2918d55b5
Move tests back from internal repo
2021-06-16 10:09:44 +02:00
Tamas Vajk
66835651fe
C#: Allow abstract modifier on interface members
2021-06-16 09:56:36 +02:00
Tamas Vajk
dacb044790
C#: Add tests for abstract/virtual modifier of interface members
2021-06-16 09:54:34 +02:00
Asger Feldthaus
5838e54a46
JS: Sharpen recognition of string 'match' calls
2021-06-16 09:27:02 +02:00
haby0
9badd7aa27
change name
2021-06-16 11:29:37 +08:00
jorgectf
5123b8f4e3
Update .expected
2021-06-15 20:29:33 +02:00
jorgectf
e61cf9a58d
Simplify tests
2021-06-15 19:32:02 +02:00
Taus
359bc5eff9
Python: Autoformat
2021-06-15 15:56:40 +00:00
Tamas Vajk
74c4765ab9
Add change note
2021-06-15 17:30:48 +02:00
Tamas Vajk
44b30b70da
C#: Fix Modifiable::isUnsafe to handle declarations extracted from assemblies
2021-06-15 17:30:48 +02:00
Asger Feldthaus
af9cc07066
JS: Change note
2021-06-15 17:19:39 +02:00
Asger Feldthaus
9f052a2ecd
JS: Add Knex model
2021-06-15 17:19:39 +02:00
CodeQL CI
847faf536d
Merge pull request #6070 from asgerf/js/script-with-tsx-lang
...
Approved by erik-krogh
2021-06-15 08:17:53 -07:00
Taus
b55c034502
Python: Fix up getAMethodCall
...
Now that we have a `MethodCallNode` class, it would be silly not to use
that as the return type.
2021-06-15 15:13:54 +00:00
Taus
92063dc191
Python: Add change note
2021-06-15 15:13:03 +00:00
Taus
41ee325bc9
Python: Clean up Stdlib.qll
...
Not as many opportunities to clean stuff up here.
2021-06-15 15:04:30 +00:00
Taus
e90ec807ef
Python: Clean up Ssl.qll
2021-06-15 15:04:29 +00:00
Taus
82fab3ba75
Python: Clean up Cryptography.qll
2021-06-15 15:04:29 +00:00
Taus
d4b05547ba
Python: Add MethodCallNode class
...
Roughly patterned after the JS equivalent.
2021-06-15 15:04:29 +00:00
jorgectf
6bed8594f2
Match sanitizer inputs' naming
2021-06-15 16:27:32 +02:00
ihsinme
b118817fb8
Add files via upload
2021-06-15 16:52:39 +03:00
ihsinme
f5008d31f5
Add files via upload
2021-06-15 16:51:38 +03:00
ihsinme
4f2703e0aa
Add files via upload
2021-06-15 16:43:57 +03:00
ihsinme
bdab785bef
Add files via upload
2021-06-15 16:42:38 +03:00
Taus
87ee7849a9
Merge pull request #6077 from RasmusWL/fix-pypi-names
...
Python: Fixup for names of supported PyPI packages
2021-06-15 15:01:35 +02:00
yoff
b19d64f173
Merge pull request #6013 from RasmusWL/sensitive-improvements
...
Python: Improve sensitive data modeling
2021-06-15 14:45:40 +02:00
Calum Grant
771e686946
Update security-severity scores
2021-06-15 13:25:17 +01:00
Tom Hvitved
c03ee32f02
Python: Move cached predicates in type tracker library to same stage
2021-06-15 13:42:43 +02:00
Alex Ford
bf43a77df5
Include some more types of expressions as possible active record SQL sink arguments
2021-06-15 12:41:42 +01:00
Rasmus Wriedt Larsen
b1fb68bc54
Python: Rename .qll file for mysql-connector-python support
...
Just like our support for the `PyYAML` PyPI package that you import with
`import yaml` is in `Yaml.qll`.
Since this file does not provide any public predicates/modules, it
should be safe to rename it.
2021-06-15 13:06:53 +02:00
Rasmus Wriedt Larsen
b154f034cb
Python: Fix names of supported PyPI packages
2021-06-15 12:55:52 +02:00
Alex Ford
ea21c591af
remove accidentally unbound variable
2021-06-15 11:39:48 +01:00
Alex Ford
c1b9952517
account for chained method calls when constructing ActiveRecord SQL queries
2021-06-15 11:39:48 +01:00
Alex Ford
f8a77b9854
format QL
2021-06-15 11:39:48 +01:00
Alex Ford
57c04266e3
rename SqlExecutingMethodCall as PotentiallyUnsafeSqlExecutingMethodCall
2021-06-15 11:39:48 +01:00
Alex Ford
2d4bb61789
limit SqlExecutingMethodCall to those that are called with a StringlikeLiteral argument
2021-06-15 11:39:48 +01:00
Alex Ford
2c15b60998
add ActiveRecord find_by_sql as an SQL executing method call
2021-06-15 11:39:48 +01:00
Alex Ford
c641d12259
add shell ActiveRecord library tests
2021-06-15 11:39:48 +01:00
Alex Ford
5b7df8578a
cleanup ActiveRecord.qll
2021-06-15 11:39:48 +01:00
Alex Ford
7488d072d8
Model some SQL fragment sinks in ActiveRecord model classes
2021-06-15 11:39:48 +01:00
Alex Ford
743deee9ce
add a class to represent ActiveRecord models
2021-06-15 11:39:48 +01:00
Alex Ford
7d3eaf40ff
add base SqlExecution concepts
2021-06-15 11:39:48 +01:00
Tamas Vajk
255e422172
Apply code review findings
2021-06-15 11:35:10 +02:00
Rasmus Wriedt Larsen
00af18a622
Python: Autoformat
2021-06-15 11:31:38 +02:00
Rasmus Wriedt Larsen
156b10cb59
Merge branch 'main' into promote-clickhouse
2021-06-15 11:30:19 +02:00
Anders Schack-Mulligen
19305a217a
Merge pull request #5374 from joefarebrother/guava-base
...
Java: Model additional flow steps for the package `com.google.common.base` of the Guava framwork.
2021-06-15 10:58:48 +02:00
Tom Hvitved
501ba4bd8a
Merge pull request #6012 from hvitved/csharp/early-labels
...
C#: Populate labels earlier
2021-06-15 10:28:23 +02:00
Mathias Vorreiter Pedersen
b2e9fe79a7
C++: Add change-note.
2021-06-15 10:01:45 +02:00
Erik Krogh Kristensen
60920c1ecc
require that the URL refers to graphql in some way
2021-06-15 09:53:32 +02:00
Erik Krogh Kristensen
416c986cbc
add support for graphql in @actions/github
2021-06-15 09:43:11 +02:00
Asger Feldthaus
53bef94b75
JS: Extractor version bump
2021-06-15 09:34:54 +02:00
Tom Hvitved
3a37e321d5
Merge pull request #205 from github/hvitved/taint-tracking
...
Initial taint-tracking library
2021-06-15 09:30:59 +02:00
Cornelius Riemenschneider
0ebf53b9df
Merge pull request #6073 from geoffw0/loc
...
C++: Add lines of user code query
2021-06-15 09:18:46 +02:00
Tom Hvitved
5a9521372b
Merge pull request #206 from github/tausbn/fix-identical-files
2021-06-15 07:31:07 +02:00
jorgectf
c948970181
resolve merge conflicts
2021-06-15 01:24:04 +02:00
jorgectf
1662c5d113
resolve merge conflict
2021-06-15 01:22:11 +02:00
Mathias Vorreiter Pedersen
14a04ee453
C++: Accept more test changes. These all arise because we now transitively pull in 'semmle.code.cpp.Print' when including 'cpp'.
2021-06-14 22:02:46 +02:00
Mathias Vorreiter Pedersen
cc6ae7f8b8
Merge branch 'main' into path-sensitive-stack-variable-reachability-analysis
2021-06-14 22:02:46 +02:00
Mathias Vorreiter Pedersen
714ad105fe
C++: Accept test changes.
2021-06-14 22:02:38 +02:00
Mathias Vorreiter Pedersen
79926788d1
C++: Fix non-monotonic recursion problems in 'StackVariableReachabilityWithReassignment' by using the old StackVariableReachability predicates that don't care about paths.
2021-06-14 22:00:17 +02:00
Mathias Vorreiter Pedersen
c32f72063f
C++: Add path sensitivity to StackVariableReachability.
2021-06-14 21:59:13 +02:00
Shati Patel
cce8eac0a7
Merge pull request #5946 from shati-patel/vscode-custom-logs
...
Docs: Describe custom log directory setting in VS Code extension
2021-06-14 20:30:54 +01:00
Taus
2bbcbb2200
Bump submodule pointer
2021-06-14 19:04:22 +00:00
Aditya Sharad
75ed7c0568
Merge pull request #6014 from github/docs-4179-legacy-tools
...
Remove docs about legacy tools
2021-06-14 11:50:18 -07:00
Tom Hvitved
302b485f4c
Merge pull request #204 from github/hvitved/cfg-nodes-perf
...
Improve performance of `ExprChildMapping::reachesBasicBlock()`
2021-06-14 20:14:17 +02:00
Taus
068b980517
Update identical-files.json
...
As of https://github.com/github/codeql/pull/6063 we have now started using the shared type tracking library in Python as well. 🎉
2021-06-14 19:01:24 +02:00
Taus
c6c9a5110a
Merge pull request #6063 from tausbn/python-promote-type-tracking-library
...
Python: Promote shared type tracking library
2021-06-14 18:56:03 +02:00
Geoffrey White
d7db18213d
C++: Add a generated file to the test.
2021-06-14 16:21:30 +01:00
Geoffrey White
1e1ae27974
C++: Test the new query.
2021-06-14 16:06:20 +01:00
Geoffrey White
e71264d1d2
C++: Lines of user code query.
2021-06-14 16:03:16 +01:00
Tom Hvitved
6b63e032a9
C#: Populate labels earlier
2021-06-14 15:17:33 +02:00
Rasmus Wriedt Larsen
d19bc1252b
Python: limit size of extraStepForCalls predicate
...
On django/django, this reduced the number of results in
`extraStepForCalls` from 201,283 to 541
2021-06-14 15:06:42 +02:00
shati-patel
17f9aecab8
Docs: Update setting in CodeQL for VS Code
2021-06-14 13:38:06 +01:00
Rasmus Wriedt Larsen
cc311ac4cd
Python: Re-introduce syntactic handling of str/bytes/unicode (again)
...
This reverts commit 870389addb .
2021-06-14 14:23:12 +02:00
Rasmus Wriedt Larsen
870389addb
Revert "Python: Re-introduce syntactic handling of str/bytes/unicode"
...
This reverts commit c4987e94e0 .
Hoping that our new handling of builtins would solve this problem... but
it did not :|
2021-06-14 14:22:40 +02:00
Tom Hvitved
8aa337ab01
Initial taint-tracking library
2021-06-14 14:19:34 +02:00
Rasmus Wriedt Larsen
af13064f6a
Merge branch 'main' into pr/RasmusWL/5926
2021-06-14 14:17:33 +02:00
Rasmus Wriedt Larsen
4eed94a262
Python: Fix CWE tag for py/use-of-input
...
So it better matches what is in `py/code-injection`. I had my doubts
about CWE-95, but after reading
https://owasp.org/www-community/attacks/Direct_Dynamic_Code_Evaluation_Eval%20Injection
I think it's fine to add CWE-95 as well 👍
Definitions are:
CWE-78: Improper Neutralization of Special Elements used in an OS
Command ('OS Command Injection')
CWE-94: Improper Control of Generation of Code ('Code Injection')
CWE-95: Improper Neutralization of Directives in Dynamically Evaluated
Code ('Eval Injection')
2021-06-14 14:08:34 +02:00
Asger Feldthaus
c58942092f
JS: Add change note
2021-06-14 13:43:11 +02:00
Asger Feldthaus
bc375196d1
JS: Extract script tags with lang=tsx
2021-06-14 13:40:53 +02:00
Joe Farebrother
36cb207600
Increase precision of tests to test value flow
2021-06-14 11:20:07 +01:00
Tom Hvitved
b154c936c3
Improve performance of ExprChildMapping::reachesBasicBlock()
...
Since all expressions are now post-order, the logic of `reachesBasicBlock` can
be simplified, and performance can be improved as well.
2021-06-14 11:58:24 +02:00
Owen Mansel-Chan
5e89fce734
Avoid strange bug by commenting out two tests
2021-06-14 10:57:28 +01:00
CodeQL CI
02c017afec
Merge pull request #6058 from RasmusWL/more-aiohttp
...
Approved by yoff
2021-06-14 02:56:59 -07:00
Owen Mansel-Chan
8cf47f12b4
Model constructors of classes implementing MultivaluedMap
2021-06-14 10:56:35 +01:00
Felicity Chapman
60b4669813
Remove sentence about legacy tools
2021-06-14 08:41:28 +01:00
Taus
6333752014
Python: Add getAMethodCall to LocalSourceNode
...
This seems like something we have been missing for a while now, so I
figured it might be useful to add. It is roughly based on the JavaScript
equivalent, with one major difference: in the JavaScript libraries,
`getAMethodCall` is reserved for syntactic method calls (`obj.m(...)`)
whereas `getAMemberInvocation` is used for both this and the case where
the bound method `obj.m` is stored in a temporary variable and then
subsequently invoked in the same local scope.
It seems to me that the more general predicate is more useful, and hence
should have the simpler name. (And also we don't really work with a
notion of "invocation" in the Python libraries, so we would need a
better name for it anyway.)
I think as long as the documentation makes the behaviour clear, it
should be okay.
2021-06-11 21:26:58 +00:00
Taus
8016715fb6
Python: Add missing QLDoc
2021-06-11 20:35:58 +00:00
Taus
3869ab76d1
Python: Promote shared type tracking library
...
This was slightly messier than anticipated, as I hadn't accounted for
the dozen uses of `startInAttr` in our codebase. To circumvent this,
I decided to put the type tracking implementation in the `internal`
directory, and wrap it with a file that ensures the old interface still
works.
2021-06-11 20:20:22 +00:00
Jonas Jensen
e23b88b7f1
Merge pull request #6052 from jsinglet/jsinglet/stdtypes
...
Implementation of standard C/C++ fixed width, minimum width, and maximum width types
2021-06-11 17:03:01 +02:00
Calum Grant
85467adc5e
Merge pull request #5839 from github/security-severities5
...
Add security-severity scores
2021-06-11 15:56:20 +01:00
John L. Singleton
8c6c011be2
Formatting fixes, comment moving.
2021-06-11 10:17:05 -04:00
Joe Farebrother
678597f3f9
Update CSV rows for collection flow
2021-06-11 15:08:27 +01:00
John L. Singleton
9c946a79c7
Update cpp/change-notes/2021-06-10-std-types.md
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-11 09:49:44 -04:00
Rasmus Wriedt Larsen
53f7633662
Python: Model await request.post() as MultiDictProxy
...
as highlight as being quite easy to do by @yoff 👍
2021-06-11 14:53:30 +02:00
Chris Smowton
76838809bb
Merge pull request #5818 from artem-smotrakov/rmi-deserialization
...
Java: Unsafe RMI deserialization
2021-06-11 13:43:07 +01:00
yoff
97486b448a
Merge pull request #5999 from RasmusWL/aiohttp-modeling
...
Python: Add aiohttp.web modeling
2021-06-11 14:26:52 +02:00
Rasmus Wriedt Larsen
dee93783a2
Python: Update .expected for py/weak-sensitive-data-hashing
...
Now there is a path from the _imports_ of the functions that would
return sensitive data, so we produce more alerts.
I'm not entirely happy about this "double reporting", but I'm not sure
how to get around it without either:
1. disabling the extra taint-step for calls. Not ideal since we would
loose good sources.
2. disabling the extra sources based on function name. Not ideal since
we would loose good sources.
3. disabling the extra sources based on function name, for those calls
that would be handled with the extra taint-step for calls. Not ideal
since that would require running the data-flow query initially to
prune these out :|
So for now, I think the best approach is to accept some risk on this,
and ship to learn :)
2021-06-11 13:56:55 +02:00
Arthur Baars
88fb3c7097
Merge pull request #203 from github/aibaars/pack-qhelp-samples
...
Query pack: include .rb and .erb sample files from queries directory
2021-06-11 13:50:17 +02:00
Arthur Baars
909e6d5a62
Query pack: include .rb and .erb sample files from queries directory
...
These are required by the qhelp files.
2021-06-11 13:42:43 +02:00
Anders Schack-Mulligen
f24565738b
Merge pull request #6029 from atorralba/atorralba/tainted-key-read-steps
...
Java: Add Map key-read-steps as local additional taint steps
2021-06-11 13:14:18 +02:00
Joe Farebrother
dc19d1db35
Add change note
2021-06-11 11:41:30 +01:00
Joe Farebrother
04ffe80366
Add unit tests
2021-06-11 11:41:27 +01:00
Joe Farebrother
153e0c4ac3
Add modelling for more com.google.common.base methods
2021-06-11 11:40:37 +01:00
Rasmus Wriedt Larsen
df67028a1d
Python: Model aiohttp.StreamReader
2021-06-11 12:06:53 +02:00
Arthur Baars
78a6ed43c3
Merge pull request #202 from github/aibaars-patch-2
...
HardCodedCredentials: fix query metadata comment
2021-06-11 12:05:44 +02:00
Tony Torralba
c828c7031f
Add change note
2021-06-11 12:04:11 +02:00
Rasmus Wriedt Larsen
2d31ef7016
Python: Fix last TODOs in aiohttp tests
2021-06-11 12:00:02 +02:00
Arthur Baars
661d6e8e38
HardCodedCredentials: fix query metadata comment
2021-06-11 11:59:46 +02:00
Rasmus Wriedt Larsen
64a0e3fd0a
Merge branch 'main' into aiohttp-modeling
2021-06-11 11:42:24 +02:00
Rasmus Wriedt Larsen
8b8e1334cc
Python: Fix syntax error
2021-06-11 11:42:14 +02:00
Rasmus Wriedt Larsen
46f7a2b572
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-06-11 11:28:11 +02:00
Rasmus Wriedt Larsen
6f29b01abc
Python: Model rsa
2021-06-11 11:23:06 +02:00
Rasmus Wriedt Larsen
40714c05b7
Python: Add tests for rsa PyPI package
2021-06-11 11:17:13 +02:00
Rasmus Wriedt Larsen
3d5f379b8c
Merge branch 'main' into sensitive-improvements
2021-06-11 10:48:20 +02:00
John L. Singleton
cd61fb4753
this should be abstract
2021-06-10 19:54:58 -04:00
John L. Singleton
219dc71ae6
changlog entry
2021-06-10 17:15:06 -04:00
John L. Singleton
2a01324172
more maintainable pattern for class abstractions
2021-06-10 17:09:32 -04:00
Calum Grant
a594afb828
Add security-severity metadata
2021-06-10 20:11:08 +01:00
Erik Krogh Kristensen
50d574d20d
add graphql injection to the sql-injection query
2021-06-10 21:01:54 +02:00
Tom Hvitved
8860b8adf0
Merge pull request #198 from github/hvitved/desugar-compound-assignment
2021-06-10 19:39:54 +02:00
John L. Singleton
bd7c416356
comment change
2021-06-10 11:21:11 -04:00
John L. Singleton
0d3f53b013
Changes to structure per feedback of @jbj
2021-06-10 11:16:58 -04:00
Alex Ford
f74dff560b
Merge pull request #187 from github/hardcoded-credentials
...
Add rb/hardcoded-credentials query
2021-06-10 16:12:32 +01:00
Taus
e7b9603c5b
Merge pull request #6053 from RasmusWL/fix-tests
...
Python: Fix tests
2021-06-10 16:55:45 +02:00
Alex Ford
8839d4c584
limit additional flow steps in rb/hardcoded-credentials to string concatenation
2021-06-10 14:59:28 +01:00
Rasmus Wriedt Larsen
dd457f9641
Python: Fix tests
2021-06-10 15:58:56 +02:00
Alex Ford
fe45dadd55
set precision to high for rb/hardcoded-credentials
2021-06-10 14:52:26 +01:00
John L. Singleton
f174d7a0e0
Comment changes
2021-06-10 09:52:22 -04:00
John L. Singleton
14c419a75f
autoformatting
2021-06-10 09:39:43 -04:00
CodeQL CI
a241c114da
Merge pull request #5836 from RasmusWL/ec-class-improvement
...
Approved by tausbn
2021-06-10 06:20:56 -07:00
Rasmus Wriedt Larsen
04db33513e
Merge branch 'main' into sensitive-improvements
2021-06-10 15:11:09 +02:00
Rasmus Wriedt Larsen
ea0c1d7db3
Python: Better handling of sensitive functions
...
This solution was the best I could come up with, but it _is_ a bit
brittle since you need to remember to add this additional taint step
to any configuration that relies on sensitive data sources... I don't
see an easy way around this though :|
2021-06-10 15:08:21 +02:00
Tamas Vajk
916780a452
Fix codeql CLI path
2021-06-10 15:07:54 +02:00
Rasmus Wriedt Larsen
f167143a84
Python: Use real config in TestSensitiveDataSources
...
This will enable better tests in just one second
2021-06-10 15:01:31 +02:00
Rasmus Wriedt Larsen
c341643ec1
Python: Add more tests for sensitive function handling
2021-06-10 14:36:05 +02:00
Owen Mansel-Chan
e0130a932e
Update experimental query using NewCookie
2021-06-10 13:33:20 +01:00
Owen Mansel-Chan
c173b89529
Model NewCookie
2021-06-10 13:32:39 +01:00
Owen Mansel-Chan
ee6019a2d8
Fix tests for experimental httponly query
2021-06-10 13:31:28 +01:00
Rasmus Wriedt Larsen
eb4f168dd4
Python: Clarify SensitiveAttributeAccess
...
The comment about imports was placed wrong. I also realized we didn't
even have a single test-case for
`this.(DataFlow::AttrRead).getAttributeNameExpr() = sensitiveLookupStringConst(classification)`
so I added that (notice that this is only `getattr(foo, x)` and not
`getattr(foo, "password")`)
2021-06-10 14:09:47 +02:00
Owen Mansel-Chan
d5d27d5ccf
Duplicate tests for Jakarta
2021-06-10 10:43:40 +01:00
Owen Mansel-Chan
0ad35421f2
Comment out stubs (Jakarta)
2021-06-10 10:43:40 +01:00
Owen Mansel-Chan
318d1ea484
Stubs in javax-ws-rs-api-3.0.0
...
Generated using java-autostub
2021-06-10 10:43:39 +01:00
Owen Mansel-Chan
e6a6a8898b
Move Jax XSS sinks to JaxWS.qll and add tests
2021-06-10 10:43:39 +01:00
Owen Mansel-Chan
d1fe62d4d5
(Minor) Update comments to match ExternalFlow docs
2021-06-10 10:43:38 +01:00
Owen Mansel-Chan
1ae9d68409
Move and convert URL redirect sinks
...
Adds for them as well
2021-06-10 10:43:37 +01:00
Owen Mansel-Chan
f2ff2aa3e1
Add flow tests for JAX-RS
2021-06-10 10:43:37 +01:00
Owen Mansel-Chan
155d63d5f7
Add tests for JAX-RS
2021-06-10 10:43:36 +01:00
Owen Mansel-Chan
f63fd68bfb
Fix models to work with collection flow
...
And also removal of `Argument` with indices
2021-06-10 10:43:36 +01:00
Owen Mansel-Chan
e929de98ec
Delete duplicated taint summary rows
2021-06-10 10:43:35 +01:00
Owen Mansel-Chan
2b8bb5c231
Fix JAX-RS models
2021-06-10 10:43:35 +01:00
Owen Mansel-Chan
baa21c5bcf
Manually comment out parts of stubs
...
This is to avoid having to make more stubs, which we don't really need
2021-06-10 10:43:34 +01:00
Owen Mansel-Chan
caf96b01e1
Stubs in javax-ws-rs-api-2.1.1
...
Generated using java-autostub
2021-06-10 10:43:34 +01:00
Owen Mansel-Chan
7b3acd8b45
(Minor) Add missing this.
2021-06-10 10:43:33 +01:00
Owen Mansel-Chan
07f7fd0342
Add missing QLDocs in JaxWS.qll
...
And correct one QLDoc
2021-06-10 10:43:15 +01:00
Tamas Vajk
b067309909
Change artifact names
2021-06-10 11:26:07 +02:00
yoff
716627c1dd
Merge pull request #5878 from RasmusWL/fix-concept-tests-pretty-print
...
Python: Fix concept tests pretty print
2021-06-10 11:21:08 +02:00
Tamas Vajk
73aaeb4c0d
Change workflow names
2021-06-10 11:01:45 +02:00
Tamas Vajk
55dd6ed3d1
Allow space separated package patterns in framework-aggregated reports
2021-06-10 10:54:12 +02:00
Tamas Vajk
74c00383d2
Update java framework coverage reports
2021-06-10 10:26:34 +02:00
Tamas Vajk
3605b9f720
Update java framework data
2021-06-10 10:11:24 +02:00
Tamas Vajk
ba9c2e0702
Rework CSV report generator and change timeseries report to use framework.csv
2021-06-10 10:11:24 +02:00
Tamas Vajk
c6cb7c6eed
Rename time-series file to timeseries
2021-06-10 10:11:24 +02:00
Tamas Vajk
d0ec1e2f37
Generate file with package info
2021-06-10 10:11:24 +02:00
Tamas Vajk
3353c3ecdd
Add workflow to generate timeseries CSV coverage report
2021-06-10 10:11:24 +02:00
Tamas Vajk
4de4277a8d
Add timeseries CSV generator script
2021-06-10 10:11:23 +02:00
Tamas Vajk
270cf62f08
Fix variable reference
2021-06-10 10:11:23 +02:00
Tamas Vajk
49190615a7
Cleanup CSV coverage report generator
2021-06-10 10:11:23 +02:00
John L. Singleton
01cac13a48
format ql test files.
2021-06-09 17:16:26 -04:00
John L. Singleton
b91a0dbe16
removed accidental modification.
2021-06-09 17:12:59 -04:00
John L. Singleton
1fe3c9d093
removed accidental modification.
2021-06-09 17:11:39 -04:00
John L. Singleton
28e2cdb54e
adding standard C/C++ fixed width, minimum width, and maximum width types
2021-06-09 16:12:58 -04:00
Taus
b14fa8b4cd
Merge pull request #5925 from RasmusWL/pep249-import
...
Python: Use absolute import for PEP249
2021-06-09 18:32:28 +02:00
Dave Bartolomeo
4f81484e91
Merge pull request #6050 from MathiasVP/fix-join-order-in-addressOperandAllocationAndOffset
...
C++: Fix join order in `addressOperandAllocationAndOffset`
2021-06-09 12:20:50 -04:00
Shati Patel
bc4184e859
Merge pull request #6051 from github/shati-patel/rank
...
Clarify docs about rank aggregate
2021-06-09 16:03:34 +01:00
shati-patel
b5420a6f39
Update wording
2021-06-09 15:54:57 +01:00
shati-patel
0c9b53a9b2
Fix table formatting
2021-06-09 15:27:01 +01:00
shati-patel
405b2c84d6
Clarify how to think about rank aggregate
...
- Mention that `rank[1](...)` is the same as `min(...)`
- Make this (+ note about 1-based indexing) more visible
2021-06-09 15:25:28 +01:00
Mathias Vorreiter Pedersen
879bfbbd4e
C++: Match the join order from before #5522 .
2021-06-09 15:02:31 +02:00
Taus
e3a6daaecb
Merge pull request #6046 from RasmusWL/typetracking-attributes
...
Python: Add type-tracking test for attrs set in functions/methods
2021-06-09 14:45:48 +02:00
Rasmus Wriedt Larsen
aaddd36236
Python: Add another type-tracking attr test
...
This one just works out of the box 💪
2021-06-09 14:20:50 +02:00
Rasmus Wriedt Larsen
89cba216ca
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-06-09 14:15:59 +02:00
CodeQL CI
d65e6bbfa1
Merge pull request #6035 from erik-krogh/joi
...
Approved by asgerf
2021-06-09 04:42:54 -07:00
Rasmus Wriedt Larsen
dec6723183
Python: Minor refactor
...
A bit too much copy paste 😄
2021-06-09 12:19:11 +02:00
Rasmus Wriedt Larsen
fa6abea465
Python: Add modeling of jmespath
2021-06-09 12:14:35 +02:00
Rasmus Wriedt Larsen
5cdd60d0d6
Python: Add jmespath tests
2021-06-09 12:12:50 +02:00
Erik Krogh Kristensen
3e171adaab
update qldoc
...
Co-authored-by: Asger F <asgerf@github.com >
2021-06-09 10:45:55 +02:00
CodeQL CI
6bdd7df810
Merge pull request #6002 from erik-krogh/history
...
Approved by asgerf
2021-06-08 13:17:38 -07:00
CodeQL CI
a02f96d660
Merge pull request #6043 from erik-krogh/serialize-javascript-typo
...
Approved by asgerf
2021-06-08 12:18:52 -07:00
CodeQL CI
169e67cbb8
Merge pull request #5990 from erik-krogh/prettier
...
Approved by asgerf
2021-06-08 12:17:24 -07:00
Rasmus Wriedt Larsen
3d2de03674
Python: Add type-tracking test for attr set in function
2021-06-08 19:03:53 +02:00
Rasmus Wriedt Larsen
dcd448b743
Python: Refactor formatting
2021-06-08 19:03:53 +02:00
Rasmus Wriedt Larsen
09de1bcf44
Python: Add tests for type-tracking attrs on instances
2021-06-08 19:03:53 +02:00
Mathias Vorreiter Pedersen
8fb15666ee
Merge pull request #6041 from geoffw0/uncontrolled-allocation-size
...
C++: Add CWE-789 tag to cpp/uncontrolled-allocation-size.
2021-06-08 17:44:02 +02:00
Rasmus Wriedt Larsen
7c758f5c81
Python: Add change-note for twisted
2021-06-08 16:20:29 +02:00
Rasmus Wriedt Larsen
afd35f2e21
Python: Fix wording of change-note
...
`aiohttp.web` is a web _framework_, and not a web _server_.
2021-06-08 16:19:25 +02:00
Rasmus Wriedt Larsen
23f668f8ee
Python: Model redirects in twisted
2021-06-08 16:16:56 +02:00
Owen Mansel-Chan
2cb76fe407
Test JAX-WS endpoints
2021-06-08 15:12:04 +01:00
Owen Mansel-Chan
d9cf1aaf39
Add stubs for JAX-WS
2021-06-08 15:12:04 +01:00
Chris Smowton
55d584b044
Add doc comment for JaxWS file
2021-06-08 15:12:03 +01:00
Chris Smowton
f71897d166
Rename JAX-WS -> JAX-RS where necessary. Improve change note and fix missing QLDoc.
2021-06-08 15:12:03 +01:00
Chris Smowton
ca684bea0e
Jax-WS: support jakarta.ws.rs package everywhere
...
Releases since Java EE 9 use this.
2021-06-08 15:12:02 +01:00
Chris Smowton
adb5764aac
Add URL redirect sinks relating to JAX-WS
2021-06-08 15:12:02 +01:00
Chris Smowton
260a228367
Add change note
2021-06-08 15:12:02 +01:00
Chris Smowton
314980c64c
Model taint-propagating methods in the core JAX-WS library.
2021-06-08 15:11:57 +01:00
Rasmus Wriedt Larsen
a21039170b
Python: Model (most of) twisted
2021-06-08 16:11:18 +02:00
Chris Smowton
9335e095a9
MIME type -> content type
...
This matches the terminology used elsewhere
2021-06-08 15:05:28 +01:00
Chris Smowton
5f7165efbb
Add JaxWS XSS sink
...
Based on d44e4d0e63 by @lcartey
2021-06-08 15:05:27 +01:00
lcartey@github.com
cc497bf213
Java: Improve JaxRS modelling
...
- Handle inherited annotations
- Fix `ResponseBuilder` charpred.
- Model `@Produces` annotations.
2021-06-08 15:05:14 +01:00
Rasmus Wriedt Larsen
151a733ff2
Python: Add tests for twisted
...
These were largely based on the old tests in
6011cb74f8/python/ql/test/library-tests/web/twisted/test.py
2021-06-08 15:27:51 +02:00
CodeQL CI
fec39857fa
Merge pull request #6015 from erik-krogh/resolve
...
Approved by asgerf
2021-06-08 04:15:19 -07:00
CodeQL CI
6279c67949
Merge pull request #5901 from erik-krogh/regFP
...
Approved by asgerf
2021-06-08 04:14:06 -07:00
Erik Krogh Kristensen
4b98af0c2b
fix typo in prettier qldoc
...
Co-authored-by: Asger F <asgerf@github.com >
2021-06-08 13:13:33 +02:00
Erik Krogh Kristensen
ba6d504746
fix typo in SerializeJavascriptSanitizer qldoc
2021-06-08 13:12:23 +02:00
Geoffrey White
32545a1346
C++: Add CWE-789 tag to cpp/uncontrolled-allocation-size.
2021-06-08 10:59:03 +01:00
Tony Torralba
498c2250c7
Add missing QLDoc
2021-06-08 11:25:53 +02:00
Erik Krogh Kristensen
8b4c3c4462
refactor ValidationCall back to a CallNode
2021-06-08 11:18:49 +02:00
Mathias Vorreiter Pedersen
025043afca
Merge pull request #6010 from geoffw0/charloc
...
C++: Test and fix maxCols / charLoc
2021-06-08 11:15:04 +02:00
Tony Torralba
afab13e7ee
Add missing QLDoc
2021-06-08 11:09:59 +02:00
CodeQL CI
561c8d0e1a
Merge pull request #6033 from erik-krogh/serverlessLib
...
Approved by asgerf
2021-06-08 01:44:40 -07:00
CodeQL CI
95b591d72b
Merge pull request #6025 from erik-krogh/serve
...
Approved by asgerf
2021-06-08 01:42:38 -07:00
Tony Torralba
9024788a92
Add change note
2021-06-08 10:42:07 +02:00
Tony Torralba
48b0df4a3e
Add tests, minor bugfixes
2021-06-08 10:35:18 +02:00
Erik Krogh Kristensen
b1d7c61d8e
add missing qldoc
2021-06-08 09:56:32 +02:00
Erik Krogh Kristensen
1ad08677c2
model serve-handler in js/exposure-of-private-files
2021-06-08 09:52:56 +02:00
CodeQL CI
260ae47940
Merge pull request #6031 from asgerf/js/lines-of-user-code
...
Approved by erik-krogh
2021-06-08 00:37:51 -07:00
AlexDenisov
378a357251
Merge pull request #6032 from AlexDenisov/alexdenisov/fix-outdated-comment
...
C++: Remove outdated comment
2021-06-08 08:56:38 +02:00
Erik Krogh Kristensen
be7abede22
add model for the joi library
2021-06-07 20:04:17 +02:00
Felicity Chapman
44b9de04e5
Merge pull request #6011 from github/docs-4433-diagnostic-info
...
Make minimal changes to CodeQL docs for new diagnostic data
2021-06-07 17:20:15 +01:00
Felicity Chapman
aad738ba9f
Update docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst
...
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com >
2021-06-07 17:05:40 +01:00
Tony Torralba
d77d0c9e10
Added summaries for Spring PropertyValues
2021-06-07 17:35:03 +02:00
Erik Krogh Kristensen
7f09edcf59
add change note
2021-06-07 17:25:18 +02:00
Erik Krogh Kristensen
bcf08e6472
add remote flow source for the serverless library
2021-06-07 17:19:19 +02:00
Alex Denisov
a12954a403
C++: Remove outdated comment
2021-06-07 17:15:21 +02:00
AlexDenisov
d254524f3f
Merge pull request #6027 from AlexDenisov/alexdenisov/fix-string-literal-expectation
...
C++: Fix string literal expectation
2021-06-07 17:13:12 +02:00
Erik Krogh Kristensen
09a2c055a7
add test for the serverless express API
2021-06-07 16:50:01 +02:00
Asger Feldthaus
4cf3c11e83
JS: Add lines of user code summary query
2021-06-07 16:41:59 +02:00
Felicity Chapman
71019419e2
Update following writer review
2021-06-07 15:13:43 +01:00
Tamás Vajk
3f33f2de13
Merge pull request #5980 from tamasvajk/fix/extension-method-as-target
...
C#: Extract correct method symbol as target of extension method calls
2021-06-07 15:57:24 +02:00
Alex Ford
e26afe91b5
move rb/hardcoded-credential alert location to the source
2021-06-07 14:53:04 +01:00
Alex Ford
5d79a8cec0
account for keyword args in rb/hardcoded-credentials and simplify query
2021-06-07 14:49:49 +01:00
Erik Krogh Kristensen
a63b0b28d4
refactor the history library model, add support for the global variable
2021-06-07 15:42:13 +02:00
Erik Krogh Kristensen
5419143e72
remove createHashHistory from the history sink
2021-06-07 15:24:59 +02:00
CodeQL CI
4963a8f6b9
Merge pull request #6024 from erik-krogh/serialize-javascript
...
Approved by asgerf
2021-06-07 06:08:05 -07:00
Rasmus Wriedt Larsen
3819a361b5
Python: Autoformat
2021-06-07 14:16:33 +02:00
Felicity Chapman
d292be3880
Update the revised section
2021-06-07 12:00:20 +01:00
Felicity Chapman
e09774be03
Address technical review feedback
2021-06-07 11:49:28 +01:00
Geoffrey White
6f05fd4839
C++: Autoformat.
2021-06-07 11:01:00 +01:00
Tony Torralba
52f1930e1d
Add key-read-steps as local additional taint steps
2021-06-07 11:37:05 +02:00
Mathias Vorreiter Pedersen
3923acb5e0
Merge pull request #6017 from github/dbartol/pack/extra-queries-xml
...
C++: Replace an odd `queries.xml` with `qlpack.yml`
2021-06-07 10:58:19 +02:00
Rasmus Wriedt Larsen
e82ad6fc22
Python: Add missing QLDoc
2021-06-07 10:13:26 +02:00
Rasmus Wriedt Larsen
9dcb26d151
Python: Autoformat
...
I had not set up the pre-commit hook properly
2021-06-07 10:05:48 +02:00
Anders Schack-Mulligen
96da85449d
Merge pull request #5823 from atorralba/promote-jexl-injection
...
Java: Promote JEXL Injection query from experimental
2021-06-07 10:03:12 +02:00
Alex Denisov
17be6e1271
C++: Fix string literal expectation
2021-06-07 09:47:26 +02:00
Tamás Vajk
1a1b74cfcc
Merge pull request #5998 from tamasvajk/fix/tuple-members
...
C#: Fix container type extraction of tuple members
2021-06-07 09:18:05 +02:00
Erik Krogh Kristensen
5961dd1459
add another test for the resolve library
2021-06-06 22:54:12 +02:00
Erik Krogh Kristensen
0adc001df0
add taint-step for serialize-javascript
2021-06-06 22:48:53 +02:00
Erik Krogh Kristensen
dd2fe2a489
add the resolve library as a sink to js/path-injection
2021-06-06 22:04:32 +02:00
Dave Bartolomeo
ac3ded7d5a
Replace an odd queries.xml with qlpack.yml
...
This one C++ test has its own `queries.xml` to make "outside-of-source" path filtering work, as detailed in commit 2550788598 . I've replaced the `queries.xml` with `qlpack.yml`, added a comment, and added that pack to the `.codeqlmanifest.json` at the root of the repo. This will allow the library dependencies of this pack to be resolved without the need for a `--search-path` option with the upcoming packaging changes.
2021-06-06 09:04:18 -04:00
Dave Bartolomeo
e276e2684e
Merge pull request #5986 from MathiasVP/side-effects-for-nonconst-smart-pointers
...
C++: Fix `hasDefaultSideEffect` for non-const smart pointers
2021-06-04 13:57:44 -04:00
Tom Hvitved
962768e7c0
Disambiguate toStrings for nested synthetic local variables
2021-06-04 19:20:11 +02:00
Mathias Vorreiter Pedersen
8e8c2e677a
C++: Accept test changes.
2021-06-04 18:49:20 +02:00
Mathias Vorreiter Pedersen
27586d77f8
C++: Copy isDeeplyConst{Below} into SideEffects and modify it so that it works for smart pointers.
2021-06-04 18:46:52 +02:00
Mathias Vorreiter Pedersen
f2d7988d72
C++: Add tests involving various non-const and const smart pointers.
2021-06-04 18:46:05 +02:00
Geoffrey White
799e19bdc2
C++: Update the other version as well.
2021-06-04 16:21:04 +01:00
CodeQL CI
eb0491598a
Merge pull request #6009 from erik-krogh/whatwg-fetch
...
Approved by esbena
2021-06-04 08:19:36 -07:00
Geoffrey White
3c6a1f165b
Update cpp/ql/src/semmle/code/cpp/Location.qll
...
Co-authored-by: Jonas Jensen <jbj@github.com >
2021-06-04 16:19:11 +01:00
Tom Hvitved
82fbc03889
Merge pull request #200 from github/hvitved/dataflow/call-sensitivity
...
Data flow: Call-sensitive resolution of lambda/block calls
2021-06-04 16:25:13 +02:00
Felicity Chapman
919555cae4
Remove info for legacy tools
2021-06-04 15:13:24 +01:00
Chris Smowton
4ddf4558a7
Merged simplified query
2021-06-04 16:07:15 +02:00
Mathias Vorreiter Pedersen
f21e949898
Merge pull request #6007 from geoffw0/weak_crypto2
...
C++: Combine results for cpp/weak-cryptographic-algorithm
2021-06-04 16:06:29 +02:00
Tom Hvitved
3c7c10a424
Merge pull request #5991 from hvitved/java/shared-external-source-sink
...
Java: Move common CSV logic for sources and sinks into shared library
2021-06-04 16:04:25 +02:00
Alex Ford
ec326bfcb7
Merge pull request #201 from github/perm-file-report-source
...
Report rb/weak-file-permission alerts at source rather than sink and improve alert message
2021-06-04 14:52:48 +01:00
Rasmus Wriedt Larsen
7f119dd5a9
Python: Add change-note
2021-06-04 15:27:36 +02:00
Geoffrey White
b24dc810c9
C++: Combine results from cpp/weak-cryptographic-algorithm that are in the same file.
2021-06-04 14:04:02 +01:00
Tamas Vajk
b3a2998d96
Fix failing test after rebase
2021-06-04 14:34:45 +02:00
Tamas Vajk
75060baaa3
Add change note
2021-06-04 14:33:12 +02:00
Tamas Vajk
33daa2c41d
Fix container type extraction of tuple members
2021-06-04 14:33:12 +02:00
Tamas Vajk
4f4bf59cd4
C#: Add tuple member tests
2021-06-04 14:33:12 +02:00
Tom Hvitved
42202402a4
Address review comments
2021-06-04 14:32:37 +02:00
Felicity Chapman
2a9904d1fd
Make minimal changes to CodeQL docs
2021-06-04 13:27:23 +01:00
Alex Ford
8a3ffb6dca
add missing toString
2021-06-04 13:25:03 +01:00
Alex Ford
b2d36babc4
report rb/weak-file-permission alerts at source rather than sink and improve alert message
2021-06-04 13:10:18 +01:00
Geoffrey White
a93246d28b
C++: Fix maxCols.
2021-06-04 13:05:13 +01:00
Geoffrey White
ea96826810
C++: Add a test of charLoc and subsumes.
2021-06-04 13:05:07 +01:00
Nick Rolfe
523a0b1f12
Merge pull request #197 from github/upgrade-pack
2021-06-04 13:03:39 +01:00
Tamas Vajk
f98781db63
Fix non-constructed generic extension method extraction
2021-06-04 13:34:19 +02:00
Tamas Vajk
127d66ccd1
Remove unneeded ReducedExtension method handling
2021-06-04 13:34:19 +02:00
Tamas Vajk
e05e2365ea
C#: Extract correct method symbol as target of extension method calls
2021-06-04 13:34:19 +02:00
Tamas Vajk
fc0fc740ac
C#: Add test for extension method calls
2021-06-04 13:32:03 +02:00
Nick Rolfe
6203c9019a
Remove reference to deleted upgrades qlpack from manifest
2021-06-04 12:15:36 +01:00
Erik Krogh Kristensen
46f90006c2
add model for whatwg-fetch
2021-06-04 13:13:13 +02:00
Tom Hvitved
61e35ddae1
Data flow: Call-sensitive resolution of lambda/block calls
2021-06-04 12:58:38 +02:00
Tom Hvitved
77146e4e04
Data flow: Reduce caching
...
These predicates are now cached in the shared implementation.
2021-06-04 12:53:47 +02:00
Tom Hvitved
f9eecfb59f
Bump codeql submodule
2021-06-04 12:52:05 +02:00
Anders Schack-Mulligen
f73960da8f
Merge pull request #5788 from Marcono1234/marcono1234/stmt-toString
...
Java: Override toString() for statements
2021-06-04 12:41:03 +02:00
Anders Schack-Mulligen
60377a8f86
Merge pull request #5383 from smowton/smowton/feature/strbuilder-fluent-methods
...
Java: Add models for StrBuilder's fluent methods
2021-06-04 12:33:24 +02:00
Anders Schack-Mulligen
30cb80b341
Merge pull request #5181 from smowton/smowton/feature/commons-tostringbuilder
...
Java: Add models for Commons ToStringBuilder
2021-06-04 12:30:36 +02:00
Rasmus Wriedt Larsen
350f79e1e1
Python: Model sensitive data based on variable names
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
f5fd0f8d1c
Python: Model sensitive data based on parameter names
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
925e67d734
Python: Model sensitive data from subscripts
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
d6532e280a
Python: minor cleanup in SensitiveDataSources
2021-06-04 11:28:07 +02:00
Rasmus Wriedt Larsen
00a71a1c41
Python: Port sensitive data modeling
...
No longer using points-to 🎉
2021-06-04 11:28:07 +02:00
Tom Hvitved
6678ac0347
Desugar compound assignments
2021-06-04 10:39:06 +02:00
Tom Hvitved
da9adfbab4
Improve performance of desugaring transformations
2021-06-04 10:34:00 +02:00
Tom Hvitved
57eee0368d
Add CFG tests for compound assignments
2021-06-04 10:34:00 +02:00
Tom Hvitved
dfcf4c90ab
Merge pull request #199 from github/hvitved/splat-expr
...
Rename `(Hash)SplatArgument` to `(Hash)SplatExpr` and make them `UnaryOperation`s
2021-06-04 10:33:42 +02:00
Tamás Vajk
8d7f8a5bab
Merge pull request #5997 from tamasvajk/fix/colliding-method-ids
...
C#: Base IDs for constructed methods on their unconstructed counterparts
2021-06-04 10:29:53 +02:00
Tamás Vajk
63c6ddd426
Merge pull request #6000 from tamasvajk/feature/extract-non-public-symbols
...
C#: Change compilation settings to include all non-public symbols
2021-06-04 10:28:55 +02:00
Tom Hvitved
1007f2aaff
Rename (Hash)SplatArgument to (Hash)SplatExpr and make them UnaryOperations
2021-06-04 10:04:06 +02:00
Tom Hvitved
372f8645a9
Add (hash)splat AST tests
2021-06-04 09:53:14 +02:00
Tony Torralba
58aa25ddc2
Fix QLDocs
2021-06-04 09:32:00 +02:00
yo-h
8d879facf7
Merge pull request #5988 from github/AlonaHlobina-patch-1
...
Update versions-compilers.rst
2021-06-03 13:56:28 -04:00
yo-h
c0aadcf8ba
Update docs/codeql/support/reusables/versions-compilers.rst
2021-06-03 13:49:57 -04:00
Nick Rolfe
8b987757c6
Merge upgrades qlpack into ql/src
2021-06-03 18:28:20 +01:00
Tom Hvitved
2094aa983a
Merge pull request #194 from github/hvitved/desugar-child
2021-06-03 18:07:33 +02:00
Mathias Vorreiter Pedersen
d450aa2ce4
C++: Add some testcases that require path sensitivity.
2021-06-03 18:02:29 +02:00
Marcono1234
6003b6edd2
Java: Adjust change note for statement toString() changes
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-06-03 17:17:00 +02:00
Marcono1234
485b0be805
Java: Fix expected test output
2021-06-03 17:15:00 +02:00
Arthur Baars
03ef1261d3
Merge pull request #192 from github/aibaars/release-workflow
...
Build workflow: create release
2021-06-03 16:52:50 +02:00
Marcono1234
2889f94128
Java: Add change note for statement toString() changes
2021-06-03 16:27:37 +02:00
Marcono1234
e0a45507f8
Java: Adjust toString() for statements
2021-06-03 16:27:36 +02:00
Marcono1234
7e778bc008
Java: Override toString() for statements
...
Additionally remove redundant QLDoc which is inherited anyways.
2021-06-03 16:27:35 +02:00
Anders Schack-Mulligen
bd9e3d0fa9
Merge pull request #5751 from aschackmull/java/collection-flow
...
Java: Convert all collection and array steps from taint flow to value flow.
2021-06-03 15:29:14 +02:00
Tom Hvitved
908e9ff3b5
Include desugared node in AstDesugar.ql
2021-06-03 14:46:32 +02:00
Tom Hvitved
cc02c95092
C#: Sync files
2021-06-03 13:54:51 +02:00
Tom Hvitved
d0b6808299
Java: Move common CSV logic for sources and sinks into shared library
2021-06-03 13:54:51 +02:00
Rasmus Wriedt Larsen
3b68c87b6c
Python: Add sensitive data test-cases
2021-06-03 13:38:29 +02:00
Tamas Vajk
1ce7c631ff
Fix failing tests
2021-06-03 13:01:42 +02:00
Erik Krogh Kristensen
d30f53a21a
add change note
2021-06-03 12:35:39 +02:00
Erik Krogh Kristensen
608a0314df
add location reads from the history libary as client-side remote flow
2021-06-03 12:33:25 +02:00
Erik Krogh Kristensen
e543c6c665
add a js/client-side-unvalidated-url-redirection sink for the history library
2021-06-03 12:23:05 +02:00
Rasmus Wriedt Larsen
79bef11cf7
Python: Use "new" SensitiveDataHeuristics
2021-06-03 12:10:29 +02:00
Tamas Vajk
793e3db085
C#: Change compilation settings to include all non-public symbols
2021-06-03 11:54:05 +02:00
Rasmus Wriedt Larsen
e9acea8643
Python: Improve multidict modeling
2021-06-03 11:50:49 +02:00
Rasmus Wriedt Larsen
2e851cd5f0
Python: Improve yarl.URL modeling
2021-06-03 11:38:15 +02:00
Rasmus Wriedt Larsen
9372e3b284
Python: Add aiohttp.web change-note
2021-06-03 11:23:28 +02:00
Tamas Vajk
5a3a011b8e
Fix test results
2021-06-03 11:17:01 +02:00
Tom Hvitved
3d60c146ad
C#: Base IDs for constructed methods on their unconstructed counterparts
2021-06-03 11:11:32 +02:00
Tamas Vajk
d044b15533
C#: Add colliding method ID tests
2021-06-03 11:11:32 +02:00
Tony Torralba
56a429a5f9
Merge branch 'main' into promote-jexl-injection
2021-06-03 11:10:56 +02:00
Tony Torralba
607dcd4a27
Don't use CSV models for private flow configs
2021-06-03 11:05:13 +02:00
Rasmus Wriedt Larsen
3c47e583d8
Python: Add test for missing data-flow step in aiohttp.web
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
2dbbf52903
Python: Model HTTP responses in aiohttp.web
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
735df4597f
Python: Aiohttp add response tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
5d4140d3e2
Python: Handle more complicated route-setup in aiohttp
...
Since we want to be able to easy select request-handlers that are not
set up as part of a view-class, we need to easily be able to identify
those. To handle cases like the one below, we _can't_ just define these
to be all the async functions that are not methods on a class :(
```py
# see https://docs.aiohttp.org/en/stable/web_quickstart.html#organizing-handlers-in-classes
class MyCustomHandlerClass:
async def foo_handler(self, request): # $ MISSING: requestHandler
return web.Response(text="MyCustomHandlerClass.foo")
my_custom_handler = MyCustomHandlerClass()
app.router.add_get("/MyCustomHandlerClass/foo", my_custom_handler.foo_handler) # $ routeSetup="/MyCustomHandlerClass/foo"
```
So it seemed easiest to narrow down the route-setups, but that means we
want both refinement and extensibility... so `::Range` pattern to the
rescue 🎉
The important piece of code that still works after this commit, but
which hasn't been changed, is the one below:
```codeql
/**
* A parameter that will receive a `aiohttp.web.Request` instance when a request
* handler is invoked.
*/
class AiohttpRequestHandlerRequestParam extends Request::InstanceSource, RemoteFlowSource::Range,
DataFlow::ParameterNode {
AiohttpRequestHandlerRequestParam() {
exists(Function requestHandler |
requestHandler = any(AiohttpCoroutineRouteSetup setup).getARequestHandler() and
```
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
919a0b6b84
Python: aiohttp route setup is more complicated than expected
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
c69b857662
Python: Add self.request as RemoteFlowSource for aiohttp View
...
Just like we do for Django in
7393443f8c/python/ql/src/semmle/python/frameworks/Django.qll (L1786-L1804)
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
c4b618dcf5
Python: Model view-classes in aiohttp.web
...
No taint modeling of them yet though
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
8c039d5688
Python: Add more aiohttp view routing tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
1aa222d7cc
Python: Add taint-test for class-based view
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
fb21bc04fa
Python: Add taint-steps for yarl.URL
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
72e6a1489c
Python: Add taint-steps for MultiDictProxy
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
e76f02b016
Python: Minor refactor to use LocalSourceNode
...
This just more correctly reflects the reality, since the type-tracking
predicate just below only holds for LocalSourceNode anyway.
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
dd131e6bf7
Python: Add taint-step for methods on aiohttp.web.Request
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
63c7fa0c2c
Python: aiohttp match_info should be tainted
...
Whoops
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
597a9dfc80
Python: Don't consider has_body tainted
...
Although it technically is, I think it belong in the section of things
that are unlikely to be exploitable
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
d953ea47d4
Python: Basic handling of tainted attributes in aiohttp
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
88158e7414
Python: Add basic model setup for aiohttp.web.Request
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
2b992a635a
Python: Add aiohttp taint tests
2021-06-03 10:55:34 +02:00
Rasmus Wriedt Larsen
3cbb909a3a
Python: Add modeling of coroutine routes in aiohttp.web
2021-06-03 10:55:33 +02:00
Rasmus Wriedt Larsen
fa1d4e6de7
Python: Extract poor mans function resolution (from django)
...
Since I also want to use this for aiohttp.web modeling
2021-06-03 10:55:33 +02:00
Rasmus Wriedt Larsen
85d9483c7b
Python: Add basic aiohttp tests
2021-06-03 10:55:33 +02:00
Tony Torralba
00836c4bac
Fix QLDocs
2021-06-03 10:52:52 +02:00
Tony Torralba
2833f8daa4
Change predicate isUnsafeEngine -> isSafeEngine to improve performance
2021-06-03 10:42:41 +02:00
CodeQL CI
ffad65be40
Merge pull request #5993 from erik-krogh/lib-debug
...
Approved by esbena
2021-06-03 01:38:57 -07:00
CodeQL CI
60fb1a3b59
Merge pull request #5995 from erik-krogh/webpack-merge
...
Approved by esbena
2021-06-03 01:38:08 -07:00
CodeQL CI
7663095b57
Merge pull request #5948 from erik-krogh/fixRandom
...
Approved by esbena
2021-06-03 01:37:23 -07:00
CodeQL CI
40b6c85341
Merge pull request #5972 from erik-krogh/ts43
...
Approved by esbena
2021-06-03 01:35:58 -07:00
CodeQL CI
87268d57b8
Merge pull request #5994 from erik-krogh/abstractMongooseFunction
...
Approved by esbena
2021-06-03 01:34:44 -07:00
Tony Torralba
34a8383c1a
Unused import
2021-06-03 10:22:53 +02:00
Tony Torralba
9cb0e3371c
Bidirectional import in ExternalFlow.qll
2021-06-03 10:22:42 +02:00
Tony Torralba
56d6fc951c
Fixed some QLDoc
2021-06-03 10:22:15 +02:00
Tony Torralba
ae0a00e30a
Added change note
2021-06-03 10:21:59 +02:00
AlonaHlobina
99708c33fd
Update versions-compilers.rst
2021-06-03 09:50:18 +02:00
Anders Schack-Mulligen
e86c534c48
Revert "Java: Update coverage."
...
This reverts commit 1c081eeaed .
2021-06-03 09:02:49 +02:00
Anders Schack-Mulligen
c86d433e2d
Merge pull request #5996 from tamasvajk/feature/csv-coverage-2
...
Temporarily disable CSV coverage PR file comparison step
2021-06-03 08:51:44 +02:00
Anders Schack-Mulligen
acca26f1d6
Merge pull request #5992 from hvitved/java/is-unreachable-perf
...
Java: Improve performance of `isUnreachableInCall()`
2021-06-03 08:49:51 +02:00
Tamas Vajk
374adc8819
Temporarily disable CSV coverage PR file comparison step
2021-06-03 08:17:28 +02:00
Erik Krogh Kristensen
3bda1f2e26
update expected test output
2021-06-03 00:43:54 +02:00
Erik Krogh Kristensen
143bf9de14
add change note
2021-06-02 23:48:29 +02:00
Erik Krogh Kristensen
48ab630559
model webpack-merge as an extend call
2021-06-02 23:43:53 +02:00
Erik Krogh Kristensen
185811ee22
make MongooseFunction abstract
2021-06-02 23:23:30 +02:00
Erik Krogh Kristensen
431c995131
add support for the debug library
2021-06-02 23:11:15 +02:00
Erik Krogh Kristensen
69d6c74e7e
fix typescript version
2021-06-02 21:56:47 +02:00
Erik Krogh Kristensen
1e19da155c
move TaintedPath sink into TaintedPathCustomizations to avoid side-effects
2021-06-02 21:25:48 +02:00
AlonaHlobina
98ee763d57
Update docs/codeql/support/reusables/versions-compilers.rst
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2021-06-02 20:56:06 +02:00
Tom Hvitved
daf2cc3d53
Java: Improve performance of isUnreachableInCall()
2021-06-02 20:39:05 +02:00
Erik Krogh Kristensen
27ff256b0e
add change note
2021-06-02 15:34:01 +02:00
Erik Krogh Kristensen
788c5ba701
add support for the prettier API
2021-06-02 15:33:08 +02:00
Anders Schack-Mulligen
8e6dd51f50
Merge pull request #5868 from Marcono1234/marcono1234/ignore-not-closing-char-array-closeable
...
Java: Ignore char array based closeables for CloseReader.ql and CloseWriter.ql
2021-06-02 15:00:59 +02:00
AlonaHlobina
f9ede137f9
Update versions-compilers.rst
2021-06-02 14:19:18 +02:00
Chris Smowton
7382b349c2
Merge pull request #5987 from aschackmull/java/query-metadata
...
Java: Add missing metadata.
2021-06-02 12:40:34 +01:00
Anders Schack-Mulligen
8a20395857
Merge pull request #5940 from pwntester/main
...
Remove XSS sink for Java
2021-06-02 12:30:20 +02:00
Anders Schack-Mulligen
c0e562de21
Merge pull request #5979 from hvitved/java/shared-external-summaries
...
Java: Move some CSV flow summary code into shared library
2021-06-02 12:28:45 +02:00
Tony Torralba
d476459727
Use InlineExpectationsTest
2021-06-02 12:15:26 +02:00
Tony Torralba
b30c92e69e
Refactored into MvelInjection.qll using CSV models
2021-06-02 11:33:01 +02:00
Alvaro Muñoz
a3a215afea
HTTP -> Http
2021-06-02 11:12:39 +02:00
Anders Schack-Mulligen
5e96e28792
Java: Add missing metadata.
2021-06-02 10:24:46 +02:00
Tony Torralba
59e6e1ffac
Moved from experimental
2021-06-02 09:58:30 +02:00
Tamás Vajk
348fab82fd
Merge pull request #5970 from tamasvajk/feature/csv-coverage-impr
...
Improve error reporting in CI check for CSV coverage report comparison
2021-06-02 09:03:35 +02:00
Alvaro Muñoz
9aba92397d
lift XssSink check to InformationLeakSink
2021-06-01 17:16:41 +02:00
Jonas Jensen
7282ad90d0
Merge pull request #5854 from dbartol/dbartol/smart-pointers/side-effects
...
C++: Generate side effect instructions for smart pointer indirections
2021-06-01 16:57:05 +02:00
Dave Bartolomeo
da14647e5a
Merge pull request #5522 from github/rdmarsh2/cpp/ssa-reuse
...
C++: reuse unaliased SSA results when computing aliased SSA
2021-06-01 10:17:54 -04:00
Anders Schack-Mulligen
650c4f19d2
Java: More qldoc.
2021-06-01 16:09:17 +02:00
Arthur Baars
63475dc692
Merge pull request #195 from github/escape_field_name
...
Escape field names with table storage
2021-06-01 14:55:46 +02:00
Alvaro Muñoz
970b4e7d6a
update java library coverage documentation
2021-06-01 14:54:31 +02:00
Anders Schack-Mulligen
922b421a45
Java: Add change note.
2021-06-01 14:33:52 +02:00
Nick Rolfe
1388d82f1d
Escape field names with table storage
2021-06-01 13:32:13 +01:00
Nick Rolfe
9c199b6c2a
Merge pull request #193 from github/tausbn/autogenerate-qldoc
...
Autogenerate QLDoc for `TreeSitter.qll`
2021-06-01 13:31:32 +01:00
Anders Schack-Mulligen
1c081eeaed
Java: Update coverage.
2021-06-01 14:00:05 +02:00
Tom Hvitved
5bafc0c708
Merge pull request #183 from github/hvitved/assign-op-desugar
...
Desugar setter assignments
2021-06-01 14:00:04 +02:00
Alvaro Muñoz
0fb692400c
fix failing test
2021-06-01 13:57:13 +02:00
Alex Ford
f27dd45e4c
run formatter
2021-06-01 12:29:45 +01:00
Tom Hvitved
ecf7f24cde
C#: Sync latest FlowSummaryImpl.qll changes
2021-06-01 13:22:14 +02:00
Tom Hvitved
14f9a5c280
Java: Move some CSV flow summary code into shared library
2021-06-01 13:22:14 +02:00
Alex Ford
907bb9b556
add a comment
2021-06-01 12:22:04 +01:00
Alex Ford
1f931d6f76
rb/hardcoded-credentials: fix bad bracketing
2021-06-01 12:22:04 +01:00
Alex Ford
fdd4f7f616
attempt to use typetracker in rb/hardcoded-credentials
2021-06-01 12:22:04 +01:00
Alex Ford
c530ba5b11
format ql
2021-06-01 12:22:04 +01:00
Alex Ford
f1303e0ced
remove WIP files
2021-06-01 12:22:04 +01:00
Alex Ford
10175e1398
remove WIP files
2021-06-01 12:22:04 +01:00
Alex Ford
4fdd072603
WIP: HardcodedCredentials query
2021-06-01 12:22:04 +01:00
Henning Makholm
534e771309
Merge pull request #5934 from github/hmakholm/pr/monotonic-agg
...
QL language reference: add monotonic aggregate example
2021-06-01 13:10:50 +02:00
Taus
53b7492aa3
Generate QLDoc for getChild
2021-06-01 10:57:39 +00:00
Taus
6cf7a12c8c
Undo field name escaping
2021-06-01 10:56:45 +00:00
Tamás Vajk
e7a349be2d
Merge pull request #5978 from tamasvajk/fix/change-note-workflow
...
Fix change note workflow to handle paginated results
2021-06-01 12:50:32 +02:00
Anders Schack-Mulligen
fc913e744e
Java: Minor model fix.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
dbe352f3ff
Java: Remove deprecated tests.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
901996f9fd
Java: Add collection flow test.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
43d1b0ab27
Java: Update qltests.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
a40880af70
Java: Add read-as-taint and config-dependent store-as-taint.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
2f087e17cb
Java: Allow <> in types for now.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
3f538e7fac
Java: Update some models.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
9e313d0cf6
Java: Remove container taint steps.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
3b6cef4f74
Java: Add container flow models.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
ffd52bb673
Java: Fix bug in matching generic signatures.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
1001dd84e6
Java: Switch array steps and one containerstep.
2021-06-01 11:47:52 +02:00
Anders Schack-Mulligen
ce509eb7e1
Merge pull request #5927 from aschackmull/dataflow/flowthrough-dispatch-perf
...
Dataflow: Improve performance in flow-through pruning
2021-06-01 11:46:22 +02:00
Anders Schack-Mulligen
a4661e1aca
Merge pull request #5704 from edvraa/regexj
...
Java: Regex injection
2021-06-01 11:45:59 +02:00
Artem Smotrakov
8dc1451d42
Better recommendation in UnsafeDeserializationRmi.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-06-01 12:16:09 +03:00
Erik Krogh Kristensen
0b225419a3
Merge pull request #5977 from security-prince/patch-1
...
Adding reference link for csurf
2021-06-01 11:07:36 +02:00
Tom Hvitved
5771b0420f
Merge pull request #5936 from hvitved/csharp/cfg/perf-tweaks
...
C#: Various CFG related performance tweaks
2021-06-01 11:06:01 +02:00
Anders Schack-Mulligen
5d21c64247
Dataflow: qldoc fix.
2021-06-01 10:49:47 +02:00
Tamas Vajk
bc02f28ddd
Fix change note workflow to handle paginated results
2021-06-01 10:44:44 +02:00
Jonas Jensen
2261085cfe
Merge pull request #5973 from MathiasVP/more-uncontrolled-arith-improvements
...
C++: More `cpp/uncontrolled-arithmetic` improvements
2021-06-01 10:44:29 +02:00
Anders Schack-Mulligen
4f9a6c151b
Dataflow: Code review fixes.
2021-06-01 10:29:17 +02:00
Mathias Vorreiter Pedersen
8765c33847
C++: Also check the number of parameters to keep the tests happy.
2021-06-01 10:17:57 +02:00
Ishaq Mohammed
96150a455d
Update javascript/ql/src/Security/CWE-352/MissingCsrfMiddleware.qhelp
...
Co-authored-by: Erik Krogh Kristensen <erik-krogh@github.com >
2021-06-01 13:47:43 +05:30
Ishaq Mohammed
975355de4a
Adding reference link for csurf
2021-06-01 13:41:25 +05:30
Mathias Vorreiter Pedersen
615c805b2c
C++: Only use std::rand as a source of randomness.
2021-06-01 09:28:06 +02:00
Taus
d38520dc73
Escape field names correctly
...
This should make `field('unique', $.whatever)` valid again.
2021-05-31 20:56:29 +00:00
Taus
64090b086c
Autogenerate QLDoc for TreeSitter.qll
...
It's not quite perfect, as there's still some QLDoc missing on the
various `getChild` methods, but it wasn't immediately clear to me how
to get this working (especially since the QLDoc would ideally be
different depending on whether there was a child index or not).
Then again, `getChild` probably has a pretty intuitive meaning...
2021-05-31 20:54:10 +00:00
Henning Makholm
70b9739d2d
QL language reference: add monotonic aggregate example
...
It's easier to understand what's going on if we start with a
(contrived) example that _doesn't_ involve recursion.
2021-05-31 21:23:08 +02:00
Tom Hvitved
3ffef634d7
More synthesis refactoring
...
- Join `TElementReferenceSynth` and `TMethodCallSynth`.
- Move arity and setter information into `MethodCallKind`.
- Add `Synthesis::methodCall` for specifying which method calls need synthesis.
2021-05-31 16:29:41 +02:00
Mathias Vorreiter Pedersen
41c93d92d7
C++: Remove FPs from right shifts and explicitly bounded random functions.
2021-05-31 15:40:02 +02:00
Mathias Vorreiter Pedersen
10755ece88
C++: Add testcase with bounded randomness source.
2021-05-31 15:33:39 +02:00
Anders Schack-Mulligen
683f853fa5
Dataflow: Fix another bad join order.
2021-05-31 15:14:13 +02:00
Erik Krogh Kristensen
85bd8f1020
add change-note for TypeScript 4.3
2021-05-31 13:08:52 +02:00
Erik Krogh Kristensen
e6b1c61e81
add tests for TypeScript 4.3
2021-05-31 13:08:43 +02:00
Erik Krogh Kristensen
2cc2d116bc
bump extractor version
2021-05-31 13:08:24 +02:00
Erik Krogh Kristensen
35d7fda5e2
update typescript to 4.3 in the extractor
2021-05-31 13:08:09 +02:00
Mathias Vorreiter Pedersen
6d7b95c15d
Merge pull request #5966 from erik-krogh/overrideConsistency
...
CPP/C#: make some parameter names consistent with the names used in the super class
2021-05-31 11:57:10 +02:00
Jonas Jensen
4e502d10d6
Merge pull request #5951 from MathiasVP/optimize-switcCase-getAStmt
...
C++: Remove large antijoin in `SwitchCase.getAStmt`
2021-05-31 11:50:32 +02:00
Taus
bae3728e3c
Merge pull request #5945 from RasmusWL/minor-qldoc-cleanup
...
Python: Minor QLDoc cleanup
2021-05-31 11:40:44 +02:00
Taus
d9911a016e
Merge pull request #5933 from RasmusWL/expand-use-of-input-test
...
Python: Expand test of py/use-of-input
2021-05-31 11:39:33 +02:00
Mathias Vorreiter Pedersen
b4e4c12d0f
C++: Use a rank aggregate for a much better implementation.
2021-05-31 11:17:09 +02:00
Jonas Jensen
f97b8ad1d4
Merge pull request #5961 from MathiasVP/fix-FPs-in-incorrect-allocation-error-handling
...
C++: Exclude custom `operator new` from `cpp/incorrect-allocation-error-handling`
2021-05-31 10:54:59 +02:00
Mathias Vorreiter Pedersen
66d284ee59
Merge pull request #5766 from ihsinme/ihsinme-patch-267
...
CPP: Add query for CWE-415 Double Free
2021-05-31 10:51:32 +02:00
ihsinme
d808a5b131
Update cpp/ql/test/experimental/query-tests/Security/CWE/CWE-415/semmle/tests/test.c
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-31 11:16:38 +03:00
Mathias Vorreiter Pedersen
175fdbb105
C++: Replace exists(not ...) with not exists(...).
2021-05-31 09:54:24 +02:00
Tamas Vajk
18931e39c8
Improve error reporting in CI check for CSV coverage report comparison
2021-05-31 09:52:14 +02:00
haby0
d6782767b7
Fix typos
2021-05-31 11:12:22 +08:00
Alvaro Muñoz
41d034d5a0
Attempt to use information-leak sink category
2021-05-30 00:22:40 +02:00
Artem Smotrakov
b28d639166
Fixed errors in UnsafeDeserializationRmi.qhelp
2021-05-29 09:32:08 +02:00
Artem Smotrakov
62c6bee5f8
Simplified UnsafeDeserializationRmi.ql
2021-05-29 09:21:20 +02:00
Alvaro Muñoz
ece84d13e5
Merge branch 'github:main' into main
2021-05-28 22:40:10 +02:00
Henry Mercer
263699d8bc
Merge pull request #5914 from github/henrymercer/code-scanning-diagnostic-queries
...
Code Scanning selectors: Include diagnostic queries
2021-05-28 18:53:11 +01:00
Mathias Vorreiter Pedersen
64975e5c1e
Merge pull request #5842 from japroc/cpp-pqxx-sqli-sink
...
C++: SqlPqxxTainted query searches for sql injections via pqxx connector to postgres
2021-05-28 17:01:27 +02:00
Erik Krogh Kristensen
b947334eea
CPP: make some parameter names consistent with the names used in the super class
2021-05-28 16:48:47 +02:00
mr-sherman
ec48d0ac29
Merge remote-tracking branch 'upstream/main' into service-stack-remote-sink
...
merging from main because it fell way behind.
2021-05-28 10:30:29 -04:00
Alvaro Muñoz
f60df3b26a
Update java/change-notes/2021-05-28-remove-senderror-xss-sink.md
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-28 15:13:19 +02:00
Alvaro Muñoz
5a894ac7f7
update java library coverage documentation
2021-05-28 15:13:19 +02:00
Alvaro Muñoz
db2f05ac24
Updated Java change notes
2021-05-28 15:13:18 +02:00
Alvaro Muñoz
735e4e4b7b
update failing tests
2021-05-28 15:13:18 +02:00
Alvaro Muñoz
706874491b
Remove XSS sink for Java
2021-05-28 15:13:18 +02:00
Rasmus Wriedt Larsen
6e9d74403a
Merge pull request #5963 from adityasharad/python/lines-of-user-code
...
Python: Treat `py/summary/lines-of-user-code` as the primary summary metric
2021-05-28 11:08:35 +02:00
Jonas Jensen
eda25bb402
Merge pull request #5962 from erik-krogh/getAPrimaryQlClass
...
CPP/Java: Fix getAPrimaryQlClass implementations
2021-05-28 09:31:16 +02:00
Aditya Sharad
b41a06a15c
Python: Treat py/summary/lines-of-user-code as the primary summary metric
...
Move the `lines-of-code` tag from `py/summary/lines-of-code`.
Code Scanning will eventually look for this tag.
The intent is to treat the number of lines of user code for Python as the summary of
how much code was analysed, ignoring both external libraries and generated code.
This matches the current baseline metric the CodeQL Action computes for Python.
We'll revisit this decision, and the baseline, if necessary.
2021-05-27 13:20:24 -07:00
Erik Krogh Kristensen
79989cc3f4
CPP/Java: Fix getAPrimaryQlClass implementations
2021-05-27 21:36:27 +02:00
Rasmus Wriedt Larsen
ab73b10869
Merge pull request #5959 from github/igfoo/ReturnValueIgnored_python
...
python: Correct the ReturnValueIgnored.qhelp docs
2021-05-27 11:51:42 +02:00
Mathias Vorreiter Pedersen
4107e350cb
C++: Add qldoc to NoThrowType.
2021-05-27 11:39:03 +02:00
Mathias Vorreiter Pedersen
71a860a356
C++: Exclude custom operator new allocators from the ThrowingAllocator class.
2021-05-27 11:23:11 +02:00
Tom Hvitved
e8841e6482
Simplify getSynthChild
2021-05-27 10:20:31 +02:00
Evgenii Protsenko
efa657d47c
C++: SqlPqxxTainted.ql Add namespace check
2021-05-27 00:13:54 +03:00
Mathias Vorreiter Pedersen
e01d7127e2
Merge pull request #5958 from github/igfoo/ReturnValueIgnored
...
C++: Update the ReturnValueIgnored.qhelp docs to match the code
2021-05-26 19:04:41 +02:00
Tom Hvitved
f8b99291a7
Improve desugaring of setter assignments
2021-05-26 18:41:21 +02:00
Ian Lynagh
f0bec74ce3
python: Correct the ReturnValueIgnored.qhelp docs
2021-05-26 17:40:57 +01:00
Ian Lynagh
f9ede97fcd
C++: Update the ReturnValueIgnored.qhelp docs to match the code
2021-05-26 17:38:49 +01:00
Arthur Baars
af6f050d06
Merge pull request #189 from github/aibaars/fix-lgtm-suite
...
Fix LGTM suites
2021-05-26 16:02:14 +02:00
Arthur Baars
3f210865b2
Build workflow: create release
2021-05-26 15:55:34 +02:00
Arthur Baars
ec905e0866
Merge pull request #168 from github/aibaars/typetrack-method
...
Call graph
2021-05-26 14:19:21 +02:00
Arthur Baars
4dc182d4a4
Merge pull request #191 from github/fixCap
...
fix snake_casing of camelCased identifiers
2021-05-26 13:39:52 +02:00
Arthur Baars
bacbd5e997
Address comments
2021-05-26 13:35:45 +02:00
Erik Krogh Kristensen
9c1b237e3b
fix snake_casing of camelCased identifiers
2021-05-26 11:16:05 +00:00
Arthur Baars
a044f41aad
Merge pull request #188 from github/aibaars/qlpack
...
Build Ruby bundle
2021-05-26 12:18:51 +02:00
Rasmus Wriedt Larsen
795a1c7006
Merge pull request #5443 from jorgectf/jorgectf/python/ldapInjection
...
Python: Add LDAP Injection query
2021-05-26 11:52:31 +02:00
Rasmus Wriedt Larsen
f807c2f52b
Python: autoformat
2021-05-26 11:07:48 +02:00
Rasmus Wriedt Larsen
d5f2846394
Merge branch 'main' into jorgectf/python/ldapInjection
2021-05-26 11:01:48 +02:00
ihsinme
9088475339
Update DoubleFree.qhelp
2021-05-26 09:44:03 +03:00
ihsinme
2909dde179
Update test.c
2021-05-26 09:31:15 +03:00
ihsinme
fbf95df537
Update DoubleFree.c
2021-05-26 09:27:20 +03:00
ihsinme
7c2100efd9
Apply suggestions from code review
...
thanks for your corrections.
and of course sorry for my text.
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-26 09:15:46 +03:00
Evgenii Protsenko
55045626df
C++: SqlPqxxTainted.ql style fixes
2021-05-25 22:38:27 +03:00
Tom Hvitved
abcabeef06
Remove *Real predicates and enable recursive desugaring
2021-05-25 21:27:39 +02:00
Tom Hvitved
3f412e4fad
Desugar setter assignment operations
2021-05-25 21:27:39 +02:00
Tom Hvitved
b173cc332a
Desugar setter assignments
2021-05-25 21:27:39 +02:00
Tom Hvitved
b812012b71
Add CFG setter assignment test
2021-05-25 21:27:39 +02:00
Tom Hvitved
e85677a040
Adjust locations of synthesized AST nodes
2021-05-25 21:27:34 +02:00
Mathias Vorreiter Pedersen
b2bdf95a9d
C++: Remove large antijoin in SwitchCase.getAStmt().
2021-05-25 17:25:42 +02:00
Timo Mueller
75f6ec1f0d
Updated test cases to include test for java10+ CREDENTIALS_FILTER_PATTERN constant
2021-05-25 17:08:58 +02:00
Timo Mueller
72901e3724
Merge branch 'insecureJmxRmiServerEnvironment' of github.com:mogwailabs/codeql into insecureJmxRmiServerEnvironment
2021-05-25 16:41:17 +02:00
Timo Mueller
59ebe08c78
Added stup for RMIConnectorServer for valid test case
2021-05-25 16:40:41 +02:00
Rasmus Wriedt Larsen
1b3f857a2f
Python: Promote ClickHouse SQL models
2021-05-25 16:27:23 +02:00
Rasmus Wriedt Larsen
eb1da152a0
Python: Rewrite ClickHouse SQL lib modeling
...
This did turn into a few changes, that maybe could have been split into
separate PRs 🤷
* Rename `ClickHouseDriver` => `ClickhouseDriver`, to better follow
import name in `.qll` name
* Rewrote modeling to use API graphs
* Split modeling of `aioch` into separate `.qll` file, which does re-use
the `getExecuteMethodName` predicate. I feel that sharing code between
the modeling like this was the best approach, and stuck the
`INTERNAL: Do not use.` labels on both modules.
* I also added handling of keyword arguments (see change in .py files)
2021-05-25 16:13:31 +02:00
Rasmus Wriedt Larsen
c9a9535dbc
Python: Use ConceptsTests for ClickHouse SQL libs
...
This did reveal a few places where we do not detect the incoming SQL
2021-05-25 16:10:06 +02:00
Geoffrey White
2fd461e984
Merge pull request #5938 from MathiasVP/promote-access-of-memory-location-after-end-of-buffer-using-strncat
...
C++: Promote `cpp/access-memory-location-after-end-buffer-strncat` out of experimental
2021-05-25 14:36:53 +01:00
Tamás Vajk
1997f500c2
Merge pull request #5832 from tamasvajk/feature/csv-coverage-report
...
Java: github action for CSV coverage report
2021-05-25 14:51:19 +02:00
Anders Schack-Mulligen
d05f524759
Merge pull request #5941 from aschackmull/java/virt-disp-perf
...
Java: Improve performance of virtual dispatch calculation.
2021-05-25 14:44:51 +02:00
Rasmus Wriedt Larsen
ee3477c20a
Python: Remove dummy clickhouse SQL injection query
2021-05-25 14:27:29 +02:00
Rasmus Wriedt Larsen
35793a10bb
Merge pull request #5889 from japroc/python-clickhouse-driver
...
Python: Implement module ClickHouseDriver.qll
2021-05-25 14:25:28 +02:00
Mathias Vorreiter Pedersen
78cc8f01d6
C++: Shorter description.
2021-05-25 14:11:03 +02:00
Tamas Vajk
70b3066bb8
Add regenerated CSV reports
2021-05-25 13:38:22 +02:00
Tamas Vajk
8880d0055e
Fix file formatting
2021-05-25 13:33:26 +02:00
Tamas Vajk
b17ffbd2a4
Include all .ql and .qll files in PR path triggers
2021-05-25 13:33:26 +02:00
Tamas Vajk
d4f1cbe8d8
Add updated coverage report
2021-05-25 13:33:26 +02:00
Tamas Vajk
511486d045
Rework file diff (show line differences)
2021-05-25 13:33:26 +02:00
Tamas Vajk
ce53586002
Refactor file comparison
2021-05-25 13:33:26 +02:00
Tamas Vajk
3db22ba482
Add Java coverage report files
2021-05-25 13:33:26 +02:00
Tamas Vajk
f09352620f
Add comparison step to workflow
2021-05-25 13:33:26 +02:00
Tamas Vajk
f1911e338d
Move and generate files to documentation folder + clean up after the script is executed
2021-05-25 13:33:26 +02:00
Tamas Vajk
6dc46ec1ee
Add org.apache.commons.io to frameworks, and handle overlapping package prefixes
2021-05-25 13:33:25 +02:00
Tamas Vajk
663e6a8d73
Use non-breaking hyphen in CWE identifier
2021-05-25 13:33:25 +02:00
Tamas Vajk
dda401f62a
Inline CSV table into RST page
2021-05-25 13:33:25 +02:00
Tamas Vajk
2e67a3216c
Add option to manually trigger the workflow
2021-05-25 13:33:25 +02:00
Tamas Vajk
1297d1c744
Add framework and cwe static data
2021-05-25 13:33:25 +02:00
Tamas Vajk
2adb3e992a
Code quality improvements on coverage report generator script
2021-05-25 13:33:25 +02:00
Tamas Vajk
d0a46eb7b7
Adjust formatting
2021-05-25 13:33:25 +02:00
Tamas Vajk
f26dba67ac
Adjust 'Total' label to 'Totals'
2021-05-25 13:33:25 +02:00
Tamas Vajk
564fca0da4
Adjust workflow triggers and uploads
2021-05-25 13:33:25 +02:00
Tamas Vajk
ef414681be
Add RST documentation page
2021-05-25 13:33:25 +02:00
Tamas Vajk
beea36191b
Add CSV file with framework and CWE info to be used in RST file
2021-05-25 13:33:25 +02:00
Tamas Vajk
979034a17f
Add github action to generate CSV coverage report
2021-05-25 13:33:25 +02:00
Mathias Vorreiter Pedersen
5382ef7761
C++: Split the overview section of qhelp into a couple of paragraphs.
2021-05-25 13:18:15 +02:00
Mathias Vorreiter Pedersen
f842d09a16
Apply suggestions from code review
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-05-25 13:16:04 +02:00
Timo Müller
f44b97c1c3
Apply suggestions from code review
...
Improved variable naming in examples and some documentation clearup
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-25 13:03:07 +02:00
Timo Müller
e7021ffbee
Apply suggestions from code review
...
More clear or precise wording within the documentation
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-25 12:53:47 +02:00
shati-patel
bfc8845f23
Update wording
2021-05-25 11:36:18 +01:00
Arthur Baars
aea0c6fc64
Merge pull request #190 from github/aibaars/fix-heredoc-parent
...
Fix Scope::parentOf for HeredocBody nodes
2021-05-25 11:58:21 +02:00
Erik Krogh Kristensen
c70651b6fe
always have arrayLikeElement as TypeTracking properties
2021-05-25 11:48:54 +02:00
Anders Schack-Mulligen
4884da363f
Java: Bugfix.
2021-05-25 11:48:35 +02:00
Anders Schack-Mulligen
017bf68906
Dataflow: Fix bad join order.
2021-05-25 11:40:53 +02:00
Arthur Baars
ce23ae33e7
Fix Scope::parentOf for HereDocBody
2021-05-25 11:27:45 +02:00
Arthur Baars
bb62564c9e
Add test for heredoc with variables
2021-05-25 11:16:55 +02:00
Tom Hvitved
8cbb3caaa4
Merge pull request #5947 from hvitved/csharp/encode-display-name
...
C#: Encode `"` in `BuildDisplayName`
2021-05-25 10:58:31 +02:00
Mathias Vorreiter Pedersen
b33adb8630
Merge pull request #5930 from MathiasVP/promote-incorrect-allocation-error-out
...
C++: Promote `cpp/incorrect-allocation-error-handling`
2021-05-25 10:57:31 +02:00
Tom Hvitved
b55bce46f8
C#: Restrict non-returning CIL analysis to methods not from source
2021-05-25 10:41:58 +02:00
Arthur Baars
86d57d3e26
Fix LGTM suites
2021-05-25 10:41:07 +02:00
Mathias Vorreiter Pedersen
eb244c0eb2
C++: Fix documentation.
2021-05-25 10:16:22 +02:00
Arthur Baars
73aae5dfd9
Use num_cpus-1 threads by default
2021-05-25 09:28:49 +02:00
Arthur Baars
4f404e9b11
Temporarily include some queries in the code scanning suite
...
This should be reverted once we have a decent set of default queries.
2021-05-25 09:21:40 +02:00
Mathias Vorreiter Pedersen
e857ac1149
C++: Add more tests and remove redundant conjunct.
2021-05-25 09:17:42 +02:00
Arthur Baars
a02cfd27c9
Compile query packs with previous CodeQL versions too
2021-05-24 17:48:49 +02:00
Arthur Baars
78d9191526
Build query pack
2021-05-24 13:27:50 +02:00
Tom Hvitved
2a33756bdf
C#: Encode " in BuildDisplayName
2021-05-23 14:44:48 +02:00
Tom Hvitved
0d14b9413d
C#: Avoid recomputing ControlFlowTree::Range outside the CFG construction stage
2021-05-23 14:14:43 +02:00
Tom Hvitved
088a1a9707
C#: Simplify TriedControlFlowElement::getAThrownException()
2021-05-23 14:14:43 +02:00
Tom Hvitved
3162e12082
C#: Redefine ControlFlowElement::getAssembly
2021-05-23 14:14:43 +02:00
Tom Hvitved
5102fcd5f3
C#: Rewrite predicates from using forall to using unique
...
This avoids generation of expensive anti-join predicates with Cartesian products.
2021-05-23 14:14:43 +02:00
Tom Hvitved
2361476966
C#: Improve join-order in SplitImpl::hasSuccessor
...
Joining on `succ` first gets rid of bad join-orders like
```
Tuple counts for Splitting::SplitImpl::hasSuccessor_dispred#ffff/4@i4#f49ebw:
59306 ~2% {3} r1 = JOIN Splitting::SplitImpl::appliesTo#ff#prev_delta WITH Splitting::Cached::TAssertionSplit#ffff_30#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'this', Lhs.1 'pred'
454395 ~0% {3} r2 = JOIN r1 WITH Splitting::AssertionSplitting::getAnAssertionDescendant#ff ON FIRST 1 OUTPUT Lhs.2 'pred', Rhs.1 'succ', Lhs.1 'this'
12157 ~0% {4} r3 = JOIN r2 WITH ControlFlowGraphImpl::succ#fff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'succ', Rhs.2 'c'
0 ~0% {4} r4 = JOIN Splitting::LoopSplitting::LoopUnrollingSplitImpl::appliesToPredecessor_dispred#fff#prev_delta WITH Splitting::Cached::TLoopSplit#ff_10#join_rhs ON FIRST 1 OUTPUT Lhs.1 'pred', Lhs.2 'c', Rhs.1, Rhs.0
0 ~0% {5} r5 = JOIN r4 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2, Lhs.3 'this', Lhs.0 'pred', Lhs.1 'c', Rhs.2 'succ'
0 ~0% {5} r6 = r5 AND NOT Splitting::SplitImpl::hasSuccessor_dispred#ffff#antijoin_rhs#2(Lhs.2 'pred', Lhs.4 'succ', Lhs.3 'c', Lhs.0)
0 ~0% {4} r7 = SCAN r6 OUTPUT In.1 'this', In.2 'pred', In.4 'succ', In.3 'c'
12157 ~0% {4} r8 = r3 UNION r7
0 ~0% {3} r9 = SCAN Splitting::BooleanSplitting::BooleanSplitImpl::appliesToBlock_dispred#fff#prev_delta OUTPUT In.1, In.0 'this', In.2
0 ~0% {4} r10 = JOIN r9 WITH project#PreBasicBlocks::PreBasicBlock::getElement_dispred#fff ON FIRST 1 OUTPUT Rhs.1 'pred', Lhs.1 'this', Lhs.0, Lhs.2
0 ~0% {6} r11 = JOIN r10 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2, Lhs.3, Lhs.0 'pred', Rhs.1, Rhs.2 'c'
0 ~0% {6} r12 = r11 AND NOT PreBasicBlocks::PreBasicBlock::getLastElement_dispred#ff(Lhs.1, Lhs.3 'pred')
0 ~0% {4} r13 = SCAN r12 OUTPUT In.0 'this', In.3 'pred', In.4 'succ', In.5 'c'
35244 ~1% {3} r14 = JOIN Splitting::SplitImpl::appliesTo#ff#prev_delta WITH Splitting::Cached::TInitializerSplit#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.0 'this', Lhs.1 'pred'
24640675 ~6% {3} r15 = JOIN r14 WITH Splitting::InitializerSplitting::constructorInitializes#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred'
24640675 ~21147% {3} r16 = JOIN r15 WITH Splitting::InitializerSplitting::InitializedInstanceMember::getInitializer_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred'
470227342920 ~481608% {3} r17 = JOIN r16 WITH Splitting::InitializerSplitting::InitializedInstanceMember::getAnInitializerDescendant#ff ON FIRST 1 OUTPUT Lhs.2 'pred', Rhs.1 'succ', Lhs.1 'this'
24560447 ~66468% {4} r18 = JOIN r17 WITH ControlFlowGraphImpl::succ#fff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'succ', Rhs.2 'c'
24560447 ~66468% {4} r19 = r13 UNION r18
24572604 ~48162% {4} r20 = r8 UNION r19
0 ~0% {3} r21 = JOIN r9 WITH project#PreBasicBlocks::PreBasicBlock::getElement_dispred#fff ON FIRST 1 OUTPUT Rhs.1 'pred', Lhs.2, Lhs.1 'this'
0 ~0% {4} r22 = JOIN r21 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Rhs.2 'succ', Rhs.1
0 ~0% {5} r23 = JOIN r22 WITH Splitting::Cached::TBooleanSplit#fff_20#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c'
0 ~0% {4} r24 = JOIN r23 WITH Splitting::BooleanSplitting::SsaBooleanSplitSubKind::canReachCorrelatedCondition#ff ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.1 'succ', Lhs.4 'c'
0 ~0% {2} r25 = SCAN Splitting::FinallySplitting::FinallySplitImpl::appliesToPredecessor_dispred#ff#prev_delta OUTPUT In.1 'pred', In.0 'this'
0 ~0% {4} r26 = JOIN r25 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.0 'pred', Rhs.1, Rhs.2 'c'
0 ~0% {4} r27 = r26 AND NOT Splitting::FinallySplitting::FinallyControlFlowElement::isEntryNode_dispred#f(Lhs.2 'succ')
0 ~0% {5} r28 = JOIN r27 WITH Splitting::Cached::TFinallySplit#fff_21#join_rhs ON FIRST 1 OUTPUT Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c', Rhs.1
0 ~0% {6} r29 = JOIN r28 WITH ControlFlowGraphImpl::Statements::TryStmtTree::getAFinallyDescendant#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c', Lhs.4
0 ~0% {7} r30 = JOIN r29 WITH ControlFlowGraphImpl::Statements::TryStmtTree::nestLevel_dispred#ff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.3 'succ', Lhs.4 'c', Lhs.5, Lhs.0, Rhs.1
0 ~0% {7} r31 = SELECT r30 ON In.6 >= In.4
0 ~0% {4} r32 = SCAN r31 OUTPUT In.0 'this', In.1 'pred', In.2 'succ', In.3 'c'
0 ~0% {4} r33 = r24 UNION r32
0 ~0% {4} r34 = JOIN r25 WITH ControlFlowGraphImpl::succ#fff ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.0 'pred', Rhs.2 'c'
0 ~0% {4} r35 = JOIN r34 WITH Splitting::FinallySplitting::FinallyControlFlowElement::isEntryNode_dispred#f ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c'
0 ~0% {5} r36 = JOIN r35 WITH Splitting::Cached::TFinallySplit#fff_21#join_rhs ON FIRST 1 OUTPUT Lhs.2 'succ', Lhs.0 'this', Lhs.1 'pred', Lhs.3 'c', Rhs.1
0 ~0% {6} r37 = JOIN r36 WITH ControlFlowGraphImpl::Statements::TryStmtTree::getAFinallyDescendant#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.0 'succ', Lhs.3 'c', Lhs.4
0 ~0% {7} r38 = JOIN r37 WITH ControlFlowGraphImpl::Statements::TryStmtTree::nestLevel_dispred#ff ON FIRST 1 OUTPUT Lhs.1 'this', Lhs.2 'pred', Lhs.3 'succ', Lhs.4 'c', Lhs.5, Lhs.0, Rhs.1
0 ~0% {7} r39 = SELECT r38 ON In.6 > In.4
0 ~0% {4} r40 = SCAN r39 OUTPUT In.0 'this', In.1 'pred', In.2 'succ', In.3 'c'
0 ~0% {3} r41 = SCAN Splitting::ExceptionHandlerSplitting::ExceptionHandlerSplitImpl::appliesToPredecessor_dispred#fff#prev_delta OUTPUT In.1 'pred', In.2 'c', In.0 'this'
0 ~0% {4} r42 = JOIN r41 WITH ControlFlowGraphImpl::last#fff_120#join_rhs ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c'
0 ~0% {5} r43 = JOIN r42 WITH Stmt::TryStmt::getCatchClause_dispred#fff_201#join_rhs ON FIRST 1 OUTPUT Rhs.1, Rhs.2, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c'
0 ~0% {4} r44 = JOIN r43 WITH Stmt::TryStmt::getCatchClause_dispred#fff ON FIRST 2 OUTPUT Rhs.2, Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c'
0 ~0% {5} r45 = JOIN r44 WITH Stmt::CatchClause::isLast_dispred#f ON FIRST 1 OUTPUT Lhs.0, 1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c'
0 ~0% {3} r46 = JOIN r45 WITH catch_type_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c'
0 {3} r47 = MATERIALIZE r46 AS unknown
0 ~0% {3} r48 = Splitting::ExceptionHandlerSplitting::ExceptionHandlerSplitImpl::appliesToPredecessor_dispred#fff#prev_delta AND NOT r47(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'c')
0 ~0% {3} r49 = SCAN r48 OUTPUT In.1 'pred', In.2 'c', In.0 'this'
0 ~0% {4} r50 = JOIN r49 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c', Rhs.2 'succ'
0 ~0% {4} r51 = JOIN r49 WITH ControlFlowGraphImpl::succ#fff_021#join_rhs ON FIRST 2 OUTPUT Rhs.2 'succ', Lhs.2 'this', Lhs.0 'pred', Lhs.1 'c'
0 ~0% {5} r52 = JOIN r51 WITH ControlFlowGraphImpl::ControlFlowTree::first_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c', Lhs.0 'succ'
0 ~0% {6} r53 = JOIN r52 WITH Stmt::CatchClause::getBlock_dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, 1, Lhs.1 'this', Lhs.2 'pred', Lhs.3 'c', Lhs.4 'succ'
0 ~0% {4} r54 = JOIN r53 WITH catch_type_02#join_rhs ON FIRST 2 OUTPUT Lhs.2 'this', Lhs.3 'pred', Lhs.4 'c', Lhs.5 'succ'
0 {4} r55 = MATERIALIZE r54 AS unknown
0 ~0% {4} r56 = r50 AND NOT r55(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'c', Lhs.3 'succ')
0 ~0% {4} r57 = r56 AND NOT ControlFlowGraphImpl::Statements::StandardStmt::getChildElement0_dispred#fff#antijoin_rhs#2(Lhs.3 'succ')
0 ~0% {4} r58 = SCAN r57 OUTPUT In.0 'this', In.1 'pred', In.3 'succ', In.2 'c'
0 ~0% {4} r59 = r40 UNION r58
0 ~0% {4} r60 = r33 UNION r59
24572604 ~48162% {4} r61 = r20 UNION r60
24572604 ~48162% {4} r62 = r61 AND NOT Splitting::SplitImpl::hasSuccessor_dispred#ffff#prev(Lhs.0 'this', Lhs.1 'pred', Lhs.2 'succ', Lhs.3 'c')
return r62
```
2021-05-23 14:14:43 +02:00
Artem Smotrakov
1b51dd47ec
Added an example with deserialization filter to UnsafeDeserializationRmi.qhelp
2021-05-23 13:24:42 +02:00
Artem Smotrakov
c837605c85
Added test cases with sanitizers for UnsafeDeserializationRmi.ql
2021-05-23 13:01:22 +02:00
Artem Smotrakov
d2e29fc72c
Renamed RmiUnsafeDeserialization.ql -> UnsafeDeserializationRmi.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
2d93eeae33
Covered deserialization filters in RmiUnsafeDeserialization.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
e28f919f3d
Look for remote callable method only in RmiUnsafeDeserialization.ql
2021-05-23 10:21:05 +02:00
Artem Smotrakov
0182dfe1c0
Added RmiUnsafeDeserialization.qhelp
2021-05-23 10:21:04 +02:00
Artem Smotrakov
5ffe04d6a5
Updated expected output for RmiUnsafeDeserialization.java test
2021-05-23 10:21:04 +02:00
Artem Smotrakov
3d20330a92
More tests for RmiUnsafeDeserialization
2021-05-23 10:21:04 +02:00
Artem Smotrakov
ec6186a1c5
Draft of tests for RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
Artem Smotrakov
efa4b4f414
Cover Registry in RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
Artem Smotrakov
8b96ff9601
First draft of RmiUnsafeDeserialization.ql
2021-05-23 10:21:04 +02:00
shati-patel
254c769089
Docs: Describe custom log directory setting in VS Code extension
2021-05-21 21:41:09 +01:00
Robert Marsh
7ac04a8650
Merge pull request #5942 from MathiasVP/fix-change-note-dates
...
C++: Convert yyyy-dd-mm change-notes to yyyy-mm-dd
2021-05-21 12:34:30 -07:00
Ian Lynagh
23081f0193
Merge pull request #5922 from AlexDenisov/ref-qualifiers
...
C++: Add ref qualifiers
2021-05-21 17:35:57 +01:00
jorgectf
37d6ff76a3
Update tests and .expected
2021-05-21 17:47:53 +02:00
Tamás Vajk
f5acc51d6f
Merge pull request #5909 from tamasvajk/fix/foreach-ir-temp-var
...
C#: Fix type of temp foreach variable in IR
2021-05-21 17:24:08 +02:00
Rasmus Wriedt Larsen
71a93ad311
Python: Fix QLDoc for PyYAML to follow convention
2021-05-21 17:17:23 +02:00
Rasmus Wriedt Larsen
6f50b12333
Python: Fix QLDoc for Werkzeug
2021-05-21 17:16:09 +02:00
Rasmus Wriedt Larsen
c4e244eb80
Python: Add getAwaited to API::Node
...
I _really_ wanted to call this `.await()`, but that did not fit in with
the convention, or the corresponding `getPromised` in JS.
54f191cfe3/javascript/ql/src/semmle/javascript/ApiGraphs.qll (L184)
2021-05-21 17:11:20 +02:00
Mathias Vorreiter Pedersen
d086ba618f
C++: Convert the yyyy-dd-mm change-notes to yyyy-mm-dd.
2021-05-21 16:24:15 +02:00
Jorge
9e9678b3ca
Apply documentation suggestions
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-21 16:17:39 +02:00
Rasmus Wriedt Larsen
e29b7568bf
Python: Add missing QLDoc for subclass label
2021-05-21 16:17:17 +02:00
Rasmus Wriedt Larsen
2408573a0a
Python: Add API graph test for calling coroutines
2021-05-21 16:08:15 +02:00
Rasmus Wriedt Larsen
7a5fd02442
Python: API graph tests: add --max-import-depth=1
...
Before this, I ended up extracting 454 modules locally 😱
2021-05-21 15:58:15 +02:00
Rasmus Wriedt Larsen
9a4709c134
Python: API graph tests: Disallow results outside project
...
Running the tests locally would result in thousands of results before
this 😱
2021-05-21 15:57:10 +02:00
Tony Torralba
7dbdba28cc
Consider search methods with unsafe SearchControls
2021-05-21 15:21:04 +02:00
Anders Schack-Mulligen
d00618f4f4
Java: Improve performance of virtual dispatch calculation.
2021-05-21 15:04:08 +02:00
CodeQL CI
131c08e436
Merge pull request #5939 from max-schaefer/js/set-constructor-args
...
Approved by esbena
2021-05-21 05:02:27 -07:00
Mathias Vorreiter Pedersen
3662ec4c83
C++: Credit the original query author in change-note.
2021-05-21 11:12:19 +02:00
Mathias Vorreiter Pedersen
84b0b8c2bd
C++: Add change-note.
2021-05-21 10:57:23 +02:00
Max Schaefer
6e34784fc5
Add new experimental query MultipleArgumentsToSetConstructor.
2021-05-21 09:54:41 +01:00
Mathias Vorreiter Pedersen
12cd09d5d4
C++: Delete the experimental query and its tests, and accept the test changes.
2021-05-21 10:35:57 +02:00
Mathias Vorreiter Pedersen
8d0cfb4e91
C++: Merge tests from 'cpp/access-memory-location-after-end-buffer-strncat' into the tests from 'cpp/unsafe-strncat'.
2021-05-21 10:34:59 +02:00
Anders Schack-Mulligen
f4f257819d
Merge pull request #5932 from zbazztian/spring-improvements
...
Add method invocations of Spring's SavedRequest as remote sources
2021-05-21 10:34:54 +02:00
Mathias Vorreiter Pedersen
5300dd2fa8
C++: Merge the experimental query 'cpp/access-memory-location-after-end-buffer-strncat' into 'cpp/unsafe-strncat'.
2021-05-21 10:33:56 +02:00
Evgenii Protsenko
1e40213abb
use <class> instead of <class>::Range
2021-05-20 22:56:08 +03:00
Sebastian Bauersfeld
ffcca4d5e9
Add change note.
2021-05-20 20:07:14 +07:00
Sebastian Bauersfeld
28f597440f
Add method invocations of Spring's SavedRequest as a remote sources.
2021-05-20 20:00:14 +07:00
Rasmus Wriedt Larsen
f17fe442a2
Python: Expand test of py/use-of-input
2021-05-20 14:52:10 +02:00
Rasmus Wriedt Larsen
0292ca6b67
Merge pull request #5880 from tausbn/python-limit-builtins
...
Python: Limit set of globals that may be built-ins
2021-05-20 14:47:22 +02:00
Tom Hvitved
423a1b39e1
Improve call graph performance by forcing non-linear joins first
2021-05-20 14:36:56 +02:00
Tom Hvitved
492f41d399
Fix performance
2021-05-20 14:27:13 +02:00
Arthur Baars
0ccca47b01
Dataflow for implicit self argument of methods
2021-05-20 14:27:13 +02:00
Arthur Baars
eb8b2558da
Add types of lambdas and methods
2021-05-20 14:27:13 +02:00
Arthur Baars
e787d99cd1
Resolve yield calls to blocks
2021-05-20 14:27:13 +02:00
Arthur Baars
66b2c39985
More tests
2021-05-20 14:27:13 +02:00
Arthur Baars
578b94453d
Flow for captured local variables
2021-05-20 14:27:13 +02:00
Arthur Baars
e46755021b
Add data flow steps for optional parameter values
2021-05-20 14:27:13 +02:00
Arthur Baars
da88661746
Add SSA flow step for parameters
2021-05-20 14:27:13 +02:00
Arthur Baars
84da0cb2f3
Track type of Classes/Modules and and self in singleton methods
2021-05-20 14:27:13 +02:00
Arthur Baars
f157f1f359
Fix superclass of Class
2021-05-20 14:27:13 +02:00
Arthur Baars
1ba94beb01
Fix types of true/false
2021-05-20 14:27:13 +02:00
Tom Hvitved
f63f5aba15
Fix performance
2021-05-20 14:27:13 +02:00
Arthur Baars
af19cc5fae
Add test cases
2021-05-20 14:27:13 +02:00
Arthur Baars
a9806719f9
Toplevel 'self'
2021-05-20 14:27:13 +02:00
Arthur Baars
1a739b2fbf
Resolve super calls
2021-05-20 14:27:13 +02:00
Arthur Baars
7f520e7899
Add types of literals
2021-05-20 14:27:13 +02:00
Arthur Baars
4951b7d378
Treat methods defined in a singleton class similar to single methods
2021-05-20 14:27:13 +02:00
Arthur Baars
8815bb7dbe
Track calls to singleton methods
2021-05-20 14:27:13 +02:00
Arthur Baars
b13bae6a4e
Resolve instance method calls
2021-05-20 14:27:13 +02:00
Arthur Baars
3c80b32ba0
Merge pull request #186 from github/bump-codeql
...
Bump `codeql` sub module
2021-05-20 14:26:24 +02:00
Tom Hvitved
16d34c7cd4
Sync files
2021-05-20 14:15:54 +02:00
Tom Hvitved
c73e6ff390
Bump codeql sub module
2021-05-20 14:15:33 +02:00
Tom Hvitved
2a7ceb2e19
Merge pull request #5928 from hvitved/python/type-tracker-split
...
Python: Split up `(small)step` into intra/interprocedural predicates
2021-05-20 14:13:44 +02:00
Tom Hvitved
1fc95a68ca
Python: Add more type tracking QL doc
2021-05-20 13:47:23 +02:00
Taus
c4bb3c27e0
Python: Update python/ql/src/semmle/python/ApiGraphs.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-20 13:14:09 +02:00
Tony Torralba
2613e58916
Remove duplicated class
2021-05-20 12:49:02 +02:00
Tony Torralba
0589dd7e54
Move Jndi.qll from experimental
2021-05-20 12:30:28 +02:00
Tony Torralba
0c1fe9be4f
Add change note
2021-05-20 12:00:11 +02:00
Tony Torralba
c1e71b60b4
Use InlineExpectationsTest
2021-05-20 12:00:11 +02:00
Tony Torralba
3f0b803796
Refactored to use CSV sink models
2021-05-20 12:00:05 +02:00
Alex Denisov
694eba66f3
C++: Adjust tests for new specifiers
2021-05-20 10:49:20 +02:00
CodeQL CI
17afbdf258
Merge pull request #5635 from RasmusWL/port-weak-crypto-algorithm
...
Approved by yoff
2021-05-20 01:22:32 -07:00
Alex Denisov
ab23507e3f
C++: Add ref qualifiers
2021-05-20 10:03:54 +02:00
Mathias Vorreiter Pedersen
b2432158a8
C++: Add change-note.
2021-05-20 10:00:32 +02:00
Mathias Vorreiter Pedersen
152c0161a2
C++: Fix formatting.
2021-05-20 09:48:32 +02:00
Mathias Vorreiter Pedersen
9504592909
C++: Promote cpp/incorrect-allocation-error-handling out of experimental.
2021-05-20 09:47:45 +02:00
Tom Hvitved
f63c1d2383
Python: Split up (small)step into intra/interprocedural predicates
2021-05-19 19:59:25 +02:00
Anders Schack-Mulligen
4406b8e339
Dataflow: Sync.
2021-05-19 19:22:36 +02:00
Anders Schack-Mulligen
bb258813a1
Dataflow: Improve performance for dispatch-join in flow-through.
2021-05-19 19:20:57 +02:00
Rasmus Wriedt Larsen
753dca91b1
Python: weak-crypto: Make algorithm selection less brittle
...
As discussed in https://github.com/github/codeql/pull/5635#discussion_r633477154
2021-05-19 17:47:09 +02:00
Rasmus Wriedt Larsen
22d4d7956a
Python: Fix typo in QLDoc
2021-05-19 17:47:05 +02:00
Rasmus Wriedt Larsen
8d1e7da851
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-19 17:42:46 +02:00
Rasmus Wriedt Larsen
61ad5d0673
Python: Allow printing PostUpdateNode in ConceptsTest.qll
...
See how this works in `test_json.py`
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
9dbb364cca
Python: Move json tests to be part of stdlib
...
This is better, since the modeling is also part of Stdlib.qll
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
51a25e45fe
Python: Use shared prettyExpr in ConceptsTest.qll
...
This required quite some changes in the expected output. I think it's much more
clear what the selected nodes are now 👍 (but it was a bit boring work to fix
this up)
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
1af6d97c51
Python: Remove straggling f-: annotations
2021-05-19 17:10:33 +02:00
Rasmus Wriedt Larsen
f66dccafda
Python: Rename prettyExp => prettyExpr
...
So we're consistenly using `expr` and not leaving our the `r`.
2021-05-19 17:10:33 +02:00
Tom Hvitved
1509584e27
Merge pull request #185 from github/hvitved/resolve-expr-perf
...
Improve performance of `internal/Module.qll`
2021-05-19 14:53:46 +02:00
Tom Hvitved
6b6aeb10c7
Improve performance of internal/Module.qll
2021-05-19 14:33:52 +02:00
Taus
75a43e76e8
Python: Address review comments.
...
- Removes the version check on the set of built-in names.
- Renames the predicate used to represent said set.
- Documents how these lists of names were obtained.
- Gets rid of a superfluous import.
2021-05-19 11:54:47 +00:00
Mathias Vorreiter Pedersen
c4f604bafe
Merge pull request #5896 from geoffw0/weak_crypto
...
C++: Improve cpp/weak-cryptographic-algorithm
2021-05-19 13:17:13 +02:00
Rasmus Wriedt Larsen
c4987e94e0
Python: Re-introduce syntactic handling of str/bytes/unicode
...
I don't want to loose results on this, so until type-tracking/API graphs
can handle this, I want to keep our syntactic handling.
2021-05-19 13:00:11 +02:00
Alexander Eyers-Taylor
c80495fbdd
Merge pull request #5851 from github/alexet/patch
...
Use only_bind_out to force a good join order.
2021-05-19 12:00:07 +01:00
Rasmus Wriedt Larsen
aa8b7306a3
Python: Use more API graphs in TaintTrackingPrivate
...
But now we suddenly don't handle the call to `unicode` :O -- at least
not when I run the test locally (using Python 3).
2021-05-19 12:59:58 +02:00
CodeQL CI
9bdfdb02d3
Merge pull request #5916 from erik-krogh/scriptSink
...
Approved by esbena
2021-05-19 03:46:17 -07:00
Tom Hvitved
4798a1a008
Merge pull request #184 from github/cfg/singleton-method-abnormal
...
CFG: Add missing `propagatesAbnormal` overrides
2021-05-19 12:45:59 +02:00
Rasmus Wriedt Larsen
a2e8417c11
Python: Use API graphs in TaintTrackingPrivate
...
Some of this modeling could probably go to the standard lib modeling
file, but this chain of commits is already pretty feature creep :|
2021-05-19 12:39:10 +02:00
Rasmus Wriedt Larsen
53f1d2342d
Python: Small refactor of TaintTrackingPrivate
...
Highlight why we need to import `DataFlowPrivate`
2021-05-19 12:19:18 +02:00
Geoffrey White
aaae717328
Merge branch 'main' into weak_crypto
2021-05-19 11:19:08 +01:00
CodeQL CI
c793ac933a
Merge pull request #5921 from erik-krogh/expressChain
...
Approved by esbena
2021-05-19 03:17:40 -07:00
Geoffrey White
e985204a62
C++: Add change note.
2021-05-19 11:14:23 +01:00
Rasmus Wriedt Larsen
3f5602c048
Python: Refactoring of TaintTrackingPrivate
...
To use all the good new stuff 🎉
2021-05-19 12:13:04 +02:00
Rasmus Wriedt Larsen
b02fb90807
Python: Add getObject(string attrName) to AttrRef
...
Now that I got started adding small things that are nice, I've been
missing this one (that is available on an `AttrNode`).
2021-05-19 12:11:49 +02:00
Rasmus Wriedt Larsen
9137f04bd3
Python: Add getPostUpdateNode to DataFlow::Node
...
as discussed in https://github.com/github/codeql/pull/5864#discussion_r634675940
2021-05-19 11:57:49 +02:00
Tony Torralba
1351516e9a
Moved JNDI injection related files from experimental to standard
2021-05-19 11:32:51 +02:00
CodeQL CI
23e8092452
Merge pull request #5864 from RasmusWL/some-framework-modeling
...
Approved by tausbn
2021-05-19 02:31:06 -07:00
Tony Torralba
43d4575359
Add createParser as taint preserving callable
2021-05-19 11:20:54 +02:00
Geoffrey White
e66b5559a4
Merge pull request #5924 from MathiasVP/cleanup-modelFlow
...
C++: Remove a disjunction from `modelFlow`
2021-05-19 10:12:20 +01:00
Geoffrey White
99833f16e1
Merge pull request #5923 from MathiasVP/range-analysis-in-overflow-static
...
C++: Add range analysis to `cpp/static-buffer-overflow`
2021-05-19 10:12:02 +01:00
Rasmus Wriedt Larsen
904eacf9a2
Python: Use absolute import for PEP249
2021-05-19 11:10:06 +02:00
Mathias Vorreiter Pedersen
4d00513606
C++: Use the isParameterDerefOrQualifierObject predicate to remove a disjunction.
2021-05-19 10:47:04 +02:00
Tony Torralba
e58746508d
Merge branch 'main' into atorralba/promote-ognl-injection
2021-05-19 10:41:08 +02:00
Mathias Vorreiter Pedersen
741eed93b2
C++: Replace minimum(any(...)) with a min aggregate. Also removed the min aggregate further down since it's no longer needed.
2021-05-19 09:03:05 +02:00
yoff
60da193620
Update python/ql/src/semmle/python/frameworks/Cryptodome.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-19 08:08:59 +02:00
Erik Krogh Kristensen
9a1f80aa93
accept updated test output for express test
2021-05-18 22:23:29 +02:00
Erik Krogh Kristensen
e9d2dd0b57
support the chaining methods on Express apps
2021-05-18 22:23:27 +02:00
Robert Marsh
db85a215ab
C++: fix alias model for smart pointer setters
2021-05-18 13:16:22 -07:00
Robert Marsh
e590a7bc33
C++: Handle alias models for this/qualifiers
2021-05-18 13:15:38 -07:00
Evgenii Protsenko
af75d85b2e
ClickHouseSQLInjection.qll : add tests
2021-05-18 22:49:11 +03:00
Tom Hvitved
c866f88410
CFG: Add missing propagatesAbnormal overrides
2021-05-18 20:39:46 +02:00
Tom Hvitved
9871698cee
Add more CFG tests
2021-05-18 20:39:08 +02:00
Chris Smowton
0c970b5f1f
Merge pull request #5802 from luchua-bc/java/rhino-injection
...
Java: CWE-094 Rhino code injection
2021-05-18 19:25:53 +01:00
Mathias Vorreiter Pedersen
6103aabdce
C++: Add change-note.
2021-05-18 19:17:11 +02:00
luchua-bc
02aa9c6fc7
Optimize the sink and update qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
d4323a4a54
Update qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
9d392263a5
Refactor inconsistent method names
2021-05-18 16:12:23 +00:00
luchua-bc
2fa249a8eb
Update method name and qldoc
2021-05-18 16:12:23 +00:00
luchua-bc
2c1374bdcf
Use inline implementation for ScriptEngineFactory
2021-05-18 16:12:23 +00:00
luchua-bc
0ac8453398
Allow all arguments of methods in ScriptEngineFactory
2021-05-18 16:12:23 +00:00
luchua-bc
e4699f7fa9
Optimize the query
2021-05-18 16:12:22 +00:00
luchua-bc
d664aa6d6a
Include more scenarios and update qldoc
2021-05-18 16:12:22 +00:00
luchua-bc
852bcfb5c7
Refactor the ScriptEngine query and the Rhino code injection query into one
2021-05-18 16:12:22 +00:00
luchua-bc
b0b5338359
Rhino code injection
2021-05-18 16:12:22 +00:00
Mathias Vorreiter Pedersen
26c4a66dc4
C++: Add range analysis to fix FPs.
2021-05-18 17:54:30 +02:00
Mathias Vorreiter Pedersen
df9981de4f
C++: Add testcases with false positives.
2021-05-18 17:53:20 +02:00
Ethan Palm
9deaace756
Merge pull request #5898 from ethanpalm/go-build-commands
...
Docs: Document Go tracer support
2021-05-18 11:49:31 -04:00
Ethan Palm
610e041e28
Add reviewer feedback
...
Co-authored-by: mc <42146119+mchammer01@users.noreply.github.com >
2021-05-18 11:42:08 -04:00
Chris Smowton
4230869ee2
Merge pull request #5819 from luchua-bc/java/jpython-injection
...
Java: CWE-094 Jython code injection
2021-05-18 16:38:40 +01:00
Chris Smowton
71f540a755
Merge pull request #5844 from haby0/SpringRedirects
...
[Java] CWE-601 Spring url redirection detect
2021-05-18 16:37:40 +01:00
Geoffrey White
cdf261b54b
C++: In fact it's just not good enough to get additional evidence from the declaring type.
2021-05-18 14:31:19 +01:00
Geoffrey White
88dc0861ac
C++: Fix copy-paste error.
2021-05-18 14:27:31 +01:00
Geoffrey White
c7382ee06d
C++: Repair for function call macros.
2021-05-18 14:27:08 +01:00
Geoffrey White
012840e602
C++: Add more test cases.
2021-05-18 14:26:12 +01:00
Geoffrey White
3d8513c1e0
C++: Add 'MAC' as additional evidence.
2021-05-18 13:24:51 +01:00
Geoffrey White
da83e9142b
C++: Replace getAnExpandedElement with getAGeneratedElement as it's all we really need.
2021-05-18 13:23:49 +01:00
luchua-bc
2a0721b2ae
Optimize the sink and update method name
2021-05-18 12:18:14 +00:00
CodeQL CI
1d120824ac
Merge pull request #5920 from erik-krogh/clone
...
Approved by esbena
2021-05-18 05:13:57 -07:00
Rasmus Wriedt Larsen
97fadd9970
Merge branch 'main' into port-weak-crypto-algorithm
2021-05-18 14:04:18 +02:00
Rasmus Wriedt Larsen
6c755024ac
Python: Refactor code, inline some type-tracking
2021-05-18 14:03:36 +02:00
Rasmus Wriedt Larsen
770429fd68
Python: Autoformat
2021-05-18 14:02:46 +02:00
haby0
e46de44473
Solve errors caused by private ownership
2021-05-18 19:56:32 +08:00
Erik Krogh Kristensen
06514a2bb6
move clone model to Extend.qll
2021-05-18 13:16:41 +02:00
haby0
caf5f4d605
modified comment
2021-05-18 19:10:03 +08:00
Erik Krogh Kristensen
1435ac715a
add support for the clone library
2021-05-18 12:46:34 +02:00
Nick Rolfe
b9b6ffe53e
Merge pull request #178 from github/cfg_cleanup
...
Clean up CFG implementation
2021-05-18 10:53:44 +01:00
Rasmus Wriedt Larsen
9156316b14
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-18 11:53:11 +02:00
Rasmus Wriedt Larsen
0ade23ab2a
Python: Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-05-18 11:49:59 +02:00
Erik Krogh Kristensen
cac0ab299b
add writes to textContent on a <script /> as a sink for code-injection
2021-05-18 10:25:25 +02:00
Tony Torralba
34a55e77ef
Add missing subtype test
2021-05-18 09:38:35 +02:00
Anders Schack-Mulligen
9b0e3b1950
Merge pull request #5814 from JLLeitschuh/feat/JLL/jackson_as_taint_step
...
[Java] Add taint tracking through Jackson deserialization
2021-05-18 09:31:16 +02:00
haby0
a0cd551bae
Add filtering of String.format
2021-05-18 11:05:10 +08:00
luchua-bc
e652d8771c
Update method name and qldoc
2021-05-17 20:36:15 +00:00
Chris Smowton
ef410b9984
Update java/change-notes/2021-05-14-close-resource-leaks-improvements.md
2021-05-17 19:27:10 +01:00
Henry Mercer
0ad69d11a8
Code Scanning selectors: Include diagnostic queries
2021-05-17 18:39:33 +01:00
Tony Torralba
347bd2ebc2
Added change note
2021-05-17 17:51:07 +02:00
Nick Rolfe
778de741d0
Merge remote-tracking branch 'origin/main' into cfg_cleanup
2021-05-17 16:26:28 +01:00
Geoffrey White
3b29920255
C++: Replace getAChild with getAnArgument().
2021-05-17 16:10:39 +01:00
Tony Torralba
1815656a02
Use set literals for OGNL packages
2021-05-17 16:56:37 +02:00
Tony Torralba
8d682000b4
Fix QLDocs
2021-05-17 16:53:30 +02:00
Geoffrey White
09d00b133e
C++: Acknowledge another not detected result in tests.
2021-05-17 15:53:03 +01:00
Tony Torralba
ed13c17ea8
Fix qhelp file
2021-05-17 16:52:08 +02:00
Geoffrey White
930b9fe3e5
C++: Add triple-DES to the bad algorithms list.
2021-05-17 15:51:17 +01:00
Geoffrey White
57354def9e
C++: Real world diffs suggest that 'Cipher' should be an encryption word as well.
2021-05-17 15:36:27 +01:00
Geoffrey White
9e75f53798
C++: Prefer matches to regexpMatch.
2021-05-17 15:35:19 +01:00
Nick Rolfe
f3d831c25e
Remove unnecessary superclass prefix
2021-05-17 15:26:53 +01:00
Nick Rolfe
9a2523e2f9
Make EndBlockTree extend StmtSequenceTree
2021-05-17 15:24:20 +01:00
Tom Hvitved
ae6326b1f3
Merge pull request #5882 from hvitved/csharp/autobuilder/shared-compilation
2021-05-17 16:05:08 +02:00
Tony Torralba
bc2370ae1d
Use InlineExpectationsTest for tests
2021-05-17 15:58:33 +02:00
Nick Rolfe
6d395230d4
Make BraceBlockTree extend StmtSequenceTree
2021-05-17 14:54:11 +01:00
Tamas Vajk
6853f6affa
C#: Fix type of temp foreach variable in IR
2021-05-17 15:53:57 +02:00
Tom Hvitved
ad036f8af1
Merge pull request #179 from github/hvitved/synth-framework-take2
...
AST synthesis framework (take 2)
2021-05-17 15:36:56 +02:00
Mathias Vorreiter Pedersen
d46452e8de
Merge pull request #5903 from MathiasVP/tainted-allocation-size-barrier
...
C++: Add barriers to `cpp/uncontrolled-allocation-size`
2021-05-17 15:24:45 +02:00
Tony Torralba
cfb38c43b3
QLDocs
2021-05-17 15:04:50 +02:00
Tom Hvitved
25f226e9dc
Add comment to getVariableReal
2021-05-17 15:02:40 +02:00
CodeQL CI
12b1bbe484
Merge pull request #5897 from erik-krogh/uid
...
Approved by RasmusWL, esbena
2021-05-17 06:01:04 -07:00
Tony Torralba
897cd5384f
Created JWT.qll and refactored to use CSV models
2021-05-17 14:44:33 +02:00
Tom Hvitved
b434d42d05
Rename ParenthesizedExprSynth to StmtSequenceSynth
2021-05-17 13:39:44 +02:00
luchua-bc
7af1984348
Update the change note
2021-05-17 11:35:35 +00:00
haby0
689c28a178
modified JsonIoSafeOptionalArgs
2021-05-17 19:00:59 +08:00
haby0
95c33a240f
Update java/change-notes/2021-05-17-add-unsafe-deserialization-sinks.md
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-17 18:49:16 +08:00
Tony Torralba
3e4ccaf9a8
Move from experimental to standard
2021-05-17 10:41:54 +02:00
Anders Schack-Mulligen
77c93dcf26
Make private
2021-05-17 10:35:04 +02:00
Tom Hvitved
b142ecb1db
C#: Address review comment
2021-05-17 10:33:06 +02:00
haby0
58d774ae85
add change notes
2021-05-17 14:52:05 +08:00
Mathias Vorreiter Pedersen
31091c66c1
C++: Add a test containing a guarded long.
2021-05-17 08:06:06 +02:00
Robert Marsh
d706d7b7a4
Merge pull request #5887 from MathiasVP/fewer-rand-sources-in-uncontrolled-arithmetic
...
C++: Add more sanitizers to `cpp/uncontrolled-arithmetic`
2021-05-14 15:35:56 -07:00
luchua-bc
1a072f3bb9
Move APIs from predicates flagged auto-generated to the other section
2021-05-14 20:38:23 +00:00
Marcono1234
e205e4bbce
Java: Add change note for close resource query changes
2021-05-14 22:31:14 +02:00
Marcono1234
73c7e15580
Java: Add back StringInputStream to CloseReader.ql
2021-05-14 22:25:00 +02:00
Ethan P
58c746e42b
fix formatting
2021-05-14 14:09:07 -04:00
Ethan P
0e99d5e379
Add examples of both tracing mechanisms
2021-05-14 14:05:55 -04:00
Ethan Palm
6dd30ee5e2
clarify options for tracing
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-05-14 14:00:33 -04:00
Alex Ford
ca046c9af5
Merge pull request #182 from github/loc-query-tag
2021-05-14 17:42:21 +01:00
Robin Neatherway
17b74319fa
Merge pull request #5902 from github/rneatherway/lines-of-code-tags
...
Add lines-of-code tags
2021-05-14 17:16:50 +01:00
Alex Ford
1ba491a956
add lines-of-code tag to rb/summary/lines-of-code
2021-05-14 17:06:49 +01:00
Alex Ford
3c0f20cec8
Merge pull request #170 from github/weak-file-permissions
...
Add `rb/overly-permissive-file` query
2021-05-14 17:04:15 +01:00
Arthur Baars
6c382ccd4b
Merge pull request #169 from github/aibaars/codespace
...
Add CodeSpace container
2021-05-14 18:00:51 +02:00
Alex Ford
e9090cec70
Merge pull request #181 from github/loc-description-improvements
...
LOC summary query improvements
2021-05-14 16:13:42 +01:00
Alex Ford
65b0ce204d
restrict rb/summary/lines-of-code to the source root
2021-05-14 16:00:55 +01:00
Alex Ford
71234155b8
improve rb/summary/lines-of-code description
2021-05-14 15:59:07 +01:00
Alex Ford
7ff2ca4ffe
improve rb/summary/lines-of-user-code name and description
2021-05-14 15:56:59 +01:00
Alex Ford
6bd2e4e4b7
Merge pull request #175 from github/loc-summary-queries-1
...
Summary queries for total LOC and user-code LOC
2021-05-14 15:51:45 +01:00
Ethan Palm
4cf695b5ab
specify `--command` option
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-05-14 10:00:17 -04:00
Mathias Vorreiter Pedersen
58dde68b10
C++: Add change-note.
2021-05-14 14:16:00 +02:00
Mathias Vorreiter Pedersen
2d0a56128d
C++: Prevent flow out of pointer-difference expressions.
2021-05-14 13:49:48 +02:00
Mathias Vorreiter Pedersen
c1d41b3169
C++: Add false positive result from pointer-difference expressions.
2021-05-14 13:47:23 +02:00
luchua-bc
1497fba6f2
Remove the isAdditionalTaintStep predicate
2021-05-14 11:43:49 +00:00
Mathias Vorreiter Pedersen
5031b73f35
C++: Add barrier to cpp/uncontrolled-allocation-size that blocks flow when overflow isn't possible.
2021-05-14 13:43:20 +02:00
Erik Krogh Kristensen
3766678d60
move RegexpMetaChars into Regexp.qll
2021-05-14 13:23:36 +02:00
CodeQL CI
af0d31695a
Merge pull request #5862 from asgerf/js/has-underlying-type
...
Approved by erik-krogh, max-schaefer
2021-05-14 04:10:43 -07:00
luchua-bc
9ef58e378c
Remove the sample Java file in the src folder
2021-05-14 11:01:25 +00:00
Robin Neatherway
f378513ea3
Add lines-of-code tags
...
This is a proposed method for advertising which queries are measuring
the lines of code in a project in a more robust manner than inspecting
the rule id.
Note that the python "LinesOfUserCode" query should _not_ have this
property, as otherwise the results of the two queries will be summed.
2021-05-14 11:20:43 +01:00
haby0
60fc607449
Modify ql
2021-05-14 18:17:05 +08:00
Erik Krogh Kristensen
33641c84f6
recognize sanitizing string replace call for regexp-injection
2021-05-14 11:58:27 +02:00
haby0
498c99e26c
Add left value, Add return expression tracing flow
2021-05-14 16:31:59 +08:00
Ethan P
406fb1e383
Update with Go custom build options
2021-05-13 17:29:34 -04:00
Erik Krogh Kristensen
9d60ec035f
fix casing on the uid regexp
2021-05-13 23:04:30 +02:00
Erik Krogh Kristensen
662e335424
keep python in sync
2021-05-13 22:54:39 +02:00
Erik Krogh Kristensen
51067af784
add "uid" (and friends) as maybe being sensitive account info
2021-05-13 22:34:10 +02:00
Arthur Baars
66bf13e77a
Setup a CodeSpace
2021-05-13 21:03:40 +02:00
Arthur Baars
3547980f5b
Update reference to tree-sitter-embedded-template
2021-05-13 21:03:40 +02:00
Arthur Baars
498e760b21
Add consistency queries to codeqlmanifest
2021-05-13 21:03:40 +02:00
Nick Rolfe
a46f45440a
Create NamespaceTree to reduce duplication
2021-05-13 17:52:20 +01:00
Nick Rolfe
5e6dddad3e
Replace count(getReceiver()) with 1
2021-05-13 16:59:05 +01:00
Geoffrey White
9cdf838981
C++: Bug fix.
2021-05-13 16:20:52 +01:00
Geoffrey White
a9d57450c8
C++: Autoformat.
2021-05-13 16:19:09 +01:00
CodeQL CI
9b0c24abc2
Merge pull request #5876 from erik-krogh/moreAxios
...
Approved by asgerf
2021-05-13 08:03:33 -07:00
Geoffrey White
3a83ff54e6
C++: Add support for class methods.
2021-05-13 16:02:00 +01:00
Geoffrey White
2576075b98
C++: Repair result message.
2021-05-13 15:52:28 +01:00
Geoffrey White
5d1ef49f8f
C++: Add support for enum constants.
2021-05-13 15:42:42 +01:00
Tony Torralba
132a187586
Add missing QLDoc
2021-05-13 16:29:29 +02:00
Tony Torralba
50e1b42581
Add missing QLDoc
2021-05-13 15:37:16 +02:00
Alex Ford
11949c6b77
Merge pull request #176 from github/diagnostics-entries
...
Start writing diagnostics to the DB, and some basic summary/diagnostics queries
2021-05-13 14:31:01 +01:00
Tony Torralba
1fbdf6ecd0
Add change note
2021-05-13 15:13:25 +02:00
Tony Torralba
db732918af
Add taint step for setExpression
2021-05-13 15:01:36 +02:00
Alex Ford
15712df717
update ruby.dbscheme.stats
2021-05-13 13:50:53 +01:00
Alex Ford
dc3c5926f5
add a db upgrade for the diagnostics table
2021-05-13 13:45:02 +01:00
Alex Ford
277a6a020a
diagnostics: use debug rather than hidden terminology, and leave gaps for other severities
2021-05-13 13:44:10 +01:00
Alex Ford
b2f2f786ac
allow the WeakFilePermissions access predicate to return multiple values
2021-05-13 13:22:14 +01:00
Geoffrey White
e4d2c7cfc4
C++: Rewrite so that we look for additional evidence.
2021-05-13 13:19:39 +01:00
Alex Ford
0d1c4a1290
document that the WeakFilePermissions access predicate should return at most one value
2021-05-13 13:06:45 +01:00
Alex Ford
89be8d8710
Apply suggestions from code review
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-05-13 12:59:16 +01:00
Geoffrey White
123889a671
C++: Fix 'triple DES' false positives.
2021-05-13 10:21:06 +01:00
haby0
02e415045f
Delete RedirectBuilderFlowConfig
2021-05-13 15:48:15 +08:00
Geoffrey White
40cf29b625
C++: Rearrange the library.
2021-05-13 08:39:37 +01:00
haby0
effa2b162a
Add spring url redirection detect
2021-05-13 09:55:37 +08:00
Taus
79cfe5aca2
Python: Limit py/use-of-input to Python 2
2021-05-12 21:23:16 +00:00
Taus
fad55b3635
Python: Reimplement py/use-of-input
2021-05-12 21:09:51 +00:00
Evgenii Protsenko
470e3eb089
[python] ClickHouseDriver.qll: add support for subclasses
2021-05-13 00:03:53 +03:00
Erik Krogh Kristensen
34fbafafde
remove redundant "put" case
2021-05-12 22:34:44 +02:00
Evgenii Protsenko
2efa0ad105
[C++] Implement module ClickHouseDriver.qll
2021-05-12 22:36:24 +03:00
Taus
fe12e620dd
Python: Avoid clobbering range in test
...
This was an unwanted interaction between two unrelated tests, so I
switched to a different built-in in the second test. I also added a test
case that shows an unfortunate side effect of this more restricted
handling of built-ins.
2021-05-12 18:42:10 +00:00
Geoffrey White
0450caa73d
C++: Exclude array initializers.
2021-05-12 19:39:30 +01:00
Geoffrey White
52a88af6c1
C++: Exclude macro invocations in switch case expressions.
2021-05-12 19:33:18 +01:00
Geoffrey White
9404d0676d
C++: Exclude macros that don't generate anything.
2021-05-12 19:28:08 +01:00
Geoffrey White
b6d5f7c315
C++: Fix FPs caused by substring regexp.
2021-05-12 19:23:49 +01:00
Geoffrey White
109fa4d38e
C++: Add test cases for BrokenCryptoAlgorithm.ql.
2021-05-12 19:16:00 +01:00
Taus
ff2b6b9737
Python: Correctly locate stores to built-ins
2021-05-12 18:07:18 +00:00
Tom Hvitved
ff06e724b1
AST synthesis framework
2021-05-12 19:58:52 +02:00
luchua-bc
4d014717b6
Add a change note and reset the qhelp file
2021-05-12 15:50:40 +00:00
Alex Ford
acdbd9859e
simplify ExtractionError class defn
2021-05-12 16:45:31 +01:00
Alex Ford
11376bc411
note that severity 3 corresponds to an error diagnostic level
2021-05-12 16:39:51 +01:00
Alex Ford
0dad1a4779
use a case-split for diagnostic severity levels
2021-05-12 16:38:37 +01:00
Tom Hvitved
ea1c7b51ef
Add more operator assignment tests
2021-05-12 17:24:11 +02:00
Mathias Vorreiter Pedersen
7d26aca793
C++: Add change-note.
2021-05-12 16:34:23 +02:00
Erik Krogh Kristensen
e0f78dde56
make the axios error catch match the non-error case
2021-05-12 16:23:37 +02:00
Mathias Vorreiter Pedersen
e94dab70b5
C++: Add sanitizers to cpp/uncontrolled-arithmetic.
2021-05-12 15:44:09 +02:00
Jonathan Leitschuh
48b50f93c2
Update java/ql/src/semmle/code/java/frameworks/jackson/JacksonSerializability.qll
...
Co-authored-by: Tony Torralba <atorralba@users.noreply.github.com >
2021-05-12 08:58:01 -04:00
Taus
3d30efed11
Python: Add exec as a shared built-in
...
This is _slightly_ wrong, since `exec` isn't a built-in function in
Python 2. It should be harmless, however, since `exec` is a keyword,
and so cannot be redefined anyway.
2021-05-12 11:07:16 +00:00
Anders Schack-Mulligen
7974e3ad38
Merge pull request #5883 from zbazztian/consider-boxed-booleans-to-avoid-xxe-fps
...
Consider boxed booleans to avoid false positives for XXE.ql
2021-05-12 12:51:22 +02:00
Tony Torralba
09b40601a7
Consider ExpressionAccessor
2021-05-12 12:32:38 +02:00
Sebastian Bauersfeld
b05512a958
Add change notes.
2021-05-12 16:58:24 +07:00
Taus
5c7e73d485
Python: Add exception types
2021-05-12 09:53:09 +00:00
Sebastian Bauersfeld
bf4d88175c
Consider boxed booleans to avoid false positives for XXE.ql
2021-05-12 16:40:00 +07:00
Geoffrey White
8f152b7380
Merge pull request #5877 from MathiasVP/detect-more-abs-in-overflow-library
...
C++: Detect more uses of `abs`
2021-05-12 10:02:12 +01:00
Tom Hvitved
fc121e1cbd
Merge pull request #5865 from tamasvajk/feature/remove-base-class-dependency-id
...
C#: Remove base class from type IDs in trap files
2021-05-12 10:30:31 +02:00
Taus
07a70af344
Python: Limit set of globals that may be built-ins
...
I am very tempted to leave out the constants, or at the very least
`False`, `True`, and `None`, as these have _many_ occurrences in the
average codebase, and are not terribly useful at the API-graph level.
If we really do want to capture "nodes that refer to such and such
constant", then I think a better solution would be to create classes
extending `DataFlow::Node` to facilitate this.
2021-05-12 08:19:35 +00:00
Tom Hvitved
961467e06e
C#: Always pass /p:UseSharedCompilation=false to dotnet build in auto builder
2021-05-12 10:15:04 +02:00
Anders Schack-Mulligen
a247ae4357
Merge pull request #5843 from JLLeitschuh/feat/JLL/improve_kryo_support
...
[Java] Fix Kryo FP & Kryo 5 Support
2021-05-12 09:52:24 +02:00
Anders Schack-Mulligen
74ae2e0857
Merge pull request #5773 from hvitved/dataflow/aggressive-caching
...
Data flow: Cache most language-dependent predicates
2021-05-12 09:41:55 +02:00
haby0
12f47bcf24
Add UnsafeDeserialization
2021-05-12 12:37:16 +08:00
thank_you
3e25b14a68
Update NoSQLInjection.expected
2021-05-11 20:07:09 -04:00
Alex Ford
0016146e11
limit summary queries to files from within the source directory
2021-05-11 21:07:08 +01:00
Tamas Vajk
8e371fd05a
Adjust expected IR test file
2021-05-11 21:54:05 +02:00
Alex Ford
49d9bb798c
revamp the diagnostics tests
2021-05-11 19:53:00 +01:00
Alex Ford
9b115129fe
move diagnostics queries to match other languages more closely
2021-05-11 19:53:00 +01:00
Alex Ford
1381d8d076
tidy up Diagnostics library
2021-05-11 19:28:31 +01:00
Alex Ford
9663b74e12
use severity level 3 to indicate an extraction error for a file
2021-05-11 19:23:05 +01:00
Alex Ford
d1d8cff915
tests for some more diagnostics queries
2021-05-11 19:14:22 +01:00
Alex Ford
de497dd1ba
tests for NumberOfFiles* summary queries
2021-05-11 19:14:22 +01:00
Mathias Vorreiter Pedersen
948f1d8e34
C++: Add testcase with INTMAX_MIN.
2021-05-11 19:43:21 +02:00
Marcono1234
8969da7775
Java: Improve not closing resource query; add tests
2021-05-11 19:32:02 +02:00
Nick Rolfe
004147984b
Simplify CFG classes for StmtSequences
2021-05-11 18:27:11 +01:00
luchua-bc
e7cd6c9972
Optimize the query
2021-05-11 16:56:12 +00:00
Jonathan Leitschuh
5a68ac88ef
Cleanup Jackson logic after code review
2021-05-11 10:48:22 -04:00
Jonathan Leitschuh
bacc3ef5b3
[Java] Jackson add support for 2 step deserialization taint flow
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
e97bad3b33
Support field access data flow for JacksonDeserializedTaintStep
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
83d527ed19
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
b871f48c50
[Java] Add release note to Jackson change
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
d0b0b767a2
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
d0638db6e7
[Java] Add data flow through Iterator deserializers for Jackson
2021-05-11 10:36:47 -04:00
Jonathan Leitschuh
56b1f15dda
[Java] Add taint tracking through Jackson deserialization
2021-05-11 10:36:47 -04:00
Geoffrey White
d7e560c611
Merge pull request #5767 from ihsinme/ihsinme-patch-268
...
CPP: Add query for CWE-1126: Declaration of Variable with Unnecessarily Wide Scope
2021-05-11 15:24:25 +01:00
Tony Torralba
8754c85a57
Use InlineExpectationsTest
2021-05-11 16:23:12 +02:00
Tony Torralba
fc03b92e11
Moved from experimental to standard
2021-05-11 15:42:13 +02:00
Tony Torralba
53da3b661a
Refactor to CSV sink model
2021-05-11 15:33:49 +02:00
Alex Ford
8ab95324eb
dedupe some error reporting code
2021-05-11 14:09:10 +01:00
Mathias Vorreiter Pedersen
3e21f479a9
C++: Add change-note.
2021-05-11 14:58:48 +02:00
Tom Hvitved
d66506b0a3
Data flow: Rename {Argument,Parameter}NodeExt to {Arg,Param}Node
2021-05-11 14:40:10 +02:00
Mathias Vorreiter Pedersen
48e783184c
C++: Fix false positive by recognizing more absolute value functions in Overflow.qll
2021-05-11 14:30:28 +02:00
Jonathan Leitschuh
0d9a85ca6b
Update java/change-notes/2021-05-05-kryo-improvements.md
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-05-11 08:29:50 -04:00
Mathias Vorreiter Pedersen
24d8abd2c2
C++: Add false positive testcase when an absolute value is used in comparison.
2021-05-11 14:27:53 +02:00
CodeQL CI
922b276fac
Merge pull request #5728 from asgerf/js/source-sink-queries
...
Approved by erik-krogh
2021-05-11 05:04:47 -07:00
Tamas Vajk
717070c7e4
Fix/cleanup passed and default arguments values
2021-05-11 13:11:35 +02:00
yoff
a7f97895ac
Merge pull request #5863 from erik-krogh/printReg
...
JS: add printAst.ql support for regular expressions
2021-05-11 12:45:49 +02:00
yoff
0e5a2c4573
Merge pull request #5442 from jorgectf/jorgectf/python/redos
...
Python: Add Regular Expression Injection query
2021-05-11 12:11:35 +02:00
yoff
549c9eee1a
Merge pull request #5739 from RasmusWL/share-sensitive-data-modeling
...
Python/JS: Share sensitive data modeling
2021-05-11 11:53:59 +02:00
CodeQL CI
a87731115a
Merge pull request #5860 from max-schaefer/js/improve-sql-modelling
...
Approved by asgerf
2021-05-11 02:24:52 -07:00
Erik Krogh Kristensen
99e98419dc
add support for error values in an axios client request
2021-05-11 11:24:21 +02:00
Erik Krogh Kristensen
52991dc4a1
rewrite the axios model to use API graphs
2021-05-11 11:23:51 +02:00
Erik Krogh Kristensen
54f191cfe3
add support for rejected promise values in API graphs
2021-05-11 11:23:03 +02:00
CodeQL CI
beb66fc4db
Merge pull request #5719 from asgerf/js/nestjs
...
Approved by esbena
2021-05-11 02:08:27 -07:00
Anders Schack-Mulligen
744c495ac2
Merge pull request #5824 from JLLeitschuh/feat/JLL/guava_first_non_null
...
[Java] Add support for com.google.common.base.MoreObjects#firstNonNull
2021-05-11 09:42:20 +02:00
AlexDenisov
2905bb8b9a
Merge pull request #5861 from AlexDenisov/alexdenisov/adjust-user-defined-literals-test
...
C++: Adjust user-defined literals test' expectations
2021-05-11 09:31:54 +02:00
Anders Schack-Mulligen
7d6a497136
Merge pull request #5857 from dbartol/container/work
...
Java: Fix QLDoc for `Container.toString()`
2021-05-11 08:37:41 +02:00
Dave Bartolomeo
f85aff869c
Java: Fix PR feedback
2021-05-10 16:37:23 -04:00
Alex Ford
0f3168f293
record more parse errors
2021-05-10 21:23:24 +01:00
thank_you
3ace49549a
Add tests for SqlAlchemy modeling library
...
After researching SqlAlchemy and it's various query methods, I discovered several types of SQL injection possibilities.
The SQLExecution.py file contains these examples and can be broken up into two types of injections. Injections requiring the text() taint-step and injections NOT requiring the text() taint step.
2021-05-10 16:12:15 -04:00
Marcono1234
2e098f050e
Java: Ignore char array based closeables for CloseReader.ql and CloseWriter.ql
2021-05-10 18:33:07 +02:00
Mathias Vorreiter Pedersen
5016c6436a
Merge pull request #5859 from MathiasVP/fix-fp-in-comparison-with-wider-type
...
C++: Fix false positive in `cpp/comparison-with-wider-type`
2021-05-10 17:58:31 +02:00
Jonathan Leitschuh
d27316eb3e
Apply suggestions from code review
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-10 11:55:31 -04:00
Chris Smowton
0afe22d60c
Merge pull request #5710 from p0wn4j/jsch-os-injection
...
[Java] CWE-078: Add JSch lib OS Command Injection sink
2021-05-10 16:12:00 +01:00
Tamas Vajk
dd86da3f24
C#: Remove base class from type IDs in trap files
2021-05-10 17:06:10 +02:00
Tamas Vajk
31ac6442e8
C#: Fix default parameter value generation in case of error symbols
2021-05-10 17:03:08 +02:00
Rasmus Wriedt Larsen
1b0d5053e7
Python: simplejson load/dump only works with lib installed
...
Which I had done locally. Problem is the same about not having PostUpdateNode
when points-to is not able to resolve the call, so I'm happy to just make CI
happy right now, and hopefully we'll get a fix to the underlying problem soon 😊
2021-05-10 16:21:29 +02:00
Mathias Vorreiter Pedersen
d55db836cb
C++: Remove implied conjunct.
2021-05-10 16:13:54 +02:00
Tom Hvitved
498f9b2547
Merge pull request #5848 from hvitved/csharp/trap-key-escape
...
C#: Escape IDs in TRAP label definitions
2021-05-10 16:13:13 +02:00
Tony Torralba
8553ca1019
Autoformatting
2021-05-10 15:42:20 +02:00
Mathias Vorreiter Pedersen
51d04cb5b3
C++: Correct test annotation.
2021-05-10 15:30:35 +02:00
Mathias Vorreiter Pedersen
c0b65314be
C++: Fix false positive by restricting _both_ the old (unconverted) expression _and_ all of the conversions.
2021-05-10 15:18:42 +02:00
Rasmus Wriedt Larsen
c2a6b811fc
Python: Add modeling of ujson PyPI package
...
The problem with `tainted_filelike` not having taint, is that in the call
`ujson.dump(tainted_obj, tainted_filelike)`
there is no PostUpdateNote for `tainted_filelike` :( The reason is that
points-to is not able to resolve the call, so none of the clauses in
`argumentPreUpdateNode` matches
See 08731fc6cf/python/ql/src/semmle/python/dataflow/new/internal/DataFlowPrivate.qll (L101-L111)
Let's deal with that issue in an other PR though
2021-05-10 15:10:31 +02:00
Rasmus Wriedt Larsen
72d08f4d6e
Python: Model json load/dump
2021-05-10 15:10:30 +02:00
Rasmus Wriedt Larsen
63f28d7d9b
Python: Model keyword args to json loads/dumps
2021-05-10 15:10:29 +02:00
Rasmus Wriedt Larsen
784e0cdb96
Python: Improve tests of json module
...
Inspired by the work on previous commit
2021-05-10 15:10:28 +02:00
Rasmus Wriedt Larsen
3fe9a3d933
Python: Add modeling of simplejson PyPI package
...
I noticed that we don't handle PostUpdateNote very well in the concept tests,
for exmaple for `json.dump(...)` there _should_ have been an `encodeOutput` as
part of the inline expectations.
I'll work on fixing that up in a separate PR, to keep things clean.
2021-05-10 15:10:27 +02:00
Mathias Vorreiter Pedersen
c7cd75437f
C++: Add testcase demonstrating false positive from conversions.
2021-05-10 14:58:33 +02:00
CodeQL CI
a3d17a1437
Merge pull request #5769 from erik-krogh/libXss
...
Approved by esbena
2021-05-10 05:58:07 -07:00
yoff
78370cf63f
Update python/ql/src/experimental/semmle/python/frameworks/Stdlib.qll
2021-05-10 14:53:40 +02:00
Erik Krogh Kristensen
504c34ed2c
use shouldPrint to filter out regular expressions from other files
2021-05-10 14:51:13 +02:00
Erik Krogh Kristensen
d6f9e37e39
add printAst.ql support for regular expressions
2021-05-10 13:31:00 +02:00
ihsinme
9e5a38debd
Update DeclarationOfVariableWithUnnecessarilyWideScope.expected
2021-05-10 14:17:40 +03:00
Asger Feldthaus
3e5dc1efb7
JS: More robust hasUnderlyingType
2021-05-10 13:17:25 +02:00
ihsinme
d3c6093f37
Update test.c
2021-05-10 14:16:38 +03:00
ihsinme
c8f2937df9
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-10 14:16:11 +03:00
Tom Hvitved
7f1f2b4dd3
C#: Fix GetHashCode/Equals on EscapingTextWriter
2021-05-10 13:05:51 +02:00
Alex Denisov
dcdd54593e
C++: Adjust user-defined literals test' expectations
2021-05-10 13:03:40 +02:00
Alex Ford
2154b7df30
add doc for IntegerLiteral.getValue
2021-05-10 11:02:48 +01:00
Alex Ford
48add9ffbc
remove internal import in rb/overly-permissive-file
2021-05-10 11:00:59 +01:00
Max Schaefer
8f91e9eba0
JavaScript: Model chaining calls in sqlite3.
2021-05-10 10:58:58 +01:00
Rasmus Wriedt Larsen
8afdf26540
Python: Add modeling of idna PyPI package
2021-05-10 11:47:11 +02:00
Tony Torralba
d99b5bfc66
Reuse previous tests from experimental
2021-05-10 11:17:20 +02:00
Asger F
f4e636dcd6
Update javascript/ql/src/semmle/javascript/frameworks/ClassValidator.qll
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-10 10:08:10 +01:00
CodeQL CI
097b6e5e33
Merge pull request #5794 from erik-krogh/rxPipe
...
Approved by asgerf
2021-05-10 02:06:34 -07:00
Erik Krogh Kristensen
d913668943
move hasPathWithoutUnmatchedReturn to Configuration.qll
2021-05-10 10:55:33 +02:00
Rasmus Wriedt Larsen
7ed20a8b2c
Python: Add reminder to update docs for new frameworks
2021-05-10 10:55:21 +02:00
Erik Krogh Kristensen
b4e35f54d9
fix typo
2021-05-10 10:48:43 +02:00
Erik Krogh Kristensen
646bf99489
rewrite the qhelp to focus more on documenting unsafe functions
2021-05-10 10:48:40 +02:00
Asger Feldthaus
df5eab33f9
JS: Update relevantTaintSource()
2021-05-10 09:43:33 +01:00
CodeQL CI
b1f28afcbd
Merge pull request #5741 from asgerf/js/more-cheat-sheet
...
Approved by erik-krogh
2021-05-10 01:34:56 -07:00
Mathias Vorreiter Pedersen
474b337eeb
C++: Add change-note.
2021-05-10 10:22:44 +02:00
Mathias Vorreiter Pedersen
c91ed80e6c
C++: Fix false positive by computing range of the converted expression.
2021-05-10 10:12:43 +02:00
Mathias Vorreiter Pedersen
7ac7830973
C++: Add testcase with false positive involving a conversion on the large-expression side of the comparison.
2021-05-10 10:11:31 +02:00
Erik Krogh Kristensen
3fe5dd0f35
add comment about filtering away jQuery from the source
2021-05-10 10:05:18 +02:00
Tony Torralba
c70503142f
Require JS enabled even when cross-origin access is enabled in the webviews
2021-05-10 09:45:59 +02:00
Tom Hvitved
8b465e86e0
Merge pull request #5820 from hvitved/csharp/cfg/constructor-same-compilation
...
C#: Improve CFG for constructors when there are multiple implementations
2021-05-10 09:23:16 +02:00
thank_you
0238e51c10
Add checks for EmbeddedDocument classes
...
Mongoengine supports EmbeddedDocument documents. We should check for this in our query.
2021-05-09 19:42:40 -04:00
thank_you
07c3e22428
Fix method name to match flask_mongoengine library
2021-05-09 19:23:52 -04:00
jorgectf
8665747316
Update sink and sanitizer to match new naming
2021-05-08 18:08:50 +02:00
Dave Bartolomeo
d9f243d18a
Java: Fix QLDoc for Container.toString()
...
Fixes #5828
The QLDoc was just too specific about the default implementation. I've improved the wording.
2021-05-08 11:14:02 -04:00
Hayk Andriasyan
fd88b72101
Delete JSchOSInjection.qhelp
2021-05-08 12:51:15 +04:00
${sleep,5}
67bc576e30
Delete StdLib.qll
2021-05-07 17:37:02 -04:00
jorgectf
0fc044dfd5
Checkout Stdlib.qll
2021-05-07 23:03:23 +02:00
jorgectf
e7bdc73420
Update .expected
2021-05-07 23:00:21 +02:00
jorgectf
65c6f1976a
Rename mongoengine-flask-db-document-subclass
2021-05-07 23:00:08 +02:00
Dave Bartolomeo
773e5f2e2e
Merge remote-tracking branch 'upstream/main' into side-effects
2021-05-07 16:50:48 -04:00
Dave Bartolomeo
187e136ecc
C++: Generate IR side effects for smart pointer indirections
...
When inserting side effect instructions for argument indirections, we now insert side effects for smart pointers as we would for raw pointers. The address operand of the side effect instruction is the smart pointer object, which is a bit odd. However, I'd like to think through the design of a more principled solution before doing additional work.
A few new tests are added to the existing IR tests. In addition, the IR tests now `#include` some of the shared STL headers. I've disabled IR dumps for functions from those headers, since they only get in the way of the test cases we intended.
2021-05-07 16:50:03 -04:00
Dave Bartolomeo
f0a994a570
C++: Fix pointer flow modeling for smart pointer setters
2021-05-07 16:33:15 -04:00
jorgectf
2ad72ad693
Add LDAP framework entry in Frameworks.qll
2021-05-07 22:16:12 +02:00
jorgectf
6159fbea2b
Update functions naming
2021-05-07 22:15:51 +02:00
jorgectf
34b8af30ac
Move structure to LDAP.qll
2021-05-07 22:09:57 +02:00
Dave Bartolomeo
653ef9d257
C++: Improve consistency failure message for multiple MemoryLocations on a memory access.
2021-05-07 16:04:01 -04:00
Dave Bartolomeo
54b9f2175d
C++: Allow annotating IR dumps with Alias Analysis info
...
This commit adds a `PrintAliasAnalysis.qll` module, which can be imported alongside `PrintIR.qll` to annotate those dumps with alias analysis results.
2021-05-07 16:03:11 -04:00
Jorge
c2b96b3a5e
Add documentation to main classes' functions.
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-05-07 21:51:10 +02:00
thank_you
aa24c689bc
Add back accidentally deleted StdLib.qll file
2021-05-07 15:17:01 -04:00
thank_you
83f0870231
Update file path of module
2021-05-07 15:13:56 -04:00
thank_you
9a44020af3
Rename StdLib.qll file to NoSQL.qll file
...
It makes more sense to have this file represent just the NoSQL module
2021-05-07 15:13:30 -04:00
thank_you
8f8eff231a
Fix comment description of predicate
2021-05-07 15:08:48 -04:00
Jorge
ae806cd445
Merge branch 'github:main' into jorgectf/python/ldapimproperauth
2021-05-07 20:46:09 +02:00
thank_you
7693d696cc
Add additional query tests
...
To ensure that this query works against numerous usages of libraries such as PyMongo, Flask PyMongo, Mongoengine, and Flask Mongoengine, I've added a variety of query tests to test against. These tests deal with scenarious such as:
- Subscript expressions
- Mongoengine instances and Document subclasses
- Mongoengine connection usage
- And more...
2021-05-07 14:36:02 -04:00
thank_you
1d36aa6649
Add additional querying for mongoengine Document subclassing
...
After further research, it was discovered that Flask-Mongoengine has multiple ways of allowing a developer to call the Document class. One way is by directly importing the Document class from the module. Another approach is to get the Document class via a mongoengine instance.
The update to this query checks for cases where the developer gets the Document class via the MongoEngine instance.
Other misc changes include setting the various predicates to private.
2021-05-07 14:30:50 -04:00
Alex Ford
269ae8331b
record 'unknown table type' extraction errors
2021-05-07 17:56:50 +01:00
Geoffrey White
65ac5b862d
Merge pull request #5847 from MathiasVP/improve-wrong-in-detecting-and-handling-memory-allocation-errors
...
Improve wrong in detecting and handling memory allocation errors
2021-05-07 17:39:04 +01:00
Nick Rolfe
94ceb3f237
Remove unused class
2021-05-07 17:20:51 +01:00
Nick Rolfe
9def7c2dfe
Make CFG for TEnsure post-order
2021-05-07 17:15:10 +01:00
Nick Rolfe
7f6805c82f
Make CFG for TDo post-order
2021-05-07 17:00:30 +01:00
Mathias Vorreiter Pedersen
2241d7b359
Merge pull request #5616 from geoffw0/unsigneddiff2
...
C++: Improve cpp/unsigned-difference-expression-compared-zero
2021-05-07 17:58:53 +02:00
Nick Rolfe
46c9f858c4
Make CFG for TElse post-order
2021-05-07 16:47:19 +01:00
Geoffrey White
75edcf0b4f
Merge branch 'main' into unsigneddiff2
2021-05-07 16:35:16 +01:00
Geoffrey White
69468514f0
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:42 +01:00
Geoffrey White
91be483c57
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:36 +01:00
Geoffrey White
fc96c1c400
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:26:23 +01:00
Geoffrey White
5db6abe2f4
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:22:48 +01:00
Geoffrey White
894f5d523c
Update cpp/ql/src/Security/CWE/CWE-191/UnsignedDifferenceExpressionComparedZero.ql
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-05-07 16:19:48 +01:00
Nick Rolfe
2569bf257f
Make CFG for TThen post-order
2021-05-07 15:40:50 +01:00
Tony Torralba
6884edf52a
Merge branch 'main' into atorralba/promote-unsafe-android-webview-fetch
2021-05-07 16:31:55 +02:00
Tony Torralba
1f1a1bdb41
Remove unnecessary CWE reference
2021-05-07 16:29:00 +02:00
luchua-bc
fc7d340a89
Query to detect hard-coded Azure credentials
2021-05-07 13:16:41 +00:00
Felicity Chapman
10e76ff28f
Merge pull request #5831 from github/3893-code-scanning
...
Update CodeQL CLI article to use different query suite example
2021-05-07 12:37:47 +01:00
Tony Torralba
dcee1daa31
Mark spurious test results
2021-05-07 13:17:04 +02:00
Tony Torralba
e6b7da1926
Add import for Android sinks in ExternalFlow
2021-05-07 12:41:39 +02:00
Tony Torralba
e78e5b9ee4
Merge branch 'main' into promote-jexl-injection
2021-05-07 12:36:49 +02:00
Mathias Vorreiter Pedersen
fc7d9c2c09
C++: Fix missing result by properly specifying that the function with unknown code actually didn't throw an exception.
2021-05-07 12:34:38 +02:00
Tony Torralba
b37b15cea4
Re-structure imports, add some new comments to tests
2021-05-07 12:33:51 +02:00
Mathias Vorreiter Pedersen
90e8368258
C++: Properly handle conversions in convertedExprMayThrow. This recursive implementation idea is stolen from convertedExprMightOverflow in SimpleRangeAnalysis.
2021-05-07 12:31:43 +02:00
Tony Torralba
e2e65aca3c
Add new sink for Android XSS
2021-05-07 12:25:19 +02:00
Mathias Vorreiter Pedersen
7adb7b67f2
C++: Add false positive testcase involving conversions.
2021-05-07 12:19:19 +02:00
Anders Schack-Mulligen
8783746516
Merge pull request #5774 from atorralba/promote-xpath-injection
...
Java: Promote XPath Injection query from experimental
2021-05-07 12:04:49 +02:00
Mathias Vorreiter Pedersen
88e6cbaacd
C++: Include Assignments in exprMayThrow and accept test changes.
2021-05-07 11:49:25 +02:00
Mathias Vorreiter Pedersen
80d41d9fe5
C++: Add false positive testcase involving assignments.
2021-05-07 11:48:09 +02:00
Tom Hvitved
ca89560849
C#: Remove unnecessary !
2021-05-07 11:42:53 +02:00
Mathias Vorreiter Pedersen
08fa611700
C++: Avoid calling SwitchCase.getAStmt for performance reasons. This turns out to not be needed as the statements inside the switch case will get picked up by the BlockStmt.getAStmt case already.
2021-05-07 11:18:50 +02:00
Tony Torralba
2a501956b3
Mark a MISSING test result as suggested in code review
2021-05-07 11:17:51 +02:00
Tony Torralba
b69be30b88
Fix imports as suggested in code review
2021-05-07 11:07:06 +02:00
Robert Marsh
9ac55aff0e
C++: One more join order fix
2021-05-06 17:43:28 -07:00
Alex Ford
a7873f9023
rb/summary/number-of-files-extracted-with-errors
2021-05-07 00:24:13 +01:00
Alex Ford
31b8913ffd
rb/summary/number-of-successfully-extracted-files FIXUP
2021-05-07 00:23:56 +01:00
Alex Ford
804198cd37
rb/summary/number-of-successfully-extracted-files
2021-05-07 00:22:22 +01:00
Alex Ford
e7285babf0
rb/diagnostics/successfully-extracted-files
2021-05-07 00:17:58 +01:00
Alex Ford
54266eca33
rb/diagnostics/files-extracted-with-errors
2021-05-07 00:17:12 +01:00
Alex Ford
d223851429
add Diagnostics.qll
2021-05-07 00:15:09 +01:00
Alex Ford
272aec27f2
clean up the parse_error writing code
2021-05-07 00:15:09 +01:00
Alex Ford
3a1dff1c95
start writing diagnostics entries for parse errors
2021-05-06 23:09:43 +01:00
Alex Ford
c38453305f
add diagnostics table to dbscheme
2021-05-06 22:58:01 +01:00
Erik Krogh Kristensen
b53759c5a0
corrections after code review
2021-05-06 22:49:25 +02:00
CodeQL CI
7a7586488a
Merge pull request #5833 from erik-krogh/filterStep
...
Approved by esbena
2021-05-06 13:47:23 -07:00
Erik Krogh Kristensen
be69c3a458
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-06 21:59:35 +02:00
Erik Krogh Kristensen
2d1ba59e6d
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-06 21:55:30 +02:00
Alex Ford
e5896047d8
summary LOC query tests
2021-05-06 19:54:23 +01:00
Alex Ford
98a4f4c5b9
rb/summary/lines-of-user-code
2021-05-06 19:54:23 +01:00
Alex Ford
f6c8b07f4f
rb/summary/lines-of-code
2021-05-06 19:54:23 +01:00
Aditya Sharad
68e53054c6
Merge pull request #5840 from github/henrymercer/update-code-scanning-selectors
...
Update code scanning selectors to include summary metrics and `@kind alert` aliases
2021-05-06 11:51:12 -07:00
Tom Hvitved
fab8400ecd
C#: Escape IDs in TRAP label definitions
2021-05-06 19:12:13 +02:00
alexet
852134023d
Use only bind-out to fix join order.
2021-05-06 18:11:28 +01:00
Mathias Vorreiter Pedersen
856d512aa6
C++: Simplify noThrowInTryBlock.
2021-05-06 18:36:09 +02:00
Mathias Vorreiter Pedersen
7c1720a1d1
C++: Remove NoThrowAllocator and inline its (corrected) definition in ThrowingAllocator.
2021-05-06 18:02:05 +02:00
Mathias Vorreiter Pedersen
5437bd7a41
C++: Fix annotation.
2021-05-06 17:57:57 +02:00
Nick Rolfe
4e80b548c1
Make BeginBlock CFG post-order
2021-05-06 16:45:27 +01:00
Shati Patel
cf80773453
Merge pull request #5830 from Marcono1234/marcono1234/guides-link-updates
...
Docs: Use GitHub links for guides, improve formatting
2021-05-06 16:44:11 +01:00
Nick Rolfe
2c7f1e0c11
Remove unused class
2021-05-06 16:28:36 +01:00
Nick Rolfe
9185a93312
Make SingletonClassDeclarationTree post-order
2021-05-06 16:20:50 +01:00
Robert Marsh
b3e598c1a7
C++/C#: fix another join order in SSA construction
2021-05-06 08:14:49 -07:00
Robert Marsh
5318aa8ead
C++: autoformat
2021-05-06 08:14:48 -07:00
Robert Marsh
35594eac22
C++: fix bad join order in phi node sharing
2021-05-06 08:14:47 -07:00
Robert Marsh
5406783e9c
C++: autoformat
2021-05-06 08:14:46 -07:00
Robert Marsh
230f4bcae8
C++: accept test changes from IR sharing
2021-05-06 08:14:45 -07:00
Robert Marsh
b2811022d7
C#: sync IR files and update for C++ SSA reuse
2021-05-06 08:14:45 -07:00
Robert Marsh
5d7d26bed1
C++: fixups and file sync for SSA sharing
2021-05-06 08:14:44 -07:00
Robert Marsh
1f69b31239
C++: test changes in annotate_sinks_only
2021-05-06 08:14:43 -07:00
Robert Marsh
195b811422
C++: handle phi operands from unreachable blocks
2021-05-06 08:14:42 -07:00
Robert Marsh
6600436dd9
C++: handle degenerate phi nodes
2021-05-06 08:14:41 -07:00
Robert Marsh
7930c4ab19
C++: tests for phi nodes after unreachable blocks
2021-05-06 08:14:41 -07:00
Dave Bartolomeo
922cf640f4
C++/C#: Add combineOverlap() predicate
2021-05-06 08:14:40 -07:00
Robert Marsh
86b1d032ae
C++: accept test regressions
2021-05-06 08:14:38 -07:00
Robert Marsh
f9e0ba17e0
C++: remove points-to expectations for reused SSA
2021-05-06 08:14:37 -07:00
Robert Marsh
1c72ea97a7
C++: accept phi node reorderings in IR tests
2021-05-06 08:14:37 -07:00
Robert Marsh
8bc7e5993e
autoformat and sync C++ files
2021-05-06 08:14:36 -07:00
Robert Marsh
deff5c3af1
C++: Reuse SSA from earlier stages
...
This refactors the SSA stages of the IR so that instructions which have
a modeled memory result in the unaliased SSA stage do not have SSA
recomputed in the aliased SSA stage.
2021-05-06 08:14:34 -07:00
Robert Marsh
a9d7990596
C++: make unaliased_ssa IR stage sound
2021-05-06 08:14:33 -07:00
Robert Marsh
d95ef89cee
C++: add test for IR alias analysis soundness
2021-05-06 08:14:32 -07:00
Mathias Vorreiter Pedersen
d1eb774737
C++: Remove implied conjunction.
2021-05-06 17:03:42 +02:00
Mathias Vorreiter Pedersen
e0606d61b6
C++: Fix qldoc.
2021-05-06 16:58:49 +02:00
Mathias Vorreiter Pedersen
c12837cff0
C++: Fix false negative.
2021-05-06 16:57:09 +02:00
Mathias Vorreiter Pedersen
7b8a51f995
C++: Add test with missing result.
2021-05-06 16:56:11 +02:00
Nick Rolfe
fd3d50f340
Make ModuleDeclarationTree post-order
2021-05-06 15:54:11 +01:00
Mathias Vorreiter Pedersen
47a419a5f1
C++: Respond to review comments. First: Avoid using locations to detect constructor and destructor calls. Second: Include missing statements in stmtMayThrow.
2021-05-06 16:37:26 +02:00
Nick Rolfe
d623f47ba0
Make ClassDeclarationTree post-order
2021-05-06 15:36:25 +01:00
Mathias Vorreiter Pedersen
4463293dc4
C++: Move common code from NewExpr and NewArrayExpr into the NewOrNewArrayExpr class.
2021-05-06 16:35:41 +02:00
Tony Torralba
f16605b3c1
Apply suggestions from code review
...
Co-authored-by: Felicity Chapman <felicitymay@github.com >
2021-05-06 15:17:55 +02:00
Mathias Vorreiter Pedersen
167dc86f7a
C++: Accept test changes.
2021-05-06 14:36:35 +02:00
Mathias Vorreiter Pedersen
95e65dec8f
C++: Make sure a CatchBlock that catches a const std::bad_alloc& is also a BadAllocCatchBlock.
2021-05-06 14:35:27 +02:00
Mathias Vorreiter Pedersen
42b8f923be
C++: Call noexcept constructor instead.
2021-05-06 14:30:43 +02:00
Mathias Vorreiter Pedersen
6cdef782c8
Merge branch 'main' into improve-wrong-in-detecting-and-handling-memory-allocation-errors
2021-05-06 13:37:21 +02:00
Mathias Vorreiter Pedersen
420215931c
C++: Rename query.
2021-05-06 13:35:08 +02:00
Mathias Vorreiter Pedersen
d3576b9c92
C++: Accept test changes.
2021-05-06 13:29:28 +02:00
Mathias Vorreiter Pedersen
56d7342398
C++: Improve the cpp/detect-and-handle-memory-allocation-errors query.
2021-05-06 13:29:20 +02:00
Tony Torralba
b69261727d
Add a new test for
2021-05-06 13:26:25 +02:00
Mathias Vorreiter Pedersen
58f3048808
C++: Add more testcases.
2021-05-06 13:15:34 +02:00
Tony Torralba
1f1f85aeb5
Add change note and fix some QLDocs
2021-05-06 13:13:23 +02:00
Tony Torralba
f1fab854c4
Fix tests for XXE, introduced a dependency with jaxen
2021-05-06 12:11:55 +02:00
Evgenii Protsenko
b1a6394959
C++: SqlPqxxTainted.ql. Change @id in query metadata
2021-05-06 12:36:48 +03:00
Tony Torralba
e14294a2f7
Remove XSS sink since it's better handled in this query
2021-05-06 11:20:37 +02:00
Erik Krogh Kristensen
3815797dda
add sanitizers from DOM and jQuery queries
2021-05-06 11:05:03 +02:00
Erik Krogh Kristensen
8ba5bddae8
add jQuery options objects as sources
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
5c37e6a435
add change note
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
7ef641e7b2
add qhelp
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
ee0140e704
share code between unsafe-shell and unsafe-html queries
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
23908f9ec2
remove flowpaths that has a returns without a matching call
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
6e754c70aa
add test for js/html-constructed-from-input
2021-05-06 11:05:02 +02:00
Erik Krogh Kristensen
e86a3b5e57
add js/html-constructed-from-input query
2021-05-06 11:04:49 +02:00
Arthur Baars
07c059cb2e
Merge pull request #166 from github/type_tracking
...
Minimal implementation of shared type-tracking library
2021-05-06 10:59:45 +02:00
Tony Torralba
84504a88e4
Fix tests by adding AndroidManifest.xml
2021-05-06 10:55:56 +02:00
Erik Krogh Kristensen
a400a1e9d4
split the markdown steps into a separate class
2021-05-06 10:44:39 +02:00
Tony Torralba
76468559ba
Add safe example for dom4j
2021-05-06 10:17:25 +02:00
Tony Torralba
926fedb7fb
Update java/ql/test/query-tests/security/CWE-643/XPathInjectionTest.java
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-06 09:18:50 +02:00
Tony Torralba
00a7576679
Rename XPath Injection test file
2021-05-06 09:18:50 +02:00
Tony Torralba
8af7f4a484
New sinks and test cases
2021-05-06 09:18:49 +02:00
Tony Torralba
ccb3ea4453
Fix XPath Injection tests classpath
2021-05-06 09:18:49 +02:00
Tony Torralba
509fc8a640
Add missing docs to stubs
2021-05-06 09:18:49 +02:00
Tony Torralba
26c3ff2cee
Move from experimental to standard
2021-05-06 09:18:49 +02:00
Tony Torralba
215118c7ea
Fixes in QLDocs and imports
2021-05-06 09:18:49 +02:00
Tony Torralba
720b5d6da3
Refactored sto use CSV sink model. Also, added more sinks
2021-05-06 09:18:49 +02:00
Tony Torralba
ab62bb66f4
Consider second parameter of Node.selectNodes
2021-05-06 09:18:49 +02:00
Tony Torralba
d72dd9b861
javax.xml.xpath.XPath is an interface
2021-05-06 09:18:49 +02:00
Tony Torralba
2bb2baf6f7
Support more methods that evaluate XPath expressions
2021-05-06 09:18:49 +02:00
Tony Torralba
3705970bfd
Refactored XPath.qll to remove redundant classes and restrict visibility
2021-05-06 09:18:49 +02:00
Tony Torralba
d739a8cac2
Moved configuration from XPath.qll back to XPath Injection query
2021-05-06 09:18:48 +02:00
Tony Torralba
ee269fbc69
Added missing doc comments
2021-05-06 09:18:48 +02:00
Tony Torralba
fb3e56eac8
Fix imports and stubs so that tests pass
2021-05-06 09:18:48 +02:00
Tony Torralba
a62997463f
Remove unused imports; use set literals in hasName
2021-05-06 09:18:48 +02:00
Tony Torralba
ed5619498c
WIP: XPath Injection promotion
2021-05-06 09:18:48 +02:00
Tony Torralba
a706046a19
Reestructured test
2021-05-06 09:17:53 +02:00
Jonathan Leitschuh
67e9f06304
[Java] Fix Kryo FP & Kryo 5 Support
...
Closes #4992
2021-05-05 17:38:34 -04:00
ihsinme
976ccda135
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-05 23:34:21 +03:00
ihsinme
b277082462
Update DeclarationOfVariableWithUnnecessarilyWideScope.qhelp
2021-05-05 23:28:04 +03:00
Evgenii Protsenko
330eaea467
C++: SqlPqxxTainted.ql style fixes
2021-05-05 21:48:14 +03:00
Evgenii Protsenko
955d97f6be
C++: Init SqlPqxxTainted.ql
2021-05-05 21:25:36 +03:00
Nick Rolfe
a0084b7732
Simplify CFG tree classes for calls
2021-05-05 17:18:44 +01:00
Nick Rolfe
569063ca73
Make YieldCallTree post-order
2021-05-05 17:14:32 +01:00
Henry Mercer
a3c57c43c8
Code Scanning selectors: Include summary metrics
2021-05-05 16:38:39 +01:00
Henry Mercer
74c9994305
Code Scanning selectors: Add alert aliases
2021-05-05 16:36:39 +01:00
Shati Patel
059a5f35fa
Merge pull request #5812 from mario-campos/patch-1
...
Add React Native to JavaScript frameworks docs
2021-05-05 16:03:41 +01:00
Tony Torralba
c138ed3e4d
QLDocs
2021-05-05 16:51:15 +02:00
Tony Torralba
03ce8d689f
Refactored to use CSV sink model
2021-05-05 16:34:30 +02:00
Nick Rolfe
3a3586f14b
Restrict type to MethodCallCfgNode
2021-05-05 14:49:24 +01:00
Arthur Baars
73b5699f32
Merge pull request #174 from github/escape_file_keys
...
Escape keys for files and folders
2021-05-05 15:02:04 +02:00
Erik Krogh Kristensen
4ac21e9f3f
make the .filter step more precise
2021-05-05 14:53:09 +02:00
Nick Rolfe
c37f390efc
Reserve more capacity for escaped key
2021-05-05 13:21:16 +01:00
Rasmus Wriedt Larsen
d50f22504e
Python: Fix .expected
2021-05-05 14:07:15 +02:00
Nick Rolfe
99ae17de03
Avoid copying key when it doesn't need escaping
2021-05-05 12:54:23 +01:00
CodeQL CI
69cd9dfb7d
Merge pull request #5826 from erik-krogh/moreLib
...
Approved by esbena
2021-05-05 04:40:49 -07:00
Felicity Chapman
8b2009cfb1
Minor updates to qhelp file
2021-05-05 12:36:29 +01:00
Nick Rolfe
b16b95e2f7
Fix type-tracking load/store steps
2021-05-05 12:12:45 +01:00
Rasmus Wriedt Larsen
668bfd3a41
Python: Support EC keygen without class-instance for cryptography
...
I also added a new test to show off how what the origin ends up looking
like... I think it looks ok
2021-05-05 12:29:55 +02:00
Erik Krogh Kristensen
ab53f3b380
add array.filter() as a taint-step
2021-05-05 12:03:14 +02:00
Erik Krogh Kristensen
e333267e69
require that the factory function is in a main module file
2021-05-05 12:00:38 +02:00
Tony Torralba
9b78cee37a
Add tests
2021-05-05 11:59:57 +02:00
Tony Torralba
be50e8f30c
Moved from experimental to standard
2021-05-05 11:59:49 +02:00
Tony Torralba
458b89bf5f
Added Android stubs
2021-05-05 11:57:01 +02:00
Erik Krogh Kristensen
fc3f5adbbb
more source code examples in PackageExports.qll
2021-05-05 11:48:41 +02:00
Erik Krogh Kristensen
28eef264e5
recognize the define(..) call in PackageExports.qll
2021-05-05 11:23:25 +02:00
Jonas Jensen
390ee3a6b8
Merge pull request #5829 from MathiasVP/reorder-get-instruction-opcode
...
C++: Reorder getInstructionOpcode
2021-05-05 11:13:15 +02:00
Erik Krogh Kristensen
3ca670146e
remove outdated comment
2021-05-05 11:10:45 +02:00
Rasmus Wriedt Larsen
3ceb8bbcc6
Python: Add cryptography test for EC
...
Apparently, passing in the class (without instantiating it) is allowed
2021-05-05 10:52:57 +02:00
Rasmus Wriedt Larsen
dc4a0c1d38
Python/JS: Fix typo
2021-05-05 10:13:54 +02:00
Mathias Vorreiter Pedersen
066cdb55d7
C++: Add qldoc explaining column order.
2021-05-05 09:30:12 +02:00
Mathias Vorreiter Pedersen
f03c99ab03
Merge pull request #5835 from hmakholm/hmakholm/pr/blowup-fix
...
CPP: fix semi-unused variables in WrongInDetectingAndHandlingMemoryAllocationErrors.q
2021-05-05 08:15:37 +02:00
Henning Makholm
4964ce347b
CPP: fix semi-unused variables in WrongInDetectingAndHandlingMemoryAllocationErrors.ql
...
The fact that `aex` and `it` was each used in just one disjunct of the
exists() body caused the optimizer to generate perfectly horrible
code, including a pointless cartesian product between them that caused
the evaluation to blow up.
Fix it such that each variable is logically scoped. That makes the
compiler much happier.
2021-05-05 02:31:11 +02:00
thank_you
c4a67e522c
Rewrite query to take into account MongoClient and subscript expressions
...
A couple of notes with these changes:
- Added TypeTracker pattern to handle subscript expressions. We've found that pymongo supports subscripts expressions when calling databases and collections. To resolve this, we implemented the TypeTracker pattern to catch those subscripts since CodeQL Python API modeling doesn't support subscript expressions.
- After some research, we've discovered that MongoEngine and Flask-MongoEngine utilize MongoClient under-the-hood. This requires us to rewrite the query so that instead of querying these libraries with specific queries, we are instead going to query for usages of MongoClient since all of the libraries we are targeting utilizes MongoClient under-the-hood.
2021-05-04 19:29:31 -04:00
thank_you
56dc4d886e
Add comment on BsonObjectIdCall
2021-05-04 19:11:59 -04:00
CodeQL CI
95f26aadd3
Merge pull request #5681 from yoff/python-support-pathlib
...
Approved by tausbn
2021-05-04 09:20:24 -07:00
Robert Marsh
5ee74d269a
Merge pull request #5822 from MathiasVP/more-cwe-tags-in-code-scanning
...
C++: Add more CWE tags to queries in the Code Scanning suite
2021-05-04 09:01:00 -07:00
Nick Rolfe
d2d5f31599
Escape keys for files and folders
2021-05-04 16:52:35 +01:00
Timo Müller
a65481d24b
Apply suggestions from code review more precise help text
2021-05-04 17:30:49 +02:00
Timo Müller
65642df1a0
Apply suggestions from code review for help text
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 17:28:34 +02:00
Timo Mueller
152f4862ec
Reworked the references a bit
2021-05-04 16:10:15 +02:00
Timo Mueller
81363a8843
Some better (and more styleguide compliant) descriptions within the query.
2021-05-04 15:57:47 +02:00
Timo Mueller
f7437422c1
InstanceOf check instead of comparing classnames
2021-05-04 15:51:40 +02:00
Timo Mueller
fd52135f29
Removed unnecessary check for type
2021-05-04 15:45:30 +02:00
Timo Mueller
787a4ede85
Fixed file reference in test cases
2021-05-04 15:33:53 +02:00
Timo Mueller
374ed851a0
Fixed file reference in test cases
2021-05-04 15:12:50 +02:00
Mathias Vorreiter Pedersen
d5793418f9
C++: Remove parent CWE tags.
2021-05-04 14:39:23 +02:00
Timo Müller
c476b6c088
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 14:00:01 +02:00
Timo Müller
030e2bdd9b
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:59:52 +02:00
Timo Müller
ab308b5e9e
Fix accordance to style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:59:43 +02:00
Timo Müller
485a3a139a
Fixed content to confirm with the style guide
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:58:38 +02:00
Timo Müller
45443baf84
Fixed Typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:58:00 +02:00
Timo Müller
1fd2be3879
Added more clear reference
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:57:19 +02:00
Timo Müller
7026d82a72
Fixed typo
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:53:14 +02:00
Timo Müller
f28e994121
Update java/ql/src/experimental/Security/CWE/CWE-665/InsecureRmiJmxEnvironmentConfiguration.qhelp
...
More descriptive (and PC) description.
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-05-04 13:52:47 +02:00
Nick Rolfe
647c108c0b
Merge remote-tracking branch 'origin/main' into type_tracking
2021-05-04 12:38:16 +01:00
Arthur Baars
1a94fb47b6
Merge pull request #172 from github/update-testoutput
...
Update expected test output
2021-05-04 13:37:37 +02:00
CodeQL CI
b160badbf6
Merge pull request #5768 from erik-krogh/cacheMore
...
Approved by esbena
2021-05-04 04:16:15 -07:00
Tony Torralba
6e94dc5b85
Autoformatting
2021-05-04 13:15:20 +02:00
Felicity Chapman
616a57d6d4
Update article with code scanning example
2021-05-04 12:11:18 +01:00
Tamás Vajk
05c045070e
Merge pull request #5810 from tamasvajk/feature/culture
...
C#: Use invariant culture in the extractor
2021-05-04 13:09:38 +02:00
Mathias Vorreiter Pedersen
568724bffd
C#: Fix getInstructionOpcode to make sure IRConstruction.qll compiles for C#.
2021-05-04 13:00:40 +02:00
Arthur Baars
27538cb11d
Update expected test output
2021-05-04 12:43:43 +02:00
Marcono1234
ab90fe18fd
Docs: Use GitHub links for guides, improve formatting
2021-05-04 12:35:23 +02:00
Nick Rolfe
53deede8ab
Remove unnecessary local flow inside type-tracking store step
2021-05-04 11:32:57 +01:00
Nick Rolfe
35ee62c689
Use splitting-aware nodes for type-tracking store/load steps
2021-05-04 11:31:03 +01:00
Mathias Vorreiter Pedersen
ded377bcd2
C++: Reorder getInstructionOpcode to produce better RA.
2021-05-04 12:13:34 +02:00
Tony Torralba
f79d2e06f9
Fix failing checks
2021-05-04 11:29:09 +02:00
Tamas Vajk
c547907784
C#: Use invariant culture in the extractor
2021-05-04 11:17:33 +02:00
Anders Schack-Mulligen
5bcf810a7c
Merge pull request #5821 from JarLob/patch-1
...
Update UncaughtServletException.qhelp
2021-05-04 10:39:02 +02:00
Anders Schack-Mulligen
9ee9186a1a
Merge pull request #5825 from github/yo-h/java-diagnostic-queries
...
Java: split extractor diagnostics query into two
2021-05-04 10:12:32 +02:00
Erik Krogh Kristensen
aaf754ebf5
recognize more library input
2021-05-04 10:06:14 +02:00
Tony Torralba
6b79ca6403
Fix warning
2021-05-04 09:32:03 +02:00
CodeQL CI
6931d9a6f7
Merge pull request #5785 from edvraa/httponlyjs
...
Approved by esbena
2021-05-03 23:14:26 -07:00
luchua-bc
703fbf139a
Add more methods and update the library name
2021-05-04 02:54:49 +00:00
yo-h
edf1a90161
Java: split extractor diagnostics query into two
2021-05-03 20:27:07 -04:00
edvraa
6fa2f1e653
update test message
2021-05-04 00:32:01 +03:00
Jonathan Leitschuh
dfad1fc740
[Java] Add support for com.google.common.base.MoreObjects#firstNonNull
2021-05-03 12:58:00 -04:00
Taus
483199878d
Merge pull request #5793 from RasmusWL/fix-qldoc
...
Python: Minor fix to Django RawSQL QLDoc
2021-05-03 18:18:02 +02:00
Tony Torralba
e68c6e66a5
Remove qlref file
2021-05-03 17:53:37 +02:00
Tony Torralba
745a6f6fb4
Getters called on parameters propagate taint
2021-05-03 17:43:33 +02:00
Mathias Vorreiter Pedersen
2912c2e7f5
C++: Add more CWE tags to queries in the code scanning suite.
2021-05-03 16:58:47 +02:00
Edwin
27c680e28b
Apply suggestions from code review
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-05-03 16:41:09 +03:00
Jaroslav Lobačevski
38bce39baa
Update UncaughtServletException.qhelp
...
There is no single word in https://cwe.mitre.org/data/definitions/600.html about possible DoS or unexpected state.
2021-05-03 15:06:57 +03:00
Tony Torralba
4d5ec87de9
Use InlineTest
2021-05-03 13:27:24 +02:00
Tony Torralba
4bfd34b1fe
Moved from experimental
2021-05-03 13:15:24 +02:00
Arthur Baars
6adff6f195
Merge pull request #171 from github/self_nodes
...
Create synthetic `self` nodes for calls without explicit receivers
2021-05-03 12:59:11 +02:00
edvraa
cef845ac47
Support string expressions
2021-05-03 13:46:56 +03:00
Tony Torralba
38e052482c
More csv sinks and sources
2021-05-03 12:44:53 +02:00
edvraa
ea38f0d3bd
a new test for simple flow
2021-05-03 12:19:05 +03:00
edvraa
000826af11
typo
2021-05-03 12:18:43 +03:00
Tom Hvitved
182b2d0457
C#: Improve CFG for constructors when there are multiple implementations
2021-05-03 10:46:36 +02:00
Tom Hvitved
633f228dc2
C#: Add CFG tests for partial classes
2021-05-03 10:23:29 +02:00
Tom Hvitved
bb1cb73675
Merge pull request #5795 from hvitved/csharp/implicit-constructor-inits
...
C#: Extract implicit constructor initializer calls
2021-05-03 10:21:04 +02:00
Tom Hvitved
b77b3da8d6
C#: Add change note
2021-05-03 09:40:13 +02:00
Jonas Jensen
c05ef1225c
Merge pull request #5803 from MathiasVP/no-magic-in-getUnspecifiedType
...
C++: Add nomagic to getUnspecifiedType
2021-05-03 09:03:58 +02:00
edvraa
65183cde80
Move to experimental
2021-05-03 09:59:52 +03:00
edvraa
bd99114cd6
Comments added
2021-05-03 09:55:04 +03:00
luchua-bc
4709e8139d
JPython code injection
2021-05-03 01:43:56 +00:00
edvraa
a24c1c8114
fix comment
2021-05-03 00:36:38 +03:00
edvraa
fa94fedfc3
simple dataflow for sensitive name
2021-05-03 00:36:26 +03:00
edvraa
97bc7e38d2
check for sensitive property name
2021-05-03 00:31:29 +03:00
edvraa
7ab91bb185
Inline getOptionsArgument
2021-05-03 00:09:15 +03:00
ihsinme
bb97507ebc
Update test.c
2021-05-02 22:59:56 +03:00
ihsinme
21f43252e6
Update DeclarationOfVariableWithUnnecessarilyWideScope.expected
2021-05-02 22:59:04 +03:00
ihsinme
0935c5a0f2
Update DeclarationOfVariableWithUnnecessarilyWideScope.ql
2021-05-02 22:58:30 +03:00
ihsinme
8c3980d80b
Update cpp/ql/src/experimental/Security/CWE/CWE-1126/DeclarationOfVariableWithUnnecessarilyWideScope.c
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-05-02 22:54:43 +03:00
Tony Torralba
53e04d0d96
Refactor to CSV sink model
2021-04-30 17:53:43 +02:00
Mario Campos
ae857db657
Add React Native to JavaScript frameworks
...
According to @asgerf, React Native is already supported 🎉
2021-04-30 10:47:08 -05:00
Timo Mueller
c22eeacbfc
Fixed accidential double init of variable
2021-04-30 16:28:56 +02:00
Timo Mueller
61d053f6b3
Fixed missing metadata description
2021-04-30 16:28:17 +02:00
Timo Mueller
15a3068f8a
Added query for insecure environment configuration RMI JMX (CVE-2016-8735)
2021-04-30 16:23:17 +02:00
Chris Smowton
b2c0259197
Merge pull request #5631 from haby0/UseOfLessTrustedSource
...
[Java] CWE-348: Using a client-supplied IP address in a security check
2021-04-30 15:20:53 +01:00
Nick Rolfe
5dc910d0db
Move track predicate to LocalSourceNode
2021-04-30 15:05:12 +01:00
Nick Rolfe
37c8d8a252
Rename getCallable to getTarget
2021-04-30 14:41:50 +01:00
Nick Rolfe
fdccd5da7e
Add AstNode::isSynthesized()
2021-04-30 11:58:54 +01:00
haby0
fdcc517b9f
UseOfLessTrustedSource -> ClientSuppliedIpUsedInSecurityCheck"
2021-04-30 17:43:34 +08:00
haby0
f41301f8f5
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.java
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:55:17 +08:00
haby0
0691cac5ab
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:54:41 +08:00
haby0
8142810455
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-30 16:54:28 +08:00
Tom Hvitved
ecd40e5cae
Merge pull request #5808 from intrigus-lgtm/fix-lambda-typos
...
Fix typo.
2021-04-30 09:08:28 +02:00
haby0
711a74c9c9
Eliminate false positives\
2021-04-30 10:31:40 +08:00
intrigus
08731fc6cf
Fix typo.
2021-04-29 20:26:34 +02:00
Alex Ford
2c8a4f833f
make rb/overly-permissive-file a proper path-problem
2021-04-29 19:11:39 +01:00
Nick Rolfe
e87bf57bc5
Avoid recursion in IPA construction
2021-04-29 18:04:15 +01:00
Alex Ford
4375452866
more IntegerLiteral.getValue improvements
2021-04-29 17:08:33 +01:00
Alex Ford
05adfec03d
account for more patterns in IntegerLiteral.getValue
2021-04-29 17:02:54 +01:00
Alex Ford
35d5bae10e
run formatter
2021-04-29 16:16:09 +01:00
Alex Ford
efa323c304
rb/overly-permissive-file use QL bitwise operators
2021-04-29 16:08:42 +01:00
Alex Ford
46a14b2826
move parseInt logic into getValue method predicate on IntegerLiteral
2021-04-29 15:54:22 +01:00
Alex Ford
1c89bbe188
fix select format of rb/overly-permissive-file
2021-04-29 15:44:54 +01:00
Nick Rolfe
bd6fe41388
Merge IPA branches for implicit self
2021-04-29 15:38:58 +01:00
Alex Ford
2c0fc7d193
parse integer permission args as ints instead of using regex matches
2021-04-29 15:34:10 +01:00
Jorge
bd4b189373
Polish documentation consistency
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-29 16:26:28 +02:00
Chris Smowton
ad9ea40954
Merge pull request #5597 from intrigus-lgtm/java/jwt-insecure-parse
...
[Java] JWT without signature check.
2021-04-29 14:41:11 +01:00
Geoffrey White
c4069362ce
Merge pull request #5804 from MathiasVP/improve-detect-and-handle-memory-allocation-errors
...
C++: Improve qhelp and tests for cpp/detect-and-handle-memory-allocation-errors
2021-04-29 14:34:41 +01:00
haby0
e813257431
use hardCode
2021-04-29 21:23:52 +08:00
Anders Schack-Mulligen
404a6c1506
Merge pull request #5805 from smowton/smowton/admin/spring-setter-method-docs
...
Document `SpringProperty::getSetterMethod`.
2021-04-29 15:10:58 +02:00
Anders Schack-Mulligen
c78285e557
Merge pull request #5784 from Marcono1234/marcono1234/switch-expr-stmt-parent
...
Java: Add StmtParent as superclass of SwitchExpr
2021-04-29 15:02:05 +02:00
Nick Rolfe
59c83b7b8f
Add clarifying comment
2021-04-29 14:00:27 +01:00
Nick Rolfe
9540125771
Remove fromGeneratedInclSynth predicate
2021-04-29 13:58:16 +01:00
Tom Hvitved
c3890a9435
C#: Adjust CFG for instance constructors
2021-04-29 14:05:42 +02:00
Tom Hvitved
ee62522c51
C#: Extract implicit constructor initializer calls
2021-04-29 14:05:42 +02:00
Mathias Vorreiter Pedersen
c67ab8f1f0
C++: Respond to review comments.
2021-04-29 14:01:04 +02:00
Chris Smowton
2787c2f874
Document SpringProperty::getSetterMethod.
2021-04-29 12:28:26 +01:00
Arthur Baars
300a54384f
Add TypeTracker to identical-files.json
2021-04-29 12:20:14 +02:00
Arthur Baars
f07c58ee07
Update codeql submodule
2021-04-29 12:13:11 +02:00
Mathias Vorreiter Pedersen
e81b40978e
C++: Improve the description tag.
2021-04-29 12:10:29 +02:00
Nick Rolfe
96ddd55191
Apply suggestions from code review
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-04-29 12:07:32 +02:00
Nick Rolfe
c1c437f020
Minimal implementation of shared type-tracking library
2021-04-29 12:07:32 +02:00
Arthur Baars
6693c5bdd0
Merge pull request #5395 from tausbn/python-share-typetracker
...
Python: Make the type tracking implementation shareable
2021-04-29 12:06:12 +02:00
Mathias Vorreiter Pedersen
9e39b08325
C++: Improve the qhelp for cpp/detect-and-handle-memory-allocation-errors.
2021-04-29 11:58:36 +02:00
Mathias Vorreiter Pedersen
44de127bff
C++: Extend and improve the testcases for cpp/detect-and-handle-memory-allocation-errors.
2021-04-29 11:57:43 +02:00
Rasmus Wriedt Larsen
af0723c185
Merge pull request #5656 from asgerf/js/files-diagnostics
...
JS: Add file diagnostics queries
2021-04-29 11:53:11 +02:00
CodeQL CI
84d43946de
Merge pull request #5755 from RasmusWL/non-alert-data-part1
...
Approved by tausbn
2021-04-29 02:51:34 -07:00
jorgectf
213d011a8c
Edit code example in CompiledRegex
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-29 11:10:03 +02:00
Mathias Vorreiter Pedersen
39c7816ede
C++: Dont allow magic in getUnspecifiedType.
2021-04-29 10:09:46 +02:00
Tom Hvitved
0cb826a511
Merge pull request #5797 from hvitved/cpp/has-multi-scope-node-noinline
...
C++: Do not inline `Dominance::hasMultiScopeNode`
2021-04-29 09:51:05 +02:00
CodeQL CI
3240536d0e
Merge pull request #5798 from erik-krogh/trackLoc
...
Approved by esbena
2021-04-29 00:45:21 -07:00
Aditya Sharad
4d2db08934
Merge pull request #5801 from github/aeisenberg/fix-codescanning
...
Actions: Fix code scanning workflow
2021-04-28 15:21:43 -07:00
Andrew Eisenberg
0376a13dd8
Actions: Fix code scanning workflow
2021-04-28 15:05:13 -07:00
thank_you
d85b1a2d5f
Replace recursive getAMember*() method
2021-04-28 16:54:49 -04:00
intrigus
a8865e2fa2
Java: Cleanup jwt stubs.
2021-04-28 20:46:09 +02:00
Erik Krogh Kristensen
dfd63e5d5a
track window object to where .location is read
2021-04-28 18:52:00 +02:00
Shati Patel
d288b9216e
Merge pull request #5790 from github/cklin-find-the-thief-conditions-sync
...
Fix inconsistency in the find-the-thief exercise
2021-04-28 17:16:58 +01:00
CodeQL CI
9c5ad44e27
Merge pull request #5782 from erik-krogh/domFP
...
Approved by esbena
2021-04-28 09:12:00 -07:00
Nick Rolfe
f3852f9b56
Create synthetic self nodes for calls without explicit receivers
2021-04-28 16:43:40 +01:00
Alex Ford
0a6dc6f150
update WeakFilePermissions.expected
2021-04-28 16:31:07 +01:00
Rasmus Lerchedahl Petersen
16bde2729d
Python: add flow from methods to calls
2021-04-28 17:02:24 +02:00
Alex Ford
7a72d8ec2f
add qhelp for rb/overly-permissive-file
2021-04-28 15:51:08 +01:00
Tom Hvitved
058925cca9
C++: Do not inline Dominance::hasMultiScopeNode
2021-04-28 16:50:08 +02:00
Alex Ford
e3d393b7c1
use full dataflow for permission args in rb/overly-permissive-file
2021-04-28 15:40:58 +01:00
yoff
73521e22de
Merge pull request #5791 from tausbn/python-limit-absolute-imports
...
Python: Limit absolute imports
2021-04-28 16:22:08 +02:00
Tom Hvitved
c35a2b959a
Python: Update data-flow caching
2021-04-28 14:49:05 +02:00
Tom Hvitved
e8347c2c20
C++: Update data-flow caching
2021-04-28 14:49:05 +02:00
Erik Krogh Kristensen
902a4368a1
assume that all pipe elements that return something, return outputs
2021-04-28 12:36:07 +02:00
Erik Krogh Kristensen
2f14a6218a
generalize RxJS pipes
2021-04-28 12:26:02 +02:00
Rasmus Wriedt Larsen
baa926359e
Python: Minor fix to Django RawSQL QLDoc
2021-04-28 12:18:27 +02:00
Rasmus Wriedt Larsen
8b9c5f8228
Python/JS: Remove "Only added to aid with internal rewrite"
2021-04-28 11:50:06 +02:00
Erik Krogh Kristensen
d5450f1df6
use isWildcardLike in MetacharEscapeSanitizer
2021-04-28 11:46:50 +02:00
Erik Krogh Kristensen
d07c71c99d
unlimited repetition of a wildcard is also a wildcard
2021-04-28 11:46:35 +02:00
Erik Krogh Kristensen
160fa148f1
move InfiniteRepetitionQuantifier to Regexp.qll
2021-04-28 11:39:28 +02:00
Erik Krogh Kristensen
e60628d463
add global replacements using inverted char classes as a sanitizer for DOM based XSS
2021-04-28 11:29:30 +02:00
Rasmus Wriedt Larsen
f2b4e31e7f
Python: Make Diagnostics tests pass
...
I had comitted a bad .expected file it seems, and since the encoding for UTF-8
is named differently from Python 2 to Python 3, we're only going to run the test
for one version.
2021-04-28 10:21:59 +02:00
Tamás Vajk
310baab73f
Merge pull request #5740 from tamasvajk/feature/diag
...
C#: Add extraction error diagnostic query
2021-04-28 08:46:35 +02:00
haby0
b0f745365d
Node type restriction
2021-04-28 14:32:25 +08:00
Taus
4ae3a23089
Python: Limit absolute imports
...
Limits the behaviour of github/codeql#5614 in two ways:
First, we only consider files that are contained in the source archive.
This prevents unnecessary computation involving files in e.g. the
standard library.
Secondly, we ignore any relative imports (e.g. `from .foo import ...`),
as these only work inside packages anyway.
This fixes an observed performance regression on projects that include
`google-cloud-sdk` as part of their source code.
2021-04-27 21:47:38 +00:00
CodeQL CI
2b9fb79b1d
Merge pull request #5786 from erik-krogh/anser
...
Approved by esbena
2021-04-27 14:40:48 -07:00
Chuan-kai Lin
c27363cea5
Fix inconsistencies in information about the thief
...
The find-the-thief exercise is inconsistent. The first part lists 10 answered questions about the thief, but later discussion silently adds a new question as question 8, so there are a total of 11 answered questions.
This commit updates the first list of answered questions so that it matches later discussions and the sample solution.
2021-04-27 13:57:16 -07:00
Alex Ford
e5862a942f
WIP rb/overly-permissive-file query
2021-04-27 21:22:17 +01:00
Mathias Vorreiter Pedersen
0f141edbc3
Merge pull request #5737 from dbartol/dbartol/smart-pointers/work
...
C++: IR Alias Analysis for smart pointers
2021-04-27 21:40:14 +02:00
edvraa
18a3e4d45b
add comments
2021-04-27 22:10:04 +03:00
jorgectf
21e01b809f
Add code example in CompiledRegex
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:42 +02:00
jorgectf
8a800986a2
Remove unused class variables
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:42 +02:00
jorgectf
20b532ec5e
Update to-cast sink's naming
...
Signed-off-by: jorgectf <jorgectf@protonmail.com >
2021-04-27 19:54:41 +02:00
Jorge
c0c71c509c
Apply suggestions from code review
...
Update `RegexExecution` docs and use `flowsTo()` instead of `getALocalSource()`.
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:41 +02:00
jorgectf
c4322848ec
Polish qhelp
2021-04-27 19:54:40 +02:00
jorgectf
12ccd7e3b6
Update .expected
2021-04-27 19:54:39 +02:00
jorgectf
05ee853c4e
Remove wrong comment
2021-04-27 19:54:39 +02:00
jorgectf
3fae3fd93e
Take ApiGraphs out of Concepts.qll
2021-04-27 19:54:39 +02:00
jorgectf
6a20a4dcc3
Add newline to qhelp
2021-04-27 19:54:38 +02:00
jorgectf
d968eea914
Move expected to /test
2021-04-27 19:54:38 +02:00
jorgectf
81d23c066c
Move tests and qlref from /src to /test
2021-04-27 19:54:37 +02:00
jorgectf
d401d18e71
Add .expected and qlref
2021-04-27 19:54:36 +02:00
jorgectf
ec85ee4537
Sink's predicate typo
2021-04-27 19:54:36 +02:00
jorgectf
03825a6052
Add comment to Sink's predicates
2021-04-27 19:54:36 +02:00
jorgectf
fc27c6c547
Fix RegexExecution ambiguity
2021-04-27 19:54:35 +02:00
jorgectf
3655514924
Fix ambiguity
2021-04-27 19:54:35 +02:00
jorgectf
b6721971dd
Improve code comments
2021-04-27 19:54:35 +02:00
jorgectf
d4a89b2fd8
Fix qhelp typo while converting to python's regex injection
2021-04-27 19:54:34 +02:00
jorgectf
d49c23fe67
Improve tests' readability
2021-04-27 19:54:34 +02:00
jorgectf
0e169ba10e
Format qhelp
2021-04-27 19:54:33 +02:00
jorgectf
c54f08f33a
Improve qhelp
2021-04-27 19:54:33 +02:00
jorgectf
66ee67a781
Polished select statement
2021-04-27 19:54:32 +02:00
jorgectf
f75110365f
Fix Sink utilization in select
2021-04-27 19:54:32 +02:00
jorgectf
a5850f4a99
Use getRegexModule to know used lib
2021-04-27 19:54:31 +02:00
jorgectf
e78e2ac266
Get rid of (get)regexMethod
2021-04-27 19:54:30 +02:00
jorgectf
18ce257fc8
Move RegexInjectionSink to query config (qll)
2021-04-27 19:54:29 +02:00
jorgectf
53d61c4fb6
Use custom Sink
2021-04-27 19:54:29 +02:00
jorgectf
36cc7b5e3f
Fix CompiledRegex
2021-04-27 19:54:28 +02:00
jorgectf
35f1c45d32
Change from Attribute to DataFlow::CallCfgNode in getRegexMethod()
2021-04-27 19:54:28 +02:00
jorgectf
c127b109d0
Create re.compile().ReMethod test
2021-04-27 19:54:27 +02:00
jorgectf
be09ffec3f
Create RegexEscape Range
2021-04-27 19:54:27 +02:00
jorgectf
805f86a5cf
Polish RegexEscape
2021-04-27 19:54:26 +02:00
jorgectf
3d990c5950
Get back to ApiGraphs
2021-04-27 19:54:26 +02:00
jorgectf
30554a16da
Format
2021-04-27 19:54:24 +02:00
jorgectf
ee1d2b645b
Delete DirectRegex and CompiledRegex
2021-04-27 19:54:24 +02:00
jorgectf
ce23db2e9c
Move Sanitizer to ReEscapeCall
2021-04-27 19:54:23 +02:00
jorgectf
b5ea41fcca
Fix CompiledRegex
2021-04-27 19:54:22 +02:00
jorgectf
d61adccd3c
Take main Concepts.qll out of the PR
2021-04-27 19:54:22 +02:00
jorgectf
a1a3c98d92
Undo main Concepts.qll change
2021-04-27 19:54:21 +02:00
jorgectf
28fdeba4fa
Structure development
2021-04-27 19:54:20 +02:00
jorgectf
444a15a461
Polish imports
2021-04-27 19:54:20 +02:00
Jorge
0f20eeb395
Apply suggestions
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:19 +02:00
Jorge
b27b77c38f
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:18 +02:00
Jorge
249e4097e3
Change query ID
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-27 19:54:17 +02:00
jorgectf
b207929e0a
RegexExecution restructuring
2021-04-27 19:54:16 +02:00
jorgectf
3daec8e6a2
Enclose Sinks and ReMethods in a module
2021-04-27 19:54:15 +02:00
jorgectf
caaf5436c6
Attempt to restructuring ReMethods and RegexExecution's modules
2021-04-27 19:54:14 +02:00
jorgectf
6d5a0f2f84
Limit Sanitizer to re.escape(arg)
2021-04-27 19:54:13 +02:00
jorgectf
a1b5cc3bc6
Typo
2021-04-27 19:54:13 +02:00
jorgectf
e4736d064e
Typo
2021-04-27 19:54:12 +02:00
jorgectf
f45307f990
Apply rebase
2021-04-27 19:54:12 +02:00
jorgectf
5dae920783
Edit filenames to match consistent naming
2021-04-27 19:54:11 +02:00
jorgectf
63f708dd57
Apply suggestions
2021-04-27 19:54:10 +02:00
Jorge
6cc714464c
Apply suggestions from code review
...
Co-authored-by: yoff <lerchedahl@gmail.com >
2021-04-27 19:54:09 +02:00
jorgectf
21f8135fa6
Move to experimental folder
2021-04-27 19:54:08 +02:00
jorgectf
afc4f51e9c
Remove CWE references
2021-04-27 19:54:07 +02:00
jorgectf
bd3d2ec686
Update to match consistent naming across languages
2021-04-27 19:54:07 +02:00
jorgectf
7adc3c2fba
Upload ReDoS query, qhelp and tests
2021-04-27 19:54:05 +02:00
edvraa
5eb96c1e45
Remove Class cast
2021-04-27 20:26:29 +03:00
Tom Hvitved
bd0a196a39
Java: Update data-flow caching
2021-04-27 19:06:39 +02:00
Tom Hvitved
befc80b3cb
C#: Update data-flow caching
2021-04-27 19:06:39 +02:00
Tom Hvitved
914184f3dd
Data flow: Sync files
2021-04-27 19:06:39 +02:00
Tom Hvitved
0c8886967b
Data flow: Cache nodeIsHidden
2021-04-27 19:05:11 +02:00
Tom Hvitved
1112c0f994
Data flow: Cache ParameterNode
2021-04-27 19:05:11 +02:00
Tom Hvitved
7d4feaca2f
Data flow: Cache ArgumentNode
2021-04-27 19:05:11 +02:00
Tom Hvitved
ade99c2c2b
Data flow: Cache Cast(ing)Node
2021-04-27 19:05:11 +02:00
Tom Hvitved
346af4f97a
Data flow: Cache ReturnNodeExt
2021-04-27 19:05:10 +02:00
Tom Hvitved
9738de2cb9
Data flow: Cache OutNodeExt
2021-04-27 19:05:10 +02:00
Tom Hvitved
23113c4ff7
Data flow: Cache isUnreachableInCall
2021-04-27 19:05:10 +02:00
Tom Hvitved
1bf0e01a83
Data flow: Cache clearsContent
2021-04-27 19:05:10 +02:00
Tom Hvitved
4009c01558
Data flow: Cache readStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
96aa182893
Data flow: Cache jumpStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
8bfeae768f
Data flow: Cache simpleLocalFlowStep
2021-04-27 19:05:10 +02:00
Tom Hvitved
1a56f0b79c
Data flow: Cache getNodeType
2021-04-27 19:05:10 +02:00
Tom Hvitved
044c92016b
Data flow: Cache enclosing callable predicates
2021-04-27 19:05:09 +02:00
Tom Hvitved
37377644c9
Merge pull request #5781 from hvitved/java/predictable-seed-df6
...
Java: Use separate data-flow copy for `PredictableSeedFlowConfiguration`
2021-04-27 19:01:55 +02:00
Andrew Eisenberg
c6db90e9b7
Merge pull request #5775 from aeisenberg/aeisenberg/codeql-action-main
...
Actions: Use the main branch of the codeql action
2021-04-27 09:36:33 -07:00
Tamás Vajk
4cc88662e2
Merge pull request #5557 from tamasvajk/feature/java-sinks-csv
...
Java: convert sinks to CSV
2021-04-27 15:58:09 +02:00
Erik Krogh Kristensen
9178f4b1c5
add support for the anser library
2021-04-27 15:57:17 +02:00
Tamas Vajk
51e08d4940
Fix error severity
2021-04-27 15:47:16 +02:00
edvraa
3aec9c1a41
Cookies without HttpOnly
2021-04-27 16:28:32 +03:00
Marcono1234
05ce49adaf
Java: Add StmtParent as superclass of SwitchExpr
...
Database type `@stmtparent` already includes `@switchexpr`, this commit merely
changes the class SwitchExpr to also accordingly extend StmtParent.
2021-04-27 15:17:55 +02:00
Tamas Vajk
5b79094f34
Fix naming in HTTPS URL check
2021-04-27 14:59:52 +02:00
Rasmus Wriedt Larsen
523ed8272d
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-27 14:42:05 +02:00
yoff
0509a12790
Merge pull request #5770 from tausbn/python-small-api-graph-fix
...
Python: Use only `TApiNode` in `API::Impl`
2021-04-27 14:06:09 +02:00
Geoffrey White
afa89256c5
Merge pull request #5780 from MathiasVP/cleanup-missingGuard-predicates-after-range-analysis-fix
...
C++: Cleanup missingGuardAgainstOverflow
2021-04-27 12:56:10 +01:00
Chris Smowton
64a2320be7
Merge pull request #5757 from smowton/smowton/admin/fix-dead-qhelp-links
...
Fix all dead qhelp links
2021-04-27 12:17:08 +01:00
Tom Hvitved
2e266c7ddd
Merge pull request #5756 from hvitved/csharp/string-builder-fluent
...
C#: Add missing `StringBuilder` flow summaries
2021-04-27 11:24:56 +02:00
Tom Hvitved
fb606112fa
Merge pull request #5754 from hvitved/csharp/guards/performance
...
C#: Improve performance of guards library
2021-04-27 10:53:01 +02:00
Tamas Vajk
e08b629cb5
Add documentation for URL opening sinks
2021-04-27 10:32:41 +02:00
Tom Hvitved
017beb6786
Java: Use separate data-flow copy for PredictableSeedFlowConfiguration
2021-04-27 10:07:33 +02:00
CodeQL CI
79ed94b22c
Merge pull request #5779 from erik-krogh/updateJSAndTSVersionDoc
...
Approved by esbena
2021-04-27 00:51:58 -07:00
Mathias Vorreiter Pedersen
04a785b9fb
C++: Accept test changes.
2021-04-27 09:43:27 +02:00
Mathias Vorreiter Pedersen
a41e9055c5
C++: Delete the fix that was introduced in bb447d7174. This is no longer needed after #5678 .
2021-04-27 09:43:02 +02:00
Mathias Vorreiter Pedersen
05d693e3bb
C++: Also include the assignment versions in exprThatCanOverflow.
2021-04-27 09:41:13 +02:00
Rasmus Wriedt Larsen
37db21d269
Merge pull request #5284 from yoff/python-port-insecure-protocol
...
Python: port py/insecure-protocol
2021-04-27 09:30:18 +02:00
ihsinme
0c3e2b9ab7
Update test.c
2021-04-27 10:11:32 +03:00
Erik Krogh Kristensen
0b322a3143
update JS/TS versions to reflect supported versions
2021-04-27 08:53:15 +02:00
haby0
5be9fbbc5a
Remove LogOperationSink and PrintSink
2021-04-27 14:12:33 +08:00
ihsinme
c31a761750
Add files via upload
2021-04-26 23:05:08 +03:00
ihsinme
b7de370918
Add files via upload
2021-04-26 23:04:08 +03:00
thank_you
62f3e8d64a
Add sanitizer for ObjectId
...
ObjectId is a sanitizer used to sanitize strings into valid MongoDB ids. During research we've found that this method is used.
ObjectId returns a string representing an id. If at any time ObjectId can't parse it's input (like when a tainted dict in passed in), then ObjectId will throw an error preventing the query from running.
2021-04-26 15:35:42 -04:00
Andrew Eisenberg
0e53ad33f6
Actions: Add permissions block to code scanning workflow
2021-04-26 10:53:29 -07:00
Geoffrey White
0e7eeb3051
Merge pull request #5678 from MathiasVP/sound-expr-might-overflow-predicate
...
C++: Make exprMightOverflowPositively sound for unanalyzable expressions
2021-04-26 17:38:23 +01:00
Andrew Eisenberg
3670c729c0
Actions: Use the main branch of the codeql action
...
This commit switches to the bleeding edge, main branch of the
codeql action. This helps us test the action before merging all
of the new changes into main, which occurs roughly once a week.
If there are commits that introduce bugs in codeql-action, then
we will be more likely to catch it before releasing to the world
if we are using it in this extension.
2021-04-26 08:43:28 -07:00
Taus
3889c8afec
Python: Use only TApiNode in API::Impl
...
This ensures that changes to `API::Node` does not invalidate the cached
`module Impl`. At present, I don't expect this to have any effect (as
the `Node` class is also fairly static, though not explicitly cached),
but I can imagine us making some of the `Node` methods have
user-extensible behaviour, in which case we definitely do not want this
to result in reevaluation of `API::Impl`.
2021-04-26 13:10:15 +00:00
Shati Patel
a09c12acfe
Merge pull request #5537 from alexet/ambig-super
...
Docs: Update the language specification for changes to super.
2021-04-26 13:34:50 +01:00
Hayk Andriasyan
7455b1b4f0
Update JSchOSInjectionSanitized.java
2021-04-26 15:17:57 +04:00
p0wn4j
3d891f0b39
[Java] CWE-078: Add JSch OS command injection sink
2021-04-26 18:20:32 +04:00
Chris Smowton
d717fc7b1f
Use Microsoft archive of vijaysk's blog
2021-04-26 10:13:04 +01:00
Tom Hvitved
824c243268
C#: Add change note
2021-04-26 10:50:17 +02:00
Mathias Vorreiter Pedersen
772d5eacca
C++: Add change note.
2021-04-26 09:55:32 +02:00
Erik Krogh Kristensen
4e8ae77b6f
cache more predicates
2021-04-26 08:57:20 +02:00
ihsinme
98f7f70814
Add files via upload
2021-04-25 22:35:40 +03:00
ihsinme
50c63a88c3
Add files via upload
2021-04-25 22:34:41 +03:00
ihsinme
c1d125b378
Add files via upload
2021-04-25 22:25:17 +03:00
ihsinme
f2b2300da9
Add files via upload
2021-04-25 22:23:31 +03:00
intrigus
b1a3633495
Java: Remove redundant condition + docs.
2021-04-23 22:06:04 +02:00
Rasmus Lerchedahl Petersen
7cc97836a9
Python: More cleanup from reviewer suggestions
2021-04-23 20:26:13 +02:00
Chris Smowton
78b9682a4e
Fix dead links in JS externs too
2021-04-23 15:46:48 +01:00
Tamás Vajk
a7030c7fed
Merge pull request #5308 from tamasvajk/feature/flow-sources-sinks
...
C#: Add Console.Read* to local flow sources
2021-04-23 16:36:16 +02:00
Tamás Vajk
c3058f4744
Merge pull request #5749 from tamasvajk/feature/fix-fromsource
...
C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file
2021-04-23 16:35:40 +02:00
Chris Smowton
455b840712
Fix all dead qhelp links
...
For those documents with no obvious new home I've pointed the links to the Internet Archive.
2021-04-23 15:20:21 +01:00
Tom Hvitved
004450b201
C#: Add missing StringBuilder flow summaries
2021-04-23 16:17:49 +02:00
Mathias Vorreiter Pedersen
86822f6c61
C++: Exclude pointer results from cpp/integer-overflow-tainted.
2021-04-23 16:01:53 +02:00
Mathias Vorreiter Pedersen
3cf4f1f956
C++: Accept test changes.
2021-04-23 16:00:23 +02:00
Shati Patel
6f2103f312
Merge pull request #5722 from github/tamasvajk-patch-1
...
C#: Add Dapper to supported frameworks
2021-04-23 14:32:22 +01:00
Jonas Jensen
9b5bb95766
Merge pull request #5696 from jbj/reapply-inconsistency-workaround
...
Revert "Revert "C++: Work around extractor issue CPP-383""
2021-04-23 14:49:32 +02:00
Asger Feldthaus
0da0670a79
JS: Add Nest.js to list of supported framworks
2021-04-23 13:15:35 +01:00
Asger Feldthaus
71e3041370
JS: Fewer spurious reflected xss sinks
2021-04-23 13:15:35 +01:00
Asger Feldthaus
4f53a1ab40
JS: Cache ClassNode::Range
2021-04-23 13:15:35 +01:00
Asger Feldthaus
d0b8b32345
JS: Add change notes
2021-04-23 13:15:35 +01:00
Asger Feldthaus
671e968936
JS: Model NestJS
2021-04-23 13:15:35 +01:00
Anders Schack-Mulligen
bc8c55836a
Merge pull request #5743 from aschackmull/java/flow-summary-tweaks
...
Java/C#: Move a couple of flow summary tweaks to the shared implementation.
2021-04-23 13:46:04 +02:00
Tamas Vajk
1b4c3c7415
Fix code review findings
2021-04-23 13:44:34 +02:00
Tamás Vajk
819be43ce7
Fix alphabetical order of supported frameworks
2021-04-23 13:41:59 +02:00
Tamas Vajk
b4bd7af9c8
Add change note
2021-04-23 13:40:12 +02:00
Tamas Vajk
e3f10c0e32
Cleanup DiagnosticError classes
2021-04-23 13:37:42 +02:00
Rasmus Wriedt Larsen
deb3db3f95
Python: Add non-alert data for extractor diagnostics
...
This is basically just a port of the C++/JS queries added in:
- https://github.com/github/codeql/pull/5414 (C++)
- https://github.com/github/codeql/pull/5656 (JS)
SyntaxError should capture all errors we have information about. At least in
`python/ql/src/semmlecode.python.dbscheme` the only match for `error` is
`py_syntax_error_versioned` (which `SyntaxError` is based on).
2021-04-23 13:29:44 +02:00
Rasmus Wriedt Larsen
354dee1b09
Python: Add non-alert data for lines of code
...
`py/summary/lines-of-code` is just a port of the C++/JS queries added in:
- https://github.com/github/codeql/pull/5271 (C++)
- https://github.com/github/codeql/pull/5304 (JS)
We are the first to implement the `lines-of-user-code` query, so nothing to
compare with in other languages -- but it makes a lot of sense to do for Python 👍
2021-04-23 13:22:18 +02:00
Asger Feldthaus
109d1ad27f
JS: Model fs.promises
2021-04-23 11:59:48 +01:00
Asger Feldthaus
822d4525af
JS: Drive-by change in LogInjection
2021-04-23 11:59:48 +01:00
Asger Feldthaus
ad12f383d9
JS: Reduce reliance on RouteHandler in Express model
2021-04-23 11:59:48 +01:00
Tamás Vajk
43dc9bbc94
Merge pull request #5744 from tamasvajk/feature/java-loc
...
Java: Introduce LoC summary metric query
2021-04-23 11:39:42 +02:00
Mathias Vorreiter Pedersen
e6077127be
C++: Only unary and binary arithmetic operations and left shifts are now
...
reported as overflowing when we cannot analyze them.
2021-04-23 11:13:34 +02:00
Tom Hvitved
956507b5fa
C#: Add guards stress test
2021-04-23 10:25:31 +02:00
yoff
1954c0ba84
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-23 10:20:18 +02:00
Tom Hvitved
4c597dd467
C#: Improve performance of guards library
2021-04-23 10:09:43 +02:00
Jonas Jensen
6de5b3021e
C++: Replace Jira ticket reference with GH issue
2021-04-23 09:58:39 +02:00
Jonas Jensen
6e059ea002
C++: Remove reference to obsolete issue CPP-383
2021-04-23 09:58:15 +02:00
Shati Patel
96a4d91a6c
Merge pull request #5731 from shati-patel/docs/unbind-pragmas
...
Docs: New "directional binding" pragmas
2021-04-23 08:37:02 +01:00
intrigus
98dcd4e52b
Java: Tighten definition of sink.
2021-04-23 00:14:48 +02:00
CodeQL CI
635fb4c25a
Merge pull request #5685 from erik-krogh/markdownIt
...
Approved by asgerf
2021-04-22 14:55:31 -07:00
intrigus
a385b30c29
Java: Factor common expr into class.
2021-04-22 23:51:27 +02:00
intrigus-lgtm
958e2fab05
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-22 23:36:17 +02:00
Dave Bartolomeo
3b04bedee0
Stub out additional bits of Alias model for C#
2021-04-22 17:19:00 -04:00
Dave Bartolomeo
5d0a4cae90
C++: Add {AllAliased} side effects for smart pointers
...
Smart pointer constructors, assignments, and `reset()` can actually have fairly large side effects, especially with custom deleters, destructors for objects being destroyed, and so on. I've re-introduced `{AllAliased}` side effects for these functions. There was no immediate effect on analysis results.
2021-04-22 16:51:36 -04:00
Taus
3e4ff9e472
Merge pull request #5742 from RasmusWL/django-3.2
...
Python: Add support for new features in Django 3.2
2021-04-22 17:39:02 +02:00
Rasmus Wriedt Larsen
f9383a31bf
Python: Fix BrokenCryptoAlgorithm.qhelp
2021-04-22 15:58:28 +02:00
Rasmus Wriedt Larsen
222c087e8c
Python: Remove type-tracking performance workaround
...
Since we shouldn't need it anymore (yay)
2021-04-22 15:31:49 +02:00
Rasmus Wriedt Larsen
b82209964a
Python: Add change-note for new weak crypto queries
2021-04-22 15:23:42 +02:00
Rasmus Wriedt Larsen
fc1a6d0e32
Python: Say salting is not part of py/weak-sensitive-data-hashing
2021-04-22 15:23:41 +02:00
Rasmus Wriedt Larsen
ac83c695ad
Python: Add py/weak-sensitive-data-hashing query
2021-04-22 15:23:41 +02:00
Rasmus Wriedt Larsen
499adc26a3
Python: Extend SensitiveDataSource tests
...
Now it contains all the sort of things we actually support 👍
2021-04-22 15:23:40 +02:00
Rasmus Wriedt Larsen
794a86a6b0
Python: Add SensitiveDataSource
2021-04-22 15:23:39 +02:00
Rasmus Wriedt Larsen
56c409737d
Python: Port py/weak-cryptographic-algorithm
...
The other query (py/weak-sensitive-data-hashing) is added in future commit
2021-04-22 15:23:38 +02:00
Rasmus Wriedt Larsen
59edd18c34
Python: Move framework test-files out of experimental
...
This PR was rebased on newest main, but was written a long time ago when all the
framework test-files were still in experimental. I have not re-written my local
git-history, since there are MANY updates to those files (and I dare not risk
it).
2021-04-22 15:23:37 +02:00
Rasmus Wriedt Larsen
1616975e06
Python: Model hashlib from standard library
2021-04-22 15:23:37 +02:00
Rasmus Lerchedahl Petersen
5a4e661e60
Merge branch 'main' of github.com:github/codeql into python-support-pathlib
2021-04-22 15:04:21 +02:00
CodeQL CI
bdb41423e2
Merge pull request #5748 from asgerf/js/rate-limiting-fixes
...
Approved by erik-krogh
2021-04-22 05:56:50 -07:00
Rasmus Wriedt Larsen
7ffbfa8043
Python: Expand stdlib md5 tests with keyword-arguments
2021-04-22 14:51:20 +02:00
Rasmus Wriedt Larsen
fa88f22453
Python: Model hashing operations in cryptography package
2021-04-22 14:51:20 +02:00
Rasmus Wriedt Larsen
c5f826580b
Python: Model encrypt/decrypt in cryptography package
...
I introduced a InternalTypeTracking module, since the type-tracking code got so
verbose, that it was impossible to get an overview of the relevant predicates.
(this means the "first" type-tracking predicate that is usually private, cannot
be marked private anymore, since it needs to be exposed in the private module.
2021-04-22 14:51:19 +02:00
Rasmus Wriedt Larsen
bf6f5074c2
Python: Port cryptodome tests to crypto
...
I don't know if this is really a smart test-setup... I feel a bit stupid when
doing this xD
2021-04-22 14:51:19 +02:00
Rasmus Wriedt Larsen
f8254381f3
Python: Add MISSING: CryptographicOperationAlgorithm annotations
...
For RSA it's unclear what the algorithm name should even be. Signatures based on
RSA private keys with PSS scheme is ok, but with pkcs#1 v1.5 they are
weak/vulnerable. So clearly just putting RSA as the algorithm name is not enough
information...
and that problem is also why I wanted to do this commit separetely (to call
extra atten to this).
2021-04-22 14:51:18 +02:00
Rasmus Wriedt Larsen
23140dfb76
Python: Add CryptographicOperation modeling for Cryptodome
2021-04-22 14:51:17 +02:00
Rasmus Wriedt Larsen
1b2ed9d99a
Python: Align cryptodome tests
2021-04-22 14:51:16 +02:00
Rasmus Wriedt Larsen
2c0df8e656
Python: Add MD5 tests
2021-04-22 14:51:16 +02:00
Rasmus Wriedt Larsen
a8de2aba3b
Python: Move CryptoAlgorithms implementation
2021-04-22 14:51:15 +02:00
Rasmus Wriedt Larsen
65c8d9605e
Python: Add CryptographicOperation Concept
...
I considered using `getInput` like in JS, but things like signature verification
has multiple inputs (message and signature).
Using getAnInput also aligns better with Decoding/Encoding.
2021-04-22 14:51:14 +02:00
Rasmus Wriedt Larsen
d18fbb7f07
Python: Add working tests of AES and RC4
2021-04-22 14:51:14 +02:00
Rasmus Wriedt Larsen
cf64701bcb
Python: Move weak-crypto-algorithm tests to own folder
2021-04-22 14:51:13 +02:00
Tamas Vajk
ed42c878b0
Adjust 'fromSource' to hold only on '.cs' files
2021-04-22 14:17:16 +02:00
Tamas Vajk
b36d35bf1e
Revert "C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file"
...
This reverts commit 1dab1590ea .
2021-04-22 14:16:10 +02:00
haby0
407dcea751
add String type startsWith
2021-04-22 19:20:54 +08:00
haby0
1712d01b74
Merge branch 'UseOfLessTrustedSource' of https://github.com/haby0/codeql into UseOfLessTrustedSource
2021-04-22 19:02:23 +08:00
haby0
9b4442be8b
Fix some errors
2021-04-22 19:01:55 +08:00
haby0
aaef4ef22b
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-22 18:52:55 +08:00
Tamás Vajk
cb28bc80b7
Merge branch 'main' into feature/java-sinks-csv
2021-04-22 11:41:18 +02:00
Tamas Vajk
7134eb9079
Improve documentation of csv sink models
2021-04-22 11:37:41 +02:00
Mathias Vorreiter Pedersen
2b8afe55e8
Merge pull request #5747 from rdmarsh2/rdmarsh2/cpp/deprecate-return-stack-allocated-object
...
C++: deprecate cpp/return-stack-allocated-object
2021-04-22 11:37:07 +02:00
edvraa
c9c9758e01
Make similarly named files in tests and qhelp in sync
2021-04-22 12:23:46 +03:00
Tamas Vajk
1caa5c4780
Adjust hostname verifier sink identifier name
2021-04-22 11:22:18 +02:00
Tamas Vajk
6c78a247f2
Revert erroneous refactoring in header splitting sink base class
2021-04-22 11:20:39 +02:00
Tamas Vajk
9b1c54e81b
Add argument indices to HTTP header splitting sinks
2021-04-22 11:17:25 +02:00
Tamas Vajk
180904e9f6
Revert "Java: Convert Google HTTP client API parseAs sink to CSV format"
...
This reverts commit 3e53484bb3 .
2021-04-22 11:14:51 +02:00
Owen Mansel-Chan
fea9f5f431
Merge pull request #5746 from owen-mc/java/refactor-exec-tainted
...
Make ExecTainted easier to extend
2021-04-22 10:14:28 +01:00
Tamas Vajk
a8a920c8f0
Add change note
2021-04-22 11:01:12 +02:00
Owen Mansel-Chan
8a01799fb8
Make imports private
...
Co-authored-by: Anders Schack-Mulligen <aschackmull@users.noreply.github.com >
2021-04-22 09:46:49 +01:00
Rasmus Lerchedahl Petersen
b724e51cab
Python: Improvements from review suggestions
2021-04-22 10:40:42 +02:00
Owen Mansel-Chan
4b8d4f5bbd
Update docs
2021-04-22 09:30:50 +01:00
Owen Mansel-Chan
e448dcb725
Avoid bad join order
...
We want to avoid joining on `i` first.
2021-04-22 09:30:49 +01:00
Owen Mansel-Chan
9f1704560b
Include constructors in abstract class
2021-04-22 09:30:48 +01:00
Tamas Vajk
1dab1590ea
C#: Adjust 'fromSource' to hold only on files passed to the compiler as a source file
2021-04-22 10:21:28 +02:00
Tamas Vajk
1a708affbf
Include compilation errors in diagnostic check
2021-04-22 10:08:33 +02:00
Asger Feldthaus
d2646ea4ad
JS: More consistent section capitalization
2021-04-22 09:06:44 +01:00
Asger Feldthaus
0dceabe704
JS: Reference specific section of cheat sheet
2021-04-22 09:06:09 +01:00
Tamas Vajk
64354bbfaa
Fix test results after rebase
2021-04-22 09:23:59 +02:00
Tamas Vajk
ff9327a035
Add diagnostic query to get correctly extracted files
2021-04-22 09:21:46 +02:00
Tamas Vajk
b05e211e21
Fix failing test
2021-04-22 09:21:45 +02:00
Tamas Vajk
353d43a039
Log model errors even in standalone extraction
2021-04-22 09:13:06 +02:00
Tamas Vajk
5149ffdd16
C#: Add extraction error diagnostic query
2021-04-22 09:13:06 +02:00
edvraa
ade238307f
Add a test
2021-04-22 10:02:06 +03:00
Tamás Vajk
9c936867fa
Exclude code from XML files
...
Co-authored-by: yo-h <55373593+yo-h@users.noreply.github.com >
2021-04-22 09:00:31 +02:00
Tamás Vajk
a7cc9f98ef
Merge pull request #5745 from tamasvajk/feature/fix-arg-default
...
C#: Fix special case of default argument value extraction
2021-04-22 08:58:13 +02:00
edvraa
86444bfa09
Use set literal expression
2021-04-22 09:48:46 +03:00
edvraa
9774b24c4e
Use TypeString
2021-04-22 09:44:07 +03:00
haby0
454324781d
delete IfStmt
2021-04-22 11:59:33 +08:00
Robert Marsh
cac1bef6ea
C++: deprecate cpp/return-stack-allocated-object
2021-04-21 15:17:31 -07:00
Asger Feldthaus
fe8deeaf6b
JS: Autoformat
2021-04-21 23:13:57 +01:00
Dave Bartolomeo
383210096c
C++: Isolate models from AST dataflow's reference/object conflation
...
`DataFlowFunction` models treat references a pointers - an explicit level of indirection. The AST dataflow library generally treats references as if they were the referred-to object. This commit removes a workaround in the dataflow model for unary `operator*` on smart pointers, and makes the AST dataflow library adjust the results of querying the model so that a returned reference only gets flow that was modeled as going to the dereference of the return value.
This fixes some missing flow in IR dataflow, and recovers some (presumably) missing reverse taint flow in AST taint tracking as well.
2021-04-21 18:09:44 -04:00
Asger Feldthaus
e98bfe921e
JS: QLDoc
2021-04-21 22:14:50 +01:00
Asger Feldthaus
bb7934b381
JS: Change note
2021-04-21 21:20:12 +01:00
Asger Feldthaus
c113cfd8b7
JS: Autoformat
2021-04-21 21:13:07 +01:00
edvraa
57689df5aa
Remove DataFlow::Node
2021-04-21 19:29:30 +03:00
Dave Bartolomeo
0bc4b0421d
C++: Remove unnecessary cast
2021-04-21 12:12:01 -04:00
Rasmus Wriedt Larsen
5a9e27c6fc
Merge branch 'main' into django-3.2
2021-04-21 17:15:47 +02:00
Chris Smowton
76091f0f8d
Use ArrayElement accessor where needed
2021-04-21 15:58:41 +01:00
Chris Smowton
2c95b7539f
Remove now-redundant steps
2021-04-21 15:57:09 +01:00
Chris Smowton
874733a61b
Argument -> specific Argument indices
2021-04-21 15:53:55 +01:00
Chris Smowton
fce1d6122f
Add change note
2021-04-21 15:47:20 +01:00
Chris Smowton
6589460357
Add models for Commons ToStringBuilder
...
These don't include support for reflectionToString yet, which is coming up in a subsequent PR.
2021-04-21 15:47:19 +01:00
Chris Smowton
94f0a1532d
Merge pull request #5682 from smowton/smowton/docs/fix-has-modifier-comment
...
Fix documentation of Modifier.qll
2021-04-21 15:41:29 +01:00
Tamas Vajk
a0f5e45ae9
C#: Fix special case of default argument value extraction
2021-04-21 16:34:29 +02:00
edvraa
a93d6a3ef6
Remove SafeConstructorTrackingConfig
2021-04-21 17:16:54 +03:00
Geoffrey White
ba335089c4
Merge pull request #5601 from ihsinme/ihsinme-patch-259
...
CPP: Add query for CWE-691 Insufficient Control Flow Management After Refactoring The Code
2021-04-21 15:13:38 +01:00
edvraa
9e46ef3cd9
Get rid of getParent
2021-04-21 17:11:40 +03:00
edvraa
808444986d
Get rid of UnsafeDeserializerCallable
2021-04-21 17:06:20 +03:00
Owen Mansel-Chan
9c72e73a82
Make ExecTainted easier to extend
...
To add a method that executes a command, you can now define a class
extending ExecMethod.
2021-04-21 14:55:37 +01:00
edvraa
b6952d541a
get rid of getParent
2021-04-21 16:55:34 +03:00
edvraa
9cc67e4266
make private where possible
2021-04-21 16:48:05 +03:00
CodeQL CI
30d7f0dc98
Merge pull request #5687 from RasmusWL/inline-taint-tests
...
Approved by yoff
2021-04-21 06:24:12 -07:00
Taus
71780228ae
Python: Rename TypeTrackerPrivate.qll
2021-04-21 13:08:26 +00:00
Asger Feldthaus
2c9a6e7bef
JS: Cache function-wrapping steps in type-tracking stage
2021-04-21 13:45:58 +01:00
Arthur Baars
bc6aec7a99
Merge pull request #167 from github/alexrford/numlines
...
Implement FLines metrics queries
2021-04-21 14:42:18 +02:00
Tamas Vajk
e25305e3cc
Java: Introduce LoC summary metric query
2021-04-21 14:27:00 +02:00
Anders Schack-Mulligen
f9599da32d
Java/C#: Move a couple of flow summary tweaks to the shared implementation.
2021-04-21 14:24:15 +02:00
Alex Ford
240f0abf27
drop @tags from metrics queries
2021-04-21 13:00:48 +01:00
Alex Ford
15289dba34
simplify File.getNumberOfLines
2021-04-21 12:59:25 +01:00
Rasmus Wriedt Larsen
be9cbd79d6
Python: Add change-note for Django 3.2 support
2021-04-21 13:58:34 +02:00
Alex Ford
cc5bbfce0b
Get -> Gets
2021-04-21 12:57:55 +01:00
Alex Ford
5a191692df
Update ql/src/queries/metrics/FLinesOfComments.ql
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-04-21 12:57:12 +01:00
Rasmus Wriedt Larsen
59c6f76457
Python: Add test for new response.headers in Django
...
See https://docs.djangoproject.com/en/3.2/ref/request-response/#setting-header-fields
2021-04-21 13:55:22 +02:00
Rasmus Wriedt Larsen
2302c8d5fa
Python: Model new alias method on django QuerySets
2021-04-21 13:52:38 +02:00
yoff
a19373ab54
Merge pull request #5727 from tausbn/python-use-localsource-in-stepsummary
...
Python: Use `LocalSourceNode` in `StepSummary::step`
2021-04-21 13:50:31 +02:00
Tamás Vajk
205469316c
Merge pull request #5738 from tamasvajk/feature/loc
...
C# Add line of code metric query
2021-04-21 13:49:32 +02:00
Taus
489e1e94e4
Python: Prevent bad joins
...
Adds a few unbinds to prevent bad joins from occurring.
Firstly, we never want to join `StepSummary::step` with
`TypeTracker::append` on `summary` as the first join, as the resulting
relation is absolutely massive. So we decouple the two occurrences of
`summary` by unbinding each of them.
Secondly, in some cases the node we're stepping to (`nodeTo` for type
trackers, `nodeFrom` for type backtrackers) will get joined eagerly
with the typetracker one is defining, and again this produces an
uncomfortably large intermediate join. A bit of unbinding prevents this
as well.
2021-04-21 11:44:34 +00:00
Taus
9e95f6e7c1
Python: Remove typePreservingStep
...
This requires a bit of explanation, so strap in.
Firstly, because we use `LocalSourceNode`s as the start and end points
of our `StepSummary::step` relation, there's no need to include
`simpleLocalFlowStep` (via `typePreservingStep`) in `smallstep`. Indeed,
since the successor node for a `step` is a `LocalSourceNode`, and local
sources never have incoming flow, this is entirely futile -- we can find
values for `mid` and `nodeTo` that satisfy the body of `step`, but
`nodeTo` will never be a `LocalSourceNode`.
With this in mind, we can simplify `smallstep` to only refer to
`jumpStep`.
This then brings the other uses of `typePreservingStep` into question.
The only other place we use this predicate is in the `TypeTracker` and
`TypeBackTracker` `smallstep` predicates. Note, however, that here we
no longer need `jumpStep` to be part of `typeTrackingStep` (as it is
already accounted for in `StepSummary::smallstep`) so we can simplify
to `simpleLocalFlowStep`. At this point, `typePreservingStep` is unused.
Finally, because of the way `smallstep` is used in `step` (inside
`StepSummary`), `nodeTo` must always be a `LocalSourceNode`, so I have
propagated this restriction to `smallstep` as well. We can always lift
this restriction later, but for now it seems like it's likely to cause
fewer surprises to have made this explicit.
2021-04-21 11:12:06 +00:00
asgerf
226792c73a
JS: Expand RemoteFlowSource and move into own section
2021-04-21 12:04:09 +01:00
edvraa
8f6411dba3
Simpify with exists
2021-04-21 13:52:41 +03:00
asgerf
5df8583056
JS: Mention isUserControlledObject
2021-04-21 11:40:27 +01:00
asgerf
ff73c0b247
JS: Add section with access paths to cheat sheet
2021-04-21 11:40:27 +01:00
Alex Ford
4e119cc085
consider empty files (no ruby tokens) to have 0 lines
2021-04-21 11:29:55 +01:00
Alex Ford
a8597025aa
fixed logic for line counting
2021-04-21 11:29:09 +01:00
edvraa
0590522e4b
a deserializer
2021-04-21 13:29:00 +03:00
edvraa
3ac5f7bb18
Move RemoteSource and LocalSource to UnsafeDeserialization.qll
2021-04-21 13:27:26 +03:00
edvraa
452ec8c43f
comments
2021-04-21 13:12:53 +03:00
edvraa
13655b5d80
Add RegExUtils
2021-04-21 13:08:35 +03:00
asgerf
f611d06ed0
JS: Add getALocalUse to cheat sheet
2021-04-21 10:53:10 +01:00
Alex Ford
bcc1be05de
use explicit this prefixes in FileSystem.qll
2021-04-21 10:51:28 +01:00
Alex Ford
85ecacd858
make helper predicates private
2021-04-21 10:50:00 +01:00
Alex Ford
9d117d10b8
drop MetricFile class
2021-04-21 10:45:42 +01:00
Alex Ford
c6b6a83501
extend FLines* tests
2021-04-21 10:42:53 +01:00
Rasmus Wriedt Larsen
08e86fdfe5
JS: Make CredentialsFunctionName use nameIndicatesSensitiveData
...
Someone from JS team needs to verify that this is actually OK.
2021-04-21 11:38:52 +02:00
Rasmus Wriedt Larsen
e977d6eb75
JS: Rewrite to use notSensitiveRegexp
2021-04-21 11:36:39 +02:00
Rasmus Wriedt Larsen
b9a1a1fd5c
JS: Rewrite to use nameIndicatesSensitiveData
...
I added this predicate mostly because it was nice with an easy shortcut for it,
but also since I spotted the `CredentialsFunctionName` not checking agaisnt the
regexps in `notSensitive`, which looked suspicious. So the main goal of adding
`nameIndicatesSensitiveData` is that you don't accidentially forget to ensure
that the name doesn't match against `notSensitve`.
2021-04-21 11:36:38 +02:00
Rasmus Wriedt Larsen
b6f8e5057b
JS: Rewrite to use SensitiveDataClassification::password (and like)
2021-04-21 11:36:17 +02:00
Alex Ford
a1c91e28da
move FLines* tests to a common directory
2021-04-21 10:34:58 +01:00
Rasmus Wriedt Larsen
94fec5f8b7
JS: Rewrite to use SensitiveDataClassification
2021-04-21 11:34:02 +02:00
Rasmus Wriedt Larsen
0d08718f08
JS: Adapt SensitiveActions to use shared lib
...
Although there are warnings for the new deprecated classes/predicates, the test
in javascript/ql/test/library-tests/SensitiveActions/ passes 👍
2021-04-21 11:34:01 +02:00
Rasmus Wriedt Larsen
775ed41592
Python: Update SensitiveDataHeuristics with newer JS version
...
which also prompted me to rewrite the QLDoc for `nameIndicatesSensitiveData`
2021-04-21 11:34:01 +02:00
Rasmus Wriedt Larsen
16b62486e9
Python: Extract SensitiveDataHeuristics to be shared with JS
...
Initially I had called `nameIndicatesSensitiveData` for `maybeSensitiveName`,
which made the relationship with `maybeSensitive` and `notSensitive` quite
strange -- and therefore I added the more informative `maybeSensitiveRegexp` and
`notSensitiveRegexp`.
Although I'm no longer using `maybeSensitiveName`, and I no longer have a strong
argument for making this name change, I still like it. If someone thinks this is
a terrible idea, I'm happy to change it though 👍
2021-04-21 11:31:28 +02:00
Alex Ford
fcd46025fe
update metadata for FLines* queries
2021-04-21 10:28:20 +01:00
Arthur Baars
abb37e212a
Merge pull request #165 from github/aibaars/methods
...
Implement method lookup
2021-04-21 11:24:20 +02:00
Arthur Baars
549e5ab9d6
Revert "Rename Method -> MethodDeclaration"
...
This reverts commit d361ef37af .
2021-04-21 10:50:47 +02:00
Arthur Baars
1245674df8
Add missing @id properties
2021-04-21 10:50:47 +02:00
Tamas Vajk
2a6f979ce6
C# Add line of code metric query
2021-04-21 10:42:06 +02:00
Anders Schack-Mulligen
9362ae0687
Merge pull request #5422 from tamasvajk/feature/sink-migration-ldap
...
Java: Migrate LDAP injection sinks to CSV format
2021-04-21 10:05:28 +02:00
Rasmus Wriedt Larsen
63a2657aef
Merge branch 'main' into inline-taint-tests
2021-04-21 10:02:55 +02:00
Tom Hvitved
7080b256fb
Merge pull request #5715 from hvitved/csharp/ssa/perf-tweaks
...
C#: A few minor SSA performance tweaks
2021-04-21 09:59:12 +02:00
Tom Hvitved
def62e8c22
Merge pull request #5718 from hvitved/csharp/hardcoded-cred-remove-cp
...
C#: Remove CP from `HardcodedCredentials::getCredentialSink`
2021-04-21 09:58:56 +02:00
Tom Hvitved
1ed11b297b
Merge pull request #5725 from hvitved/csharp/dataflow/performance
...
C#: Various data-flow performance tweaks
2021-04-21 09:46:15 +02:00
haby0
84f00c21df
update IfConditionSink.
2021-04-21 15:38:41 +08:00
Dave Bartolomeo
1d0cb0407d
Merge from main
2021-04-20 23:37:04 -04:00
Dave Bartolomeo
b9da6ce04a
C++: Prepare for merge of smart pointer models
2021-04-20 23:12:05 -04:00
Dave Bartolomeo
a447b049fc
C++: Impoved alias analysis of smart pointers
2021-04-20 19:42:06 -04:00
Dave Bartolomeo
63fe4fb317
C++: More general model for pointer flow
2021-04-20 19:41:15 -04:00
Dave Bartolomeo
078d2522d2
C++: Add missing shared_ptr<T> members
2021-04-20 19:40:36 -04:00
Dave Bartolomeo
45968efd28
C++: Add shared test headers to emulate standard library types
2021-04-20 18:21:50 -04:00
intrigus
231b07795c
Java: Ignore results in test directories.
2021-04-20 23:25:13 +02:00
intrigus
fcaf5e7657
Java: Plural type name -> singular type name.
2021-04-20 23:09:44 +02:00
intrigus
3acec94773
Java: Fix typos.
2021-04-20 23:04:06 +02:00
intrigus
149c4491ce
Java: Simplify qldoc.
2021-04-20 23:03:10 +02:00
intrigus
9e4fa90f6e
Java: Refer to Java types in qldoc instead of ql types.
2021-04-20 23:02:18 +02:00
intrigus
26502881d7
Java: Consistently use this in charpred.
2021-04-20 22:56:58 +02:00
yoff
0c4181178d
Update python/ql/src/semmle/python/frameworks/Stdlib.qll
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-20 22:15:09 +02:00
yoff
ef0ea247c4
Merge pull request #5679 from tausbn/python-fix-bad-points-to-joins
...
Python: Fix bad points-to joins
2021-04-20 21:19:32 +02:00
Asger Feldthaus
02707f0777
JS: informational -> info
2021-04-20 19:51:16 +01:00
Dave Bartolomeo
5085e462b0
C++: Allow alias propagation to/from side effects (part 1)
2021-04-20 14:09:41 -04:00
Dave Bartolomeo
01a95316c2
C++: Add Instruction::getAParameterSideEffect().
2021-04-20 14:03:48 -04:00
Rasmus Lerchedahl Petersen
6408ee2eaf
Python: Fix bad join
2021-04-20 20:03:06 +02:00
Tom Hvitved
3eba5b0aac
Merge pull request #5676 from hvitved/csharp/dispatch/get-a-viable-overrider-perf
...
C#: Speedup `DispatchMethodOrAccessorCall::getAViableOverrider()`
2021-04-20 19:57:59 +02:00
Erik Krogh Kristensen
357e1c0802
Update javascript/ql/src/semmle/javascript/frameworks/Markdown.qll
...
Co-authored-by: Asger F <asgerf@github.com >
2021-04-20 19:57:47 +02:00
yo-h
00137f2905
Merge pull request #5721 from github/yo-h/java-diagnostic-queries
...
Java: add extractor `diagnostic` queries
2021-04-20 13:36:49 -04:00
Shati Patel
98a0959784
Docs: New "directional binding" pragmas
2021-04-20 18:12:35 +01:00
Rasmus Lerchedahl Petersen
fc2c62350e
Python: Fix bad join
...
Also fixed up the QLDoc
2021-04-20 18:54:03 +02:00
Alex Ford
50a0f282bf
add basic tests for FLines queries
2021-04-20 17:36:16 +01:00
Alex Ford
f0d1498c8c
Revert "WIP: populate numlines table"
...
This reverts commit 62bf58b289 .
2021-04-20 17:36:16 +01:00
Alex Ford
37cce23c26
add FLines.ql, FLinesOfComments.ql
2021-04-20 17:36:16 +01:00
Alex Ford
d6c7846089
put logic for determining line counts into MetricFile
2021-04-20 17:36:16 +01:00
Asger Feldthaus
9f8a9b9cad
JS: Add taint source/sink summary queries
2021-04-20 17:10:31 +01:00
Taus
890f96d9b5
Python: Prevent bad joins in TypeBackTracker
...
Perhaps unsurprisingly, the join orderer was eager and willing to find
the wrong join order in this predicate as well. Applying a similar
fix to the one used in `TypeTracker::step` fixes the problem.
2021-04-20 15:01:04 +00:00
Taus
c0569da65c
Python: Move track/backtrack to LocalSourceNode
...
This is merely making explicit what was implicitly enforced. The move
to change the return type of `step` already meant that `this` and
`result` had to be `LocalSourceNode`. By moving these methods to their
rightful place, we should hopefully avoid a bit of suprising behaviour.
2021-04-20 14:39:56 +00:00
Taus
2a07441c19
Python: ModuleVariableNodes are not API uses
...
This caused some suprising test changes, where suddenly we had flow from
a `ModuleVariableNode` (as a `RemoteFlowSource`) to a sink. This of
course makes little sense, so instead we simply exclude these nodes as
uses in the first place.
2021-04-20 14:33:42 +00:00
Rasmus Lerchedahl Petersen
9c893cb0f4
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-04-20 16:33:03 +02:00
Taus
7581cbade6
Python: Fix forgotten type tracker
...
This was the last remaining type tracker that did not use
`LocalSourceNode`.
2021-04-20 14:32:56 +00:00
Tamas Vajk
583513bafd
Fix review findings
2021-04-20 16:28:47 +02:00
Asger Feldthaus
43ca8ea5f7
JS: Fix perf issue in forwardsParameter
2021-04-20 15:15:12 +01:00
Chris Smowton
a5cfdd2cfe
Merge pull request #5467 from p0wn4j/groovy-execute
...
[Java] CWE-094: Query to detect Groovy Code Injections
2021-04-20 14:49:56 +01:00
Erik Krogh Kristensen
62dfd1fa7d
improve the markdown-it model
2021-04-20 15:23:03 +02:00
Taus
38548c9acd
Python: Simplify charpred for LocalSourceNode
...
The somewhat convoluted `comes_from_cfgnode` was originally introduced
in order to have local sources for instances of global variables. This
was needed because global variables have an implicit "scope entry" SSA
definition that flows to the first actual use of the variable (and so
would not fit the strict "has no incoming flow" definition of a local
source node).
However, a subsequent change means that we include all global variable
reads anyway, and so the old definition is no longer needed.
(See commit 3fafb47b16 for further
context.)
2021-04-20 13:19:36 +00:00
Taus
038bf612be
Python: Add change note
2021-04-20 13:06:30 +00:00
Jonas Jensen
f02c86cb22
Merge pull request #5726 from MathiasVP/fix-false-positive-in-return-stack-allocated-memory-2
...
C++: Fix false positive in return stack allocated memory (second attempt)
2021-04-20 15:05:11 +02:00
Taus
a55b43b67e
Python: Use LocalSourceNode throughout step
...
This commit does a lot of stuff all at once, so here are the main
highlights:
In `TypeTracker.qll`, we change `StepSummary::step` to step only between
source nodes. Because reads and writes of global variables happen in two
different (jump) steps, this requires the intermediate
`ModuleVariableNode` to _also_ be a `LocalSourceNode`, and we therefore
modify the charpred for that class accordingly. (This also means
changing a few of the tests to account for these new source nodes.)
In addition, we change `TypeTracker::step` to likewise step between
local source nodes.
Next, to enable the use of the `track` convenience method on nodes, we
add some pragmas to `TypeTracker::step` that prevent bad joins from
occurring. With this, we can eliminate all of the manual type tracker
join predicates.
Next, we observe that because `StepSummary::step` now uses `flowsTo`, it
automatically encapsulates all local-flow steps. In particular this
means we do not have to use `typePreservingStep` in `smallstep`, but can
use `jumpStep` directly. A similar observation applies to
`TypeTracker::smallstep`.
Having done this, we no longer need `typePreservingStep`, so we get rid
of it.
2021-04-20 12:59:33 +00:00
Taus
31bd701bd5
Python: Final LocalSourceNode fixes
2021-04-20 12:59:33 +00:00
Chris Smowton
9bfb0d93ca
Autoformat QL
2021-04-20 13:59:09 +01:00
Rasmus Wriedt Larsen
897105de02
Merge pull request #5717 from tausbn/python-use-api-graphs-in-django
...
Python: Use API graphs in Django model
2021-04-20 14:57:55 +02:00
thank_you
7773c53124
Replace any(string) with _ wildcard
2021-04-20 08:49:08 -04:00
thank_you
bbd3552392
Rename predicate to getQuery
2021-04-20 08:47:37 -04:00
Erik Krogh Kristensen
19c5889775
use mayHaveBooleanValue
2021-04-20 14:39:54 +02:00
Erik Krogh Kristensen
13d915927b
add change note
2021-04-20 14:39:54 +02:00
Erik Krogh Kristensen
7046f1a902
add taint-step for markdown-it when the HTML flag is set
2021-04-20 14:39:54 +02:00
Taus
76700d17d6
Merge pull request #5684 from RasmusWL/flask-more-taint-tests
...
Python: Add taint tests for .get() in flask
2021-04-20 14:08:08 +02:00
Asger Feldthaus
f8d428cb2d
JS: Use function-forwarding steps when tracking rate limiters
2021-04-20 13:00:42 +01:00
Mathias Vorreiter Pedersen
93e55e2631
C++: Fix FP in cpp/return-stack-allocated-memory.
2021-04-20 13:58:12 +02:00
Mathias Vorreiter Pedersen
1797b6c7f9
C++: Add FP test from the work on smart pointers in dataflow.
2021-04-20 13:54:57 +02:00
Asger Feldthaus
581f4ed757
JS: Generalize handling of route handler wrapper functions
2021-04-20 12:46:40 +01:00
Chris Smowton
0ec3ee29e4
Style last use of SecureASTCustomizer
2021-04-20 12:44:49 +01:00
Hayk Andriasyan
bb58a50503
Update GroovyInjection.qhelp
2021-04-20 15:41:58 +04:00
p0wn4j
f2de440886
[Java] CWE-094: Query to detect Groovy Code Injections
2021-04-20 19:18:24 +04:00
Arthur Baars
122315db3f
Remove 'Method' class
2021-04-20 13:41:11 +02:00
haby0
3e376f95c4
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:36:16 +08:00
haby0
b1ee864ad9
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:35:52 +08:00
haby0
9e87f4ec4e
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:35:34 +08:00
haby0
408dd31d3c
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:34:37 +08:00
haby0
9ece4dac0f
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:33:47 +08:00
haby0
d82878ac3b
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:33:06 +08:00
haby0
0b1637a409
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:32:39 +08:00
haby0
b60bffaf83
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-20 19:31:59 +08:00
Jonas Jensen
d4fdd50e2c
Merge pull request #5723 from MathiasVP/cleanup-smart-ptr-model
...
C++: Simplify smart pointer model
2021-04-20 13:25:02 +02:00
Tom Hvitved
dd1bb18938
C#: Various data-flow performance tweaks
...
- Cache `DataFlowCall::getEnclosingCallable()`.
- Cache `ParameterNode`.
- Cache `ArgumentNode`.
- Force proper join-orders for uses of `getNodeType()`.
- Inline `localFlow` to prevent calculating full TC.
2021-04-20 11:56:25 +02:00
Tom Hvitved
1f9239089f
Merge pull request #5695 from hvitved/csharp/dispose-not-called-on-exc-perf
...
C#: Improve performance of `DisposeNotCalledOnException.ql`
2021-04-20 11:52:18 +02:00
Tom Hvitved
b2a7a3ed30
Merge pull request #5674 from hvitved/csharp/ssa/call-graph-perf
...
C#: Improve performance of `SsaImpl::CallGraph::SimpleDelegateAnalysis`
2021-04-20 11:51:52 +02:00
Geoffrey White
2b7e599dc4
Merge pull request #5703 from MathiasVP/improve-access-of-memory-location-after-end-of-buffer-using-strncat
...
C++: Improve cpp/access-memory-location-after-end-buffer-strncat
2021-04-20 10:44:24 +01:00
Alex Ford
28e46c8915
add FLinesOfCode.ql metric query
2021-04-20 10:12:52 +01:00
Mathias Vorreiter Pedersen
61d4d17225
C++: Simplify smart pointer model and accept test changes.
2021-04-20 09:57:58 +02:00
Tamás Vajk
408954e4d8
C#: Add Dapper to supported frameworks
2021-04-20 09:30:47 +02:00
haby0
0053158884
update qhelp file and ql comments
2021-04-20 10:58:54 +08:00
thank_you
c5fbbc0551
Refactor SqlAlchemy model
...
- Replaced classes that look for SqlAlchemy instances with predicates
- General clean-up of code
2021-04-19 18:56:00 -04:00
yo-h
87cd72496c
Java: add extractor diagnostic queries
2021-04-19 15:34:16 -04:00
yo-h
cb524b6c19
Merge pull request #5611 from github/yo-h/java16
...
Java: adjust test `options` for JDK 16 upgrade
2021-04-19 15:12:23 -04:00
Taus
bc6685aa3f
Python: Fix typo
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-19 19:57:35 +02:00
Alex Ford
7bfc61789d
line count MetricFile predicates
2021-04-19 18:08:01 +01:00
Alex Ford
62bf58b289
WIP: populate numlines table
2021-04-19 18:06:35 +01:00
Anders Schack-Mulligen
5458c02cc2
Merge pull request #5456 from aschackmull/java/adopt-flow-summary
...
Java: Use shared flow summary library for CSV models.
2021-04-19 16:21:10 +02:00
Anders Schack-Mulligen
33db0c13cd
Merge pull request #5689 from github/aeisenberg/rework-staleness
...
Actions: Change staleness calculation
2021-04-19 15:57:41 +02:00
Tom Hvitved
9128ec72ad
C#: A few minor SSA performance tweaks
2021-04-19 15:51:14 +02:00
Anders Schack-Mulligen
80eb0a2df6
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-19 15:45:58 +02:00
CodeQL CI
437bba1e3c
Merge pull request #5716 from erik-krogh/vscodeRegress
...
Approved by esbena
2021-04-19 06:30:02 -07:00
Tom Hvitved
15e4b7f95d
C#: Remove CP from HardcodedCredentials::getCredentialSink
2021-04-19 15:03:11 +02:00
haby0
0159956fa5
Fix Modify the ql query (the qhelp part is not modified).
2021-04-19 21:03:01 +08:00
Rasmus Wriedt Larsen
d607c13ab6
Python: Taint tests: include elment for forgotten MISSING
2021-04-19 15:01:42 +02:00
haby0
8296abcea8
Fix Modify the ql query (the qhelp part is not modified).
2021-04-19 20:59:47 +08:00
Rasmus Wriedt Larsen
9585390941
Python: Taint tests, report error location first
...
To better match the standard output from inline expectation tests
2021-04-19 14:59:47 +02:00
Rasmus Wriedt Larsen
b2cb284ff2
Python: Add more examples of what is ok with new taint tests
2021-04-19 14:56:20 +02:00
Anders Schack-Mulligen
7d84cfacef
Java: Add MapKeyContent and MapValueContent.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
39862740e0
Java: Convert support for fluent interfaces.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
579c955892
Java: Adjust some tests.
2021-04-19 14:06:27 +02:00
Anders Schack-Mulligen
175c71221a
Java: Adjust some test output with more edges/nodes.
2021-04-19 14:06:27 +02:00
haby0
23b508c5e7
Merge remote-tracking branch 'upstream/main' into UseOfLessTrustedSource
2021-04-19 20:05:49 +08:00
Anders Schack-Mulligen
60965b0d8c
Java: Adjust some csv models.
2021-04-19 14:02:19 +02:00
Anders Schack-Mulligen
a27dac029f
Java: Use shared flow summary library for csv models.
2021-04-19 14:02:19 +02:00
Chris Smowton
36abf8733e
Merge pull request #5714 from aschackmull/java/add-misc-qltests
...
Java: Add a few qltests
2021-04-19 13:00:10 +01:00
Taus
9acc71a7cb
Python: Get rid of all _attr methods in Django.qll
2021-04-19 11:54:10 +00:00
Erik Krogh Kristensen
9e6f28e335
fix bad join order in Xss.qll
2021-04-19 13:17:49 +02:00
Anders Schack-Mulligen
29aec0d770
Java: Adjust expected output.
2021-04-19 13:16:46 +02:00
Anders Schack-Mulligen
c5193cf03f
Apply suggestions from code review
2021-04-19 13:14:56 +02:00
Anders Schack-Mulligen
06514159be
Java: Add XXE tests.
2021-04-19 10:58:21 +02:00
Anders Schack-Mulligen
daad62c4e0
Java: Add TaintedPath test.
2021-04-19 10:07:03 +02:00
Jonas Jensen
1ab75eb6f4
Merge pull request #5708 from github/fix-id-in-JsonpInjection-1
...
Java: Fix id in experimental JsonpInjection.ql query
2021-04-19 08:23:34 +02:00
yoff
118840dad4
Merge pull request #5690 from tausbn/python-disallow-post-update-nodes-as-local-source-nodes
...
Python: Disallow `PostUpdateNode` as `LocalSourceNode`
2021-04-19 06:56:11 +02:00
ihsinme
c2d97b98e2
Merge branch 'main' into ihsinme-patch-259
2021-04-18 21:01:56 +03:00
Mathias Vorreiter Pedersen
e36b42a03f
Java: Fix invalid id in experimental query
...
The invalid id broke CI here: https://github.com/github/codeql/pull/5703 (see https://github.slack.com/archives/CPSEA0G22/p1618602834224600 )
2021-04-17 09:47:15 +02:00
edvraa
29e320627f
Regex injection
2021-04-16 23:29:08 +03:00
Taus
f3661c34ee
Python: Clean up Django models using API graphs
...
First sweep. Takes care of most of the models.
2021-04-16 19:53:36 +00:00
Mathias Vorreiter Pedersen
95742aec69
C++: Accept test changes for the other experimental query in the directory. This is only a change in line numbers.
2021-04-16 21:29:17 +02:00
Mathias Vorreiter Pedersen
64f8316a6d
C++: Tidy up the ql file and accept test changes.
2021-04-16 21:22:13 +02:00
Mathias Vorreiter Pedersen
1e327289b2
C++: Add false negative test.
2021-04-16 18:38:51 +02:00
Mathias Vorreiter Pedersen
50abb6e3a1
C++: Cleanup test.c
2021-04-16 17:32:44 +02:00
Shati Patel
5c2bf68a05
Merge pull request #5692 from tamasvajk/feature/doc-cs9
...
Update supported C#/.NET versions
2021-04-16 16:22:06 +01:00
Jonas Jensen
f8d45f04ed
Revert "Revert "C++: Work around extractor issue CPP-383""
...
**Revert the revert** of the workaround for CFG issues when a
`FunctionCall` has a `getTarget` that does not exist. While we've fixed
the main cause of the problem, it can apparently still happen in rare
cases as a result of extractor crashes.
This reverts commit ee5eaef5e4 .
2021-04-16 16:44:58 +02:00
Arthur Baars
bf4f91e038
Address comments
2021-04-16 16:37:42 +02:00
edvraa
c3deb48efa
Charpred for InstanceMethodSink
2021-04-16 17:19:42 +03:00
Tom Hvitved
40b74167e0
C#: Improve performance of DisposeNotCalledOnException.ql
2021-04-16 14:34:16 +02:00
Rasmus Wriedt Larsen
3c8ea167c4
Merge pull request #5668 from tausbn/python-use-api-graphs-in-fabric
...
Python: Use API graphs in Fabric model
2021-04-16 14:27:55 +02:00
Rasmus Wriedt Larsen
6ed1016bb8
Merge pull request #5669 from tausbn/python-use-api-graphs-for-invoke
...
Python: Use API graphs for Invoke
2021-04-16 14:27:19 +02:00
Taus
92b4eb7f02
Python: Cleanup and more explanation
...
Goes into some detail about the intended semantics of local source nodes
and `flowsTo`.
2021-04-16 11:54:20 +00:00
Geoffrey White
e1028a2765
Merge pull request #5667 from MathiasVP/use-range-analysis-in-overflow
...
C++: Use range analysis in Overflow.qll
2021-04-16 12:00:28 +01:00
Taus
5c79ad2412
Python: Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-16 11:38:29 +02:00
Taus
af0c32c01d
Python: Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-16 11:35:12 +02:00
Anders Schack-Mulligen
605f28f741
Merge pull request #5686 from smowton/haby0/JsonHijacking
...
Java: JSONP Injection w/cleanups
2021-04-16 11:09:17 +02:00
Arthur Baars
07726fd979
Add some module and method tests
2021-04-16 11:07:57 +02:00
Tom Hvitved
946fcf1c82
C#: Speedup DispatchMethodOrAccessorCall::getAViableOverrider()
...
In addition to improved performance, the analysis no longer applies a closed-world
assumption to type parameters. That is, if the type of a receiver is a type parameter,
then the call may target any method of a compatible receiver type, not just the
types that actually instantiate the type parameter.
2021-04-16 10:43:17 +02:00
Tamas Vajk
b0975bb3ea
Update supported C#/.NET versions
2021-04-16 09:15:43 +02:00
Rasmus Lerchedahl Petersen
a8280f9b12
Python: update test expectation
2021-04-16 08:25:29 +02:00
Rasmus Lerchedahl Petersen
0678745677
Python: refactor based on review suggestion
2021-04-16 08:22:00 +02:00
Rasmus Lerchedahl Petersen
341dbcef2e
Python: simplify code following review suggestion
...
also standardise on camelCase.
2021-04-16 07:41:00 +02:00
Rasmus Lerchedahl Petersen
8aa6b1a87c
Python: use standard tracking construction
2021-04-16 07:36:04 +02:00
Taus
451d36dc97
Python: Allow _some_ PostUpdateNodes
...
Specifically, allow the ones arising from calls, but not reads or
writes. This should fix the tests.
2021-04-15 21:26:12 +00:00
edvraa
a412581556
reintroduce UnsafeDeserializer
2021-04-15 22:32:42 +03:00
thank_you
a854fb8f8b
Add documentation and refactor code
2021-04-15 15:22:15 -04:00
edvraa
3aedd2c1f4
Use TaintTracking2
2021-04-15 22:12:01 +03:00
Taus
c9c8259ed0
Python: Disallow PostUpdateNode as LocalSourceNode
...
Previously, in cases like
```python
def foo(x):
x.bar()
x.baz()
x.quux()
```
we would have flow from the first `x` to each use _and_ flow from the
post-update node for each method call to each subsequent use, and all
of these would be `LocalSourceNode`s. For large functions with the above
pattern, this would lead to a quadratic blowup in `hasLocalSource`.
With this commit, only the first of these will count as a
`LocalSourceNode`, and the blowup disappears.
2021-04-15 17:56:14 +00:00
Andrew Eisenberg
5d827b6fc8
Actions: Change staleness calculation
...
Calculate staleness on issues that have the
`Stale` label. Leave all other issues untouched.
2021-04-15 10:14:13 -07:00
Rasmus Wriedt Larsen
3e7dc12246
Python: Port taint tests to use inline expectations
...
The meat of this PR is described in the new python/ql/test/experimental/meta/InlineTaintTest.qll file:
> Defines a InlineExpectationsTest for checking whether any arguments in
> `ensure_tainted` and `ensure_not_tainted` calls are tainted.
>
> Also defines query predicates to ensure that:
> - if any arguments to `ensure_not_tainted` are tainted, their annotation is marked with `SPURIOUS`.
> - if any arguments to `ensure_tainted` are not tainted, their annotation is marked with `MISSING`.
>
> The functionality of this module is tested in `ql/test/experimental/meta/inline-taint-test-demo`.
2021-04-15 18:00:33 +02:00
Chris Smowton
c37994089c
Revert changes to unrelated query
2021-04-15 16:24:29 +01:00
Chris Smowton
254de76078
Remove unnecessary stubs
2021-04-15 16:20:27 +01:00
haby0
dedf765542
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-15 22:59:22 +08:00
Rasmus Lerchedahl Petersen
42ae5f4f7d
Python: support / from the right
...
Will also support both operands being paths
2021-04-15 16:07:35 +02:00
edvraa
773556e5e0
Use hasFlow where path is not needed
2021-04-15 16:27:09 +03:00
edvraa
1581a27d3d
Simplify getTarget check
2021-04-15 16:24:36 +03:00
Rasmus Wriedt Larsen
b359205d17
Python: Add taint tests for .get() in flask
2021-04-15 14:53:44 +02:00
CodeQL CI
578ce1e512
Merge pull request #5683 from asgerf/js/typescript-template-literal-type-crash
...
Approved by erik-krogh
2021-04-15 05:11:11 -07:00
Mathias Vorreiter Pedersen
7fbc62358e
C++: Accept test changes after making the exprMightOverFlow predicates more sound.
2021-04-15 13:57:44 +02:00
haby0
0e183ab4a4
Finish comment
2021-04-15 19:49:06 +08:00
Chris Smowton
fa36ba901a
Merge pull request #5471 from artem-smotrakov/el-injection
...
Java: Query for detecting Jakarta Expression Language injections
2021-04-15 12:39:34 +01:00
haby0
d269a7e717
CWE-598 reduction
2021-04-15 19:33:15 +08:00
haby0
216f204438
delete FilterClass
2021-04-15 19:28:25 +08:00
haby0
583d0889e2
delete tomcat-embed-core stub, update the ServletGetMethod class
2021-04-15 17:40:51 +08:00
Arthur Baars
bf556a2b53
Implement method lookup
2021-04-15 11:32:43 +02:00
Arthur Baars
5837af0936
Add MethodBase::getMethod
2021-04-15 11:32:43 +02:00
Arthur Baars
d361ef37af
Rename Method -> MethodDeclaration
2021-04-15 11:32:43 +02:00
Arthur Baars
3590a2c2ac
Merge pull request #164 from github/aibaars/fix-modules
...
Improve module/class resolution
2021-04-15 11:32:28 +02:00
haby0
5d05e4d224
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-15 17:28:53 +08:00
Tom Hvitved
0f24db8759
C#: Improve performance of SsaImpl::CallGraph::SimpleDelegateAnalysis
2021-04-15 11:25:27 +02:00
Asger Feldthaus
f8570bb293
JS: Update TRAP
2021-04-15 10:16:46 +01:00
Rasmus Lerchedahl Petersen
d361d999b7
Python: add some path returning functions
...
that were only listed as file sytem accesses.
2021-04-15 10:55:09 +02:00
Rasmus Lerchedahl Petersen
02e41d8018
Python: update annotations
...
This because `resolve` accesses the file system,
I am open to not include that fact in the modelling.
2021-04-15 10:49:22 +02:00
Rasmus Lerchedahl Petersen
3eb1813584
Python: update test expectations
2021-04-15 10:47:49 +02:00
Asger Feldthaus
cb736c8c82
JS: Change note
2021-04-15 09:37:57 +01:00
Tom Hvitved
972cc47f67
Merge pull request #5673 from hvitved/csharp/customizations
...
C#: Add `Customizations.qll`
2021-04-15 10:24:29 +02:00
Asger Feldthaus
b4a2a9db25
JS: Fix extraction of non-substitution template literal types
2021-04-15 09:23:45 +01:00
Chris Smowton
bd3b3178ba
Fix documentation of Modifier.qll
2021-04-15 09:16:51 +01:00
Rasmus Lerchedahl Petersen
c9b2c7885e
Python: add changenote
2021-04-15 10:14:35 +02:00
Rasmus Lerchedahl Petersen
52a9040d73
Python update tests
2021-04-15 09:46:53 +02:00
Rasmus Lerchedahl Petersen
2387dc640c
Python: Attempts at modelling pathlib-Paths
2021-04-15 09:40:23 +02:00
Rasmus Lerchedahl Petersen
8489403051
Python: Add some tests for pathlib
2021-04-15 09:40:23 +02:00
haby0
b3bdf89fc2
rm VerificationMethodFlowConfig, use springframework-5.2.3 stub
2021-04-15 10:25:40 +08:00
Thank You
f1e71e21ed
Add SqlAlchemy module
2021-04-14 22:00:25 -04:00
CodeQL CI
4be183c7f6
Merge pull request #5675 from erik-krogh/libXss
...
Approved by esbena
2021-04-14 14:34:23 -07:00
edvraa
b027fddc7e
Remove redundant check
2021-04-15 00:14:09 +03:00
edvraa
3a9d1f46fd
Hide implementation details
2021-04-15 00:09:19 +03:00
edvraa
a4fd70aa3d
Use don't care expression
2021-04-14 23:35:38 +03:00
ihsinme
b30ae3980c
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-14 20:48:20 +03:00
Robert Marsh
fe57876fd8
Merge pull request #5643 from dbartol/smart-pointers/side-effect-refactor
...
C++: Refactor some side effect generation code
2021-04-14 09:59:41 -07:00
Taus
897d12420b
Python: Prevent bad join in isinstanceEvaluatesTo
...
In some cases, we were joining the result of `val.getClass()` against
the first argument of `Types::improperSubclass` before filtering out the
vast majority of tuples by the call to `isinstance_call`.
To fix this, we let `isinstance_call` take care of figuring out the
class of the value being tested. As a bonus, this cleans up the only
other place where `isinstance_call` is used, where we _also_ want to
know the class of the value being tested in the `isinstance` call.
2021-04-14 16:49:12 +00:00
Artem Smotrakov
97186b3d30
Added comments for tests
2021-04-14 19:30:58 +03:00
Andrew Eisenberg
56ba0f080a
Merge pull request #5659 from github/aeisenberg/mark-as-stale
...
Actions: Add workflow for marking stale questions
2021-04-14 08:37:55 -07:00
Taus
a7fcf52267
Python: Fix bad join in total_cost
...
The recent change to `appliesTo` lead to a perturbation in the join
order of this predicate, which resulted in a cartesian product between
`call` and `ctx` being created (before being filtered by `appliesTo`).
By splitting the intermediate result into its own helper predicate,
suitably marked to prevent inlining/magic, we prevent this from
happening again.
2021-04-14 15:36:01 +00:00
Andrew Eisenberg
392adf2a25
Workflows: Remove dry-run flag for labeller
2021-04-14 08:25:34 -07:00
Dave Bartolomeo
b29f35f564
Fix formatting
2021-04-14 11:15:16 -04:00
Arthur Baars
24bb11b20a
Improve module/class resolution
2021-04-14 17:14:38 +02:00
Arthur Baars
12ee957331
Add test cases
2021-04-14 17:12:39 +02:00
Arthur Baars
3b73d41cc4
Merge pull request #163 from github/aibaars/modules-2
...
Ignore include/prepend statements in blocks
2021-04-14 17:09:34 +02:00
Geoffrey White
64fed4cb10
Merge pull request #5677 from MathiasVP/fix-duplicate-ids-in-experimental
...
C++: Fix duplicate names in experimental queries
2021-04-14 15:58:49 +01:00
Mathias Vorreiter Pedersen
ed64ed3d8d
C++: Make exprMightOverflowPositively/exprMightOverFlowNegatively hold for unanalyzable expressions. This hopefully means that expressions that do not satisfy these predicates will never overflow/underflow.
2021-04-14 16:45:27 +02:00
Jonas Jensen
b4f01c9afa
Merge pull request #5578 from MathiasVP/ast-flow-smart-pointers
...
C++: AST dataflow through smart pointers
2021-04-14 16:39:05 +02:00
Mathias Vorreiter Pedersen
53a320a810
C++: Fix duplicate names.
2021-04-14 16:33:18 +02:00
Mathias Vorreiter Pedersen
bb447d7174
C++: Make sure missingGuardAgainstOverflow (and underflow) holds when range analysis fails to deduce a bound.
2021-04-14 16:30:43 +02:00
yoff
447f339857
Merge pull request #5641 from tausbn/python-use-localsourcenode-in-typetrackers
...
Python: Use API graphs in PEP249 support
2021-04-14 15:39:49 +02:00
Mathias Vorreiter Pedersen
92508beb82
Merge pull request #5600 from ihsinme/ihsinme-patch-258
...
CPP: Add query for CWE-691 Insufficient Control Flow Management When Using Bit Operations
2021-04-14 14:55:30 +02:00
Anders Schack-Mulligen
f43d427875
Merge pull request #5645 from Marcono1234/marcono1234/primary-ql-class
...
Java: Override getAPrimaryQlClass() for more classes
2021-04-14 14:51:29 +02:00
Mathias Vorreiter Pedersen
bc7cc2f7ce
C++: Remove rule that wasn't needed.
2021-04-14 14:50:27 +02:00
Mathias Vorreiter Pedersen
da36508714
Revert "C++: As response to the review comments this commit adds a reference-to-pointer state to AddressFlow. A call to an unwrapper function now adds a pointer -> reference-to-pointer transition, and a ReferenceDereference adds a reference-to-pointer -> pointer transition."
...
This reverts commit 5aeaab7c6d .
2021-04-14 14:41:22 +02:00
Chris Smowton
591ac38c31
Merge pull request #5591 from Marcono1234/marcono1234/member-nested-type
...
Java: Add MemberType
2021-04-14 12:29:54 +01:00
Taus
54c79bff74
Merge pull request #5666 from RasmusWL/django-refactor
...
Python: Refactoring and exposing of Django views/fields/forms
2021-04-14 13:07:20 +02:00
Mathias Vorreiter Pedersen
2e40d01397
Update cpp/ql/src/semmle/code/cpp/security/Overflow.qll
...
Co-authored-by: Geoffrey White <40627776+geoffw0@users.noreply.github.com >
2021-04-14 13:01:31 +02:00
Rasmus Wriedt Larsen
44d2bf42d7
Merge pull request #5671 from tausbn/python-use-api-graphs-in-werkzeug
...
Python: Use API graphs in Werkzeug
2021-04-14 12:57:58 +02:00
Erik Krogh Kristensen
fd23e0bdda
use more API nodes in XmlParsers, and recognize more results from parsing XML
2021-04-14 11:48:31 +02:00
Anders Schack-Mulligen
3b6cd0f681
Merge pull request #5661 from smowton/smowton/cleanup/call-is-exprparent
...
Make Call a subclass of ExprParent.
2021-04-14 10:49:33 +02:00
Rasmus Wriedt Larsen
9de8085571
Merge pull request #5665 from tausbn/python-use-api-graphs-in-tornado
...
Python: Tornado cleanup using API graphs
2021-04-14 10:22:21 +02:00
Rasmus Wriedt Larsen
2d0c9b6bf2
Merge pull request #5670 from tausbn/python-use-api-graphs-in-dill
...
Python: Use API graphs in Dill model
2021-04-14 10:08:02 +02:00
Rasmus Wriedt Larsen
55723618a9
Python: Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-14 10:05:50 +02:00
Arthur Baars
9afda342bc
Address comments
2021-04-14 09:57:49 +02:00
Arthur Baars
754bfdd136
Ignore include/prepend statements in blocks
...
Include and prepend statements are rarely used in block in normal code and when
used in normal code they tend to be in blocks that are passed to methods like
`module_eval` which is a builtin method that evaluates a block in the context
of some other module (typically created with Module.new). We currently don't attempt
to track such "dynamically" constructed modules, and ignoring such modules
and the `module_eval` calls on them seems fine for now.
Another, much more frequent use of include/prepend statements in blocks is in Rspec.describe and
Rspec.context method calls in tests. Rspec also evaluates those blocks in the context of some
special Rspec class. Precisely tracking such calls during the initial construction of the module/class
hierarchy would be really hard and there would be little benefit because the interesting modules and classes of
an application are not defined in test files.
2021-04-14 09:53:19 +02:00
Arthur Baars
280fe73063
Add test case with 'module_eval' call with block containing 'prepend' statement
2021-04-14 09:53:19 +02:00
Chris Smowton
2965a1f204
Use Thread$State as an inner-class example
...
Map<>$Entry currently has odd generic notation that may be about to change.
2021-04-14 08:43:05 +01:00
Chris Smowton
5158e7964e
Add change note
2021-04-14 08:25:12 +01:00
Tom Hvitved
36fe72246b
C#: Add change note
2021-04-14 09:22:16 +02:00
Tom Hvitved
4810308b16
C#: Add Customizations.qll
2021-04-14 09:16:31 +02:00
haby0
77208bcc91
Fix the error that there is no VerificationMethodToIfFlowConfig
2021-04-14 13:14:43 +08:00
haby0
e2ed0d02b0
Delete existsFilterVerificationMethod and existsServletVerificationMethod, add from get handler to filter
2021-04-14 12:34:52 +08:00
haby0
37dae67a0d
Fix RequestResponseFlowConfig.isSink error
2021-04-14 09:55:24 +08:00
Robert Marsh
419d25cbcf
Merge pull request #5325 from ihsinme/ihsinme-patch-245
...
CPP: Add query for CWE-783 Operator Precedence Logic Error When Use Bool Type
2021-04-13 13:24:39 -07:00
Taus
981c5deb57
Merge pull request #5639 from tausbn/python-api-graphs-missing-builtins
...
Python: Add missing builtins to `API::builtin`
2021-04-13 21:27:52 +02:00
Marcono1234
d853f0c400
Java: Add MemberType
2021-04-13 18:55:20 +02:00
Taus
a6bb9ebb9f
Python: Re-introduce abstract toString
...
This seems like the easier solution in the short run.
2021-04-13 16:08:41 +00:00
Taus
079c7e089d
Python: Autoformat
2021-04-13 16:05:45 +00:00
Taus
273e8ce4ef
Python: Add change note
2021-04-13 16:04:07 +00:00
haby0
00235ed3b3
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:58:52 +08:00
haby0
25b012db48
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:58:28 +08:00
Taus
5f7d3d0d36
Python: Use API graphs in Werkzeug
2021-04-13 15:57:21 +00:00
haby0
7be45e7c5e
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:56:17 +08:00
haby0
6e73d13670
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-13 23:48:45 +08:00
Taus
2890fe6d61
Python: Use API graphs in Dill model
...
If only all rewrites were this smooth...
2021-04-13 15:26:54 +00:00
Taus
7ed09904b4
Python: Use API graphs for Invoke
...
A few stragglers remain, as they are modelling the use of decorators.
They will be dealt with at a later date.
2021-04-13 15:21:19 +00:00
Mathias Vorreiter Pedersen
aa52585120
C++: Add change-note.
2021-04-13 17:17:05 +02:00
Marcono1234
89a5acf6e8
Java: Revert overriding XMLFile.getAPrimaryQlClass()
...
Library file has to be kept in sync with the other languages, however except
cpp none of them have the getAPrimaryQlClass() predicate declared in a
superclass. Therefore for simplicity revert the change for Java.
2021-04-13 17:09:15 +02:00
Taus
7f131c1f35
Python: Get rid of _attr predicates
2021-04-13 14:55:44 +00:00
Taus
1008411594
Python: Use API graphs in Fabric model
2021-04-13 14:49:44 +00:00
Mathias Vorreiter Pedersen
d1457995dd
C++: Use range analysis in Overflow.qll
2021-04-13 16:39:28 +02:00
Geoffrey White
8daca01c87
C++: Cleaner use of DataFlow::Node in exprIsSubLeftOrLess.
2021-04-13 15:13:11 +01:00
Geoffrey White
4879104568
C++: Add more dataflow cases to replace the loss.
2021-04-13 15:09:12 +01:00
Geoffrey White
b0ad927fdd
C++: Remove useUsePair.
2021-04-13 15:03:06 +01:00
Taus
a404faa302
Python: Use American English in change note
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-04-13 15:05:44 +02:00
Taus
7825a2cdfc
Python: Add change note
2021-04-13 12:48:45 +00:00
Taus
1a4845f417
Python: Restrict types a bit
...
The `CallCfgNode` restrictions are familiar and useful.
Restricting `InstanceSource` to extend `LocalSourceNode` is novel, but I
think it makes sense. It will act as a good reminder to anyone extending
`InstanceSource` that the node in question is a `LocalSourceNode`, which
will be enforced by the return type of the internal type tracker anyway.
2021-04-13 12:28:38 +00:00
Taus
f93b68d4dc
Python: Get rid of _attr methods
2021-04-13 12:25:38 +00:00
Taus
98d936d8b3
Python: Tornado cleanup using API graphs
...
I wasn't able to roll out API graphs as widely in Tornado as I had
hoped, since we're lacking the "def" part. This means most of the
`InstanceSource` machinery will have to stay.
2021-04-13 12:25:38 +00:00
CodeQL CI
f341d5010d
Merge pull request #5662 from asgerf/js/simpler-json-api
...
Approved by erik-krogh
2021-04-13 04:37:56 -07:00
Tom Hvitved
9b0ef2fe21
Merge pull request #5654 from hvitved/csharp/autobuilder/pwsh
...
C#: First try `pwsh` and then `powershell` when calling `dotnet-install.ps1`
2021-04-13 13:15:01 +02:00
Chris Smowton
58d198261e
Merge pull request #5663 from smowton/luchua/java/sensitive-cookie-not-httponly
...
Java: CWE-1004 Query to check sensitive cookies without the HttpOnly flag set w/minor corrections
2021-04-13 12:08:53 +01:00
CodeQL CI
646639bc73
Merge pull request #5460 from erik-krogh/forgery-2
...
Approved by asgerf
2021-04-13 03:57:04 -07:00
Chris Smowton
f22b11881e
Minimise stubs
...
By removing all business logic from the stubs, we better test that our analysis treats them as opaque and does not rely on their internal structure
2021-04-13 10:36:28 +01:00
Chris Smowton
45e1a61d7b
Mark test as bad-but-missed
...
This test ought ideally to be caught, but isn't by the current version of the query.
2021-04-13 10:36:27 +01:00
Rasmus Lerchedahl Petersen
30fbb8f1e7
Python: clean up interface
2021-04-13 11:34:47 +02:00
Asger Feldthaus
e77117f902
JS: Autoformat
2021-04-13 10:29:14 +01:00
Asger Feldthaus
929d9da4b4
JS: Migrate to new JSON API
2021-04-13 10:29:13 +01:00
Asger Feldthaus
7c13163413
JS: Lift JSON accessors to JSONValue
2021-04-13 10:29:13 +01:00
Rasmus Lerchedahl Petersen
178cb6c90f
Python: Bit too eager with the modernisation...
...
Lift type restrictions to recover results.
2021-04-13 11:26:05 +02:00
Rasmus Lerchedahl Petersen
7c0b0642c8
Python: Add imports to make code compile
2021-04-13 11:09:27 +02:00
Tom Hvitved
15c103e42d
C#: Remove code duplication in BuildScripts.cs
2021-04-13 10:57:15 +02:00
Chris Smowton
dee974ff2d
Make Call a subclass of ExprParent. All of its subclasses are in any case (via Expr or Stmt)
2021-04-13 09:13:47 +01:00
Marcono1234
c37dbb2e68
Java: Override getAPrimaryQlClass() for more classes
2021-04-13 08:46:01 +01:00
Mathias Vorreiter Pedersen
3cfd30ef6f
Merge pull request #5629 from hvitved/cpp/remove-unique
...
C++: Remove `unique` wrapper from `DataFlow::Node::getEnclosingCallable`
2021-04-13 09:42:34 +02:00
haby0
be39883166
Change the class name and comment,Use .(CompileTimeConstantExpr).getStringValue()
2021-04-13 14:10:10 +08:00
Dave Bartolomeo
afd2f58f9f
C++: Fix PR feedback
2021-04-12 18:21:05 -04:00
Dave Bartolomeo
697b2dcde8
C++: Add missing store step for single-field struct use
...
We have special code to handle field flow for single-field structs, but that special case was too specific. Some `Store`s to single-field structs have no `Chi` instruction, which is the case that we handled already. However, it is possible for the `Store` to have a `Chi` instruction (e.g. for `{AllAliased}`), but still have a use of the result of the `Store` directly. We now add a `PostUpdateNode` for the result of the `Store` itself in those cases, just like we already did if the `Store` had no `Chi`.
2021-04-12 18:11:41 -04:00
Rasmus Lerchedahl Petersen
b6bd782746
Python: Modernize via CallCfgNode
2021-04-12 23:55:59 +02:00
yoff
e4d74cf098
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-12 23:47:54 +02:00
Robert Marsh
0102d68f38
Merge pull request #5658 from MathiasVP/fix-partial-def-diff-test
...
C++: Fix performance in test
2021-04-12 13:08:30 -07:00
Andrew Eisenberg
e0fcb15739
Actions: Add workflow for marking stale questions
...
This PR adds a workflow for marking and closing issues as stale. Issues must be labeled as _question_. PRs are never marked as stale.
2021-04-12 13:05:53 -07:00
Artem Smotrakov
b96b665262
Renaming in java/ql/src/experimental/Security/CWE/CWE-094
2021-04-12 21:40:49 +03:00
Mathias Vorreiter Pedersen
037e6369ce
C++: Ensure all values are bound in both disjunctions.
2021-04-12 18:27:21 +02:00
luchua-bc
d7f26dfc18
Update stub classes and qldoc
2021-04-12 16:19:23 +00:00
Taus
fda750ef26
Merge pull request #5642 from tausbn/python-use-api-graphs-in-stdlib
...
Python: Use API graphs in `Stdlib.qll`
2021-04-12 18:05:38 +02:00
Chris Smowton
423ff32d04
Merge pull request #5384 from luchua-bc/java/insecure-spring-actuator-config
...
Java: CWE-016 Query to detect insecure configuration of Spring Boot Actuator
2021-04-12 17:04:47 +01:00
Taus
6d4ddc0329
Merge pull request #5614 from tausbn/python-allow-absolute-imports-from-source-directory
...
Python: Allow absolute imports from source directory
2021-04-12 18:02:00 +02:00
CodeQL CI
bc56d16c18
Merge pull request #5485 from RasmusWL/django-queryset-chains
...
Approved by tausbn
2021-04-12 08:49:31 -07:00
Tom Hvitved
dfc91b8331
C#: Simplify dotnet-install.ps1 invocation
...
Using the pattern from https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script .
2021-04-12 17:33:33 +02:00
Chris Smowton
bb23866cec
Add missing doc comments
2021-04-12 16:33:01 +01:00
Tom Hvitved
d35a501121
Merge pull request #5583 from lcartey/cs/restrict-jump-to-def
...
C#: Exclude jump-to-def information for elements with too many locations
2021-04-12 16:52:20 +02:00
ihsinme
a43698802f
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-12 17:36:50 +03:00
CodeQL CI
310a2c8bb3
Merge pull request #5655 from erik-krogh/cert
...
Approved by esbena
2021-04-12 07:31:04 -07:00
Chris Smowton
2656a52880
Merge pull request #5538 from luchua-bc/java/credentials-in-properties
...
Java: CWE-555 Query to detect plaintext credentials in Java properties files
2021-04-12 15:22:21 +01:00
Chris Smowton
abeefcaced
Merge pull request #4947 from porcupineyhairs/DexLoading
...
Java : add query to detect insecure loading of Dex File
2021-04-12 15:22:12 +01:00
Asger Feldthaus
d2fad180f8
JS: Add test
2021-04-12 15:07:45 +01:00
Mathias Vorreiter Pedersen
5aeaab7c6d
C++: As response to the review comments this commit adds a reference-to-pointer state to AddressFlow. A call to an unwrapper function now adds a pointer -> reference-to-pointer transition, and a ReferenceDereference adds a reference-to-pointer -> pointer transition.
2021-04-12 16:01:01 +02:00
ihsinme
58d5ad48d5
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-12 17:00:34 +03:00
ihsinme
d7c14775bf
Update InsufficientControlFlowManagementAfterRefactoringTheCode.qhelp
2021-04-12 16:56:48 +03:00
Chris Smowton
11bf982728
Remove superfluous linebreaks in qhelp file
2021-04-12 14:36:42 +01:00
Asger Feldthaus
24de826133
JS: Add file diagnostics errors
2021-04-12 14:11:38 +01:00
Erik Krogh Kristensen
32737a17fb
add change note
2021-04-12 15:09:13 +02:00
Erik Krogh Kristensen
172d6139e2
support all ClientRequests in js/disabling-certificate-validation
2021-04-12 15:06:10 +02:00
luchua-bc
c281e54d22
Remove unused files and update qldoc
2021-04-12 13:05:01 +00:00
Tom Hvitved
57016ddbde
C++: Remove unique wrapper from DataFlow::Node::getEnclosingCallable()
2021-04-12 14:41:52 +02:00
Tom Hvitved
7d2a60e910
Merge pull request #5640 from hvitved/dataflow/path-step-perf
...
Data flow: Prevent bad join-order in `pathStep`
2021-04-12 14:40:46 +02:00
Tamas Vajk
b4d35b52c3
C#: Add Console.Read* to local flow sources
2021-04-12 14:19:17 +02:00
Tom Hvitved
5446532e1d
C#: Update auto-builder tests
2021-04-12 14:01:55 +02:00
Anders Schack-Mulligen
acd4cf2878
Merge pull request #5636 from aschackmull/java/shared-flow-summaries
...
Java: Adopt shared flow summaries
2021-04-12 13:35:31 +02:00
CodeQL CI
e8d835b422
Merge pull request #5638 from erik-krogh/smartInliner
...
Approved by esbena
2021-04-12 04:17:25 -07:00
Tom Hvitved
c7686b1838
C#: First try pwsh and then powershell when calling dotnet-install.ps1
2021-04-12 13:01:14 +02:00
Tom Hvitved
cf5f838b13
Data flow: Remove recommendation to use unique in Node::getEnclosingCallable()
2021-04-12 12:04:23 +02:00
Anders Schack-Mulligen
e003b04061
Merge pull request #5637 from Marcono1234/marcono1234/toString-method
...
Java: Add ToStringMethod
2021-04-12 11:43:55 +02:00
Max Schaefer
cd57e61f65
Rename MkHasUnderlyingType to MkTypeUse.
2021-04-12 11:30:15 +02:00
Erik Krogh Kristensen
91d28fb8b0
cleanup in API-graphs
2021-04-12 11:30:15 +02:00
CodeQL CI
63f087a8e9
Merge pull request #5653 from erik-krogh/givenCommand
...
Approved by asgerf
2021-04-12 02:01:32 -07:00
Rasmus Wriedt Larsen
364d48948f
Merge pull request #3810 from dilanbhalla/syntaxpython
...
Python: Function/Class Naming Convention (Syntax)
2021-04-12 10:42:17 +02:00
Rasmus Lerchedahl Petersen
3ff8e010b2
Python: Refactor based on review
...
- more natural handling of default arguments
- do not assume default construction gives a family
- simplifies `UnspecificSSLContextCreation`
2021-04-12 10:00:07 +02:00
Rasmus Lerchedahl Petersen
9f91dde76f
Python: Update test expectation after comment
2021-04-12 09:58:06 +02:00
Erik Krogh Kristensen
17c4bbbc4e
allow parameters that end with "Command" in js/shell-command-constructed-from-input
2021-04-12 09:57:40 +02:00
haby0
1b948ac2e2
Combine two Configurations into one
2021-04-12 15:44:39 +08:00
Rasmus Lerchedahl Petersen
036fddfdb5
Python: Namable -> Nameable
2021-04-12 08:18:24 +02:00
yoff
02d6de81a7
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-04-12 08:16:36 +02:00
ihsinme
feb3a8deb1
Update InsufficientControlFlowManagementAfterRefactoringTheCode.expected
2021-04-12 08:23:41 +03:00
ihsinme
6924c6c51c
Update test.c
2021-04-12 08:23:06 +03:00
ihsinme
3da88f2103
Update InsufficientControlFlowManagementAfterRefactoringTheCode.c
2021-04-12 08:15:36 +03:00
ihsinme
17d1c77a14
Update InsufficientControlFlowManagementAfterRefactoringTheCode.ql
2021-04-12 08:14:17 +03:00
yo-h
4f2060f96b
Merge commit '2d618d6b928d8b76ac8033b3b63d9bde71caa325' into yo-h/java16
2021-04-11 23:55:33 -04:00
Taus
10be2735ec
Python: Get rid of _attr predicates
...
Also changes all `CfgNode`s representing calls to `CallCfgNode`s.
2021-04-10 12:12:18 +00:00
intrigus
8d11bc97ca
[Java] Add "missing jwt signature check" qhelp.
2021-04-10 13:36:22 +02:00
haby0
d90527bead
JsonpInjectionExpr updated to JsonpBuilderExpr
2021-04-10 10:33:21 +08:00
Marcono1234
9349e6922d
Java: Add ToStringMethod
2021-04-10 04:00:44 +02:00
haby0
eeae91e620
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:48:55 +08:00
haby0
046aeaa38c
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:37:29 +08:00
haby0
8b756d7f1b
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:27:03 +08:00
haby0
650446f761
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:26:32 +08:00
haby0
a5ebe8c600
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 09:26:08 +08:00
porcupineyhairs
8687c5c145
Apply suggestions from code review
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:18:35 +05:30
haby0
8a7d28a2ed
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:49 +08:00
haby0
4c21980d4f
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:30 +08:00
haby0
9635a36044
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.ql
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:29:06 +08:00
haby0
760231c004
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:28:17 +08:00
jorgectf
5d25a27d62
Add .expected
2021-04-09 22:28:03 +02:00
jorgectf
4615927eeb
Fix flask_mongoengine Call
2021-04-09 22:27:53 +02:00
haby0
c77c7b0a98
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:27:16 +08:00
haby0
837f20108d
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjectionLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:25:43 +08:00
haby0
157e4670fd
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:25:11 +08:00
haby0
79c1374925
Update java/ql/src/semmle/code/java/frameworks/Servlets.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:24:49 +08:00
haby0
1510048f7a
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:23:13 +08:00
haby0
d8165145c7
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:22:44 +08:00
haby0
ebd38eaf3b
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:22:08 +08:00
haby0
b8c11503f0
Update java/ql/src/experimental/Security/CWE/CWE-352/JsonpInjection.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-10 04:21:49 +08:00
Dave Bartolomeo
0a86642056
C++: Refactor some side effect generation code
...
This change was necessary for my upcoming changes to introduce side effect instructions for indirections of smart pointers. The code to decide which parameters have which side effects appeared in both the IPA constructor for `TTranslatedSideEffect` and in `TranslatedCall`. These two versions didn't quite agree, especially once the `SideEffectFunction` model provides its own side effects instead of the defaults.
The relevant code has now been factored out into `SideEffects.qll`. This queries the model if one exists, and provides default side effects if no model exists. This fixes at least one existing issue, where we were emitting a buffer read side effect for `*this` instead of an indirect read side effect. This accounts for all of the IR diffs in the tests.
2021-04-09 16:14:03 -04:00
jorgectf
166385755a
Polish Calls naming
2021-04-09 21:49:41 +02:00
luchua-bc
4e3791dc0d
Remove LoadCredentialsConfiguration and update qldoc
2021-04-09 19:36:35 +00:00
jorgectf
208b53e4d2
Polish query file
2021-04-09 21:36:21 +02:00
jorgectf
983af32ab5
Polish qhelp examples
2021-04-09 21:36:11 +02:00
jorgectf
fa5869afe7
Polish qhelp and examples
2021-04-09 21:31:45 +02:00
jorgectf
a6b3aefb0b
Add flask_mongoengine sink
2021-04-09 21:30:17 +02:00
jorgectf
0e51dbec86
Polish tests
2021-04-09 21:29:56 +02:00
Taus
720fbaf301
Python: Fix test error.
...
Somehow, having to type "Node" all day long made me turn "json" into
"node"...
Also removes some bits that weren't needed after all.
2021-04-09 19:04:49 +00:00
Mathias Vorreiter Pedersen
1510fe370d
C++: Add cases for const pointer wrapper references to AddressFlow and FlowVar.
2021-04-09 20:58:05 +02:00
Arthur Baars
caef2c36c7
Merge pull request #162 from github/aibaars/modules
...
Basic implementation of module resolution
2021-04-09 20:50:54 +02:00
Mathias Vorreiter Pedersen
2329b31601
C++: Replace the new SmartPointerPartialDefinition with additional steps in AddressFlow.qll
2021-04-09 20:49:45 +02:00
Mathias Vorreiter Pedersen
a460e3ad3d
Merge branch 'main' into ast-flow-smart-pointers
2021-04-09 19:41:10 +02:00
Geoffrey White
40637c18ce
C++: Add change note.
2021-04-09 18:14:12 +01:00
Geoffrey White
0818c1d703
C++: Update QLDoc.
2021-04-09 18:11:48 +01:00
Taus
cc4827600b
Python: Use API graphs in Stdlib.qll
...
Eliminates _almost_ all of the bespoke type trackers found here. The
ones that remain do not fit easily inside the framework of API graphs
(at least, not yet), and I did not see any easy ways to clean them up.
They have, however, been rewritten to use `LocalSourceNode` internally,
which was the primary goal of this exercise.
I'm sure we could also clean up many of the inner modules given the more
lean presentation we have now, but this can wait for a different PR.
2021-04-09 17:11:47 +00:00
luchua-bc
04b0682bbf
Use isAdditionalTaintStep and make the query more readable
2021-04-09 16:14:51 +00:00
Tom Hvitved
fd8f745468
Java: Adopt shared flow summary library and refactor data-flow nodes.
2021-04-09 16:57:03 +02:00
Arthur Baars
cdfabbc95d
Make Cached module private
2021-04-09 16:47:02 +02:00
Arthur Baars
a247544fc5
Add comments
2021-04-09 16:35:23 +02:00
Shati Patel
2d618d6b92
Merge pull request #5625 from shati-patel/docs/cli-manual
...
Docs: Link to CodeQL CLI manual from the sidebar
2021-04-09 15:30:24 +01:00
Tom Hvitved
f130616369
Data flow: Make getLocalCc private again
2021-04-09 16:22:58 +02:00
Geoffrey White
3b437fe6cf
C++: Replace GVN with some other libraries.
2021-04-09 15:21:42 +01:00
Taus
d2b874f217
Python: Use API graphs in PEP249 support
...
Because the replacement extension point now extends `API::Node`, I
modified the `toString` method of the latter to have an empty body.
The alternative would be to require everyone to provide a `toString`
predicate for their extensions, but seeing as these will usually be
pointing to already existing API graph nodes, this seems silly.
(This may be the reason why the equivalent method in the JS libs has
such an implementation.)
2021-04-09 14:19:00 +00:00
Jonas Jensen
e1d0bbb021
Merge pull request #5607 from MathiasVP/smart-pointer-ast-read-store-steps
...
C++: read and store steps for smart pointers in AST dataflow
2021-04-09 16:11:48 +02:00
CodeQL CI
6fd4a8afff
Merge pull request #5567 from asgerf/js/sql-models
...
Approved by esbena
2021-04-09 07:11:10 -07:00
CodeQL CI
be2fe6e171
Merge pull request #5630 from erik-krogh/urlStep
...
Approved by esbena
2021-04-09 07:05:43 -07:00
CodeQL CI
8d2768b2ce
Merge pull request #5634 from erik-krogh/fileSource
...
Approved by asgerf
2021-04-09 07:04:42 -07:00
Anders Schack-Mulligen
701e815368
Merge pull request #5628 from hvitved/java/remove-unique
...
Java: Remove `unique` wrapper from `DataFlow::Node::getEnclosingCallable()`
2021-04-09 15:21:26 +02:00
Mathias Vorreiter Pedersen
cd310eb9d5
C++: Remove unused import.
2021-04-09 15:08:48 +02:00
Tamás Vajk
992a4df12f
Merge pull request #5619 from tamasvajk/feature/fix-default-argument-value-extraction
...
C# Improve default argument value extraction
2021-04-09 14:58:35 +02:00
Mathias Vorreiter Pedersen
996cda9b97
C++: Fix incorrect test annotation.
2021-04-09 14:46:46 +02:00
Tom Hvitved
6874b8d4b3
Data flow: Prevent bad join-order in pathStep
2021-04-09 14:24:47 +02:00
Mathias Vorreiter Pedersen
80d5b17900
C++: Remove the dataflow rule for smart_ptr -> *smart_ptr.
2021-04-09 14:20:51 +02:00
Mathias Vorreiter Pedersen
cae0060a89
C++: Replace the new rules in DataFlowUtil with a dataflow model for pointer wrapper classes.
2021-04-09 14:06:58 +02:00
Taus
affdedd840
Python: Add missing builtins to API::builtin
...
We were missing out on `None`, `True`, and `False` as these do not
appear as actual attributes of the `builtins` module in Python 3
(because they are elevated to the status of keywords there)
The simple solution, then, is to just always include them directly.
2021-04-09 12:02:07 +00:00
Tamas Vajk
46197e6e69
Address review comments
2021-04-09 13:39:37 +02:00
Arthur Baars
7bc5be93ff
Module: make main predicates cached
2021-04-09 13:29:27 +02:00
Tamas Vajk
351f35d9bc
Revert "Java: Convert other sinks"
...
This reverts commit 87d42b02c0 .
2021-04-09 13:13:49 +02:00
Tamas Vajk
87d42b02c0
Java: Convert other sinks
2021-04-09 13:13:39 +02:00
Tamas Vajk
3e53484bb3
Java: Convert Google HTTP client API parseAs sink to CSV format
2021-04-09 13:10:44 +02:00
Tamas Vajk
e544faed6d
Java: Convert unsafe hostname verification sinks to CSV format
2021-04-09 13:10:44 +02:00
Tamas Vajk
17fd758df1
Java: Convert XSS sinks to CSV format
2021-04-09 13:10:44 +02:00
Erik Krogh Kristensen
595bdedb22
rename predicate to getStem, and update regexp
2021-04-09 13:07:54 +02:00
Tamas Vajk
0b7a6671dd
Java: Convert header splitting sinks to CSV format
2021-04-09 13:06:05 +02:00
Tamas Vajk
f329c3fdab
Java: Convert insecure bean validation sink to CSV format
2021-04-09 13:06:04 +02:00
Mathias Vorreiter Pedersen
0a6aef71a2
C++: Respond to review comments.
2021-04-09 12:29:13 +02:00
CodeQL CI
652e8b4872
Merge pull request #5586 from asgerf/js/tsconfig-file-inclusion-handling
...
Approved by esbena
2021-04-09 02:50:51 -07:00
Tamas Vajk
9e2832a82d
Java: Convert zipslip sinks to CSV format
2021-04-09 11:43:29 +02:00
Tamas Vajk
b9ce1aefc0
Java: Convert unsafe URL opening sinks to CSV format
2021-04-09 11:43:29 +02:00
Tom Hvitved
c9c4c067b6
Merge pull request #5633 from hvitved/csharp/get-a-source-type-perf
...
C#: Improve performance of `Dispatch::SimpleTypeDataFlow::getASourceType()`
2021-04-09 11:42:34 +02:00
Tamás Vajk
a335bb0115
Merge pull request #5609 from tamasvajk/feature/dapper
...
C#: Dapper support
2021-04-09 10:52:17 +02:00
CodeQL CI
ad267404c9
Merge pull request #5137 from asgerf/js/redux-less
...
Approved by erik-krogh
2021-04-09 01:24:19 -07:00
Tamas Vajk
d7f0b9a7fa
Add change note
2021-04-09 09:58:37 +02:00
Tamas Vajk
749db379ca
Address code review findings
2021-04-09 09:55:37 +02:00
Arthur Baars
2db999d0da
Improve module resolution
2021-04-09 09:51:24 +02:00
Tamas Vajk
dbb3d3dc17
Add change note
2021-04-09 09:50:55 +02:00
Tamas Vajk
53daa7c436
Java: Migrate LDAP injection sinks to CSV format
2021-04-09 09:15:47 +02:00
luchua-bc
11304b2ae1
Update qldoc and change the wrapper method implementation
2021-04-09 02:21:59 +00:00
jorgectf
1c34230efb
Fix documentation typo
2021-04-09 01:58:18 +02:00
jorgectf
f140601241
Write documentation
2021-04-09 01:57:23 +02:00
jorgectf
b020ea6e3a
Polish documentation
2021-04-09 01:50:23 +02:00
jorgectf
a2e8d88a07
Write documentation
2021-04-09 01:47:44 +02:00
jorgectf
f02c2855ad
Generate .expected
2021-04-09 01:28:38 +02:00
jorgectf
632dc61d5e
Create qlref
2021-04-09 01:28:22 +02:00
jorgectf
e9c4574552
Apply structure
2021-04-09 01:26:53 +02:00
jorgectf
789c5857fa
Create qhelp example
2021-04-09 01:26:28 +02:00
jorgectf
ce3fb6be21
Improve qhelp
2021-04-09 01:26:16 +02:00
Erik Krogh Kristensen
7f01586bf1
fix bad join order in getDocumentedParameter
2021-04-09 01:15:46 +02:00
jorgectf
b0c498629a
Init restructuring
2021-04-09 01:02:03 +02:00
jorgectf
6158dd6bce
Finish Sinks
2021-04-09 01:02:02 +02:00
jorgectf
bd894ae8b3
Fix flask test
2021-04-09 01:02:02 +02:00
jorgectf
3be916e82b
Polish FlaskHeaderCall
2021-04-09 01:02:01 +02:00
jorgectf
46c5cb1136
Polish WerkzeugHeaderCall
2021-04-09 01:02:00 +02:00
jorgectf
6f89b3f3d9
Init Header Injection query
2021-04-09 01:02:00 +02:00
jorgectf
cd75433e39
Fix qhelp examples extension
2021-04-09 00:52:50 +02:00
jorgectf
5787406a0d
Add .expected
2021-04-09 00:51:26 +02:00
jorgectf
1320eeee53
Add qlref
2021-04-09 00:51:15 +02:00
jorgectf
015d203fcb
Improve tests, move them and create qhelp examples
2021-04-09 00:50:47 +02:00
jorgectf
2392be08c7
Improve sink
2021-04-09 00:50:04 +02:00
jorgectf
20fc5db49e
Polish query file
2021-04-09 00:49:30 +02:00
jorgectf
63bd32359a
Improve qhelp
2021-04-09 00:48:57 +02:00
Erik Krogh Kristensen
e5bce548de
add nomagic on mayHaveStringValue
2021-04-09 00:08:51 +02:00
jorgectf
82f47f8571
Polish metadata
2021-04-08 23:55:34 +02:00
jorgectf
b405c675c2
Add qhelp last newline
2021-04-08 23:49:33 +02:00
jorgectf
7819d1a30b
Generate .expected
2021-04-08 23:45:26 +02:00
jorgectf
4f85de87de
Add qlref
2021-04-08 23:45:12 +02:00
jorgectf
95bfdc4955
Move tests to /test
2021-04-08 23:45:03 +02:00
jorgectf
1554f4f48d
Create qhelp examples
2021-04-08 23:44:46 +02:00
jorgectf
3c1ca72324
Improve qhelp
2021-04-08 23:44:30 +02:00
jorgectf
7296879bc9
Polish tests
2021-04-08 23:11:20 +02:00
jorgectf
8661cb0719
Polish LDAP3Query
2021-04-08 22:56:12 +02:00
jorgectf
a1850ddad4
Change LDAP config (qll) filename
2021-04-08 22:55:48 +02:00
Erik Krogh Kristensen
956311457d
fixed bad SourceNode X SourceNode join in HTTP model
2021-04-08 21:15:50 +02:00
ihsinme
9b3ccade43
Update test.c
2021-04-08 22:06:35 +03:00
ihsinme
3d117243e4
Update test.c
2021-04-08 22:05:31 +03:00
ihsinme
02eb447a35
Update InsufficientControlFlowManagementWhenUsingBitOperations.expected
2021-04-08 22:04:08 +03:00
ihsinme
a6b486a448
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-08 22:01:43 +03:00
Dilan
d73ba13b28
autoformat fix
2021-04-08 11:41:58 -07:00
Artem Smotrakov
b39a3ab12c
Added setVariable() sink
2021-04-08 20:41:43 +03:00
Tamás Vajk
8adaee05b6
Merge pull request #5453 from tamasvajk/feature/use_codeql_stubs
...
C#: Adjust make_stubs.py to use codeql instead of odasa
2021-04-08 16:16:05 +02:00
Anders Schack-Mulligen
6109ef5e88
Merge pull request #5475 from Marcono1234/marcono1234/minus-literal
...
Java: Improve documentation regarding minus in front of numeric literals
2021-04-08 16:11:14 +02:00
Asger Feldthaus
7d300b53d7
JS: Autoformat
2021-04-08 15:06:48 +01:00
Anders Schack-Mulligen
d42a01cb3a
qldoc fixup
2021-04-08 15:45:21 +02:00
Arthur Baars
ceb2eb21d8
Address comments
2021-04-08 15:11:57 +02:00
Tamas Vajk
e5160929eb
Remove ODASA reference from make_stubs.py
2021-04-08 15:04:02 +02:00
Erik Krogh Kristensen
30ba69d991
treat "files" in a package.json as main modules, if "main" is not present
2021-04-08 14:42:12 +02:00
Tom Hvitved
036e181bc1
C#: Improve performance of Dispatch::SimpleTypeDataFlow::getASourceType()
2021-04-08 14:27:28 +02:00
Tom Hvitved
716568ebd1
Merge pull request #5623 from hvitved/csharp/enclosing
...
C#: Compute enclosing callable as a transitive closure
2021-04-08 14:20:09 +02:00
Tom Hvitved
9820116734
Merge pull request #5603 from hvitved/csharp/dataflow/no-unique
...
C#: Remove `unique` wrappers from `DataFlow::Node::get(EnclosingCallable|ControlFlowNode)`
2021-04-08 14:19:34 +02:00
Asger Feldthaus
52a2260dc7
JS: Rename change note file
2021-04-08 12:52:23 +01:00
Rasmus Wriedt Larsen
c738f387b1
Merge pull request #5624 from tausbn/python-make-callcfgnode-a-localsourcenode
...
Python: Improve `CallCfgNode` interface
2021-04-08 13:38:24 +02:00
haby0
1da48ed4d1
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:22:14 +08:00
haby0
bfbfe7af13
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSource.qhelp
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:21:58 +08:00
haby0
21004006d6
Update java/ql/src/experimental/Security/CWE/CWE-348/UseOfLessTrustedSourceLib.qll
...
Co-authored-by: Chris Smowton <smowton@github.com >
2021-04-08 19:17:04 +08:00
Taus
cf5f760ecd
Merge pull request #5582 from RasmusWL/all-tuple
...
Python: Add support for `__all__` assigned to tuple
2021-04-08 13:03:27 +02:00
Rasmus Wriedt Larsen
83477439a1
Python: Make django views/fields/forms class modeling extensible
...
This also requires that we make this part of the modeling public, which I guess
is step we want to take eventually anyway!
I'm not quite sure whether the modules `Django::Views` and `Django::Forms` are
actually helpful, or whether we should just have their modules available as
`Django::View`, `Django::Form`, and `Django::Field`...
2021-04-08 12:45:37 +02:00
Rasmus Wriedt Larsen
b7483a5394
Python: Add modeledSubclassRef for Django views/fields/forms
2021-04-08 12:45:36 +02:00
Rasmus Wriedt Larsen
322bdcb703
Python: Port Django view modeling to API graphs
2021-04-08 12:45:35 +02:00
Rasmus Wriedt Larsen
8ce5c46e05
Python: Minor refactor
...
modName/clsName _is_ shorter, but also looks way worse :D
2021-04-08 12:45:34 +02:00
Tamas Vajk
a790eb8110
Fix for unconstrained generic types
2021-04-08 12:20:01 +02:00
Tamas Vajk
a8cbdc92b9
Add more test cases
2021-04-08 12:17:19 +02:00
Tamas Vajk
551a7ce9e5
Fix expression value of struct default argument values
2021-04-08 12:14:53 +02:00
Tamas Vajk
c069c3384e
Fix tests
2021-04-08 12:07:36 +02:00
Tamas Vajk
cb9a9db356
C# Improve default argument value extraction
2021-04-08 12:07:22 +02:00
Tamas Vajk
2ac1e60406
C#: Add parameter default value tests
2021-04-08 12:04:18 +02:00
haby0
86ef2588f1
Restore @Component annotation
2021-04-08 17:55:29 +08:00
Jonas Jensen
51bab81f56
Merge pull request #5622 from MathiasVP/inline-is-before
...
C++: Inline Location::isBefore
2021-04-08 11:24:33 +02:00
haby0
3f0a3266aa
[Java] CWE-348: Use of less trusted source
2021-04-08 17:14:03 +08:00
Erik Krogh Kristensen
99dd5330c2
add taint-step for URL construction in js/request-forgery
2021-04-08 11:10:33 +02:00
Geoffrey White
517fd23ca5
C++: Correct and add to test cases.
2021-04-08 09:48:38 +01:00
CodeQL CI
a9527fd913
Merge pull request #5621 from erik-krogh/shellSink
...
Approved by esbena
2021-04-08 09:47:45 +01:00
Tom Hvitved
2faf52b6bd
Java: Remove unique wrapper from DataFlow::Node::getEnclosingCallable()`
2021-04-08 10:07:19 +02:00
jorgectf
33423eaef3
Optimize calls
2021-04-08 00:31:53 +02:00
jorgectf
7e456494ef
Set up taint config and custom sink
2021-04-08 00:20:04 +02:00
jorgectf
8ca6e84268
Refactor Calls to use ApiGraphs
2021-04-08 00:19:46 +02:00
jorgectf
aa7763b3d2
Set up Concepts
2021-04-08 00:19:14 +02:00
jorgectf
db1f54a5f3
Polish query file
2021-04-08 00:19:00 +02:00
Dilan
675de07c3e
autoformat ql
2021-04-07 15:04:18 -07:00
thank_you
83f28bfdda
Catch any keyword argument passed to MongoEngine's objects method
...
After some research, we discovered that any keyword argument passed to the objects method will result in NoSQL injection. This includes scenarios where we have the following:
objects(name_of_model_attribute=unsanitized_user_input)
2021-04-07 16:45:48 -04:00
thank_you
719c30bd92
Fix file name and adjust where the test points to
2021-04-07 16:42:51 -04:00
ihsinme
ed34c96357
Update InsufficientControlFlowManagementWhenUsingBitOperations.ql
2021-04-07 21:40:49 +03:00
ihsinme
eb9b41acab
Apply suggestions from code review
...
Co-authored-by: Mathias Vorreiter Pedersen <mathiasvp@github.com >
2021-04-07 21:31:12 +03:00
Artem Smotrakov
a764a79090
Always bind arguments in TaintPropagatingCall
2021-04-07 21:12:21 +03:00
Artem Smotrakov
c13ee0859a
LambdaExpression should extend JakartaType
2021-04-07 21:02:21 +03:00
Shati Patel
4cf0b8e725
Merge pull request #5626 from shati-patel/docs/broken-links
...
Docs: Fix broken link to cached "RemoteFlowSource"
2021-04-07 19:01:33 +01:00
Artem Smotrakov
3d8e173c57
Removed a reference to Apache Commons EL
2021-04-07 20:59:07 +03:00
Artem Smotrakov
80ac2aff26
Fixed typos
...
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-04-07 20:55:03 +03:00
Shati Patel
f372274857
Docs: Fix broken links
2021-04-07 18:02:29 +01:00
Shati Patel
2373bf2dfb
Docs: Link to CodeQL CLI manual from the sidebar
2021-04-07 17:55:05 +01:00
Tom Hvitved
1cf30d2a9e
C#: Compute enclosing callable as a transitive closure
2021-04-07 17:44:41 +02:00
Arthur Baars
039e8b36a5
Add some include/prepend tests
2021-04-07 17:27:33 +02:00
Arthur Baars
84f6e902ea
AST: move some scope related methods to AstNode
2021-04-07 17:16:10 +02:00
Jonas Jensen
ab58cb3d44
Merge pull request #5604 from MathiasVP/fix-false-positive-in-assign-where-compare-meant
...
C++: Fix FP in cpp/assign-where-compare-meant
2021-04-07 16:54:45 +02:00
CodeQL CI
f0491af64c
Merge pull request #5529 from erik-krogh/socketInput
...
Approved by esbena
2021-04-07 15:03:13 +01:00
Arthur Baars
063b085078
Address comments
2021-04-07 15:57:13 +02:00
Asger F
0c724a8427
Merge pull request #5304 from asgerf/js/non-alert-data
...
JS: Implement new metric queries for line counting
2021-04-07 14:52:51 +01:00
yoff
38daeb4df2
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-07 15:50:51 +02:00
Mathias Vorreiter Pedersen
03b12dbc6d
C++: Inline Location::isBefore.
2021-04-07 15:45:08 +02:00
Erik Krogh Kristensen
365b4d722d
backtrack string-concatenations from shell-execution sinks
2021-04-07 15:34:54 +02:00
Taus
903f364dab
Python: Improve CallCfgNode interface
...
Call nodes are always local sources (specifically sources of the return
value of the call), and so inheriting from `LocalSourceNode` will have
no effect on results, but _should_ make it a bit more smooth to use the
API.
2021-04-07 13:31:12 +00:00
CodeQL CI
073a43ce74
Merge pull request #5606 from erik-krogh/shellInput
...
Approved by esbena
2021-04-07 14:30:31 +01:00
Shati Patel
461d4e45af
Merge pull request #5608 from shati-patel/docs/telemetry-settings
...
Docs: Mention telemetry in "customizing settings"
2021-04-07 13:44:32 +01:00
Erik Krogh Kristensen
c9f54ea1ad
update expected output
2021-04-07 12:37:17 +00:00
Asger Feldthaus
ee13ff71d6
JS: Add another change note
2021-04-07 12:29:06 +01:00
Asger Feldthaus
26cddc7d04
JS: Update test output
2021-04-07 12:28:45 +01:00
Taus
6c69c1aeeb
Python: Minor cleanup
2021-04-07 10:47:21 +00:00
Asger Feldthaus
69973d0fa2
JS: Autoformat
2021-04-07 11:24:11 +01:00
ihsinme
cbf158ea6b
Add files via upload
2021-04-07 13:12:30 +03:00
ihsinme
36de496d47
Add files via upload
2021-04-07 13:12:29 +03:00
ihsinme
ed2a8db8c9
Add files via upload
2021-04-07 13:10:01 +03:00
ihsinme
9c3b7e81c7
Add files via upload
2021-04-07 13:10:00 +03:00
Erik Krogh Kristensen
a66083d685
change "Uncontrolled path" to "Path concatenation"
2021-04-07 08:23:07 +00:00
CodeQL CI
fd4e8f8282
Merge pull request #5526 from erik-krogh/quotedShell
...
Approved by esbena
2021-04-07 08:39:01 +01:00
CodeQL CI
61880ba90a
Merge pull request #5530 from erik-krogh/moreFS
...
Approved by esbena
2021-04-07 08:37:23 +01:00
Rasmus Lerchedahl Petersen
a006a92f8d
Python: Expand commentary
2021-04-07 08:32:40 +02:00
Rasmus Lerchedahl Petersen
f22db2a30b
Python: One family to rule them all...
2021-04-07 08:32:21 +02:00
Rasmus Lerchedahl Petersen
a0e3e3afaf
Python: adjust test expectations
2021-04-07 08:22:36 +02:00
Rasmus Lerchedahl Petersen
fb95c488e8
Python: format
2021-04-07 08:20:52 +02:00
Robert Marsh
e22ec50dee
Merge pull request #5613 from github/hmakholm/pr/fix-redos
...
Fix ReDOS in cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql
2021-04-06 15:54:27 -07:00
Geoffrey White
a8193dac08
C++: Reintroduce the exprMightOverflowNegatively bit.
2021-04-06 22:36:59 +01:00
Geoffrey White
60e4faba4c
C++: Add linear expression logic.
2021-04-06 22:28:36 +01:00
Geoffrey White
48ff8e237c
C++: Rewrite the range analysis exclusion to be recursive and more robust.
2021-04-06 22:26:55 +01:00
Geoffrey White
3ecd13531f
C++: Improve isGuarded.
2021-04-06 22:21:59 +01:00
Geoffrey White
59ff3f315b
C++: Add test cases exploring issues and potential issues with the query (especially related to simple range analysis).
2021-04-06 22:21:25 +01:00
Rasmus Lerchedahl Petersen
094d2f3b7d
Python: clean up tests
2021-04-06 22:59:58 +02:00
Rasmus Lerchedahl Petersen
a44490b470
Python: remove unused file
2021-04-06 22:56:07 +02:00
Rasmus Lerchedahl Petersen
0626684442
Python: small cleanups enabled by review
2021-04-06 22:55:32 +02:00
yoff
acf8fd0f03
Apply suggestions from code review
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-04-06 22:45:03 +02:00
Taus
a93132daae
Merge branch 'python-allow-absolute-imports-from-source-directory' of https://github.com/tausbn/codeql into python-allow-absolute-imports-from-source-directory
2021-04-06 19:58:57 +00:00
Taus
43ae7462b4
Python: Only track modules that are imported
...
This greatly restricts the set of modules that have a new name under
this scheme.
One change to the tests was needed, which reflects the fact that the
two `main.py` files no longer have the name `main` (which makes sense,
since they're never imported under this name).
2021-04-06 21:56:12 +02:00
Taus
b44db460f6
Python: Only track modules that are imported
2021-04-06 19:55:43 +00:00
Henning Makholm
2d615ef503
Fix ReDOS in cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql
...
The sub-regex `(\s|.)*` aims to capture arbitrary string content
(in contrast to `.*` which doesn't match newlines), but it is
unsafe, since non-newline whitespace can match both alternatives.
This caused an evaluator crash in the wild.
Replace with `[\s\S]*`, which matches everything in a safe way.
2021-04-06 20:10:57 +02:00
thank_you
4e98348411
Remove comment
2021-04-06 13:57:03 -04:00
thank_you
dc274ecf36
Improve sentence structure and grammar
2021-04-06 13:51:59 -04:00
thank_you
520e65e3c3
Remove unnecessary example code
2021-04-06 13:46:51 -04:00
thank_you
ac31260fed
Made grammar changes
2021-04-06 13:42:57 -04:00
yo-h
cc63563a88
Merge remote-tracking branch 'upstream-public/main' into yo-h/java16
2021-04-06 13:16:02 -04:00
Taus Brock-Nannestad
8e11abca40
Revert "Merge pull request #5552 from RasmusWL/revert-import-change"
...
This reverts commit 49d1937dc4 , reversing
changes made to d4877a9038 .
2021-04-06 17:39:41 +02:00
Tamas Vajk
ffcb345916
C#: Add Dapper support to SQL injection queries
2021-04-06 17:06:20 +02:00
Shati Patel
9a41c80626
Merge pull request #5574 from github/smowton/admin/update-supported-go-version
...
Update supported Go version to 1.16
2021-04-06 14:54:36 +01:00
jorgectf
bfd4280d35
Fix imports and begin refactor
2021-04-06 15:51:37 +02:00
jorgectf
2f874c5c0b
Precision warn and Remove CWE (broken) reference
2021-04-06 15:47:42 +02:00
jorgectf
809bf2377e
Move to experimental folder
2021-04-06 15:47:41 +02:00
jorgectf
8715d29a44
Upload LDAP Improper authentication query, qhelp and tests
2021-04-06 15:47:41 +02:00
Arthur Baars
50b8b6b257
Also resolve constants with respect to the ancestors
...
of the enclosing module.
2021-04-06 15:47:13 +02:00
jorgectf
1bcb9cd7c0
Simplify query
2021-04-06 15:42:56 +02:00
Shati Patel
695b02a94c
Docs: Mention telemetry in "customizing settings"
2021-04-06 14:30:17 +01:00
Erik Krogh Kristensen
2c1cc9ead6
use local variable instead of module.exports in example
...
Co-authored-by: Esben Sparre Andreasen <esbena@github.com >
2021-04-06 15:17:31 +02:00
Tom Hvitved
f45916efda
Merge pull request #5605 from hvitved/csharp/exclude-dependency-queries
...
C#: Remove mentions of `exclude-dependency-queries.yml`
2021-04-06 14:58:49 +02:00
Mathias Vorreiter Pedersen
8382e85901
C++: Add flow into the source of read step and out of the target of a store step for smart pointers in AST dataflow.
2021-04-06 14:05:55 +02:00
Mathias Vorreiter Pedersen
f07d844362
C++: Add a test containing missing read/store dataflow steps for smart pointers.
2021-04-06 13:59:27 +02:00
Tamas Vajk
98001c494f
C#: Add Dapper stub and new SqlInjection test cases
2021-04-06 13:30:31 +02:00
Erik Krogh Kristensen
41b89669a9
add joined paths as a sink to js/shell-command-constructed-from-input
2021-04-06 12:14:00 +02:00
Rasmus Wriedt Larsen
bc49bc7095
Python: Add variable with underscore to __all__ tests
2021-04-06 11:54:25 +02:00
Tom Hvitved
e0e58b24ea
C#: Remove mentions of exclude-dependency-queries.yml
2021-04-06 11:50:36 +02:00
Rasmus Wriedt Larsen
224d3790b5
Python: Highlight all_indirect.py is not super important
...
At least not in my mind
2021-04-06 11:50:04 +02:00
Rasmus Wriedt Larsen
b11703cc74
Python: all_dybamic2 => all_indirect
2021-04-06 11:49:55 +02:00
Mathias Vorreiter Pedersen
5eb1f8abbd
C++: Add change-note.
2021-04-06 11:47:57 +02:00
Rasmus Wriedt Larsen
0ebb24ebeb
Merge pull request #5398 from yoff/python-api-enhancements
...
Python: Add small api enhancements determined useful during documentation work
2021-04-06 11:44:51 +02:00
Tom Hvitved
667b26b5d9
Merge pull request #5540 from hvitved/csharp/ssa-impl-tweaks
...
C#: Performance tweaks in `SsaImplCommon.qll`
2021-04-06 11:43:08 +02:00
Mathias Vorreiter Pedersen
a5f4d43d61
C++: Fix false positive by adding another allow-list pattern in AssignWhereCompareMeant.
2021-04-06 11:01:38 +02:00
Mathias Vorreiter Pedersen
7045597139
C++: Add testcase with false positive from #5318 .
2021-04-06 10:58:15 +02:00
Erik Krogh Kristensen
c194598d37
recognize headers/url from the HTTP request to a server WebSocket.
2021-04-06 10:11:27 +02:00
Tom Hvitved
e852540254
C#: Remove unique wrappers from DataFlow::Node::get(EnclosingCallable|ControlFlowNode)
2021-04-06 09:56:09 +02:00
Rasmus Lerchedahl Petersen
c777f1d8d7
Merge branch 'main' of github.com:github/codeql into python-api-enhancements
2021-04-06 09:31:26 +02:00
Mathias Vorreiter Pedersen
32a8b9a857
C++: Move copy constructor to its own line and accept test changes.
2021-04-06 08:56:14 +02:00
yoff
a23d8deb10
Merge pull request #5483 from RasmusWL/minor-fixup-django
...
Python: Better text for getSourceType in Django
2021-04-06 08:30:58 +02:00
thank_you
6ade120983
Add check for mongoengine raw queries
...
After initial research on our end, we believe that the only vulnerability within the objects() method is passing a query into the __raw__ keyword argument. More info can be found below:
http://docs.mongoengine.org/guide/querying.html?highlight=inc__#raw-queries
2021-04-05 20:44:16 -04:00
thank_you
759fa2cd01
Update query to search for more pymongo sink methods
2021-04-05 20:42:18 -04:00
thank_you
3f0c758622
Add required __raw__ keyword
...
This __raw__ keyword is required for the actual mongoengine vulnerability. More info can be found below:
http://docs.mongoengine.org/guide/querying.html?highlight=inc__#raw-queries
2021-04-05 19:07:13 -04:00
intrigus
885044e331
[Java] Add tests for jwt signature check query.
2021-04-06 01:01:57 +02:00
intrigus
b7e49c78fe
[Java] Add stubs for jwtk-jjwt-0.11.2
2021-04-06 01:01:23 +02:00
intrigus
d1462eda1c
[Java] Add "missing jwt signature check" query.
2021-04-06 00:59:31 +02:00
Your Name
80216f6974
Rename classes
2021-04-05 14:41:08 -04:00
Your Name
be9a3a95b1
Add relevant PyMongo sink methods
2021-04-05 14:23:56 -04:00
Your Name
9072d19cda
Update qhelp file
2021-04-05 13:56:43 -04:00
jorgectf
d22da880e7
Fix verifiesSignature()
2021-04-04 20:31:07 +02:00
jorgectf
198f8dcc1f
Improve predicates
2021-04-03 23:01:50 +02:00
jorgectf
7ed7809a60
Use LocalSourceNode and flowsTo() for better performance
2021-04-02 21:17:18 +02:00
jorgectf
513055cae5
Change old comments
2021-04-01 18:45:39 +02:00
jorgectf
ee70eb709c
Remove old comment
2021-04-01 18:34:54 +02:00
jorgectf
5edb3b1153
Query upload
2021-04-01 18:31:45 +02:00
Asger Feldthaus
32500c834d
JS: Change note
2021-04-01 16:41:03 +01:00
Asger Feldthaus
acc28df785
JS: Bugfix in tsconfig file inclusion handling
2021-04-01 16:33:05 +01:00
Asger Feldthaus
564a6873f8
JS: Add baseUrl test
2021-04-01 16:33:05 +01:00
Asger Feldthaus
c4ab6fb7b4
JS: Add ImportGraph meta query
2021-04-01 16:33:05 +01:00
Asger Feldthaus
f07030ba97
JS: Update AdditionalFlowStep -> SharedFlowStep
2021-04-01 13:16:47 +01:00
Asger Feldthaus
a9566728b5
JS: Update an import of Unit type
2021-04-01 13:16:47 +01:00
Asger Feldthaus
7119eda009
JS: Add redux change note
2021-04-01 13:16:47 +01:00
Asger Feldthaus
86bc0eb853
JS: Autoformat
2021-04-01 13:16:47 +01:00
Asger Feldthaus
b43989e6a1
JS: Use API nodes to track dispatch/dispatched value sources
2021-04-01 13:16:47 +01:00
Asger Feldthaus
2850b8e952
JS: Fix RangeAnalysis after BasicBlock.dominates change
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cbfa5ad303
JS: Change type of a parameter
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cee1a12489
JS: Fix typo in qldoc
2021-04-01 13:16:47 +01:00
Asger Feldthaus
c926a47d50
JS: QLDoc and test for HeuristicConnectEntryPoint
2021-04-01 13:16:47 +01:00
Asger Feldthaus
cca38a64be
JS: Add test for flow to a closure body under a type guard
2021-04-01 13:16:46 +01:00
Asger Feldthaus
53def60e4f
JS: Add test for if-based type check
2021-04-01 13:16:46 +01:00
Asger Feldthaus
1ce7c3448f
JS: Address some review comments
2021-04-01 13:16:46 +01:00
Asger Feldthaus
fd7cbd0c96
JS: Tweak BasicBlock.dominates and friends
2021-04-01 13:16:46 +01:00
Asger Feldthaus
8fa3fb0561
JS: Redux model
2021-04-01 13:16:46 +01:00
Asger Feldthaus
314839fc09
JS: Add @reduxjs/toolkit to composed functions
2021-04-01 13:16:46 +01:00
Asger Feldthaus
c1651ad30c
JS: Factor out Unit type
2021-04-01 13:16:46 +01:00
Asger Feldthaus
125d1465c8
JS: Add DataFlow::functionForwardingStep
2021-04-01 13:16:46 +01:00
Asger Feldthaus
a3421e7ab2
JS: Add getALocalUse
2021-04-01 13:16:45 +01:00
jorgectf
15e176a3b8
Polish query select
2021-04-01 13:00:12 +02:00
jorgectf
f980d0694b
Fix taint configs
2021-04-01 12:50:25 +02:00
jorgectf
c8740a2031
Update naming
2021-04-01 12:41:11 +02:00
Luke Cartey
480ce39618
C#: Exclude jump-to-def information for elements with too many locations
...
In databases which include multiple duplicated files, we can get an
explosion of definition locations that can cause this query to produce
too many results for the CodeQL toolchain. This commit restricts the
definitions.ql query to producing definition/uses for definitions with
fewer than 10 locations. This replicates the logic used in the C++
definitions.qll library which faces similar problems.
2021-04-01 11:23:31 +01:00
jorgectf
9b430310b4
Improve Sanitizer calls
2021-03-31 23:19:56 +02:00
jorgectf
4328ff3981
Remove attrs feature
2021-03-31 22:26:08 +02:00
Mathias Vorreiter Pedersen
ecbce88ec7
C++: Fix comment.
2021-03-31 22:23:50 +02:00
jorgectf
3a47a45e47
Attempt to apply TaintTracking2
2021-03-31 18:49:41 +02:00
jorgectf
f0a50eb67a
Polish up configs
2021-03-31 17:58:18 +02:00
jorgectf
017a826b30
Remove unused class variables
2021-03-31 17:52:03 +02:00
jorgectf
5a1dc48e48
Fix Mongoengine test
2021-03-31 17:50:31 +02:00
jorgectf
7a4dc46341
Fix Sinks
2021-03-31 17:50:05 +02:00
Rasmus Wriedt Larsen
95ac2c8edd
Python: Add another dynamic __all__ test
2021-03-31 17:31:55 +02:00
Rasmus Wriedt Larsen
ab3edf37d7
Python: Handle __all__ assigned to a tuple
...
Examples where this is used in real code:
- 76c0b32f82/django/core/files/temp.py (L24)
- 76c0b32f82/django/contrib/gis/gdal/__init__.py (L44-L49)
2021-03-31 17:25:19 +02:00
Rasmus Wriedt Larsen
43306f4700
Python: Add tests for Module.declaredInAll
2021-03-31 17:24:17 +02:00
jorgectf
01f9d4a1b0
Fix MongoEngine Sink
2021-03-31 15:50:45 +02:00
edvraa
13080703b9
Make query symmetric
2021-03-31 15:59:19 +03:00
edvraa
f8867e40a7
Rename deserializeCall to deserializeCallArg
2021-03-31 15:49:17 +03:00
edvraa
aa9d84854f
Rename taint tracking variables
2021-03-31 15:42:52 +03:00
edvraa
7cbbd6cc89
Simplify query
2021-03-31 15:35:54 +03:00
edvraa
8bb3be2677
Fix comment
2021-03-31 15:31:14 +03:00
edvraa
94234b8b02
Rename ObjectMethodSink to InstanceMethodSink
2021-03-31 15:22:30 +03:00
Mathias Vorreiter Pedersen
9ff894bf83
C++: Add support for AST dataflow out of functions that take a smart pointer by value.
2021-03-31 13:54:32 +02:00
Mathias Vorreiter Pedersen
8159098dc0
C++: Add test from issue #5190 .
2021-03-31 11:32:01 +02:00
Asger Feldthaus
57784dc746
JS: Update test output
2021-03-31 09:23:47 +01:00
Chris Smowton
4f9b6d1192
Update supported Go version to 1.16
2021-03-31 08:56:27 +01:00
jorgectf
ccd57bea7a
Fix imports
2021-03-30 21:17:11 +02:00
jorgectf
4579132f22
Add left tests
2021-03-30 21:14:33 +02:00
jorgectf
d856f160c8
Adapt query configs and custom classes
2021-03-30 21:14:21 +02:00
jorgectf
bd5ff01ebb
PyMongo and Mongoengine sinks
2021-03-30 21:13:43 +02:00
jorgectf
aea7546cf9
Add Concepts
2021-03-30 21:13:15 +02:00
jorgectf
517a9202ce
PR init
2021-03-30 17:51:17 +02:00
jorgectf
8faafb6961
Update Sink
2021-03-30 16:58:02 +02:00
Arthur Baars
f12e6ea8ea
Avoid 'Object::' prefixes
2021-03-30 16:14:21 +02:00
Arthur Baars
b2c7185664
Add tests
2021-03-30 15:49:41 +02:00
Arthur Baars
201c1e4b81
Basic module resolution
2021-03-30 15:40:03 +02:00
Arthur Baars
ea9afcd4e1
AST: make some classes instance of Scope
2021-03-30 15:40:03 +02:00
Arthur Baars
eebbc7e505
AST: rename Class/Module to ClassDefinition/ModuleDefinition
2021-03-30 15:40:01 +02:00
Asger Feldthaus
f8bbda0cdc
JS: Change note
2021-03-30 13:54:01 +01:00
Asger Feldthaus
9db235ac36
JS: Improve @google-cloud/spanner model
2021-03-30 13:54:00 +01:00
Asger Feldthaus
35f294f096
JS: Improve sequelize model
2021-03-30 13:54:00 +01:00
luchua-bc
1349bf7b0b
Create a .qll file to reuse the code and add check of Spring properties
2021-03-30 11:25:29 +00:00
Asger Feldthaus
93500bd95a
JS: Improve mssql model
2021-03-30 11:34:01 +01:00
Asger Feldthaus
95937c9ac7
JS: Improve sqlite3 model
2021-03-30 11:34:01 +01:00
Asger Feldthaus
0b21b273ed
JS: Improve pg model
2021-03-30 11:33:59 +01:00
Asger Feldthaus
937a620f4d
JS: Improve mysql2 model
2021-03-30 11:33:42 +01:00
jorgectf
3cda2e5207
Polish up ldap3 tests
2021-03-29 23:39:49 +02:00
jorgectf
8223539f0c
Add a test without attributes
2021-03-29 23:28:28 +02:00
mr-sherman
bf2d7b3a16
Added IRestClientAsync methods to external location sink. Removed import from
...
Remote.qll, as it is un-necessary now.
2021-03-29 14:37:51 -04:00
jorgectf
ad36bea9d4
Refactor LDAP3 stuff (untested)
2021-03-29 09:14:35 +02:00
haby0
0775d35591
update VerificationMethodFlowConfig, add if test
2021-03-29 12:02:37 +08:00
ihsinme
3f215d0954
Update OperatorPrecedenceLogicErrorWhenUseBoolType.ql
2021-03-28 23:43:22 +03:00
ihsinme
093c63ea3b
Update OperatorPrecedenceLogicErrorWhenUseBoolType.expected
2021-03-28 23:42:36 +03:00
jorgectf
85ec82a389
Refactor in progress
2021-03-28 21:07:08 +02:00
jorgectf
95a1dae315
Precision warn and Remove CWE reference
2021-03-28 18:33:17 +02:00
jorgectf
719b48cbaf
Move to experimental folder
2021-03-28 18:33:17 +02:00
jorgectf
799d509f26
Upload LDAP Injection query, qhelp and tests
2021-03-28 18:33:16 +02:00
luchua-bc
5ce3f9d6ff
Update qldoc and enhance the query
2021-03-28 16:10:35 +00:00
Rasmus Lerchedahl Petersen
6d72b4fd39
Python: Limit pretty printing to relevant nodes
2021-03-27 03:10:43 +01:00
Rasmus Lerchedahl Petersen
16902c2f56
Python: handle default argument
2021-03-27 02:40:13 +01:00
Rasmus Lerchedahl Petersen
7a511c5682
Python: update naming
2021-03-27 02:20:59 +01:00
luchua-bc
a53cbc1631
Update qldoc and make the query more readable
2021-03-27 00:11:01 +00:00
Rasmus Lerchedahl Petersen
bd86388447
Python: Add typetracker to constrain attribute.
2021-03-27 01:07:15 +01:00
Rasmus Lerchedahl Petersen
bf81122fc6
Python: fix typo and add linebreaks
2021-03-26 23:37:19 +01:00
Rasmus Lerchedahl Petersen
e0352fe763
Python: remove deprecated section of qhelp file
2021-03-26 23:26:24 +01:00
mr-sherman
13997caa32
feedback from code review
2021-03-26 16:29:14 -04:00
luchua-bc
a72b1340eb
Add a comment on how to run the query
2021-03-26 16:51:43 +00:00
Rasmus Lerchedahl Petersen
44d62df3f7
Python: Fix model of TLS and add reference
2021-03-26 17:51:18 +01:00
Rasmus Lerchedahl Petersen
470b4d8658
Python: Add missing qldoc
2021-03-26 17:35:36 +01:00
Rasmus Lerchedahl Petersen
98dfe1a00a
Python: Elaborate qldoc and renames to match
2021-03-26 17:27:43 +01:00
Rasmus Lerchedahl Petersen
8155334fa7
Python: More elaborate qldoc
...
also refactor code to match
2021-03-26 15:57:07 +01:00
Chris Smowton
42b63a61ae
Add change note
2021-03-26 14:31:36 +00:00
Chris Smowton
3a274424ab
Convert fluent method models to csv and generalise to the three different variants of StrBuilder.
2021-03-26 14:31:36 +00:00
Chris Smowton
851317e34f
Add models for StrBuilder's fluent methods
2021-03-26 14:31:36 +00:00
Rasmus Lerchedahl Petersen
7d7cbc49db
Fix comments.
...
This induced fixing the code, since things were wired up wrongly.
Currently the only implementation of `insecure_connection_creation`
is `ssl.wrap_socket`,
which is also the sole target of py/insecure-default-protocol`,
so perhaps this part should be turned off?
2021-03-26 14:20:38 +01:00
Tom Hvitved
e345064a53
C#: Performance tweaks in SsaImplCommon.qll
2021-03-26 13:24:34 +01:00
Rasmus Lerchedahl Petersen
2e948da3b4
Python: suggested refactor
2021-03-26 13:08:45 +01:00
Rasmus Lerchedahl Petersen
1be2be843d
Python: update test expectations
2021-03-26 13:08:23 +01:00
Alexander Eyers-Taylor
b21672c81c
Apply suggestions from code review
...
Co-authored-by: Shati Patel <42641846+shati-patel@users.noreply.github.com >
Co-authored-by: Marcono1234 <Marcono1234@users.noreply.github.com >
2021-03-26 11:15:46 +00:00
Rasmus Lerchedahl Petersen
e936540863
Python: remove internal import
2021-03-26 08:22:09 +01:00
Rasmus Lerchedahl Petersen
f1619f1ee8
Python: "source" -> "contextOrigin"
2021-03-26 08:18:11 +01:00
Rasmus Lerchedahl Petersen
f14fb3bf9e
Merge branch 'python-port-insecure-protocol' of github.com:yoff/codeql into python-port-insecure-protocol
2021-03-26 08:06:51 +01:00
yoff
936757b4bf
Update python/ql/src/Security/CWE-327/FluentApiModel.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-26 08:05:51 +01:00
luchua-bc
d33b04cd96
Query to detect plaintext credentials in Java properties files
2021-03-26 02:33:40 +00:00
Rasmus Lerchedahl Petersen
9488b8bb18
Python: actually rename
2021-03-26 00:31:56 +01:00
Rasmus Lerchedahl Petersen
554404575d
Python: fix typo and name.
2021-03-26 00:29:40 +01:00
Rasmus Lerchedahl Petersen
c93e0c08fd
Merge branch 'python-port-insecure-protocol' of github.com:yoff/codeql into python-port-insecure-protocol
2021-03-26 00:26:33 +01:00
yoff
54dad57cf4
Update python/ql/test/query-tests/Security/CWE-327/pyOpenSSL_fluent.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-26 00:25:40 +01:00
Rasmus Lerchedahl Petersen
2b257318f1
Python: more precise comment
2021-03-25 23:22:24 +01:00
yoff
62a0775cf6
Update python/ql/src/Security/CWE-327/examples/secure_protocol.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-25 23:09:11 +01:00
Porcuiney Hairs
2ca95166d9
Java : add query to detect insecure loading of Dex File
2021-03-26 01:59:11 +05:30
alexet
2576c86ebf
Docs: Update the language specification for changes to super.
2021-03-25 18:16:13 +00:00
Erik Krogh Kristensen
5e59f6d558
Update javascript/ql/src/semmle/javascript/security/dataflow/ShellCommandInjectionFromEnvironmentCustomizations.qll
...
Co-authored-by: intrigus-lgtm <60750685+intrigus-lgtm@users.noreply.github.com >
2021-03-25 19:03:37 +01:00
Erik Krogh Kristensen
3d49b8cb91
consider quoted string concatenations as sanitizers for js/shell-command-injection-from-environment
2021-03-25 15:17:02 +01:00
Tom Hvitved
aad5d133d0
Merge pull request #161 from github/hvitved/cfg-remove-is-hidden
...
CFG: Remove `isHidden()` predicate
2021-03-25 15:08:17 +01:00
Erik Krogh Kristensen
3b82452d76
detect fs modules that pass through a reduce call
2021-03-25 14:47:43 +01:00
Tom Hvitved
0bb5007103
Reintroduce hidden then/else/do in AST; include all in CFG
2021-03-25 14:22:35 +01:00
luchua-bc
57bd3f3c14
Optimize the taint flow source
2021-03-25 10:44:26 +00:00
Tom Hvitved
58ecd771d3
AST: Exclude empty then/else/do statements
2021-03-25 09:53:55 +01:00
luchua-bc
fe0e7f5eac
Change method check to taint flow
2021-03-25 01:45:13 +00:00
luchua-bc
08c3bf26d5
Update the query to accommodate more cases
2021-03-24 23:32:27 +00:00
Tom Hvitved
ca7c0584c7
CFG: Remove isHidden() predicate
2021-03-24 17:22:05 +01:00
Tom Hvitved
9472cef492
Merge pull request #160 from github/bump-codeql
...
Bump `codeql` sub module and implement new data-flow stubs
2021-03-24 15:34:42 +01:00
Tom Hvitved
6c00e66272
Update ql/src/codeql_ruby/dataflow/internal/DataFlowPrivate.qll
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-03-24 15:02:30 +01:00
Tom Hvitved
b8f65fb756
Bump codeql sub module and implement new data-flow stubs
2021-03-24 14:00:21 +01:00
haby0
3df23eecb6
Merge remote-tracking branch 'upstream/main' into JsonHijacking
2021-03-24 15:52:01 +08:00
Rasmus Lerchedahl Petersen
a9af135d7e
Python: Remove getALocalTaintSource
...
and `taintFlowsTo` for now..
2021-03-24 01:22:21 +01:00
mr-sherman
3e889c398e
updated document formatting
2021-03-23 10:09:30 -04:00
Arthur Baars
d103acb04f
Merge pull request #158 from github/hvitved/vscode-hide-codeql-submodule
...
Hide `codeql` sub module in VS Code workspace
2021-03-23 10:41:32 +01:00
Arthur Baars
6a26483fc7
Merge pull request #159 from github/hvitved/herdoc-body-rank-performance
...
Improve performance of `HereDoc::getBody()`
2021-03-23 10:40:28 +01:00
Tom Hvitved
2891d94f99
Improve performance of HereDoc::getBody()
...
Gets rid of
```
[2021-03-23 10:07:49] (138s) Tuple counts for Literal::HereDoc::getBody_dispred#ff#shared#1/4@1cc5b9:
11294 ~0% {1} r1 = SCAN AST::Cached::THereDoc#ff@staged_ext OUTPUT In.0
11294 ~388% {1} r2 = JOIN r1 WITH Literal::HereDoc::getBody_dispred#ff#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg1'
95514613 ~2080% {4} r3 = JOIN r2 WITH locations_default_1023#join_rhs ON FIRST 1 OUTPUT Rhs.1 'arg0', Lhs.0 'arg1', Rhs.2 'arg2', Rhs.3 'arg3'
```
2021-03-23 10:31:48 +01:00
Tom Hvitved
1004363131
Hide codeql sub module in VS Code workspace
2021-03-23 09:55:56 +01:00
mr-sherman
858c0e67a1
added support for remote flow sinks in the form of parameters to the function
...
ServiceStack.IRestClient.Get()
2021-03-22 19:27:49 -04:00
Taus Brock-Nannestad
7cdf439b83
Python: Clean up basicStoreStep
...
Moves the `flowsTo` logic into the shared implementation, so that
`TypeTrackingPrivate` only has to define the shape of immediate store
steps.
Also cleans up the documentation to talk a bit more about what
`content` can represent, and what caveats there are.
2021-03-22 18:42:24 +01:00
Taus Brock-Nannestad
0e81fd2624
Python: Move Boolean into TypeTrackerPrivate
...
In general, this may be defined already for other languages, so moving
it in here will avoid potential clashes.
2021-03-22 18:41:22 +01:00
Marcono1234
993999f64f
Java: Add test for negative numeric literals
2021-03-22 17:43:34 +01:00
Nick Rolfe
b293522710
Merge pull request #150 from github/parent_child
...
Create `ast_node_parent` relation
2021-03-22 15:06:50 +00:00
Nick Rolfe
e7f1ae8c96
Merge remote-tracking branch 'origin/main' into parent_child
2021-03-22 14:58:33 +00:00
Nick Rolfe
3284a3fc1f
Merge pull request #157 from github/cfg_impl
...
Port CFG implementation to public AST interface
2021-03-22 14:57:43 +00:00
Rasmus Wriedt Larsen
c8a6e837b5
Python: Model QuerySet chains in django
2021-03-22 14:38:54 +01:00
Tamas Vajk
7a0bfd1a69
Skip through any stub preamble
2021-03-22 12:29:13 +01:00
Rasmus Wriedt Larsen
f800bf243f
Python: Better text for getSourceType in Django
2021-03-22 01:39:19 +01:00
Rasmus Wriedt Larsen
701b935564
Python: Add example of QuerySet chain (django)
2021-03-22 00:57:43 +01:00
Marcono1234
1534b387bb
Java: Improve documentation regarding minus in front of numeric literals
2021-03-22 00:54:14 +01:00
Artem Smotrakov
6c24699403
Cover both javax.el and jakarta.el packages
2021-03-21 21:19:39 +03:00
Artem Smotrakov
adb1ed380a
Added tests for Jakarta expression injection
2021-03-21 21:19:39 +03:00
Artem Smotrakov
73e940de74
Added query for Jakarta EL injections
...
- Added JakartaExpressionInjection.ql
- Added a qhelp file with examples
2021-03-21 21:19:39 +03:00
yo-h
0200aedc2e
Java 16: adjust test options
2021-03-21 12:55:25 -04:00
ihsinme
26bac9f425
Apply suggestions from code review
...
Co-authored-by: Robert Marsh <rdmarsh2@gmail.com >
2021-03-21 15:25:29 +03:00
edvraa
ac29184521
deserialization sinks
2021-03-20 21:50:46 +02:00
Dilan
1385b22642
pr fixes, typo in qhelp file and helper method for queries
2021-03-19 16:43:29 -07:00
yoff
164b383fda
Update python/ql/test/query-tests/Security/CWE-327/pyOpenSSL_fluent.py
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2021-03-19 19:12:13 +01:00
Asger Feldthaus
405c1f3fc7
JS: Update test suite
2021-03-19 16:45:31 +00:00
Asger Feldthaus
fa2ae1420a
JS: Rename Diagnostics folder to Summary
2021-03-19 16:43:23 +00:00
Asger Feldthaus
347cbe422d
JS: Remove the other summary queries
2021-03-19 16:42:43 +00:00
Asger Feldthaus
0c0556bb38
JS: Update LinesOfCode.ql to match the style from C++
2021-03-19 16:42:05 +00:00
Asger Feldthaus
6ca425f033
JS: Implement new metric queries for line counting
2021-03-19 16:34:29 +00:00
Nick Rolfe
cf7ce911bc
Combine CfgScope classes for BodyStmt ∩ Callable
2021-03-19 16:08:43 +00:00
Nick Rolfe
7667606b89
Replace some uses of Generated types
2021-03-19 14:31:17 +00:00
Nick Rolfe
21192bf43c
Remove outdated comment
2021-03-19 14:28:26 +00:00
Nick Rolfe
f37c862c92
Rename MandatoryParameterTree to NonDefaultValueParameterTree
2021-03-19 14:27:29 +00:00
Nick Rolfe
c6958f64e4
Make CFG for AssignExpr visit left operand before right
2021-03-19 14:25:38 +00:00
Nick Rolfe
f381f94bc2
Rename ProgramScope to ToplevelScope
2021-03-19 14:02:54 +00:00
Nick Rolfe
5cedf7ee86
Remove unused import
2021-03-19 13:59:02 +00:00
Tamas Vajk
79d6731ed8
C#: Adjust make_stubs.py to use codeql instead of odasa
2021-03-19 11:01:28 +01:00
Tom Hvitved
e175513293
Remove duplicate tuple patterns
2021-03-19 10:52:29 +01:00
Rasmus Lerchedahl Petersen
e0e6d5724e
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-03-18 23:34:53 +01:00
jorgectf
957b3e1e85
Precision warn
2021-03-18 20:39:53 +01:00
jorgectf
3ce0a9c8c0
Move to experimental folder
2021-03-18 20:20:04 +01:00
Nick Rolfe
c0636bef29
Make CfgScope extend Scope
2021-03-18 19:08:51 +00:00
Nick Rolfe
6bcc433af3
Uncomment empty class and module in CFG test
2021-03-18 19:02:32 +00:00
Nick Rolfe
9493997e9d
Make space in CFG test for two new lines in the middle
...
Commented out to make it easier to ignore the noise from line number
changes.
2021-03-18 19:01:11 +00:00
Nick Rolfe
37435764a0
Fix control-flow for empty classes and modules
2021-03-18 18:58:40 +00:00
jorgectf
7de9214c99
Upload LDAP Insecure authentication query and tests
2021-03-18 17:41:34 +01:00
Nick Rolfe
434d9e54a1
Fix complex symbols having multiple ControlFlowTree implementations
2021-03-18 14:48:08 +00:00
Nick Rolfe
4ce7faf868
Fix erroneous flow from 'raise' call to StmtSequence
2021-03-18 13:01:27 +00:00
Nick Rolfe
ceda7c8fd2
Generalise splitting of parenthesized exprs to all statement sequences
2021-03-18 11:21:11 +00:00
Nick Rolfe
c8eab42c1d
Minor comment fixes
2021-03-18 11:09:21 +00:00
Tom Hvitved
3bb2c529a5
CFG: Revert change to mandatory parameters
2021-03-18 10:43:10 +01:00
Arthur Baars
d4030c66d8
Update Consistency.qll
2021-03-18 09:54:44 +01:00
Tom Hvitved
c761ab6882
Merge pull request #156 from github/hvitved/ipa-ast
...
Make external `AstNode` an IPA type
2021-03-17 22:23:05 +01:00
Nick Rolfe
32e2b257bf
Port CFG implementation to public AST interface
2021-03-17 20:28:47 +00:00
Nick Rolfe
26c251f080
Order CFG nodes by column as well
2021-03-17 19:07:52 +00:00
Rasmus Lerchedahl Petersen
b3ff3f7ee7
PythonÆ adjust test expectations
...
I suspect it has to do with ParameterNode being a LocalSourceNode,
but I really have no idea...
2021-03-17 15:11:17 +01:00
Rasmus Lerchedahl Petersen
8f467003d2
Python: More review suggestions
2021-03-17 15:11:17 +01:00
yoff
63b732ce1f
Apply suggestions from code review
...
Co-authored-by: Taus <tausbn@github.com >
2021-03-17 15:11:17 +01:00
Rasmus Lerchedahl Petersen
4d856d4461
Python: Add small api enhancements
...
determined useful during documentation work.
2021-03-17 15:11:17 +01:00
Tom Hvitved
39aa2c6e53
Rework IPA injectors for constant accesses
2021-03-17 14:27:21 +01:00
Tom Hvitved
eb7610c55f
Rename (to|from)TreeSitter to (to|from)Generated
2021-03-17 09:28:23 +01:00
Tom Hvitved
5724112513
Address review comments
2021-03-17 09:28:18 +01:00
haby0
15206fd2ce
JsonpInjection.ql autoformatted
2021-03-17 15:52:05 +08:00
haby0
98204a15a6
Fix the problem
2021-03-17 15:28:04 +08:00
Tom Hvitved
7eaf02a0bf
Make external AstNode an IPA type
2021-03-16 12:50:20 +01:00
Rasmus Lerchedahl Petersen
6fff746b16
Merge branch 'main' of github.com:github/codeql into python-port-insecure-protocol
2021-03-15 17:37:28 +01:00
Rasmus Lerchedahl Petersen
9a96230523
Python: Add changenote
2021-03-15 17:35:30 +01:00
Rasmus Lerchedahl Petersen
514a69c47a
Python: Support ssl.PROTOCOL_TLS_SERVER
...
and `ssl.PROTOCOL_TLS_CLIENT`
2021-03-15 17:30:01 +01:00
Rasmus Lerchedahl Petersen
87f3ba2684
Python: add tests for ssl.PROTOCOL_TLS_SERVER
...
and `ssl.PROTOCOL_TLS_CLIENT`
2021-03-15 17:24:39 +01:00
Rasmus Lerchedahl Petersen
731f4559b4
Python: update test expectations
2021-03-15 17:23:58 +01:00
Rasmus Lerchedahl Petersen
4094b18407
Python: Clean up tests
2021-03-15 16:28:08 +01:00
Arthur Baars
c672169621
Merge pull request #155 from github/aibaars/order-ast-test
...
AST: order edges by target node
2021-03-15 10:43:34 +01:00
Arthur Baars
d54db292f7
Move semmle.order property to printAst.qll
2021-03-15 10:33:10 +01:00
Rasmus Lerchedahl Petersen
41c9394b4b
Python: update qhelp and example
2021-03-14 09:22:47 +01:00
Arthur Baars
3e5ff1d042
AST: order edges by target node
...
When printing a tree CodeQL iterates over the nodes and
for each node prints the successor edges as children. If the
the successor edges are ordered by target node then the children
printe in the right order in the expected output.
2021-03-12 16:52:34 +01:00
Taus Brock-Nannestad
f05313435d
Python: Move typePreservingStep into Private
2021-03-12 14:06:39 +01:00
Taus Brock-Nannestad
9b8056371f
Python: Make the type tracking implementation shareable
2021-03-12 13:51:24 +01:00
luchua-bc
1a2e341b7c
Refactor the business logic of the query into a separate predicate
2021-03-12 12:19:37 +00:00
luchua-bc
c8b1bc3a89
Enhance the query
2021-03-11 21:41:34 +00:00
luchua-bc
0a35feef76
Exclude CSRF cookies to reduce FPs
2021-03-11 17:28:07 +00:00
Arthur Baars
cde496cc4c
Merge pull request #152 from github/aibaars/fix-vars
...
Fix VariableRead/WriteAcess for instance and class variables
2021-03-11 17:05:56 +01:00
luchua-bc
eeac7e322a
Query to detect insecure configuration of Spring Boot Actuator
2021-03-11 13:46:32 +00:00
luchua-bc
a0a1ddee86
Update class name
2021-03-10 17:07:31 +00:00
Calum Grant
bf873c8ad1
Merge pull request #147 from github/calumgrant/use-detect
...
Ruby: New query UseDetect
2021-03-10 14:39:37 +00:00
luchua-bc
f0ddfc9283
Minor qldoc changes
2021-03-10 12:18:55 +00:00
luchua-bc
72f28513eb
Move test check to the sink
2021-03-10 12:12:27 +00:00
Calum Grant
cb977cb290
Ruby: Use getAUniqueRead TC
2021-03-10 10:56:33 +00:00
luchua-bc
48975fa7d2
Replace sanitizers
2021-03-10 00:17:26 +00:00
Arthur Baars
3966de6b2b
Merge pull request #151 from github/aibaars/scopes-refactor
...
Add Scopes.qll and remove VariableScopes IPA type
2021-03-09 20:55:18 +01:00
Arthur Baars
6a284378d6
Update ql/src/codeql_ruby/ast/Scope.qll
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-03-09 18:57:24 +01:00
Arthur Baars
f28071ceb6
Fix VariableRead/WriteAcess for instance and class variables
2021-03-09 13:55:55 +01:00
Arthur Baars
600d9c66ae
Remove VariableScope
2021-03-09 11:56:17 +01:00
Arthur Baars
86a89ab1fe
Remove VariableScope IPA type
2021-03-09 11:48:18 +01:00
Calum Grant
855d190800
Ruby: Test local data flow
2021-03-09 10:25:24 +00:00
Calum Grant
5b4bf584a1
Ruby: Update qltest output for new select format
2021-03-09 10:20:23 +00:00
Calum Grant
0f829476f4
Ruby: Refactor EndCall to reduce number of classes
2021-03-09 10:13:07 +00:00
Arthur Baars
00260db58f
Add Scope.qll
2021-03-09 09:46:42 +01:00
Nick Rolfe
56e03d7ed4
Remove old upgrades
2021-03-08 18:28:23 +00:00
Nick Rolfe
be102e24f6
Update stats
2021-03-08 18:25:37 +00:00
Nick Rolfe
f691ec9e2a
Remove overrides of getParent[Index]
2021-03-08 18:25:37 +00:00
Nick Rolfe
9b96bc32cc
Add ast_node_parent relation
2021-03-08 18:25:37 +00:00
Nick Rolfe
61b3aa8f27
Merge pull request #149 from github/manual_stats_workflow
...
Enable manual dispatch of stats workflow
2021-03-08 14:28:27 +00:00
Nick Rolfe
df8f7a30d7
Enable manual dispatch of stats workflow
2021-03-08 14:10:37 +00:00
luchua-bc
31eaa80f5b
Revamp the source
2021-03-06 00:56:15 +00:00
Rasmus Lerchedahl Petersen
7d556b354d
Python: Update test annotation and expectation
2021-03-05 09:16:35 +01:00
luchua-bc
a93aabab40
Add the toString() method
2021-03-05 03:05:49 +00:00
luchua-bc
919c6b4b0a
Optimize flow steps
2021-03-05 02:50:54 +00:00
Nick Rolfe
1818b68ea2
Merge pull request #148 from github/calumgrant/readme-qltest
...
Update README.md
2021-03-04 19:36:42 +00:00
Calum Grant
67416a6440
Update README.md
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-03-04 17:19:34 +00:00
Calum Grant
0be5c529ee
Update README.md
2021-03-04 16:03:23 +00:00
Calum Grant
20a62d169a
Ruby: Update query description
2021-03-04 15:48:09 +00:00
Calum Grant
ca497479c2
Ruby: Finish the test for UseDetect
2021-03-04 15:44:05 +00:00
Calum Grant
522bcff79d
Ruby: Initial test case
2021-03-04 15:38:09 +00:00
Calum Grant
5854b831f3
Ruby: rb/use-detect query
2021-03-04 13:43:59 +00:00
ihsinme
10cc574289
Add files via upload
2021-03-04 16:15:26 +03:00
ihsinme
01c13c4703
Add files via upload
2021-03-04 16:14:11 +03:00
haby0
c5577cb09a
Fix the problem
2021-03-04 19:54:49 +08:00
Rasmus Lerchedahl Petersen
d02c529872
Python: Update annotation
2021-03-04 00:06:36 +01:00
Rasmus Lerchedahl Petersen
de9469bbfc
Python: complete ssl.create_default_context
2021-03-04 00:01:44 +01:00
Rasmus Lerchedahl Petersen
ee03837357
Python: small refactor
2021-03-03 23:46:18 +01:00
Rasmus Lerchedahl Petersen
cbbc7b2bcd
Python: support unrestrictions
...
Also pyOpenSSL allows SSL 2 and SSL 3 on `SSLv23`
2021-03-03 23:42:48 +01:00
Rasmus Lerchedahl Petersen
97d26687fe
Python: Improve logic of bit fields
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
7a1d953fca
Python: More tests
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
60525ec301
Python: Also track offending call
...
update test expectations at this point
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
9e696ff0fb
Python: Add false negative to test
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
d5171fc043
Python: Comment everything
2021-03-03 17:50:47 +01:00
Rasmus Lerchedahl Petersen
3b856010f2
Python: add TODO comment
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
ea8c6f04e2
Python: Update old test and qlhelp
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
87e1a062ea
Python: fluent api tests
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
186db7f43e
Python: factor into modules and files
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
7ed018aff6
Python: refactor into modules
...
and turn on the pyOpenSSL module
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
72b37a5b1b
Python: factor out barrier
2021-03-03 17:50:46 +01:00
Rasmus Lerchedahl Petersen
86dde6eab1
Python: start of port
2021-03-03 17:50:46 +01:00
luchua-bc
502cf38fcc
Use concise API
2021-03-03 14:07:43 +00:00
luchua-bc
1b1c3f953b
Remove localflow from the source
2021-03-03 13:54:26 +00:00
luchua-bc
b366ffa69e
Revamp source of the query
2021-03-03 13:38:18 +00:00
luchua-bc
95d1994196
Query to check sensitive cookies without the HttpOnly flag set
2021-03-01 22:06:52 +00:00
Arthur Baars
ce69c912fd
Merge pull request #145 from github/aibaars/fix
...
Fix regression in rb/unused-parameter
2021-03-01 12:26:47 +01:00
haby0
f795d5e0d3
update JSONP Injection ql
2021-02-27 16:25:17 +08:00
Arthur Baars
c9f86743bd
Merge pull request #143 from github/aibaars/ast-test
...
AST: add printAST test case
2021-02-26 19:41:56 +01:00
Arthur Baars
b2fbeee794
CFG: hide all non-AstNodes
2021-02-26 19:04:33 +01:00
Arthur Baars
5f32b822e2
Remove use of AstNodes
2021-02-26 19:03:55 +01:00
Arthur Baars
dd4f297c37
Remove duplicate clause
2021-02-26 17:51:04 +01:00
Arthur Baars
39181ec871
AST: printAST: show all primary classes and method names
2021-02-25 15:25:49 +01:00
Arthur Baars
e2b2a450ac
AST: add printAST test case
2021-02-25 15:25:49 +01:00
Arthur Baars
75883b94cd
QLTest: ignore *.testproj folders
2021-02-25 15:25:42 +01:00
Arthur Baars
7ab147a7b8
Merge pull request #144 from github/aibaars/missing
...
AST: add missing getAPrimaryQlClass predicate
2021-02-25 15:18:29 +01:00
Arthur Baars
a6bb34c86d
AST: add missing getAPrimaryQlClass predicate
2021-02-25 14:59:39 +01:00
Arthur Baars
fa7adee245
Merge pull request #142 from github/aibaars/clean-up
...
Remove as many references to TreeSitter::Generated
2021-02-25 14:28:09 +01:00
Arthur Baars
9800e3f930
Add some TODO comments
2021-02-25 13:43:36 +01:00
Arthur Baars
f3d1c804be
Update test data
2021-02-25 12:57:18 +01:00
Arthur Baars
7c0ea7b3bc
CFG: add AstNode for @in
2021-02-25 12:57:18 +01:00
Arthur Baars
b16d6bf5b4
CFG: make isValidFor work for hidden nodes
2021-02-25 12:57:18 +01:00
Arthur Baars
9fc5c43412
Clean-up Completion.qll
2021-02-25 12:57:18 +01:00
Arthur Baars
999b82ca73
Remove imports of TreeSitter
2021-02-25 12:57:18 +01:00
Arthur Baars
d30912611b
Merge pull request #136 from github/aibaars/child-parent
...
Finish AST and add consistency query
2021-02-25 12:54:45 +01:00
Arthur Baars
27a2310840
CFG: sort expected output by file path and line
2021-02-25 12:27:11 +01:00
Arthur Baars
87b2c142bc
Update qldoc
2021-02-25 10:23:29 +01:00
Arthur Baars
4ba0f3088a
Use strictcount
2021-02-25 10:21:07 +01:00
Arthur Baars
0f940349ba
AST: rename getExpr predicates to more meaningful names
2021-02-25 10:11:29 +01:00
haby0
0521ef87da
Merge remote-tracking branch 'upstream/main' into JsonHijacking
2021-02-25 16:31:14 +08:00
Arthur Baars
1a73cf6cc4
AST: add ArgumentList
2021-02-24 19:07:16 +01:00
Arthur Baars
336b310668
AST: improve AST for special parameters
2021-02-24 19:07:16 +01:00
Arthur Baars
8913810bf0
AST: change return type of Assignment LHS to Pattern
2021-02-24 19:07:16 +01:00
Arthur Baars
190978cc56
AST: add consistency query
2021-02-24 19:07:16 +01:00
Arthur Baars
cb21e8edda
CFG: hide nodes that are not proper AstNodes
2021-02-24 19:07:16 +01:00
Arthur Baars
14474d660b
AST: change types to Stmt
2021-02-24 19:07:16 +01:00
Arthur Baars
3288070279
Merge pull request #131 from github/aibaars/pattern
...
AST: split method call into normal and setter calls
2021-02-24 19:03:55 +01:00
haby0
6fe8bafc7d
*)update
2021-02-24 20:59:51 +08:00
haby0
872a000a33
*)update to JSONP injection
2021-02-24 20:36:12 +08:00
Arthur Baars
a7408dd262
Merge pull request #140 from github/aibaars/namespace
...
AST: introduce 'Namespace' as super class of Class/Module
2021-02-24 13:22:02 +01:00
Arthur Baars
242481c701
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-02-24 13:13:47 +01:00
Arthur Baars
d6c0049a7e
AST: make SetterMethodCall instance of MethodCall
2021-02-24 13:06:54 +01:00
Arthur Baars
7ae20f3b5b
AST: add SetterMethodCall as instance of LhsExpr
2021-02-24 13:06:54 +01:00
Arthur Baars
79bb20b31f
AST: add MethodCall as a subclass of Call
2021-02-24 13:06:53 +01:00
Arthur Baars
5fe7bd57fa
AST: calls without method name
2021-02-24 13:02:22 +01:00
Arthur Baars
eaeabf19bf
Merge pull request #141 from github/bump_ts
...
Add support for multiple statements in interpolations
2021-02-24 11:29:26 +01:00
Nick Rolfe
37253fd1f1
Update stats for dbscheme change to interpolation_child
2021-02-23 16:08:24 +00:00
Nick Rolfe
6c84f2c3dc
Add test case for multiple statements in interpolation
2021-02-23 15:52:11 +00:00
Nick Rolfe
672148e5b4
Add support for multiple statements in interpolations
2021-02-23 15:36:14 +00:00
Arthur Baars
a7ddd642ea
AST: introduce 'Namespace' as super class of Class/Module
2021-02-19 13:34:34 +01:00
Arthur Baars
098e0ac142
Merge pull request #139 from github/printast
...
printAst: use the user-facing AST library
2021-02-19 09:46:27 +01:00
Nick Rolfe
d52e439547
printAst: use the user-facing AST library
2021-02-18 18:25:57 +00:00
Arthur Baars
370135fab7
Merge pull request #138 from github/aibaars/part-1
...
AST: getChild/getParent
2021-02-18 19:00:08 +01:00
Arthur Baars
1c8a76f44a
AST: make Assignment::getLeftOperand a Pattern again
2021-02-18 18:14:55 +01:00
Arthur Baars
c877eb4642
AST: add additional token-types to variable patterns
2021-02-18 14:37:58 +01:00
Arthur Baars
3ee83870b6
AST: add begin expressions
2021-02-18 14:37:58 +01:00
Arthur Baars
5659388ec0
AST: implement AstNode::child
2021-02-18 14:37:58 +01:00
Arthur Baars
c0b5ac760a
AST: rename getLhs/getRhs to getLeftOperand/getRightOperand
2021-02-18 14:37:58 +01:00
Arthur Baars
095eb803b3
AST: improve type of getDefaultValue
2021-02-18 14:37:58 +01:00
Arthur Baars
e42d1ff936
Change Expr to LhsExpr for getVariableExpr
2021-02-18 14:37:58 +01:00
Arthur Baars
214f113016
AST: add getChild/getParent method
2021-02-18 14:37:53 +01:00
haby0
8119fd2ad1
*)add JsonHijacking ql query
2021-02-18 18:11:10 +08:00
Nick Rolfe
ac3da22158
Merge pull request #137 from github/scope_tostring
...
Include file/class/method/module names in VariableScope::toString
2021-02-17 19:24:36 +00:00
Nick Rolfe
b8bbbe92f3
Include file/class/method/module names in VariableScope::toString
2021-02-17 18:10:03 +00:00
Nick Rolfe
aedf093e72
Merge pull request #135 from github/aibaars/heredoc
...
AST: HereDoc
2021-02-17 17:18:38 +00:00
Arthur Baars
cabe6df820
Add missing heredoc end token
2021-02-17 15:58:13 +01:00
Arthur Baars
e1047fad2c
CFG: remove intermediate HeredocBody nodes
2021-02-17 13:10:18 +01:00
Arthur Baars
167574d82f
AST: HereDoc
2021-02-17 13:10:18 +01:00
Arthur Baars
1e19904342
Merge pull request #134 from github/literals
...
Add and expand AST classes for literals
2021-02-17 13:09:02 +01:00
Nick Rolfe
c019da83f3
Address feedback on StringInterpolationComponent::getStmt
2021-02-17 10:57:01 +00:00
Nick Rolfe
97654eb338
Simplify bash script
2021-02-17 10:48:17 +00:00
Arthur Baars
4f5b1c06ac
Merge branch 'main' into literals
2021-02-16 19:30:03 +01:00
Arthur Baars
3f4b4b360e
Merge pull request #133 from github/aibaars/pattern-0
...
AST: RestAssignment and LhsExpr
2021-02-16 19:29:15 +01:00
Nick Rolfe
3978d6387e
Update tree-sitter-ruby revision used
2021-02-16 16:49:59 +00:00
Nick Rolfe
4537e5d6f8
Update expected test output to match truncation of long strings
2021-02-16 16:21:49 +00:00
Nick Rolfe
02f853b8fd
Add r suffix to RationalLiteral::getValueText()
2021-02-16 16:21:28 +00:00
Nick Rolfe
cd38b980a8
Update dbscheme stats
2021-02-16 16:13:00 +00:00
Nick Rolfe
fff5dad702
Truncate long strings in StringlikeLiteral::toString()
2021-02-16 16:11:41 +00:00
Arthur Baars
7dd429c945
Format Expr.qll
2021-02-16 15:41:44 +00:00
Nick Rolfe
1c869f6d85
Make merge_stats.py work in python3
2021-02-16 15:41:44 +00:00
Nick Rolfe
5e6ef5c8b5
Upgrade script for dbscheme changes to range_*
2021-02-16 15:41:44 +00:00
Nick Rolfe
2eb8757285
Update expected test output for toString changes
2021-02-16 15:41:05 +00:00
Nick Rolfe
f56f81f555
Add and expand AST classes for literals
2021-02-16 15:41:05 +00:00
Arthur Baars
c4b3c8bc28
More QLDoc for LhsExpr
2021-02-16 16:09:56 +01:00
Arthur Baars
e3cf226679
AST: make ConstantWriteAccess extend LhsExpr
2021-02-16 13:03:04 +01:00
Arthur Baars
9d449a90c2
AST: add LhsExpr
2021-02-16 13:02:02 +01:00
Arthur Baars
7778f1c21f
AST: make Pattern:Range abstract
2021-02-16 13:01:00 +01:00
Arthur Baars
9c5da197ed
AST: add Pattern::getRestIndex
2021-02-16 12:56:06 +01:00
Arthur Baars
eee12eecc9
Merge pull request #132 from github/rescue_naming
...
Rename {Rescue,RescueExpr} to {RescueExpr,RescueModifierExpr}
2021-02-16 12:54:19 +01:00
Nick Rolfe
04ad1f805a
Update rust auto-formatting for 1.50
2021-02-16 11:47:24 +00:00
Nick Rolfe
0fc19ea7a9
Rename RescueExpr to RescueClause
2021-02-16 11:46:30 +00:00
Nick Rolfe
cf50006d68
Rename {Rescue,RescueExpr} to {RescueExpr,RescueModifierExpr}
2021-02-16 11:09:25 +00:00
Arthur Baars
90f59de589
Merge pull request #130 from github/aibaars/ast-5
...
AST: add ElementReference as call
2021-02-15 14:59:34 +01:00
Arthur Baars
ad6c916f01
Merge pull request #129 from github/aibaars/ast-4
...
AST: rescue modifier
2021-02-15 14:59:22 +01:00
Arthur Baars
c6c39ad04d
Merge pull request #128 from github/aibaars/ast-3
...
AST: undef and alias
2021-02-15 14:59:12 +01:00
Arthur Baars
5b8c74eb5b
AST: add SingletonMethod::getObject
2021-02-15 13:53:50 +01:00
Arthur Baars
e3f54411d8
AST: add ElementReference
2021-02-15 13:51:16 +01:00
Arthur Baars
d69a1731f9
Fix QL doc
2021-02-15 12:53:13 +01:00
Arthur Baars
ddea74265d
AST: rescue modifier
2021-02-15 12:50:00 +01:00
Arthur Baars
9cb58be5cf
AST: avoid multivalued results for MethodName::getValueText
2021-02-15 10:39:21 +01:00
Arthur Baars
8a4f27c052
Add test case
2021-02-12 19:23:13 +01:00
Arthur Baars
5f1907efc4
AST: undef and alias
2021-02-12 19:22:51 +01:00
Arthur Baars
392af7fe76
Merge pull request #127 from github/aibaars/ast-2
...
Some more AST
2021-02-12 18:40:24 +01:00
Arthur Baars
c0c155361f
Address comments
2021-02-12 18:31:44 +01:00
Arthur Baars
874ac121d9
AST: Toplevel and BEGIN/ END blocks
2021-02-12 15:26:30 +01:00
Arthur Baars
015b581f57
AST: add redo, retry, empty-statement
2021-02-12 15:18:28 +01:00
Arthur Baars
64cba18c41
AST: add Self class
2021-02-12 14:09:00 +01:00
Arthur Baars
ce824f4adb
Merge pull request #126 from github/aibaars/rescue
...
AST: rescue clauses
2021-02-12 14:08:31 +01:00
Arthur Baars
63f67aa04e
AST: rename getVariable to getVariableExpr
2021-02-12 13:35:17 +01:00
Tom Hvitved
1aaebeea76
Merge pull request #125 from github/hvitved/cfg-to-string
...
CFG: Reintroduce `toString()`s
2021-02-11 18:46:26 +01:00
Arthur Baars
43b238f729
AST: rescue clauses
2021-02-11 18:40:29 +01:00
Tom Hvitved
c4ee79ed27
CFG: Reintroduce toString()s
2021-02-11 18:37:18 +01:00
Nick Rolfe
307db73c9c
Merge pull request #124 from github/aibaars/ast-stmt-expr
...
AST: make Expr extend Stmt and change ExprSequence to StmtSequence
2021-02-11 17:00:21 +00:00
Arthur Baars
f9e9dc2304
Address comment
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-02-11 17:53:28 +01:00
Arthur Baars
c4e2c87d82
AST: some statement tests
2021-02-11 17:20:11 +01:00
Arthur Baars
d42b6b651e
AST: rename ExprSequence to StmtSequence
2021-02-11 17:20:10 +01:00
Arthur Baars
fd6aeba9f5
AST: make Expr extend Stmt
2021-02-11 17:20:10 +01:00
Arthur Baars
f02d4a977d
AST: some statement tests
2021-02-11 17:20:10 +01:00
Arthur Baars
d02d359c51
Merge pull request #122 from github/constants_scopes
...
Rework handling of scope resolution nodes, and add `ConstantAccess` class
2021-02-11 17:19:47 +01:00
Arthur Baars
ada652b6f0
Merge branch 'main' into constants_scopes
2021-02-11 17:00:50 +01:00
Nick Rolfe
885137dca2
Simplify representation of calls that use scope resolution operator.
...
Now, `Foo::bar` is a call where the receiver expr is `Foo`.
2021-02-11 15:29:42 +00:00
Arthur Baars
f8ce7276a3
Merge pull request #123 from github/aibaars/ast-ensure
...
AST: ensure and else blocks
2021-02-11 15:17:30 +01:00
Arthur Baars
a908f2fe86
Merge pull request #121 from github/aibaars/dataflow-2
...
Dataflow: identify ReturnNodes
2021-02-11 15:10:27 +01:00
Arthur Baars
426bf30822
AST: ensure and else blocks
2021-02-11 14:27:23 +01:00
Arthur Baars
4f3412fff9
Address comments
2021-02-11 13:46:34 +01:00
Nick Rolfe
23998e5f99
Accept CFG test changes
...
Some generated ScopeResolution nodes are no longer represented in the
user-facing AST. These should go away when we port the CFG to the
user-facing AST.
2021-02-11 12:38:13 +00:00
Nick Rolfe
6ff0ebb94a
Add ConstantAccess class
2021-02-11 12:29:25 +00:00
Nick Rolfe
452a343e86
Remove ScopeResolution from AST
...
Now we handle it specially in calls and class/module names, so they have
predicate to get the scope expr.
2021-02-10 17:53:25 +00:00
Arthur Baars
0f6854301e
Dataflow: identify ReturnNodes
2021-02-10 18:26:11 +01:00
Arthur Baars
d69aa96f23
More tests
2021-02-10 18:26:11 +01:00
Arthur Baars
6c63bd2586
Merge pull request #120 from github/aibaars/ast
...
AST: lambda and block bodies
2021-02-10 18:25:37 +01:00
Arthur Baars
635b6fb45b
AST: lambda and brace block bodies
2021-02-10 14:45:14 +01:00
Arthur Baars
d4ebcbf18f
Merge pull request #118 from github/aibaars/dataflow
...
More dataflow steps
2021-02-09 20:36:28 +01:00
Tom Hvitved
9cfc08319d
Use Generated::AstNode in ExprChildMapping
2021-02-09 19:32:41 +01:00
Arthur Baars
1e64b264ba
Fix compilation errors after merge
2021-02-09 18:50:30 +01:00
Arthur Baars
3e0b7c491a
Merge remote-tracking branch 'origin/main' into aibaars/dataflow
2021-02-09 18:49:53 +01:00
Tom Hvitved
248f5cd648
Merge pull request #119 from github/hvitved/ast-range
...
Rangify `AstNode`
2021-02-09 16:47:50 +01:00
Tom Hvitved
85c13a1190
Make entries in RemoveWhenFullCoverage explicit
2021-02-09 16:34:25 +01:00
Arthur Baars
daa7bd7fd4
Move ReturningStmt::getValue implementation to internal library
2021-02-09 14:01:08 +01:00
Arthur Baars
e398837bdc
Rename Statement to Stmt
2021-02-09 13:55:06 +01:00
Arthur Baars
bb89e134c4
Address comments
2021-02-09 13:54:46 +01:00
Tom Hvitved
32daf28b34
Rangify AstNode
2021-02-09 12:17:21 +01:00
Arthur Baars
a752491c5f
Add flow steps for loop 'return' values
2021-02-08 19:06:07 +01:00
Arthur Baars
adb88df638
Add flow steps for conditional and case expressions
2021-02-08 19:00:47 +01:00
Arthur Baars
c991d550cd
AST: add Statement and ReturningStatement
2021-02-08 19:00:47 +01:00
Arthur Baars
bde04d48a2
Merge pull request #116 from github/aibaars/cfg-loop-post-order
...
CFG: make loop expressions post order
2021-02-08 09:53:25 +01:00
Arthur Baars
f2a6f3aadc
Update comments
2021-02-08 09:47:33 +01:00
Arthur Baars
37c4e6cbdf
Merge pull request #98 from github/aibaars/erb-extractor
...
Quick and dirty ERB extraction
2021-02-05 18:45:47 +01:00
Arthur Baars
b553eb6964
CFG: make 'for .. in' post-order
...
Use the 'in' as the intermediate node that checks whether the Enumerable
has more elements.
2021-02-05 18:23:31 +01:00
Arthur Baars
4ae55a718a
CFG: make 'while' post-order
2021-02-05 18:23:31 +01:00
Arthur Baars
5bb32b983c
Merge pull request #115 from github/aibaars/dataflow
...
My first dataflow step
2021-02-05 14:13:38 +01:00
Arthur Baars
846173732b
Add newline at the end of each code region in an ERB file
2021-02-05 09:49:25 +01:00
Arthur Baars
9d974bd56d
Extract ERB files
2021-02-05 09:48:54 +01:00
Arthur Baars
bc55fa861e
Merge pull request #114 from github/aibaars/fix-scopes
...
Correct the scope of class/method names etc.
2021-02-04 17:22:25 +01:00
Arthur Baars
83bcd26244
Add dataflow step tests
2021-02-04 16:09:50 +01:00
Arthur Baars
62802d53c8
Ensure module/class/methods and their headers belong to the right CfgScope
2021-02-04 15:32:20 +01:00
Arthur Baars
bfc5ee3149
Correct the scope of class/method names etc.
2021-02-04 15:30:58 +01:00
Arthur Baars
a998879897
Add local flow step for parenthesized expressions
2021-02-04 14:06:58 +01:00
Arthur Baars
f8cca01e6f
Restrict assigment flow to normal assignments only
2021-02-04 14:04:58 +01:00
Arthur Baars
8368a39f00
QLDoc updates
2021-02-04 13:40:06 +01:00
Arthur Baars
da565875df
Merge pull request #112 from github/hvitved/ssa/shared-sync
...
SSA: Sync with latest changes
2021-02-04 13:39:32 +01:00
Arthur Baars
8cec8699a7
Merge pull request #113 from github/aibaars/parenthesized-expr
...
AST: add ParenthesizedExpr
2021-02-04 13:36:47 +01:00
Arthur Baars
2035bc4d3a
AST: add ParenthesizedExpr
2021-02-04 11:51:05 +01:00
Nick Rolfe
61d9669655
Merge pull request #110 from github/class_ast
...
Add AST classes for classes and modules
2021-02-03 19:32:55 +00:00
Tom Hvitved
16c4faef6a
SSA: Sync with latest changes
...
Now that the shared SSA library supports uncertain/pseudo reads, we can simplify
the Ruby implementation.
2021-02-03 20:31:36 +01:00
Nick Rolfe
c5fca0cb6b
Add ModuleBase base class and combine class/module tests
2021-02-03 16:13:59 +00:00
Arthur Baars
3c0f822369
Merge pull request #111 from github/hvitved/dataflow
...
Initial data flow library
2021-02-03 13:43:08 +01:00
Tom Hvitved
de77a7f96d
Initial data-flow files
2021-02-03 10:57:14 +01:00
Nick Rolfe
8976cc556a
Update test to match removal of Module::getAClass()
2021-02-02 18:02:16 +00:00
Nick Rolfe
ee03e84d7f
Rename Class.qll to Module.qll
2021-02-02 18:00:29 +00:00
Nick Rolfe
645b8c2a8a
Apply suggestions from code review
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-02-02 17:54:00 +00:00
Tom Hvitved
f71505c29c
Data flow: Sync files
2021-02-02 13:03:42 +01:00
Nick Rolfe
6331a33b23
Update dbscheme stats
2021-02-01 14:41:00 +00:00
Nick Rolfe
c667791bde
Update expected test output to match toString() for classes and modules
2021-02-01 14:23:47 +00:00
Nick Rolfe
0649e6c3b0
Update CFG to handle separate superclass node
2021-02-01 14:23:47 +00:00
Nick Rolfe
fbc1c5e8c0
Add test for Module
2021-02-01 14:23:47 +00:00
Nick Rolfe
86bb8a246b
Add test for Class and SingletonClass
2021-02-01 14:23:47 +00:00
Nick Rolfe
d26822ad23
Add upgrade script moving superclass exprs to own table
2021-02-01 14:23:47 +00:00
Nick Rolfe
443a992a90
Add AST classes for classes and modules
2021-02-01 14:23:41 +00:00
Arthur Baars
2770b4fef8
Merge pull request #104 from github/aibaars/variables
...
Simple implementation of class and instance variables
2021-01-29 18:28:25 +01:00
Arthur Baars
c33c3a1124
Address comments
2021-01-29 17:45:48 +01:00
Arthur Baars
6a7e3bfc10
Address comments
2021-01-29 17:45:48 +01:00
Arthur Baars
2921f72473
Implement class variables
2021-01-29 17:45:48 +01:00
Arthur Baars
a07e0fb0f7
Class variables boilerplate code
2021-01-29 17:45:44 +01:00
Arthur Baars
341bc5c888
Implement instance variables
2021-01-29 16:09:44 +01:00
Arthur Baars
e36795c82e
Instance variables boilerplate code
2021-01-29 15:41:23 +01:00
Arthur Baars
184d42efe0
Remove unnecessary clause
2021-01-29 15:39:31 +01:00
Arthur Baars
b04391636d
Fix qldoc comment
2021-01-29 15:39:31 +01:00
Tom Hvitved
f8790c81a8
Merge pull request #108 from github/hvitved/ssa
...
Add SSA library
2021-01-29 15:12:14 +01:00
Nick Rolfe
623ee59410
Merge pull request #106 from github/self
2021-01-28 20:16:48 +00:00
Nick Rolfe
30804f74e2
Remove redundant instanceof expression
2021-01-28 17:48:16 +00:00
Tom Hvitved
47fdee4bbe
Sync SsaImplCommon.qll with C# implementation
2021-01-28 09:09:37 +01:00
Tom Hvitved
05b8a6c27b
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-01-28 08:49:42 +01:00
Nick Rolfe
640092352b
RegularSuperCallRange::getReceiver() never holds
2021-01-27 18:49:37 +00:00
Nick Rolfe
743e627a8d
Test calls to methods named 'super'
2021-01-27 18:45:08 +00:00
Nick Rolfe
70bbeaac3b
Simplify, since super tokens are never variable accesses
2021-01-27 18:28:01 +00:00
Tom Hvitved
b9b4325b84
Add initial mapping of CFG nodes to AST nodes
2021-01-27 15:38:49 +01:00
Tom Hvitved
edc6e7eba8
Add UnusedParameter.ql query
2021-01-27 10:47:42 +01:00
Tom Hvitved
9dfea8006d
Add UninitializedLocal.ql query
2021-01-27 10:44:49 +01:00
Tom Hvitved
8abedaee8a
Add DeadStoreOfLocal.ql query
2021-01-27 10:42:02 +01:00
Tom Hvitved
2077ba4a1f
Add SSA library
2021-01-27 10:39:19 +01:00
Nick Rolfe
6423ea3219
Merge pull request #107 from github/hvitved/index-files-working-dir
...
Add `--working-dir=.` to `index-files` call
2021-01-26 19:19:20 +00:00
Tom Hvitved
735eb24a33
Add --working-dir=. to index-files call
2021-01-26 19:31:16 +01:00
Nick Rolfe
7ac46bf8f8
Add SuperCall class for calls to super
2021-01-26 18:08:46 +00:00
Tom Hvitved
d19053deda
Merge pull request #105 from github/hvitved/vcall
2021-01-25 18:41:36 +01:00
Tom Hvitved
2c6b9eceda
Move vcall into internal/Variable.qll
2021-01-25 16:26:11 +01:00
Tom Hvitved
ce74208317
Merge pull request #97 from github/hvitved/var-access-categorization
...
Categorize variable accesses into reads and (implicit or explicit) writes
2021-01-25 16:25:35 +01:00
Tom Hvitved
979da623ed
Merge pull request #103 from github/hvitved/cfg/params
...
CFG: Replace special parameters with their identifiers
2021-01-25 16:24:10 +01:00
Tom Hvitved
3a0c9a8104
CFG: Replace special parameters with their identifiers
...
For example, instead of including `**kwargs` in the CFG, we include `kwargs`.
This means that all variable accesses belonging to parameter definitions will
be included in the CFG.
2021-01-25 10:02:21 +01:00
Nick Rolfe
12fc0b914b
Merge pull request #102 from github/hvitved/blocks-no-params
...
Recognize blocks without parameters
2021-01-22 15:44:14 +00:00
Tom Hvitved
586885f066
Recognize blocks without parameters
2021-01-22 16:16:01 +01:00
Tom Hvitved
0f3a4a1a60
Merge pull request #101 from github/stats
...
Update stats
2021-01-22 16:05:47 +01:00
Nick Rolfe
216b1de2dd
Update stats
2021-01-22 14:35:43 +00:00
Nick Rolfe
858ca0b3bc
Merge pull request #100 from github/call_ast
...
Add AST classes and tests for method calls
2021-01-22 14:33:10 +00:00
Nick Rolfe
243dfde72e
Create ComplexSymbolRange class to deduplicate some predicates
2021-01-22 14:21:39 +00:00
Tom Hvitved
7e374c416a
Categorize variable accesses into reads and (implicit or explicit) writes
2021-01-22 13:17:26 +01:00
Nick Rolfe
3939008fd5
Small tweaks based on PR feedback
2021-01-22 12:17:17 +00:00
Nick Rolfe
ccd8a2aae6
Merge remote-tracking branch 'origin/main' into call_ast
2021-01-22 11:48:32 +00:00
Tom Hvitved
08c655e4e3
Merge pull request #99 from github/hvitved/cfg/to-string
...
CFG: Use manual `toString()`s for `AstCfgNode` when available
2021-01-21 14:10:16 +01:00
Nick Rolfe
2e8d154f2b
Add AST classes and tests for method calls
2021-01-20 18:34:25 +00:00
Tom Hvitved
bf7eb022a0
CFG: Use manual toString()s for AstCfgNode when available
2021-01-20 19:15:03 +01:00
Arthur Baars
78771ba4c2
Merge pull request #96 from github/hvitved/codeql-submodule-sync
...
Add `github/codeql` submodule and functionality for synchronizing files
2021-01-19 11:16:38 +01:00
Tom Hvitved
c11df1fe8c
Add sync-identical-files.py
2021-01-18 17:34:51 +01:00
Tom Hvitved
a41eea4fd7
Merge pull request #95 from github/hvitved/cfg/not-bug
...
CFG: Fix bug in `LogicalNotTree`
2021-01-18 16:05:39 +01:00
Tom Hvitved
e9a8afe284
Add github/codeql as a sub module
2021-01-18 15:54:39 +01:00
Tom Hvitved
34fe416a85
CFG: Fix bug in LogicalNotTree
2021-01-18 15:03:58 +01:00
Tom Hvitved
3f31775252
CFG: Add test for constant condition
2021-01-18 15:01:41 +01:00
Arthur Baars
03d407e50d
Merge pull request #82 from github/more_exprs
...
Add AST library for control expressions (conditionals and loops)
2021-01-11 10:35:37 +01:00
Nick Rolfe
6d7efab820
Add ConditionalLoop base class
2021-01-08 12:20:08 +00:00
Arthur Baars
c68f6a7f2e
Merge pull request #84 from github/aibaars/codeql-threads
...
Actions: apply CODEQL_THREADS to all steps
2021-01-08 13:19:01 +01:00
Nick Rolfe
6465c90a16
Rename IfOrElsifExpr to IfExpr; remove child classes
2021-01-08 11:53:15 +00:00
Nick Rolfe
15785b4535
Add db base type for CaseExpr::Range
2021-01-08 11:31:43 +00:00
Arthur Baars
4ef4053385
Actions: apply CODEQL_THREADS to all steps
2021-01-08 10:25:25 +01:00
Nick Rolfe
6efebf1e36
Merge remote-tracking branch 'origin/main' into more_exprs
2021-01-07 19:02:50 +00:00
Nick Rolfe
6c0804c1af
Address feedback on CFG change
2021-01-07 19:02:37 +00:00
Nick Rolfe
8cb8ead48e
Address more feedback on ExprSequence
2021-01-07 19:02:14 +00:00
Nick Rolfe
19a4e63ac6
Move comment about getCondition from class to predicate
2021-01-07 18:01:38 +00:00
Nick Rolfe
9a71bdc993
Improvements from feedback on case/when classes.
2021-01-07 17:48:51 +00:00
Nick Rolfe
36c7d3fe5b
Replace ConditionalExpr::get{Then,Else} with getBranch(boolean cond).
2021-01-07 17:32:41 +00:00
Nick Rolfe
e245382057
Merge pull request #83 from github/threads
...
Parallelize extraction
2021-01-07 17:14:41 +00:00
Nick Rolfe
f4abe7f4a1
Remove ThenExpr, ElseExpr, and DoExpr from public API
2021-01-07 15:56:31 +00:00
Nick Rolfe
83a28786a0
Use 4 threads for extraction and TRAP import in stats job
2021-01-07 11:17:07 +00:00
Nick Rolfe
1d3f06aca1
Simplify propagation of errors
2021-01-07 11:11:15 +00:00
Nick Rolfe
92c78e2b2d
Simplify num_codeql_threads function slightly
2021-01-07 11:10:43 +00:00
Nick Rolfe
bb2bdc01b5
Have the extract function create the TS parser object
2021-01-07 10:56:23 +00:00
Nick Rolfe
bf4eac5113
Parallelize extraction
...
Use the Rayon library to do parallel iteration over the file list. The
number of threads used respects the CODEQL_THREADS environment variable.
2021-01-06 18:22:27 +00:00
Nick Rolfe
f484b573f2
update stats for dbscheme change
2021-01-05 16:25:46 +00:00
Nick Rolfe
7c503120ae
Add AST library for control expressions (conditionals and loops)
2021-01-05 16:08:33 +00:00
Arthur Baars
c35283cefb
Merge pull request #77 from github/aibaars/global-variables
...
Add global variables
2020-12-21 12:15:31 +01:00
Arthur Baars
f0ddeaa9f2
Merge pull request #81 from github/aibaars/revert-dup-code
...
Update ruby.dbscheme.stats
2020-12-21 12:15:10 +01:00
Arthur Baars
ad1782b620
Address comments
2020-12-21 11:01:46 +01:00
Arthur Baars
8469bd3688
Uncomment getAPrimaryQlClass()
2020-12-21 11:01:46 +01:00
Arthur Baars
dc0de9132e
Add GlobalVariable
2020-12-21 11:01:46 +01:00
Arthur Baars
1ada9feda7
Make VariableAccess "abstract"
2020-12-21 11:01:46 +01:00
Arthur Baars
ebacec41d5
Update ruby.dbscheme.stats
2020-12-21 10:58:25 +01:00
Nick Rolfe
b1b2815c26
Merge pull request #80 from github/aibaars/revert-dup-code
...
Updates after CodeQL upgrade to 2.4.1
2020-12-21 09:57:59 +00:00
Arthur Baars
d4874641a3
Revert "Add duplicate code tables to dbscheme"
...
This reverts commit 4c699fcb32 .
2020-12-21 10:45:59 +01:00
Arthur Baars
bf232f0582
Update formatting for CodeQL 2.4.1
2020-12-21 10:45:59 +01:00
Arthur Baars
ff8ea6d44f
Merge pull request #79 from github/test_checks
...
Add all the TRAP check flags in qltest workflow
2020-12-21 10:20:47 +01:00
yo-h
402ed04189
Merge pull request #4844 from johnlugton/servicestack
...
Add provisional support for ServiceStack framework to feature branch
2020-12-18 16:24:27 -05:00
Nick Rolfe
5a54026bcc
Add all the TRAP check flags in qltest workflow
2020-12-18 17:25:28 +00:00
John Lugton
059d6b0e0f
Fix warning in ServiceStack.qll
2020-12-18 08:34:06 -08:00
John Lugton
563dc62c33
Improve qldoc for ServiceStack.qll
2020-12-18 08:23:27 -08:00
Arthur Baars
dddf0a66d9
Merge pull request #78 from github/typo
...
fix typo in comment
2020-12-18 13:50:58 +01:00
Nick Rolfe
72319b538f
fix typo in comment
2020-12-18 12:47:31 +00:00
Arthur Baars
8f1c916242
Merge pull request #66 from github/aibaars/cfg-2
...
CFG: make all simple nodes instance of StandardLeftToRight{Pre,Post}Tree
2020-12-18 13:26:05 +01:00
Nick Rolfe
c4ca537574
Merge pull request #75 from github/stmts_exprs
...
Add AST classes and tests for operations
2020-12-18 10:40:27 +00:00
Nick Rolfe
6c828214f7
Make import private
2020-12-18 10:23:19 +00:00
Nick Rolfe
53fbfc369d
Make params test pass for now
...
- some toString improvements
- comment out getAPrimaryQlClass predicates that cause the test to fail
2020-12-18 10:13:13 +00:00
Nick Rolfe
4718de08b2
Address review feedback
2020-12-18 10:08:45 +00:00
John Lugton
3f1f83f667
remove experimental
2020-12-17 16:24:52 -08:00
John Lugton
6d5f9035e6
Minor fixes to XSS:
...
Only want returns in request methods
Also care about non-string 1st args to HttpResult e.g. streams
2020-12-17 16:17:26 -08:00
John Lugton
7d47bffd53
Tidy up ServiceStack.qll
...
Use fully qualified names for classes
Make util predicate private
Make naming more consistent with rest of ql libs
2020-12-17 16:17:26 -08:00
Chelsea Boling
d4acccb13c
Update sink
2020-12-17 16:17:26 -08:00
Chelsea Boling
0a7e4b6840
Update sink based on feedback
2020-12-17 16:17:26 -08:00
Chelsea Boling
4e0f3a30ee
Update sink based on feedback
2020-12-17 16:17:25 -08:00
Chelsea Boling
ba46eaa143
Refactor sink
2020-12-17 16:17:25 -08:00
Chelsea Boling
3c493511e9
Update file
2020-12-17 16:17:25 -08:00
Chelsea Boling
12e8107492
Add example
2020-12-17 16:17:25 -08:00
Chelsea Boling
5c7dedffb3
Update sinks
2020-12-17 16:17:25 -08:00
Chelsea Boling
71a08c3237
Update servicestack lib
2020-12-17 16:17:25 -08:00
John Lugton
d408ae7e10
Split ServiceStack into modules and incorporate into main lib
2020-12-17 16:17:25 -08:00
John Lugton
386eb2d56b
move ServiceStack out of microsoft
2020-12-17 16:17:25 -08:00
Chelsea Boling
a2615339f7
Delete ServiceStack.qll
2020-12-17 16:17:24 -08:00
Chelsea Boling
cae6f91729
Create ServiceStack.qll
2020-12-17 16:17:24 -08:00
Chelsea Boling
dbe0170249
Add files via upload
2020-12-17 16:17:24 -08:00
Chelsea Boling
188dbde2d6
Create SQLInjection.ql
2020-12-17 16:17:24 -08:00
Chelsea Boling
96d11b7966
Create ServiceStack.qll
2020-12-17 16:17:24 -08:00
Nick Rolfe
a87fe410af
Simplify examples for unary plus/minus
2020-12-17 18:35:01 +00:00
Nick Rolfe
8b7af665b4
Simplify imports
2020-12-17 18:33:49 +00:00
Tom Hvitved
6893f57978
Merge pull request #74 from github/hvitved/cfg/fix-join-order
...
CFG: Fix bad join-order
2020-12-17 16:58:23 +01:00
Tom Hvitved
07c464b753
CFG: Fix bad join-order
...
Before:
```
[2020-12-17 11:33:46] (211s) Tuple counts for ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::nestedEnsure_dispred#ff/2@2ea588:
11409019 ~0% {2} r1 = SCAN ControlFlowGraphImpl::getScope#ff AS I OUTPUT I.<1>, I.<0> 'this'
3714296409 ~0% {3} r2 = JOIN r1 WITH ControlFlowGraphImpl::Trees::getAChildInScope#fff_102#join_rhs AS R ON FIRST 1 OUTPUT r1.<1> 'this', R.<1>, R.<2>
2359 ~0% {2} r3 = JOIN r2 WITH ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::getAnEnsureDescendant#ff AS R ON FIRST 2 OUTPUT r2.<2>, r2.<0> 'this'
1 ~0% {2} r4 = JOIN r3 WITH ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::getEnsure_dispred#ff_10#join_rhs AS R ON FIRST 1 OUTPUT r3.<1> 'this', R.<1> 'innerBlock'
return r4
```
After:
```
[2020-12-17 15:20:37] (51s) Tuple counts for ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::nestedEnsure_dispred#ff/2@c4f57d:
635 ~1% {3} r1 = JOIN ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::getEnsure_dispred#ff_10#join_rhs AS L WITH ControlFlowGraphImpl::Trees::getAChildInScope#fff_201#join_rhs AS R ON FIRST 1 OUTPUT R.<1>, L.<1> 'innerBlock', R.<2>
1 ~0% {3} r2 = JOIN r1 WITH ControlFlowGraphImpl::Trees::RescueEnsureBlockTree::getAnEnsureDescendant#ff_10#join_rhs AS R ON FIRST 1 OUTPUT R.<1> 'this', r1.<2>, r1.<1> 'innerBlock'
1 ~0% {2} r3 = JOIN r2 WITH ControlFlowGraphImpl::getScope#ff AS R ON FIRST 2 OUTPUT r2.<0> 'this', r2.<2> 'innerBlock'
return r3
```
2020-12-17 16:46:03 +01:00
Arthur Baars
ff751b97d2
CFG: make all simple nodes instance of StandardLeftToRight{Pre,Post}Tree
2020-12-17 16:39:54 +01:00
Arthur Baars
a15a066414
Merge pull request #72 from github/aibaars/fix-cfg
...
CFG improvements
2020-12-17 16:39:19 +01:00
Arthur Baars
b676c95218
Address comments
2020-12-17 16:35:51 +01:00
Nick Rolfe
73798312b9
Add classes and tests for operations
2020-12-17 15:16:37 +00:00
Tom Hvitved
46fc17da58
CFG: Fix multiple abnormal successors
2020-12-17 11:15:17 +01:00
Tom Hvitved
1033b8610a
CFG: Add more tests
2020-12-17 11:14:10 +01:00
Arthur Baars
91ae237434
Use latest CodeQL for CI
2020-12-17 11:04:57 +01:00
Arthur Baars
dd954ea943
CFG: correct flow for lambda bodies
...
Lambda bodies are parsed as nested do-blocks or normal blocks.
This is actually incorrect, as the body of a lambda can't have
parameters. However, we can "inline" such blocks to get the
desired control flow.
2020-12-17 10:04:01 +01:00
Arthur Baars
eafec4331b
CFG: add nodes for block arguments
2020-12-17 10:04:01 +01:00
Arthur Baars
d016e3cae0
CFG: methods are evaluated before their arguments
2020-12-17 10:04:01 +01:00
Arthur Baars
81c907a87a
CFG: fix BEGIN and END blocks
2020-12-17 10:04:01 +01:00
Arthur Baars
f2fd1c7931
CFG: make def nodes visible
2020-12-17 10:04:01 +01:00
Arthur Baars
f2effce786
CFG: improve handling of block and lambda
2020-12-17 10:04:01 +01:00
Arthur Baars
30895e634c
CFG: refactor CfgScope
2020-12-17 10:04:01 +01:00
Arthur Baars
bc47338b52
CFG: add test-case for conditional method declarations
2020-12-17 10:04:01 +01:00
Arthur Baars
69de81bdd5
CFG: have alternative flow for the definition and call of methods etc.
2020-12-17 10:04:01 +01:00
Arthur Baars
fd14770542
CFG: drop getObject from flow of singleton method
2020-12-17 09:59:30 +01:00
Arthur Baars
8501e30b6a
CFG: fix linking heredoc start to heredoc body
2020-12-17 09:59:30 +01:00
Arthur Baars
edbd997f15
Merge pull request #71 from github/kinds
...
Create disjoint db types for different operators
2020-12-17 09:58:52 +01:00
Nick Rolfe
282d20d766
Remove redundant field on ChildNode struct
2020-12-16 20:57:06 +00:00
Nick Rolfe
a873cb9f3d
Update dbscheme stats
2020-12-16 20:53:41 +00:00
Nick Rolfe
d1a9572b0e
Merge remote-tracking branch 'origin/main' into kinds
2020-12-16 17:55:20 +00:00
Nick Rolfe
f5282edfc1
Simplifications based on PR feedback
2020-12-16 17:54:40 +00:00
Arthur Baars
381d6aafaa
Merge pull request #73 from github/calls
...
Update tree-sitter-ruby to pick up improvements to calls
2020-12-16 14:00:53 +01:00
Nick Rolfe
0518d51b51
Update CFG: call receiers are evaluated before arguments
2020-12-16 12:40:57 +00:00
Nick Rolfe
e98a84c8b5
Update CFG to match changes to Call/MethodCall
2020-12-16 12:01:30 +00:00
Nick Rolfe
aa0c1491a6
Update tree-sitter-ruby to pick up improvements to calls
2020-12-16 10:13:45 +00:00
Arthur Baars
7971b243f1
Merge pull request #69 from github/hvitved/cfg/post-order-cond
...
CFG: Model `IfElsifAstNode` in post-order
2020-12-15 19:22:16 +01:00
Nick Rolfe
ddb71790e9
Fix formatting
2020-12-15 16:01:13 +00:00
Tom Hvitved
9aadeedeb9
CFG: Model IfElsifAstNode in post-order
2020-12-15 17:00:12 +01:00
Tom Hvitved
bb88858633
CFG: Add test for nested ifs
2020-12-15 16:46:55 +01:00
Nick Rolfe
3f5eab04b5
Create disjoint db types for different operators
2020-12-15 15:22:33 +00:00
Arthur Baars
ac9f439935
Merge pull request #70 from github/hvitved/cfg/rescue-part2
...
CFG: More adjustments for `rescue`/`ensure`
2020-12-15 16:06:26 +01:00
Tom Hvitved
16c25f2a4c
CFG: Handle ensure blocks without body/rescues
2020-12-15 13:49:14 +01:00
Tom Hvitved
489b406e2a
CFG: Change column order in succExit/hasExitScope
2020-12-15 13:45:22 +01:00
Tom Hvitved
e784640cca
CFG: Add more test cases
2020-12-15 13:45:22 +01:00
Arthur Baars
5108b369e1
Merge pull request #64 from github/hvitved/cfg/rescue
...
Implement CFG logic for `rescue-ensure`
2020-12-15 11:43:14 +01:00
Tom Hvitved
a76e6848c7
CFG: Address more review comments
2020-12-14 20:45:57 +01:00
Tom Hvitved
ec4ead2117
Apply suggestions from code review
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-12-14 14:53:35 +01:00
Nick Rolfe
b76f97d337
Merge pull request #68 from github/bump_ts
...
Bump tree-sitter-ruby revision to get operator_assignment field
2020-12-14 12:40:36 +00:00
Tom Hvitved
89fb2f8498
CFG: Add @kind graph to Cfg.ql, and remove labels from ordinary successor edges
2020-12-14 11:00:26 +01:00
Nick Rolfe
6bacac7598
Bump tree-sitter-ruby revision to get operator_assignment field
2020-12-08 18:28:54 +00:00
Tom Hvitved
b14a889f5f
CFG: Use MatchingCompletion for parameters with default values
2020-12-08 13:47:32 +01:00
Tom Hvitved
80a59a81ed
CFG: Use MatchingCompletion for patterns
2020-12-08 13:47:32 +01:00
Tom Hvitved
31b8d33a7c
CFG: Mark redo edges out of for loops
2020-12-08 13:47:32 +01:00
Tom Hvitved
b6ea5c5eab
CFG: Implement logic for rescue-ensure blocks
2020-12-08 13:47:32 +01:00
Nick Rolfe
53a1cbc492
Merge pull request #67 from github/getAPrimaryQlClass
...
Rename describeQlClass to getAPrimaryQlClass
2020-12-08 12:16:18 +00:00
Nick Rolfe
3145b3dde7
Rename describeQlClass to getAPrimaryQlClass
2020-12-08 11:09:18 +00:00
Tom Hvitved
5a0376f67e
CFG: More tests
2020-12-08 11:06:15 +01:00
Arthur Baars
990ed34c02
Merge pull request #55 from github/aibaars/cfg
...
Control flow graph
2020-12-07 16:51:33 +01:00
Arthur Baars
9390cf0401
CFG: add test case for if-in-case
2020-12-07 16:46:52 +01:00
Arthur Baars
86e73afc74
CFG: extract HeredocBeginning::getName predicate
2020-12-07 16:31:17 +01:00
Arthur Baars
9883d7124e
CFG: improve handling of redo
2020-12-07 16:20:42 +01:00
Arthur Baars
003f7230b2
Apply suggestions from code review
...
Co-authored-by: Tom Hvitved <hvitved@github.com >
2020-12-07 16:02:19 +01:00
Arthur Baars
024150b04b
CFG: hide 'begin'
2020-12-07 16:02:19 +01:00
Arthur Baars
87451fd999
CFG: specialise return type instead of instanceof check
2020-12-07 15:36:09 +01:00
Arthur Baars
6aea3eff3e
CFG: rename getBody{=>Node} and getCondition{=>Node}
2020-12-07 15:30:57 +01:00
Arthur Baars
6d12bcc2fe
Make ConditionalSuccessor not abstract
2020-12-07 15:19:14 +01:00
Arthur Baars
044d14c8b4
Use private imports in generated code
2020-12-07 15:14:34 +01:00
Arthur Baars
ed3b102ecc
Improve formatting
2020-12-07 15:12:43 +01:00
Arthur Baars
d25835c7d2
Merge pull request #61 from github/aibaars/code-nav
...
Add basic code navigation queries
2020-12-07 14:47:43 +01:00
Arthur Baars
2394b26636
CFG: skip Uninterpreted nodes
2020-12-07 13:11:21 +01:00
Arthur Baars
36f5a63c18
Improve handling of class, module, block and method
2020-12-07 13:11:21 +01:00
Arthur Baars
2124247d5e
CFG: add samples of all syntactical constructs to cfg.rb
2020-12-07 13:11:21 +01:00
Arthur Baars
ebf3a31224
CFG: don't handle rescue, else, ensure for now
2020-12-07 13:11:21 +01:00
Arthur Baars
97d0220ffd
CFG: Model nodes with simple flow
2020-12-07 13:11:21 +01:00
Arthur Baars
3807e1be38
CFG: flow for rescue-modifier
2020-12-07 13:11:21 +01:00
Arthur Baars
d619bdd8f9
CFG: Completions: fix definition of boolean constants
2020-12-07 13:11:21 +01:00
Arthur Baars
6c579ff608
CFG: link heredoc start to its body
2020-12-07 13:11:21 +01:00
Arthur Baars
49d11b1e09
CFG: don't hide Class and Module nodes
2020-12-07 13:11:21 +01:00
Arthur Baars
0852068bcd
CFG: make lambda a CFG entry point
2020-12-07 13:11:21 +01:00
Arthur Baars
01066ea3bb
CFG: case expression
2020-12-07 13:11:21 +01:00
Arthur Baars
2f238280dc
CFG: model if-modifier and unless
2020-12-07 13:11:21 +01:00
Arthur Baars
5d6e77be28
CFG: model while, until and variants
2020-12-07 13:11:21 +01:00
Arthur Baars
6660cb4417
CFG: for-in loop
2020-12-07 13:11:21 +01:00
Arthur Baars
165b2b37dc
Treat for variables and exception variables as declarations
2020-12-07 13:11:21 +01:00
Arthur Baars
b60ea74e8a
Treat conditional expressions as if-then-else
2020-12-07 13:11:21 +01:00
Arthur Baars
97fab0d18b
Assignments evaluate right-hand-side first
2020-12-07 13:11:21 +01:00
Arthur Baars
465c266b8a
Classes and module are not CfgScopes
2020-12-07 13:11:21 +01:00
Arthur Baars
0959a4675f
Merge pull request #65 from github/aibaars/dup-code
...
Add duplicate code tables to dbscheme
2020-12-07 13:10:52 +01:00
Arthur Baars
4c699fcb32
Add duplicate code tables to dbscheme
2020-12-07 13:06:26 +01:00
Arthur Baars
0a38d6801c
Address review comments
2020-12-07 12:53:45 +01:00
Arthur Baars
d92d635103
Add basic code navigation queries
2020-12-04 15:01:43 +01:00
Arthur Baars
1d502cb40d
Merge pull request #63 from github/aibaars/fix-warnings
...
Fix warnings and make imports private
2020-12-04 10:43:01 +01:00
Arthur Baars
c1f1efb16b
Merge pull request #62 from github/aibaars/update-grammar
...
Update tree-sitter grammar
2020-12-03 19:14:13 +01:00
Arthur Baars
22fd8908c5
Use private imports
...
No need to have everyting re-export the entire AST
2020-12-03 19:13:05 +01:00
Arthur Baars
582b00ef07
Fix warnings
2020-12-03 19:05:49 +01:00
Arthur Baars
dd3f94a3e2
Update tree-sitter grammar
2020-12-03 18:50:47 +01:00
Nick Rolfe
b0227a7ee1
Merge pull request #60 from github/aibaars/osx-gnutar
...
Workaround for broken cache on OSX
2020-12-03 16:10:10 +00:00
Arthur Baars
c69f64fb4f
Workaround for broken cache on OSX
2020-12-03 16:40:37 +01:00
Nick Rolfe
492f7d1987
Merge pull request #59 from github/bump_ts
...
Bump to latest tree-sitter-ruby revision
2020-12-02 20:04:12 +00:00
Nick Rolfe
d7c1231020
Bump to latest tree-sitter-ruby revision
2020-12-02 16:11:07 +00:00
Tom Hvitved
86a2cbc773
Merge pull request #58 from github/hvitved/pattern-get-a-variable
...
Add `Pattern::getAVariable()` and use `self` range field throughout
2020-12-02 12:57:52 +01:00
Tom Hvitved
9129e886b2
Update ql/src/codeql_ruby/ast/Parameter.qll
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-12-02 12:07:13 +01:00
Tom Hvitved
77129e473a
Adhere to ::Range pattern
2020-12-02 11:27:00 +01:00
Tom Hvitved
b2483069e0
Add Pattern::getAVariable() and use self range field througout
2020-12-02 10:36:33 +01:00
Arthur Baars
59263650b1
Merge pull request #57 from github/hvitved/rename-generated-qll
...
Move `Generated.qll` to `ast/internal/TreeSitter.qll`
2020-12-02 10:32:38 +01:00
Tom Hvitved
a370cd8bdf
Move Generated.qll to ast/internal/TreeSitter.qll
2020-12-01 20:53:41 +01:00
Tom Hvitved
ba7a42328d
Merge pull request #56 from github/hvitved/parameter-get-a-variable
...
Introduce `Parameter::getAVariable()`
2020-12-01 18:32:34 +01:00
Tom Hvitved
d50f5cc785
Address review comments
2020-12-01 15:14:14 +01:00
Tom Hvitved
9820dcb363
Generate VariableAccesses also for defining accesses
2020-12-01 14:39:41 +01:00
Tom Hvitved
bde9f59e0e
Introduce Parameter::getAVariable()
2020-12-01 13:18:06 +01:00
Tom Hvitved
965b351cde
Merge pull request #54 from github/hvitved/ast-final
...
Mark more AST predicates as `final`
2020-12-01 12:38:28 +01:00
Tom Hvitved
311a0b6b20
Mark more AST predicates as final
2020-12-01 10:24:33 +01:00
Tom Hvitved
11927a930f
Merge pull request #53 from github/user-facing
...
Add some user-facing AST classes
2020-12-01 10:23:37 +01:00
Nick Rolfe
baf29ae56b
Add qldoc comment and isOptional predicate to KeywordParameter
2020-11-30 13:42:02 +00:00
Tom Hvitved
c0dd89122c
Handle parameters with overlapping names
2020-11-28 19:23:08 +01:00
Tom Hvitved
58baa33a3f
Various changes to user-facing library
...
- Remove `abstract` classes from public API.
- Align `Variable.qll` with rest of library.
- Introduce `Callable` class.
- Make `Pattern` class cover everything that can be on the LHS of an assignment
and in a pattern (except special parameters such as `**param`).
2020-11-27 17:07:03 +01:00
Tom Hvitved
59d45de118
Move AST files into ast folder
2020-11-27 14:45:15 +01:00
Tom Hvitved
00f3daabfe
Rename Variables.qll to Variable.qll
2020-11-27 14:39:20 +01:00
Nick Rolfe
38b401f04f
Fix import
2020-11-26 16:04:46 +00:00
Arthur Baars
f9c7ae78fe
Merge pull request #52 from github/aibaars/db-stats
...
Collect database stats
2020-11-26 17:03:34 +01:00
Nick Rolfe
399170fd58
Add getParent(Index) to user-facing AstNode
2020-11-26 15:33:50 +00:00
Arthur Baars
c7986442d0
Update ruby.dbscheme.stats
2020-11-26 15:07:13 +01:00
Arthur Baars
49c97bd157
Collect database stats
2020-11-26 14:53:30 +01:00
Nick Rolfe
c598dc6b5c
Initial work on user-facing AST library
2020-11-26 13:45:45 +00:00
Arthur Baars
2082171bdf
Merge pull request #51 from github/aibaars/cfg-scopes
...
CFG: add more CfgScopeRanges
2020-11-26 12:13:53 +01:00
Tom Hvitved
8632cbec71
CFG: Do not descend into nested scopes
2020-11-26 10:58:23 +01:00
Arthur Baars
30cb2cc3e0
CFG: add more CfgScopeRanges
2020-11-26 10:58:23 +01:00
Arthur Baars
e181666a37
Merge pull request #49 from github/aibaars/parent
...
Add parent ref and parent_index fields to all AstNodes
2020-11-25 18:25:03 +01:00
Arthur Baars
083672744e
Remove @file from @astnode
2020-11-25 17:37:58 +01:00
Arthur Baars
735aec9d34
Ensure top-level nodes have distinct parent_index values
2020-11-25 13:48:25 +01:00
Arthur Baars
00015b0022
Add #keyset[parent, parent_index]
2020-11-25 13:48:25 +01:00
Arthur Baars
89953fd87c
Add parent_index field to @astnode
2020-11-25 13:48:25 +01:00
Arthur Baars
b72db8b6f1
Add parent field to AstNode
2020-11-25 13:48:25 +01:00
Arthur Baars
c7b07b7821
Merge pull request #47 from github/aibaars/name-resolution
...
Name resolution: handle the different types of parameters better
2020-11-25 13:44:42 +01:00
Arthur Baars
64ebf5b909
Address comments
2020-11-25 12:55:53 +01:00
Arthur Baars
7a13e8549b
Merge pull request #50 from github/pin_ts_rev
...
Pin tree-sitter-ruby revision
2020-11-24 20:46:53 +01:00
Nick Rolfe
f612e05b34
Pin tree-sitter-ruby revision
2020-11-24 19:22:30 +00:00
Arthur Baars
bc5d7a3b74
Change modelling of Parameters
2020-11-24 19:22:40 +01:00
Arthur Baars
c745978ebb
Fix inconsistent variable references
2020-11-24 19:22:40 +01:00
Arthur Baars
290d3decc8
Add consistency query for Variables
...
Test that VariableAccess.getVariable returns a unique Variable
2020-11-24 19:19:15 +01:00
Tom Hvitved
0616040f3c
Merge pull request #48 from github/hvitved/ci-check-queries
...
Check query compilation and formatting in `qltest.yml`
2020-11-24 11:51:54 +01:00
Tom Hvitved
eceeb6a5fd
Break up QL CI tests into separatly named steps
2020-11-24 11:47:59 +01:00
Tom Hvitved
966e1cdcd0
Apply old formatter to make CI check pass
2020-11-24 11:26:47 +01:00
Tom Hvitved
74f0a8fdb7
Check query compilation and formatting in qltest.yml
2020-11-24 11:20:16 +01:00
Tom Hvitved
d5582f3f48
Merge pull request #46 from github/hvitved/unique-parent
...
Add `unique` wrapper to `AstNode::getParent()`
2020-11-23 16:16:02 +01:00
Tom Hvitved
8132c4cafb
Update generator/src/ql.rs
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-11-23 16:12:31 +01:00
Tom Hvitved
d0257dda36
Add unique wrapper to AstNode::getParent()
2020-11-23 15:23:21 +01:00
Arthur Baars
41a76eeb01
Merge pull request #42 from github/aibaars/name-resolution
...
Local variable binding
2020-11-23 15:22:43 +01:00
Arthur Baars
3ea6cb40f8
Merge pull request #45 from github/hvitved/name-resolution-suggestions
...
Suggested changes to Variables.qll
2020-11-23 13:28:40 +01:00
Tom Hvitved
59624454d1
Suggested changes to Variables.qll
...
- Remove `abstract` predicates from public API.
- Cache core computations.
- Redefine `VariableScope::get[A]Variable` to only include variables declared
directly in the scope.
2020-11-23 10:33:34 +01:00
Arthur Baars
bc423000ca
Add variable to varaccess tests
2020-11-23 09:58:31 +01:00
Arthur Baars
49f1143133
Make Variable an IPA type and speed things up on large databases
2020-11-23 09:58:31 +01:00
Tom Hvitved
bb06c1ffeb
Various minor changes to Variables.qll
2020-11-23 09:58:31 +01:00
Arthur Baars
c16a2e77d8
Model local variables
2020-11-23 09:58:31 +01:00
Arthur Baars
6bd476ff30
Add AstNode::getParent
2020-11-23 09:58:31 +01:00
Nick Rolfe
10411ef49e
Merge pull request #43 from github/hvitved/unbreak-print-ast
...
Unbreak PrintAST query
2020-11-19 13:58:43 +00:00
Tom Hvitved
7716d53552
Unbreak PrintAST query
2020-11-19 14:48:14 +01:00
Tom Hvitved
100daacb94
Merge pull request #39 from github/hvitved/cfg-skeleton
...
Initial CFG skeleton code
2020-11-19 14:41:16 +01:00
Tom Hvitved
06a6a3feb0
Address review comments
2020-11-19 14:31:08 +01:00
Tom Hvitved
4626168969
CFG: Separate scope for method blocks
2020-11-19 09:29:15 +01:00
Tom Hvitved
4dd4373b53
Initial CFG skeleton code
2020-11-18 20:12:42 +01:00
Arthur Baars
f9c1bbd8f9
Merge pull request #41 from github/gitignore
...
Update .gitignore
2020-11-17 18:31:35 +01:00
Nick Rolfe
9d1eec8fe8
Update .gitignore
2020-11-17 16:45:10 +00:00
Nick Rolfe
12d4224e8e
Merge pull request #40 from github/refactor
...
Move all naming decisions to shared library
2020-11-17 11:19:18 +00:00
Nick Rolfe
1a9663ff7d
Replace single-branch match with if let
2020-11-16 18:43:54 +00:00
Nick Rolfe
68c97a2d13
Use .. to ignore fields
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-11-16 18:41:18 +00:00
Nick Rolfe
ad61f7a0a6
Use references instead of owned strings in generator
2020-11-16 17:54:16 +00:00
Nick Rolfe
bbe7c70d34
more refactoring of names
2020-11-16 17:54:16 +00:00
Nick Rolfe
83a0e5fea6
Refactor to move naming decisions to shared library
2020-11-16 17:54:14 +00:00
Nick Rolfe
505d5c04d8
Merge pull request #31 from github/aibaars/drop-classes
...
Simplify generated QL classes
2020-11-16 14:16:02 +00:00
Arthur Baars
043c3fd2eb
Simplify generated QL classes
2020-11-13 12:59:22 +01:00
Arthur Baars
f57d20f5c6
Merge pull request #36 from github/readme-build-dbs
...
Add README instructions for building databases
2020-11-13 12:57:09 +01:00
Nick Rolfe
c16390fd05
Merge remote-tracking branch 'origin/main' into readme-build-dbs
2020-11-13 11:37:28 +00:00
Nick Rolfe
8d46151a10
Merge pull request #37 from github/aibaars-patch-1
...
Change cache key
2020-11-13 11:33:31 +00:00
Arthur Baars
5fe3bf138c
Change cache key
2020-11-12 19:11:04 +01:00
Arthur Baars
402c348e37
Merge pull request #33 from github/aibaars/qltest
...
Add QL test support
2020-11-12 15:10:39 +01:00
Nick Rolfe
0e1b54f061
Add instructions for building databases
2020-11-12 13:33:32 +00:00
Nick Rolfe
bb1d6f3bb8
Merge pull request #34 from github/aibaars/osx-fmt
...
Remove cargo fmt workaround on OSX
2020-11-12 13:03:41 +00:00
Nick Rolfe
056879eb97
Merge pull request #35 from github/aibaars/cargo-update
...
Run: cargo update
2020-11-12 10:34:50 +00:00
Arthur Baars
8d1ed4bf89
Run: cargo update
...
This pulls in improvements to the tree-sitter-ruby repository.
2020-11-12 10:25:40 +01:00
Arthur Baars
557d990a0d
Remove cargo fmt workaround on OSX
...
The `fmt` component is now installed by default on OSX.
2020-11-12 09:29:26 +01:00
Arthur Baars
44150600ab
Add QLTest workflow
2020-11-11 21:57:50 +01:00
Arthur Baars
080c56c9eb
Add QL test support
2020-11-11 16:32:44 +01:00
Arthur Baars
db35abdf17
Merge pull request #32 from github/getFileBySourceArchiveName
...
Replace getEncodedFile with getFileBySourceArchiveName predicate
2020-11-11 13:46:10 +01:00
Nick Rolfe
5771e4790e
Replace getEncodedFile with getFileBySourceArchiveName predicate
...
While also making it work with paths for databases created on Windows.
2020-11-10 16:50:10 +00:00
Arthur Baars
5f1e373355
Merge pull request #30 from github/string_contents
...
Get latest fixes from tree-sitter-ruby repo
2020-11-09 15:05:50 +01:00
Arthur Baars
81ceb22b14
Restore cache before running cargo fmt
...
It appears cargo fmt also downloads the git dependencies which takes quite a while. The cache should contain a copy of the cloned repo, so restoring the cache early should speed things up.
2020-11-09 14:25:54 +01:00
Nick Rolfe
6f72ba106e
Get latest fixes from tree-sitter-ruby repo
2020-11-06 17:15:22 +00:00
Nick Rolfe
aec99746d6
Merge pull request #29 from github/aibaars/dedup
...
Deduplicate and sort union members
2020-11-05 18:00:07 +00:00
Arthur Baars
222af90790
Deduplicate and sort union members
2020-11-05 18:50:12 +01:00
Arthur Baars
f514655231
Merge pull request #28 from github/token_classes
...
Add classes for token kinds
2020-11-05 17:27:22 +01:00
Nick Rolfe
510621f018
Don't add 'Token' prefix to token subclass names
2020-11-05 16:21:33 +00:00
Nick Rolfe
4bda204118
Add classes for token kinds
2020-11-05 13:06:46 +00:00
Arthur Baars
296d4d0f47
Merge pull request #26 from github/aibaars/tokens
...
Store tokens into separate table
2020-11-05 14:03:26 +01:00
Arthur Baars
c565f323f6
Don't register extra tokens as children of the parent node
2020-11-05 12:53:58 +01:00
Arthur Baars
180df8a63d
Make classes non-abstract
2020-11-04 18:18:45 +01:00
Nick Rolfe
69b1d7c0dc
Make union-wrapping classes abstract to fix results for toString/describeQlClass
2020-11-04 16:01:51 +00:00
Arthur Baars
86aa05e3cb
Address comments
2020-11-04 14:49:47 +01:00
Arthur Baars
c3e8d85f0b
Tolerate tokens containing invalid UTF-8
2020-11-04 14:46:31 +01:00
Arthur Baars
8056186c3c
Hide disconnected tokens
2020-11-04 13:35:24 +01:00
Arthur Baars
96423d2e8e
Remove describeQlClass from union types
...
The descriptions of the underlying types are more interesting.
2020-11-04 13:35:24 +01:00
Arthur Baars
053c9f60a4
Store tokens in a separate table
2020-11-04 13:35:24 +01:00
Nick Rolfe
9e49991859
Merge pull request #27 from github/extractor-pack-script
...
Add scripts to create extractor pack locally
2020-11-04 12:20:45 +00:00
Nick Rolfe
b16588f058
Add powershell script to create extractor pack locally
2020-11-04 12:09:52 +00:00
Nick Rolfe
a83ac24652
Add bash script to create extractor pack locally
2020-11-04 11:59:17 +00:00
Arthur Baars
b92d789598
Merge pull request #25 from github/printAST
...
Implement basic `printAst` query
2020-11-03 19:13:44 +01:00
Nick Rolfe
41dcb19cd5
Implement basic printAst query
2020-11-03 13:47:54 +00:00
Arthur Baars
65c1f2c359
Merge pull request #20 from github/aibaars/extract-extra
...
Extract 'extra' nodes and their subtrees
2020-11-03 13:45:33 +01:00
Arthur Baars
d7e9178cda
Merge pull request #24 from github/gzip
...
Add buffered writing and gzip compression for trap files
2020-11-03 13:45:19 +01:00
Arthur Baars
bfc05539ec
Update library and dbscheme
2020-11-03 10:07:05 +01:00
Arthur Baars
25205a09a3
Update tree-sitter-ruby
2020-11-03 10:06:59 +01:00
Arthur Baars
dc3459de8e
Extract 'extra' nodes and their subtrees
2020-11-03 10:03:11 +01:00
Nick Rolfe
27c3c88b3c
Add buffered writing and gzip compression for trap files
2020-11-02 16:14:19 +00:00
Arthur Baars
0156de12ea
Merge pull request #22 from github/aibaars/trapwriter
...
Add a TrapWriter
2020-11-02 15:00:38 +01:00
Arthur Baars
0ccd97639b
Address comments
2020-11-02 13:30:46 +01:00
Arthur Baars
0ecab93d09
Merge pull request #23 from github/aibaars/locations-lib
...
Add Locations.qll and import FileSystem and Locations libraries in generated AST
2020-11-02 13:08:15 +01:00
Arthur Baars
f94b5ae412
Update QL code generator
2020-10-31 14:03:26 +01:00
Arthur Baars
1b502c161e
Add Locations library and move language independent files to 'codeql'
2020-10-31 11:51:01 +01:00
Arthur Baars
63ca8212f6
Limit string sizes to 1MB
2020-10-31 11:36:01 +01:00
Arthur Baars
f265ccef59
TrapWriter: add global ID caching and populate folders
2020-10-31 11:35:57 +01:00
Arthur Baars
0de8b0c069
Add TrapWriter::comment
2020-10-31 11:35:22 +01:00
Arthur Baars
748dee64ae
Escape label keys
2020-10-31 11:35:22 +01:00
Arthur Baars
57842e8a87
Add TrapWriter
2020-10-31 11:35:16 +01:00
Nick Rolfe
83667ab89a
Merge pull request #19 from github/locations
...
Fix location handling to match common db schema requirements
2020-10-30 16:56:34 +00:00
Arthur Baars
c2c197dba5
Merge pull request #21 from github/aibaars/files-qll
...
Basic FileSystem.qll
2020-10-30 17:50:54 +01:00
Nick Rolfe
075c72e6ef
Iterate through path components to 'normalize' paths on windows
2020-10-30 15:26:46 +00:00
Arthur Baars
3e12aa457f
Basic FileSystem.qll
2020-10-30 15:40:29 +01:00
Nick Rolfe
e73500ef7c
Cope with empty filenames/extensions
2020-10-30 14:38:24 +00:00
Nick Rolfe
0a754334cf
Don't generate the QL File class
2020-10-30 13:41:27 +00:00
Nick Rolfe
35cb379db7
Fix name of table for locations
2020-10-30 13:24:16 +00:00
Nick Rolfe
a54f923a73
Normalize the absolute path in the files table
2020-10-30 13:22:58 +00:00
Nick Rolfe
4b8bbd101c
Give locations full ids matching the common spec
2020-10-30 13:06:21 +00:00
Nick Rolfe
79d15051be
Fix full ids for files to match common spec
2020-10-30 12:45:23 +00:00
Nick Rolfe
7f03206b52
Use a key id for file entities
2020-10-30 11:29:04 +00:00
Nick Rolfe
826b4571a0
Canonicalize source file paths in main
2020-10-30 11:21:51 +00:00
Nick Rolfe
d47bd32b58
Now that we also generate conjunctions, use parentheses in disjunctions
2020-10-30 10:34:42 +00:00
Nick Rolfe
f198dc530f
Use fromSource = 1
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-10-30 10:25:09 +00:00
Nick Rolfe
2232700428
Correct comment
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-10-30 10:24:24 +00:00
Nick Rolfe
4d5d80c749
Fix location handling to match common db schema requirements
2020-10-29 19:44:16 +00:00
Nick Rolfe
556507cec7
Merge pull request #18 from github/optional_fields
...
Don't generate an index for optional fields that occur at most once
2020-10-29 15:35:27 +00:00
Nick Rolfe
547d12ca58
Add more info to error message
2020-10-29 15:13:04 +00:00
Nick Rolfe
11c9c18de4
Don't generate an index for optional fields that occur at most once
2020-10-29 13:04:26 +00:00
Arthur Baars
fbb075b477
Merge pull request #17 from github/aibaars/locations-2
...
TRAP locations: always fix-up empty ranges
2020-10-29 12:15:52 +01:00
Arthur Baars
3350d9d3d4
TRAP locations: always fix-up empty ranges
2020-10-29 10:45:07 +01:00
Arthur Baars
ca91e15a4b
Merge pull request #16 from github/aibaars/locations
...
Fix locations in the
2020-10-28 18:09:58 +01:00
Arthur Baars
4c04b8bb15
Add comment
2020-10-28 17:40:01 +01:00
Arthur Baars
d2f42552f6
Adjust source locations
...
Tree-sitter row and column numbers are 0-based while CodeQL expects 1-based.
In addition tree-sitter location ranges end-points are exclusive while
CodeQL's ranges are inclusive.
2020-10-28 17:30:03 +01:00
Nick Rolfe
743eca7992
Merge pull request #15 from github/aibaars/ql-folder
...
Add QL folder structure
2020-10-28 13:11:50 +00:00
Arthur Baars
638fd91e50
Update generator to write the ast.qll file directly into ql/src
2020-10-28 14:04:36 +01:00
Arthur Baars
28a99cfe83
Update path of generated dbscheme
2020-10-28 14:04:36 +01:00
Arthur Baars
88acbc883c
Copy dbscheme stats into extractor pack
2020-10-28 14:04:36 +01:00
Arthur Baars
030d957535
Update stats with values measured on bunch of ruby databases
2020-10-28 14:04:36 +01:00
Arthur Baars
5d3f2de685
Add dbscheme to QL folder
2020-10-28 14:04:36 +01:00
Arthur Baars
2e102b8cdf
Add folder structure for QL code
2020-10-28 14:04:36 +01:00
Arthur Baars
553e1ab465
Merge pull request #13 from github/aibaars/improve-workflow
...
Check formatting and cache builds
2020-10-28 14:04:05 +01:00
Arthur Baars
7e6c30b121
Check formatting and cache builds
2020-10-28 13:55:52 +01:00
Nick Rolfe
29899485c7
Merge pull request #11 from github/ql_gen
...
Generate QL classes
2020-10-28 12:25:53 +00:00
Nick Rolfe
e03d5da8cd
Rename a field to avoid using raw identifiers
2020-10-28 12:14:54 +00:00
Nick Rolfe
f4b9c0c71a
Merge remote-tracking branch 'origin/main' into ql_gen
2020-10-28 11:41:18 +00:00
Nick Rolfe
24b4586ddd
Merge pull request #14 from github/aibaars/remove-storage-index
...
Extractor: fix child index values
2020-10-28 11:37:38 +00:00
Nick Rolfe
11152583d5
Add get_name() method to simplify logic in field handling
2020-10-28 11:30:50 +00:00
Nick Rolfe
53de99e6af
Regenerate QL with fix to Top::getAFieldOrChild
2020-10-28 11:22:21 +00:00
Nick Rolfe
7b51030dd4
Merge remote-tracking branch 'origin/ql_gen' into ql_gen
2020-10-28 11:20:58 +00:00
Nick Rolfe
b4f9599dd9
Simplify hashmap insertion
2020-10-28 11:20:47 +00:00
Nick Rolfe
679ca6d0f1
Update Actions workflow to generate ruby_ast.qll
2020-10-28 11:04:09 +00:00
Nick Rolfe
17820e017c
Fix Top::getAFieldOrChild() so it doesn't take an index arg
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2020-10-28 11:02:42 +00:00
Nick Rolfe
bc22631c32
Simplify QL model following review feedback
2020-10-28 11:00:40 +00:00
Nick Rolfe
77fdafdc95
Simplify error handling with if let
2020-10-28 10:35:33 +00:00
Nick Rolfe
59580d51bb
Merge remote-tracking branch 'origin/main' into ql_gen
2020-10-28 10:30:36 +00:00
Arthur Baars
fe1d8ec15f
Extractor: fix child index values
2020-10-27 22:32:53 +01:00
Arthur Baars
0c15783f2b
Merge pull request #12 from github/crates-language
...
Use tree-sitter-ruby crate instead of vendoring it
2020-10-27 20:53:48 +01:00
Nick Rolfe
a41c3e36f9
Give node_types a static lifetime.
2020-10-27 19:11:05 +00:00
Nick Rolfe
5484ff3dcf
Use tree_sitter_ruby crate in generator
2020-10-27 18:13:40 +00:00
Douglas Creager
2663de86fb
Don't clone submodules in Actions workflow
...
Since we don't have any submodules anymore!
2020-10-27 14:02:15 -04:00
Nick Rolfe
ce8de3feba
Update generator binary name in Actions workflow
2020-10-27 17:56:37 +00:00
Douglas Creager
5f985be2d9
Use tree-sitter-ruby crate instead of vendoring it
2020-10-27 13:54:56 -04:00
Nick Rolfe
e05bcf9fb7
Generate QL classes
2020-10-27 17:46:11 +00:00
Arthur Baars
3e1c378aba
Merge pull request #8 from github/aibaars/actions
...
Improve extractor build and add GitHub Actions configuration
2020-10-27 18:21:20 +01:00
Arthur Baars
4b46a75c24
Merge pull request #10 from github/github/aibaars/escape-uppercase
...
DB scheme: convert uppercase to lowercase + underscore
2020-10-27 18:21:00 +01:00
Arthur Baars
bb2e7d841f
DB scheme: convert uppercase to lowercase + underscore
2020-10-27 18:15:48 +01:00
Arthur Baars
53b97ff0fa
Use release builds for the CodeQL package
2020-10-27 17:48:11 +01:00
Arthur Baars
bdff1fe9f4
Merge pull request #9 from github/aibaars/escape-column-names
...
DB scheme generator: escape column names
2020-10-27 17:44:39 +01:00
Arthur Baars
e3a1d426b8
DB scheme generator: escape column names
2020-10-27 17:31:10 +01:00
Arthur Baars
9e6ccf558e
Preserve permissions of Linux and OSX binaries
...
The {upload,download}-artifact actions do not preserve
file permissions, so we need to patch things up.
2020-10-27 17:17:44 +01:00
Arthur Baars
048f19edc1
Build a CodeQL extractor pack
2020-10-27 17:02:08 +01:00
Arthur Baars
73a090501a
Add GitHub actions configuration
2020-10-27 16:34:17 +01:00
Arthur Baars
7555141246
Extractor: include contents node-types.json as constant
2020-10-27 16:34:17 +01:00
Arthur Baars
74dd4dcc2c
Build parser.c and scanner.cc separately
2020-10-27 16:34:17 +01:00
Arthur Baars
74e9829609
Merge pull request #7 from github/aibaars/refactor
...
Refactor dbscheme generator to use intermediate representation
2020-10-27 14:12:05 +01:00
Arthur Baars
1fd6fdd652
Address review comment from earlier pull-request
2020-10-27 13:43:59 +01:00
Arthur Baars
a50f79b401
Add logging to dbscheme generator
2020-10-27 13:36:58 +01:00
Arthur Baars
0439d4f674
Refactor dbscheme generator to use intermediate representation
...
* merge extractor/node_types.rs into node-types/lib.rs
* use intermediate representation in dbscheme generator
* move dbscheme naming and escaping functions to node-types so they can be shared
2020-10-27 13:27:45 +01:00
Arthur Baars
4c1682ef2e
Merge pull request #5 from github/aibaars/logger
...
Add logging based on the tracing library
2020-10-27 13:24:34 +01:00
Nick Rolfe
63282eac60
Merge pull request #6 from github/windows_paths
...
Handle Windows path prefixes
2020-10-27 12:20:54 +00:00
Nick Rolfe
c02b735eec
Handle Windows path prefixes
2020-10-27 12:09:46 +00:00
Arthur Baars
52035ef672
Add tracing logger
2020-10-27 11:29:21 +01:00
Arthur Baars
9c534209f7
Add tracing:0.1
2020-10-27 11:26:35 +01:00
Arthur Baars
467e32ade4
Merge pull request #2 from github/aibaars/extractor-rust
...
Rewrite extractor in rust
2020-10-27 10:16:58 +01:00
Arthur Baars
0f576fe29a
Address review comments
2020-10-26 19:10:44 +01:00
Arthur Baars
1d36b5085a
Do not recurse into 'extra' nodes for now
2020-10-26 18:39:10 +01:00
Arthur Baars
fd39524c5e
Improve error messages
...
Include file path and line number and emit better descriptions
2020-10-26 18:37:29 +01:00
Arthur Baars
47ccc33ab3
Initial version of extractor based on tree-sitter grammar
2020-10-24 13:22:39 +02:00
Arthur Baars
d00c956028
Build with clang for non-windows platforms
2020-10-24 13:22:39 +02:00
Arthur Baars
f6292e437e
Merge pull request #4 from github/shared_lib
...
Add library package for shared code
2020-10-23 14:18:42 +02:00
Nick Rolfe
849e109583
Add library package for shared code
2020-10-23 13:01:17 +01:00
Arthur Baars
305fd566a8
Merge pull request #3 from github/aibaars/codeql-extractor-yaml
...
Basic CodeQL extractor configuration and autobuild scripts
2020-10-22 22:23:44 +02:00
Arthur Baars
e16b85e511
Add codeql-extractor config
2020-10-22 18:30:57 +02:00
Nick Rolfe
12571dbe42
Merge pull request #1 from github/dbscheme
...
Basic dbscheme generation from `node-types.json`
2020-10-22 12:29:44 +01:00
Nick Rolfe
36823d7804
Move deserialization to node_types module; propagate errors to caller
2020-10-22 11:10:05 +01:00
Nick Rolfe
e018f3f20b
Use if let instead of iterating over Option
2020-10-21 12:51:10 +01:00
Nick Rolfe
5e3544fcc3
Use fmt::Display trait for writing dbscheme
2020-10-21 12:45:54 +01:00
Nick Rolfe
a7a18b8b0f
Gather all hard-coded Ruby-specific names/paths in one struct.
2020-10-21 11:29:25 +01:00
Nick Rolfe
47c8a3d6fb
Simplify to std::io::Result
2020-10-21 11:26:23 +01:00
Nick Rolfe
fd1f8b22e2
Simplify keysets to Option<Vec<String>>
2020-10-21 11:06:53 +01:00
Nick Rolfe
97181d1c21
Basic dbscheme generation from node-types.json
2020-10-20 17:49:55 +01:00
Nick Rolfe
735fde7a22
Add README
2020-10-15 13:26:13 +01:00
Nick Rolfe
a837c65bc4
Add VSCode build task for cargo build
2020-10-15 13:21:12 +01:00
Nick Rolfe
ffbb57a8e2
Make VSCode default to unix line endings
2020-10-15 13:20:37 +01:00
Nick Rolfe
6c697bf9b5
Split into generator and extractor packages
2020-10-15 13:20:11 +01:00
Nick Rolfe
b677a91fea
Add VSCode workspace
2020-10-14 11:16:28 +01:00
Nick Rolfe
89959b2e0d
Add tree-sitter-ruby submodule
2020-10-14 11:15:59 +01:00
Nick Rolfe
d3ccb49273
Initial commit: cargo-generated boilerplate
2020-10-13 18:42:13 +01:00
dilanbhalla
26b030f8cc
fixed pr suggestions
2020-07-07 10:52:26 -07:00
dilanbhalla
dc73fcc4e8
moved to experimental
2020-07-01 09:54:58 -07:00
dilanbhalla
dc58f6fa87
function/class synatax
2020-06-25 11:39:09 -07:00