1 | | - | Rule("ruby_lang_ftp_using_user_input_ftp", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
2 | | - | Rule("ruby_lang_ftp_using_user_input_ftp", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "open"). |
3 | | - | Rule("ruby_lang_ftp_using_user_input_ftp", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "open"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "block"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "{"), AST_NodeField(node8, node10, "parameters"), AST_NodeType(node10, "block_parameters"), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, "|"), AST_ParentChild(node10, 1, node12), AST_ParentChild(node10, 2, node13), AST_NodeType(node13, "|"), AST_ParentChild(node8, 1, node14), AST_NodeType(node14, "}"). |
4 | | - | Rule("ruby_rails_redirect_to", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "redirect_to"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
5 | | - | Rule("ruby_third_parties_segment", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
6 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "SHA1"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "hexidigest"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
7 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "MD5"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "hexdigest"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
8 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
9 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
10 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
11 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
12 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
13 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
14 | | - | Rule("ruby_lang_weak_encryption_with_data", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), !AST_NodeField(node5, _, "parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, "end"). |
15 | | - | Rule("ruby_lang_http_url_using_user_input_path_hash", node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "{"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "pair"), AST_NodeField(node3, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, ":"), AST_NodeField(node3, node5, "value"), AST_ParentChild(node1, 2, node6), AST_NodeType(node6, "}"). |
16 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
17 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
18 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Net"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "HTTP"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"), AST_NodeField(node1, node11, "arguments"), AST_NodeType(node11, "argument_list"), AST_ParentChild(node11, 0, node12), AST_NodeType(node12, "("), AST_ParentChild(node11, 1, node13), AST_ParentChild(node11, 2, node14), AST_NodeType(node14, ")"). |
19 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
20 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "http"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
21 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
22 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Easy"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
23 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "url"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
24 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Multi"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
25 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Multi"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
26 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
27 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
28 | | - | Rule("ruby_lang_http_insecure", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "post"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
29 | | - | Rule("ruby_rails_render_using_user_input_sanitized", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
30 | | - | Rule("ruby_lang_ssl_verification", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "start"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_NodeType(node10, "pair"), AST_NodeField(node10, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":verify_mode"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "verify_mode")), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, ":"), AST_NodeField(node10, node12, "value"), AST_NodeType(node12, "scope_resolution"), AST_NodeField(node12, node13, "scope"), AST_NodeType(node13, "scope_resolution"), AST_NodeField(node13, node14, "scope"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "OpenSSL"), AST_ParentChild(node13, 0, node15), AST_NodeType(node15, "::"), AST_NodeField(node13, node16, "name"), AST_NodeType(node16, "constant"), AST_NodeContent(node16, "SSL"), AST_ParentChild(node12, 0, node17), AST_NodeType(node17, "::"), AST_NodeField(node12, node18, "name"), AST_NodeType(node18, "constant"), AST_NodeContent(node18, "VERIFY_NONE"), AST_ParentChild(node8, 2, node19), AST_NodeType(node19, ")"). |
31 | | - | Rule("ruby_lang_ssl_verification", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "start"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_NodeType(node10, "hash"), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, "{"), AST_ParentChild(node10, 1, node12), AST_NodeType(node12, "pair"), AST_NodeField(node12, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":verify_mode"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "verify_mode")), AST_ParentChild(node12, 0, node13), AST_NodeType(node13, ":"), AST_NodeField(node12, node14, "value"), AST_NodeType(node14, "scope_resolution"), AST_NodeField(node14, node15, "scope"), AST_NodeType(node15, "scope_resolution"), AST_NodeField(node15, node16, "scope"), AST_NodeType(node16, "constant"), AST_NodeContent(node16, "OpenSSL"), AST_ParentChild(node15, 0, node17), AST_NodeType(node17, "::"), AST_NodeField(node15, node18, "name"), AST_NodeType(node18, "constant"), AST_NodeContent(node18, "SSL"), AST_ParentChild(node14, 0, node19), AST_NodeType(node19, "::"), AST_NodeField(node14, node20, "name"), AST_NodeType(node20, "constant"), AST_NodeContent(node20, "VERIFY_NONE"), AST_ParentChild(node10, 2, node21), AST_NodeType(node21, "}"), AST_ParentChild(node8, 2, node22), AST_NodeType(node22, ")"). |
32 | | - | Rule("ruby_lang_ssl_verification", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "verify_mode"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"), AST_NodeType(node7, "scope_resolution"), AST_NodeField(node7, node8, "scope"), AST_NodeType(node8, "scope_resolution"), AST_NodeField(node8, node9, "scope"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "OpenSSL"), AST_ParentChild(node8, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node8, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "SSL"), AST_ParentChild(node7, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node7, node13, "name"), AST_NodeType(node13, "constant"), AST_NodeContent(node13, "VERIFY_NONE"). |
33 | | - | Rule("ruby_rails_http_verb_confusion", node1) :- AST_NodeType(node1, "if"), !AST_NodeField(node1, _, "consequence"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "if"), !AST_NodeField(node2, _, "condition"), !AST_NodeField(node2, _, "consequence"), !AST_NodeField(node2, _, "alternative"), AST_NodeField(node1, node3, "condition"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "request"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "."), AST_NodeField(node3, node6, "method"), AST_NodeType(node6, "identifier"), AST_NodeContent(node6, "get?"), AST_NodeField(node1, node7, "alternative"), AST_NodeType(node7, "else"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "else"), AST_ParentChild(node1, 1, node9), AST_NodeType(node9, "end"). |
34 | | - | Rule("ruby_rails_http_verb_confusion", node1) :- AST_NodeType(node1, "unless"), !AST_NodeField(node1, _, "consequence"), !AST_NodeField(node1, _, "alternative"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "unless"), !AST_NodeField(node2, _, "condition"), !AST_NodeField(node2, _, "consequence"), !AST_NodeField(node2, _, "alternative"), AST_NodeField(node1, node3, "condition"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "request"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "."), AST_NodeField(node3, node6, "method"), AST_NodeType(node6, "identifier"), AST_NodeContent(node6, "get?"), AST_ParentChild(node1, 1, node7), AST_NodeType(node7, "end"). |
35 | | - | Rule("ruby_rails_http_verb_confusion", node1) :- AST_NodeType(node1, "unless_modifier"), AST_NodeField(node1, node2, "body"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "unless"), !AST_NodeField(node3, _, "condition"), !AST_NodeField(node3, _, "consequence"), !AST_NodeField(node3, _, "alternative"), AST_NodeField(node1, node4, "condition"), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "block"), (!AST_NodeField(node4, _, "arguments"); AST_NodeField(node4, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node4, node5, "receiver"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "request"), AST_ParentChild(node4, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node4, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "get?"). |
36 | | - | Rule("google_dataflow_templates_service_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_NodeType(node15, "constant"), AST_NodeContent(node15, "TemplatesService"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "Client"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
37 | | - | Rule("google_dataflow_templates_service_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Cloud"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Dataflow"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "templates_service"). |
38 | | - | Rule("ruby_lang_weak_encryption_with_data_openssl_rsa_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "PKey"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "RSA"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"). |
39 | | - | Rule("ruby_rails_insecure_http_password", node1) :- AST_NodeType(node1, "class"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "class"), !AST_NodeField(node2, _, "name"), !AST_NodeField(node2, _, "superclass"), AST_NodeField(node1, node3, "name"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "UsersController"), AST_NodeField(node1, node4, "superclass"), AST_NodeType(node4, "superclass"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "<"), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "ApplicationController"), AST_ParentChild(node1, 1, node7), AST_NodeType(node7, "call"), !AST_NodeField(node7, _, "receiver"), !AST_NodeField(node7, _, "block"), AST_NodeField(node7, node8, "method"), AST_NodeType(node8, "identifier"), AST_NodeContent(node8, "http_basic_authenticate_with"), AST_NodeField(node7, node9, "arguments"), AST_NodeType(node9, "argument_list"), AST_ParentChild(node9, 0, node10), AST_NodeType(node10, "pair"), AST_NodeField(node10, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":password"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "password")), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, ":"), AST_NodeField(node10, node12, "value"), AST_NodeType(node12, "string"), AST_ParentChild(node12, 0, node13), AST_NodeType(node13, "\""), AST_ParentChild(node12, 1, node14), AST_ParentChild(node12, 2, node15), AST_NodeType(node15, "\""), AST_ParentChild(node1, 2, node16), AST_NodeType(node16, "end"). |
40 | | - | Rule("ruby_lang_ftp_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
41 | | - | Rule("ruby_lang_ftp_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
42 | | - | Rule("ruby_lang_ftp_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
43 | | - | Rule("ruby_lang_ftp_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
44 | | - | Rule("ruby_lang_exception", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "raise"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
45 | | - | Rule("ruby_lang_http_url_using_user_input_url_hash", node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "{"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "pair"), AST_NodeField(node3, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, ":"), AST_NodeField(node3, node5, "value"), AST_ParentChild(node1, 2, node6), AST_NodeType(node6, "}"). |
46 | | - | Rule("ruby_lang_http_url_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
47 | | - | Rule("ruby_lang_http_url_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
48 | | - | Rule("ruby_lang_http_url_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
49 | | - | Rule("ruby_lang_http_url_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
50 | | - | Rule("ruby_rails_permissive_regex_validation", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":format"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "format")), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, ":"), AST_NodeField(node4, node6, "value"), AST_NodeType(node6, "hash"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, "{"), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, "pair"), AST_NodeField(node8, tmp1, "key"), (AST_NodeType(tmp1, "simple_symbol"), AST_NodeContent(tmp1, ":with"); AST_NodeType(tmp1, "hash_key_symbol"), AST_NodeContent(tmp1, "with")), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, ":"), AST_NodeField(node8, node10, "value"), AST_ParentChild(node6, 2, node11), AST_NodeType(node11, "}"). |
51 | | - | Rule("ruby_rails_permissive_regex_validation", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates_format_of"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":with"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "with")), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, ":"), AST_NodeField(node4, node6, "value"). |
52 | | - | Rule("ruby_lang_http_url_using_user_input_curb", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Easy"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
53 | | - | Rule("ruby_rails_insecure_communication", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "application"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "configure"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "do_block"), !AST_NodeField(node8, _, "parameters"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "do"), AST_ParentChild(node8, 1, node10), AST_NodeType(node10, "assignment"), AST_NodeField(node10, node11, "left"), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), (!AST_NodeField(node11, _, "arguments"); AST_NodeField(node11, tmp2, "arguments"), !AST_ParentChild(tmp2, _, _)), AST_NodeField(node11, node12, "receiver"), AST_NodeType(node12, "identifier"), AST_NodeContent(node12, "config"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "force_ssl"), AST_ParentChild(node10, 0, node15), AST_NodeType(node15, "="), AST_NodeField(node10, node16, "right"), AST_NodeType(node16, "false"), AST_ParentChild(node8, 2, node17), AST_NodeType(node17, "end"). |
54 | | - | Rule("ruby_lang_http_insecure_url_hash", node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "{"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "pair"), AST_NodeField(node3, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, ":"), AST_NodeField(node3, node5, "value"), AST_ParentChild(node1, 2, node6), AST_NodeType(node6, "}"). |
55 | | - | Rule("ruby_lang_regex_using_user_input", node1) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "/"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "interpolation"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "#{"), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, "}"), AST_ParentChild(node1, 2, node7), AST_NodeType(node7, "/"). |
56 | | - | Rule("ruby_lang_regex_using_user_input", node1) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "/"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "interpolation"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "#{"), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, "}"), AST_ParentChild(node1, 2, node7), AST_NodeType(node7, "/"). |
57 | | - | Rule("ruby_lang_regex_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Regexp"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
58 | | - | Rule("ruby_lang_file_generation", node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"). |
59 | | - | Rule("ruby_lang_file_generation", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
60 | | - | Rule("ruby_third_parties_elasticsearch", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "pair"), AST_NodeField(node7, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, ":"), AST_NodeField(node7, node9, "value"), AST_ParentChild(node5, 2, node10), AST_NodeType(node10, ")"). |
61 | | - | Rule("ruby_third_parties_elasticsearch", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "hash"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "{"), AST_ParentChild(node7, 1, node9), AST_NodeType(node9, "pair"), AST_NodeField(node9, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_ParentChild(node9, 0, node10), AST_NodeType(node10, ":"), AST_NodeField(node9, node11, "value"), AST_ParentChild(node7, 2, node12), AST_NodeType(node12, "}"), AST_ParentChild(node5, 2, node13), AST_NodeType(node13, ")"). |
62 | | - | Rule("ruby_lang_eval_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
63 | | - | Rule("ruby_lang_eval_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
64 | | - | Rule("ruby_lang_eval_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
65 | | - | Rule("ruby_lang_eval_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
66 | | - | Rule("ruby_lang_path_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
67 | | - | Rule("ruby_lang_path_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
68 | | - | Rule("ruby_lang_path_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
69 | | - | Rule("ruby_lang_path_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
70 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
71 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
72 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Net"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "HTTP"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"), AST_NodeField(node1, node11, "arguments"), AST_NodeType(node11, "argument_list"), AST_ParentChild(node11, 0, node12), AST_NodeType(node12, "("), AST_ParentChild(node11, 1, node13), AST_ParentChild(node11, 2, node14), AST_NodeType(node14, ")"). |
73 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
74 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "send_request"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
75 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "ipaddr"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
76 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
77 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "http"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
78 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
79 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Easy"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
80 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "url"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
81 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Multi"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
82 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Multi"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
83 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Connection"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
84 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
85 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "pair"), AST_NodeField(node7, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, ":"), AST_NodeField(node7, node9, "value"), AST_ParentChild(node5, 2, node10), AST_NodeType(node10, ")"). |
86 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "pair"), AST_NodeField(node7, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, ":"), AST_NodeField(node7, node9, "value"), AST_ParentChild(node5, 2, node10), AST_NodeType(node10, ")"). |
87 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "requests"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
88 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
89 | | - | Rule("ruby_lang_http_url_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "post"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
90 | | - | Rule("ruby_lang_exec_using_user_input_shell", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"). |
91 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
92 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
93 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
94 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "to_proc"). |
95 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "block_argument"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "&"), AST_ParentChild(node5, 1, node7), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
96 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "block_argument"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "&"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node5, 2, node10), AST_NodeType(node10, ")"). |
97 | | - | Rule("ruby_lang_reflection_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
98 | | - | Rule("openssl_dsa_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "PKey"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "DSA"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"). |
99 | | - | Rule("ruby_lang_weak_encryption_with_data_blowfish_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Blowfish"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
100 | | - | Rule("ruby_third_parties_algolia_client", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Algolia"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Search"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Client"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "create"). |
101 | | - | Rule("ruby_third_parties_bigquery_dataset", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "dataset"). |
102 | | - | Rule("blowfish_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Blowfish"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
103 | | - | Rule("google_dataflow_config", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure"). |
104 | | - | Rule("google_dataflow_config", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
105 | | - | Rule("ruby_rails_insecure_disabling_of_callback", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, ":"), AST_NodeField(node5, node7, "value"), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
106 | | - | Rule("ruby_rails_default_encryption", node1) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "class"), !AST_NodeField(node2, _, "name"), !AST_NodeField(node2, _, "superclass"), AST_NodeField(node1, node3, "name"), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "receiver"), !AST_NodeField(node4, _, "block"), AST_NodeField(node4, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "encrypts"), AST_NodeField(node4, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, "("), AST_ParentChild(node6, 1, node8), AST_ParentChild(node6, 2, node9), AST_NodeType(node9, ")"), AST_ParentChild(node1, 2, node10), AST_NodeType(node10, "end"). |
107 | | - | Rule("ruby_third_parties_bugsnag", node1) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "class"), !AST_NodeField(node2, _, "name"), !AST_NodeField(node2, _, "superclass"), AST_NodeField(node1, node3, "name"), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "receiver"), !AST_NodeField(node4, _, "block"), AST_NodeField(node4, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "before_bugsnag_notify"), AST_NodeField(node4, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, "("), AST_ParentChild(node6, 1, node8), AST_ParentChild(node6, 2, node9), AST_NodeType(node9, ")"), AST_ParentChild(node1, 2, node10), AST_NodeType(node10, "method"), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, "def"), AST_NodeField(node10, node12, "name"), AST_NodeField(node10, node13, "parameters"), AST_NodeType(node13, "method_parameters"), AST_ParentChild(node13, 0, node14), AST_NodeType(node14, "("), AST_ParentChild(node13, 1, node15), AST_ParentChild(node13, 2, node16), AST_NodeType(node16, ")"), AST_ParentChild(node10, 1, node17), AST_NodeType(node17, "call"), !AST_NodeField(node17, _, "block"), AST_NodeField(node17, node18, "receiver"), AST_ParentChild(node17, 0, node19), AST_NodeType(node19, "."), AST_NodeField(node17, node20, "method"), AST_NodeType(node20, "identifier"), AST_NodeContent(node20, "add_metadata"), AST_NodeField(node17, node21, "arguments"), AST_NodeType(node21, "argument_list"), AST_ParentChild(node21, 0, node22), AST_NodeType(node22, "("), AST_ParentChild(node21, 1, node23), AST_ParentChild(node21, 2, node24), AST_NodeType(node24, ")"), AST_ParentChild(node10, 2, node25), AST_NodeType(node25, "end"), AST_ParentChild(node1, 3, node26), AST_NodeType(node26, "end"). |
108 | | - | Rule("ruby_third_parties_bugsnag", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "leave_breadcrumb"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
109 | | - | Rule("ruby_third_parties_bugsnag", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "notify"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
110 | | - | Rule("ruby_third_parties_bugsnag", node1) :- AST_NodeType(node1, "call"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "notify"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"), AST_NodeField(node1, node9, "block"), AST_NodeType(node9, "do_block"), AST_ParentChild(node9, 0, node10), AST_NodeType(node10, "do"), AST_NodeField(node9, node11, "parameters"), AST_NodeType(node11, "block_parameters"), AST_ParentChild(node11, 0, node12), AST_NodeType(node12, "|"), AST_ParentChild(node11, 1, node13), AST_ParentChild(node11, 2, node14), AST_NodeType(node14, "|"), AST_ParentChild(node9, 1, node15), AST_NodeType(node15, "call"), !AST_NodeField(node15, _, "block"), AST_NodeField(node15, node16, "receiver"), AST_ParentChild(node15, 0, node17), AST_NodeType(node17, "."), AST_NodeField(node15, node18, "method"), AST_NodeType(node18, "identifier"), AST_NodeContent(node18, "add_metadata"), AST_NodeField(node15, node19, "arguments"), AST_NodeType(node19, "argument_list"), AST_ParentChild(node19, 0, node20), AST_NodeType(node20, "("), AST_ParentChild(node19, 1, node21), AST_ParentChild(node19, 2, node22), AST_NodeType(node22, ")"), AST_ParentChild(node9, 2, node23), AST_NodeType(node23, "end"). |
111 | | - | Rule("ruby_third_parties_datadog_span", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "element_reference"), AST_NodeField(node3, node4, "object"), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "block"), (!AST_NodeField(node4, _, "arguments"); AST_NodeField(node4, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node4, node5, "receiver"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Datadog"), AST_ParentChild(node4, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node4, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "configuration"), AST_ParentChild(node3, 0, node8), AST_NodeType(node8, "["), AST_ParentChild(node3, 1, node9), AST_ParentChild(node3, 2, node10), AST_NodeType(node10, "]"), AST_ParentChild(node2, 0, node11), AST_NodeType(node11, "["), AST_ParentChild(node2, 1, node12), AST_ParentChild(node2, 2, node13), AST_NodeType(node13, "]"), AST_ParentChild(node1, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node1, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "active_span"). |
112 | | - | Rule("ruby_third_parties_datadog_span", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Tracing"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "active_span"). |
113 | | - | Rule("ruby_third_parties_datadog_span", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Tracing"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "trace"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "block"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "{"), AST_NodeField(node8, node10, "parameters"), AST_NodeType(node10, "block_parameters"), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, "|"), AST_ParentChild(node10, 1, node12), AST_ParentChild(node10, 2, node13), AST_NodeType(node13, "|"), AST_ParentChild(node8, 1, node14), AST_NodeType(node14, "}"). |
114 | | - | Rule("ruby_third_parties_rollbar_scope", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "scope"). |
115 | | - | Rule("ruby_lang_http_insecure_curb", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Easy"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
116 | | - | Rule("ruby_third_parties_datadog", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Datadog"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "assignment"), AST_NodeField(node11, node12, "left"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node12, node13, "receiver"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "tags"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "="), AST_NodeField(node11, node17, "right"), AST_ParentChild(node5, 2, node18), AST_NodeType(node18, "end"). |
117 | | - | Rule("ruby_third_parties_datadog", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "set_tag"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
118 | | - | Rule("ruby_third_parties_datadog", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Tracing"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "trace"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ","), AST_ParentChild(node8, 3, node12), AST_ParentChild(node8, 4, node13), AST_NodeType(node13, ")"). |
119 | | - | Rule("ruby_lang_jwt", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JWT"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "encode"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
120 | | - | Rule("ruby_third_parties_open_telemetry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
121 | | - | Rule("ruby_third_parties_open_telemetry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "in_span"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
122 | | - | Rule("ruby_third_parties_open_telemetry", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "status"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"), AST_NodeType(node7, "call"), !AST_NodeField(node7, _, "block"), AST_NodeField(node7, node8, "receiver"), AST_NodeType(node8, "scope_resolution"), AST_NodeField(node8, node9, "scope"), AST_NodeType(node9, "scope_resolution"), AST_NodeField(node9, node10, "scope"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "OpenTelemetry"), AST_ParentChild(node9, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node9, node12, "name"), AST_NodeType(node12, "constant"), AST_NodeContent(node12, "Trace"), AST_ParentChild(node8, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node8, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "Status"), AST_ParentChild(node7, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node7, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "error"), AST_NodeField(node7, node17, "arguments"), AST_NodeType(node17, "argument_list"), AST_ParentChild(node17, 0, node18), AST_NodeType(node18, "("), AST_ParentChild(node17, 1, node19), AST_ParentChild(node17, 2, node20), AST_NodeType(node20, ")"). |
123 | | - | Rule("ruby_rails_redirect_to_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
124 | | - | Rule("ruby_rails_redirect_to_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
125 | | - | Rule("ruby_rails_redirect_to_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
126 | | - | Rule("ruby_lang_path_using_user_input_shell_cmd_proc", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "command_processor"). |
127 | | - | Rule("ruby_lang_path_using_user_input_shell_cmd_proc", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "CommandProcessor"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
128 | | - | Rule("google_dataflow_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "Client"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
129 | | - | Rule("google_dataflow_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Cloud"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Dataflow"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"). |
130 | | - | Rule("google_dataflow_template_metadata_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Google"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node5, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Cloud"), AST_ParentChild(node4, 0, node9), AST_NodeType(node9, "::"), AST_NodeField(node4, node10, "name"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "Dataflow"), AST_ParentChild(node3, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node3, node12, "name"), AST_ParentChild(node2, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node2, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "TemplateMetadata"), AST_ParentChild(node1, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node1, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "new"). |
131 | | - | Rule("open_telemetry_current_span", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "OpenTelemetry"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Trace"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "current_span"). |
132 | | - | Rule("open_telemetry_current_span", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "in_span"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
133 | | - | Rule("ruby_third_parties_rollbar", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "rollbar_context"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
134 | | - | Rule("ruby_third_parties_rollbar", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
135 | | - | Rule("ruby_third_parties_rollbar", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "log"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
136 | | - | Rule("ruby_third_parties_rollbar", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "scope"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
137 | | - | Rule("ruby_third_parties_rollbar", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "scoped"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
138 | | - | Rule("ruby_third_parties_elasticsearch_client", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Client"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
139 | | - | Rule("ruby_third_parties_elasticsearch_client", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Client"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
140 | | - | Rule("ruby_lang_path_using_user_input_shell_cmd_trans_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
141 | | - | Rule("ruby_rails_logger", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "logger"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
142 | | - | Rule("ruby_third_parties_algolia_index", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "init_index"). |
143 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "SHA1"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "hexidigest"). |
144 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "MD5"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "hexdigest"). |
145 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
146 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
147 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
148 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
149 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
150 | | - | Rule("ruby_lang_weak_encryption", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), !AST_NodeField(node5, _, "parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, "end"). |
151 | | - | Rule("ruby_lang_hardcoded_secret", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "="), AST_NodeField(node1, node4, "right"). |
152 | | - | Rule("ruby_lang_hardcoded_secret", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, ":"), AST_NodeField(node5, node7, "value"), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
153 | | - | Rule("ruby_lang_hardcoded_secret", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, node6, "key"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "=>"), AST_NodeField(node5, node8, "value"), AST_ParentChild(node3, 2, node9), AST_NodeType(node9, ")"). |
154 | | - | Rule("ruby_lang_hardcoded_secret", node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "{"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "pair"), AST_NodeField(node3, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar0"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar0")), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, ":"), AST_NodeField(node3, node5, "value"), AST_ParentChild(node1, 2, node6), AST_NodeType(node6, "}"). |
155 | | - | Rule("ruby_lang_hardcoded_secret", node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "{"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "pair"), AST_NodeField(node3, node4, "key"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "=>"), AST_NodeField(node3, node6, "value"), AST_ParentChild(node1, 2, node7), AST_NodeType(node7, "}"). |
156 | | - | Rule("ruby_rails_session_key_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
157 | | - | Rule("ruby_rails_session_key_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
158 | | - | Rule("ruby_rails_session_key_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
159 | | - | Rule("ruby_lang_regex_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
160 | | - | Rule("ruby_lang_regex_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
161 | | - | Rule("ruby_lang_regex_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
162 | | - | Rule("ruby_lang_regex_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
163 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "generate"). |
164 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "generate"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
165 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"). |
166 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
167 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"). |
168 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
169 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"). |
170 | | - | Rule("ruby_lang_file_generation_file", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
171 | | - | Rule("ruby_lang_http_url_using_user_input_net_http", node1) :- . |
172 | | - | Rule("ruby_lang_http_url_using_user_input_net_http", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "start"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "}"). |
173 | | - | Rule("ruby_lang_http_url_using_user_input_net_http", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "start"). |
174 | | - | Rule("ruby_third_parties_bigquery", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "insert"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
175 | | - | Rule("ruby_lang_cookies", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "cookies"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "["), AST_ParentChild(node2, 1, node5), AST_ParentChild(node2, 2, node6), AST_NodeType(node6, "]"), AST_ParentChild(node1, 0, node7), AST_NodeType(node7, "="), AST_NodeField(node1, node8, "right"). |
176 | | - | Rule("ruby_lang_cookies", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "cookies"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "."), AST_NodeField(node3, node6, "method"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "["), AST_ParentChild(node2, 1, node8), AST_ParentChild(node2, 2, node9), AST_NodeType(node9, "]"), AST_ParentChild(node1, 0, node10), AST_NodeType(node10, "="), AST_NodeField(node1, node11, "right"). |
177 | | - | Rule("ruby_lang_cookies", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "block"), (!AST_NodeField(node4, _, "arguments"); AST_NodeField(node4, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node4, node5, "receiver"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "cookies"), AST_ParentChild(node4, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node4, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "permanent"), AST_ParentChild(node3, 0, node8), AST_NodeType(node8, "."), AST_NodeField(node3, node9, "method"), AST_NodeType(node9, "identifier"), AST_NodeContent(node9, "signed"), AST_ParentChild(node2, 0, node10), AST_NodeType(node10, "["), AST_ParentChild(node2, 1, node11), AST_ParentChild(node2, 2, node12), AST_NodeType(node12, "]"), AST_ParentChild(node1, 0, node13), AST_NodeType(node13, "="), AST_NodeField(node1, node14, "right"). |
178 | | - | Rule("ruby_lang_cookies", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "block"), (!AST_NodeField(node4, _, "arguments"); AST_NodeField(node4, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node4, node5, "receiver"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "cookies"), AST_ParentChild(node4, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node4, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "signed"), AST_ParentChild(node3, 0, node8), AST_NodeType(node8, "."), AST_NodeField(node3, node9, "method"), AST_NodeType(node9, "identifier"), AST_NodeContent(node9, "permanent"), AST_ParentChild(node2, 0, node10), AST_NodeType(node10, "["), AST_ParentChild(node2, 1, node11), AST_ParentChild(node2, 2, node12), AST_NodeType(node12, "]"), AST_ParentChild(node1, 0, node13), AST_NodeType(node13, "="), AST_NodeField(node1, node14, "right"). |
179 | | - | Rule("ruby_lang_deserialization_of_user_input_sanitized_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JSON"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "parse"). |
180 | | - | Rule("ruby_lang_deserialization_of_user_input_sanitized_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Nokogiri"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "XML"). |
181 | | - | Rule("rc4_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"). |
182 | | - | Rule("ruby_rails_session_key_using_user_input", node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "session"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "["), AST_ParentChild(node1, 1, node4), AST_ParentChild(node1, 2, node5), AST_NodeType(node5, "]"). |
183 | | - | Rule("ruby_rails_password_length", node1) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "class"), !AST_NodeField(node2, _, "name"), !AST_NodeField(node2, _, "superclass"), AST_NodeField(node1, node3, "name"), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "receiver"), !AST_NodeField(node4, _, "block"), AST_NodeField(node4, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "validates"), AST_NodeField(node4, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, "simple_symbol"), AST_NodeContent(node7, ":password"), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, ","), AST_ParentChild(node6, 2, node9), AST_NodeType(node9, "pair"), AST_NodeField(node9, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":length"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "length")), AST_ParentChild(node9, 0, node10), AST_NodeType(node10, ":"), AST_NodeField(node9, node11, "value"), AST_NodeType(node11, "hash"), AST_ParentChild(node11, 0, node12), AST_NodeType(node12, "{"), AST_ParentChild(node11, 1, node13), AST_NodeType(node13, "pair"), AST_NodeField(node13, tmp1, "key"), (AST_NodeType(tmp1, "simple_symbol"), AST_NodeContent(tmp1, ":minimum"); AST_NodeType(tmp1, "hash_key_symbol"), AST_NodeContent(tmp1, "minimum")), AST_ParentChild(node13, 0, node14), AST_NodeType(node14, ":"), AST_NodeField(node13, node15, "value"), AST_ParentChild(node11, 2, node16), AST_NodeType(node16, "}"), AST_ParentChild(node1, 2, node17), AST_NodeType(node17, "end"). |
184 | | - | Rule("ruby_rails_password_length", node1) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "class"), !AST_NodeField(node2, _, "name"), !AST_NodeField(node2, _, "superclass"), AST_NodeField(node1, node3, "name"), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, "call"), !AST_NodeField(node4, _, "receiver"), !AST_NodeField(node4, _, "block"), AST_NodeField(node4, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "devise"), AST_NodeField(node4, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, "pair"), AST_NodeField(node7, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":password_length"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "password_length")), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, ":"), AST_NodeField(node7, node9, "value"), AST_NodeType(node9, "range"), AST_NodeField(node9, node10, "begin"), AST_NodeField(node9, node11, "operator"), AST_NodeType(node11, ".."), AST_NodeField(node9, node12, "end"), AST_ParentChild(node1, 2, node13), AST_NodeType(node13, "end"). |
185 | | - | Rule("ruby_rails_password_length", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Devise"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "setup"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "assignment"), AST_NodeField(node11, node12, "left"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node12, node13, "receiver"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "password_length"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "="), AST_NodeField(node11, node17, "right"), AST_NodeType(node17, "range"), AST_NodeField(node17, node18, "begin"), AST_NodeField(node17, node19, "operator"), AST_NodeType(node19, ".."), AST_NodeField(node17, node20, "end"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
186 | | - | Rule("ruby_rails_password_length", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Devise"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "setup"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "assignment"), AST_NodeField(node11, node12, "left"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node12, node13, "receiver"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "password_length"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "="), AST_NodeField(node11, node17, "right"), AST_ParentChild(node5, 2, node18), AST_NodeType(node18, "end"). |
187 | | - | Rule("ruby_lang_http_post_insecure_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "post_form"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ","), AST_ParentChild(node8, 3, node12), AST_ParentChild(node8, 4, node13), AST_NodeType(node13, ")"). |
188 | | - | Rule("ruby_lang_http_post_insecure_with_data", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "post"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
189 | | - | Rule("ruby_third_parties_clickhouse_insert_rows", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Clickhouse"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "connection"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "insert_rows"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "block"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "{"), AST_NodeField(node8, node10, "parameters"), AST_NodeType(node10, "block_parameters"), AST_ParentChild(node10, 0, node11), AST_NodeType(node11, "|"), AST_ParentChild(node10, 1, node12), AST_ParentChild(node10, 2, node13), AST_NodeType(node13, "|"), AST_ParentChild(node8, 1, node14), AST_NodeType(node14, "}"). |
190 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
191 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
192 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "popen"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
193 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Process"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
194 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Open3"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
195 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Util"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
196 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PTY"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "spawn"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
197 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "`"), AST_ParentChild(node1, 1, node3), AST_ParentChild(node1, 2, node4), AST_NodeType(node4, "`"). |
198 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "`"), AST_ParentChild(node1, 1, node3), AST_NodeType(node3, "string_content"), AST_NodeContent(node3, "{CurioVar0"), AST_ParentChild(node1, 2, node4), AST_NodeType(node4, "`"). |
199 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
200 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "CommandProcessor"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
201 | | - | Rule("ruby_lang_exec_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "system"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
202 | | - | Rule("ruby_lang_ftp_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
203 | | - | Rule("ruby_lang_ftp_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "open"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
204 | | - | Rule("ruby_lang_ftp_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
205 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Sentry"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Breadcrumb"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
206 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "capture_message"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
207 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "init"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "assignment"), AST_NodeField(node11, node12, "left"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node12, node13, "receiver"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "before_breadcrumb"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "="), AST_NodeField(node11, node17, "right"), AST_NodeType(node17, "call"), !AST_NodeField(node17, _, "receiver"), (!AST_NodeField(node17, _, "arguments"); AST_NodeField(node17, tmp2, "arguments"), !AST_ParentChild(tmp2, _, _)), AST_NodeField(node17, node18, "method"), AST_NodeType(node18, "identifier"), AST_NodeContent(node18, "lambda"), AST_NodeField(node17, node19, "block"), AST_NodeType(node19, "do_block"), AST_ParentChild(node19, 0, node20), AST_NodeType(node20, "do"), AST_NodeField(node19, node21, "parameters"), AST_NodeType(node21, "block_parameters"), AST_ParentChild(node21, 0, node22), AST_NodeType(node22, "|"), AST_ParentChild(node21, 1, node23), AST_ParentChild(node21, 2, node24), AST_NodeType(node24, ","), AST_ParentChild(node21, 3, node25), AST_ParentChild(node21, 4, node26), AST_NodeType(node26, "|"), AST_ParentChild(node19, 1, node27), AST_NodeType(node27, "assignment"), AST_NodeField(node27, node28, "left"), AST_NodeType(node28, "call"), !AST_NodeField(node28, _, "block"), (!AST_NodeField(node28, _, "arguments"); AST_NodeField(node28, tmp3, "arguments"), !AST_ParentChild(tmp3, _, _)), AST_NodeField(node28, node29, "receiver"), AST_ParentChild(node28, 0, node30), AST_NodeType(node30, "."), AST_NodeField(node28, node31, "method"), AST_NodeType(node31, "identifier"), AST_NodeContent(node31, "message"), AST_ParentChild(node27, 0, node32), AST_NodeType(node32, "="), AST_NodeField(node27, node33, "right"), AST_ParentChild(node19, 2, node34), AST_NodeType(node34, "end"), AST_ParentChild(node5, 2, node35), AST_NodeType(node35, "end"). |
208 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "set_context"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ","), AST_ParentChild(node5, 3, node9), AST_ParentChild(node5, 4, node10), AST_NodeType(node10, ")"). |
209 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_context"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
210 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_context"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
211 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_extra"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
212 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_extra"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
213 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "set_extras"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
214 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_extras"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
215 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_extras"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
216 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_tag"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
217 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_tag"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ","), AST_ParentChild(node15, 3, node19), AST_ParentChild(node15, 4, node20), AST_NodeType(node20, ")"), AST_ParentChild(node5, 2, node21), AST_NodeType(node21, "end"). |
218 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "set_tags"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
219 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_tags"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
220 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_tags"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
221 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "set_user"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
222 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "configure_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_user"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
223 | | - | Rule("ruby_third_parties_sentry", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "with_scope"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), AST_NodeField(node11, node12, "receiver"), AST_ParentChild(node11, 0, node13), AST_NodeType(node13, "."), AST_NodeField(node11, node14, "method"), AST_NodeType(node14, "identifier"), AST_NodeContent(node14, "set_user"), AST_NodeField(node11, node15, "arguments"), AST_NodeType(node15, "argument_list"), AST_ParentChild(node15, 0, node16), AST_NodeType(node16, "("), AST_ParentChild(node15, 1, node17), AST_ParentChild(node15, 2, node18), AST_NodeType(node18, ")"), AST_ParentChild(node5, 2, node19), AST_NodeType(node19, "end"). |
224 | | - | Rule("ruby_rails_render_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
225 | | - | Rule("ruby_rails_render_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
226 | | - | Rule("ruby_rails_render_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
227 | | - | Rule("ruby_third_parties_bigquery_client", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Cloud"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Bigquery"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"). |
228 | | - | Rule("ruby_third_parties_bigquery_client", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Cloud"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Bigquery"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"). |
229 | | - | Rule("ruby_lang_http_url_using_user_input_excon", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"). |
230 | | - | Rule("ruby_lang_http_url_using_user_input_excon", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Connection"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
231 | | - | Rule("ruby_rails_render_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":inline"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "inline")), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, ":"), AST_NodeField(node5, node7, "value"), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
232 | | - | Rule("ruby_rails_render_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":html"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "html")), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, ":"), AST_NodeField(node5, node7, "value"), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
233 | | - | Rule("ruby_rails_insecure_smtp", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "application"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "configure"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "do_block"), !AST_NodeField(node8, _, "parameters"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "do"), AST_ParentChild(node8, 1, node10), AST_NodeType(node10, "assignment"), AST_NodeField(node10, node11, "left"), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), (!AST_NodeField(node11, _, "arguments"); AST_NodeField(node11, tmp2, "arguments"), !AST_ParentChild(tmp2, _, _)), AST_NodeField(node11, node12, "receiver"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp3, "arguments"), !AST_ParentChild(tmp3, _, _)), AST_NodeField(node12, node13, "receiver"), AST_NodeType(node13, "identifier"), AST_NodeContent(node13, "config"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "action_mailer"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "."), AST_NodeField(node11, node17, "method"), AST_NodeType(node17, "identifier"), AST_NodeContent(node17, "smtp_settings"), AST_ParentChild(node10, 0, node18), AST_NodeType(node18, "="), AST_NodeField(node10, node19, "right"), AST_NodeType(node19, "hash"), AST_ParentChild(node19, 0, node20), AST_NodeType(node20, "{"), AST_ParentChild(node19, 1, node21), AST_NodeType(node21, "pair"), AST_NodeField(node21, tmp4, "key"), (AST_NodeType(tmp4, "simple_symbol"), AST_NodeContent(tmp4, ":openssl_verify_mode"); AST_NodeType(tmp4, "hash_key_symbol"), AST_NodeContent(tmp4, "openssl_verify_mode")), AST_ParentChild(node21, 0, node22), AST_NodeType(node22, ":"), AST_NodeField(node21, node23, "value"), AST_NodeType(node23, "scope_resolution"), AST_NodeField(node23, node24, "scope"), AST_NodeType(node24, "scope_resolution"), AST_NodeField(node24, node25, "scope"), AST_NodeType(node25, "constant"), AST_NodeContent(node25, "OpenSSL"), AST_ParentChild(node24, 0, node26), AST_NodeType(node26, "::"), AST_NodeField(node24, node27, "name"), AST_NodeType(node27, "constant"), AST_NodeContent(node27, "SSL"), AST_ParentChild(node23, 0, node28), AST_NodeType(node28, "::"), AST_NodeField(node23, node29, "name"), AST_NodeType(node29, "constant"), AST_NodeContent(node29, "VERIFY_NONE"), AST_ParentChild(node19, 2, node30), AST_NodeType(node30, "}"), AST_ParentChild(node8, 2, node31), AST_NodeType(node31, "end"). |
234 | | - | Rule("ruby_rails_insecure_smtp", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp1, "arguments"), !AST_ParentChild(tmp1, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "application"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "configure"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "do_block"), !AST_NodeField(node8, _, "parameters"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "do"), AST_ParentChild(node8, 1, node10), AST_NodeType(node10, "assignment"), AST_NodeField(node10, node11, "left"), AST_NodeType(node11, "call"), !AST_NodeField(node11, _, "block"), (!AST_NodeField(node11, _, "arguments"); AST_NodeField(node11, tmp2, "arguments"), !AST_ParentChild(tmp2, _, _)), AST_NodeField(node11, node12, "receiver"), AST_NodeType(node12, "call"), !AST_NodeField(node12, _, "block"), (!AST_NodeField(node12, _, "arguments"); AST_NodeField(node12, tmp3, "arguments"), !AST_ParentChild(tmp3, _, _)), AST_NodeField(node12, node13, "receiver"), AST_NodeType(node13, "identifier"), AST_NodeContent(node13, "config"), AST_ParentChild(node12, 0, node14), AST_NodeType(node14, "."), AST_NodeField(node12, node15, "method"), AST_NodeType(node15, "identifier"), AST_NodeContent(node15, "action_mailer"), AST_ParentChild(node11, 0, node16), AST_NodeType(node16, "."), AST_NodeField(node11, node17, "method"), AST_NodeType(node17, "identifier"), AST_NodeContent(node17, "smtp_settings"), AST_ParentChild(node10, 0, node18), AST_NodeType(node18, "="), AST_NodeField(node10, node19, "right"), AST_NodeType(node19, "hash"), AST_ParentChild(node19, 0, node20), AST_NodeType(node20, "{"), AST_ParentChild(node19, 1, node21), AST_NodeType(node21, "pair"), AST_NodeField(node21, tmp4, "key"), (AST_NodeType(tmp4, "simple_symbol"), AST_NodeContent(tmp4, ":openssl_verify_mode"); AST_NodeType(tmp4, "hash_key_symbol"), AST_NodeContent(tmp4, "openssl_verify_mode")), AST_ParentChild(node21, 0, node22), AST_NodeType(node22, ":"), AST_NodeField(node21, node23, "value"), AST_NodeType(node23, "string"), AST_ParentChild(node23, 0, node24), AST_NodeType(node24, "\""), AST_ParentChild(node23, 1, node25), AST_NodeType(node25, "string_content"), AST_NodeContent(node25, "none"), AST_ParentChild(node23, 2, node26), AST_NodeType(node26, "\""), AST_ParentChild(node19, 2, node27), AST_NodeType(node27, "}"), AST_ParentChild(node8, 2, node28), AST_NodeType(node28, "end"). |
235 | | - | Rule("google_dataflow_message_text_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Google"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node5, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Cloud"), AST_ParentChild(node4, 0, node9), AST_NodeType(node9, "::"), AST_NodeField(node4, node10, "name"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "Dataflow"), AST_ParentChild(node3, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node3, node12, "name"), AST_ParentChild(node2, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node2, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "StructuredMessage"), AST_ParentChild(node1, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node1, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "new"). |
236 | | - | Rule("google_dataflow_message_text_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Google"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node5, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Cloud"), AST_ParentChild(node4, 0, node9), AST_NodeType(node9, "::"), AST_NodeField(node4, node10, "name"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "Dataflow"), AST_ParentChild(node3, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node3, node12, "name"), AST_ParentChild(node2, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node2, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "JobMessage"), AST_ParentChild(node1, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node1, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "new"). |
237 | | - | Rule("ruby_lang_logger", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "logger"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
238 | | - | Rule("ruby_lang_path_using_user_input_shell", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"). |
239 | | - | Rule("google_dataflow_value_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Google"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node5, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Cloud"), AST_ParentChild(node4, 0, node9), AST_NodeType(node9, "::"), AST_NodeField(node4, node10, "name"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "Dataflow"), AST_ParentChild(node3, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node3, node12, "name"), AST_ParentChild(node2, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node2, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "JobMessage"), AST_ParentChild(node1, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node1, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "new"). |
240 | | - | Rule("google_dataflow_value_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_NodeType(node15, "constant"), AST_NodeContent(node15, "CreateJobFromTemplateRequest"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "ParametersEntry"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
241 | | - | Rule("google_dataflow_value_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_NodeType(node15, "constant"), AST_NodeContent(node15, "ParameterMetadata"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "CustomMetadataEntry"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
242 | | - | Rule("google_dataflow_value_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_NodeType(node15, "constant"), AST_NodeContent(node15, "StructuredMessage"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "Parameter"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
243 | | - | Rule("ruby_third_parties_google_analytics", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Google"), AST_ParentChild(node4, 0, node6), AST_NodeType(node6, "::"), AST_NodeField(node4, node7, "name"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Apis"), AST_ParentChild(node3, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node3, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "AnalyticsreportingV4"), AST_ParentChild(node2, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node2, node11, "name"), AST_ParentChild(node1, 0, node12), AST_NodeType(node12, "."), AST_NodeField(node1, node13, "method"), AST_NodeField(node1, node14, "arguments"), AST_NodeType(node14, "argument_list"), AST_ParentChild(node14, 0, node15), AST_NodeType(node15, "("), AST_ParentChild(node14, 1, node16), AST_ParentChild(node14, 2, node17), AST_NodeType(node17, ")"). |
244 | | - | Rule("ruby_lang_deserialization_of_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "load"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
245 | | - | Rule("ruby_lang_deserialization_of_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Marshal"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "restore"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
246 | | - | Rule("ruby_lang_deserialization_of_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Oj"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "object_load"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
247 | | - | Rule("ruby_lang_exec_using_user_input_shell_cmd_proc", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "command_processor"). |
248 | | - | Rule("ruby_lang_exec_using_user_input_shell_cmd_proc", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "CommandProcessor"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
249 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "message_text"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
250 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "description"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
251 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "value"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
252 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "create_job_from_template"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
253 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
254 | | - | Rule("ruby_third_parties_google_dataflow", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "metadata"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
255 | | - | Rule("ruby_third_parties_bigquery_table", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "table"). |
256 | | - | Rule("ruby_third_parties_bigquery_table", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "create_table"). |
257 | | - | Rule("ruby_lang_reflection_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
258 | | - | Rule("ruby_lang_reflection_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
259 | | - | Rule("ruby_lang_reflection_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
260 | | - | Rule("ruby_lang_reflection_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
261 | | - | Rule("ruby_rails_session", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "session"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "["), AST_ParentChild(node2, 1, node5), AST_ParentChild(node2, 2, node6), AST_NodeType(node6, "]"), AST_ParentChild(node1, 0, node7), AST_NodeType(node7, "="), AST_NodeField(node1, node8, "right"). |
262 | | - | Rule("ruby_lang_eval_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "RubyVM"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "InstructionSequence"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "compile"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
263 | | - | Rule("ruby_lang_eval_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
264 | | - | Rule("ruby_lang_eval_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
265 | | - | Rule("ruby_lang_weak_encryption_with_data_openssl_dsa_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "PKey"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "DSA"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"). |
266 | | - | Rule("ruby_lang_http_get_params", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "encode_www_form"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
267 | | - | Rule("ruby_lang_http_get_params", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
268 | | - | Rule("ruby_lang_http_get_params", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
269 | | - | Rule("ruby_third_parties_algolia", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
270 | | - | Rule("ruby_lang_insecure_ftp", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
271 | | - | Rule("ruby_lang_insecure_ftp", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "open"), AST_NodeField(node1, node8, "block"), AST_NodeType(node8, "do_block"), !AST_NodeField(node8, _, "parameters"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "do"), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, "end"). |
272 | | - | Rule("ruby_lang_insecure_ftp", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "FTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "open"). |
273 | | - | Rule("ruby_third_parties_bigquery_insert_async", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "insert_async"). |
274 | | - | Rule("ruby_third_parties_bigquery_insert_async", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "insert_async"). |
275 | | - | Rule("ruby_third_parties_bigquery_insert_async", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "insert_async"). |
276 | | - | Rule("ruby_third_parties_clickhouse", node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"). |
277 | | - | Rule("segment_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Segment"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Analytics"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
278 | | - | Rule("openssl_rsa_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "PKey"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "RSA"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "new"), AST_NodeField(node1, node11, "arguments"), AST_NodeType(node11, "argument_list"), AST_ParentChild(node11, 0, node12), AST_NodeType(node12, "("), AST_ParentChild(node11, 1, node13), AST_ParentChild(node11, 2, node14), AST_NodeType(node14, ")"). |
279 | | - | Rule("ruby_lang_weak_encryption_with_data_rc4_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"). |
280 | | - | Rule("ruby_third_parties_new_relic", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Agent"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "add_custom_attributes"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
281 | | - | Rule("ruby_third_parties_new_relic", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Agent"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "add_custom_parameters"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
282 | | - | Rule("ruby_third_parties_new_relic", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Agent"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "notice_error"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
283 | | - | Rule("ruby_lang_path_using_user_input_pathname", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rails"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "root"). |
284 | | - | Rule("ruby_lang_path_using_user_input_pathname", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Pathname"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"). |
285 | | - | Rule("ruby_lang_deserialization_of_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
286 | | - | Rule("ruby_lang_deserialization_of_user_input_user_input", node1) :- . |
287 | | - | Rule("ruby_third_parties_honeybadger", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "notify"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
288 | | - | Rule("ruby_third_parties_honeybadger", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "context"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
289 | | - | Rule("ruby_third_parties_honeybadger", node1) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "to_honeybadger_context"), AST_ParentChild(node1, 1, node4), AST_ParentChild(node1, 2, node5), AST_NodeType(node5, "end"). |
290 | | - | Rule("ruby_third_parties_honeybadger", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "add_breadcrumb"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
291 | | - | Rule("ruby_lang_http_url_using_user_input_net_http_new", node1) :- AST_NodeType(node1, "call"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "start"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"), AST_NodeField(node1, node12, "block"), AST_NodeType(node12, "block"), AST_ParentChild(node12, 0, node13), AST_NodeType(node13, "{"), AST_NodeField(node12, node14, "parameters"), AST_NodeType(node14, "block_parameters"), AST_ParentChild(node14, 0, node15), AST_NodeType(node15, "|"), AST_ParentChild(node14, 1, node16), AST_ParentChild(node14, 2, node17), AST_NodeType(node17, "|"), AST_ParentChild(node12, 1, node18), AST_NodeType(node18, "}"). |
292 | | - | Rule("ruby_lang_http_url_using_user_input_net_http_new", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "HTTP"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
293 | | - | Rule("google_dataflow_snapshots_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "scope_resolution"), AST_NodeField(node6, node7, "scope"), AST_NodeType(node7, "constant"), AST_NodeContent(node7, "Google"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, "::"), AST_NodeField(node6, node9, "name"), AST_NodeType(node9, "constant"), AST_NodeContent(node9, "Cloud"), AST_ParentChild(node5, 0, node10), AST_NodeType(node10, "::"), AST_NodeField(node5, node11, "name"), AST_NodeType(node11, "constant"), AST_NodeContent(node11, "Dataflow"), AST_ParentChild(node4, 0, node12), AST_NodeType(node12, "::"), AST_NodeField(node4, node13, "name"), AST_ParentChild(node3, 0, node14), AST_NodeType(node14, "::"), AST_NodeField(node3, node15, "name"), AST_NodeType(node15, "constant"), AST_NodeContent(node15, "Snapshots"), AST_ParentChild(node2, 0, node16), AST_NodeType(node16, "::"), AST_NodeField(node2, node17, "name"), AST_NodeType(node17, "constant"), AST_NodeContent(node17, "Client"), AST_ParentChild(node1, 0, node18), AST_NodeType(node18, "."), AST_NodeField(node1, node19, "method"), AST_NodeType(node19, "identifier"), AST_NodeContent(node19, "new"). |
294 | | - | Rule("google_dataflow_snapshots_client_init", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_ParentChild(node3, 0, node5), AST_NodeType(node5, "::"), AST_NodeField(node3, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Cloud"), AST_ParentChild(node2, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node2, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Dataflow"), AST_ParentChild(node1, 0, node9), AST_NodeType(node9, "."), AST_NodeField(node1, node10, "method"), AST_NodeType(node10, "identifier"), AST_NodeContent(node10, "snapshots"). |
295 | | - | Rule("ruby_lang_exec_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
296 | | - | Rule("ruby_lang_exec_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
297 | | - | Rule("ruby_lang_exec_using_user_input_user_input", node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
298 | | - | Rule("ruby_lang_exec_using_user_input_user_input", node1) :- AST_NodeType(node1, "method"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeField(node1, node4, "parameters"), AST_NodeType(node4, "method_parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "("), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "event"), AST_ParentChild(node6, 0, node8), AST_NodeType(node8, ":"), AST_ParentChild(node4, 2, node9), AST_NodeType(node9, ","), AST_ParentChild(node4, 3, node10), AST_NodeType(node10, "keyword_parameter"), !AST_NodeField(node10, _, "value"), AST_NodeField(node10, node11, "name"), AST_NodeType(node11, "identifier"), AST_NodeContent(node11, "context"), AST_ParentChild(node10, 0, node12), AST_NodeType(node12, ":"), AST_ParentChild(node4, 4, node13), AST_NodeType(node13, ")"), AST_ParentChild(node1, 1, node14), AST_NodeType(node14, "end"). |
299 | | - | Rule("ruby_third_parties_scout_apm", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Context"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "add_user"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
300 | | - | Rule("ruby_third_parties_scout_apm", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Context"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "add"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
301 | | - | Rule("ruby_third_parties_airbrake", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
302 | | - | Rule("ruby_third_parties_airbrake", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_NodeField(node5, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, "|"), AST_ParentChild(node7, 1, node9), AST_ParentChild(node7, 2, node10), AST_NodeType(node10, "|"), AST_ParentChild(node5, 1, node11), AST_NodeType(node11, "assignment"), AST_NodeField(node11, node12, "left"), AST_NodeType(node12, "element_reference"), AST_NodeField(node12, node13, "object"), AST_NodeType(node13, "element_reference"), AST_NodeField(node13, node14, "object"), AST_ParentChild(node13, 0, node15), AST_NodeType(node15, "["), AST_ParentChild(node13, 1, node16), AST_ParentChild(node13, 2, node17), AST_NodeType(node17, "]"), AST_ParentChild(node12, 0, node18), AST_NodeType(node18, "["), AST_ParentChild(node12, 1, node19), AST_ParentChild(node12, 2, node20), AST_NodeType(node20, "]"), AST_ParentChild(node11, 0, node21), AST_NodeType(node21, "="), AST_NodeField(node11, node22, "right"), AST_ParentChild(node5, 2, node23), AST_NodeType(node23, "end"). |
303 | | - | Rule("ruby_third_parties_airbrake", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "merge_context"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
304 | | - | Rule("ruby_third_parties_airbrake", node1) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "def"), AST_NodeField(node1, node3, "name"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "to_airbrake"), AST_ParentChild(node1, 1, node4), AST_ParentChild(node1, 2, node5), AST_NodeType(node5, "end"). |
305 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Dir"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "["), AST_ParentChild(node1, 1, node4), AST_ParentChild(node1, 2, node5), AST_NodeType(node5, "]"). |
306 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
307 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
308 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "open"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
309 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "open"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
310 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PStore"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
311 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "::"), AST_NodeField(node2, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Util"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "."), AST_NodeField(node1, node7, "method"), AST_NodeField(node1, node8, "arguments"), AST_NodeType(node8, "argument_list"), AST_ParentChild(node8, 0, node9), AST_NodeType(node9, "("), AST_ParentChild(node8, 1, node10), AST_ParentChild(node8, 2, node11), AST_NodeType(node11, ")"). |
312 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
313 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "+"), AST_NodeField(node1, node4, "right"). |
314 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "/"), AST_NodeField(node1, node4, "right"). |
315 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "cd"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
316 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "new"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
317 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, "."), AST_NodeField(node2, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "default_system_path"), AST_ParentChild(node1, 0, node6), AST_NodeType(node6, "="), AST_NodeField(node1, node7, "right"). |
318 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
319 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeField(node1, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "("), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, ")"). |
320 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "["), AST_ParentChild(node1, 1, node4), AST_ParentChild(node1, 2, node5), AST_NodeType(node5, ","), AST_ParentChild(node1, 3, node6), AST_ParentChild(node1, 4, node7), AST_NodeType(node7, "]"). |
321 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "transact"), AST_NodeField(node1, node5, "block"), AST_NodeType(node5, "do_block"), !AST_NodeField(node5, _, "parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "do"), AST_ParentChild(node5, 1, node7), AST_ParentChild(node5, 2, node8), AST_NodeType(node8, "end"). |
322 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, ":"), AST_NodeField(node5, node7, "value"), AST_ParentChild(node3, 2, node8), AST_NodeType(node8, ")"). |
323 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_NodeType(node5, "hash"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "{"), AST_ParentChild(node5, 1, node7), AST_NodeType(node7, "pair"), AST_NodeField(node7, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, ":"), AST_NodeField(node7, node9, "value"), AST_ParentChild(node5, 2, node10), AST_NodeType(node10, "}"), AST_ParentChild(node3, 2, node11), AST_NodeType(node11, ")"). |
324 | | - | Rule("ruby_lang_path_using_user_input", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "send_file"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "("), AST_ParentChild(node3, 1, node5), AST_ParentChild(node3, 2, node6), AST_NodeType(node6, ")"). |
325 | | - | Rule("google_dataflow_description_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "scope_resolution"), AST_NodeField(node4, node5, "scope"), AST_NodeType(node5, "scope_resolution"), AST_NodeField(node5, node6, "scope"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Google"), AST_ParentChild(node5, 0, node7), AST_NodeType(node7, "::"), AST_NodeField(node5, node8, "name"), AST_NodeType(node8, "constant"), AST_NodeContent(node8, "Cloud"), AST_ParentChild(node4, 0, node9), AST_NodeType(node9, "::"), AST_NodeField(node4, node10, "name"), AST_NodeType(node10, "constant"), AST_NodeContent(node10, "Dataflow"), AST_ParentChild(node3, 0, node11), AST_NodeType(node11, "::"), AST_NodeField(node3, node12, "name"), AST_ParentChild(node2, 0, node13), AST_NodeType(node13, "::"), AST_NodeField(node2, node14, "name"), AST_NodeType(node14, "constant"), AST_NodeContent(node14, "SnapshotJobRequest"), AST_ParentChild(node1, 0, node15), AST_NodeType(node15, "."), AST_NodeField(node1, node16, "method"), AST_NodeType(node16, "identifier"), AST_NodeContent(node16, "new"). |
326 | | - | Rule("google_dataflow_description_classes", node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "."), AST_NodeField(node1, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get_snapshot"). |
| 1 | + | .decl Rule_Pattern_ruby_lang_ftp_using_user_input(node: AST_NodeId) |
| 2 | + | Rule("ruby_lang_ftp_using_user_input", node) :- Rule_Pattern_ruby_lang_ftp_using_user_input(node). |
| 3 | + | Rule_Pattern_ruby_lang_ftp_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 4 | + | Rule_Pattern_ruby_lang_ftp_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 5 | + | Rule_Pattern_ruby_lang_ftp_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 6 | + | .decl Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node: AST_NodeId) |
| 7 | + | Rule("ruby_lang_eval_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node). |
| 8 | + | Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 9 | + | Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 10 | + | Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 11 | + | Rule_Pattern_ruby_lang_eval_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 12 | + | .decl Rule_Pattern_ruby_lang_reflection_using_user_input(node: AST_NodeId) |
| 13 | + | Rule("ruby_lang_reflection_using_user_input", node) :- Rule_Pattern_ruby_lang_reflection_using_user_input(node). |
| 14 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 15 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 16 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 17 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "to_proc"). |
| 18 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "block_argument"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 19 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "block_argument"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 20 | + | Rule_Pattern_ruby_lang_reflection_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 21 | + | .decl Rule_Pattern_ruby_third_parties_algolia_index(node: AST_NodeId) |
| 22 | + | Rule("ruby_third_parties_algolia_index", node) :- Rule_Pattern_ruby_third_parties_algolia_index(node). |
| 23 | + | Rule_Pattern_ruby_third_parties_algolia_index(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "init_index"). |
| 24 | + | .decl Rule_Pattern_ruby_rails_session_key_using_user_input(node: AST_NodeId) |
| 25 | + | Rule("ruby_rails_session_key_using_user_input", node) :- Rule_Pattern_ruby_rails_session_key_using_user_input(node). |
| 26 | + | Rule_Pattern_ruby_rails_session_key_using_user_input(node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "session"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _). |
| 27 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_net_http_new(node: AST_NodeId) |
| 28 | + | Rule("ruby_lang_http_url_using_user_input_net_http_new", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_net_http_new(node). |
| 29 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_net_http_new(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 30 | + | .decl Rule_Pattern_ruby_lang_eval_using_user_input(node: AST_NodeId) |
| 31 | + | Rule("ruby_lang_eval_using_user_input", node) :- Rule_Pattern_ruby_lang_eval_using_user_input(node). |
| 32 | + | Rule_Pattern_ruby_lang_eval_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "RubyVM"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "InstructionSequence"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "compile"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 33 | + | Rule_Pattern_ruby_lang_eval_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 34 | + | Rule_Pattern_ruby_lang_eval_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 35 | + | .decl Rule_Pattern_ruby_third_parties_segment(node: AST_NodeId) |
| 36 | + | Rule("ruby_third_parties_segment", node) :- Rule_Pattern_ruby_third_parties_segment(node). |
| 37 | + | Rule_Pattern_ruby_third_parties_segment(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 38 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_net_http(node: AST_NodeId) |
| 39 | + | Rule("ruby_lang_http_url_using_user_input_net_http", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_net_http(node). |
| 40 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_net_http(node1) :- AST_NodeType(node1, _). |
| 41 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_net_http(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "start"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 42 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_net_http(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "start"). |
| 43 | + | .decl Rule_Pattern_ruby_third_parties_open_telemetry(node: AST_NodeId) |
| 44 | + | Rule("ruby_third_parties_open_telemetry", node) :- Rule_Pattern_ruby_third_parties_open_telemetry(node). |
| 45 | + | Rule_Pattern_ruby_third_parties_open_telemetry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 46 | + | Rule_Pattern_ruby_third_parties_open_telemetry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "in_span"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 47 | + | .decl Rule_Pattern_open_telemetry_current_span(node: AST_NodeId) |
| 48 | + | Rule("open_telemetry_current_span", node) :- Rule_Pattern_open_telemetry_current_span(node). |
| 49 | + | Rule_Pattern_open_telemetry_current_span(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "OpenTelemetry"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Trace"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "current_span"). |
| 50 | + | Rule_Pattern_open_telemetry_current_span(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "in_span"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 51 | + | .decl Rule_Pattern_ruby_lang_exception(node: AST_NodeId) |
| 52 | + | Rule("ruby_lang_exception", node) :- Rule_Pattern_ruby_lang_exception(node). |
| 53 | + | Rule_Pattern_ruby_lang_exception(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "raise"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 54 | + | .decl Rule_Pattern_ruby_rails_logger(node: AST_NodeId) |
| 55 | + | Rule("ruby_rails_logger", node) :- Rule_Pattern_ruby_rails_logger(node). |
| 56 | + | Rule_Pattern_ruby_rails_logger(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Rails"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "logger"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 57 | + | .decl Rule_Pattern_ruby_lang_deserialization_of_user_input_user_input(node: AST_NodeId) |
| 58 | + | Rule("ruby_lang_deserialization_of_user_input_user_input", node) :- Rule_Pattern_ruby_lang_deserialization_of_user_input_user_input(node). |
| 59 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 60 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input_user_input(node1) :- AST_NodeType(node1, _). |
| 61 | + | .decl Rule_Pattern_ruby_third_parties_bigquery(node: AST_NodeId) |
| 62 | + | Rule("ruby_third_parties_bigquery", node) :- Rule_Pattern_ruby_third_parties_bigquery(node). |
| 63 | + | Rule_Pattern_ruby_third_parties_bigquery(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 64 | + | .decl Rule_Pattern_ruby_third_parties_bigquery_dataset(node: AST_NodeId) |
| 65 | + | Rule("ruby_third_parties_bigquery_dataset", node) :- Rule_Pattern_ruby_third_parties_bigquery_dataset(node). |
| 66 | + | Rule_Pattern_ruby_third_parties_bigquery_dataset(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "dataset"). |
| 67 | + | .decl Rule_Pattern_ruby_third_parties_clickhouse(node: AST_NodeId) |
| 68 | + | Rule("ruby_third_parties_clickhouse", node) :- Rule_Pattern_ruby_third_parties_clickhouse(node). |
| 69 | + | Rule_Pattern_ruby_third_parties_clickhouse(node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _). |
| 70 | + | .decl Rule_Pattern_ruby_lang_file_generation_file(node: AST_NodeId) |
| 71 | + | Rule("ruby_lang_file_generation_file", node) :- Rule_Pattern_ruby_lang_file_generation_file(node). |
| 72 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "generate"). |
| 73 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "generate"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 74 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"). |
| 75 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "CSV"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 76 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"). |
| 77 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "File"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 78 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"). |
| 79 | + | Rule_Pattern_ruby_lang_file_generation_file(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 80 | + | .decl Rule_Pattern_ruby_lang_cookies(node: AST_NodeId) |
| 81 | + | Rule("ruby_lang_cookies", node) :- Rule_Pattern_ruby_lang_cookies(node). |
| 82 | + | Rule_Pattern_ruby_lang_cookies(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "cookies"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 83 | + | Rule_Pattern_ruby_lang_cookies(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "cookies"), AST_NodeField(node3, node5, "method"), AST_NodeType(node5, _), AST_ParentChild(node2, 0, node6), AST_NodeType(node6, _), AST_NodeField(node1, node7, "right"), AST_NodeType(node7, _). |
| 84 | + | .decl Rule_Pattern_google_dataflow_value_classes(node: AST_NodeId) |
| 85 | + | Rule("google_dataflow_value_classes", node) :- Rule_Pattern_google_dataflow_value_classes(node). |
| 86 | + | .decl Rule_Pattern_ruby_lang_exec_using_user_input(node: AST_NodeId) |
| 87 | + | Rule("ruby_lang_exec_using_user_input", node) :- Rule_Pattern_ruby_lang_exec_using_user_input(node). |
| 88 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 89 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 90 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "popen"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 91 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Process"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 92 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Open3"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 93 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Util"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 94 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PTY"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "spawn"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 95 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, _). |
| 96 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "subshell"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "string_content"), AST_NodeContent(node2, "{CurioVar0"). |
| 97 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 98 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 99 | + | Rule_Pattern_ruby_lang_exec_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "system"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 100 | + | .decl Rule_Pattern_ruby_lang_weak_encryption_with_data_blowfish_init(node: AST_NodeId) |
| 101 | + | Rule("ruby_lang_weak_encryption_with_data_blowfish_init", node) :- Rule_Pattern_ruby_lang_weak_encryption_with_data_blowfish_init(node). |
| 102 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data_blowfish_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Blowfish"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 103 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_path_hash(node: AST_NodeId) |
| 104 | + | Rule("ruby_lang_http_url_using_user_input_path_hash", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_path_hash(node). |
| 105 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_path_hash(node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _). |
| 106 | + | .decl Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node: AST_NodeId) |
| 107 | + | Rule("ruby_lang_reflection_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node). |
| 108 | + | Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 109 | + | Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 110 | + | Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 111 | + | Rule_Pattern_ruby_lang_reflection_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 112 | + | .decl Rule_Pattern_ruby_rails_render_using_user_input(node: AST_NodeId) |
| 113 | + | Rule("ruby_rails_render_using_user_input", node) :- Rule_Pattern_ruby_rails_render_using_user_input(node). |
| 114 | + | Rule_Pattern_ruby_rails_render_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":inline"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "inline")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 115 | + | Rule_Pattern_ruby_rails_render_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "render"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":html"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "html")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 116 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input_pathname(node: AST_NodeId) |
| 117 | + | Rule("ruby_lang_path_using_user_input_pathname", node) :- Rule_Pattern_ruby_lang_path_using_user_input_pathname(node). |
| 118 | + | Rule_Pattern_ruby_lang_path_using_user_input_pathname(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rails"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "root"). |
| 119 | + | Rule_Pattern_ruby_lang_path_using_user_input_pathname(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Pathname"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 120 | + | .decl Rule_Pattern_google_dataflow_config(node: AST_NodeId) |
| 121 | + | Rule("google_dataflow_config", node) :- Rule_Pattern_google_dataflow_config(node). |
| 122 | + | Rule_Pattern_google_dataflow_config(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "configure"). |
| 123 | + | Rule_Pattern_google_dataflow_config(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "configure"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "block"), AST_NodeField(node4, node5, "parameters"), AST_NodeType(node5, "block_parameters"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 124 | + | .decl Rule_Pattern_ruby_lang_exec_using_user_input_shell_cmd_proc(node: AST_NodeId) |
| 125 | + | Rule("ruby_lang_exec_using_user_input_shell_cmd_proc", node) :- Rule_Pattern_ruby_lang_exec_using_user_input_shell_cmd_proc(node). |
| 126 | + | Rule_Pattern_ruby_lang_exec_using_user_input_shell_cmd_proc(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "command_processor"). |
| 127 | + | Rule_Pattern_ruby_lang_exec_using_user_input_shell_cmd_proc(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 128 | + | .decl Rule_Pattern_google_dataflow_message_text_classes(node: AST_NodeId) |
| 129 | + | Rule("google_dataflow_message_text_classes", node) :- Rule_Pattern_google_dataflow_message_text_classes(node). |
| 130 | + | .decl Rule_Pattern_ruby_lang_http_post_insecure_with_data(node: AST_NodeId) |
| 131 | + | Rule("ruby_lang_http_post_insecure_with_data", node) :- Rule_Pattern_ruby_lang_http_post_insecure_with_data(node). |
| 132 | + | Rule_Pattern_ruby_lang_http_post_insecure_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "post_form"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, _). |
| 133 | + | Rule_Pattern_ruby_lang_http_post_insecure_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 134 | + | .decl Rule_Pattern_ruby_third_parties_algolia_client(node: AST_NodeId) |
| 135 | + | Rule("ruby_third_parties_algolia_client", node) :- Rule_Pattern_ruby_third_parties_algolia_client(node). |
| 136 | + | Rule_Pattern_ruby_third_parties_algolia_client(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Algolia"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Search"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Client"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "create"). |
| 137 | + | .decl Rule_Pattern_ruby_rails_render_using_user_input_user_input(node: AST_NodeId) |
| 138 | + | Rule("ruby_rails_render_using_user_input_user_input", node) :- Rule_Pattern_ruby_rails_render_using_user_input_user_input(node). |
| 139 | + | Rule_Pattern_ruby_rails_render_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 140 | + | Rule_Pattern_ruby_rails_render_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 141 | + | Rule_Pattern_ruby_rails_render_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 142 | + | .decl Rule_Pattern_ruby_third_parties_airbrake(node: AST_NodeId) |
| 143 | + | Rule("ruby_third_parties_airbrake", node) :- Rule_Pattern_ruby_third_parties_airbrake(node). |
| 144 | + | Rule_Pattern_ruby_third_parties_airbrake(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 145 | + | Rule_Pattern_ruby_third_parties_airbrake(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Airbrake"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "merge_context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 146 | + | Rule_Pattern_ruby_third_parties_airbrake(node1) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "to_airbrake"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _). |
| 147 | + | .decl Rule_Pattern_ruby_third_parties_google_dataflow(node: AST_NodeId) |
| 148 | + | Rule("ruby_third_parties_google_dataflow", node) :- Rule_Pattern_ruby_third_parties_google_dataflow(node). |
| 149 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "message_text"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 150 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "description"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 151 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "value"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 152 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "create_job_from_template"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 153 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 154 | + | Rule_Pattern_ruby_third_parties_google_dataflow(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "metadata"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 155 | + | .decl Rule_Pattern_ruby_third_parties_rollbar_scope(node: AST_NodeId) |
| 156 | + | Rule("ruby_third_parties_rollbar_scope", node) :- Rule_Pattern_ruby_third_parties_rollbar_scope(node). |
| 157 | + | Rule_Pattern_ruby_third_parties_rollbar_scope(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scope"). |
| 158 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_trans_user_input(node: AST_NodeId) |
| 159 | + | Rule("ruby_lang_path_using_user_input_shell_cmd_trans_user_input", node) :- Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_trans_user_input(node). |
| 160 | + | Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_trans_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 161 | + | .decl Rule_Pattern_ruby_lang_deserialization_of_user_input_sanitized_user_input(node: AST_NodeId) |
| 162 | + | Rule("ruby_lang_deserialization_of_user_input_sanitized_user_input", node) :- Rule_Pattern_ruby_lang_deserialization_of_user_input_sanitized_user_input(node). |
| 163 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input_sanitized_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JSON"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "parse"). |
| 164 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input_sanitized_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Nokogiri"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "XML"). |
| 165 | + | .decl Rule_Pattern_segment_init(node: AST_NodeId) |
| 166 | + | Rule("segment_init", node) :- Rule_Pattern_segment_init(node). |
| 167 | + | Rule_Pattern_segment_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Segment"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Analytics"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 168 | + | .decl Rule_Pattern_ruby_third_parties_bugsnag(node: AST_NodeId) |
| 169 | + | Rule("ruby_third_parties_bugsnag", node) :- Rule_Pattern_ruby_third_parties_bugsnag(node). |
| 170 | + | Rule_Pattern_ruby_third_parties_bugsnag(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "leave_breadcrumb"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 171 | + | Rule_Pattern_ruby_third_parties_bugsnag(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Bugsnag"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "notify"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 172 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_proc(node: AST_NodeId) |
| 173 | + | Rule("ruby_lang_path_using_user_input_shell_cmd_proc", node) :- Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_proc(node). |
| 174 | + | Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_proc(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "command_processor"). |
| 175 | + | Rule_Pattern_ruby_lang_path_using_user_input_shell_cmd_proc(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "CommandProcessor"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 176 | + | .decl Rule_Pattern_ruby_third_parties_algolia(node: AST_NodeId) |
| 177 | + | Rule("ruby_third_parties_algolia", node) :- Rule_Pattern_ruby_third_parties_algolia(node). |
| 178 | + | Rule_Pattern_ruby_third_parties_algolia(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 179 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input(node: AST_NodeId) |
| 180 | + | Rule("ruby_lang_http_url_using_user_input", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input(node). |
| 181 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 182 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 183 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 184 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "send_request"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 185 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "ipaddr"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 186 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 187 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "http"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 188 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 189 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 190 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "url"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 191 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 192 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 193 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Connection"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 194 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 195 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _). |
| 196 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":path"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "path")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _). |
| 197 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "requests"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 198 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 199 | + | Rule_Pattern_ruby_lang_http_url_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 200 | + | .decl Rule_Pattern_openssl_dsa_init(node: AST_NodeId) |
| 201 | + | Rule("openssl_dsa_init", node) :- Rule_Pattern_openssl_dsa_init(node). |
| 202 | + | Rule_Pattern_openssl_dsa_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "DSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
| 203 | + | .decl Rule_Pattern_google_dataflow_template_metadata_init(node: AST_NodeId) |
| 204 | + | Rule("google_dataflow_template_metadata_init", node) :- Rule_Pattern_google_dataflow_template_metadata_init(node). |
| 205 | + | .decl Rule_Pattern_ruby_third_parties_rollbar(node: AST_NodeId) |
| 206 | + | Rule("ruby_third_parties_rollbar", node) :- Rule_Pattern_ruby_third_parties_rollbar(node). |
| 207 | + | Rule_Pattern_ruby_third_parties_rollbar(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "rollbar_context"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 208 | + | Rule_Pattern_ruby_third_parties_rollbar(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 209 | + | Rule_Pattern_ruby_third_parties_rollbar(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "log"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 210 | + | Rule_Pattern_ruby_third_parties_rollbar(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scope"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 211 | + | Rule_Pattern_ruby_third_parties_rollbar(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Rollbar"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "scoped"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 212 | + | .decl Rule_Pattern_ruby_lang_ftp_using_user_input_ftp(node: AST_NodeId) |
| 213 | + | Rule("ruby_lang_ftp_using_user_input_ftp", node) :- Rule_Pattern_ruby_lang_ftp_using_user_input_ftp(node). |
| 214 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_ftp(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 215 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_ftp(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"). |
| 216 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_ftp(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "block"), AST_NodeField(node6, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, _). |
| 217 | + | .decl Rule_Pattern_google_dataflow_description_classes(node: AST_NodeId) |
| 218 | + | Rule("google_dataflow_description_classes", node) :- Rule_Pattern_google_dataflow_description_classes(node). |
| 219 | + | Rule_Pattern_google_dataflow_description_classes(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get_snapshot"). |
| 220 | + | .decl Rule_Pattern_ruby_lang_logger(node: AST_NodeId) |
| 221 | + | Rule("ruby_lang_logger", node) :- Rule_Pattern_ruby_lang_logger(node). |
| 222 | + | Rule_Pattern_ruby_lang_logger(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "logger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 223 | + | .decl Rule_Pattern_ruby_third_parties_elasticsearch_client(node: AST_NodeId) |
| 224 | + | Rule("ruby_third_parties_elasticsearch_client", node) :- Rule_Pattern_ruby_third_parties_elasticsearch_client(node). |
| 225 | + | Rule_Pattern_ruby_third_parties_elasticsearch_client(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Client"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 226 | + | Rule_Pattern_ruby_third_parties_elasticsearch_client(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Elasticsearch"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Client"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 227 | + | .decl Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_dsa_init(node: AST_NodeId) |
| 228 | + | Rule("ruby_lang_weak_encryption_with_data_openssl_dsa_init", node) :- Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_dsa_init(node). |
| 229 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_dsa_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "DSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
| 230 | + | .decl Rule_Pattern_ruby_rails_redirect_to_user_input(node: AST_NodeId) |
| 231 | + | Rule("ruby_rails_redirect_to_user_input", node) :- Rule_Pattern_ruby_rails_redirect_to_user_input(node). |
| 232 | + | Rule_Pattern_ruby_rails_redirect_to_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 233 | + | Rule_Pattern_ruby_rails_redirect_to_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 234 | + | Rule_Pattern_ruby_rails_redirect_to_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 235 | + | .decl Rule_Pattern_openssl_rsa_init(node: AST_NodeId) |
| 236 | + | Rule("openssl_rsa_init", node) :- Rule_Pattern_openssl_rsa_init(node). |
| 237 | + | .decl Rule_Pattern_ruby_lang_weak_encryption_with_data(node: AST_NodeId) |
| 238 | + | Rule("ruby_lang_weak_encryption_with_data", node) :- Rule_Pattern_ruby_lang_weak_encryption_with_data(node). |
| 239 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "SHA1"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexidigest"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 240 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "MD5"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexdigest"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 241 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 242 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 243 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 244 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 245 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 246 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 247 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 248 | + | .decl Rule_Pattern_ruby_rails_session(node: AST_NodeId) |
| 249 | + | Rule("ruby_rails_session", node) :- Rule_Pattern_ruby_rails_session(node). |
| 250 | + | Rule_Pattern_ruby_rails_session(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "element_reference"), AST_NodeField(node2, node3, "object"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "session"), AST_ParentChild(node2, 0, node4), AST_NodeType(node4, _), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 251 | + | .decl Rule_Pattern_ruby_third_parties_sentry(node: AST_NodeId) |
| 252 | + | Rule("ruby_third_parties_sentry", node) :- Rule_Pattern_ruby_third_parties_sentry(node). |
| 253 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Sentry"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Breadcrumb"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 254 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "capture_message"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 255 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 256 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_extras"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 257 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_tags"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 258 | + | Rule_Pattern_ruby_third_parties_sentry(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Sentry"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_user"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 259 | + | .decl Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node: AST_NodeId) |
| 260 | + | Rule("ruby_lang_exec_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node). |
| 261 | + | Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 262 | + | Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 263 | + | Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 264 | + | Rule_Pattern_ruby_lang_exec_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 265 | + | .decl Rule_Pattern_ruby_lang_weak_encryption(node: AST_NodeId) |
| 266 | + | Rule("ruby_lang_weak_encryption", node) :- Rule_Pattern_ruby_lang_weak_encryption(node). |
| 267 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "SHA1"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexidigest"). |
| 268 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Digest"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "MD5"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "hexdigest"). |
| 269 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 270 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 271 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 272 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 273 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _). |
| 274 | + | Rule_Pattern_ruby_lang_weak_encryption(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 275 | + | .decl Rule_Pattern_ruby_third_parties_datadog_span(node: AST_NodeId) |
| 276 | + | Rule("ruby_third_parties_datadog_span", node) :- Rule_Pattern_ruby_third_parties_datadog_span(node). |
| 277 | + | Rule_Pattern_ruby_third_parties_datadog_span(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "active_span"). |
| 278 | + | Rule_Pattern_ruby_third_parties_datadog_span(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "trace"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "block"), AST_NodeField(node6, node7, "parameters"), AST_NodeType(node7, "block_parameters"), AST_ParentChild(node7, 0, node8), AST_NodeType(node8, _). |
| 279 | + | .decl Rule_Pattern_ruby_lang_http_get_params(node: AST_NodeId) |
| 280 | + | Rule("ruby_lang_http_get_params", node) :- Rule_Pattern_ruby_lang_http_get_params(node). |
| 281 | + | Rule_Pattern_ruby_lang_http_get_params(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "encode_www_form"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 282 | + | Rule_Pattern_ruby_lang_http_get_params(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 283 | + | Rule_Pattern_ruby_lang_http_get_params(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 284 | + | .decl Rule_Pattern_rc4_init(node: AST_NodeId) |
| 285 | + | Rule("rc4_init", node) :- Rule_Pattern_rc4_init(node). |
| 286 | + | Rule_Pattern_rc4_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"). |
| 287 | + | .decl Rule_Pattern_ruby_rails_insecure_http_password(node: AST_NodeId) |
| 288 | + | Rule("ruby_rails_insecure_http_password", node) :- Rule_Pattern_ruby_rails_insecure_http_password(node). |
| 289 | + | .decl Rule_Pattern_ruby_lang_http_insecure_url_hash(node: AST_NodeId) |
| 290 | + | Rule("ruby_lang_http_insecure_url_hash", node) :- Rule_Pattern_ruby_lang_http_insecure_url_hash(node). |
| 291 | + | Rule_Pattern_ruby_lang_http_insecure_url_hash(node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _). |
| 292 | + | .decl Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node: AST_NodeId) |
| 293 | + | Rule("ruby_lang_regex_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node). |
| 294 | + | Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 295 | + | Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 296 | + | Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 297 | + | Rule_Pattern_ruby_lang_regex_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 298 | + | .decl Rule_Pattern_ruby_rails_default_encryption(node: AST_NodeId) |
| 299 | + | Rule("ruby_rails_default_encryption", node) :- Rule_Pattern_ruby_rails_default_encryption(node). |
| 300 | + | Rule_Pattern_ruby_rails_default_encryption(node1) :- AST_NodeType(node1, "class"), !AST_NodeField(node1, _, "superclass"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "receiver"), !AST_NodeField(node3, _, "block"), AST_NodeField(node3, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "encrypts"), AST_NodeField(node3, node5, "arguments"), AST_NodeType(node5, "argument_list"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, _). |
| 301 | + | .decl Rule_Pattern_ruby_lang_jwt(node: AST_NodeId) |
| 302 | + | Rule("ruby_lang_jwt", node) :- Rule_Pattern_ruby_lang_jwt(node). |
| 303 | + | Rule_Pattern_ruby_lang_jwt(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "JWT"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "encode"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 304 | + | .decl Rule_Pattern_ruby_lang_http_insecure(node: AST_NodeId) |
| 305 | + | Rule("ruby_lang_http_insecure", node) :- Rule_Pattern_ruby_lang_http_insecure(node). |
| 306 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 307 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "HTTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 308 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "URI"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 309 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "http"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 310 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Curl"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 311 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 312 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "url"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 313 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 314 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Multi"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 315 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 316 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "get"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 317 | + | Rule_Pattern_ruby_lang_http_insecure(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "post"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 318 | + | .decl Rule_Pattern_ruby_lang_file_generation(node: AST_NodeId) |
| 319 | + | Rule("ruby_lang_file_generation", node) :- Rule_Pattern_ruby_lang_file_generation(node). |
| 320 | + | Rule_Pattern_ruby_lang_file_generation(node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "<<"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _). |
| 321 | + | Rule_Pattern_ruby_lang_file_generation(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 322 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_curb(node: AST_NodeId) |
| 323 | + | Rule("ruby_lang_http_url_using_user_input_curb", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_curb(node). |
| 324 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_curb(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 325 | + | .decl Rule_Pattern_ruby_rails_session_key_using_user_input_user_input(node: AST_NodeId) |
| 326 | + | Rule("ruby_rails_session_key_using_user_input_user_input", node) :- Rule_Pattern_ruby_rails_session_key_using_user_input_user_input(node). |
| 327 | + | Rule_Pattern_ruby_rails_session_key_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 328 | + | Rule_Pattern_ruby_rails_session_key_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 329 | + | Rule_Pattern_ruby_rails_session_key_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 330 | + | .decl Rule_Pattern_ruby_third_parties_bigquery_insert_async(node: AST_NodeId) |
| 331 | + | Rule("ruby_third_parties_bigquery_insert_async", node) :- Rule_Pattern_ruby_third_parties_bigquery_insert_async(node). |
| 332 | + | Rule_Pattern_ruby_third_parties_bigquery_insert_async(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async"). |
| 333 | + | Rule_Pattern_ruby_third_parties_bigquery_insert_async(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async"). |
| 334 | + | Rule_Pattern_ruby_third_parties_bigquery_insert_async(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "insert_async"). |
| 335 | + | .decl Rule_Pattern_ruby_third_parties_new_relic(node: AST_NodeId) |
| 336 | + | Rule("ruby_third_parties_new_relic", node) :- Rule_Pattern_ruby_third_parties_new_relic(node). |
| 337 | + | Rule_Pattern_ruby_third_parties_new_relic(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_custom_attributes"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 338 | + | Rule_Pattern_ruby_third_parties_new_relic(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_custom_parameters"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 339 | + | Rule_Pattern_ruby_third_parties_new_relic(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "NewRelic"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Agent"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "notice_error"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 340 | + | .decl Rule_Pattern_ruby_lang_hardcoded_secret(node: AST_NodeId) |
| 341 | + | Rule("ruby_lang_hardcoded_secret", node) :- Rule_Pattern_ruby_lang_hardcoded_secret(node). |
| 342 | + | Rule_Pattern_ruby_lang_hardcoded_secret(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "right"), AST_NodeType(node3, _). |
| 343 | + | Rule_Pattern_ruby_lang_hardcoded_secret(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 344 | + | Rule_Pattern_ruby_lang_hardcoded_secret(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, node5, "key"), AST_NodeType(node5, _), AST_NodeField(node4, node6, "value"), AST_NodeType(node6, _). |
| 345 | + | Rule_Pattern_ruby_lang_hardcoded_secret(node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar0"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar0")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _). |
| 346 | + | Rule_Pattern_ruby_lang_hardcoded_secret(node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, node3, "key"), AST_NodeType(node3, _), AST_NodeField(node2, node4, "value"), AST_NodeType(node4, _). |
| 347 | + | .decl Rule_Pattern_ruby_lang_insecure_ftp(node: AST_NodeId) |
| 348 | + | Rule("ruby_lang_insecure_ftp", node) :- Rule_Pattern_ruby_lang_insecure_ftp(node). |
| 349 | + | Rule_Pattern_ruby_lang_insecure_ftp(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 350 | + | Rule_Pattern_ruby_lang_insecure_ftp(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"), AST_NodeField(node1, node6, "block"), AST_NodeType(node6, "do_block"), !AST_NodeField(node6, _, "parameters"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 351 | + | Rule_Pattern_ruby_lang_insecure_ftp(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Net"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "FTP"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "open"). |
| 352 | + | .decl Rule_Pattern_ruby_rails_insecure_smtp(node: AST_NodeId) |
| 353 | + | Rule("ruby_rails_insecure_smtp", node) :- Rule_Pattern_ruby_rails_insecure_smtp(node). |
| 354 | + | .decl Rule_Pattern_ruby_lang_regex_using_user_input(node: AST_NodeId) |
| 355 | + | Rule("ruby_lang_regex_using_user_input", node) :- Rule_Pattern_ruby_lang_regex_using_user_input(node). |
| 356 | + | Rule_Pattern_ruby_lang_regex_using_user_input(node1) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "interpolation"), AST_ParentChild(node2, 0, node3), AST_NodeType(node3, _). |
| 357 | + | Rule_Pattern_ruby_lang_regex_using_user_input(node1) :- AST_NodeType(node1, "regex"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "interpolation"), AST_ParentChild(node2, 0, node3), AST_NodeType(node3, _). |
| 358 | + | Rule_Pattern_ruby_lang_regex_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Regexp"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 359 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_excon(node: AST_NodeId) |
| 360 | + | Rule("ruby_lang_http_url_using_user_input_excon", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_excon(node). |
| 361 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_excon(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Excon"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"). |
| 362 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_excon(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Excon"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Connection"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 363 | + | .decl Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_rsa_init(node: AST_NodeId) |
| 364 | + | Rule("ruby_lang_weak_encryption_with_data_openssl_rsa_init", node) :- Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_rsa_init(node). |
| 365 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data_openssl_rsa_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "OpenSSL"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "PKey"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "RSA"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
| 366 | + | .decl Rule_Pattern_ruby_rails_redirect_to(node: AST_NodeId) |
| 367 | + | Rule("ruby_rails_redirect_to", node) :- Rule_Pattern_ruby_rails_redirect_to(node). |
| 368 | + | Rule_Pattern_ruby_rails_redirect_to(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "redirect_to"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 369 | + | .decl Rule_Pattern_ruby_rails_permissive_regex_validation(node: AST_NodeId) |
| 370 | + | Rule("ruby_rails_permissive_regex_validation", node) :- Rule_Pattern_ruby_rails_permissive_regex_validation(node). |
| 371 | + | Rule_Pattern_ruby_rails_permissive_regex_validation(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":format"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "format")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, "hash"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "pair"), AST_NodeField(node6, tmp1, "key"), (AST_NodeType(tmp1, "simple_symbol"), AST_NodeContent(tmp1, ":with"); AST_NodeType(tmp1, "hash_key_symbol"), AST_NodeContent(tmp1, "with")), AST_NodeField(node6, node7, "value"), AST_NodeType(node7, _). |
| 372 | + | Rule_Pattern_ruby_rails_permissive_regex_validation(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "validates_format_of"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":with"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "with")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 373 | + | .decl Rule_Pattern_ruby_third_parties_google_analytics(node: AST_NodeId) |
| 374 | + | Rule("ruby_third_parties_google_analytics", node) :- Rule_Pattern_ruby_third_parties_google_analytics(node). |
| 375 | + | .decl Rule_Pattern_ruby_third_parties_datadog(node: AST_NodeId) |
| 376 | + | Rule("ruby_third_parties_datadog", node) :- Rule_Pattern_ruby_third_parties_datadog(node). |
| 377 | + | Rule_Pattern_ruby_third_parties_datadog(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "set_tag"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _), AST_ParentChild(node4, 1, node6), AST_NodeType(node6, _). |
| 378 | + | Rule_Pattern_ruby_third_parties_datadog(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Datadog"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Tracing"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "trace"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _), AST_ParentChild(node6, 1, node8), AST_NodeType(node8, _). |
| 379 | + | .decl Rule_Pattern_google_dataflow_templates_service_client_init(node: AST_NodeId) |
| 380 | + | Rule("google_dataflow_templates_service_client_init", node) :- Rule_Pattern_google_dataflow_templates_service_client_init(node). |
| 381 | + | Rule_Pattern_google_dataflow_templates_service_client_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "templates_service"). |
| 382 | + | .decl Rule_Pattern_ruby_third_parties_elasticsearch(node: AST_NodeId) |
| 383 | + | Rule("ruby_third_parties_elasticsearch", node) :- Rule_Pattern_ruby_third_parties_elasticsearch(node). |
| 384 | + | Rule_Pattern_ruby_third_parties_elasticsearch(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _). |
| 385 | + | Rule_Pattern_ruby_third_parties_elasticsearch(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "hash"), AST_ParentChild(node5, 0, node6), AST_NodeType(node6, "pair"), AST_NodeField(node6, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":body"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "body")), AST_NodeField(node6, node7, "value"), AST_NodeType(node7, _). |
| 386 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input(node: AST_NodeId) |
| 387 | + | Rule("ruby_lang_path_using_user_input", node) :- Rule_Pattern_ruby_lang_path_using_user_input(node). |
| 388 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Dir"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _). |
| 389 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 390 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "IO"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 391 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Kernel"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "open"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 392 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "open"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 393 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "PStore"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 394 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Gem"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Util"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, _), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 395 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 396 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "+"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _). |
| 397 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "binary"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "operator"), AST_NodeType(node3, "/"), AST_NodeField(node1, node4, "right"), AST_NodeType(node4, _). |
| 398 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "cd"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 399 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 400 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "assignment"), AST_NodeField(node1, node2, "left"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Shell"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "default_system_path"), AST_NodeField(node1, node5, "right"), AST_NodeType(node5, _). |
| 401 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 402 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, _), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 403 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "element_reference"), AST_NodeField(node1, node2, "object"), AST_NodeType(node2, _), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _), AST_ParentChild(node1, 1, node4), AST_NodeType(node4, _). |
| 404 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "transact"), AST_NodeField(node1, node4, "block"), AST_NodeType(node4, "do_block"), !AST_NodeField(node4, _, "parameters"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 405 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 406 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "hash"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, "pair"), AST_NodeField(node5, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node5, node6, "value"), AST_NodeType(node6, _). |
| 407 | + | Rule_Pattern_ruby_lang_path_using_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "send_file"), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 408 | + | .decl Rule_Pattern_blowfish_init(node: AST_NodeId) |
| 409 | + | Rule("blowfish_init", node) :- Rule_Pattern_blowfish_init(node). |
| 410 | + | Rule_Pattern_blowfish_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Crypt"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Blowfish"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 411 | + | .decl Rule_Pattern_ruby_rails_insecure_disabling_of_callback(node: AST_NodeId) |
| 412 | + | Rule("ruby_rails_insecure_disabling_of_callback", node) :- Rule_Pattern_ruby_rails_insecure_disabling_of_callback(node). |
| 413 | + | Rule_Pattern_ruby_rails_insecure_disabling_of_callback(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "receiver"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "pair"), AST_NodeField(node4, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":CurioVar1"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "CurioVar1")), AST_NodeField(node4, node5, "value"), AST_NodeType(node5, _). |
| 414 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node: AST_NodeId) |
| 415 | + | Rule("ruby_lang_http_url_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node). |
| 416 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 417 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 418 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 419 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 420 | + | .decl Rule_Pattern_ruby_third_parties_clickhouse_insert_rows(node: AST_NodeId) |
| 421 | + | Rule("ruby_third_parties_clickhouse_insert_rows", node) :- Rule_Pattern_ruby_third_parties_clickhouse_insert_rows(node). |
| 422 | + | .decl Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node: AST_NodeId) |
| 423 | + | Rule("ruby_lang_ftp_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node). |
| 424 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 425 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 426 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 427 | + | Rule_Pattern_ruby_lang_ftp_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 428 | + | .decl Rule_Pattern_ruby_lang_weak_encryption_with_data_rc4_init(node: AST_NodeId) |
| 429 | + | Rule("ruby_lang_weak_encryption_with_data_rc4_init", node) :- Rule_Pattern_ruby_lang_weak_encryption_with_data_rc4_init(node). |
| 430 | + | Rule_Pattern_ruby_lang_weak_encryption_with_data_rc4_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "RC4"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"). |
| 431 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input_shell(node: AST_NodeId) |
| 432 | + | Rule("ruby_lang_path_using_user_input_shell", node) :- Rule_Pattern_ruby_lang_path_using_user_input_shell(node). |
| 433 | + | Rule_Pattern_ruby_lang_path_using_user_input_shell(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"). |
| 434 | + | .decl Rule_Pattern_ruby_rails_http_verb_confusion(node: AST_NodeId) |
| 435 | + | Rule("ruby_rails_http_verb_confusion", node) :- Rule_Pattern_ruby_rails_http_verb_confusion(node). |
| 436 | + | Rule_Pattern_ruby_rails_http_verb_confusion(node1) :- AST_NodeType(node1, "if"), !AST_NodeField(node1, _, "consequence"), AST_NodeField(node1, node2, "condition"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "request"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get?"), AST_NodeField(node1, node5, "alternative"), AST_NodeType(node5, "else"). |
| 437 | + | Rule_Pattern_ruby_rails_http_verb_confusion(node1) :- AST_NodeType(node1, "unless"), !AST_NodeField(node1, _, "consequence"), !AST_NodeField(node1, _, "alternative"), AST_NodeField(node1, node2, "condition"), AST_NodeType(node2, "call"), !AST_NodeField(node2, _, "block"), (!AST_NodeField(node2, _, "arguments"); AST_NodeField(node2, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node2, node3, "receiver"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "request"), AST_NodeField(node2, node4, "method"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "get?"). |
| 438 | + | Rule_Pattern_ruby_rails_http_verb_confusion(node1) :- AST_NodeType(node1, "unless_modifier"), AST_NodeField(node1, node2, "body"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "condition"), AST_NodeType(node3, "call"), !AST_NodeField(node3, _, "block"), (!AST_NodeField(node3, _, "arguments"); AST_NodeField(node3, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node3, node4, "receiver"), AST_NodeType(node4, "identifier"), AST_NodeContent(node4, "request"), AST_NodeField(node3, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "get?"). |
| 439 | + | .decl Rule_Pattern_ruby_lang_ssl_verification(node: AST_NodeId) |
| 440 | + | Rule("ruby_lang_ssl_verification", node) :- Rule_Pattern_ruby_lang_ssl_verification(node). |
| 441 | + | .decl Rule_Pattern_ruby_third_parties_bigquery_client(node: AST_NodeId) |
| 442 | + | Rule("ruby_third_parties_bigquery_client", node) :- Rule_Pattern_ruby_third_parties_bigquery_client(node). |
| 443 | + | Rule_Pattern_ruby_third_parties_bigquery_client(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Bigquery"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
| 444 | + | Rule_Pattern_ruby_third_parties_bigquery_client(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Bigquery"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "new"). |
| 445 | + | .decl Rule_Pattern_ruby_lang_exec_using_user_input_shell(node: AST_NodeId) |
| 446 | + | Rule("ruby_lang_exec_using_user_input_shell", node) :- Rule_Pattern_ruby_lang_exec_using_user_input_shell(node). |
| 447 | + | Rule_Pattern_ruby_lang_exec_using_user_input_shell(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Shell"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "new"). |
| 448 | + | .decl Rule_Pattern_ruby_third_parties_bigquery_table(node: AST_NodeId) |
| 449 | + | Rule("ruby_third_parties_bigquery_table", node) :- Rule_Pattern_ruby_third_parties_bigquery_table(node). |
| 450 | + | Rule_Pattern_ruby_third_parties_bigquery_table(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "table"). |
| 451 | + | Rule_Pattern_ruby_third_parties_bigquery_table(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "create_table"). |
| 452 | + | .decl Rule_Pattern_ruby_rails_insecure_communication(node: AST_NodeId) |
| 453 | + | Rule("ruby_rails_insecure_communication", node) :- Rule_Pattern_ruby_rails_insecure_communication(node). |
| 454 | + | .decl Rule_Pattern_google_dataflow_snapshots_client_init(node: AST_NodeId) |
| 455 | + | Rule("google_dataflow_snapshots_client_init", node) :- Rule_Pattern_google_dataflow_snapshots_client_init(node). |
| 456 | + | Rule_Pattern_google_dataflow_snapshots_client_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "snapshots"). |
| 457 | + | .decl Rule_Pattern_ruby_lang_deserialization_of_user_input(node: AST_NodeId) |
| 458 | + | Rule("ruby_lang_deserialization_of_user_input", node) :- Rule_Pattern_ruby_lang_deserialization_of_user_input(node). |
| 459 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "load"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 460 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Marshal"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "restore"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 461 | + | Rule_Pattern_ruby_lang_deserialization_of_user_input(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Oj"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "object_load"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 462 | + | .decl Rule_Pattern_ruby_rails_password_length(node: AST_NodeId) |
| 463 | + | Rule("ruby_rails_password_length", node) :- Rule_Pattern_ruby_rails_password_length(node). |
| 464 | + | .decl Rule_Pattern_ruby_third_parties_honeybadger(node: AST_NodeId) |
| 465 | + | Rule("ruby_third_parties_honeybadger", node) :- Rule_Pattern_ruby_third_parties_honeybadger(node). |
| 466 | + | Rule_Pattern_ruby_third_parties_honeybadger(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "notify"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 467 | + | Rule_Pattern_ruby_third_parties_honeybadger(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "context"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 468 | + | Rule_Pattern_ruby_third_parties_honeybadger(node1) :- AST_NodeType(node1, "method"), !AST_NodeField(node1, _, "parameters"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, "identifier"), AST_NodeContent(node2, "to_honeybadger_context"), AST_ParentChild(node1, 0, node3), AST_NodeType(node3, _). |
| 469 | + | Rule_Pattern_ruby_third_parties_honeybadger(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "constant"), AST_NodeContent(node2, "Honeybadger"), AST_NodeField(node1, node3, "method"), AST_NodeType(node3, "identifier"), AST_NodeContent(node3, "add_breadcrumb"), AST_NodeField(node1, node4, "arguments"), AST_NodeType(node4, "argument_list"), AST_ParentChild(node4, 0, node5), AST_NodeType(node5, _). |
| 470 | + | .decl Rule_Pattern_ruby_rails_render_using_user_input_sanitized(node: AST_NodeId) |
| 471 | + | Rule("ruby_rails_render_using_user_input_sanitized", node) :- Rule_Pattern_ruby_rails_render_using_user_input_sanitized(node). |
| 472 | + | Rule_Pattern_ruby_rails_render_using_user_input_sanitized(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), !AST_NodeField(node1, _, "receiver"), AST_NodeField(node1, node2, "method"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "arguments"), AST_NodeType(node3, "argument_list"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, _). |
| 473 | + | .decl Rule_Pattern_ruby_lang_http_url_using_user_input_url_hash(node: AST_NodeId) |
| 474 | + | Rule("ruby_lang_http_url_using_user_input_url_hash", node) :- Rule_Pattern_ruby_lang_http_url_using_user_input_url_hash(node). |
| 475 | + | Rule_Pattern_ruby_lang_http_url_using_user_input_url_hash(node1) :- AST_NodeType(node1, "hash"), AST_ParentChild(node1, 0, node2), AST_NodeType(node2, "pair"), AST_NodeField(node2, tmp0, "key"), (AST_NodeType(tmp0, "simple_symbol"), AST_NodeContent(tmp0, ":url"); AST_NodeType(tmp0, "hash_key_symbol"), AST_NodeContent(tmp0, "url")), AST_NodeField(node2, node3, "value"), AST_NodeType(node3, _). |
| 476 | + | .decl Rule_Pattern_ruby_third_parties_scout_apm(node: AST_NodeId) |
| 477 | + | Rule("ruby_third_parties_scout_apm", node) :- Rule_Pattern_ruby_third_parties_scout_apm(node). |
| 478 | + | Rule_Pattern_ruby_third_parties_scout_apm(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Context"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add_user"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 479 | + | Rule_Pattern_ruby_third_parties_scout_apm(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "ScoutApm"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Context"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "add"), AST_NodeField(node1, node6, "arguments"), AST_NodeType(node6, "argument_list"), AST_ParentChild(node6, 0, node7), AST_NodeType(node7, _). |
| 480 | + | .decl Rule_Pattern_ruby_lang_http_insecure_curb(node: AST_NodeId) |
| 481 | + | Rule("ruby_lang_http_insecure_curb", node) :- Rule_Pattern_ruby_lang_http_insecure_curb(node). |
| 482 | + | Rule_Pattern_ruby_lang_http_insecure_curb(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "constant"), AST_NodeContent(node3, "Curl"), AST_NodeField(node2, node4, "name"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Easy"), AST_NodeField(node1, node5, "method"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "new"). |
| 483 | + | .decl Rule_Pattern_ruby_lang_path_using_user_input_user_input(node: AST_NodeId) |
| 484 | + | Rule("ruby_lang_path_using_user_input_user_input", node) :- Rule_Pattern_ruby_lang_path_using_user_input_user_input(node). |
| 485 | + | Rule_Pattern_ruby_lang_path_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "params"). |
| 486 | + | Rule_Pattern_ruby_lang_path_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "request"). |
| 487 | + | Rule_Pattern_ruby_lang_path_using_user_input_user_input(node1) :- AST_NodeType(node1, "identifier"), AST_NodeContent(node1, "cookies"). |
| 488 | + | Rule_Pattern_ruby_lang_path_using_user_input_user_input(node1) :- AST_NodeType(node1, "method"), AST_NodeField(node1, node2, "name"), AST_NodeType(node2, _), AST_NodeField(node1, node3, "parameters"), AST_NodeType(node3, "method_parameters"), AST_ParentChild(node3, 0, node4), AST_NodeType(node4, "keyword_parameter"), !AST_NodeField(node4, _, "value"), AST_NodeField(node4, node5, "name"), AST_NodeType(node5, "identifier"), AST_NodeContent(node5, "event"), AST_ParentChild(node3, 1, node6), AST_NodeType(node6, "keyword_parameter"), !AST_NodeField(node6, _, "value"), AST_NodeField(node6, node7, "name"), AST_NodeType(node7, "identifier"), AST_NodeContent(node7, "context"). |
| 489 | + | .decl Rule_Pattern_google_dataflow_client_init(node: AST_NodeId) |
| 490 | + | Rule("google_dataflow_client_init", node) :- Rule_Pattern_google_dataflow_client_init(node). |
| 491 | + | Rule_Pattern_google_dataflow_client_init(node1) :- AST_NodeType(node1, "call"), !AST_NodeField(node1, _, "block"), (!AST_NodeField(node1, _, "arguments"); AST_NodeField(node1, tmp0, "arguments"), !AST_ParentChild(tmp0, _, _)), AST_NodeField(node1, node2, "receiver"), AST_NodeType(node2, "scope_resolution"), AST_NodeField(node2, node3, "scope"), AST_NodeType(node3, "scope_resolution"), AST_NodeField(node3, node4, "scope"), AST_NodeType(node4, "constant"), AST_NodeContent(node4, "Google"), AST_NodeField(node3, node5, "name"), AST_NodeType(node5, "constant"), AST_NodeContent(node5, "Cloud"), AST_NodeField(node2, node6, "name"), AST_NodeType(node6, "constant"), AST_NodeContent(node6, "Dataflow"), AST_NodeField(node1, node7, "method"), AST_NodeType(node7, _). |
327 | 492 | | |