Защита ваших коммитов от известных CVE с помощью GitGuardian SCA И Git-хуков

Father

Professional
Messages
2,604
Reputation
4
Reaction score
624
Points
113
Все разработчики хотят создавать безопасное и надежное программное обеспечение. Они должны гордиться тем, что выпускают свой код с полной уверенностью, что они не внесли никаких недостатков или антишаблонов в свои приложения. К сожалению, в наши дни разработчики по большей части не пишут свой собственный код. 96% всего программного обеспечения содержит некоторые компоненты с открытым исходным кодом, а компоненты с открытым исходным кодом составляют от 70% до 90% любого данного фрагмента современного программного обеспечения. К сожалению для наших разработчиков, заботящихся о безопасности, большинство современных уязвимостей происходят от этих программных компонентов.

По мере появления новых уязвимостей, о которых публично сообщается как о распространенных уязвимостях и уязвимостях (CVE), у команд безопасности нет иного выбора, кроме как попросить разработчика провести рефакторинг кода, чтобы включить различные версии зависимостей. Никто не доволен этой ситуацией, поскольку она блокирует новые функции и может сводить с ума от отката версий компонентов в надежде, что ничего не сломается. Разработчикам нужен способ быстро определить, имеет ли компонент, который они хотят использовать, известную уязвимость, прежде чем они отправят запрос на извлечение.

К счастью для разработчиков и служб безопасности, теперь проще и быстрее, чем когда-либо, сканировать CVE локально, автоматически и до совершения каких-либо коммитов.

Понимание того, что содержится в вашем коде до его фиксации​

Анализ исходного кода (SCA) в основном возникает при обсуждении Спецификации программного обеспечения (SBOM) и в разговорах о соответствии, и обычно намного позже фактического написания кода. С помощью GitGuardian Software Composition Analysis (SCA) разработчики сканируют проблемы непосредственно со своего терминала на любом этапе своей работы, благодаря ggshield, командной строке GitGuardian. С помощью одной быстрой команды программисты могут проверить, содержит ли конкретная версия зависимости известную уязвимость. GitGuardian даже покажет, доступно ли исправление.

В этом примере мы добавили требование к библиотеке `go-getter` и указали версию 1.7.1. Может быть много причин, по которым разработчик использовал бы эту версию, например, копирование из более старого руководства или публикации в Интернете, объясняющей функциональность этой библиотеки. Простое сканирование SCA показывает, что эта версия не только содержит известную уязвимость, но и в версии 1.7.4 доступно исправление.

GitGuardian SCA И Git-хуков

ggshield, GitGuardian CLI, выполняет SCA-сканирование для поиска уязвимости в коде.

Автоматически сканируйте только новые изменения​

Хотя локальное сканирование CVE в нашем коде является очень мощным, это все равно ручной процесс. Люди великолепны в творчестве, но мы не сильны, когда дело доходит до последовательного многократного выполнения каждого шага процесса, особенно утомительных. Хорошо, что у каждого разработчика есть целая платформа автоматизации, встроенная непосредственно в их любимый инструмент управления версиями, Git Hooks.

Сканирование GitGuardian SCA может запускаться автоматически как на этапе предварительной фиксации, так и на этапе предварительной отправки рабочего процесса Git. Идеальное время для выявления любой проблемы в коде - до того, как она попадет в историю вашего проекта. Если они никогда не будут зафиксированы, то проверка безопасности вряд ли позже обнаружит проблему в конвейере CI / CD или в рабочей среде. Хотя новые CVE появляются ежедневно, мы должны делать все возможное, чтобы убедиться, что мы не добавляем известные в наш код.

GitGuardian SCA И Git-хуков

git-хук перед фиксацией, который автоматически запускает команду ggshield sca scan pre-commit

Сканирование только правильного объема работ​

Вы увидите, что в примере git-хука мы используем команду `ggshield sca scan pre-commit` вместо `ggshield sca scan all`, как мы использовали в примере с руководством. Этот вариант SCA-сканирования ограничивает сканирование только текущим рабочим каталогом, что означает только изменения, которые были внесены с момента последнего коммита. Таким образом, если в кодовой базе существуют уязвимости, которые пока невозможно устранить, они не заблокируют ваши изменения. Будут выявлены только новые проблемы с зависимостями, после чего фиксация будет остановлена.

GitGuardian SCA И Git-хуков

Git-хук перед фиксацией обнаруживает критическую уязвимость при попытке фиксации, останавливая добавление кода в проект.

В этом примере не только не происходит фиксации, но и сообщение от GitGuardian сообщает нам, что исправление доступно в более поздней версии. Все, что нужно сделать нашему разработчику, это изменить один символ в идентифицированном файле, сохранить его, а затем они смогут успешно выполнить новый коммит.

GitGuardian SCA И Git-хуков

Успешная фиксация после обновления кода.

Смещение влево означает более раннее решение проблем​

В то время как обеспечение безопасности требует усилий всей организации, предоставление вашей команде разработчиков правильных инструментов для раннего обнаружения и устранения проблем безопасности может устранить многие головные боли позже в процессе доставки программного обеспечения. Чем ближе к производству вы обнаруживаете проблему, тем дороже ее исправление. Вот почему мы сделали GitGuardian SCA доступным в качестве Git-хука перед фиксацией, чтобы каждый разработчик мог предотвратить добавление известной уязвимости в конвейер и, в конечном итоге, в продакшн.

GitGuardian SCA доступен для 2-недельной бесплатной пробной версии после краткого обсуждения с нашей командой. SCA - это лишь одна из проблем, решаемых набором продуктов GitGuardian. Мы также интегрируем ряд инструментов безопасности, включая обнаружение секретов, публичный мониторинг, Infra as Code Security и Honeytoken.
 
Top