Enforce Parameterized SQL Queries
Forbids string concatenation or template literals when forming database queries to eliminate SQL injection vectors.
version: 1
rule:
id: sec-001
name: enforce-parameterized-sql
severity: critical
description: Never use string formatting or concatenation in database queries
match:
ast_call:
- "db.Query($QUERY)"
- "db.Exec($QUERY)"
where:
$QUERY: "binary_expression(op='+', type='string') | template_string"
message: "Critical SQL Injection risk detected. Always use parameterized queries (e.g. $1, ?, :param)."