Powrót do strony głównej

Ataki PyPI LiteLLM Telnyx: ochrona łańcucha dostaw

Raport PSF o kompromitacji litellm i telnyx za pomocą Trivy: złośliwe wydania kradną sekrety i zapewniają perystencję. Zalecenia obejmują okres chłodzenia P3D, pliki lock z hashami i trusted publishers do ochrony projektów OSS.

Złośliwe wydania LiteLLM i Telnyx: jak się chronić
Advertisement 728x90

Ataki na łańcuch dostaw PyPI: przypadki LiteLLM i Telnyx z praktycznymi zaleceniami

Przestępcy skompromitowali pakiety litellm i telnyx poprzez wyciek tokena API z zależności Trivy. 19 marca 2026 roku opublikowano złośliwe wersje: litellm 1.82.7 i 1.82.8, telnyx 4.87.0 i 4.87.2. Kod aktywuje się przy imporcie modułów, skanuje środowisko w poszukiwaniu sekretów i eksfiltruje dane na zdalne serwery.

Złośliwy payload w litellm zbiera klucze SSH, dane uwierzytelniające Git/Docker, pliki .env, tokeny K8s, hasła do baz danych, konfiguracje LDAP, historię powłoki i klucze kryptograficzne. Próbuje wyodrębnić tokeny chmurowe z serwerów metadata i AWS Secrets Manager. Dane trafiają na models.litellm.cloud. Dla utrzymania trwałości tworzy usługę SystemD "System Telemetry Service" lub pod K8s, który pobiera instrukcje z checkmarx.zone.

W telnyx złośliwy kod w _client.py ładuje etapy z plików WAV na 8.42.209.203. W Windows umieszcza msbuild.exe w Startup do autostartu, w innych systemach operacyjnych — skrypt Python. Wersja 4.87.1 zawierała literówkę, blokującą wykonanie. Powiązanie z TeamPCP przez klucz szyfrowania.

Google AdInline article slot

Deweloperzy zareagowali rotacją tokenów, usunięciem wydań i wdrożeniem trusted publishers w PyPI.

Cechy ataków na popularne pakiety OSS

W przeciwieństwie do typowych ataków na PyPI (typosquatting lub nowe pakiety), tutaj złośliwy kod został wstrzyknięty do istniejących projektów o dużym ruchu. Łańcuch: kompromitacja repozytoriów → kradzież tokenów PyPI/GitHub → publikacja malware → zbieranie danych uwierzytelniających z maszyn deweloperskich → powtórna kompromitacja.

LiteLLM został pobrany ponad 119 tys. razy w czasie ataku. Około 40-50% instalacji bez wersji (latest), około 1700 instalacji/min. Czas reakcji PyPI:

Google AdInline article slot
  • LiteLLM: od publikacji do kwarantanny — 2 godziny 32 minuty (13 zgłoszeń użytkowników).
  • Telnyx: 3 godziny 42 minuty (auto-kwarantanna trusted users).

Środki PyPI przeciwko malware

Codziennie około 700-800 nowych projektów. PyPI polega na społeczności do skanowania i zgłaszania przez "Report as malicious". Funkcja od 2024 roku przyspiesza kwarantannę. Trusted publishers aktywują auto-reakcję.

Zalecenia: okres chłodzenia zależności

Opóźnienie instalacji świeżych wydań daje czas na wykrycie malware. Format RFC 3339 (P3D = 3 dni).

  • uv: globalnie w ~/.config/uv/uv.toml lub pyproject.toml:
[tool.uv]
exclude-newer = "P3D"
  • pip v26.1+: w pip.conf:
[install]
uploaded-prior-to = P3D
  • pip 26.0 (data bezwzględna):
python -m pip install --uploaded-prior-to=$(date -d '-3days' -Idate) package

Obejście dla łat bezpieczeństwa: --uploaded-prior-to=P0D lub Dependabot/Renovate (ignorują opóźnienia).

Google AdInline article slot

Blokowanie zależności dla odtwarzalności

Pliki lock z hashami zapobiegają podmianie kodu przy reinstalacji.

| Narzędzie | Polecenie | Format |

|------------|---------|--------|

| uv | uv lock | uv.lock |

| pip-tools | pip-compile --generate-hashes | requirements.txt |

| pipenv | pipenv lock | Pipfile.lock |

pip freeze jest niewystarczający — bez hashów. Oczekiwany pip lock (pylock.toml).

Ochrona projektów OSS

  • Wdrożyć trusted publishers w PyPI.
  • Używać 2FA + klucze sprzętowe dla PyPI/GitHub.
  • Ograniczać uprawnienia tokenów (scopes).
  • Monitorować publikacje przez webhooki.
  • Skanować repozytoria Trivy/Grype.

Dla maszyn deweloperskich:

  • Izolować skompromitowane środowiska.
  • Rotować wszystkie dane uwierzytelniające.
  • Sprawdzić pod kątem trwałości (SystemD, pody K8s, Startup).
  • Analiza ruchu/logów.

Co jest ważne

  • Ataki wykorzystują rzeczywiste pakiety OSS; sprawdzaj świeże wydania.
  • Okres chłodzenia P3D + pliki lock = podstawowa ochrona.
  • Ponad 119 tys. instalacji LiteLLM przed kwarantanną; latest jest niebezpieczny.
  • Eksfiltracja obejmuje metadata chmurowe i Secrets Manager.
  • Trusted publishers i społeczność przyspieszają reakcję PyPI.

— Editorial Team

Advertisement 728x90

Czytaj dalej