Skip to content
Critiq Docs

Search docs

Search documentation pages and rules

security.sql-injection

Avoid dynamic SQL built with format! for SQLx or Diesel

Do not pass `format!(...)` (or equivalent string concatenation) into `sqlx::query` or `diesel::sql_query` sinks.

#Metadata

Rule ID
rust.security.sqlx-diesel-raw-interpolated-query
Severity
high
Confidence
0.88
Languages
rust
Presets
security, strict
Stability
experimental
Applies to
block
Tags
diesel, rules-catalog, rust, security, sqlx

#Why it matters

Interpolated SQL is the primary SQL injection pattern in Rust ORMs; compile-time macros and bind parameters keep queries safe.

#Remediation

Prefer `sqlx::query!` / `query_as!`, use `.bind(...)` on typed query builders, or Diesel's query DSL with bound parameters instead of raw interpolated strings.

#Repository path

The generated metadata points to critiq-rules/libs/rules/catalog/rules/rust/rust.security.sqlx-diesel-raw-interpolated-query.rule.yaml.