markarov.dev

Audyt · testy penetracyjne · Polska

Audyt bezpieczeństwa, po którym zostają poprawki, a nie PDF.

Sprawdzamy kod, zależności, serwery i aplikacje mobilne oczami atakującego, potwierdzamy każde znalezisko i je naprawiamy.

Żeby znaleźć to, co psuje się po cichu.

Gdzie atak się zatrzymuje

Warstwy, które sprawdzamy i ustawiamy. Wybierz warstwę, by zobaczyć, co zatrzymuje.

InternetUsługa
Pod każdą warstwą

Krawędź sieci

CDN · TLS

Zatrzymuje

Zalewanie ruchem, zwykły HTTP, ataki wprost na adres serwera

Jak

TLS kończy się na CDN, który odsiewa zalewanie ruchem. Adres serwera nigdzie nie jest publikowany, więc nie ma czego atakować z pominięciem CDN.

Typowe znaleziska

Co audyt znajduje najczęściej

Przypadki zbiorcze, zanonimizowane i zmienione: nie da się z nich odtworzyć klienta, produktu ani daty. Do każdego poprawka i zasada, która nie pozwala błędowi wrócić.

Pokazano 15 z 15
  • Wysoka

    Domyślne hasło administratora w kodzie źródłowymKod

    Co widzimy

    Zapasowe konto administratora powstaje z hasła zapisanego w kodzie: każdy, kto widział repozytorium, loguje się do świeżej instalacji.

    Jak naprawiamy

    Pierwszy administrator powstaje z sekretu ustawionego przy wdrożeniu i tylko wtedy, gdy nie ma innego.

    Zasada

    Żadnych danych logowania w kodzie, nawet domyślnych.

  • Wysoka

    Zastrzeżone pozycje dostępne przez publiczne APIKod

    Co widzimy

    API ufa liście przysłanej przez przeglądarkę i nie sprawdza, który katalog użytkownik może widzieć.

    Jak naprawiamy

    Serwer sprawdza uprawnienie przy każdym żądaniu; zamknięte strony wydają podpisany token.

    Zasada

    Serwer ponownie sprawdza każde uprawnienie; przycisk na stronie niczego nie dowodzi.

  • Wysoka

    Środowisko uruchomieniowe bez wsparciaPakiety i wersje

    Co widzimy

    Produkcja działa na środowisku i frameworku, dla których skończyły się aktualizacje bezpieczeństwa: znane CVE mają zastosowanie, a łatki nie będzie.

    Jak naprawiamy

    Plan aktualizacji według ekspozycji: test na kopii, wdrożenie usługa po usłudze.

    Zasada

    Każde środowisko w inwentaryzacji ma obok datę końca wsparcia.

  • Wysoka

    Pliki repozytorium czytelne przez HTTPInfrastruktura

    Co widzimy

    Katalog główny strony odwzorowuje repozytorium, więc notatki z kodami dostępu, skrypty i konfiguracje narzędzi są o jeden URL od odwiedzającego.

    Jak naprawiamy

    Reguła na proxy odpowiada 404 na pliki repozytorium; sekrety wyjeżdżają z katalogu strony.

    Zasada

    Jeśli folder serwuje serwer www, wszystko w nim jest publiczne, dopóki reguła nie powie inaczej.

  • Wysoka

    Panel administracyjny otwarty na cały internetDostęp

    Co widzimy

    Strona zarządzania bazą lub magazynem danych jest dostępna z każdego miejsca, a przed nią stoi tylko jej własny formularz logowania.

    Jak naprawiamy

    Przed stroną logowania staje VPN albo bramka zero trust z jednorazowym kodem.

    Zasada

    Panel admina to nie strona publiczna, nawet za hasłem.

  • Wysoka

    Foldery z danymi poza kopią zapasowąDane i utrzymanie

    Co widzimy

    Przesłane pliki, baza danych i ustawienia usług nie są nigdzie kopiowane: kopia obejmuje tylko to, co istniało w dniu jej ustawienia.

    Jak naprawiamy

    Każdy folder z danymi trafia do nocnego archiwum poza serwerem, a odtworzenie jest próbowane według harmonogramu.

    Zasada

    Usługa nie jest gotowa, dopóki jej dane nie są w kopii zapasowej.

  • Średnia

    Eksport do arkusza uruchamia formuły z danych użytkownikaKod

    Co widzimy

    Imię zaczynające się od = trafia do eksportu CSV administratora jako działająca formuła (CSV injection).

    Jak naprawiamy

    Komórki zaczynające się od = + − @ są neutralizowane przed eksportem.

    Zasada

    Dane wyjściowe koduje się pod miejsce docelowe: HTML, CSV, e-mail.

  • Średnia

    Jedno zepsute ciasteczko zatrzymuje usługę dla wszystkichKod

    Co widzimy

    Ciasteczko, którego parser się nie spodziewa, rzuca błąd poza obsługą i proces się kończy.

    Jak naprawiamy

    Ostrożne parsowanie i ostatnia obsługa błędów: żądanie dostaje błąd, proces działa dalej.

    Zasada

    Każde wejście jest wrogie, nagłówki i ciasteczka też.

  • Średnia

    Zależności z opublikowanymi podatnościamiPakiety i wersje

    Co widzimy

    Pliki lock przypinają biblioteki ze znanymi CVE i nic nie informuje zespołu o nowych.

    Jak naprawiamy

    Kontrola zależności w CI zatrzymuje build przy wysokiej wadze; reszta trafia do cotygodniowego raportu.

    Zasada

    Zależność to kod, którego nikt w zespole nie czytał: śledź ją jak własny.

  • Średnia

    Łatki bezpieczeństwa zainstalowane, ale nie działająPakiety i wersje

    Co widzimy

    Jądro i biblioteki systemowe są zaktualizowane na dysku, ale serwer nie był restartowany od miesięcy, a dziesiątki pakietów czekają w kolejce.

    Jak naprawiamy

    Comiesięczna runda aktualizacji z restartem i wpisem do dziennika.

    Zasada

    Łatka się liczy, gdy proces, który jej potrzebuje, został zrestartowany.

  • Średnia

    Stare pliki, których wdrożenie nie usuwaInfrastruktura

    Co widzimy

    Wdrożenie kopiuje, ale nie usuwa: przemianowane foldery, stara kopia pliku środowiska i prywatne dokumenty leżą na serwerze latami.

    Jak naprawiamy

    Raport porównuje serwer z repozytorium; pozostałości znikają po zrobieniu kopii.

    Zasada

    Sprawdzaj, co leży na serwerze, a nie to, co powinno według repozytorium.

  • Średnia

    Formularze logowania pozwalają zgadywać hasło bez limituDostęp

    Co widzimy

    Nieudane próby nie są liczone, hasło jest porównywane w zmiennym czasie, a ciasteczka sesji idą bez flagi Secure.

    Jak naprawiamy

    Tymczasowa blokada po kilku błędnych hasłach, porównanie w stałym czasie, ciasteczka z Secure.

    Zasada

    Wszystko, co sprawdza hasło, liczy też porażki.

  • Średnia

    Wspólny limit, który może wyczerpać jeden odwiedzającyDostęp

    Co widzimy

    Śmieciowe żądania liczą się do wspólnego limitu, więc jeden adres może zablokować formularz prawdziwym użytkownikom.

    Jak naprawiamy

    Najpierw działa limit na adres; limit wspólny liczy tylko żądania, które przeszły walidację.

    Zasada

    Limit chroni użytkowników; sprawdzaj, kogo odcina.

  • Średnia

    Ochrona włączona, ale nigdy nie ruszyłaDane i utrzymanie

    Co widzimy

    Timer banujący skanery jest włączony przy instalacji, ale nigdy nie ruszył: tygodniami na drodze stoi tylko limit żądań.

    Jak naprawiamy

    Próbny przebieg na żywym logu, potem start; kontrola stanu pokazuje wszystkie timery.

    Zasada

    Włączone to nie znaczy działa: sprawdzaj stan, nie konfigurację.

  • Niska

    Strona błędu w cache dla wszystkich odwiedzającychInfrastruktura

    Co widzimy

    Odpowiedź limitu żądań przejmuje długi nagłówek cache obrazków i CDN serwuje ten błąd wszystkim.

    Jak naprawiamy

    Odpowiedzi z błędem nigdy nie trafiają do cache.

    Zasada

    Ochrona nie może zamienić się w odmowę usługi.

