Хабрахабр

[Перевод] Обзор инструментов для безопасности GitHub репозиториев

image

Введение

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

Уязвимости репозиториев в прошлом вызывали проблемы с безопасностью. В случае, если вы создаете свой собственный репозиторий GitHub или часто контрибьютите в репозиторий, вам необходимо знать, содержит ли ваш код какие-либо уязвимости. Это было подчеркнуто тем фактом, что две из самых больших утечек данных за последнее время — Equifax и Heartbleed SSL Exploit — начались с уязвимостей с соответствующими компонентами с открытым кодом, которые могут быть использованы в будущем.

Каждый из этих четырех инструментов имеет свои суперспособности, но у каждого есть и слабые стороны. В этом посте мы рассмотрим и проанализируем четыре отдельных инструмента, которые можно использовать для выявления уязвимостей в вашем репозитории GitHub. Эта статья поможет вам выбрать правильный инструмент для проекта с открытым исходным кодом.

EDISON Software - web-development
Статья переведена при поддержке компании EDISON Software, которая дает дельные советы юниорам, а также проектирует программное обеспечение и пишет ТЗ на русском и английском.

GuardRails

image

GuardRails может обеспечить статический анализ кода, а также выявление уязвимых зависимостей. GuardRails — это фримиум (freemium) приложение безопасности, которое доступно на маркетплейсе GitHub’а. Он пишет комментарии в пул реквесты с уязвимостями.

Это помогает защитить репозиторий и код от злоумышленников. Само приложение будет сканировать новые записи в коде пользователя в режиме реального времени, что позволяет пользователям быстро предпринимать действия по устранению уязвимостей практически сразу после их появления. Что касается пул реквестов, GuardRails будет писать комментарии по каждому реквесту, когда обнаружит проблему безопасности, и с ответвлениями эта информация будет отображаться на вашей панели мониторинга GuardRails.

Вы также можете интегрировать GuardRails со Slack, чтобы уведомления доходили до вас более эффективно. Основным принципом службы GuardRails является ее всеобъемлющая, и быстрая настройка, при которой пользователи могут интегрировать GuardRails со всеми своими репозиториями за считанные минуты.

В настоящее время GuardRails поддерживает Python, Ruby, JavaScript, Solidity, Go, Java и PHP.

WhiteSource Bolt

image

Он предоставляется компанией WhiteSource, которая является специалистом в области безопасности, лицензирования и отчетности в области открытого исходного кода. WhiteSource Bolt помогает пользователям GitHub создавать сканы своих репозиториев, позволяя им выявлять уязвимости с открытым исходным кодом, которые могут появляться в коде. Они работают на рынке с 2011 года и могут рассчитывать на помощь более чем 2,1 миллиона различных разработчиков.

Он также будет создавать проблемы(issues) для новых уязвимостей, которые были обнаружены с существующими компонентами кода с открытым исходным кодом. Их сервис работает так, что каждый раз, когда происходит push-действие, Bolt запускает сканирование вашего репозитория, а затем создает проблему(issue) для каждой обнаруживаемой уязвимости. Кроме того, он может предотвратить попадание уязвимых компонентов в код, автоматически отменяя пул реквесты, которые содержат уязвимости.

Вы получите несколько сведений о любых обнаруженных уязвимостях, включая данные CVE и CVSS, предлагаемые исправления, пути к уязвимым компонентам и ссылки для справки. Bolt также предоставляет своим пользователям доступ к собственной базе данных уязвимостей WhiteSource, которая обширна и считается многими самой дорогой на рынке безопасности с открытым исходным кодом.

В настоящее время Bolt поддерживает более 200 различных программ, включая Java, Python, PHP, C #, C ++ и другие.

LGTM

image

В частности, LGTM использует данные, собранные группой исследований безопасности, которые сосредоточены на поиске уязвимостей нулевого дня. LGTM — это бесплатное приложение для проектов с открытым исходным кодом, которое помогает пользователям обнаруживать потенциальные уязвимости в их коде, а также предотвращает их появление в первую очередь. Приложение LGTM GitHub доступно на маркетплейсе GitHub. Услугами LGTM воспользовались более 700 000 разработчиков и более 135 000 проектов с открытым исходным кодом, и этот уровень опыта свидетельствует о качестве их услуг.

Благодаря большому сообществу опытных разработчиков и исследователей LGTM, вы понимаете, что предоставляемые ими услуги, могут принести большую пользу для безопасности вашего репозитория. При работе в вашем репозитории LGTM может автоматически сканировать ваш код, проверяя наличие уязвимостей и CVE, которые могли появиться. Это делает его еще проще, чем ведение лога запросов и с помощью него, вы можете обнаружить потенциальные уязвимости, прежде чем они войдут в кодовую базу.

COBOL, Python, Javascript и Java. LGTM в настоящее время имеет большое количество поддерживаемых языков программирования, поддержка которых распространяется на C, C ++.

GitHub Security Alerts

image

Используя собственный граф зависимостей, пользователи смогут увидеть, когда в их зависимостях есть уязвимости, и предоставят пользователям предложения по устранению указанных уязвимостей. GitHub Security Alerts — это бесплатная служба, предоставляемая владельцам и участникам репозиториев GitHub, имеющих зависимости.

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

В настоящее время сервис поддерживает JavaScript, Ruby и Python.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»