Logo StartupKit
PL
Vulnerability Disclosure

Portal badacza

Jak badacze przesyłają zgłoszenia, śledzą status, odwołują się od decyzji i konfigurują dane do wypłat przez bezpieczny portal.

Dlaczego to ważne

Badacze znacznie chętniej zgłaszają podatności przez przejrzysty, uporządkowany portal niż na ślepy adres security@. Czytelny proces zgłaszania z wbudowanym śledzeniem statusu pokazuje badaczom, że ich praca jest traktowana poważnie — to przyciąga zgłoszenia wyższej jakości i buduje długoterminowe zaufanie w społeczności bezpieczeństwa.

Portal badacza w Kit wykorzystuje uwierzytelnianie przez magic link — bez haseł do zarządzania, bez kont do tworzenia. Eliminuje to barierę wejścia dla jednorazowych badaczy, zachowując jednocześnie odpowiedzialność i bezpieczny kanał komunikacji dla każdego zgłoszenia.

Co widzą badacze

Portal badacza znajduje się pod osobnym adresem URL niż panel administracyjny:

/security/{program-slug}/

To portal publiczny — odrębny od interfejsu administracyjnego Kit używanego przez zespół. Doświadczenie użytkownika opiera się na trzech zasadach:

Własna domena (VDP Add-on)

Dzięki VDP Add-on portal bezpieczeństwa można udostępniać pod własną domeną — na przykład security.yourcompany.com — zamiast domyślnej ścieżki subdomeny Kit. Wystarczy skierować rekord DNS CNAME na Kit i dodać domenę w Account Settings > Custom Domains. Po zweryfikowaniu i aktywowaniu domeny wszystkie adresy URL portalu (/policy, /report, /hall-of-fame, /.well-known/security.txt) są serwowane bezpośrednio z własnej domeny bez prefiksu ścieżki.

Własne domeny portalu bezpieczeństwa wymagają VDP Add-on (49 USD/mies.).

  • Niski próg wejścia — do przesłania zgłoszenia nie jest wymagane logowanie. Badacz potrzebuje jedynie adresu e-mail.
  • Przejrzystość po zgłoszeniu — po przesłaniu zgłoszenia badacz otrzymuje magic link e-mailem umożliwiający dostęp do portalu. Stamtąd można przeglądać przesłane zgłoszenia, bieżący status każdego z nich, wątek wiadomości z zespołem oraz oś czasu zdarzeń.
  • Ścisła izolacja — badacze nie widzą wewnętrznych notatek zespołu, zgłoszeń innych badaczy ani żadnych szczegółów wykraczających poza własne zgłoszenia.

Przesyłanie zgłoszenia

Publiczny formularz zgłoszeniowy jest dostępny pod adresem /security/{program-slug}/reports/new. Konto nie jest wymagane — badacz podaje adres e-mail, a Kit zajmuje się resztą.

Wymagane pola

Pole Opis
Vulnerability Type Kategoria OWASP wybierana z listy rozwijanej (SQL Injection, XSS, Broken Auth, IDOR, SSRF, RCE itp.)
Affected Endpoint Adres URL lub komponent systemu, w którym występuje podatność
Severity (Self-Assessed) Własna ocena badacza — nie jest wiążąca dla końcowej oceny zespołu
Description Pełne szczegóły podatności z obsługą Markdown
Reproduction Steps Instrukcje krok po kroku umożliwiające odtworzenie problemu
Impact Jakie dane lub funkcjonalności są zagrożone w przypadku wykorzystania podatności
Email Address Używany do dostępu do portalu przez magic link oraz do wszystkich powiadomień

Badacze mogą również załączać pliki — zrzuty ekranu, kod proof-of-concept lub nagrania wideo. Załączniki są opcjonalne, ale zalecane w przypadku złożonych podatności.

Przy zgłoszeniu wyświetlane jest wyzwanie CAPTCHA, a ograniczenie częstotliwości (rate limiting) stosowane jest per adres IP w celu zapobiegania automatycznemu spamowi w kolejce triażu.

Po zgłoszeniu

Po przesłaniu zgłoszenia natychmiast następują dwie rzeczy:

  1. Zgłoszenie pojawia się w kolejce triażu zespołu (zob. Triaging Reports)
  2. Badacz otrzymuje e-mail z potwierdzeniem zawierający magic link do portalu

Magic link zapewnia dostęp do portalu bez hasła. Każde kolejne powiadomienie e-mailowe również zawiera nowy link do portalu za pośrednictwem zmiennej szablonowej {{ portal_link }}.

Uwierzytelnianie przez magic link

Portal wykorzystuje magic linki oparte na e-mailu zamiast haseł. Oto jak to działa:

  1. Badacz odwiedza /security/{program-slug}/ i podaje swój adres e-mail
  2. Kit wysyła jednorazowy link logowania na ten adres
  3. Kliknięcie linku uwierzytelnia badacza i otwiera portal
  4. Sesja trwa do zamknięcia przeglądarki lub wygaśnięcia linku

