Tom Hvitved
|
2f95af8ef2
|
Ruby: Remove self edges
|
2023-05-08 10:26:01 +02:00 |
|
Maiky
|
3960853af0
|
CWE-089 Add Sequel SQL Injection Sink
|
2023-05-07 23:56:56 +02:00 |
|
Maiky
|
6a3d995b35
|
Add Mysql2 as SQL Injection Sink
|
2023-05-06 12:25:25 +02:00 |
|
Mathias Vorreiter Pedersen
|
09ba9a74ce
|
Merge pull request #12959 from MathiasVP/identity-consistency-check
DataFlow: Add an "identity-step" consistency check
|
2023-05-05 10:03:20 +01:00 |
|
Mathias Vorreiter Pedersen
|
77001a070b
|
Merge branch 'main' into identity-consistency-check
|
2023-05-03 22:01:06 +01:00 |
|
Sim4n6
|
14ca20e782
|
removed redundant imports
|
2023-05-03 17:43:54 +01:00 |
|
Alex Ford
|
e7213e92cf
|
Merge remote-tracking branch 'origin/main' into rb/sqlite3
|
2023-05-03 15:18:07 +01:00 |
|
Alex Ford
|
a26f9736f1
|
Ruby: add change note for sqlite3 support
|
2023-05-03 15:12:06 +01:00 |
|
Erik Krogh Kristensen
|
f29db40371
|
Merge pull request #13011 from kaspersv/kaspersv/explicit-this-receivers-shared2
JS, Python, Ruby: Make implicit this receivers explicit
|
2023-05-03 15:34:59 +02:00 |
|
Kasper Svendsen
|
ea75996932
|
Merge pull request #13005 from kaspersv/kaspersv/ruby-explicit-this-receivers
Ruby: Make implicit this receivers explicit
|
2023-05-03 14:57:43 +02:00 |
|
Ian Lynagh
|
b56b843d13
|
Merge pull request #12987 from github/post-release-prep/codeql-cli-2.13.1
Post-release preparation for codeql-cli-2.13.1
|
2023-05-03 13:12:10 +01:00 |
|
Kasper Svendsen
|
aca2ace843
|
JS, Python, Ruby: Make implicit this receivers explicit
|
2023-05-03 13:51:51 +02:00 |
|
Kasper Svendsen
|
68cf33e791
|
Ruby: Make implicit this receivers explicit
|
2023-05-03 12:25:01 +02:00 |
|
Alex Ford
|
82c025020d
|
Merge remote-tracking branch 'origin/main' into maikypedia/ruby-ssti
|
2023-05-02 16:18:41 +01:00 |
|
Sim4n6
|
019b85beb6
|
Add Unicode Bypass Validation query, test and help file
|
2023-05-02 15:36:39 +01:00 |
|
github-actions[bot]
|
18d4af994d
|
Post-release preparation for codeql-cli-2.13.1
|
2023-05-02 10:50:20 +00:00 |
|
Anders Schack-Mulligen
|
ca09649679
|
Dataflow: Forward hasLocationInfo.
|
2023-05-02 10:48:32 +02:00 |
|
Anders Schack-Mulligen
|
5927bb2030
|
Dataflow: Replace "extends Node" with "instanceof Node".
|
2023-05-02 09:48:34 +02:00 |
|
github-actions[bot]
|
3bd29171fb
|
Release preparation for version 2.13.1
|
2023-04-28 12:14:35 +00:00 |
|
Mathias Vorreiter Pedersen
|
e506f638fc
|
DataFlow: Sync identical files.
|
2023-04-27 18:40:33 +01:00 |
|
Anders Schack-Mulligen
|
71ae0909d8
|
Dataflow: Enforce type pruning in all forward stages.
|
2023-04-27 14:55:26 +02:00 |
|
Anders Schack-Mulligen
|
9140cbefc0
|
Dataflow: Sync.
|
2023-04-27 14:55:23 +02:00 |
|
Anders Schack-Mulligen
|
246d904712
|
Merge pull request #12948 from aschackmull/dataflow/pathnode-type-tostring
Dataflow: Add type to PathNode.toString.
|
2023-04-27 14:14:10 +02:00 |
|
Tom Hvitved
|
f888382d35
|
Merge pull request #12906 from hvitved/ruby/track-block-no-self
Ruby: Prevent flow into `self` in `trackBlock`
|
2023-04-27 12:48:05 +02:00 |
|
Tom Hvitved
|
fc66aacf92
|
Merge pull request #12922 from hvitved/ruby/controller-template-file-join
Ruby: Fix bad join in `controllerTemplateFile`
|
2023-04-26 21:26:54 +02:00 |
|
Anders Schack-Mulligen
|
d681671356
|
Dataflow: Sync.
|
2023-04-26 14:45:07 +02:00 |
|
Anders Schack-Mulligen
|
81ce6c7779
|
Ruby: Remove empty string DataFlowType in PathNode.
|
2023-04-26 12:54:41 +02:00 |
|
Tom Hvitved
|
b94289fde1
|
Ruby: Prevent flow into self in trackBlock
|
2023-04-26 10:33:04 +02:00 |
|
Tom Hvitved
|
e5f2b90aec
|
Ruby: Fix bad join in controllerTemplateFile
Before
```
Evaluated relational algebra for predicate ActionController#32b59475::controllerTemplateFile#2#ff@6f4b2395 with tuple counts:
31304524 ~0% {2} r1 = JOIN locations_default_10#join_rhs WITH FileSystem#df18ed9a::Make#FileSystem#e91ad87f::Input#::Container::getRelativePath#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Rhs.1
34453 ~3% {2} r2 = JOIN r1 WITH DataFlowPublic#e1781e31::ModuleNode::getLocation#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
1236 ~0% {2} r3 = JOIN r2 WITH ActionController#32b59475::ActionControllerClass#f ON FIRST 1 OUTPUT Lhs.0, InverseAppend(("" ++ "app/controllers/"),"_controller.rb",Lhs.1)
1236 ~1% {2} r4 = SCAN r3 OUTPUT In.0, ("" ++ "app/views/layouts/" ++ In.1 ++ "%")
1320 ~1% {3} r5 = JOIN r2 WITH ActionController#32b59475::ActionControllerClass#f ON FIRST 1 OUTPUT Lhs.1, Lhs.0, "^(.*/)app/controllers/(?:.*?)/(?:[^/]*)$"
14 ~7% {5} r6 = JOIN r5 WITH PRIMITIVE regexpCapture#bbff ON Lhs.0,Lhs.2
14 ~7% {5} r7 = SELECT r6 ON In.3 = 1
14 ~0% {3} r8 = SCAN r7 OUTPUT In.1, In.4, InverseAppend((In.4 ++ "app/controllers/"),"_controller.rb",In.0)
14 ~0% {2} r9 = SCAN r8 OUTPUT In.0, (In.1 ++ "app/views/layouts/" ++ In.2 ++ "%")
1250 ~1% {2} r10 = r4 UNION r9
8813750 ~2% {3} r11 = JOIN r10 WITH Erb#b2b9e6ed::ErbFile#ff CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Lhs.1
8813750 ~6% {4} r12 = JOIN r11 WITH FileSystem#df18ed9a::Make#FileSystem#e91ad87f::Input#::Container::getRelativePath#0#dispred#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.0, Rhs.1
41 ~6% {4} r13 = SELECT r12 ON In.3 matches In.1
41 ~0% {2} r14 = SCAN r13 OUTPUT In.0, In.2
1236 ~0% {2} r15 = SCAN r3 OUTPUT ("" ++ "app/views/" ++ In.1), In.0
14 ~0% {2} r16 = SCAN r8 OUTPUT (In.1 ++ "app/views/" ++ In.2), In.0
1250 ~0% {2} r17 = r15 UNION r16
581 ~0% {2} r18 = JOIN r17 WITH FileSystem#df18ed9a::Make#FileSystem#e91ad87f::Input#::Container::getRelativePath#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3243 ~2% {2} r19 = JOIN r18 WITH containerparent ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2767 ~0% {2} r20 = JOIN r19 WITH Erb#b2b9e6ed::ErbFile#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
2808 ~0% {2} r21 = r14 UNION r20
return r21
```
After
```
Evaluated relational algebra for predicate ActionController#32b59475::controllerTemplateFile#2#ff@4b56c4f9 with tuple counts:
1236 ~0% {2} r1 = SCAN ActionController#32b59475::getActionControllerClassRelativePath#1#ff OUTPUT In.0, InverseAppend(("" ++ "app/controllers/"),"_controller.rb",In.1)
1236 ~0% {2} r2 = SCAN r1 OUTPUT ("" ++ "app/views/" ++ In.1), In.0
1320 ~0% {3} r3 = SCAN ActionController#32b59475::getActionControllerClassRelativePath#1#ff OUTPUT In.0, In.1, "^(.*/)app/controllers/(?:.*?)/(?:[^/]*)$"
14 ~0% {5} r4 = JOIN r3 WITH PRIMITIVE regexpCapture#bbff ON Lhs.1,Lhs.2
14 ~0% {5} r5 = SELECT r4 ON In.3 = 1
14 ~0% {3} r6 = SCAN r5 OUTPUT In.0, In.4, InverseAppend((In.4 ++ "app/controllers/"),"_controller.rb",In.1)
14 ~0% {2} r7 = SCAN r6 OUTPUT (In.1 ++ "app/views/" ++ In.2), In.0
1250 ~0% {2} r8 = r2 UNION r7
581 ~0% {2} r9 = JOIN r8 WITH FileSystem#df18ed9a::Make#FileSystem#e91ad87f::Input#::Container::getRelativePath#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
3243 ~0% {2} r10 = JOIN r9 WITH containerparent ON FIRST 1 OUTPUT Rhs.1, Lhs.1
2767 ~0% {2} r11 = JOIN r10 WITH Erb#b2b9e6ed::ErbFile#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.0
1236 ~1% {3} r12 = SCAN r1 OUTPUT In.0, "", In.1
1250 ~1% {3} r13 = r12 UNION r6
102500 ~0% {4} r14 = JOIN r13 WITH project#ActionController#32b59475::getErbFileRelativePath#1#ff CARTESIAN PRODUCT OUTPUT Rhs.0, Lhs.0, Lhs.1, Lhs.2
102500 ~0% {5} r15 = JOIN r14 WITH ActionController#32b59475::getErbFileRelativePath#1#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2, Lhs.3, Lhs.0
102500 ~0% {4} r16 = JOIN r15 WITH Erb#b2b9e6ed::ErbFile#ff ON FIRST 1 OUTPUT Lhs.1, Lhs.4, Lhs.0, (Lhs.2 ++ "app/views/layouts/" ++ Lhs.3 ++ "%")
41 ~0% {4} r17 = SELECT r16 ON In.1 matches In.3
41 ~3% {2} r18 = SCAN r17 OUTPUT In.0, In.2
2808 ~1% {2} r19 = r11 UNION r18
return r19
```
|
2023-04-25 21:04:30 +02:00 |
|
Tom Hvitved
|
65835cdb92
|
Merge pull request #12907 from hvitved/ruby/destructured-assign-join
Ruby: Fix bad join in `DestructuredAssignDesugar`
|
2023-04-25 08:50:27 +02:00 |
|
Tom Hvitved
|
71cd973b42
|
Ruby: Fix bad join in DestructuredAssignDesugar
```
Evaluated relational algebra for predicate Synthesis#d9ff06b1::DestructuredAssignDesugar::LhsWithReceiver::getSynthKind#0#dispred#ff@0c55fb0w on iteration 4 running pipeline order_500000 with tuple counts:
0 ~0% {2} r1 = JOIN Synthesis#d9ff06b1::ConstantWriteAccessKind#ff#prev_delta WITH Constant#c70e4e0a::ScopeResolutionConstantAccess::getName#0#dispred#ff_10#join_rhs ON FIRST 1 OUTPUT Rhs.1, Lhs.1
0 ~0% {2} r2 = JOIN r1 WITH Constant#c70e4e0a::ScopeResolutionConstantAccess::getScopeExpr#0#dispred#ff#prev ON FIRST 1 OUTPUT Lhs.0, Lhs.1
0 ~0% {4} r3 = JOIN Call#841c84e8::MethodCall::getMethodName#0#dispred#ff#prev_delta WITH Call#841c84e8::Call::getNumberOfArguments#0#dispred#ff#prev ON FIRST 1 OUTPUT Lhs.1, false, Rhs.1, Lhs.0
0 ~0% {2} r4 = JOIN r3 WITH Synthesis#d9ff06b1::MethodCallKind#ffff#prev ON FIRST 3 OUTPUT Lhs.3, Rhs.3
0 ~0% {2} r5 = r2 UNION r4
336618 ~3% {1} r6 = SCAN Constant#c70e4e0a::ScopeResolutionConstantAccess::getScopeExpr#0#dispred#ff#prev_delta OUTPUT In.0
336618 ~0% {2} r7 = JOIN r6 WITH Constant#c70e4e0a::ScopeResolutionConstantAccess::getName#0#dispred#ff ON FIRST 1 OUTPUT Rhs.1, Lhs.0
0 ~0% {2} r8 = JOIN r7 WITH Synthesis#d9ff06b1::ConstantWriteAccessKind#ff#prev ON FIRST 1 OUTPUT Lhs.1, Rhs.1
0 ~0% {3} r9 = SCAN Call#841c84e8::Call::getNumberOfArguments#0#dispred#ff#prev_delta OUTPUT false, In.1, In.0
0 ~0% {3} r10 = JOIN r9 WITH Synthesis#d9ff06b1::MethodCallKind#ffff#reorder_1_2_0_3#prev ON FIRST 2 OUTPUT Lhs.2, Rhs.2, Rhs.3
0 ~0% {2} r11 = JOIN r10 WITH Call#841c84e8::MethodCall::getMethodName#0#dispred#ff#prev ON FIRST 2 OUTPUT Lhs.0, Lhs.2
2119 ~2% {3} r12 = JOIN Synthesis#d9ff06b1::MethodCallKind#ffff#reorder_1_2_0_3#prev_delta WITH const_false ON FIRST 1 OUTPUT Lhs.1, Lhs.2, Lhs.3
2657005103 ~5% {3} r13 = JOIN r12 WITH Call#841c84e8::Call::getNumberOfArguments#0#dispred#ff#reorder_1_0#prev ON FIRST 1 OUTPUT Rhs.1, Lhs.1, Lhs.2
1184200 ~0% {2} r14 = JOIN r13 WITH Call#841c84e8::MethodCall::getMethodName#0#dispred#ff#prev ON FIRST 2 OUTPUT Lhs.0, Lhs.2
1184200 ~0% {2} r15 = r11 UNION r14
1184200 ~0% {2} r16 = r8 UNION r15
1184200 ~0% {2} r17 = r5 UNION r16
1184200 ~0% {2} r18 = r17 AND NOT Synthesis#d9ff06b1::DestructuredAssignDesugar::LhsWithReceiver::getSynthKind#0#dispred#ff#prev(Lhs.0, Lhs.1)
return r18
```
|
2023-04-24 13:44:18 +02:00 |
|
Kasper Svendsen
|
bfe5db20a3
|
Merge pull request #12891 from kaspersv/kaspersv/prevent-ruby-join-regression2
Prevent Ruby join order regression
|
2023-04-24 13:27:33 +02:00 |
|
Michael Nebel
|
8ade7247a1
|
Merge pull request #12885 from michaelnebel/mergepathgraph3
Dataflow: Introduce param module for merging three path graphs.
|
2023-04-24 12:49:28 +02:00 |
|
Alex Ford
|
edf48f4839
|
Ruby: add sqlite3 to Frameworks.qll
|
2023-04-24 09:11:14 +01:00 |
|
Asger F
|
f3b14e13b2
|
Merge pull request #12841 from asgerf/rb/api-graph-class-nodes
Ruby: add API node representing a module/class object
|
2023-04-21 10:59:51 +02:00 |
|
Alex Ford
|
9dc04f30ac
|
Ruby: model sqlite3
|
2023-04-20 15:47:14 +01:00 |
|
Kasper Svendsen
|
b707c8162e
|
Prevent Ruby join order regression
|
2023-04-20 15:52:32 +02:00 |
|
Michael Nebel
|
656d8d2451
|
Sync files.
|
2023-04-20 11:29:51 +02:00 |
|
Kasper Svendsen
|
ba6bb79dd3
|
Prevent Ruby join order regression
|
2023-04-19 14:42:27 +02:00 |
|
Alex Ford
|
924ce250dd
|
Merge pull request #12847 from github/post-release-prep/codeql-cli-2.13.0
Post-release preparation for codeql-cli-2.13.0
|
2023-04-18 14:40:40 +01:00 |
|
github-actions[bot]
|
648f0e19ec
|
Post-release preparation for codeql-cli-2.13.0
|
2023-04-17 15:39:24 +00:00 |
|
Asger F
|
e180b7e2ba
|
Ruby: add locations for module object nodes
|
2023-04-17 12:49:35 +02:00 |
|
Asger F
|
8363171f1f
|
Ruby: Add MkModuleObject as API node for a module/class
|
2023-04-17 12:47:23 +02:00 |
|
Asger F
|
7332cec9a5
|
Ruby: fix missing 'self' parameters in ModuleNode.getAnImmediateReferenc
|
2023-04-17 12:47:23 +02:00 |
|
Asger F
|
29a20550f6
|
Ruby: use MkUse/MkDef for successors, use/def for predecessors
|
2023-04-17 12:47:23 +02:00 |
|
Asger F
|
ccb57f2a84
|
Merge pull request #12804 from asgerf/rb/api-graphs-cached
Ruby: restrict join order of API graph predicates
|
2023-04-17 08:24:07 +02:00 |
|
Jeroen Ketema
|
0c7346707b
|
Fix minor issues with change notes
|
2023-04-14 15:37:04 +02:00 |
|
github-actions[bot]
|
075d063370
|
Release preparation for version 2.13.0
|
2023-04-14 13:31:30 +00:00 |
|
Asger F
|
f4e8656c17
|
Ruby: move internal methods to API::Node::Internal
|
2023-04-14 13:35:13 +02:00 |
|
Alex Eyers-Taylor
|
c6a482819a
|
Bump all qlpacks major versions
|
2023-04-13 19:15:27 +01:00 |
|