pip / PyPI
Python package installer abuse techniques
critical
Code Execution
setuptools cmdclass Command Override
The setuptools cmdclass parameter allows package authors to override built-in setup commands such as install, develop, egg_info, build_ext, …
Linux
macOS
Windows
high
Dependency Confusion
Dependency Confusion Attack
Dependency confusion can arise when pip is configured to search both public PyPI and a private index. pip assigns no priority to those …
Linux
macOS
Windows
medium
Configuration Abuse
requirements.txt Index Manipulation
pip's requirements.txt file format supports global options including --index-url, --extra-index-url, --find-links, and --trusted-host …
Linux
macOS
Windows
critical
Code Execution
setup.py Arbitrary Code Execution
When pip installs or builds a package through a legacy setuptools path, it may execute the package's setup.py file using the installing …
Linux
macOS
Windows
high
Typosquatting
PyPI Package Typosquatting
Typosquatting on PyPI uses misspellings, character transpositions, or plausible name variations to induce installation of the wrong project. …
Linux
macOS
Windows