Использование Fortify SCA (не устаревший "HP Fortify") в коде Qt - PullRequest
0 голосов
/ 03 апреля 2020

Я пытался исследовать это некоторое время, и мой ограниченный опыт компиляции мешает мне понять это.

По сути, у меня есть некоторый код, который пишется в Qt Creator, затем построен с помощью следующих шагов сборки:

qmake.exe [project name].pro -spec win32-msvc "CONFIG+=qtquickcompiler"
jom.exe in C:\eclipseworkspace\[project directory]

Я хотел бы использовать Fortify SCA (Stati c Code Analyzer) для автоматического сканирования этого кода на наличие уязвимостей, но большинство его удобных для пользователя функций разработаны к Java. Однако я не сдался, потому что Fortify утверждает, что может сканировать код C ++, который использует сторонние компиляторы (которые, как я предполагаю, Qt попадает в эту категорию). (Страница 37 из этого документа)

В качестве предварительного шага для запуска Qt Creator на моем реальном коде я хотел посмотреть, смогу ли я по крайней мере заставить его работать на любом Qt пример проекта, чтобы увидеть, как это сделать.

Я использую Qt 5.12.7 на Windows 10 ОС с 32-битным компилятором MSVC2017, но я чувствую какую-либо корреляцию между Qt и Fortify этого будет достаточно, чтобы направить меня в правильном направлении.

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

1 Ответ

0 голосов
/ 01 мая 2020

Я нашел, что это проще всего на Linux. Я думаю, что это решение переводится как Windows.

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

export CC="sourceanalyzer -b <your_project_name_here> gcc"
export CXX="sourceanalyzer -b <your_project_name_here> g++"
cmake <bunch of my cmake definitions> <path_to_src>
# I do a clean to remove what sourceanalyzer picks up during configuration time tests.
sourceanalyzer -b <your_project_name_here> -clean
sourceanalyzer -b <your_project_name_here> -scan -f scanResults.fpr
...