The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В каталоге PyPI (Python Package Index) выявлено 6 вредоносных пакетов

24.06.2021 12:16

В каталоге PyPI (Python Package Index) выявлено несколько пакетов, включающих код для скрытого майнинга криптовалюты. Проблемы присутствовали в пакетах maratlib, maratlib1, matplatlib-plus, mllearnlib, mplatlib и learninglib, имена которых выбраны похожими по написанию на популярные библиотеки (matplotlib) с расчётом, что пользователь ошибётся при написании и не заметит отличий (тайпсквоттинг). Пакеты были размещены в апреле под учётной записью nedog123 и за два месяца в сумме были загружены около 5 тысяч раз.

Вредоносный код был размещён в библиотеке maratlib, которая использовалась в остальных пакетах в форме зависимости. Вредоносный код был скрыт с использованием собственного механизма обфускации, не определяемого типовыми утилитами, и запускался при выполнении сборочного скрипта setup.py, выполняемого во время установки пакета. Из setup.py загружался с GitHub и запускался bash-скрипт aza.sh, который в свою очередь загружал и запускал приложения для майнинга криптовалют Ubqminer или T-Rex.

  1. Главная ссылка к новости (https://blog.sonatype.com/sona...)
  2. OpenNews: В каталоге Python-пакетов PyPI выявлены две вредоносные библиотеки
  3. OpenNews: В каталоге пакетов PyPI появилась поддержка двухфакторной аутентификации
  4. OpenNews: В каталоге PyPI выявлены вредоносные пакеты
  5. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  6. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
Лицензия: CC-BY
Тип: Проблемы безопасности
Короткая ссылка: https://opennet.ru/55384-pypi
Ключевые слова: pypi, malware
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (46) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 12:21, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А это точно стоит отдельной новости?
     
     
  • 2.3, OnTheEdge (??), 12:27, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    она — мини
     
     
  • 3.15, Аноним (15), 13:16, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –3 +/
    а надо - нано
     
     
  • 4.23, OnTheEdge (ok), 14:19, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    может мили/микро для начала? нано — отличный текстовый редактор, к слову
     
     
  • 5.25, Аноним (25), 14:47, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    мили/микро это когда firefox выпускает обновления.
     
  • 3.50, adolfus (ok), 16:51, 25/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит. Червяк -- самый небезопасный из интерпретируемых языков. Это, кстати, следствие крайне безответственной организации и инфраструктуры библиотек. Полная ассоциация с фавелами в Бразилии -- самострой и глобальная помойка. Ну и отступы еще добавляют адреналина...
     
     
  • 4.51, Stax (ok), 15:19, 26/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Это, кстати, следствие крайне безответственной организации и инфраструктуры библиотек

    Ну, это вы загнули. В npm все намного стремнее, и там такие истории были многократно.

     
  • 2.5, Жироватт (ok), 12:29, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Стоит. Пока по всем вот этим спидозным накопителям не нарисуют сайт-несайт, в реальном времени отражающий текущую ситуёвину с самим репо и найденными вредоносами.
    С блекджеком, пионерками, архивом статистики по самым разным метаданным пакетов, возможностью отбора трендов и таймланов, возможностью отправки юзерского фидбека, полуавтоматической ловлей подозрительно подозрительных (очень большой коэффициент likely в названии с популярными пакетами, пакеты из китая, рекламных говноконторок, мелких говноконторок "РогаКопыта Ltd." и от недавно зарегистрированных нонеймов, пакеты с накруткой рейтинга и установок...) и подозрительно неподозрительных пакетов (резких обновлений с нехарактерным кодом, указания реальным кодером угона его акков с последующим блоком любых апдейтов его пакетов до аудита, и т.п.), с обновлениями индекса и веделениями "новых" пакетов, с рейтингами у каждого автоматом внесенного разраба и возможность автоматом смотреть диффы...ну, короче, полноценную систему управления репо с проверкой авторов на продажу аккаунтов.
     
     
  • 3.9, пох. (?), 12:49, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > пакеты из китая

    Не, ну вот китайцев-то ты за что? Марат явно не китаец.

    Что-то мне подсказывает, что и не француз даже. Кем бы это он мог бы быть, действительно...

     
     
  • 4.12, ryoken (ok), 12:54, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А чо не так с Маратами? Где я долгое время жил (Башкирия) - вполне стандартное имя :D.
     
     
  • 5.13, пох. (?), 12:57, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дык, я и говорю, причем бы тут китайцы... те свои трояны обычно не опенсорсят, а то что у них не трояны - все равно использовать не получается.

     
     
  • 6.34, Аноним (34), 16:24, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Сегодня очень много кода пишется китайцами. Нейронки, мобильные приложения, самые различные батарейки для всего. С точки зрения белого человека, у них часто стрёмный код, но, обычно, он работает, и адаптировать его вполне возможно в разумные сроки. Китайцы тут при том, что китайцы большие любители малвари и протрояненного вареза.
     
  • 5.28, YetAnotherOnanym (ok), 15:34, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Угу. А есть края, где Аза - вполне обычное женское имя.
     
     
  • 6.30, ryoken (ok), 15:53, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Угу. А есть края, где Аза - вполне обычное женское имя.

    Про женское - не слышал. Там это было сокращённое мужское, Азат :).

     
     
  • 7.38, YetAnotherOnanym (ok), 21:06, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ага, и такое попадалось.
     
  • 4.37, пох. (?), 20:18, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну тыж не я)
     
  • 2.8, YetAnotherOnanym (ok), 12:41, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Учитывая специфику подготовки питонистов, им на трёхмесячных курсах могли и не рассказать, что такое в принципе может произойти. Поэтому есть риск, что обнаружение малвари в питонолибах останется незамеченными большей частью питонистов, что чревато проблемами для ни в чём не повинных мирных граждан. Так что лучше оповестить всех лишний раз.
     
     
  • 3.10, пох. (?), 12:52, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну норм у Марата подготовка - смотри, зависимости, код реюз, setup.py тянущий на ходу что-то с шитхаба - все как у взрослых!

    > что чревато проблемами для ни в чём не повинных мирных граждан.

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

     
     
  • 4.39, YetAnotherOnanym (ok), 21:07, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Так это не ему, он м.б. вообще опеннет не читает.
     
  • 4.42, пох. (?), 00:20, 25/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну норм у Марата подготовка - смотри, зависимости, код реюз, setup.py тянущий
    > на ходу что-то с шитхаба - все как у взрослых!
    >> что чревато проблемами для ни в чём не повинных мирных граждан.
    > а гражданы все равно ничего не смогут поправить в своем чудо-сайтике, имени
    > давно канувшего в лету украинского аутсорсера за пиццор ржублей. Даже если
    > точно будут знать что он майнит.

    Заканчивай писать от моего имени, слышишь Марат

     
  • 2.11, пох. (?), 12:53, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    завидуй молча! У чувака пять тыщ майнеров. А тебе опять премию не дадут.
     

  • 1.2, Жироватт (ok), 12:24, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Никогда такого не было, и вдруг снова?
     
     
  • 2.4, OnTheEdge (??), 12:29, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    это скорее к npm-репозитарию, хотя один фиг, судя по всему
     
     
  • 3.16, Аноним (-), 13:27, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > это скорее к npm-репозитарию, хотя один фиг, судя по всему

    Только вот незадача: на npm "услугах" зашлибают нехилую деньгу - в отличие от.  

     
  • 3.18, Lex (??), 13:40, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • –7 +/
    Дыры нашли в питоновских проектах, но, разумеется, "ты туда не смотри - ты на нпм смотри".
    У последнего, кстати, и пакетов раз 8 больше
     
     
  • 4.24, Аноним (-), 14:44, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >> Вредоносный код был размещён в библиотеке maratlib
    > Дыры нашли в питоновских проектах,

    Найди дыру в своей опе, которой ты читал новость ...

    > но, разумеется, "ты туда не смотри - ты на нпм смотри".
    > У последнего, кстати, и пакетов раз 8 больше

    За первым, кстати, нет никакой PyPI Inc.
    Но опеннетные "спецы", сравнивающие опу с пальцем, не переводятся.

     
  • 3.20, Аноним (20), 14:14, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    При чем здесь npm? Это везде где есть пакетный менеджер.
     

  • 1.6, Аноним (6), 12:31, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Из заголовка сперва подумал что это общая сводка и сразу такой "что-то маловато"
     
  • 1.7, Аноним (7), 12:34, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > maratlib

    Марат, поджигай!

     
  • 1.19, eRIC (ok), 13:45, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Marat Nedogimov беги
     
  • 1.21, Tifereth (ok), 14:15, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну и чему удивляться?

    В Пипу кто хочешь может залить что угодно. Так что были такие заподлянки, есть и будут. С ходу и не вижу эффективного способа как-то помешать такому использованию. Так, чтобы Пипа при этом оставалась мало-мальски удобной для работы.

     
     
  • 2.26, Аноним (26), 15:04, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > С ходу и не вижу эффективного способа как-то помешать такому использованию.

    Просто не использовать неизвестные библиотеки без ревью, в pypi не надо ничего менять для этого

     
     
  • 3.43, Tifereth (ok), 03:28, 25/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Это как бы естественная гигиена (о которой, естественно, все забывают).

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

     
  • 3.46, Аноним (46), 12:45, 25/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Бизнесы мильенов недокопмпаний поляжет если они своими двумя землекопами начнут ревьюить весь свой зввисимый говно код. А ситуацию с Node.js представь там в Hello, world под тысячу зависимостей.
     
     
  • 4.48, Аноним (48), 14:11, 25/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > Бизнесы мильенов недокопмпаний поляжет если они своими двумя землекопами начнут ревьюить весь свой зввисимый говно код.

    Это преувеличение, если библиотека популярная как например django или sqlalchemy то там и без нас полно ревьюверов и их зависимостей в том числе, как среди авторов библиотеки так и среди её пользователей. Речь идёт о редких и малопопулярных библиотеках которые вполне возможно что никто и не ревьювил.

    > двумя землекопами

    Это повод выбирать другие более распространённые библиотеки.

    > А ситуацию с Node.js представь

    Нет возможности ревьювить — значит просто не используем, я например не использую Node.js и из-за этого в том числе.

    Сейчас кстати Go по этому же пути nodejs идёт, а там вообще бинарники скомпилированные, вот там будет очень весело :-)

     
  • 3.53, Tifereth (ok), 07:04, 28/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В идеале - да.

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

     

  • 1.22, Массоны Рептилоиды (?), 14:15, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Марат ни в чём не виноват!
     
  • 1.27, Sergey (??), 15:13, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А разве с pypi не колеса ставят ?
     
  • 1.29, ТовМайор (?), 15:42, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >marat
    >aza
    >майнинг

    Такс щас посмотрим в секретном екселе сколько таких инклюзивных хацкеров.

     
  • 1.31, Аноним (34), 16:02, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Мне каждый раз довольно стрёмно использовать анонимные нонейм батарейки от китайских друзей, поэтому я копирую код себе и не использую чужие бинари. К сожалению, не всё компилируется в принципе, скажем, у меня проблемы с компиляцией blis, tensorflow и pyppeteer.

    Вот пример такого кода https://snyk.io/advisor/python/bing-translation-for-python (относительно хороший сервис, позволяющий быстро прикинуть, насколько та или иная батарейка вообще жива).

     
     
  • 2.32, Аноним (34), 16:05, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Тут написано, что не очень здоровый пакет, у меня он просто не компилируется https://snyk.io/advisor/python/blis
     
  • 2.33, Аноним (34), 16:13, 24/06/2021 [^] [^^] [^^^] [ответить]  
  • +/
    С другой стороны, селениум, 3 года не имеющий релизов (и который был всё вместе с phantomjs), там под 90 баллов (из гита конечно можно установить альфа-версию, если очень хочется, да ведь это не то).
     

  • 1.36, commiethebeastie (ok), 19:28, 24/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Из setup.py загружался с GitHub и запускался bash-скрипт aza.sh, который в свою очередь загружал и запускал приложения для майнинга криптовалют Ubqminer или T-Rex.

    Запускает sh из питона.

    Адепты кали линукса добрались до реп.

     
  • 1.47, Ivan_83 (ok), 13:43, 25/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И остальные 100500 ещё не найдены :)
     
  • 1.49, Аноним (49), 14:17, 25/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >marat
    >azaza

    Российские ребята, походу.

     
  • 1.52, remort (?), 11:24, 27/06/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Этническая преступность. Теперь еще и с татарским душком.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2021 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру