Bezpieczeństwo

Bezpieczeństwo

Skopiuj stronę

Bezpieczeństwo Workflow Trigger Extensions dla Shopify Flow: hosting w UE, szyfrowanie i izolacja danych sklepu oraz aktualizacje aplikacji.

Aplikacja Workflow Trigger Extensions została stworzona i jest obsługiwana przez firmę Code Creation Labs. Na tej stronie wyjaśniono, z czego składa się aplikacja, gdzie działa, w jaki sposób chronione są dane Państwa sklepu oraz jak dbamy o aktualność wszystkich elementów. Informacje te są przeznaczone dla właścicieli sklepów oraz dla wszystkich osób wypełniających kwestionariusz dotyczący bezpieczeństwa. Kwestie prawne (polityka prywatności, umowa o przetwarzaniu danych, podwykonawcy przetwarzania danych) znajdują się na stronie Informacje prawne i ochrona danych.

Na jakiej platformie opiera się ta aplikacja

Warstwa Z czego korzystamy
Kod aplikacji TypeScript na platformie Node.js, w aktualnej wersji objętej długoterminowym wsparciem. Każdy element aplikacji, od stron administracyjnych po procesy przetwarzające zdarzenia, opiera się na jednej bazie kodu.
Baza danych i pamięć podręczna PostgreSQL (Google Cloud SQL) oraz Redis (Google Cloud Memorystore)
Hosting Kontenery w usłudze Google Kubernetes Engine w regionie Google Cloud „europe-west1” (Belgia, Unia Europejska). Bazy danych, pamięci podręczne i magazyn plików znajdują się w tym samym regionie.
Integracja z Shopify Shopify
Państwa witryna sklepowa W Państwa motywie nie działa żadna funkcja. Opcjonalny piksel internetowy umieszczony za tagiem Wyzwalacze w interfejsie sklepu działa w środowisku testowym pikseli Shopify i jest instalowany wyłącznie po włączeniu wyzwalacza sklepu.

W ramach tej usługi nie wykorzystuje się w żadnym miejscu języka PHP, platformy WordPress, języka Java ani żadnego innego środowiska uruchomieniowego. Aplikacja jest dostępna w sklepie Shopify App Store i przeszła proces weryfikacji aplikacji przeprowadzany przez Shopify, który obejmuje wymogi Shopify dotyczące bezpieczeństwa oraz ochrony danych klientów.

Komunikaty dotyczące bezpieczeństwa oraz informacja, czy dotyczy to naszych aplikacji

Gdy w mediach pojawiają się informacje o luce w zabezpieczeniach lub ataku związanym z aplikacjami Shopify, sprawdzamy, czy dotyczy to którejkolwiek z tworzonych przez nas aplikacji, a wyniki tych sprawdzeń zamieszczamy tutaj, aby mogli Państwo znaleźć odpowiedź bez konieczności zadawania pytania.

