Skip to content
14 / 15

Поиск уязвимостей в зависимостях: govulncheck и состав программного обеспечения

govulncheck отличается от обычных сканеров зависимостей одним свойством, которое меняет всё: он проверяет не «есть ли в проекте уязвимая версия», а вызывается ли уязвимый код из вашего. Анализ идёт по графу вызовов, поэтому вместо сотни формальных срабатываний вы получаете три реальных — и их можно чинить, а не игнорировать. Данные берутся из официальной базы уязвимостей Go, куда попадают и записи из общих баз, дополненные точным указанием уязвимых символов. Работать он умеет в двух режимах: по исходникам (точнее, с графом вызовов) и по бинарнику — а это позволяет проверять именно то, что развёрнуто в проде. Практика встраивания простая: обязательный шаг в конвейере, отдельный периодический прогон по расписанию, потому что новые уязвимости появляются в уже собранном коде, и проверка релизных артефактов. Дополняет картину состав программного обеспечения, который для Go получается прямо из бинарника.

Поиск уязвимостей в зависимостях: govulncheck и состав программного обеспечения | JScriptiser