pipask — finally, a secure firewall? 😎
Недавно я писал о проекте Supply-Chain Firewall, задача которого блокировать установку вредоносных пакетов. К сожалению, в текущей реализации оказался не очень-то и безопасным.
Да, он проверяет наличие пакетов в базах Datadog и OSV.dev, но:
— В случае с pip/poetry делает это по факту установки, а значит вся вредоносная активность отработает.🐈
— Так как используются базы фидов, такой firewall неэффективен против не занесенных туда угроз.
Нашел упоминание другого проекта, который выглядит по функционалу более мощно, но работает только с пакетным менеджером pip — pipask. Он заявляется как drop-in замена pip, которая поддерживает только команды
— Отозван (yanked) ли пакет.В PyPI можно мягко скрыть релиз, если в нем, например, найдены уязвимости, что не позволит его скачать без прямого указания версии.
— Как давно были созданы релиз, который является целью установки, и сам проект в принципе.
— Есть ли известные уязвимости в базе OSV.dev.
— Какова репутация связанного с проектом GitHub/GitLab-репозитория.
— Какой статус проекта указал разработчик (Planning, Pre-Alpha, Alpha, Beta, Inactive будут причиной для тревоги, Production/Stable и Mature будут ок);
— Сколько скачиваний пакета было за последний месяц по данным PyPI Stats (до 100 будут красным знаком, до 5000 будут причиной тревоги);
— Какая лицензия проекта.
Для транзитивных зависимостей ведётся проверка только на известные уязвимости в базе OSV, без прочих репутационных.😎
Если pipask найдет проблемы с пакетом, он их подсветит и спросит решение пользователя, стоит ли его устанавливать:
Кстати, в🐈 .
———
Данное решение сейчас не поиспользуешь на проде, так как😊
Блин, а я попробую использовать pipask у себя на тачке, выглядит годно!
#pypi #supplychain #ti #ресерч
@disasm_me_ch
Недавно я писал о проекте Supply-Chain Firewall, задача которого блокировать установку вредоносных пакетов. К сожалению, в текущей реализации оказался не очень-то и безопасным.
Да, он проверяет наличие пакетов в базах Datadog и OSV.dev, но:
— В случае с pip/poetry делает это по факту установки, а значит вся вредоносная активность отработает.
— Так как используются базы фидов, такой firewall неэффективен против не занесенных туда угроз.
Нашел упоминание другого проекта, который выглядит по функционалу более мощно, но работает только с пакетным менеджером pip — pipask. Он заявляется как drop-in замена pip, которая поддерживает только команды
install
/download
/list
. pipask
имеет целый арсенал проверок:— Отозван (yanked) ли пакет.
— Как давно были созданы релиз, который является целью установки, и сам проект в принципе.
— Есть ли известные уязвимости в базе 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
GitHub
GitHub - feynmanix/pipask: Safer python package installs with audit and consent 𝘣𝘦𝘧𝘰𝘳𝘦 install
Safer python package installs with audit and consent 𝘣𝘦𝘧𝘰𝘳𝘦 install - feynmanix/pipask
1 10 4😁2
Обучаемся секьюрной разработке 😼
Хорошие новости: меня позвали рассказать интересности в рамках позитивного практикума AppSec для инженеров.
Практикум будет полезен DevOps-инженерам и программистам, которые заинтересованы в настройке процессов безопасной разработки. Во время подготовки материала я прошелся по курсу и нахожу его полезным для людей, кто очень хочет настроить адекватный поиск уязвимостей с использованием актуальных практик так, чтобы устранение проблем было не таким болезненным👀
В одном из блоков третьей недели я покрою вопросы, котором часто не уделяют внимание при внедрении security-инструментов: кто поставляет информацию об уязвимых компонентах, почему эти люди решили помогать мировому комьюнити в данном нелегком пути и каковы качество и полнота этих фидов.
Программа длится 6 недель и стартует уже 30 июня☕️
#курсы #appsec #supplychain #pypi #npm
@disasm_me_ch
Хорошие новости: меня позвали рассказать интересности в рамках позитивного практикума AppSec для инженеров.
Практикум будет полезен DevOps-инженерам и программистам, которые заинтересованы в настройке процессов безопасной разработки. Во время подготовки материала я прошелся по курсу и нахожу его полезным для людей, кто очень хочет настроить адекватный поиск уязвимостей с использованием актуальных практик так, чтобы устранение проблем было не таким болезненным
В одном из блоков третьей недели я покрою вопросы, котором часто не уделяют внимание при внедрении security-инструментов: кто поставляет информацию об уязвимых компонентах, почему эти люди решили помогать мировому комьюнити в данном нелегком пути и каковы качество и полнота этих фидов.
Программа длится 6 недель и стартует уже 30 июня
#курсы #appsec #supplychain #pypi #npm
@disasm_me_ch
Please open Telegram to view this post
VIEW IN TELEGRAM
Ptsecurity
Безопасность приложений: практикум для инженеров
Запишитесь на практикум 'Безопасность приложений: практикум для разработчиков' от Positive Technologies! Узнайте, как защитить свои приложения от угроз и уязвимостей, получая практические навыки и знания от экспертов в области ИБ.
10 9