Add SqlSanitization to Concepts and turn private

This commit is contained in:
Maiky
2023-05-15 15:56:52 +02:00
parent f46620c455
commit 3c00235375
3 changed files with 16 additions and 2 deletions

View File

@@ -78,6 +78,19 @@ module SqlExecution {
}
}
/**
* A data-flow node that performs SQL sanitization.
*/
class SqlSanitization extends DataFlow::Node instanceof SqlSanitization::Range { }
/** Provides a class for modeling new SQL sanitization APIs. */
module SqlSanitization {
/**
* A data-flow node that performs SQL sanitization.
*/
abstract class Range extends DataFlow::Node { }
}
/**
* A data-flow node that executes a regular expression.
*

View File

@@ -32,3 +32,4 @@ private import codeql.ruby.frameworks.Slim
private import codeql.ruby.frameworks.Sinatra
private import codeql.ruby.frameworks.Twirp
private import codeql.ruby.frameworks.Sqlite3
private import codeql.ruby.frameworks.Mysql2

View File

@@ -57,7 +57,7 @@ module SqlInjection {
/**
* A call to `Mysql2::Client.escape`, considered as a sanitizer.
*/
class Mysql2EscapeSanitization extends Sanitizer {
private class Mysql2EscapeSanitization extends Sanitizer {
Mysql2EscapeSanitization() {
this = API::getTopLevelMember("Mysql2").getMember("Client").getAMethodCall("escape")
}
@@ -66,7 +66,7 @@ module SqlInjection {
/**
* A call to `SQLite3::Database.quote`, considered as a sanitizer.
*/
class SQLite3EscapeSanitization extends Sanitizer {
private class SQLite3EscapeSanitization extends Sanitizer {
SQLite3EscapeSanitization() {
this = API::getTopLevelMember("SQLite3").getMember("Database").getAMethodCall("quote")
}