Всем привет!
Анализ ПО начинается не с запуска сканеров, а с понимания того, что это такое, как это устроено, как собирается, как тестируется и т.д.
Т.е. с некоторой метаинформации о проекте. Собирать её можно разными способами. Можно «в ручном режиме», а можно с использованием средств автоматизации.
Несколько полезных утилит, которые помогут решить задачу сделал Andrew Nesbitt (мы писали про его статью, посвященную модели угроз пакетных менеджеров).
Первая – brief – используется для получения информации об используемых языках, пакетных менеджерах, тестах, сборке, количестве строк и т.д.
Вторая – git-pkgs – позволяет анализировать используемые зависимости, в том числе по всей git-истории.
Основными её командами являются
list, history, blame, diff и т.д. Они позволяют быстро получить ответ на вопрос «откуда эта зависимость появилась в проекте».Обе утилиты ничего не «додумывают». Фактически, они собирают информацию, которую могут получить за счёт анализа репозитория.
Подробности, параметры установки/запуска и примеры содержания генерируемых отчётов можно найти в GitHub-репозиториях или в документации.