← Blog

Jak błąd w kodzie pozwalał wypłacić pensję kilka razy

2 min czytania
case-study system-rescue supabase security

Wyobraź sobie ten scenariusz

Klikasz „Wypłać” w systemie zarządzania firmą. System generuje potwierdzenie, przenosi wypłatę do historii, ale… nie zeruje salda pracownika. Pracownik klika jeszcze raz. I jeszcze raz. A system na to pozwala.

Z takim właśnie krytycznym błędem zgłosił się do mnie klient. System zbudowany na platformie klasy no-code/low-code. Ale to był tylko wierzchołek góry lodowej.

Co odkryłem podczas audytu

Przeprowadziłem pełny audyt systemu (Studio Manager) i oprócz „finansowego wycieku” znalazłem trzy kolejne krytyczne problemy:

1. Webhooks Telegrama odcięte

Wbudowany middleware platformy blokował webhooks z API Telegrama, odcinając firmę od powiadomień. Platforma po prostu nie była zaprojektowana do obsługi zewnętrznych webhooków o niestandardowej strukturze.

Rozwiązanie: Zbudowałem zewnętrzny, niezależny mikroserwis na Deno Deploy, który omija ograniczenia platformy i bezpiecznie routuje ruch z API Telegrama.

2. Luka w OAuth — każdy mógł wejść

Logowanie przez Google (OAuth) pozwalało nowym pracownikom na natychmiastowy dostęp do systemu, omijając proces weryfikacji. Zero kontroli — ktokolwiek z kontem Google mógł się zalogować i zobaczyć dane firmy.

Rozwiązanie: Wdrożenie 3-stanowego mechanizmu kontroli dostępu (RBAC). Nowy użytkownik trafia do poczekalni → admin weryfikuje → przypisuje rolę → dopiero wtedy dostęp.

3. Podwójne naliczanie opłat

Algorytmy rozliczające dzienne opłaty (Tax/Restaurant) dublowały koszty w specyficznych przypadkach brzegowych. Problem widoczny tylko przy konkretnych kombinacjach dat i typów transakcji.

Rozwiązanie: Całkowite przepisanie logiki transakcyjnej plus panel audytowy dla właściciela, który pozwala śledzić każdą operację.

Wniosek

Narzędzia no-code szybko dostarczają MVP. Ale gdy aplikacja zaczyna obsługiwać realne pieniądze i procesy bezpieczeństwa, potrzebujesz inżynierii, a nie „wyklikiwania” funkcji.

Twój system generuje dziwne błędy? Opisz problem AI — diagnoza w 48h.

Case Study

Studio Manager — System Rescue

Zobacz case study →

Masz podobny problem?

Opisz go AI — zbierze kontekst techniczny, Artur przygotuje wycenę w 48h.

Rozpocznij diagnostykę