Темная сторона open source: как протокол Tea захламляет менеджер пакетов npm

Новости Отредактировано

Порой принципы свободного ПО вставляют палки в колеса сообществу

235 открытий4К показов
Темная сторона open source: как протокол Tea захламляет менеджер пакетов npm

В апреле 2024 года команда Phylum Research выявила масштабное распространение спам-пакетов в npm, связанных с протоколом Tea.

Этот децентрализованный проект обещает вознаграждение разработчикам за их вклад в open source в виде криптовалюты.

По данным свежего исследования, около четверти всех пакетов, опубликованных в npm во II квартале 2024 года, связаны с Tea и не имеют никакой ценности, кроме искусственного увеличения вклада разработчиков.

Как это работает

Протокол Tea использует модифицированный алгоритм PageRank под названием teaRank, который награждает разработчиков на основе их «доказательства вклада».

Как и в случае с SEO-спамерами, разработчики нашли способы злоупотреблять этим механизмом, заливая репозитории огромным количеством бессмысленных пакетов.

Масштабы проблемы

С начала 2024 года количество пакетов, ежедневно публикуемых в npm, резко возросло. В пиковый день, 8 апреля 2024 года, их было опубликовано более 48 000.

При этом из примерно 890 000 новых пакетов, появившихся с февраля, 68-74% — мусор.

Опасности для экосистемы

Хотя пока не выявлено прямой вредоносности этих спам-пакетов, они создают множество проблем.

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

Пример: пакет sournoise

Пакет sournoise, на первый взгляд, имеет зависимость только от популярного axios.

Однако, внутри package.json также указана зависимость от сомнительного пакета @putrifransiska/kwonthol36, что скрыто на сайте npm. Это показывает, как спам-пакеты могут проникать в проект через транзитивные зависимости.

Стоит понимать, что загрязнение open source экосистемы спамом вредит всем. Проект Tea пытается бороться с этим, а npm уже начал удалять злоумышленников.

Однако темпы удаления не успевают за темпами появления новых пакетов. Проблема также касается и других платформ, таких как Rubygems.

Следите за новыми постами
Следите за новыми постами по любимым темам
235 открытий4К показов