Cordyceps: złośliwe pull requesty otwierają nowy front ataków na CI/CD - Security Bez Tabu

Cordyceps: złośliwe pull requesty otwierają nowy front ataków na CI/CD

Cybersecurity news

Wprowadzenie do problemu / definicja

Cordyceps to określenie nowej klasy zagrożeń wymierzonych w procesy CI/CD, w których atakujący wykorzystuje zaufanie do automatycznych workflow uruchamianych wokół pull requestów. Nie chodzi tu o pojedynczą podatność typu CVE, lecz o błędne połączenie automatyzacji, uprawnień i danych pochodzących od nieufnych kontrybutorów.

W praktyce oznacza to, że zwykły pull request, komentarz lub inna interakcja z procesem developerskim może stać się punktem wejścia do wykonania nieautoryzowanego kodu, przejęcia sekretów lub uzyskania dostępu do zasobów powiązanych z pipeline’em.

W skrócie

Cordyceps opisuje scenariusze, w których workflow CI/CD uruchamiane w kontekście pull requestów otrzymują zbyt szerokie uprawnienia albo przetwarzają nieufne dane tak, jakby były zaufane. Taka sytuacja może prowadzić do eskalacji uprawnień, fałszowania wyników testów, publikacji złośliwych artefaktów i naruszenia integralności całego łańcucha dostaw oprogramowania.

  • atak może rozpocząć się od złośliwego pull requestu lub komentarza,
  • celem mogą być tokeny CI, sekrety, klucze podpisujące i konta chmurowe,
  • skutkiem może być kompromitacja procesu build, testów i release,
  • problem wynika z architektury workflow, a nie z pojedynczego błędu w komponencie.

Kontekst / historia

Opis Cordyceps został ujawniony 23 czerwca 2026 roku przez badacza Elada Megeda z firmy Novee. Publikacja zwróciła uwagę na ryzyka obecne w modelu współpracy open source, gdzie zewnętrzne pull requesty są naturalnym elementem procesu wytwarzania oprogramowania.

Według ujawnionych informacji problem dotyczył setek publicznych repozytoriów, w tym projektów i organizacji o wysokiej rozpoznawalności. Wśród przykładów wymieniano workflow związane z Microsoft Azure Sentinel, Google AI Agent Development Kit, Apache Doris, Cloudflare Workers SDK oraz narzędziem Black rozwijanym przez Python Software Foundation.

Istotnym elementem tła jest też szybki wzrost wykorzystania generatorów i agentów AI do budowy konfiguracji CI/CD. Automatycznie tworzone pliki workflow mogą powielać te same niebezpieczne wzorce, co zwiększa skalę problemu i przyspiesza jego rozprzestrzenianie się między repozytoriami.

Analiza techniczna

Sednem zagrożenia jest naruszenie granicy zaufania między danymi kontrolowanymi przez autora pull requestu a workflow uruchamianym z przywilejami repozytorium bazowego. Poszczególne elementy pipeline mogą działać zgodnie z dokumentacją, ale ich zestawienie tworzy gotową ścieżkę ataku.

Ryzyko pojawia się szczególnie wtedy, gdy pipeline przetwarza metadane pull requestu, komentarze, nazwy branchy, artefakty lub kod z forka jako wejście dla kroków wykonujących polecenia, skrypty albo checkout w kontekście uprzywilejowanym. Jeżeli do tego workflow dysponuje sekretami, tokenami zapisu lub długowiecznymi kluczami, skutki mogą być bardzo poważne.

  • nieufne dane wejściowe trafiają do poleceń powłoki lub logiki automatyzacji,
  • workflow działa z tokenami o nadmiernym zakresie,
  • sekrety są dostępne dla zadań inicjowanych przez zewnętrznych autorów,
  • kod z forka jest wykonywany w kontekście zaufanego repozytorium,
  • pipeline może publikować artefakty, podpisywać wydania lub zmieniać statusy kontroli jakości.

W opisywanych scenariuszach możliwe było między innymi uruchomienie kodu atakującego po interakcji z pull requestem, kradzież długożyjących kluczy aplikacyjnych, uzyskanie wpływu na zasoby chmurowe oraz manipulowanie zaufanymi sygnałami CI, takimi jak zaliczone testy czy statusy bezpieczeństwa.

Konsekwencje / ryzyko

