Skip to main content

Проведение кампании по безопасности по исправлению оповещений в масштабах

Запустите целенаправленную кампанию по безопасности для устранения определённого класса оповещений, таких как кросс-сайтовое скриптирование (XSS), по всей вашей организации.

Кто может использовать эту функцию?

Организации на GitHub Team с GitHub Secret Protection or GitHub Code Security включено

Запуск вашей первой кампании

В этом туториале вы планируете и проведёте свою первую кампанию по безопасности на уровне всей организации, сосредоточенную на оповещениях XSS. По ходу дела вы научитесь выбирать правильные оповещения, готовить разработчиков к успеху и строить кампанию, способствующую значимому улучшению вашей безопасности.

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

1. Определите сфокусированную цель

При проведении кампании в масштабах возникает соблазн нацеливаться на все срочные оповещения сразу. Если у ваших разработчиков уже есть прочная база в защищённом кодировании и доступных возможностях, это может сработать.

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

В этой кампании вы решаете сосредоточиться на XSS-оповещениях по всей вашей организации, в пределах количества оповещений в одной кампании.

2. Выберите оповещения для вашей кампании

На странице оповещений о безопасности начните с фильтрации на наличие оповещений о скриптах между сайтами. Вы также можете использовать заранее заданный шаблон кампании, например Cross-site scripting (CWE-79), чтобы быстро определить область действия. Для информации о фильтрационных уведомлениях см. АВТОЗАГОЛОВОК.

Примечание.

Кампании безопасности могут включать до 1000 оповещений. Если в вашей организации более 1000 XSS-оповещений, сузьте фильтры (например, по репозиторию, степени тяжести или языку), пока количество совпадающих оповещений не достигнет этого лимита, либо запланируйте несколько кампаний, чтобы охватить оставшиеся оповещения.

Если Автофикс второго пилота доступен для вашей кампании, вы можете дополнительно уточнить область действия, используя фильтр autofix:supported . Это позволяет разработчикам использовать предложения исправлений, генерируемые ИИ, для более эффективной обработки оповещений.

Перед запуском кампании вы также готовите поддерживающие образовательные материалы. Рассмотрим пример.

  • Создайте репозиторий с рекомендациями по предотвращению уязвимостей XSS.
  • Ссылка на ресурсы Фонда OWASP, такие как Cross Site Scripting (XSS).
  • Приведите примеры безопасных шаблонов кодирования и подходов к тестированию.

Вы будете включать ссылки на эти ресурсы в описание кампании, чтобы разработчики могли обращаться к ним по мере работы с назначенными оповещениями.

3. Назначьте менеджеров кампаний и определите каналы коммуникации

Перед запуском кампании решите, кто будет поддерживать разработчиков на протяжении всего процесса исправления.

При создании кампании безопасности необходимо назначить одного или нескольких менеджеров кампаний. Менеджеры кампаний должны быть:

  • Пользователь с ролью владельца организации или менеджера по безопасности, или
  • Член команды с одной из таких ролей

Выбирайте менеджеров, которые могут:

  • Ответьте на вопросы о уязвимостях XSS
  • Проверьте pull requests на поиск исправлений
  • Помощь в разрешении крайних случаев или сложных сценариев устранения

Поскольку менеджеры кампаний видны разработчикам, участвующим в кампании, это также возможность установить чёткую коммуникацию. При создании кампании включите контактную ссылку, например, ссылку на thread GitHub Discussions или другой канал коммуникации, чтобы разработчики знали, куда задавать вопросы.

Заранее устанавливая ожидания и делая поддержку видимой, вы повышаете доверие и повышаете показатели исправления.

4. Создайте и опубликуйте кампанию

Теперь вы готовы создать кампанию.

При определении кампании:

  • Используйте фильтр или шаблон XSS для выбора оповещений.
  • Добавьте чёткое описание цели кампании.
  • Включите ссылки на учебные материалы, которые вы подготовили ранее.
  • Установите реалистичную дату сдачи на основе количества уведомлений и ожидаемой возможности по устранению.

Если вы не уверены в масштабе, сначала создайте черновик кампании . Черновик позволяет просмотреть включенные оповещения и сотрудничать внутри перед публикацией.

5. Включите отслеживание проблем для повышения видимости

Чтобы помочь разработчикам отслеживать свою работу и предоставить менеджерам видимость, вы можете выбрать автоматическое создание проблемы в каждом репозитории, включённом в кампанию. Это позволяет разработчикам управлять своими работами по устранению в рамках существующих рабочих процессов и проектных плат.

При включении создания выпуска в раздел задачи автоматически включаются «Краткое описание», «Контактная ссылка» и дата окончания кампании. Если вы обновите краткое описание, контактную ссылку или дату сдачи, эти изменения отражаются в выпусках. Кроме того, когда кампания достигает срока сдачи или закрывается, по каждому выпуску публикуется комментарий для уведомления разработчиков. Такая интеграция помогает поддерживать чёткую коммуникацию и поддерживать организацию кампании в нескольких репозиториях.

6. Поддержка разработчиков во время устранения

Когда кампания запускается, ваша роль меняется от организатора к стороннику. Разработчики начнут проверять и исправлять XSS-оповещения в своих репозиториях. Чтобы помочь им действовать эффективно и уверенно:

  • Убедитесь, что менеджеры кампаний готовы проверять pull requests и отвечать на вопросы.
  • Поощряйте разработчиков использовать Копилот Чат, чтобы лучше понять, почему код уязвим и как проверить их исправления.
  • Если поддерживается, поощряйте разработчиков рассматривать и тестировать предложения Автофикс второго пилота перед объединением изменений.

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

Оставаясь заметным и отзывчивым во время кампании, вы подтверждаете, что это совместная работа, а не просто соблюдение требований.

7. Установите реалистичный срок

Вы устанавливаете срок при создании кампании. По мере развития кампании убедитесь, что сроки остаются достижимыми.

При установлении или корректировке срока учитывайте:

  • Количество предупреждений, включённых в кампанию
  • Ожидаемая способность разработчиков по устранению (например, сколько времени они могут потратить на исправление оповещений наряду с обычной работой)
  • Любые предстоящие дедлайны или праздники компании, которые могут повлиять на доступность

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

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

8. Закройте кампанию и повторяйте

По мере приближения дедлайна следите за прогрессом и сотрудничайте над оставшимися сложными исправлениями.

Когда кампания заканчивается:

  • Проблемы с репозиторием обновляются автоматически.
  • Разработчики устранили целый набор уязвимостей.
  • Ваша организация снизила риски измеримым образом.

Самое главное — разработчики получили практический опыт в распознавании и исправлении определённого класса уязвимости.

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

Дальнейшие шаги

Готовы запустить свою кампанию? Чтобы создать и управлять вашей кампанией безопасности, смотрите АВТОЗАГОЛОВОК.