В NPM ввели обязательную двухфакторную аутентификацию для сопровождающих значимых пакетов

GitHub внедрил обязательное применение в репозитории NPM двухфакторной аутентификации к учётным записям разработчиков, сопровождающих пакеты с более чем 1 млн загрузок в неделю или используемых в качестве зависимости у более чем 500 пакетов. 

9ed8604b6e8bf46ae817f7295e2509fa.jpg

Ранее это правило распространялось на сопровождающих только 500 самых популярных NPM-пакетов по числу зависимых.

С введением нового правила сопровождающие значимых пакетов смогут выполнить связанные с внесением изменений операции с репозиторием только после включения двухфакторной аутентификации. Она потребует подтверждения входа при помощи одноразовых паролей (TOTP), генерируемых такими приложениями, как Authy, Google Authenticator и FreeOTP, либо аппаратных ключей и биометрических сканеров, поддерживающих протокол WebAuth.

в апреле GitHub зафиксировал инцидент по утечке данных из приватных репозиториев клиентов платформы с использованием скомпрометированных токенов OAuth, сгенерированных для сервисов Heroku и Travis-CIGitHub. Хакеры украли конфиденциальные данные десятков организаций, включая NPM. Платформа уточнила, что не зафиксировала взломов своей инфраструктуры, а токены для авторизации доступа с внешних систем не хранятся на стороне GitHub в исходном формате.

Расследование GitHub показало, что в начале апреля на некоторое время злоумышленники получили доступ к к NPM-пакетам в сервисе AWS S3. Для этого они извлекли из приватных репозиториев GitHub сторонние токены OAuth для доступа к API Amazon Web Services.

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

Позднее GitHub раскрыл объём похищенных хакерами данных во время апрельской атаки. Эксперты ещё до атаки обнаружили во внутренних журналах сервисов NPM учётные данные пользователей в незашифрованном виде, включая токены доступа npm, небольшое количество паролей для учётных записей npm и отправленные сервисам npm персональные токены доступа GitHub. Они попали туда по ошибке после интеграции системы логгирования NPM в системы GitHub. Специалисты платформы успели удалить эти данные до инцидента в апреле.

© Habrahabr.ru