Jeśli badacz nie ma aktywnej sesji, w każdej chwili może poprosić o nowy magic link na stronie logowania portalu. Na stronie logowania dostępny jest również link „Submit a new report” dla osób odwiedzających portal po raz pierwszy.

Przeglądanie statusu zgłoszenia

W portalu badacze widzą listę wszystkich przesłanych zgłoszeń. Każda karta zgłoszenia zawiera:

Element Szczegóły
Report ID Unikalny identyfikator z prefiksem (np. RPT-abc123)
Title Tytuł podatności z formularza zgłoszenia
Severity Wyświetlany po zakończeniu oceny przez zespół
Status Bieżący status w zrozumiałym języku (np. „Validated”, „In Progress”, „Resolved”)
Bounty Kwota i status, jeśli nagroda została zatwierdzona
Submitted Date Data pierwotnego zgłoszenia

Kliknięcie zgłoszenia wyświetla widok szczegółowy: oryginalną treść zgłoszenia, bieżący status z wyjaśnieniem, wątek wiadomości (tylko wiadomości zewnętrzne — wewnętrzne notatki zespołu są ukryte) oraz oś czasu wszystkich zmian statusu.

Badacze nie mogą edytować szczegółów zgłoszenia po przesłaniu. Komunikacja z zespołem odbywa się przez wysyłanie wiadomości w wątku zgłoszenia, który jest głównym kanałem do zapytań wyjaśniających i aktualizacji statusu. Zob. Communicating with Researchers, aby poznać sposób zarządzania tymi rozmowami przez zespół.

Odwołania

Gdy zespół odrzuci zgłoszenie, badacz ma możliwość odwołania się od decyzji bezpośrednio z portalu.

Jak działają odwołania

  1. Badacz otwiera odrzucone zgłoszenie w portalu
  2. Klika Appeal i podaje pisemne uzasadnienie (minimum 10 znaków)
  3. Odwołanie zostaje przesłane, a zespół otrzymuje powiadomienie za pośrednictwem szablonu e-mail appeal_received oraz powiadomienia Slack (jeśli skonfigurowano)
  4. Zespół rozpatruje odwołanie w widoku szczegółowym zgłoszenia i może podtrzymać lub uchylić pierwotną decyzję o odrzuceniu

Limity odwołań

Każde zgłoszenie ma konfigurowalną maksymalną liczbę odwołań. Domyślnie to 3 odwołania na zgłoszenie. Limit można zmienić w ustawieniach triażu programu (Triage Settings). Portal wyświetla liczbę wykorzystanych odwołań (np. „Appeals used: 1 of 3”), aby badacze wiedzieli, ile pozostało.

Umowa NDA / porozumienie

Opcjonalnie można wymagać od badaczy zaakceptowania umowy programowej przed wypłatą nagrody. Jest to przydatne w przypadku umów o zachowaniu poufności lub warunków skoordynowanego ujawniania.

  • Treść umowy konfiguruje się w Program Settings za pomocą edytora rich text
  • Gdy nagroda zostanie zatwierdzona, badacz widzi w portalu monit Accept Agreement
  • Akceptacja jest rejestrowana ze znacznikiem czasu
  • Badacz może opcjonalnie przesłać podpisaną kopię dokumentu

Akceptacja umowy jest warunkiem koniecznym wypłaty — jeśli funkcja jest włączona, proces wypłaty nie będzie kontynuowany, dopóki badacz nie zaakceptuje umowy.

Konfiguracja wypłat (VDP Add-on)

Po zatwierdzeniu nagrody przez zespół badacz jest proszony w portalu o podanie danych do wypłaty. Ta sekcja jest dostępna wyłącznie z VDP Add-on (49 USD/mies.).

Obsługiwane metody wypłat zależą od konfiguracji w Program Settings:

  • Bank Transfer — badacz podaje dane konta bankowego
  • PayPal — badacz podaje swój adres e-mail PayPal
  • Crypto — badacz podaje adres portfela

Dane do wypłat są szyfrowane w spoczynku. Po przesłaniu pełne dane nie są ponownie wyświetlane w portalu — badacz widzi jedynie potwierdzenie, że informacje zostały zapisane. Zespół wykorzystuje te dane wyłącznie do wykonania przelewu. Zob. Bounties and Payouts, aby poznać pełny proces wypłat.

Dokumenty podatkowe (VDP Add-on)

W przypadku programów wymagających dokumentacji podatkowej przed wypłatą badacze przesyłają formularze bezpośrednio przez portal. Ta sekcja jest dostępna wyłącznie z VDP Add-on (49 USD/mies.).

Dokument Kto potrzebuje Cel
W-9 Badacze z USA Wymagany przez IRS dla płatności krajowych przekraczających 600 USD/rok
W-8BEN Badacze spoza USA Poświadcza status zagraniczny i umożliwia skorzystanie z ulg traktatowych w celu obniżenia podatku u źródła

