Post #1289
2.76K
Chainguard: интеграция со сканерами уязвимостей
Всем привет!
Вторая статья из серии This Shit is Hard (про первую, посвященную Chainguard Factory) мы писали тут.
На этот раз речь пойдет о том, как команда интегрируется с разными сканерами, выявляющими уязвимости в образах контейнеров.
Зачем? Все просто. Задача команды сделать не только максимально «чистые» образы, но и помочь пользователя убедиться в этом в независимости от сканеров, которые они используют.
Если упростить, то сканеры работают примерно так:
🍭 Анализ артефакта (ELF-файл, JAR-файл, образ контейнера и т.д.) с целью понять, что в него «положили»
🍭 Соотношение полученной информации (пакеты, версии) с известными источниками данных об уязвимостях
🍭 Обогащение «контекстом». Если сканер понимает откуда был получен пакет, то он может запросить дополнительную информацию от поставщика
Третий пункт – именно то, на что обращает внимание команда Chainguard. Они составляют определенные файлы, в которых содержится дополнительная информация.
Например: да, уязвимость есть; уязвимость устранена, на нее можно не обращать внимание; определенные условия, в которых уязвимость становится актуальной и т.д.
Ребята ежедневно сканируют собираемые образы (они используют Grype) и постоянно работают над сокращением уязвимостей.
Да, можно было написать, что все хорошо и уязвимостей нет. Однако, команда пошла по пути: «Не верьте нам на слово, проверьте сами!». И тут есть нюанс.
Сканеров очень много и все они работают по-разному. Поэтому Chainguard выпустили собственные рекомендации о том, как можно с ними интегрироваться, на что обращать внимание и как можно реализовать дополнить результаты работы сканера данными из их feeds. Кроме того, они размещают информацию на OSV.dev.
В итоге получается очень удобная и практичная конструкция. Вместо того, чтобы убеждать всех, что «все работает, но мы ничего не расскажем» Chainguard активно работает с производителями сканеров и сообществом, чтобы каждый мог получить как можно больше данных и оптимизировать процесс управления уязвимостями. А заодно убедиться, что уязвимостей и правда нет ☺️
P.S. Список сканеров, которые поддерживает Chainguard на текущий момент, доступен тут.
Всем привет!
Вторая статья из серии This Shit is Hard (про первую, посвященную Chainguard Factory) мы писали тут.
На этот раз речь пойдет о том, как команда интегрируется с разными сканерами, выявляющими уязвимости в образах контейнеров.
Зачем? Все просто. Задача команды сделать не только максимально «чистые» образы, но и помочь пользователя убедиться в этом в независимости от сканеров, которые они используют.
Если упростить, то сканеры работают примерно так:
🍭 Анализ артефакта (ELF-файл, JAR-файл, образ контейнера и т.д.) с целью понять, что в него «положили»
🍭 Соотношение полученной информации (пакеты, версии) с известными источниками данных об уязвимостях
🍭 Обогащение «контекстом». Если сканер понимает откуда был получен пакет, то он может запросить дополнительную информацию от поставщика
Третий пункт – именно то, на что обращает внимание команда Chainguard. Они составляют определенные файлы, в которых содержится дополнительная информация.
Например: да, уязвимость есть; уязвимость устранена, на нее можно не обращать внимание; определенные условия, в которых уязвимость становится актуальной и т.д.
Ребята ежедневно сканируют собираемые образы (они используют Grype) и постоянно работают над сокращением уязвимостей.
Да, можно было написать, что все хорошо и уязвимостей нет. Однако, команда пошла по пути: «Не верьте нам на слово, проверьте сами!». И тут есть нюанс.
Сканеров очень много и все они работают по-разному. Поэтому Chainguard выпустили собственные рекомендации о том, как можно с ними интегрироваться, на что обращать внимание и как можно реализовать дополнить результаты работы сканера данными из их feeds. Кроме того, они размещают информацию на OSV.dev.
В итоге получается очень удобная и практичная конструкция. Вместо того, чтобы убеждать всех, что «все работает, но мы ничего не расскажем» Chainguard активно работает с производителями сканеров и сообществом, чтобы каждый мог получить как можно больше данных и оптимизировать процесс управления уязвимостями. А заодно убедиться, что уязвимостей и правда нет ☺️
P.S. Список сканеров, которые поддерживает Chainguard на текущий момент, доступен тут.

