Oh no...
Сегодня пользователь
Кажется, началось... Благо автор не является известным разработчиком в отношении экосистемы
Пояснение:сейчас тренд переписывать питоновские библиотеки в виде биндингов на раст-реализацию
UPD: пока писал пост, вышла новая версия, её функционал приведён на втором скрине. heh.jpg
#memes #ti #pypi
@disasm_me_ch
Сегодня пользователь
simplestway7
зарегистрировал библиотеку numpy-rs
.Кажется, началось... Благо автор не является известным разработчиком в отношении экосистемы
numpy
, поэтому это либо проба пера (сейчас библиотека пустая), либо занятие названия для дальнейшей dependency confusion-атаки. Пояснение:
UPD: пока писал пост, вышла новая версия, её функционал приведён на втором скрине. heh.jpg
#memes #ti #pypi
@disasm_me_ch
👾8😁4🌚2
Саурон, Дейтинг и Баобаб в опенсорсе 👀
Один из способов реализовать dependency confusion атаку — повторно использовать имя внутреннего инструмента.
Шаги просты как три копейки:
1. Злоумышленник или багхантер каким-либо образом узнает или догадывается о названиях внутренних пакетов.
2. Он размещает в глобальном репозитории свою версию пакета с нужной функциональностью (в лучшем случае — просто выводящую текст во время установки, в худшем — стилер или RAT).
3. Разработчик, не успевший настроить принудительное использование пакетов из приватного репозитория организации, пытается установить установить зависимости внутреннего проекта.
4. В лучшем случае докер-контейнер на тачке сотрудника, в худшем — хост сотрудника или CI/CD установил зависимость из глобального репозитория — и нагрузка отработала в install-time.
Яндекс решили эту проблему путем резервирования названий внутренних пакетов с помощью заглушек. Это жизнеспособная мера: пусть PyPI и поддерживает блокировку названия пакетов, но выглядит надежнее делать это самостоятельно.
Я уже рассказывал, что проекты Яндекса становились целью багхантеров в опенсорсе, так что необходимость таких действий обоснована🤪
Из-за необходимости публично резервировать имена появляется другая проблема, пусть и существенно менее опасная — внешний наблюдатель знает названия пакетов, а также может наблюдать за регистрацией новых. Так как часть названий говорит сама за себя, можно строить догадки о внутренней кухне🐱 🐱
Список можно посмотреть в профиле Yandex Security Team на PyPI. Я в свою очередь перечислю те, что зацепили мой взор:
🟢 rm
🟢 values
🟢 auto-tqdm
🟢 baobab
🟢 star
🟢 dating
🟢 and
🟢 ansible-golovan-alert
🟢 blackboxer
🟢 bummer
🟢 feedback
🟢 browser
🟢 yandex-annushka
🟢 oboto3
🟢 dominator.yandex
🟢 eda-galera-slave-sync
🟢 external_devil
🟢 instagram-scraper
🟢 sosoc и Flask-Sosoc
🟢 yandex-tas-search
🟢 yandex-edadeal-tbank-client
🟢 nirvana-api-wrapper
🟢 yandex-sauron
🟢 nyan-ci и nyan-core
Судя по названиям пакетов, разработка в компании идёт прямо душевная☕️ Ну и стоит напомнить, что Яндекс поступает правильно — лучше подарить смех тому, кто увидит эти пакеты, чем стать жертвой кибератаки.
#memes #pypi
@disasm_me_ch
Один из способов реализовать dependency confusion атаку — повторно использовать имя внутреннего инструмента.
Шаги просты как три копейки:
1. Злоумышленник или багхантер каким-либо образом узнает или догадывается о названиях внутренних пакетов.
2. Он размещает в глобальном репозитории свою версию пакета с нужной функциональностью (в лучшем случае — просто выводящую текст во время установки, в худшем — стилер или RAT).
3. Разработчик, не успевший настроить принудительное использование пакетов из приватного репозитория организации, пытается установить установить зависимости внутреннего проекта.
4. В лучшем случае докер-контейнер на тачке сотрудника, в худшем — хост сотрудника или CI/CD установил зависимость из глобального репозитория — и нагрузка отработала в install-time.
Яндекс решили эту проблему путем резервирования названий внутренних пакетов с помощью заглушек. Это жизнеспособная мера: пусть PyPI и поддерживает блокировку названия пакетов, но выглядит надежнее делать это самостоятельно.
Я уже рассказывал, что проекты Яндекса становились целью багхантеров в опенсорсе, так что необходимость таких действий обоснована
Из-за необходимости публично резервировать имена появляется другая проблема, пусть и существенно менее опасная — внешний наблюдатель знает названия пакетов, а также может наблюдать за регистрацией новых. Так как часть названий говорит сама за себя, можно строить догадки о внутренней кухне
Список можно посмотреть в профиле Yandex Security Team на PyPI. Я в свою очередь перечислю те, что зацепили мой взор:
Судя по названиям пакетов, разработка в компании идёт прямо душевная
#memes #pypi
@disasm_me_ch
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
disasm.me channel
Страсти опенсорса: мафия, стилеры и багхантинг проектов «Яндекса» 🐱
За последние две недели в Python Package Index произошло много занятного. Мы вооружились вердиктами модели машинного обучения сервиса PT PyAnalysis, дабы рассказать вам об интересных сработках.…
За последние две недели в Python Package Index произошло много занятного. Мы вооружились вердиктами модели машинного обучения сервиса PT PyAnalysis, дабы рассказать вам об интересных сработках.…
🔥8😁4