TeamPCP wystawił na sprzedaż repozytoria Mistral AI po incydencie łańcucha dostaw - Security Bez Tabu

TeamPCP wystawił na sprzedaż repozytoria Mistral AI po incydencie łańcucha dostaw

Cybersecurity news

Wprowadzenie do problemu / definicja

Incydenty łańcucha dostaw oprogramowania należą dziś do najpoważniejszych zagrożeń dla firm rozwijających aplikacje i biblioteki w modelu CI/CD. Przypadek Mistral AI pokazuje, że nawet krótkotrwała kompromitacja elementu procesu wydawniczego lub stacji deweloperskiej może doprowadzić nie tylko do publikacji skażonych pakietów, ale również do wtórnych skutków w postaci wycieku kodu źródłowego i prób jego sprzedaży przez cyberprzestępców.

W tym przypadku grupa TeamPCP ogłosiła sprzedaż setek repozytoriów powiązanych z Mistral AI, łącząc swoje działania z wcześniejszym atakiem na łańcuch dostaw TanStack. Sprawa zyskała dodatkowy ciężar, ponieważ równolegle potwierdzono kompromitację wybranych pakietów SDK udostępnianych przez dostawcę.

W skrócie

TeamPCP poinformował o wystawieniu na sprzedaż około 450 repozytoriów związanych z Mistral AI za 25 tys. dolarów, grożąc ich publicznym ujawnieniem w razie braku kupca. Według komunikatów incydent ma związek z szerszą kampanią supply-chain powiązaną z TanStack i objął część pakietów SDK publikowanych przez firmę.

Mistral AI potwierdził naruszenie systemu zarządzania kodem po kompromitacji urządzenia deweloperskiego. Jednocześnie firma zaznaczyła, że przeprowadzona analiza śledcza nie wykazała naruszenia infrastruktury produkcyjnej, usług hostowanych, danych użytkowników ani głównych repozytoriów kodu. Z punktu widzenia bezpieczeństwa najważniejsze pozostaje jednak ustalenie, czy organizacje trzecie pobrały zainfekowane pakiety oraz czy atak umożliwił kradzież poświadczeń z systemów deweloperskich.

Kontekst / historia

Sprawa wpisuje się w szerszy wzorzec ataków na łańcuch dostaw, w których przestępcy wykorzystują skradzione poświadczenia CI/CD oraz zaufane mechanizmy publikacji do dystrybucji złośliwych pakietów. Tego typu kampanie są szczególnie niebezpieczne, ponieważ uderzają w relację zaufania między dostawcą biblioteki a odbiorcą końcowym.

W przypadku Mistral AI firma opublikowała advisory dotyczące kompromitacji wybranych pakietów SDK. Z przekazanych informacji wynika, że złośliwe wersje zostały opublikowane w krótkim oknie czasowym i następnie usunięte. Atakujący twierdzą jednak, że oprócz samego skażenia pakietów pozyskali również znaczną liczbę wewnętrznych repozytoriów i kod źródłowy związany z trenowaniem modeli, fine-tuningiem, benchmarkami, dostarczaniem modeli oraz pracami badawczymi.

Takie deklaracje zawsze wymagają ostrożnej oceny, ponieważ grupy przestępcze często zawyżają skalę naruszenia, aby zwiększyć presję na ofiarę. Sam fakt publicznej oferty sprzedaży rzekomo skradzionych zasobów oznacza jednak istotne ryzyko operacyjne, reputacyjne i prawne.

Analiza techniczna

Technicznie incydent należy rozpatrywać w dwóch wymiarach. Pierwszy dotyczy kompromitacji pakietów programistycznych, a drugi potencjalnego dostępu do zasobów kodu i środowisk deweloperskich.

W obszarze npm wskazano następujące wersje pakietów jako objęte incydentem:

  • @mistralai/mistralai w wersjach 2.2.2, 2.2.3, 2.2.4
  • @mistralai/mistralai-azure w wersjach 1.7.1, 1.7.2, 1.7.3
  • @mistralai/mistralai-gcp w wersjach 1.7.1, 1.7.2, 1.7.3

Z ustaleń producenta wynika, że skażone pakiety npm miały ograniczoną skuteczność operacyjną, ponieważ odwoływały się do nieistniejącego pliku Setup.mjs. Nie oznacza to jednak, że można je zignorować. Pozostają one artefaktami incydentu i powinny zostać usunięte z systemów, lockfile’ów, cache’y zależności oraz obrazów kontenerowych.

Poważniejszy charakter miał komponent dotyczący PyPI. Wersja mistralai 2.4.6 zawierała złośliwy kod umieszczony w pliku src/mistralai/client/__init__.py, wykonywany podczas importu modułu na systemach Linux. Mechanizm ten pobierał dodatkowy ładunek do katalogu tymczasowego i uruchamiał go jako proces działający w tle.

Wśród wskaźników kompromitacji wymieniano obecność pliku transformers.pyz, procesów uruchamianych z tego artefaktu, zmiennej środowiskowej MISTRAL_INIT=1 oraz połączeń wychodzących do wskazanej infrastruktury zewnętrznej. Z praktycznego punktu widzenia oznacza to, że organizacje korzystające z tej wersji pakietu powinny traktować swoje hosty jako potencjalnie skompromitowane i przeprowadzić pełne działania dochodzeniowe.