Skutki Cordyceps wykraczają poza pojedyncze repozytorium. Jeśli pipeline ma dostęp do rejestrów pakietów, kluczy podpisujących, sekretów publikacyjnych lub usług chmurowych, atak może przerodzić się w pełny kompromis łańcucha dostaw oprogramowania.

Z perspektywy bezpieczeństwa szczególnie groźne jest to, że napastnik nie musi przełamywać klasycznych zabezpieczeń aplikacji. Zamiast tego wykorzystuje legalny proces developerski jako kanał uprzywilejowanego wykonania i porusza się w obrębie zaufanej automatyzacji.

  • wyciek tokenów i sekretów CI/CD,
  • publikacja złośliwych pakietów lub artefaktów,
  • modyfikacja procesu build i release,
  • obejście polityk branch protection i merge gate,
  • podszywanie się pod zaufane boty lub automaty,
  • ruch boczny do usług chmurowych zintegrowanych z repozytorium,
  • utrata integralności testów i kontroli bezpieczeństwa.

Problem jest szczególnie istotny dla organizacji enterprise, projektów open source i monorepo, gdzie pojedynczy pipeline często ma szeroki dostęp do wielu systemów. Im bardziej rozbudowana automatyzacja, tym większa powierzchnia ataku.

Rekomendacje

Organizacje powinny traktować workflow CI/CD jak kod produkcyjny o wysokiej wrażliwości. Kluczowe jest przeprowadzenie przeglądu architektury zaufania, uprawnień, triggerów i przepływu sekretów we wszystkich procesach uruchamianych przez pull requesty oraz zdarzenia powiązane z forkami.

  • zinwentaryzować wszystkie workflow uruchamiane przez pull requesty, komentarze i zdarzenia z forków,
  • zidentyfikować miejsca, w których nieufne dane trafiają do kroków wykonujących kod,
  • ograniczyć zakres tokenów i sekretów zgodnie z zasadą najmniejszych uprawnień,
  • rozdzielić workflow walidacyjne od workflow uprzywilejowanych,
  • unikać wykonywania kodu z forków w kontekście posiadającym sekrety lub uprawnienia zapisu,
  • wymagać jawnej akceptacji przed uruchomieniem zadań uprzywilejowanych dla nieznanych autorów,
  • stosować krótkotrwałe poświadczenia zamiast długożyjących kluczy,
  • pinować akcje i zależności do niezmiennych wersji lub identyfikatorów commitów,
  • monitorować nietypowe checkouty, zmiany statusów, publikacje artefaktów i dostęp do sekretów,
  • objąć pliki YAML i definicje pipeline pełnym code review oraz kontrolami bezpieczeństwa.

Warto również wdrożyć mechanizmy detekcji skupione na nadużyciach CI/CD, a nie wyłącznie na klasycznych podatnościach aplikacyjnych. Analiza kontekstów wykonania, przepływu poświadczeń i zależności między repozytorium, runnerem a systemami zewnętrznymi staje się dziś niezbędna.

Podsumowanie

Cordyceps pokazuje, że współczesne ryzyko supply chain coraz częściej wynika nie z pojedynczego błędu w kodzie, lecz z błędnie zaprojektowanych relacji zaufania w automatyzacji developerskiej. Pull request, który z założenia ma wspierać współpracę, może stać się punktem wejścia do uprzywilejowanego pipeline, jeśli workflow nie został właściwie odseparowany od nieufnych danych wejściowych.

Dla zespołów bezpieczeństwa, DevOps i DevSecOps wniosek jest jednoznaczny: konfiguracje CI/CD wymagają takiego samego poziomu przeglądu, utwardzania i kontroli jak aplikacje produkcyjne. To właśnie one coraz częściej decydują o integralności całego procesu wytwarzania oprogramowania.

Źródła

  1. https://www.darkreading.com/application-security/cordyceps-malicious-pull-requests-developer-workflows
  2. https://novee.security/blog/
  3. https://hivesecurity.gitlab.io/blog/cicd-pipeline-attacks-detect-2026/
  4. https://hivesecurity.gitlab.io/blog/github-actions-cache-poisoning-supply-chain/
  5. https://labs.cloudsecurityalliance.org/wp-content/uploads/2026/04/CSA_research_note_github-actions-prt-scan-supply-chain-2026_20260414-csa-styled.pdf