# SECURITY-NATIVE-005 — Sécurité SQL et transactions

Version cible : 9.7.20

## Protections natives

- Refus des commandes SQL d’administration serveur dans les migrations et rollbacks.
- Refus par défaut de `DROP TABLE` et `TRUNCATE TABLE`.
- Marqueur d’exception explicite et auditable pour une migration destructive exceptionnelle.
- Analyse SQL automatique de chaque payload avant sa signature.
- Blocage des appels `query()` / `exec()` alimentés par une variable brute dans les futurs packages.
- Détection des données HTTP concaténées dans une requête.
- Conservation des requêtes préparées PDO et de `ATTR_EMULATE_PREPARES=false`.

## Règle de développement

Toute valeur métier doit passer par une requête préparée. Les noms de tables, colonnes et clauses dynamiques doivent provenir d’une liste blanche fermée. Une construction SQL dynamique légitime doit être accompagnée du marqueur `@sql-safe-dynamic` et d’une justification en commentaire.
