O 123% więcej zgłoszonych CVE dziennie w 2026 niż przed rokiem.

Łańcuch dostaw

Czym jest slopsquatting?

Slopsquatting to atak polegający na rejestrowaniu nazw pakietów wymyślonych przez asystentów kodowania AI. Gdy model zaproponuje pakiet, który nie istnieje, napastnik może opublikować pod tą nazwą złośliwe oprogramowanie, a kolejny programista lub agent, który zastosuje się do podpowiedzi, je zainstaluje. To typosquatting bez literówki.

Zaktualizowano

Skąd pochodzi nazwa

Termin to gra słów nawiązująca do typosquattingu, w której „slop” oznacza niskiej jakości treści generowane przez AI. Autorstwo terminu z 2025 r. przypisuje się Sethowi Larsonowi, security developer-in-residence w Python Software Foundation.

Skąd biorą się zmyślone pakiety

Model językowy pisze to, co wygląda na prawdopodobne. Wiarygodna nazwa, na przykład biblioteki do typowego zadania, może wyglądać równie prawdopodobnie jak prawdziwa, więc model czasem pisze import lub polecenie instalacji pakietu, którego nikt nigdy nie opublikował.

Badanie zaprezentowane na USENIX Security 2025 objęło 16 popularnych modeli i 576 000 próbek kodu. Odsetek zmyślonych pakietów wyniósł co najmniej 5,2% dla modeli komercyjnych i 21,7% dla modeli open source, a wymyślonych unikalnych nazw było 205 474. Badacze opisali ten problem jako trwały i systemowy.

Jak działa atak slopsquatting

  1. Zebranie nazw. Napastnik zadaje modelom typowe pytania o kodowanie i notuje, które pakiety nie istnieją.
  2. Publikacja. Rejestruje te nazwy w npm lub PyPI, z działającym pakietem, który ukrywa ładunek.
  3. Oczekiwanie. Programista wkleja podpowiedź albo agent kodowania samodzielnie uruchamia instalację.
  4. Uruchomienie. Skrypt instalacyjny wykonuje się na komputerze programisty lub w CI, z dostępem do tokenów i sekretów.

Slopsquatting a typosquatting

Typosquatting Slopsquatting
Źródło błędu Człowiek myli się przy wpisywaniu nazwy Model wymyśla nazwę
Nazwa Zbliżona do prawdziwego pakietu Wiarygodna, ale bez prawdziwego pakietu za nią
Kto instaluje Programista Programista lub agent, bez człowieka czytającego nazwę
Dlaczego wykrywanie jest trudniejsze Kontrole podobieństwa mogą porównać ją z popularnymi nazwami Może nie być popularnej nazwy, z którą można ją porównać

Dlaczego agenty kodowania podnoszą stawkę

Na czacie z asystentem człowiek czyta podpowiedź przed jej uruchomieniem. Agent kodowania może napisać kod, dodać zależność i uruchomić instalację w jednym kroku. Znika ludzka kontrola, która wychwytuje wiele złych nazw, a instalacja odbywa się tam, gdzie działa agent, często z poświadczeniami programisty lub wewnątrz CI. Szerszy obraz przedstawia strona bezpieczeństwo rozwoju wspieranego przez AI.

Jak chronić się przed slopsquattingiem

  • Weryfikować przed instalacją. Sprawdzać, czy proponowany pakiet istnieje, ma prawdziwe repozytorium i ma historię. Pakiet utworzony w zeszłym tygodniu zasługuje na podejrzliwość.
  • Przeglądać zmiany w lockfile. Nowe zależności powinny być widoczne w pull requestach, niezależnie od tego, kto lub co napisało kod. Zob. co zapisuje lockfile.
  • Ograniczać możliwości agentów. Wymagać zatwierdzenia, zanim agent zainstaluje pakiety, i uruchamiać agenty w sandboksie bez poświadczeń produkcyjnych.
  • Opóźniać nowe pakiety. Pomaga reguła odrzucająca pakiety opublikowane w ciągu ostatnich kilku dni.
  • Wyłączać skrypty instalacyjne tam, gdzie pozwala na to build.
  • Ograniczać ruch wychodzący z buildów. Pakiet, który nie może połączyć się z napastnikiem, nie wyśle nigdzie Państwa sekretów. Zob. polityka ruchu wychodzącego w GitHub Actions.

Nowy pakiet slopsquattingowy nie ma biuletynu, więc ani skan SCA, ani npm audit go nie zgłosi. Pełną listę kontroli zawierają dobre praktyki bezpieczeństwa łańcucha dostaw oprogramowania.

Jak CRACI ogranicza szkody

CRACI nie wykrywa nowych złośliwych pakietów, więc do ich weryfikacji należy użyć innych narzędzi. Ogranicza natomiast szkody, gdy taki pakiet dotrze do Państwa buildu. Jako Państwa runner GitHub Actions egzekwuje politykę ruchu wychodzącego, która blokuje połączenia zbędne dla buildu, co chroni Państwa nawet wtedy, gdy nikt wcześniej nie widział takiego ataku. Rejestruje też każdy pakiet pobrany przez każde zadanie, więc gdy zły pakiet stanie się znany, można sprawdzić, które buildy go pobrały.

Slopsquatting: najczęściej zadawane pytania

Czym jest slopsquatting?

To atak, w którym ktoś rejestruje nazwy pakietów wymyślane przez asystentów kodowania AI, aby każdy, kto zastosuje się do podpowiedzi, zainstalował kod napastnika.

Kto ukuł termin slopsquatting?

Autorstwo terminu z 2025 r. przypisuje się Sethowi Larsonowi, security developer-in-residence w Python Software Foundation.

Czym jest zmyślony pakiet?

To nazwa pakietu, którą proponuje model AI, choć taki pakiet nie istnieje. Badania wykazały to w znacznej części wygenerowanych próbek kodu.

Czym slopsquatting różni się od typosquattingu?

Typosquatting polega na tym, że człowiek myli się przy wpisywaniu nazwy prawdziwego pakietu. Slopsquatting polega na tym, że model wymyśla nazwę, która nigdy nie istniała, więc nie ma prawdziwego pakietu do porównania.

Jak zapobiegać slopsquattingowi?

Sprawdzać, czy proponowane pakiety są prawdziwe, przeglądać nowe zależności w pull requestach, wymagać zatwierdzenia, zanim agenty cokolwiek zainstalują, i ograniczać ruch wychodzący z buildów.

Powstrzymać pakiet, którego nikt nie chciał instalować

Proszę zablokować połączenia wychodzące zbędne dla buildów i zachować zapis każdego pakietu, który pobrały.

Umów demo