NIS2 & DORA in force. EU AI Act next — book a demo

Testy penetracyjne Shopify: Liquid SSTI, bezpieczeństwo motywu i App Proxy

Shopify zasila tysiące sklepów e-commerce na całym świecie. Platforma jest generalnie bezpieczna (Shopify zarządza infrastrukturą i przetwarzaniem płatności), ale custom motywy, aplikacje rozwijane wewnętrznie i niestandardowe konfiguracje Shopify Plus eksponują specyficzne powierzchnie ataku. Matproof Sentinel wykonuje pentesty Shopify skupione na Liquid SSTI, XSS w motywie, nadużyciach app proxy i podpisywaniu webhooków, z raportami gotowymi do audytu GDPR/PCI-DSS od 149 EUR.

Rozpocznij darmowy skan
MW
Written by Malte Wagenbach
Founder of Matproof Security. Specialized in AI-driven penetration testing and EU compliance (DORA, NIS2, ISO 27001, SOC 2).
Last reviewed: May 17, 2026

Dlaczego Shopify wymaga specjalistycznej wiedzy pentestowej

Shopify to dominująca platforma e-commerce globalnie, z ponad 175 000 aktywnymi sprzedawcami w Europie w 2024. Choć Shopify zarządza bezpieczeństwem infrastruktury i przetwarzania płatności (PCI-DSS Level 1), odpowiedzialność za custom motywy, własne aplikacje i konfiguracje Shopify Plus spoczywa na sprzedawcy. Liquid (silnik szablonów Shopify) jest generalnie sandboxowany, ale błędy implementacyjne mogą umożliwić SSTI (Server-Side Template Injection). Dla Shopify Plus z custom aplikacjami app proxy jest klasyczną powierzchnią ataku: jeśli uwierzytelnianie nie waliduje poprawnie podpisu HMAC Shopify, atakujący może udawać legalne żądania storefrontu. CVE-2022-21664 (Shopify Marketplace, 2022) ujawnił wykorzystywalne błędy w walidacji składania recenzji.

  • CVE-2022-21664 (Shopify Marketplace): wykorzystywalny błąd w walidacji składania recenzji, wskazujący na wzorce ataków na platformę Shopify.
  • Liquid SSTI: błędy implementacyjne w custom motywach mogą umożliwić SSTI przez obiekty Liquid z niesanitowanym wejściem użytkownika.
  • XSS w motywie: theme.liquid z wejściem użytkownika w parametrach query, recenzje/komentarze klientów bez właściwego escapowania.
  • Nadużycia app proxy: custom aplikacje z app proxy, które nie walidują podpisu HMAC z Shopify.
  • Podpisywanie webhooków: custom endpointy webhooków, które nie weryfikują nagłówka X-Shopify-Hmac-Sha256.
  • Skrypty Shopify Plus (Ruby): Shopify Scripts (przestarzałe w 2024 na rzecz Functions) mogą nadal mieć legacy zastosowania.
  • GDPR art. 32 dla danych klientów: Shopify zarządza wieloma rzeczami, ale eksport danych przez aplikacje i custom integracje to odpowiedzialność sprzedawcy.

Co konkretnie testujemy w sklepie Shopify

  • Audyt theme.liquid: wyszukiwanie wzorców Liquid SSTI (output obiektów z wejściem użytkownika), XSS w recenzjach klientów, eksponowane metadane przez niesanitowane {{ }}.
  • Uprawnienia customizacji motywu: settings_schema.json i settings_data.json pod kątem walidacji wejścia admin, bezpieczeństwo theme app extensions.
  • Custom aplikacje: walidacja podpisu HMAC app proxy, weryfikacja HMAC w endpointach webhooków, minimalizacja zakresu OAuth, rotacja tokenu API.
  • Storefront API: rate limiting (Shopify ustawia limit, ale może być niewystarczający), enumeracja klientów przez zapytania GraphQL, eksponowane prywatne metafields.
  • Checkout extensions: walidacja płatności po stronie serwera (nigdy nie ufaj klientowi), custom shipping kalkulatory z walidacją wejścia, post-purchase upsells z auth cross-selling.
  • Shopify Functions (Rust-based, 2024+): code review Function pod kątem manipulowalnej logiki ceny/zniżki/dostawy, wykorzystywalne problemy wydajnościowe dla DoS.
  • GraphQL Admin API: query depth limiting, ekspozycja niepotrzebnych danych, analiza tokenu scope.
  • Niezawodność webhooków: sprawdzenie idempotencji, weryfikacja podpisu, zapobieganie atakom replay z timestamp.
  • Wydajność szablonów Liquid: wyszukiwanie konstrukcji, które mogą powodować DoS przez nieskończone pętle lub zagnieżdżone pętle for w custom motywach.
  • Zakres PCI-DSS: dla sprzedawców Shopify Plus z custom checkout weryfikacja poprawnego zakresu PCI-DSS.

Sample finding

High

App Proxy bez walidacji HMAC, czyli fałszowanie żądań storefrontu

Custom aplikacja Shopify używa app proxy do serwowania wewnętrznej mini-aplikacji dostępnej przez /apps/custom-config. Backend endpoint nie waliduje podpisu HMAC wysłanego przez Shopify w parametrze URL signature. Atakujący może wysłać dowolne żądania do backend endpointu udając, że pochodzą ze storefrontu Shopify, w tym manipulację parametrów query customer_id, shop i logged_in_customer_id. Test umożliwił: (1) odczytanie historii zamówień klientów innych użytkowników przez manipulację customer_id; (2) injekcję parametrów admin; (3) potencjalny wyciek danych cross-customer.

