disasm.me channel
1.76K subscribers
294 photos
3 videos
10 files
182 links
Канал вирусного аналитика, занимающегося безопасностью опенсорса и технологиями искусственного интеллекта. Плюс заметки по аспирантуре :)

Автор: @hexadec1mal

В чате сидит Guard-бот, будьте внимательнее.
Download Telegram
Oh no...

Сегодня пользователь 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
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8😁4