GitHub анонсировал комплекс мер для защиты от атак на цепочку поставок. Их решили принять после недавних инцидентов, в том числе связанных с распространением червя Shai-Hulud, а также кампаниями s1ngularity и GhostAction.
Эти атаки привели к компрометации тысяч учётных записей и частных репозиториев, а также краже конфиденциальных данных.
В GitHub немедленно удалили более 500 скомпрометированных пакетов из реестра npm для предотвращения дальнейшего распространения вредоносного ПО, однако признали, что превентивные меры сработали бы эффективнее.
Теперь платформа предпринимает следующие шаги:
двухфакторную аутентификацию (2FA) для локальной публикации;
внедрение гранулярных токенов со сроком действия 7 дней;
расширение внедрения проверенных издательских систем;
отмену поддержки классических токенов и TOTP 2FA и переход на 2FA на базе FIDO;
сокращение срока действия токенов публикации;
доступ к публикации по умолчанию для запрета токенов;
удаление возможности обхода 2FA для локальной публикации.
GitHub призывает разработчиков использовать доверенную публикацию npm вместо токенов, усилить настройки безопасности для учётных записей, включив требование двухфакторной аутентификации (2FA) для любых действий, а также использовать WebAuthn вместо TOTP.
Ранее сообщалось, что NPM-пакет tinycolor был скомпрометирован в ходе атаки. Она затронула более 40 пакетов библиотеки, а после самораспространяющийся червь заразил ещё более 300. Злоумышленники смогли распространить вредоносное ПО с помощью функции NpmModule.updatePackage, внедрённой в скомпрометированные библиотеки. Кампания получила название Shai-Hulud, она довольно сложна и использует TruffleHog, легитимный инструмент для скрытого сканирования, чтобы искать и проверять учётные данные перед их передачей в веб-перехватчик.
Источник: habr.com