Informacja Kiedy Nasze aplikacje Szczegóły
PHP2Shell (CVE-2026-109618, CVE-2026-109619): zdalne wykonanie kodu w silniku PHP 21 października 2026 r. Nie ma to wpływu na naszą działalność. Żadna z naszych aplikacji nie zawiera kodu PHP. Oświadczenie
Kampania polegająca na przejęciu kontroli nad procesem realizacji transakcji w Shopify: skrypty wstrzyknięte do kodu strony sklepu za pośrednictwem aplikacji zewnętrznych (Hulk Product Options, Selleasy, Swym Wishlist Plus; w lipcu - Qikify) przekierowywały klientów na fałszywe strony realizacji transakcji od 10 do 20 października 2026 r. Nie ma to wpływu na Państwa działalność. Żadna z naszych aplikacji nie była w to zaangażowana, a żadna z nich nie może umieścić tego rodzaju skryptu w Państwa sklepie internetowym. Oświadczenie
Aktualizacja zabezpieczeń Node.js (CVE-2026-111497 oraz dziewięć kolejnych luk CVE w środowisku uruchomieniowym Node.js) 21 października 2026 r. Wdrożono. Nasze aplikacje działają w środowisku Node.js, dlatego ta kwestia budziła nasze obawy: każda aplikacja została ponownie skompilowana z wykorzystaniem poprawionej wersji (22.23.4) i od tamtego tygodnia działa w środowisku produkcyjnym. Nie muszą Państwo podejmować żadnych działań. W jaki sposób dbamy o aktualność aplikacji
Aktualizacja zabezpieczeń serwera nginx (CVE-2026-15176, CVE-2026-93479, CVE-2026-97205, CVE-2026-95101, CVE-2026-97629) 14 października 2026 r. Nie ma to wpływu na naszą działalność. Serwer nginx nie stanowi części naszych aplikacji, a każda z nich działa obecnie za zarządzanym modułem równoważenia obciążenia Google Cloud z włączoną usługą Google Cloud Armor. Wykorzystywany wcześniej moduł nginx ingress również nie mógł zostać wykorzystany: żadna z pięciu luk nie jest dostępna przy tej konfiguracji (brak aliasów ani przepisywania, brak wbudowanych plików po stronie serwera, brak protokołu HTTP/3, wyłączone bilety sesji TLS). Oświadczenie
Włamanie do urzędu certyfikacji eMudhra (emSign): klucze ośmiu pośrednich urzędów certyfikacji można odzyskać; urzęd certyfikacji emSign ECC Root CA - G3 został uznany za niegodny zaufania 20 października 2026 r. Nie ma to na nas wpływu. Żaden z naszych systemów nie korzysta z tego niezaufanego certyfikatu głównego, żaden z naszych certyfikatów nie pochodzi od eMudhra, a publiczne rejestry programu Certificate Transparency nie zawierają żadnego certyfikatu eMudhra dla żadnej z naszych domen. Oświadczenie

Ta sama tabela dotycząca wszystkich naszych aplikacji, wraz z wspólnymi dla nich praktykami, znajduje się w sekcji Bezpieczeństwo na stronie Code Creation Labs.

W jaki sposób chronione są Państwa dane

Podczas przesyłania danych. Każde połączenie między Państwa przeglądarką, platformą Shopify a aplikacją odbywa się z wykorzystaniem protokołu TLS. Baza danych i pamięć podręczna nie posiadają adresów publicznych: dostęp do nich jest możliwy wyłącznie z poziomu naszej sieci prywatnej.

W stanie spoczynku. Wszystkie bazy danych i zasoby pamięci masowej są szyfrowane w stanie spoczynku przy użyciu kluczy, którymi zarządzamy w usłudze Google Cloud KMS.

Dodatkowe szyfrowanie na poziomie pól. Najbardziej wrażliwe wartości są objęte drugą warstwą zabezpieczeń: token dostępu Państwa sklepu w Shopify oraz chronione dane klientów (nazwiska, adresy e-mail, numery telefonów, adresy pocztowe) odczytywane przez wyzwalacze danych osobowych oparte na zgodzie użytkownika. Każdy rekord jest szyfrowany indywidualnie algorytmem AES-256-GCM przy użyciu oddzielnego klucza w usłudze Cloud KMS, z automatyczną rotacją kluczy. Wartości są odszyfrowywane w pamięci wyłącznie w momencie, gdy są potrzebne, na przykład gdy uruchamia się wyzwalacz, i nigdy nie są zapisywane w logach. Wykrywanie zmian w danych osobowych polega na porównywaniu skrótów, dzięki czemu aplikacja może stwierdzić, że wartość uległa zmianie, bez konieczności jej odszyfrowywania.

Sekrety. Dane uwierzytelniające i klucze API są przechowywane w usłudze Google Secret Manager i ładowane w momencie uruchomienia usługi. Nie znajdują się one w kodzie, w obrazach kontenerów ani w potoku kompilacji.

