Security Scorecard for FOSS projects in GitHub (инструкция для CISO и блондинок)

Feb 23, 2021 20:14

Предположим, вас угораздило стать CISO в компании, где нет человека, ответственного за Sec в DevSecOps. Или ответственный человек есть, но он безответственный.

В любом случае, к вам частенько приходят обращаются разработчики с вопросом типа: "А можно мы будем использовать некую free/opensource software (FOSS) тулзу для работы".

Ключевое слово тут - не столько FOSS, сколько тулза. Потому что если вопрос касается FOSS-библиотеки или прочих packages, то вы радостно отправляете разрабов либо к юристам, смотреть на license compliance, либо в blackduck/snyk - смотреть, нет ли в библиотеке каких-нибудь неисправленных критических уязвимостей.

Но предположим, что вам не повезло, и вы имеете дело со вполне самостоятельным куском софта, подпадающим под вашу юрисдикцию. Это значит, что придется на время отвлечься от симпатичной азиатки, откликнувшейся на вакансию в вашем отделе, загрузив CV без текста, но с фото в хорошем разрешении, а также от холиваров на hacker news, чтобы как-то отреагировать на запрос, предоставив обоснованные рекомендации.

В случае, если сорцы тулзы доступны на GitHub, можно воспользоваться утилитой под названием OSSF Scorecard, разработанной OSS Foundation, которая позволяет оценивать софт по нескольким критериям, в том числе, подписываются ли релизы с использованием доверенных криптографических алгоритмов, есть ли на проекте review policy, используются ли инструменты для статического анализа кода и тд. Я вовсе не утверждаю, что если некий проект получил максимум баллов по этой системе, то он безопасен, как дача ВВП, но нужно же откуда-то начинать.

Под катом - подробное описание того, как запустить тулзу из докера на win10
[Развернуть]
1. Если у вас нет докера, то скачайте его с оф. сайта docker.com и установите (потребуются админские права)
2. Если у вас еще нет учетки на gitHub, то самое время ее создать.
3. После создания учетки зайдите в Settings-Developer Settings - Personal tokens на сайте github и создайте новый токен с правом read:packages - это понадобится для скачивания image из репозитория проекта (см. https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token)
4. запустите командную строку (или модный Windows Terminal) и залогиньтесь в Github с токеном, созданным на предыдущем шаге:
docker login -u %GITHUB_USERNAME% -p %GITHUB_TOKEN% docker.pkg.github.com
5. Загрузите имидж: docker pull docker.pkg.github.com/ossf/scorecard/scorecard
6. Запустите анализ: docker run -e GITHUB_AUTH_TOKEN=%GITHUB_TOKEN% docker.pkg.github.com/ossf/scorecard/scorecard --show-details --repo=https://github.com/
7. PROFIT !


Правда, найти идеальный, с точки зрения безопасности, проект не так-то просто. Многие забивают на code review и CI tests. Большинство еще и не подписывает релизы. Так и живём :)

security, devsecops

Previous post Next post
Up