Skip to content

SQL injection patterns

A database-related MCP call contains text resembling a recognized SQL injection technique.

If untrusted input changes the meaning of a database query, it can expose records, alter data, or run operations the caller did not intend.

An agent passes a user-supplied filter directly into a database query, where it changes the query logic and returns records outside the intended filter.

This is a fictional example, not an event from a customer.

Both conditions must match: a database-like MCP server name, matched regardless of case, and selected SQL signatures, such as UNION SELECT or a boolean tautology, in the SQL statement the call runs. Other fields, such as a tool’s documentation text, are not scanned.

Rule IDEvent categoryTierBase severity
RULE_INPUT_VALIDATION_SQL_INJECTIONinput_validationCommunityHIGH

Base severity is the rule default. A finding involving content saved for later execution may have a lower severity. Your loaded rule version and event details determine the finding you see.

Review the query and the origin of each input. Use parameterized queries and appropriate database permissions; determine whether the server treats the input as data or executable SQL.

Legitimate SQL reports can use UNION, database maintenance can contain stacked statements, and authorized security tests can deliberately include injection signatures.

An unusually named database server, unsupported signatures, obfuscated SQL, parameter values absent from capture, or vulnerabilities without these patterns can be missed.

Pattern matching does not establish that a database is vulnerable or that a query succeeded. The rule also does not detect every missing-authentication or data-exposure problem in database services.

A finding describes a pattern in captured activity. Review the original call, its result, and the task context before concluding that harm occurred. Absence of a finding does not establish that an operation is safe.

Browse this category. Find a rule by ID.