Minimalizacja danych. Aplikacja nie żąda dostępu do danych podczas instalacji. Każde uprawnienie wymaga wyraźnej zgody użytkownika, dotyczy wyłącznie jednego rodzaju danych i może zostać cofnięte w dowolnym momencie. Zobacz Uprawnienia i dostęp do danych.

Kto ma dostęp do czego

  • Tokeny dostępu są zablokowane na naszych serwerach. Włączyliśmy listę dozwolonych adresów IP platformy Shopify dla interfejsu API administratora: Shopify akceptuje tokeny dostępu aplikacji wyłącznie z naszego własnego adresu wysyłającego i odrzuca je z wszelkich innych źródeł, dzięki czemu skradziony token jest bezużyteczny poza naszą infrastrukturą.
  • Wygasające tokeny dostępu. Aplikacja korzysta z wygasających tokenów dostępu offline platformy Shopify. Każdy token jest ważny przez jedną godzinę i jest automatycznie odnawiany, dzięki czemu token, który wyciekł, sam przestaje działać.
  • Zgłoszony dostęp do sieci. Aplikacja zgłasza w swojej konfiguracji Shopify zewnętrzne serwery, z którymi jej kod w Państwa sklepie internetowym, procesie realizacji zamówienia oraz panelu administracyjnym może nawiązywać połączenia (zasady dostępu do sieci Shopify), dzięki czemu Shopify może wykryć żądanie, które nie powinno się tam pojawić.
  • Z przodu znajduje się zapora sieciowa. Żądania docierają do aplikacji poprzez zarządzany globalny moduł równoważenia obciążenia Google Cloud wyposażony w Google Cloud Armor - zaporę sieciową aplikacji internetowych firmy Google, która blokuje znanych atakujących i sprawdza każde żądanie, zanim dotrze ono do naszych serwerów.
  • Wyłącznie Państwa magazyn. Każdy rekord zawiera informację o magazynie, do którego należy, a zakres każdego zapytania ogranicza się do magazynu, w którym przeprowadzono uwierzytelnienie. Żaden magazyn nie może odczytywać ani modyfikować danych innego magazynu.
  • Wyłącznie zweryfikowane żądania. Strony w panelu administracyjnym Shopify są uwierzytelniane za pomocą tokenów sesji Shopify. Webhooki i wywołania zwrotne Shopify Flow są weryfikowane na podstawie podpisu HMAC Shopify, a komunikaty wewnętrzne - na podstawie tożsamości podpisanych przez Google, zanim jakiekolwiek dane zostaną przetworzone. Każde zdarzenie Shopify jest przetwarzane jednokrotnie i deduplikowane na podstawie identyfikatora zdarzenia.
  • Niestandardowy kod wyzwalacza. Kod JavaScript napisany przez Państwa dla Wyzwalacze niestandardowe jest uruchamiany w izolowanym środowisku testowym z ograniczeniami czasowymi i pamięciowymi, na infrastrukturze oddzielonej od serwerów samej aplikacji. Kod ten nigdy nie ma dostępu do danych uwierzytelniających aplikacji ani do Państwa tokenu dostępu do Shopify. Jego jedyną drogą dostępu do Państwa sklepu jest krótkotrwały token powiązany z Państwa sklepem, który traci ważność w ciągu minuty.
  • Nasz zespół. Dostęp do systemów produkcyjnych jest możliwy wyłącznie za pośrednictwem usługi Google Cloud IAM przy użyciu indywidualnych kont. Wewnętrzne narzędzia do konserwacji nie są udostępniane w Internecie.

