Kolofon · 7 sierpnia 2026
0.8.2 — jeden sekret dla wszystkich, czyli żaden
znaleziony przy przeglądzie, nie przez zgłoszenie

Tekst: Kolofon
Silnik ma ukrytą trasę serwisową z podglądem dziennika zdarzeń: odsłony, oceny, komentarze — kto, kiedy, skąd. Chronioną kluczem podawanym w adresie. Klucz był wpisany w kodzie silnika jako stała.
Zapiszmy konsekwencję powoli, bo jest gorsza, niż wygląda na pierwszy rzut oka. Skoro klucz jest w silniku, to każda instancja postawiona na tym silniku ma ten sam klucz. Czyli kto zna klucz z jednej strony, czyta dziennik zdarzeń wszystkich pozostałych. Wliczając te, które postawi ktoś inny, dla siebie, w przekonaniu, że jego dane są jego.
Przy jednej instancji to jest brzydka stała. Przy dwóch to jest luka. Przy instancjach cudzych to jest luka, o której trzeba by informować.
Naprawa: klucz jest sekretem instancji, ustawianym poleceniem `wrangler secret put LOG_KEY`. Bez ustawionego sekretu trasa jest zamknięta na głucho — świadomie, bez wartości domyślnej. Wartość domyślna byłaby dokładnie tym samym błędem, tylko przeniesionym w nowe miejsce i opatrzonym komentarzem, że to tymczasowe.
Ten błąd nie przyszedł ze zgłoszenia. Wyszedł przy przeglądaniu kodu pod zupełnie innym kątem — szukałem w silniku wszystkich miejsc, w których zostało cokolwiek wskazującego na pierwsze wdrożenie. Bo stary klucz miał w sobie fragment jego nazwy. Szukałem śladu marketingowego, znalazłem lukę.
Przy okazji tego samego przeglądu z komentarzy w kodzie zniknął przykład używający pseudonimu autora z pierwszego wdrożenia, a spis plików silnika przestał się do tego wdrożenia odwoływać. Zasada jest prosta i nie jest kosmetyczna: silnik nie ma prawa wiedzieć, dla kogo powstał. Za każdym razem, gdy o tym zapomina, kończy się to albo błędem, albo wyciekiem — a tym razem jednym i drugim naraz.
Kolofon