Fix: Działanie natychmiastowe: wdróż walidację podpisu HMAC we wszystkich endpointach app proxy. Działania uzupełniające: rotacja Shopify API secret, jeśli brak walidacji był w produkcji >24h; audyt logów z ostatnich 90 dni pod kątem anomalnych żądań; rate limiting na poziomie WAF; timing safe check, by uniknąć ataków kanałem bocznym czasowym.

Reference: Shopify App Documentation - HMAC Validation · CWE-345 Insufficient Verification of Data Authenticity · OWASP A02:2021 · GDPR art. 32(1)(b)

Porównanie opcji pentestu Shopify

Free scanMatproof SentinelTraditional consultancy
Automated scan engine✓ (3-min preview)✓ Full scan✗ Manual only
OWASP Top 10 coveragePartial✓ Complete✓ Complete
Proof-of-exploit evidence✓ Per finding✓ Per finding
Regulatory mapping (DORA/NIS2/ISO 27001)✓ Automated✓ Manual
Audit-ready PDF report✓ Instant✓ 2–4 weeks delivery
Continuous / recurring scans✓ Per deploy✗ Annual engagement
Time to first result~3 min~30 min full scan2–4 weeks
Price€0From €149€8,000–€25,000
Source code review (SAST)✓ On Growth plan✓ Scoped engagement
API testing (REST/GraphQL)✓ Automated✓ Manual

Pakiety pentestów Shopify

Single Run
€149 one-time
  • 1 full pentest scan
  • AI-prioritized findings with CVSS 3.1
  • Proof-of-exploit per finding
  • Audit-ready PDF report
  • Regulatory mapping (DORA, NIS2, ISO 27001)
Buy single run
Recommended
Starter
€299 / month
  • Unlimited scans (up to 3 domains)
  • Continuous monitoring
  • CI/CD integration (GitHub, GitLab)
  • All regulatory mappings
  • Priority support
Start Starter
Growth
€799 / month
  • Unlimited scans + domains
  • Authenticated / White-Box testing
  • API & cloud infrastructure tests
  • Dedicated security account manager
  • 24h SLA response time
Contact for Growth

Najczęściej zadawane pytania o pentest Shopify

Czy Shopify nie obsługuje już całego bezpieczeństwa? Dlaczego pentest?

Shopify zarządza infrastrukturą i przetwarzaniem płatności (PCI-DSS Level 1), ale odpowiedzialność za custom motywy, aplikacje rozwijane wewnętrznie i integracje to odpowiedzialność sprzedawcy. Dla Shopify Plus z custom Liquid, app proxy, custom checkout extensions lub Shopify Functions pentest jest niezbędny.

Czy testujecie też aplikacje zainstalowane z Shopify App Store?

Dla publicznych aplikacji z App Store (Shopify weryfikuje) ryzyko jest niskie. Testujemy zamiast tego: prywatne/development aplikacje rozwijane przez sprzedawcę, custom aplikacje od partnerów, mniej popularne aplikacje (<1k instalacji), które mogą mieć minimalny przegląd bezpieczeństwa.

Co testujecie w Shopify Functions?

Shopify Functions (Rust-based, GA 2024) ma własne specyficzne bezpieczeństwo: walidacja wejścia logiki Function, limity wydajności (Functions mają 11ms timeout, wykorzystywalne, jeśli logika jest złożona), manipulowalna logika biznesowa dla zniżki/dostawy/ceny.

Czy możemy zintegrować Matproof w naszym CI/CD dla wdrażania motywu Shopify?

Tak. Dla workflow Shopify CLI: integracja GitHub Actions na PR do gałęzi main repozytorium motywu, automatyczny skan przy każdym `shopify theme push`. Critical/High findings mogą zablokować deploy.

Czy pentest pokrywa zgodność PCI-DSS dla naszych sklepów Shopify?

Shopify ma certyfikację PCI-DSS Level 1. Jeśli używacie Shopify Payments (natywnej bramki), wasz zakres PCI-DSS jest minimalny (SAQ-A). Jeśli używacie alternatywnych bramek, zakres się rozszerza.

Czy testujecie też Hydrogen (framework React dla Shopify)?

Tak. Hydrogen to framework oparty na Next.js dla Shopify headless commerce. Łączy ryzyka Next.js (CVE-2024-43481 middleware bypass, ISR cache poisoning) ze specyficznymi dla Hydrogen: zarządzanie tokenem Storefront API, uwierzytelnianie klienta.

Jak długo trwa kompletny pentest Shopify?

Skan automatyczny: 45-60 minut dla Shopify standard, 90-120 minut dla Shopify Plus z custom aplikacjami. Raport gotowy do audytu w ciągu 24 godzin.

Czy raport jest akceptowany dla audytów GDPR i kwestionariuszy bezpieczeństwa marketplace?

Tak. Raport techniczny dostarcza dowodów odpowiedniego bezpieczeństwa dla GDPR art. 32. Dla marketplace wymagających kwestionariuszy bezpieczeństwa (Amazon Vendor Central, ePrice B2B) raport Matproof Sentinel bezpośrednio odpowiada na pytania techniczne.

Related

Go deeper — related blog articles

Zabezpiecz swój sklep Shopify już teraz

Pierwszy skan w 3 minuty, kompletny pentest Shopify w 45-90 minut. Raport gotowy do audytu GDPR/PCI-DSS od 149 EUR.

Rozpocznij darmowy skan