Valores en selectionArgs
los parámetros no necesitan ser escapados, y ellos no deben escapar porque los caracteres de escape terminarían en la base de datos.
Hay tres casos diferentes de código SQL vistos por Veracode:
- valores que no pueden ser entrada del usuario (como cadenas literales en el código fuente);
- valores que son entrada del usuario (porque provienen directamente, por ejemplo, de algún cuadro de edición);
- valores que podrían ser entrada del usuario, porque la herramienta no puede determinar la fuente.
Por razones de marketing, las herramientas pagas tienden a inflar los números problemáticos tanto como sea posible. Entonces Veracode informa todas las instancias del tercer caso como problemas.
En este caso, Veracode no sabe dónde selection
viene, por lo que se queja. Si ese valor lo construye su programa y nunca contiene ninguna entrada del usuario (es decir, todos los valores de entrada del usuario se mueven a ?
parámetros), entonces se trata de un falso positivo y debe decirle a Veracode que se calle.