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:
- Zgłoszenie pojawia się w kolejce triażu zespołu (zob. Triaging Reports)
- 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:
- Badacz odwiedza
/security/{program-slug}/i podaje swój adres e-mail - Kit wysyła jednorazowy link logowania na ten adres
- Kliknięcie linku uwierzytelnia badacza i otwiera portal
- 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
- Badacz otwiera odrzucone zgłoszenie w portalu
- Klika Appeal i podaje pisemne uzasadnienie (minimum 10 znaków)
- Odwołanie zostaje przesłane, a zespół otrzymuje powiadomienie za pośrednictwem szablonu e-mail
appeal_receivedoraz powiadomienia Slack (jeśli skonfigurowano) - 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:
- Po zatwierdzeniu nagrody badacz widzi w portalu monit o przesłanie odpowiedniego dokumentu podatkowego
- Badacz wybiera typ dokumentu (W-9 lub W-8BEN) i przesyła plik
- Zespół weryfikuje dokument i oznacza go jako verified lub rejected w kolejce Tax Documents w panelu administracyjnym
- 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:
- Na adres kontaktowy z
security.txt(lub zapasowo na e-mail rozliczeniowy konta) wysyłane jest powiadomienie e-mail - Pozycja Access Requests pojawia się w pasku bocznym VDP w sekcji Configuration z plakietką pokazującą liczbę oczekujących żądań
- Otwórz VDP > Access Requests, aby przejrzeć oczekujące żądania — wyświetlany jest adres e-mail, opcjonalna wiadomość i data zgłoszenia
- 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
- Bounties and Payouts — pełny proces wypłat, dokumenty podatkowe i rejestr finansowy
- Communicating with Researchers — wątki wiadomości i szablony e-mail