Ostatnio sporo eksperymentowałem z vibe codingiem. No nie idzie mi to zdecydowanie dobrze, czy tam mówiąc wprost - jestem w tym kiepski. Czy 'zvajbowany' serwis posiadający zero użytkowników może… | 🔥 Jakub Mrugalski | 57 comments
Ostatnio sporo eksperymentowałem z vibe codingiem. No nie idzie mi to zdecydowanie dobrze, czy tam mówiąc wprost - jestem w tym kiepski. Czy 'zvajbowany' serwis posiadający zero użytkowników może stać się łakomym kąskiem dla hackerów? I to jak! Czytaj dalej 🧵 ↓ Celem było stworzenie od zera prostego landingu i panelu sterowania pod 'amerykańską' wersję Mikrusa (powoli takie coś powstaje). Narzędzie, którego chciałem się nauczyć był Cursor. Potrafi on nie tylko ogarnąć kod, ale i podstawową konfigurację serwera. Początek był piękny: hej Cursor, postaw mi 3 środowiska pod mój nowy projekt. Kilka minut i gotowe. Z kodem nie było tak łatwo, ale po dziesiątkach godzin pracy i po licznych eksperymentach z różnymi modelami udało się ogarnąć kilka podstawowych funkcji. ✅ Landing działa - trochę generyczny, ale mi się podoba ✅ Panel klienta - biedny, ale można np. zrestartować i przeinstalować VPS-a. Dobre na początek. ✅ Płatności - po wrzuceniu dokumentacji pośrednika płatności, ogarnęło się "samo". Po licznych testach stwierdziłem, że wszystko działa zgodnie z oczekiwaniami. Czas dać to komuś do przeklikania. Konta dostało dwóch testerów. Nooo... oni byli mniej optymistyczni niż ja. Bugi zostały poprawione. A później kolejne i jeszcze następne. Trzy dni temu dostałem maila od 'badacza security'. Pierwszy raz nie był to osobnik z Indii, a tym razem z Polski, więc się ucieszyłem. Za wcześnie. Raport w mało wyszukanych słowach informował o znalezieniu buga w konfiguracji serwera. Pomijając język, to jednak responsible disclosure :) Co konkretnie się stało? Domyślnie skonfigurowany Apache miał włączone listowania katalogów. No błąd jak błąd - jeden oleje, inny się przejmie. Tutaj jednak było gorzej. ZNACZNIE gorzej. Serwer umożliwiał publiczny dostęp do katalogu ".git", a to już jest CRITICAL 😱 Szybkie sprawdzenie logów pokazało, że odwołań do wspomnianego katalogu trochę było (2700+ sztuk), ale tylko z dwóch IP z Polski. Czyli pewnie pentester + jakiś jego znajomy. No OK, ale co włamywaczowi daje dostęp do katalogu .git? Delikatnie mówiąc: daje mu dostęp do WSZYSTKIEGO. Sądząc po liczbie requestów, pobrany został cały napisany przeze mnie kod [taaa... przez Ciebie ~cursor]. Dodatkowo dostęp do konfiguracji umożliwił także wykonywanie zapytań SQL na bazie danych. W systemie pojawił się nowy VPS o dość nietypowych parametrach: 8GB RAM + 69GB dysku. Oznacza to, że włamywacz (tutaj: pentester) był w stanie swobodnie manipulować bazą danych, a co za tym idzie, mógłby przejąć dowolne inne konto w systemie. No niefajnie. Jak poważny był to włam tak w skali od zera do "OMG WTF"? Zdecydowanie bliżej tego drugiego. Trzeba z tego wyciągnąć pewne wnioski. 1) vibe-tool to nie DevOps. Coś, co każdy admin domyślnie ogarnia w konfiguracji, tutaj nie zostało zaaplikowane. 2) każda firma posiada środowisko developerskie. Niektóre mają także osobne środowisko produkcyjne - if you know what i mean. [Ciąg dalszy nastąpi...] | 57 comments on LinkedIn
Linkedin