Jak przebiega audyt

Każdy audyt przechodzi ten sam proces: nasze skille dla agentów AI, kontrole w CI i człowiek, który to zatwierdza.

  1. Zakres i zgoda

    Ustalamy, co testujemy, skąd i czego nie ruszamy. Bez pisemnej zgody właściciela nic się nie zaczyna.

    Dostajesz: Pismo o zakresie

  2. Inwentaryzacja

    Każde środowisko, framework, pakiet i serwer z wersją i datą końca wsparcia.

    Dostajesz: Mapa wersji

  3. Stare wersje

    To, co straciło wsparcie lub ma znane CVE, dostaje plan aktualizacji ułożony według ekspozycji, nie liczby.

    Dostajesz: Plan aktualizacji

  4. Przegląd kodu przez agentów AI

    Nasze skille dzielą przegląd według klas błędów: kontrola dostępu, wstrzyknięcia, sekrety, sesje, pliki, logika biznesowa. Agenci czytają kod równolegle, każdy swoją klasę.

    Dostajesz: Surowe znaleziska

  5. Dowód

    Każde znalezisko odtwarzamy. Drugi agent próbuje je obalić, a to, co się obroni, sprawdza człowiek. Czego nie da się pokazać, nie trafia do raportu.

    Dostajesz: Raport z dowodami

  6. Naprawić i utrzymać

    Poprawki lub pull requesty, ponowny test i kontrole w Twoim CI, żeby ten sam błąd następnym razem zatrzymał build.

    Dostajesz: Poprawki i kontrole w CI

