| 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"). |
| 327 | + | |