Код сканирования Checkmarx SAST с внешними недоступными зависимостями в pom.xml

Общие: код для сканирования — это файлы .java (Java EE), зависимости предоставляются в виде отдельных JAR-файлов.

Цель: как я могу предоставить checkmarx все необходимые зависимости Java, чтобы построить проект, чтобы получить как можно более качественный и завершить сканирование? Я не заинтересован в обнаружении проблем в самих зависимостях и не хочу, чтобы они были включены в отчет checkmarx.

Почему. Сканирование без зависимостей не дает никаких результатов, что немного необычно для размера и сложности базы кода. У меня есть все зависимости локально, и я могу собрать проект в своей среде IDE (идея). Я не вижу способа сообщить Chekmarx о зависимостях (CLI и плагин maven имеют только опции для включения или исключения файлов и каталогов из сканирования), когда я заархивирую папку и загружу ее через веб-интерфейс для нового сканирования. Я не использовал плагин maven checkmarx, так как для него требуются ресурсы, недоступные со сканера Checkmarx (включая зависимости).

Подход, который я в настоящее время изучаю, состоит в том, чтобы взорвать зависимости в исходную папку проекта, чтобы импорт можно было разрешить, а Checkmarx мог построить проект. Однако некоторые JAR-файлы зависимостей включают исходные файлы Java, другие - только файлы классов, и не похоже, что Checkmarx CxSAST поддерживает файлы классов сканирования (и JAR-файлы в этом отношении). Если мне удастся получить код для сканирования, я смогу отфильтровать любые проблемы, обнаруженные в зависимостях, пометив их в веб-интерфейсе и исключив из отчета.


person EvieFlow    schedule 17.03.2021    source источник
comment
Это вопрос или запрос функции?   -  person baruchiro    schedule 18.03.2021
comment
Это вопрос, но если это невозможно, то это действительно запрос функции.   -  person EvieFlow    schedule 29.03.2021
comment
Поэтому свяжитесь с Checkmarx для запросов функций.   -  person baruchiro    schedule 31.03.2021


Ответы (1)


Вам не нужны зависимости для статического анализа, если они не являются кодом, который вы поддерживаете. Если вы не видите результатов, скорее всего, в вашем коде не распознаются источники или приемники.

Загрузите журнал сканирования и ближе к концу найдите количество результатов для запросов с именами, похожими на Find_Interactive_Inputs и Find_Interactive_Outputs. Если счетчик равен нулю для одного или обоих, код, который вы сканируете, не имеет распознаваемых источников/приемников. Это не редкость для jar-файлов библиотеки классов или если вы используете платформу, не распознаваемую SAST. Запросы обычно можно настроить с помощью CxQL для распознавания источников/приемников, если действительно существует шаблон для их поиска.

person NathanL    schedule 08.05.2021