What problem does it solve? Databases are the last line of defense, and a single app-layer bug can become a full-table breach when the data layer itself is not hardened. This Skill gives you a structured threat-surface map for reviewing SQL and persistence code so injection sinks, over-privileged logins, cross-tenant reads, and leaked secrets are found and fixed before they ship. ## Core Features & Use Cases - Injection sink audit: Checks EF Core raw SQL APIs, ADO.NET commands, dynamic SQL in stored procedures, and client-driven ORDER BY clauses for string-concatenated input. - Least-privilege and tenant isolation review: Verifies runtime logins are not db_owner or superuser, and that Row-Level Security policies or EF Core global query filters enforce tenant boundaries instead of remembered WHERE clauses. - Secrets, encryption, and audit checks: Flags plaintext connection-string passwords, TrustServerCertificate=true in production, missing at-rest encryption for sensitive columns, and audit records that store the secret they track. - Use Case: During a security sweep of a multi-tenant ASP.NET API, ask whether one tenant can read another's rows; the Skill probes RLS policy counts and runtime login grants, then reports findings as surface | risk | fix ordered by risk. ## Quick Start Ask the AI to review this repository's data layer for SQL injection, tenant isolation, and connection-string secret handling using the database-security skill.