Популярность имеет свои минусы. Чем популярней язык программирования, тем выше его распространённость, а значит найдутся те кто поспешит воспользоваться этим.
С ростом популярности Python всё больше на PyPi появляется вредоносных пакетов. Трояны, стиллеры и доставщики более опасных вредоносов.
Команда PyPi постоянно мониторит подобные случаи но и их возможности достигли предела. В результате сервис временно закрывает возможность заливки новых пакетов и регистрации юзеров.
PyPI new user and new project registrations temporarily suspended
Возможно одной из причин большого наплыва вредоносов является резко возросшая доступность их создания. Сегодня любой, даже не программист, может попросить у ChatGPT написать необходимый код и все инструкции для атаки.
Основной тип атаки - рассчёт на опечатку в названии пакета. Если невнимательный программист случайно установит pilow или djangoo, считай что вредонос уже в системе.
Чтобы избежать подобных факапов я рекомендую:
▫️ Всегда работайте в виртуальном окружении, неизвестные проекты устанавливайте внутри контейнеров.
▫️ Используйте файл requirements.txt вместо ручной установки пакетов
▫️ Очень внимательно пишите названия пакетов, а после написания проверьте еще раз. Сверьте с названием из документации.
▫️ После успешных тестов всегда фиксируйте версию пакета. Бывали случаи когда опасный код добавляли в новые версии. К тому же и без этой опасности не рекомендуется ставить по умолчанию последнюю версию.
▫️ Используйте вспомогательные инструменты для проверки безопасности, например https://pyup.io/safety или https://github.com/PyCQA/bandit. Они помогут не только найти опасный код в чужих пакетах, но и ваш код проверит на уязвимости.
Будем надеяться что PyPi переосмыслит методы борьбы с вредоносами, например внедрит ИИ для проверки как симметричный шаг.
#offtop
Nobody Back Then Knew Slavery Was Wrong
Transcript and description of cartoon: link
A #PoliCartoon by me and @hawkins_becky, who did an awesome job with historic settings and costumes!
Help us make cartoons at patreon.com/barry. Or by retweeting! :-) source
What We Can Afford
A #PoliCartoon by @kevinwmoore and I!
Transcript: link
Read more (and moore) cartoons!: link
You can support these cartoons with retweets or at patreon.com/barry! source
Just because you're rich white and privileged and you have an super-elite job and you haven't been fired doesn't mean you can't claim quit and claim victimhood!
Transcript of #PoliCartoon: link
Support by retweeting! Or directly at patreon.com/barry. source
Civil Forfeiture!
A #PoliCartoon by me and @kevinwmoore!
A topic that no one has been asking for a cartoon about!
Read more toons! link
Support more toons! patreon.com/barrysource
A Brief Taxonomy of Pro-Lifers
Transcript of #PoliCartoon: link
Help us make more cartoons at patreon.com/barry. :-)
Read lots more cartoons here! linksource
There's Never Been A Worse Time For Free Speech!
A #policartoon by me and @hawkins_becky.
Transcript: link
Help us make more by retweeting, or at patreon.com/barry. A $1 pledge really helps!
Lots more toons to read! linksource
The Secret Home Lives of Teachers
A #PoliCartoon by me and @hawkins_becky.
Transcript: link
Lots more cartoons to read here: link
Help us make more! patreon.com/barrysource