SQL-инъекция с помощью Semgrep/SpotbugsJAVA

Программисты JAVA общаются здесь
Anonymous
SQL-инъекция с помощью Semgrep/Spotbugs

Сообщение Anonymous »

Для проверок SAST в нашем конвейере CI мы используем сканеры Semgrep и SpotBugs. Этот сканер обнаруживает следующую ситуацию как экземпляр SQL-инъекции.
Класс репозитория

Код: Выделить всё

        Query q = em.createNativeQuery(FIND_PRODUCTS_BY_IDENTIFER);
q.setParameter("productidentifier", productIdentifierParam);
FIND_PRODUCTS_BY_IDENTIFER находится в отдельном классе и определяется как константа.
публичная статическая финальная строка FIND_PRODUCTS_BY_IDENTIFER= "SELECT PRODUCTID FROM PRODUCT WHERE ID в ( :productidentifier)";
Запрос параметризован, не является SQL-инъекцией и является ложноположительным. Может ли кто-нибудь пролить свет на то, что нужно изменить, чтобы это нарушение исчезло (или) это уже известная ошибка анализатора Semgrep.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/734 ... p-spotbugs

Вернуться в «JAVA»