Co sprawdzamy

Aplikacje www i APIOWASP ASVS · WSTG
Logowanie i sesje, kontrola dostępu, wstrzyknięcia, przesyłanie plików, limity, nagłówki.
Aplikacje mobilneOWASP MASVS · MASTG
Android i iOS: przechowywane dane, ruch sieciowy, uprawnienia, zasady sklepów. Sami wydajemy 18 aplikacji.
Serwery i sieciCIS Benchmarks
Otwarte porty, tunele, TLS, DNS i rekordy poczty (SPF, DKIM, DMARC), kopie zapasowe, aktualizacje.
Kod i zależnościOWASP Top 10 · CWE
Wersje bez wsparcia, znane CVE, sekrety w historii git, pipeline CI/CD.
Funkcje AI i agenciOWASP Top 10 for LLM
Prompt injection, wycieki danych przez model, jakie narzędzia agent może wywołać.

Co dostajesz

  • Raport: każde znalezisko z oceną CVSS, klasą CWE, dowodem i krokami odtworzenia
  • Do każdego znaleziska szybkie obejście i naprawa przyczyny
  • Krytyczne znaleziska od razu po potwierdzeniu, nie na końcu
  • Plan aktualizacji starych wersji według ryzyka
  • Poprawki: naprawiamy sami albo przekazujemy je Twojemu zespołowi
  • Ponowny test po wdrożeniu poprawek
  • Kontrole w Twoim pipeline, żeby błąd nie wrócił

Sprawdź się w minutę

Siedem pytań. Odpowiedzi zostają w przeglądarce, chyba że dołączysz je do zapytania.

Czy znasz wersję każdego środowiska, frameworka i biblioteki działających na produkcji?
Czy coś straciło wsparcie producenta: system, środowisko, CMS, wtyczka?
Czy hasło albo klucz API może być w repozytorium lub w jego historii?
Czy formularze logowania blokują powtarzane błędne hasła?
Czy panele admina, bazy danych i magazyny są dostępne tylko przez VPN lub bramkę dostępu?
Czy w ostatnich sześciu miesiącach odtworzono kopię zapasową, żeby sprawdzić, czy działa?
Czy ktoś sprawdza zmiany pod kątem bezpieczeństwa przed wydaniem?
Odpowiedz na pytania, żeby zobaczyć, gdzie jesteś.Odpowiedzi z ryzykiem: 0 z 7

„Nie wiem” liczy się jako ryzyko: czego nie widać, tego nie da się obronić.

Pytania przed zamówieniem

Audyt bezpieczeństwa czy test penetracyjny: czym się różnią?

Test penetracyjny atakuje działający system w ograniczonym czasie, tak jak zrobiłby to ktoś z zewnątrz. Audyt dodaje kod, zależności, serwery i procesy, więc znajduje też to, do czego atakujący jeszcze nie dotarł. Robimy jedno i drugie i z góry mówimy, co dokładnie dostajesz.

Czego potrzebujecie od nas na start?

Listy tego, co testować, dostępu do środowiska testowego i, jeśli to możliwe, kodu. Testy zaczynają się dopiero po pisemnej zgodzie właściciela systemów.

Czy testujecie produkcję?

Tylko to, co zatwierdzisz, w uzgodnionych godzinach i bez testów niszczących. Lepsza jest kopia produkcji: tam możemy naciskać mocniej.

Czy potrzebujecie kodu źródłowego?

Nie. Bez niego testujemy z zewnątrz, tak jak widzi Cię atakujący (black box). Z kontami testowymi lub kodem (grey lub white box) znajdujemy więcej w krótszym czasie.

Ile to kosztuje?

Zależy od zakresu. Po pierwszym mailu ustalamy, co testujemy, i wysyłamy cenę oraz termin, zanim zaczniemy pracę.

Czy podpiszecie NDA?

Tak. Podpiszemy Twoją umowę albo wyślemy naszą razem z zakresem.

Kto wykonuje pracę i kto wystawia fakturę?

Maxim Markarov razem z agentami AI studia; każde znalezisko przed wysłaniem sprawdza człowiek. Fakturę wystawia jednoosobowa działalność JDG Maxim Markarov, NIP 8943181769.

Zamówienie

Zamów audyt bezpieczeństwa

Napisz, co sprawdzić. Zapytanie trafia na support@markarov.dev i stamtąd odpowie Ci człowiek.

  • Bez autoodpowiedzi: przez formularz nie da się wysłać maila do kogoś innego.
  • Do zapytania nie dołączamy adresu IP.
  • Formularz trzyma się zasad tej strony: limit na adres, walidacja na serwerze, zero zewnętrznych skryptów.
Co sprawdzić (opcjonalnie)
Dlaczego teraz (opcjonalnie)
Kiedy (opcjonalnie)