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

Автор: @hexadec1mal

В чате сидит Guard-бот, будьте внимательнее.
Download Telegram
pipask — finally, a secure firewall? 😎

Недавно я писал о проекте Supply-Chain Firewall, задача которого блокировать установку вредоносных пакетов. К сожалению, в текущей реализации оказался не очень-то и безопасным.

Да, он проверяет наличие пакетов в базах Datadog и OSV.dev, но:
— В случае с pip/poetry делает это по факту установки, а значит вся вредоносная активность отработает. 🐈
— Так как используются базы фидов, такой firewall неэффективен против не занесенных туда угроз.

Нашел упоминание другого проекта, который выглядит по функционалу более мощно, но работает только с пакетным менеджером pip — pipask. Он заявляется как drop-in замена pip, которая поддерживает только команды install/download/list. pipask имеет целый арсенал проверок:
Отозван (yanked) ли пакет. В PyPI можно мягко скрыть релиз, если в нем, например, найдены уязвимости, что не позволит его скачать без прямого указания версии.
— Как давно были созданы релиз, который является целью установки, и сам проект в принципе.
— Есть ли известные уязвимости в базе OSV.dev.
— Какова репутация связанного с проектом GitHub/GitLab-репозитория.
— Какой статус проекта указал разработчик (Planning, Pre-Alpha, Alpha, Beta, Inactive будут причиной для тревоги, Production/Stable и Mature будут ок);
— Сколько скачиваний пакета было за последний месяц по данным PyPI Stats (до 100 будут красным знаком, до 5000 будут причиной тревоги);
— Какая лицензия проекта.

Для транзитивных зависимостей ведётся проверка только на известные уязвимости в базе OSV, без прочих репутационных. 😎

Если pipask найдет проблемы с пакетом, он их подсветит и спросит решение пользователя, стоит ли его устанавливать:
$ pipask install yandex-baobab-api
✔️ Resolving dependencies to install 0:00:00
! Checking repository popularity 0:00:00
✖️ Checking package download stats 0:00:00
! Checking package age 0:00:00
✔️ Checking known vulnerabilities 0:00:00
✔️ Checking release metadata 0:00:00
! Checking package license 0:00:00

Package check results:
[yandex-baobab-api==66.0.3]
! No repository URL found
✖️ Only 8 downloads from PyPI in the last month
! The release is older than a year: 472 days old
✔️ No known vulnerabilities found
✔️ No development status classifiers
! No license found in PyPI metadata - you may need to check manually

? Would you like to continue installing package(s)? [y/n]:


Кстати, в pip против install-time троянов есть режим --only-binary :all: — он не позволит установиться пакету, если у него есть только source distribution, требующий предварительной компиляции. Правда это может поломать пайплайны 🐈. pipask и scfw, тоже могут работать в этом режиме, так как пробрасывают параметры в pip.

———

Данное решение сейчас не поиспользуешь на проде, так как pipask пока не поддерживает возможность игнорировать предупреждения. Но как замена pip-у в рамках ручного скачивания пакетов — огонь. Для того же jupyter labs будет замечательно 😊

Блин, а я попробую использовать pipask у себя на тачке, выглядит годно!

#pypi #supplychain #ti #ресерч
@disasm_me_ch
Please open Telegram to view this post
VIEW IN TELEGRAM
1104😁2
Обучаемся секьюрной разработке 😼

Хорошие новости: меня позвали рассказать интересности в рамках позитивного практикума AppSec для инженеров.

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

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

Программа длится 6 недель и стартует уже 30 июня ☕️

#курсы #appsec #supplychain #pypi #npm
@disasm_me_ch
Please open Telegram to view this post
VIEW IN TELEGRAM
109