Популярность имеет свои минусы. Чем популярней язык программирования, тем выше его распространённость, а значит найдутся те кто поспешит воспользоваться этим.
С ростом популярности 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
Paraguay Division Profesional - Apertura🇵🇾
2026-05-10 20:45 UTC
Club Sp. San Lorenzo vs. Olimpia
Predicted outcome: Olimpia❌
Predicted score: 1:3
Actual: Club Sp. San Lorenzo 1:0
#ClubSpSanLorenzo#Olimpia
2026-05-10 23:00 UTC
Sportivo Luqueno vs. Libertad Asuncion
Predicted outcome: Libertad Asuncion✅
Predicted score: 1:2
Actual: Libertad Asuncion 2:3
#SportivoLuqueno#LibertadAsuncion
#Football#ParaguayDivisionProfesional
CONMEBOL Sudamericana🌎
2026-04-15 22:00 UTC
Racing Club vs. Botafogo
Predicted outcome: Racing Club❌
Predicted score: 4:0
Actual: Botafogo 2:3
#RacingClub#Botafogo
2026-04-15 22:00 UTC
Caracas FC vs. Independiente Petrolero
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: Caracas FC 1:0
#CaracasFC#IndependientePetrolero
2026-04-16 00:00 UTC
Olimpia vs. Barracas Central
Predicted outcome: Olimpia❌
Predicted score: 1:0
Actual: Draw 0:0
#Olimpia#BarracasCentral
2026-04-16 00:30 UTC
River Plate vs. Carabobo FC
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: River Plate 1:0
#RiverPlate#CaraboboFC
2026-04-16 02:00 UTC
Millonarios vs. Boston River
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: Millonarios 1:0
#Millonarios#BostonRiver
2026-04-16 02:00 UTC
America de Cali vs. Alianza Atletico
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: America de Cali 2:1
#AmericadeCali#AlianzaAtletico
#Football#CopaSudamericana