W jaki sposób dbamy o aktualność aplikacji

  • Kontrole bezpieczeństwa aplikacji Shopify. Przeprowadzamy kontrole bezpieczeństwa aplikacji Shopify - skanowanie deterministyczne oraz weryfikację przez agenta - w odniesieniu do każdej tworzonej przez nas aplikacji, a także ponownie przy każdej nowej wersji. 37 testów obejmuje między innymi trasy bez uwierzytelniania, dane nieograniczone do konkretnego sklepu, niezweryfikowane webhooki i żądania proxy aplikacji, zapisane sekrety, ujawnione dane uwierzytelniające, niebezpieczny kod HTML oraz wyłączone tokeny dostępu z wygasającym terminem ważności.
  • Każda zmiana jest sprawdzana przed wydaniem. W ramach procesu przeprowadzane są: sprawdzanie typów i analiza kodu, statyczne testy bezpieczeństwa aplikacji (SAST), wykrywanie poufnych danych, skanowanie zależności pod kątem luk w zabezpieczeniach oraz skanowanie obrazów kontenerów. Naszym kryterium wydania jest brak jakichkolwiek znanych luk w zabezpieczeniach zarówno w zależnościach, jak i w obrazie.
  • Środowisko uruchomieniowe i system operacyjny. Obraz kontenera - Node.js oparty na systemie Alpine Linux - jest odtwarzany przy każdej nowej wersji, dzięki czemu aktualizacje środowiska uruchomieniowego i systemu operacyjnego są dostarczane na bieżąco. Zarządzana platforma Kubernetes dba o to, by węzły bazowe były zawsze zaktualizowane.
  • Platforma Shopify. Śledzimy wersje interfejsu API Shopify oraz komunikaty dotyczące bezpieczeństwa dotyczące bibliotek aplikacji Shopify i niezwłocznie wprowadzamy aktualizacje. Aplikacja działa w oparciu o aktualną wersję interfejsu API Admin.
  • Kontrole bezpieczeństwa. Przed wprowadzeniem każdej zmiany dotyczącej uwierzytelniania, sesji lub ujawniania danych przeprowadzany jest zautomatyzowany audyt bezpieczeństwa; ponadto w regularnych odstępach czasu przeprowadzamy pełną wewnętrzną kontrolę każdej trasy, ścieżki danych oraz zapytania do bazy danych - ostatnio miało to miejsce w październiku 2026 r.
  • Monitorowanie. Dostępność jest monitorowana przez całą dobę, a informacje na ten temat publikowane są na naszej stronie stanu systemu; w razie wystąpienia błędów otrzymujemy powiadomienia. Dzienniki operacyjne są przechowywane przez maksymalnie 30 dni i nigdy nie zawierają tokenów, kluczy tajnych ani danych klientów.

Przechowywanie i usuwanie danych

  • Historia zdarzeń jest automatycznie usuwana po upływie 30 dni.
  • Migawki przechowywane przez aplikację w celu wykrywania zmian (ostatni znany stan produktu, zamówienia lub klienta) pozostają w pamięci tak długo, jak długo aplikacja jest zainstalowana, ponieważ to właśnie na ich podstawie wykrywana jest kolejna zmiana.
  • Po odinstalowaniu aplikacji jej dostęp do Państwa sklepu zostanie natychmiast usunięty. Żądanie usunięcia danych ze sklepu Shopify, które następuje 48 godzin po odinstalowaniu, powoduje usunięcie chronionych danych klientów oraz wszystkich informacji zapisanych przez Państwa niestandardowy kod wyzwalający.
  • Shopify
  • Informacje na temat podwykonawców przetwarzających dane oraz pełny harmonogram przechowywania danych znajdują się w polityce prywatności. Podpisaną umowę o przetwarzaniu danych można uzyskać, wysyłając prośbę na adres workflow-trigger-extensions.app/dpa.

Zgłaszanie problemu związanego z bezpieczeństwem

Jeśli uważają Państwo, że wykryli Państwo lukę w zabezpieczeniach lub potrzebują Państwo wypełnić kwestionariusz dotyczący bezpieczeństwa, prosimy o wysłanie wiadomości e-mail na adres support@codecreationlabs.com. Zgłoszenia dotyczące bezpieczeństwa są analizowane i rozpatrywane w trybie priorytetowym.