
| Nazwa wtyczki | @turbo/codemod |
|---|---|
| Rodzaj podatności | Krytyczna luka w zabezpieczeniach |
| Numer CVE | CVE-2026-45772 |
| Pilność | Wysoki |
| Data publikacji CVE | 2026-05-20 |
| Adres URL źródła | CVE-2026-45772 |
NPM: Turbo (@turbo/codemod) — Nieoczekiwane lokalne wykonanie kodu podczas wykrywania Yarn Berry (CVE-2026-45772) — Co zespoły WordPress muszą wiedzieć i jak chronić strony
Data: 2026-05-XX
Autor: Zespół ds. bezpieczeństwa WP-Firewall
Tagi: WordPress, Łańcuch dostaw, NPM, Luka, WAF, DevOps, Bezpieczeństwo
Streszczenie: Zgłoszono lukę w zabezpieczeniach o wysokim ciężarze (CVE-2026-45772 / GHSA-3qcw-2rhx-2726) dla pakietu NPM @turbo/codemod (≥ 2.3.4, < 2.9.14). Może to prowadzić do nieoczekiwanego lokalnego wykonania kodu podczas wykrywania Yarn Berry (Yarn v2+). To ostrzeżenie ma znaczenie dla zespołów WordPress, ponieważ nowoczesne potoki budowania, przepływy pracy w rozwoju i niektóre dystrybucje wtyczek/motywów zawierają narzędzia Node. W tym artykule wyjaśniamy ryzyko, kto jest dotknięty, praktyczne kroki wykrywania i łagodzenia dla stron WordPress, zalecenia dotyczące wzmocnienia deweloperów i CI oraz wskazówki dotyczące reakcji na incydenty.
Spis treści
- Co się stało? Krótkie podsumowanie techniczne
- Dlaczego właściciele stron WordPress powinni się tym przejmować
- Jak zachowuje się luka (powierzchnia ataku i wpływ)
- Działania natychmiastowe (co należy zrobić teraz)
- Techniczne kroki wykrywania (polecenia i wskaźniki)
- Krótkoterminowe łagodzenia, gdy aktualizacja nie jest możliwa
- Długoterminowe wzmocnienie DevOps i łańcucha dostaw dla projektów WordPress
- Lista kontrolna reagowania na incydenty (jeśli podejrzewasz naruszenie)
- Jak WAF ukierunkowany na WordPress i wirtualne łatanie pomagają
- Chroń swoją stronę za pomocą WP-Firewall: zacznij od planu darmowego
- Odniesienia
Co się stało? Krótkie podsumowanie techniczne
W dniu 19 maja 2026 opublikowano ostrzeżenie i CVE (CVE-2026-45772, GHSA-3qcw-2rhx-2726) opisujące lukę w zabezpieczeniach “nieoczekiwane lokalne wykonanie kodu” w pakiecie NPM @turbo/codemod dla wersji ≥ 2.3.4 i < 2.9.14. Utrzymujący wydali wersję 2.9.14, aby rozwiązać problem.
Mówiąc prosto: w określonych warunkach logika wykrywania pakietu dla Yarn Berry (architektura Yarn v2+) może prowadzić do nieoczekiwanego wykonania lokalnego kodu. To wykonanie może wystąpić podczas instalacji deweloperskich, budowy CI lub innych zautomatyzowanych środowisk, które uruchamiają instalacje pakietów Node lub skrypty. Luka jest klasyfikowana jako o wysokim ciężarze (CVSS 9.8) i oceniana jako wykorzystywalna w sieci z niską złożonością i bez specjalnych uprawnień.
Przeczytaj publiczne ostrzeżenie i CVE dla szczegółów kanonicznych:
- Porada GitHub: https://github.com/advisories/GHSA-3qcw-2rhx-2726
- NVD / lista CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-45772
Dlaczego właściciele stron WordPress i deweloperzy powinni się tym przejmować
Na pierwszy rzut oka wygląda to jak problem z Node/npm — i tak jest — ale skutki uboczne dla WordPress są realne:
- Wiele przepływów pracy związanych z rozwojem wtyczek i motywów zawiera narzędzia Node (skrypty budujące, bundlery, linters). Deweloperzy i agencje często uruchamiają npm/yarn w potokach CI, które budują zasoby, a następnie wdrażają je na produkcję.
- Niektóre wtyczki lub motywy pakują moduły Node (w tym zależności deweloperskie) w swoich dystrybucjach. Jeśli podatne moduły Node są spakowane i następnie używane przez skrypty budujące na hostingu lub lokalne maszyny deweloperskie, atakujący może uzyskać wykonanie kodu na maszynie wykonującej instalację.
- Kompromitacja środowiska budowy/CI lub stacji roboczej dewelopera może prowadzić do kompromitacji wdrożeń (złośliwy kod, tylne drzwi, wyciek poświadczeń), co ostatecznie może prowadzić do kompromitacji witryny WordPress.
- Wspólne środowiska hostingowe lub zautomatyzowane potoki zasobów, które uruchamiają npm install jako część wdrożenia, są szczególnymi wektorami ryzyka.
Z tych powodów, mimo że podatność znajduje się w pakiecie npm, właściciele WordPress powinni traktować podatności w łańcuchu dostaw poważnie i podjąć natychmiastowe kroki w celu ochrony swojej infrastruktury deweloperskiej i wdrożeniowej.
Jak zachowuje się luka (powierzchnia ataku i wpływ)
Ostrzeżenie opisuje nieoczekiwane lokalne wykonanie kodu w kodzie, który próbuje wykryć Yarn Berry. Dokładne szczegóły implementacji znajdują się w ostrzeżeniu, ale ważne właściwości dla obrońców:
- Wektor ataku: lokalne (budowanie/instalacja) wykonanie wywołane przez logikę detekcji pakietu.
- Warunki wyzwalające: uruchamianie npm/yarn install lub narzędzi, które ładują
@turbo/codemodpodczas budowy lub wykonania skryptu w środowiskach, które przetwarzają logikę detekcji Yarn Berry. - Złożoność: niskie. Logika detekcji może być wywoływana w typowych przepływach budowy.
- Wymagane uprawnienia: brak specjalnych wymagań — proces instalacji lub budowy może być wykonywany przez standardowe konto użytkownika (uruchamiacze CI, konta deweloperów).
- Uderzenie: dowolne wykonanie kodu na maszynie wykonującej instalację/budowę. Jeśli ta maszyna ma dostęp do poświadczeń wdrożeniowych, repozytoriów lub systemu plików WordPress, atakujący mogą przejść do witryn produkcyjnych.
Typowe scenariusze wykorzystania istotne dla WordPress:
- Uruchamiacz CI instaluje zależności (w tym
@turbo/codemod) i uruchamia skrypty budujące. Podatność pozwala atakującemu na stworzenie złośliwego repozytorium lub manipulację zawartością pakietu, aby wywołać wykonanie kodu w uruchamiaczu. - Deweloper otwiera repozytorium z nieznanego źródła lub pobiera skompromitowaną zależność i uruchamia npm install lokalnie. Kompromitacja lokalnej stacji roboczej może prowadzić do wycieku sekretów (klucze SSH, tokeny API) używanych do wdrożeń.
- Wydawca wtyczek/motywów dołącza node_modules do dystrybucji i pakuje podatny moduł; automatyzacja hostingu, która uruchamia kroki budowy podczas przesyłania, może wykonać moduł.
Pamiętaj: podatności w łańcuchu dostaw często umożliwiają szeroki wpływ nie poprzez bezpośredni atak na witrynę, ale poprzez atak na narzędzia, które tworzą, testują lub wdrażają witrynę.
Działania natychmiastowe (co należy zrobić teraz)
- Aktualizacja
– Jeśli Twój projekt używa@turbo/codemodbezpośrednio (w package.json) lub pośrednio (zależność przejrzysta), natychmiast zaktualizuj do wersji 2.9.14 lub nowszej.
– W projektach Node:
– npm:npm install @turbo/codemod@^2.9.14 --save-dev(lub odpowiedni flag)
– yarn:yarn add @turbo/codemod@^2.9.14 --dev - Sprawdź dystrybucje wtyczek/motywów
– Sprawdź repozytoria wtyczek lub motywów oraz spakowane pliki zip pod kątem dołączonych node_modules. Jeśli dystrybuujesz pakiety z dołączonymi node_modules, usuń pakiet lub upewnij się, że jest odbudowany w sposób bezpieczny z zaktualizowanymi bezpiecznymi zależnościami. - Audytuj potoki budowania i uruchamiacze CI
– Upewnij się, że uruchamiacze CI (GitHub Actions, GitLab CI, uruchamiacze hostowane samodzielnie) używają zaktualizowanych zależności i nie uruchamiają nieufnych skryptów instalacyjnych.
– Regeneruj tokeny/deklaracje wdrożeniowe, jeśli podejrzewasz, że środowisko uruchamiacza mogło zostać ujawnione. - Skanuj pliki witryny WordPress pod kątem podejrzanych zmian
– Użyj kontroli integralności plików lub skanerów złośliwego oprogramowania, aby wykryć web shelly lub nieautoryzowane modyfikacjezawartość wp,wp-config.phpitd. - Jeśli nie możesz zaktualizować natychmiast — zastosuj łagodzenia (zobacz następny rozdział).
Techniczne kroki wykrywania (polecenia i wskaźniki)
Użyj tych poleceń w swoich repozytoriach, CI lub obrazach serwera, aby sprawdzić, czy @turbo/codemod jest obecny i która wersja jest zainstalowana.
- Sprawdź zależność na najwyższym poziomie (w swoim repozytorium projektu):
# szukaj bezpośredniej zależności w package.json
- Znajdź zagnieżdżone/zależne instalacje w node_modules:
# sprawdź zainstalowaną wersję w node_modules
- # lub użyj npm
# z Yarn classic
- Na stronach WordPress i dystrybucjach wtyczek:
# znajdź jakiekolwiek zbundlowane node_modules w wtyczkach/tematach na serwerze
- Sprawdź logi CI pod kątem instalacji, które wspominają
@turbo/codemodlub kroki wykrywania Yarn Berry. - Jeśli znajdziesz pakiet w wersji podatnej (≥ 2.3.4, < 2.9.14), traktuj to środowisko jako potencjalnie zagrożone do czasu aktualizacji.
Krótkoterminowe łagodzenia, gdy aktualizacja nie jest możliwa
Aktualizacja do 2.9.14+ jest poprawnym rozwiązaniem. Ale gdy to nie jest od razu możliwe (zablokowany pakiet zewnętrzny, ograniczenia dostawcy lub dystrybuowane pakiety wtyczek), zastosuj środki łagodzące, aby zmniejszyć ryzyko:
- Wyłącz skrypty cyklu życia npm/yarn podczas instalacji (gdy to bezpieczne)
– Skrypty cyklu życia to często miejsce, w którym kod jest wykonywany podczas instalacji. Aby je zablokować:
– npm:npm ci --ignore-scripts
– yarn (klasyczny):yarn install --ignore-scripts
– uwaga: Ignorowanie skryptów może zepsuć budowy, które na nich polegają (np. budowanie zasobów). Przetestuj przed szerokim zastosowaniem. - Używaj ścisłych plików blokad i bezpiecznych rejestrów
– Użyjpackage-lock.json/yarn.lockzatwierdzonych w repozytorium i uruchomnpm ci(zamiastnpm install) w CI, aby zapewnić deterministyczne instalacje.
– Skonfiguruj swoje CI, aby używało prywatnego lustra rejestru lub proxy sprawdzającego integralność. - Uruchamiaj instalacje w izolowanych, efemerycznych środowiskach
– Używaj zbudowanych w kontenerach (Docker) lub efemerycznych runnerów, które są całkowicie izolowane i nie mają dostępu do długoterminowych sekretów ani poświadczeń produkcyjnych.
– Upewnij się, że ci biegacze nie mają kluczy SSH ani tokenów z szerokimi uprawnieniami. - Zapobiegaj bundlowaniu niezweryfikowanych node_modules w wydaniach
– Usuńnode_modulesprzed spakowaniem zipów wtyczek/motywów.
– Jeśli musisz dołączyć artefakty budowy, odbuduj je w bezpiecznym, audytowanym środowisku. - Skanuj pod kątem zmian i sekretów
– Uruchom automatyczne skany w poszukiwaniu podejrzanych binariów, nowychPlik .phpplików w wp-content lub połączeń wychodzących z witryny, które występują bezpośrednio po wdrożeniu. - Wzmocnij poświadczenia CI
– Ogranicz tokeny do minimalnych zakresów (najmniejsze uprawnienia).
– Rotuj poświadczenia, jeśli podejrzewasz naruszenie. - Zablokuj ryzykowną aktywność sieciową z hostów budowlanych
– Jeśli to możliwe, ogranicz wychodzący dostęp do sieci z biegaczy budowlanych tylko do zaufanych rejestrów i punktów końcowych.
Pamiętaj: te środki zaradcze zmniejszają narażenie, ale nie są substytutem aktualizacji podatnego pakietu.
Długoterminowe wzmocnienie DevOps i łańcucha dostaw dla projektów WordPress
Bezpieczeństwo łańcucha dostaw to długoterminowa kwestia. Wdrażaj te najlepsze praktyki w swoich zespołach:
- Traktuj środowiska budowlane jako krytyczną infrastrukturę
– Izoluj budowy od poświadczeń i tokenów wdrożeniowych.
– Używaj efemerycznych biegaczy, krótkotrwałych poświadczeń i ścisłych kontroli sieciowych. - Wprowadź dyscyplinę zarządzania zależnościami
– Zatwierdzaj pliki blokady i używaj deterministycznych instalacji (npm ci,yarn install --frozen-lockfile).
– Użyj przypinania zależności i unikaj zmiennych zakresów (np. preferuj dokładne wersje). - Wdrażaj ciągłe skanowanie zależności
– Podłącz SCA (analizę składu oprogramowania) do CI/CD, aby ostrzegać o podatnych pakietach.
– Zintegruj automatyczne prośby o ściągnięcie dla bezpiecznych aktualizacji (zachowanie podobne do dependabot) i przeglądaj je. - Statyczne i runtime skanowanie dystrybucji
– Przed wydaniem wtyczek/motywów, uruchom skanowanie statyczne, aby wykryć dołączonenode_modules, nieoczekiwane pliki binarne lub z obfuskowanym kodem. - Najmniejsze uprawnienia dla tokenów wdrożeniowych
– Użyj oddzielnych tokenów do publikacji w repozytoriach wtyczek, wdrożeń i rejestrów pakietów — każdy z minimalnymi niezbędnymi prawami. - Bezpieczne stacje robocze deweloperów
– Edukuj deweloperów na temat ryzyk związanych z łańcuchem dostaw.
– Użyj bezpiecznej konfiguracji menedżerów pakietów (np. surowy rejestr, podpisane pakiety, jeśli dostępne).
– Unikaj uruchamiania npm/yarn install na systemach produkcyjnych. - Używaj powtarzalnych budów
– Dąż do produkcji identycznych artefaktów, niezależnie od tego, gdzie/kiedy odbywa się budowa. To zmniejsza powierzchnię ataku i ułatwia wykrywanie manipulacji. - Utrzymuj wewnętrzny “zaufany obraz budowy”
– Buduj artefakty w zatwierdzonym, wzmocnionym obrazie, który jest regularnie skanowany pod kątem podatności.
Wdrażanie tych praktyk zmniejsza prawdopodobieństwo, że atakujący może wykorzystać wady łańcucha dostaw, aby dotrzeć do produkcyjnych witryn WordPress.
Lista kontrolna reagowania na incydenty (jeśli podejrzewasz naruszenie)
Jeśli podejrzewasz, że jedno z twoich środowisk zostało skompromitowane z powodu tej podatności (lub innych problemów z łańcuchem dostaw), wykonaj te kroki natychmiast:
- Izoluj dotknięty system
– Usuń agenta budowy lub stację roboczą dewelopera z sieci i CI runnerów z puli runnerów. - Zachowaj dowody
– Zbieraj logi (logi CI, logi systemowe, logi instalacji npm/yarn) i przechowuj je bezpiecznie do analizy. - Rotacja danych uwierzytelniających
– Cofnij i wygeneruj na nowo wszelkie sekrety, klucze wdrożeniowe, tokeny lub klucze SSH, które mogły być obecne na skompromitowanym hoście. Zakładaj, że wszystkie sekrety na hoście są skompromitowane. - Skanuj w poszukiwaniu webshelli i backdoorów
– Sprawdź zmodyfikowane pliki PHP, nowych użytkowników administratora, nieznane zadania cron oraz pliki z ostatnimi znacznikami czasowymi podzawartość wp. - Przywróć z znanych dobrych kopii zapasowych
– Jeśli pliki witryny są skompromitowane, przywróć z czystej kopii zapasowej wykonanej przed jakąkolwiek podejrzaną aktywnością. Zweryfikuj, że kopie zapasowe są czyste przed przywróceniem. - Odbuduj artefakty w bezpiecznym środowisku
– Odbuduj artefakty wtyczek/motywów i wdrażaj z utwardzonego runnera z zaktualizowanymi zależnościami (w tym@turbo/codemod2.9.14+). - Przeprowadź pełny przegląd bezpieczeństwa
– Audytuj logi, historię zmian, wpisy w bazie danych i konta użytkowników w poszukiwaniu oznak wycieku danych lub nieautoryzowanego dostępu. - Komunikuj i dokumentuj.
– Poinformuj interesariuszy (liderów zespołów, dostawcę hostingu) i udokumentuj oś czasu analizy kryminalistycznej oraz kroki naprawcze. - Rozważ powiadomienie dotkniętych użytkowników
– Jeśli dane klientów lub użytkowników zostały ujawnione, postępuj zgodnie z obowiązującymi przepisami prawnymi i regulacyjnymi dotyczącymi powiadomień o naruszeniach.
Jak WAF ukierunkowany na WordPress i wirtualne łatanie pomagają
Zapora aplikacji webowej (WAF) i wirtualne łatanie nie są substytutami naprawy podstawowej luki w łańcuchu dostaw — musisz załatać — ale są cennymi uzupełniającymi kontrolami dla witryn WordPress.
Jak WAF i wirtualne łatanie mogą pomóc:
- Szybkie łagodzenie konsekwencji na poziomie sieci: Jeśli podatny pakiet został użyty do zainstalowania powłoki webowej lub dodania złośliwych plików PHP do witryny, WAF może zablokować lub poddać kwarantannie typowe żądania powłok webowych oraz znane złośliwe URI lub wzorce.
- Ograniczanie i blokowanie: Zasady WAF mogą spowolnić automatyczne skanery i zablokować podejrzane wzorce żądań używane do wykorzystywania tylnej furtki.
- Monitorowanie i alerty: WAF-y zapewniają widoczność ruchu w czasie rzeczywistym; wykrycie nietypowych ładunków lub prób wycieku danych może wywołać szybką reakcję.
- Ochrona dla niezałatanych okien: Gdy łatanie w złożonych ekosystemach zajmuje czas (dostawcy zewnętrzni, wiele wtyczek), wirtualne łatanie zmniejsza narażenie, aż zastosowane zostanie kanoniczne rozwiązanie.
W WP-Firewall zalecamy połączenie ochrony WAF, ciągłego skanowania plików i reguł świadomych aplikacji z utwardzaniem DevOps, aby pokryć zarówno pipeline, jak i powierzchnię ataku produkcji.
Chroń swoją witrynę z planem WP-Firewall Free
Chroń swoją witrynę WordPress już dziś — wypróbuj plan WP-Firewall Free
Jeśli jesteś odpowiedzialny za stronę WordPress i chcesz natychmiastowych, skoncentrowanych na stronie zabezpieczeń, podczas gdy zajmujesz się aktualizacjami budowy i łańcucha dostaw, zacznij od planu WP-Firewall Basic (Darmowy). Darmowy plan zapewnia podstawowe zabezpieczenia i jest zaprojektowany, aby zatrzymać powszechne wzorce eksploatacji i dać ci widoczność podczas usuwania problemów upstream:
- Plan 1) Podstawowy (Darmowy): Podstawowa ochrona — zarządzany firewall, nielimitowana przepustowość, WAF, skaner złośliwego oprogramowania i łagodzenie ryzyk OWASP Top 10.
- Plan 2) Standardowy ($50/rok): Wszystkie funkcje Podstawowe, plus automatyczne usuwanie złośliwego oprogramowania i możliwość dodawania do czarnej/białej listy do 20 adresów IP.
- Plan 3) Pro ($299/rok): Wszystkie funkcje Standardowe, plus miesięczne raporty bezpieczeństwa, automatyczne łatanie wirtualnych luk oraz dostęp do usług premium i zarządzanego wsparcia.
Jeśli potrzebujesz praktycznej, niskofrikcyjnej warstwy, która chroni twoją stronę produkcyjną przed powszechnymi działaniami po kompromitacji (web shelle, podejrzane przesyłki, złośliwe żądania proxy), zarejestruj się na darmowy plan WP-Firewall tutaj:
https://my.wp-firewall.com/buy/wp-firewall-free-plan/
Nasz darmowy plan to dobry pierwszy krok: zmniejsza okno narażenia na ataki na poziomie sieci i daje ci możliwość skanowania, podczas gdy koordynujesz poprawki w swoich środowiskach deweloperskich i CI.
Praktyczne przykłady: polecenia, fragmenty CI i kontrole, które możesz zastosować teraz
Poniżej znajdują się konkretne przykłady, które możesz wprowadzić do swojego CI i lokalnych kontroli, aby ujawnić obecność podatnych pakietów i zredukować ryzyko.
-
Fragment zadania CI (przykład kroku GitHub Actions) do wykrywania podatnego pakietu przed budową:
- name: Sprawdź obecność @turbo/codemod w plikach blokady
-
Zapobiegaj skryptom cyklu życia podczas instalacji (jeśli jest to bezpieczne dla twojego pipeline'u):
- name: Zainstaluj zależności bez skryptów cyklu życia
-
Sprawdź, czy w pakietach WordPress są zbundlowane node_modules (lokalny shell):
# w katalogu głównym repozytorium wtyczek/motywów
-
Zbadaj zainstalowany katalog wtyczek WordPress na stronie:
# wypisz wszelkie podejrzane zbiory pod wp-content
Użyj tych kontroli jako strażników w swoim procesie wydania.
Ostateczne myśli — bezpieczeństwo jest warstwowe
Luki w łańcuchu dostaw, takie jak CVE-2026-45772, przypominają nam, że nowoczesny rozwój WordPress to ekosystem: narzędzia frontendowe, systemy budowy, CI/CD i mechanizmy dystrybucji mają znaczenie. Naprawa pakietu NPM (aktualizacja do 2.9.14+) jest podstawową akcją korygującą. Ale ochrona stron WordPress wymaga warstwowych zabezpieczeń:
- Zabezpiecz pipeline (izolacja, najmniejsze uprawnienia, zablokowane zależności).
- Wzmocnij środowiska deweloperskie i CI.
- Zapobiegaj dotarciu niezweryfikowanego kodu w czasie rzeczywistym do produkcji (usuń
node_modules, odbuduj w zaufanych środowiskach). - Użyj WAF i wirtualnego łatania, aby zmniejszyć ryzyko na poziomie sieci, podczas gdy naprawiasz problemy w górę.
- Utrzymuj szybkie wykrywanie, monitorowanie i zdolność do reagowania na incydenty.
Jeśli prowadzisz stronę WordPress i nie jesteś pewien swojego narażenia (pakiety Node w zestawie, praktyki wdrożeniowe, dostęp CI), najlepszą drogą jest przeprowadzenie natychmiastowego audytu przy użyciu powyższych kroków wykrywania, aktualizacja podatnych komponentów i zastosowanie krótkoterminowych środków zaradczych w CI i produkcji. Połącz tę pracę z zaporą aplikacyjną klasy produkcyjnej i skanowaniem integralności plików, aby mieć zarówno ochronę w pipeline, jak i w czasie rzeczywistym.
Odniesienia i dalsza lektura
- Porada GitHub (oficjalna)
- NVD / CVE-2026-45772
- Dokumentacja Yarn (dla wykrywania i zachowania Yarn Berry / v2+)
- Najlepsze praktyki zarządzania zależnościami i wzmocnienia CI: [użyj swoich preferowanych dokumentów SCA i bezpieczeństwa CI]
Jeśli potrzebujesz pomocy w ocenie, czy Twoja strona WordPress lub pipeline budowy jest obecnie narażona, bezpłatny plan podstawowy WP-Firewall oferuje natychmiastową ochronę na poziomie strony (zarządzany WAF, skaner złośliwego oprogramowania, łatanie OWASP Top 10), podczas gdy badasz i łatasz zależności dewelopera w górę. Zarejestruj się tutaj, aby rozpocząć: https://my.wp-firewall.com/buy/wp-firewall-free-plan/
Autor
Zespół bezpieczeństwa WP-Firewall — praktyczni inżynierowie bezpieczeństwa WordPress i respondenci incydentów. Współpracujemy z właścicielami stron i zespołami deweloperskimi, aby zmniejszyć narażenie na ryzyko łańcucha dostaw, wzmocnić pipeline budowy i dostarczyć praktyczne, priorytetowe środki zaradcze.
