Obcy skrypt na stronie kasy
ważność krytycznamierzonysposób sklep_skrypty_kasy
Skrypt spoza listy zaufanych dostawców na stronie kasy — typowy skimmer kart płatniczych.
Wdrożony 01.10 (badanie profilem). Z zewnątrz; ta sama lista zaufanych dostawców co przy obcych skryptach na stronie głównej.
WIKI
wiedza ze źródeł zewnętrznychArtykuł o parametrze „Obcy skrypt na stronie kasy” jest w przygotowaniu. Powstaje po kolei dla wszystkich 87 parametrów, każde twierdzenie z przypisem do źródła.
STATS
wyniki z systemu · tylko liczby zbiorczeTen parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.
Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.
Harmonogram nie zapisał jeszcze przebiegu ze sposobem „sklep_skrypty_kasy”. Zapis przebiegów z n8n działa od 2026-09-14.
CARD
karta z kodu CREATO_PING, odczyt 01.10.2026Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.
| Obszar i ważność | E-commerce · krytyczna (E03) |
|---|---|
| Workflow i częstotliwość | skaner_badanie działa na LAB247Skaner 2.0, badanie kohorty: premium co 12 h, reszta co 24–48 h · Od 2026-10-01 zestawy kohort (premium_pelny, tani_ciezki, tani_lekki) mają tury higiena, serwer, sklep, kasa i strony (wyciek ścieżek B41, CMS po EOL B44, kluczowe podstrony S08, odnośniki kontaktowe D10); nocny pomiar wydajności (trend, waga, od 01.10 też metryki pasma W01–W04 i W07) tylko premium — u reszty prośba o pomiar zagłodziłaby nocny plan. Sklep: strona bez WooCommerce = „nie dotyczy”. |
| Sonda i helper | sposób sklep_skrypty_kasy · CREATO_PING/helpers/sklep_check.py |
| Testy |
|
| Typ wyniku | enum: ok / nie_dalo_sie_sprawdzic + 0 albo 1 ustalenie sklep_obcy_skrypt_kasy; liczby skryptów własnych, zaufanych i obcych, zakres (z_towarem, strona_kasy, strona_po_przekierowaniu) |
| Jednostka | liczba skryptów z hostów spoza listy zaufanych na stronie kasy |
| Próg i reguła | Reguła: co najmniej jeden obcy skrypt albo jeden podejrzany skrypt w treści = sklep_obcy_skrypt_kasy; powaga normalna przy skrypcie w treści, niska przy samych obcych src. Timeout 15 s, połączenie 5 s. |
| Gdzie leżą pokrętła | CREATO_PING/config/sklepy.toml → [kasa] zaufane_hostyCREATO_PING/helpers/sklep_check.py → skrypty_kasy, _inline_podejrzane, _KARTA, _WYSYLKA, _SKRYPT_SRCCREATO_PING/config/incident_policy.toml → [finding] sklep_obcy_skrypt_kasy |
| Retencja odczytów | Surowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Do LAB247 ten kanał nie idzie (do bazy serwisu jadą dziś tylko sprawdzenia dostępności), więc poza odczytem zostaje werdykt w tabeli `werdykty` i sprawa w tabeli `sprawy`. |
| Znane rozbieżności |
|
| Karta przepisana z | CREATO_PING/helpers/sklep_check.py · CREATO_PING/config/sklepy.toml · CREATO_PING/config/incident_policy.toml · CREATO_PING/helpers/security_testy.py · CREATO_PING/skaner/scenariusze/premium_pelny.toml · CREATO_PING/skaner/usterki.toml · CREATO_PING/skaner/ocena.py · odczyt 01.10.2026 |
sklep_obcy_skrypt_kasy: bramka polityki otwarta (gate=true) → sprawa w skanerze → Obcy skrypt na stronie kasy — do sprawdzenia — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. Effect „do weryfikacji” i pewność „uncertain”: zwykle to nowa integracja (wtedy host dopisuje się do listy zaufanych zamiast wyłączać test), rzadko skimmer. Helper nie wysyła sygnału zamknięcia.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| E03.01 | Obcy skrypt na stronie kasy — do sprawdzeniasklep_obcy_skrypt_kasy | Niska | — | do weryfikacji | tak / — | waga 2 → ocena 3–4 (niebieski) | — |
| Kod i klucz | E03.01 · sklep_obcy_skrypt_kasy → shop_checkout_foreign_script (klucz angielski przyjęty 01.10; skaner nadaje jeszcze stary) · w tabeli typów |
|---|---|
| Co znaczy | opis do opracowania |
| Kiedy powstaje | Na stronie kasy jest <script src> z hosta innego niż własna domena i spoza [kasa] zaufane_hosty w config/sklepy.toml, albo skrypt inline (co najmniej 40 znaków) czyta pola karty (cc-number, cvv itp.) i wysyła dane (fetch, XHR, sendBeacon, WebSocket) na obcy host.Severity normal przy podejrzanym skrypcie inline, w przeciwnym razie low. |
| Severity · pewność | Niska |
| Skutek dla strony | do weryfikacji · zakłada Finding |
| Waga → ocena | waga 2 → ocena 3–4 (niebieski) |
| Klasyfikacja | CWE: CWE-829 (Inclusion of Functionality from Untrusted Control Sphere)OWASP Top 10:2025: A08:2025 Software or Data Integrity FailuresOCSF 1.9.0: Detection Finding (class_uid 2004) |
| Rekord OCSF | finding_info.analytic.uid = "E03.01" · analytic.name = "shop_checkout_foreign_script" · finding_info.types = ["E03 Obcy skrypt na stronie kasy"] |
| Co zrobić | — |
| Wersje typu |
|
LOOP
bez pętliTrafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.