mirror of
https://github.com/github/codeql.git
synced 2026-01-04 18:20:18 +01:00
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
private import codeql.ruby.AST
|
|
private import codeql.ruby.frameworks.ActionDispatch
|
|
private import codeql.ruby.frameworks.ActionController
|
|
private import codeql.ruby.ApiGraphs
|
|
private import codeql.ruby.Concepts
|
|
private import codeql.ruby.frameworks.data.ModelsAsData
|
|
private import codeql.ruby.DataFlow
|
|
private import codeql.ruby.Regexp as RE
|
|
|
|
query predicate actionDispatchRoutes(
|
|
ActionDispatch::Routing::Route r, string method, string path, string controller, string action
|
|
) {
|
|
r.getHttpMethod() = method and
|
|
r.getPath() = path and
|
|
r.getController() = controller and
|
|
r.getAction() = action
|
|
}
|
|
|
|
query predicate actionDispatchControllerMethods(
|
|
ActionDispatch::Routing::Route r, ActionControllerActionMethod m
|
|
) {
|
|
m.getARoute() = r
|
|
}
|
|
|
|
query predicate underscore(string input, string output) {
|
|
output = ActionDispatch::Routing::underscore(input) and
|
|
input in [
|
|
"Foo", "FooBar", "Foo::Bar", "FooBar::Baz", "Foo::Bar::Baz", "Foo::Bar::BazQuux", "invalid",
|
|
"HTTPServerRequest", "LotsOfCapitalLetters"
|
|
]
|
|
}
|
|
|
|
query predicate mimeTypeInstances(API::Node n) { n = ModelOutput::getATypeNode("Mime::Type") }
|
|
|
|
query predicate mimeTypeMatchRegExpInterpretations(
|
|
ActionDispatch::MimeTypeMatchRegExpInterpretation s
|
|
) {
|
|
any()
|
|
}
|
|
|
|
query predicate requestInputAccesses(Http::Server::RequestInputAccess a) { any() }
|