На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

На PyPI найдены 4000 фейковых модулей, атакующих Python-сообщество

Исследователи из Sophos обнаружили в репозитории PyPI около 4 тыс. поддельных библиотек, загруженных пользователем с говорящим именем Remind Supply Chain Risks. Несколько таких модулей носят слегка искаженные имена популярных проектов; вредоносного кода в них нет — только Python-команда на отправку данных о загрузке на сторонний сервер.

Названия остальных фейковых пакетов более развернуты и вряд ли обеспечат скачивание по ошибке — например, Build-Number-Incrementor-for-C-Sharp или Web-Service-for-Android-GMaps-AsyncTask-Demo. Все найденные специалистами фальшивки уже изъяты из публичного доступа.

Загрузка и установка пакетов из PyPI обычно осуществляется подачей команды pip install [имя пакета] или с помощью инсталлятора программы, для которой необходим импорт данного компонента. Распространители зловредов зачастую делают ставку на это удобство, взламывая аккаунт разработчика легитимной библиотеки и загружая в репозиторий вредоносное обновление от его имени.

В результате зловредный код проникает во все ИТ-инфраструктуры предприятий, чьи приложения используют скомпрометированный компонент. Возможность такой атаки на цепочку поставок недавно с успехом продемонстрировал ИБ-исследователь Алекс Бирсан (Alex Birsan).

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

Именно так, видимо, мыслил Remind Supply Chain Risks, загружая в PyPI пять фальшивых пакетов:

  • asteroids — имитацию обработчика аудиозаписей asteroid; 
  • beauitfulsoup4 — поддельный парсер веб-страниц beautifulsoup4;       
  • llvm — имитацию библиотеки llvmpy;
  • winpty — вместо библиотеки winpy;
  • wwebsite — вместо набора инструментов website.

Анализ показал, что все эти модули нельзя с уверенностью отнести к вредоносным. Они содержат только эту Python-команду, запускаемую при установке пакета (а не при его использовании):

url = "h"+"t"+"t"+"p"+":"+"/"+"/"+[IP-адрес]+"/name?ИМЯФЕЙКОВОГОПАКЕТА"
   requests.get(url, timeout=30)

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

Несмотря на очистку PyPI от его творений, Remind Supply Chain Risks не угомонился; 3 марта он выложил в открытый доступ новый фейковый пакет — beatufulsoup4. В названии нового проекта хактивист прозрачно намекнул на возможность ошибки: You may want to install beautifulsoup4, not beautfulsoup4 («Лучше, наверное, установить beautifulsoup4, а не beautfulsoup4»).

OOXML — фикция: LibreOffice обвинила Microsoft в манипуляциях

Проблемы совместимости остаются одной из главных причин, по которым пользователи не спешат переходить с Microsoft Office на LibreOffice. Формально всё работает, но на практике время от времени всплывают странности с вёрсткой, форматированием и отображением данных. И, как считают в The Document Foundation (TDF), дело тут вовсе не в LibreOffice.

Фонд, стоящий за LibreOffice, снова выступил с жёсткой критикой Microsoft. В блоге Итало Виньоли — одного из основателей TDF — корпорация из Редмонда обвиняется в том, что она игнорирует интересы отрасли ради собственных коммерческих целей.

По его словам, утверждение «OOXML — это стандарт, и его просто нужно принять» выглядит, мягко говоря, странно.

Виньоли настаивает: Office Open XML (OOXML) не может считаться полноценным стандартом, пока Microsoft не готова радикально переработать сами приложения Office. В качестве примера он напомнил о давней проблеме Excel с автопреобразованием данных — истории, которая напрямую затронула научное сообщество.

Excel годами автоматически превращал текстовые значения в даты. Для обычных таблиц это удобно, но для генетиков — катастрофа. Названия генов вроде MARCH1, SEPT1 или DEC1 Excel воспринимал как даты и превращал их в «1-Mar», «1-Sep» и «1-Dec».

В 2016 году журнал Genome Biology проанализировал почти 3,6 тысячи научных работ с Excel-файлами и выяснил, что примерно в каждой пятой были ошибки, вызванные именно автозаменой форматов.

Долгое время Microsoft считала проблему нишевой и не давала возможность отключить такое поведение. Лишь в 2023 году компания добавила соответствующую настройку; уже после того, как Комитет по номенклатуре генов человека (HGNC) был вынужден переименовать около 27 генов, чтобы избежать ошибок. К тому моменту ущерб для исследований уже был нанесён.

По словам Виньоли, OOXML «открыт» лишь формально. Спецификация формата занимает около 7 000 страниц, что делает полноценную и корректную реализацию сторонними разработчиками почти невозможной.

Кроме того, Microsoft Office сам не использует строгую версию стандарта (Strict OOXML), предпочитая так называемый Transitional-вариант. В нём до сих пор есть зависимости от старых, проприетарных форматов и поведения древних версий Word — вплоть до элементов с названиями вроде autoSpaceLikeWord95 или shapeLayoutLikeWW8.

Отдельно Виньоли критикует рекомендации использовать Windows Metafile для графики вместо открытых и кросс-платформенных форматов вроде SVG.

Для пользователей всё это выливается в знакомую проблему: документы между Office и LibreOffice открываются, но не всегда так, как ожидалось. Для TDF же это очередное подтверждение того, что формат Office по-прежнему работает как инструмент удержания пользователей внутри экосистемы Microsoft.

Спор вокруг OOXML длится уже много лет, и новый выпад со стороны LibreOffice ясно показывает: вопрос совместимости и «открытых стандартов» по-прежнему далёк от закрытия.

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