Drugi wymiar incydentu dotyczy możliwego wycieku zasobów deweloperskich. TeamPCP twierdzi, że przejął około 5 GB danych obejmujących setki repozytoriów. Mistral AI utrzymuje natomiast, że analiza nie wykazała naruszenia głównych repozytoriów kodu ani środowisk badawczych i testowych. Rozbieżność między komunikatem firmy a narracją atakujących nie pozwala dziś na pełne rozstrzygnięcie skali eksfiltracji, ale z perspektywy obronnej należy zakładać możliwość ujawnienia części zasobów programistycznych.

Konsekwencje / ryzyko

Najbardziej bezpośrednim ryzykiem dla użytkowników pakietów pozostaje kompromitacja stacji roboczych i środowisk buildowych, które pobrały podatne wersje. W szczególności dotyczy to systemów Linux, gdzie złośliwy komponent PyPI mógł prowadzić do uruchomienia dodatkowego ładunku i kradzieży poświadczeń z lokalnych zasobów systemowych.

Skutki takiego incydentu mogą wykraczać daleko poza pojedynczy host. Jeżeli na zaatakowanej maszynie znajdowały się tokeny CI/CD, klucze API, dane dostępowe do rejestrów pakietów lub poświadczenia chmurowe, napastnicy mogli uzyskać możliwość dalszego ruchu bocznego i wtórnej kompromitacji procesów publikacji.

  • ekspozycja własności intelektualnej i kodu źródłowego,
  • ujawnienie eksperymentalnych narzędzi, workflow i mechanizmów wdrożeniowych,
  • ryzyko wtórnych ataków phishingowych i supply-chain,
  • spadek zaufania do oficjalnych pakietów SDK,
  • konieczność rotacji sekretów i ponownej walidacji integralności pipeline’ów.

Dla klientów i partnerów problem nie kończy się wraz z usunięciem pakietu z publicznego rejestru. Jeżeli podatna wersja trafiła do lockfile, prywatnego mirroru, cache zależności, obrazu bazowego kontenera lub artefaktu wdrożeniowego, zagrożenie może utrzymywać się znacznie dłużej.

Rekomendacje

Organizacje korzystające z ekosystemów npm i PyPI powinny potraktować ten incydent jako sygnał do pełnego przeglądu bezpieczeństwa łańcucha dostaw. W praktyce warto wdrożyć następujące działania:

  • zidentyfikować obecność wskazanych wersji pakietów w systemach aktywnych, lockfile’ach, cache’ach, prywatnych repozytoriach i obrazach kontenerowych,
  • usunąć zagrożone artefakty oraz przebudować środowiska z zaufanych źródeł,
  • przeprowadzić rotację wszystkich sekretów, które mogły być dostępne z potencjalnie skompromitowanych hostów,
  • sprawdzić logi audytowe w chmurze, systemach SCM i platformach CI/CD pod kątem nietypowych publikacji, nowych tokenów i podejrzanych logowań,
  • przeskanować hosty Linux pod kątem wskazanych IOC, w tym plików tymczasowych i nietypowych procesów,
  • wdrożyć podpisywanie artefaktów, kontrolę integralności zależności oraz provenance buildów,
  • ograniczyć uprawnienia tokenów publikacyjnych i rozdzielić środowiska deweloperskie od krytycznych procesów wydawniczych,
  • ustanowić procedury szybkiego zamrażania pipeline’ów po wykryciu naruszenia zewnętrznej zależności,
  • rozszerzyć monitoring o wykrywanie anomalii w łańcuchu dostaw, takich jak nagłe publikacje nowych wersji czy zmiany maintainerów,
  • zweryfikować, czy polityki SBOM, SCA i secret scanning obejmują także obrazy pośrednie, prywatne mirrory i cache buildowe.

Podsumowanie

Incydent związany z Mistral AI i TeamPCP pokazuje, że nowoczesny atak na łańcuch dostaw może bardzo szybko przejść od kompromitacji pakietów do próby wymuszenia i monetyzacji skradzionych zasobów deweloperskich. Nawet jeśli producent podkreśla brak oznak naruszenia infrastruktury rdzeniowej i głównych repozytoriów, sama publikacja złośliwych wersji SDK oraz możliwość wycieku części zasobów programistycznych oznaczają wysokie ryzyko operacyjne.

Dla zespołów bezpieczeństwa kluczowe są obecnie trzy obszary: szybka identyfikacja ekspozycji, pełna rotacja sekretów oraz wzmocnienie kontroli nad procesem budowy i publikacji oprogramowania. To właśnie te elementy decydują dziś o odporności organizacji na kolejną falę ataków supply-chain.

Źródła

  1. BleepingComputer — TeamPCP hackers advertise Mistral AI code repos for sale — https://www.bleepingcomputer.com/news/security/teampcp-hackers-advertise-mistral-ai-code-repos-for-sale/
  2. Mistral Docs — TanStack supply chain attack affecting Mistral AI SDK packages — https://docs.mistral.ai/resources/security-advisories