Преглед на приватноста

Оваа веб-страница користи колачиња за да ви обезбеди најдобро можно корисничко искуство. Информациите за колачињата се складираат во вашиот прелистувач и извршуваат функции како препознавање кога се враќате на нашата веб-страница и им помагаат на нашите програмери да разберат кои делови од веб-страницата ви се најинтересни и најкорисни.

Строго неопходни колачиња

Строго неопходните колачиња треба да бидат овозможени во секое време за да можеме да ги зачуваме вашите поставки за колачиња.

Скрипти за Legacy Python Bootstrap создаваат ризик од преземање домен во повеќе PyPI пакети

Истражувачи за сајбер-безбедност открија ранлив код во застарени Python пакети што потенцијално може да овозможи компромитација на синџирот на снабдување на Python Package Index (PyPI) преку напад со преземање домен.

Компанијата за безбедност на софтверскиот синџир ReversingLabs соопшти дека ја пронашла „ранливоста“ во bootstrap датотеки што ги обезбедува алатката за автоматизација на градба и дистрибуција zc.buildout.

„Скриптите го автоматизираат процесот на преземање, градење и инсталирање на потребните библиотеки и алатки,“ рече истражувачот Владимир Пезо. „Конкретно, кога се извршува bootstrap скриптата, таа превзема и извршува инсталациска скрипта за пакетот Distribute од python-distribute[.]org – застарен домен кој денес е достапен за продажба по висока цена, додека се користи за генерирање приходи од реклами.“

PyPI пакетите кои содржат bootstrap скрипта што пристапува до овој домен вклучуваат: tornado, pypiserver, slapos.core, roman, xlutils и testfixtures.

Коренот на проблемот лежи во старата bootstrap скрипта („bootstrap.py“) која се користела заедно со zc.buildout за иницијализација на Buildout околината. Python-скриптата исто така поддржувала инсталација на алатката за пакување „Distribute“, краткотрајно раздвојување (fork) на проектот Setuptools.

За да го постигне ова, скриптата ја презема датотеката за инсталација distribute_setup.py од python-distribute[.]org, домен кој од 2014 е достапен за продажба. Целта била bootstrap скриптата да може да го инсталира Distribute наместо постариот Setuptools за управување со зависности во buildout.

Важно е да се напомене дека Distribute бил создаден поради недостиг на активен развој на Setuptools, кој тогаш бил главната алатка за пакување. Сепак, функциите од Distribute биле вратени во Setuptools во 2013 година, со што Distribute станал застарен.

Проблемот што го идентификува ReversingLabs е тоа што многу пакети сè уште го доставуваат bootstrap скриптот кој или се обидува да го инсталира Distribute по основно поставување или при користење на командната опција („-d“ или „–distribute“). Во комбинација со фактот дека доменот е „слободен за преземање“, корисниците се изложени на латентен ризик – напаѓач може да го искористи ова за да испорача малициозен код кога скриптата ќе се изврши и потенцијално да украде чувствителни податоци.

Некои од погодените пакети веќе презеле мерки и го отстраниле bootstrap скриптот, но slapos.core сè уште го вклучува ранливиот код. Тој е присутен и во развојните и одржувачките верзии на Tornado.

Уште еден важен аспект е тоа што bootstrap скриптата не се извршува автоматски при инсталација на пакетот и е напишана во Python 2. Тоа значи дека не може да се изврши во Python 3 без измени. Но, само присуството на датотеката создава „непотребна нападна површина“ што може да се злоупотреби ако напаѓач успее да измами развивач да ја изврши скриптата.

Заканата од преземање домен не е теоретска. Во 2023 година беше откриено дека npm пакетот fsevents бил компромитиран од напаѓач кој преземал контрола врз некорисен cloud ресурс (fsevents-binaries.s3-us-west-2.amazonaws[.]com) и испорачал малициозни извршни датотеки на корисниците кои инсталирале одредени верзии од пакетот (CVE-2023-45311, CVSS 9.8).

„Проблемот лежи во програмскиот образец кој вклучува преземање и извршување payload од хард-кодиран домен – образец што често се гледа кај malware downloader-и,“ рече Пезо. „Неуспехот Distribute модулот формално да се повлече дозволи ранливите bootstrap скрипти да опстанат и остави непознат број проекти изложени на можен напад.“

Откритието доаѓа во време кога HelixGuard откри малициозен пакет на PyPI наречен “spellcheckers”, кој тврди дека е алатка за проверка на правопис користејќи OpenAI Vision, но содржи злонамерен код што се поврзува со надворешен сервер и презема втор стадиум payload кој извршува remote access trojan (RAT).

Пакетот бил првпат поставен на PyPI на 15 ноември 2025 од корисник со име leo636722 и бил преземен 955 пати. Повеќе не е достапен за преземање.

„Овој RAT може да прима далечински команди и да извршува Python код контролиран од напаѓачот преку exec(), обезбедувајќи целосна далечинска контрола над компјутерот на жртвата,“ изјавија од HelixGuard. „Кога корисник ќе го инсталира и изврши малициозниот пакет, backdoor-от станува активен, што му овозможува на напаѓачот да го контролира компјутерот оддалечено.“

Извори:

  • The Hacker News – Legacy Python Bootstrap Scripts Create Domain-Takeover Risk in Multiple PyPI Packages The Hacker News