Detecta la inyección SQL antes de que llegue a main.
El SQL concatenado es la brecha más antigua del oficio — y la IA lo escribe más rápido de lo que nadie puede revisarlo. SlopGrade lee cada PR en tu propio runner y bloquea la consulta que construye SQL a partir de entrada de usuario, antes del merge.
Entrada de usuario, concatenada directo en una consulta.
El id de la petición se pega en la cadena SQL. Un id forjado como 1 OR 1=1 vuelca la tabla; una subconsulta exfiltra otra tabla. Las consultas parametrizadas lo arreglan — el gate garantiza que la versión sin parametrizar nunca se mergee.
Lo que la IA envió
Lo que sale de tu runner
Ruta, línea, clase. El contenido del archivo nunca sale. Audítalo con --print-payload.
Detecta → adapta → verifica. Nada más sale.
En tu runner, sobre el diff
El cliente open source recorre la pull request y marca el patrón en local — dataflow intra-función, ningún código sale de la máquina.
Veredicto del servidor + gate
La huella estructural se clasifica en el servidor. Un hit duro bloquea el check en un repo privado de pago; los repos públicos se gatean gratis; el paywall falla en abierto.
Publicado inline, corrección verificada en local
El hallazgo se publica en su línea exacta. Cuando existe una corrección, se genera Y se verifica en tu runner — solo se ofrece cuando un re-escaneo prueba que desapareció.
¿Qué cuenta como inyección SQL aquí?
Cualquier consulta construida concatenando o interpolando entrada no confiable en la cadena SQL, en JS/TS, Python, Go o .NET — a través de los drivers comunes y las vías raw-query de los ORM. Las consultas parametrizadas/preparadas pasan.
¿Marcará consultas parametrizadas seguras?
No — calibrado a 0 falsos positivos en 5.000+ repos reales. Los placeholders ($1, ?, :name) y los query builders que parametrizan se reconocen como seguros. Empieza en advisory para comprobarlo, luego pasa a bloqueante.