{"id":183962,"date":"2026-10-22T17:40:40","date_gmt":"2026-10-22T15:40:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/news\/v-pypi-paket-i-docker-obraz-s-litellm-podstavleno-vredonosnoe-po"},"modified":"2026-10-22T17:40:45","modified_gmt":"2026-10-22T15:40:45","slug":"malware-injected-into-litellm-pypi-package-and-docker-image","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/news\/malware-injected-into-litellm-pypi-package-and-docker-image","title":{"rendered":"Do PyPI bal\u00edka a Docker obrazu s LiteLLM bolo vlo\u017een\u00e9 \u0161kodliv\u00e9 softv\u00e9r","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>V repozit\u00e1ri PyPI bola zaznamenan\u00e1 zl\u00e1 publik\u00e1cia kni\u017enice LiteLLM, ktor\u00e1 m\u00e1 23 mili\u00f3nov stiahnut\u00ed za t\u00fd\u017ede\u0148, a tie\u017e bolo vlo\u017een\u00e9 \u0161kodliv\u00e9 k\u00f3d v ofici\u00e1lnom Docker obraze projektu. Nie je to prv\u00fd podobn\u00fd incident s LiteLLM \u2014 v marci tohto roka \u00fato\u010dn\u00edci u\u017e zverejnili \u0161kodliv\u00e9 verzie po odcudzen\u00ed prihlasovac\u00edch \u00fadajov spr\u00e1vcu. Tentoraz \u00fato\u010dn\u00edci zverejnili verziu LiteLLM 1.107.0, do ktorej bol zabudovan\u00fd \u0161kodliv\u00fd k\u00f3d na vzdialen\u00e9 vykon\u00e1vanie pr\u00edkazov a na vyh\u013ead\u00e1vanie a odosielanie prihlasovac\u00edch \u00fadajov, k\u013e\u00fa\u010dov a pr\u00edstupov\u00fdch tokenov.<\/p>\n<p>Zl\u00e1 k\u00f3d bola zadan\u00e1 po\u010das procesu zostavovania bezkompromitovania git-repozit\u00e1ra. Po in\u0161tal\u00e1cii sa zl\u00e1 k\u00f3d aktivuje pred importom LiteLLM prostredn\u00edctvom in\u0161tal\u00e1cie s\u00faborov cook.pth, cook.py a sitecustomize.py do adres\u00e1ra s kni\u017enicami Python. Tieto s\u00fabory sa sp\u00fa\u0161\u0165aj\u00fa pri ka\u017edom vykon\u00e1van\u00ed Pythonu v syst\u00e9me bez toho, aby pou\u017e\u00edvate\u013e musel urobi\u0165 ak\u00e9ko\u013evek kroky. <\/p>\n<p>Na za\u010diatku Python sp\u00fa\u0161\u0165a s\u00fabor cook.pth, v ktorom je iba jeden riadok \u201eimport cook\u201c na importovanie skriptu cook.py, ktor\u00fd zhroma\u017e\u010fuje prihlasovacie \u00fadaje. N\u00e1sledne sa importuje skript sitecustomize.py, pou\u017e\u00edvan\u00fd na pozadov\u00e9 na\u010d\u00edtanie extern\u00e9ho k\u00f3du (parametre na\u010d\u00edtania s\u00fa ur\u010den\u00e9 odkazom \u201eraw.githubusercontent.com\/letters9813\/pythonclient-test\/main\/domain.txt\u201c). \u0160kodliv\u00fd k\u00f3d v oboch skriptoch je komprimovan\u00fd pomocou zlib a zak\u00f3dovan\u00fd met\u00f3dou Base64. Indik\u00e1torom kompromit\u00e1cie m\u00f4\u017ee by\u0165 objavenie sa s\u00faborov \u201e\/tmp\/.pc_once_*\u201c a \u201e\/tmp\/remote_code_loader.lock\u201c v syst\u00e9me.<\/p>\n<p>Po aktiv\u00e1cii s\u00fabor cook.py vykon\u00e1va skenovanie parametrov pripojenia k cloudov\u00fdm slu\u017eb\u00e1m, repozit\u00e1rom a syst\u00e9mom nepretr\u017eitej integr\u00e1cie (AWS, Azure, Google Cloud, Kubernetes, Docker, GitHub CLI, Vault, Terraform, Packer), \u00fa\u010dtov v\u00fdvoj\u00e1rov, parametrov pripojenia k Git, nastaven\u00ed npm a PyPI, s\u00faborov s premenn\u00fdmi prostredia, s\u00fakromn\u00fdch k\u013e\u00fa\u010dov pre SSH, PGP a TLS, nastaven\u00ed AI n\u00e1strojov, prehliada\u010dov\u00fdch datab\u00e1z s cookie, uchov\u00e1van\u00fdmi \u00fadajmi a hist\u00f3riou, inform\u00e1ci\u00ed o procesoch a premenn\u00fdch prostredia. Zisten\u00e9 \u00fadaje s\u00fa za\u0161ifrovan\u00e9 pomocou algoritmov AES-256-CBC + RSA-4096 a odoslan\u00e9 vo forme overovacieho po\u017eiadavku na web litellm.dev, vytvoren\u00fd \u00fato\u010dn\u00edkmi.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=66525\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LiteLLM, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 23 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 Docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u042d\u0442\u043e \u043d\u0435 \u043f\u0435\u0440\u0432\u044b\u0439 \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0439 \u0438\u043d\u0446\u0438\u0434\u0435\u043d\u0442 \u0441 LiteLLM &#8212; \u0432 \u043c\u0430\u0440\u0442\u0435 \u044d\u0442\u043e\u0433\u043e \u0433\u043e\u0434\u0430 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0435 \u0443\u0436\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0438 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u044b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0445\u0432\u0430\u0442\u0430 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u044e\u0449\u0435\u0433\u043e. \u041d\u0430 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0430\u0442\u0430\u043a\u0443\u044e\u0449\u0438\u0435 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u043b\u0438 \u0432\u0435\u0440\u0441\u0438\u044e LiteLLM 1.107.0, \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-183962","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LiteLLM, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 23 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 Docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Alexander Kovalev\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sk\/blog\/news\/malware-injected-into-litellm-pypi-package-and-docker-image\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412 PyPI-\u043f\u0430\u043a\u0435\u0442 \u0438 Docker-\u043e\u0431\u0440\u0430\u0437 \u0441 LiteLLM \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0435 \u041f\u041e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LiteLLM, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 23 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 Docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/news\/malware-injected-into-litellm-pypi-package-and-docker-image\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-10-22T15:40:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-10-22T15:40:45+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Do PyPI bal\u00ed\u010dka a Docker obrazu s LiteLLM bolo zasaden\u00e9 \u0161kodliv\u00e9 softv\u00e9r | ProHoster","description":"V repozit\u00e1ri PyPI bola zaznamenan\u00e1 publik\u00e1cia \u0161kodliv\u00e9ho vydania kni\u017enice LiteLLM, ktor\u00e1 m\u00e1 23 mili\u00f3nov stiahnut\u00ed t\u00fd\u017edenne, a tie\u017e zasadenie \u0161kodliv\u00e9ho k\u00f3du do ofici\u00e1lneho Docker obrazu projektu.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/news\/malware-injected-into-litellm-pypi-package-and-docker-image","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412 PyPI-\u043f\u0430\u043a\u0435\u0442 \u0438 Docker-\u043e\u0431\u0440\u0430\u0437 \u0441 LiteLLM \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0435 \u041f\u041e | ProHoster","og:description":"\u0417\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 PyPI \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 LiteLLM, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0449\u0435\u0439 23 \u043c\u043b\u043d \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u043a \u0432 \u043d\u0435\u0434\u0435\u043b\u044e, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0432\u0440\u0435\u0434\u043e\u043d\u043e\u0441\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 Docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430.","og:url":"https:\/\/prohoster.info\/sk\/blog\/news\/malware-injected-into-litellm-pypi-package-and-docker-image","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-10-22T15:40:40+00:00","article:modified_time":"2026-10-22T15:40:45+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/183962","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=183962"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/183962\/revisions"}],"predecessor-version":[{"id":183963,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/183962\/revisions\/183963"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=183962"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=183962"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=183962"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}