Разработчик NPM-библиотек colors и faker сломал тысячи приложений

Разработчик NPM-библиотек colors и faker сломал тысячи приложений

Разработчик NPM-библиотек colors и faker сломал тысячи приложений

Пользователи NPM-библиотек с открытым исходным кодом «colors» и «faker» на днях столкнулись с неприятной ситуацией: приложения, в которых задействуются эти библиотеки, выдавали странные данные в консоль или вовсе ломались. Оказалось, что во всём виноват разработчик.

У «colors» на одном только npm насчитываются более 20 миллионов еженедельных загрузок и почти 19 тысяч зависимых проектов. У «faker» результаты скромнее — 2,8 млн еженедельных загрузок и более 2500 зависимых проектов.

Разработчик этих библиотек намеренно ввёл бесконечный цикл, который в конечном счёте поломал тысячи проектов, полагающихся в работе на «colors» и «faker». Результаты уже прочувствовали на себе пользователи популярных проектов с открытым исходным кодом — например, Amazon Cloud Development Kit (aws-cdk). Согласно жалобам, проблемные приложения выдавали в консоль тарабарщину.

 

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

Судя по всему, затронуты версии colors.js v1.4.44-liberty-2 и faker 6.6.6. Девелопер заверил всех, что в настоящее время ведётся работа над фиксом, а пользователям просто стоит немного подождать выхода соответствующего патча.

Что на самом деле видят провайдер, VPN-сервис и сайт при веб-сёрфинге юзера

Пётр Васильченко на Хабре разобрал, какие данные о пользователе получают сайт, провайдер, DNS-резолвер и VPN-сервис. Главный вывод прост: HTTPS защищает содержимое трафика, но плащ-невидимку не выдаёт. При корректно настроенном HTTPS провайдер не может прочитать адрес конкретной статьи, поисковый запрос, пароль или текст сообщения.

Зато ему доступны IP-адрес назначения, время и продолжительность соединения, объём трафика, а при определённых условиях — DNS-запросы и доменное имя из SNI.

Как объясняет исследователь, технологии защищённого DNS и ECH скрывают часть этих сведений, но метаданные никуда не испаряются.

Сам сайт знает гораздо больше. Он получает полный путь страницы, параметры URL, разрешённые браузером cookies, данные авторизации и сведения, которые пользователь вводит добровольно.

 

Скрипты также могут собирать характеристики устройства и формировать цифровой отпечаток браузера. Не паспорт, конечно, но для вероятностного опознания посетителя сгодится.

VPN меняет маршрут и прячет домашний IP от сайта. Провайдер после его включения видит соединение с VPN-сервером, зато новый посредник получает IP пользователя и метаданные трафика.

 

Cookies, аккаунты и браузерный отпечаток при этом остаются на месте. Можно сменить IP хоть десять раз, но вход в привычную учётную запись мгновенно заканчивает игру в шпиона.

 

Режим инкогнито тоже не превращает браузер в секретный бункер. Он отделяет временную сессию и удаляет её данные после закрытия окон, однако сайты продолжают видеть запросы, а провайдер — сетевую активность.

HTTPS скрывает содержимое, защищённый DNS — запросы доменных имён, VPN — домашний IP, а инкогнито не сохраняет локальную историю сессии. Поэтому сначала стоит решить, какие данные и от кого нужно спрятать.

RSS: Новости на портале Anti-Malware.ru