🌐 Обнаружение небезопасных зависимостей (SCA) |

🌐 Обнаружение небезопасных зависимостей (SCA)

Мануал

Ранее мы рассмотрели что такое SCA и разобрали его работу и важность применения.

🌐 Анализ состава программного обеспечения (SCA) что такое и на что обратить внимание

Теперь давайте посмотрим его на практике в процесс CI/CD.

Чтобы применить это на практике, мы добавим полное тестирование безопасности в Damn Vulnerable Python Web Application на протяжении всего руководства.

DVPWA, как следует из названия, представляет собой уязвимое веб-приложение, написанное на языке python.

Мы возьмем gitlab в качестве примера CI/CD, хотя это будет в основном обобщающим примером

Шаг 1: Обнаружение небезопасных зависимостей

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

Этот процесс называется анализом компонентов программного обеспечения (Software Component Analysis или SCA).

Существует несколько коммерческих вариантов, таких как Dependency check, но для этого руководства мы будем использовать пакет pip с открытым исходным кодом для обеспечения безопасности.

Сначала давайте клонируем DVPWA, создадим виртуальную среду и установим зависимости.

git clone git@github.com:anxolerd/dvpwa.git
cd dvpwa
python3 -m virtualenv .venv && source .venv/bin/activate
pip install -r requirements.txt

Теперь давайте установим safety  и запустим ее

safety: проверяет установленные вами зависимости на известные уязвимости безопасности

pip install safety
safety check --full-report

Все просто, верно?

Вы должны получить следующий результат:

Обратите внимание, что safety, как и большинство инструментов SCA, предоставляет информацию о версии пакета, для которого уязвимость была устранена.

Теперь мы знаем, какие из наших пакетов уязвимы, но что насчет запуска безопасности внутри CI/CD?

Интеграция SCA в процесс CI/CD ⚙️

Давайте сначала добавим рабочий процесс Gitlab в наш репозиторий.

Создайте: .gitlabci.yaml и скопируйте в него следующее содержимое:


jobs:
  dependency_analysis:
    runs-on:  ubuntu-latest
    name: Test dependencies for security flaws
    steps:
      - uses: actions/checkout@v2
      - name:
        run: pip3 install safety && safety check
        shell: bash

А затем коммит:

git add ./ && git commit -m "Add safety SCA to CI"
git push origin master

Затем запустите пайплайн.

Обратите внимание, что задача завершилось неудачей, что совершенно нормально, поскольку dvpwa использует множество небезопасных зависимостей.

Заключение!

Всего за несколько минут мы добавили первый шаг безопасности в наш CI/CD!

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

 

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий