В NPM ввели обязательную двухфакторную аутентификацию для сопровождающих значимых пакетов
GitHub внедрил обязательное применение в репозитории NPM двухфакторной аутентификации к учётным записям разработчиков, сопровождающих пакеты с более чем 1 млн загрузок в неделю или используемых в качестве зависимости у более чем 500 пакетов.
Ранее это правило распространялось на сопровождающих только 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. Специалисты платформы успели удалить эти данные до инцидента в апреле.