16 апреля 2022 года команда GitHub Security рассказала об инциденте по утечке данных из приватных репозиториев клиентов платформы с использованием скомпрометированных токенов OAuth, сгенерированных для сервисов Heroku и Travis-CIGitHub.
GitHub уточнил, что от атаки пострадали не менее 12 организаций. Проблема также затронула часть сервисов GitHub и инфраструктуру проекта NPM.
Расследование показало, что на некоторое время злоумышленники получили доступ к к NPM-пакетам в сервисе AWS S3. Для этого они извлекли из приватных репозиториев GitHub сторонние токены OAuth для доступа к API Amazon Web Services.
GitHub не раскрыл, как именно хакеры получили доступ к нужным токенам OAuth и данным. Платформа уточнила, что не зафиксировала взломов своей инфраструктуры, а токены для авторизации доступа с внешних систем не хранятся на стороне GitHub в исходном формате.
Эксперты GitHub также изучили действия хакеров после получения доступа к репозиториям NPM. Они не обнаружили там модификации пакетов или попыток доступа к базам данных с учетными записями пользователей.
GitHub рассказала, что IT-инфраструктура платформ GitHub.com и NPM разделена по причине безопасности. Злоумышленники после атаки не получили возможность загрузить содержимое внутренних репозиториев GitHub, не связанных с NPM. Используемые ими скомпрометированные ключи были заблокированы раньше, чем хакеры смогли расширить свою атаку.
GitHub продолжает расследование инцидента и тесно сотрудничает с пострадавшими от атаки клиентами для устранения последствий утечки данных. GitHub связался с Heroku и Travis-CI и попросил эти сервисы инициировать собственные расследования безопасности, отозвать все пользовательские токены OAuth, связанные с затронутыми приложениями и клиентами, и начать работу по уведомлению пользователей об инциденте.
13 августа 2021 года GitHub отключил работу с операциями Git по паролю, теперь они возможны только по токену (персональные токены GitHub или OAuth) или с помощью SSH-ключей. Это было сделано для защиты пользователей и предотвращения использования злоумышленниками похищенных или взломанных паролей.