Proces przesyłania:

  1. Po zatwierdzeniu nagrody badacz widzi w portalu monit o przesłanie odpowiedniego dokumentu podatkowego
  2. Badacz wybiera typ dokumentu (W-9 lub W-8BEN) i przesyła plik
  3. Zespół weryfikuje dokument i oznacza go jako verified lub rejected w kolejce Tax Documents w panelu administracyjnym
  4. W przypadku odrzucenia badacz otrzymuje powiadomienie i może przesłać poprawioną wersję

Cykliczne zadanie w tle monitoruje daty wygaśnięcia dokumentów i wysyła przypomnienia do badaczy, gdy ich dokumenty zbliżają się do terminu ważności. Weryfikacja dokumentów podatkowych jest warunkiem koniecznym wypłaty, gdy wymaganie jest włączone w ustawieniach programu.

Kontrola dostępu na zaproszenie

Domyślnie portal bezpieczeństwa jest publicznie dostępny dla każdego znającego adres URL. Przełączenie na tryb tylko na zaproszenie pozwala ograniczyć krąg osób mogących przesyłać zgłoszenia — przydatne w programach prywatnych, wczesnym dostępie beta lub programach ograniczonych do wyselekcjonowanej listy badaczy.

Aby to włączyć, należy przejść do VDP > Security Portal Settings i ustawić Access Control na Invite Only. Kit automatycznie wygeneruje tajny token dostępu. Wynikowy adres URL zaproszenia udostępnia się bezpośrednio zaufanym badaczom — zawiera token i po kliknięciu przyznaje trwałą sesję przeglądarki.

Formularz żądania dostępu

Gdy odwiedzający trafia na zablokowany portal bez ważnego tokenu, zamiast ślepego zaułka widzi krótki formularz Request Access. Może podać adres e-mail i opcjonalną wiadomość wyjaśniającą zainteresowanie. Nie ma obowiązku zatwierdzania każdego żądania, a przesłanie formularza nie ujawnia odwiedzającemu, czy dany adres e-mail był już w kolejce — zapobiega to enumeracji.

Gdy wpłynie żądanie:

  1. Na adres kontaktowy z security.txt (lub zapasowo na e-mail rozliczeniowy konta) wysyłane jest powiadomienie e-mail
  2. Pozycja Access Requests pojawia się w pasku bocznym VDP w sekcji Configuration z plakietką pokazującą liczbę oczekujących żądań
  3. Otwórz VDP > Access Requests, aby przejrzeć oczekujące żądania — wyświetlany jest adres e-mail, opcjonalna wiadomość i data zgłoszenia
  4. Kliknięcie Approve & Send Invite wysyła osobisty link zaproszenia w jednym kroku

Link zaproszenia wysyłany po zatwierdzeniu jest tym samym adresem URL opartym na tokenie, który można udostępnić ręcznie. Po kliknięciu badacz uzyskuje trwałą sesję i może normalnie przesyłać zgłoszenia.

Galeria sławy

Badacze mogą wyrazić zgodę na umieszczenie w publicznej galerii sławy (Hall of Fame) programu ze strony profilu w portalu. Udział jest całkowicie dobrowolny — żaden badacz nie zostanie wyświetlony bez wyraźnej zgody.

Jak to działa:

  • Na stronie profilu w portalu badacz przełącza opcję Show my handle publicly
  • Na publicznej tablicy wyświetlany jest jedynie pseudonim badacza — nigdy prawdziwe imię i nazwisko ani adres e-mail
  • Zespół może wyróżnić wybranych badaczy ze strony zarządzania Hall of Fame w panelu administracyjnym (wyróżnieni badacze pojawiają się na początku)
  • Publiczna galeria sławy jest dostępna pod adresem /security/{program-slug}/hall-of-fame

Galeria sławy to niskokosztowy sposób motywowania, który szczególnie dobrze sprawdza się w programach opartych wyłącznie na uznaniu (bez nagród pieniężnych). Włączenie w Program Settings daje badaczom powód do udziału.

Szybka lista kontrolna

  • Weryfikacja adresu URL formularza zgłoszeniowego (/security/{program-slug}/reports/new) i udostępnienie go w pliku security.txt oraz w stopce strony
  • (VDP Add-on) Konfiguracja własnej domeny (np. security.yourcompany.com) w Account Settings > Custom Domains dla spójnego doświadczenia marki
  • Przetestowanie przepływu magic link przez przesłanie testowego zgłoszenia z osobistego adresu e-mail
  • Dostosowanie szablonu e-mail report_acknowledged, aby badacze wiedzieli, czego się spodziewać po zgłoszeniu
  • Konfiguracja limitu odwołań w Triage Settings (domyślnie: 3 na zgłoszenie)
  • Ustawienie umowy NDA/porozumienia, jeśli program wymaga tego przed wypłatą
  • Włączenie galerii sławy w Program Settings, aby zachęcić badaczy do udziału
  • W przypadku programu prywatnego: włączenie kontroli dostępu na zaproszenie w Security Portal Settings i udostępnienie adresu URL zaproszenia zaufanym badaczom
  • W przypadku VDP Add-on: sprawdzenie, czy metody wypłat i wymagania dotyczące dokumentów podatkowych są prawidłowo skonfigurowane

Kolejne kroki

Wpisz, aby wyszukać...