TGViewer
Zen of Python Zen of Python @zen_of_python · 18.8K subscribers
Post #4748 2.89K
Анализ датасета QUT-DV25 (14 000 семплов малвари из PyPI) показал, что больше половины пакетов запускают reverse shell или крадут env-переменные прямо в setup.py т.е. достаточно pip install, даже без импорта.

Проблема: sdist-пакеты требуют выполнения setup.py при сборке. Это обычный Python-скрипт, он может делать что угодно — от сборки C-расширения до отправки ~/.ssh/id_rsa на C2-сервер.

Есть такой инструмент KEIP — eBPF-тул на LSM-хуках, который ставит сетевой whitelist на время pip install. Если setup.py или дочерний процесс лезет на сервер не из белого списка — весь процесс убивается

Вообще, в 2026 setup.py — это красный флаг. Если пакет без pyproject.toml и без wheel, то может он и не нужен вам?

@zen_of_python
  • ✍ 4
  • ❤ 3
More from @zen_of_python
  1. Sep 21, 2026Как точечно сравнивать скорость функций Python с tprof Профилировщик помогает найти медлен…
  2. Sep 21, 2026Как писать Python-скрипты, которые удобно запускать в пайплайнах В разборе Bite code! собр…
  3. Sep 21, 2026Как упаковать Go-бинарник в wheel и подключить к Python PyPI может раздавать не только Pyt…
  4. Sep 20, 2026Как collections.deque хранит элементы блоками У deque два конца, поэтому легко представить…
  5. Sep 20, 2026Что ускоряет django-msgspec в Django и где он расходится с json django-msgspec заменяет ко…
  6. Sep 20, 2026Почему миллион чисел в Python занимает 35 МБ Список из миллиона целых, которые помещаются…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →