Konfiguracja programu
Przewodnik krok po kroku po wszystkich siedmiu zakładkach ustawień programu — zakres, macierz nagród, SLA, triaż, wypłaty, spam i security.txt.
Dlaczego to ważne
Dobra konfiguracja to różnica między wiarygodnym VDP a niejasną polityką, którą badacze ignorują. Precyzyjny zakres chroni zespół inżynieryjny przed nieistotnymi zgłoszeniami, cele SLA wymuszają uczciwość czasów reakcji, a dobrze zdefiniowana macierz nagród ustala oczekiwania badaczy jeszcze przed wysłaniem zgłoszenia.
Kit dostarcza rozsądne wartości domyślne dla każdego ustawienia. Można uruchomić program natychmiast i dostosować go później, ale poświęcenie 15 minut na konfigurację z góry pozwoli zaoszczędzić godziny błędnego triażu.
Włączanie VDP
Przejdź do VDP, aby włączyć program. Wybierz plan Free, aby zacząć od razu, lub VDP Add-on (49 USD/mies.), aby odblokować pełny pipeline. Uaktualnienie jest możliwe w dowolnym momencie z poziomu Account Settings > Billing.
Po utworzeniu programu przejdź do VDP > Program Settings, aby go skonfigurować. Program uruchamia się w statusie Draft — nie będzie przyjmował zgłoszeń, dopóki status nie zostanie zmieniony na Active.
Zakładka General
Zakładka General kontroluje tożsamość programu i politykę ujawniania.
| Pole | Opis |
|---|---|
| Program Name | Wyświetlana na stronie polityki ujawniania i portalu badacza |
| Status | Draft, Active lub Paused — ustaw na Active po zakończeniu konfiguracji |
| Disclosure Policy | Pole rich text wstępnie wypełnione językiem safe harbor. Obsługuje formatowanie, linki i listy. |
| Prohibited Actions | Działania, których badacze nie mogą podejmować (np. socjotechnika, ataki fizyczne, odmowa usługi) |
Podczas konfigurowania pozostałych zakładek należy pozostawić program w statusie Draft. Na Active przełączyć dopiero wtedy, gdy wszystko jest gotowe do przyjmowania zgłoszeń.
Zakładka Scope
Zakres definiuje, co badacze powinni, a czego nie powinni testować. Niejasny zakres generuje niejasne zgłoszenia — należy być konkretnym.
| Pole | Opis |
|---|---|
| In-Scope Targets | Hosty, adresy URL lub zakresy IP do testowania (jeden na wiersz). Przykład: app.yourcompany.com, api.yourcompany.com |
| Out-of-Scope Categories | Wykluczenia kategorii w stylu OWASP (np. “Denial of Service”, “Physical Attacks”) |
| Excluded Vulnerability Types | Konkretne klasy podatności, które nie będą akceptowane (np. “Self-XSS”, “Missing rate limiting on non-critical endpoints”) |
Jeśli cele in-scope pozostaną puste, wszystkie cele są domyślnie objęte zakresem. Rzadko kiedy jest to pożądane. Jako minimum należy wymienić główne domeny aplikacji.
Kit wykorzystuje konfigurację zakresu do automatycznej walidacji przychodzących zgłoszeń. Zgłoszenia dotyczące wykluczonych typów podatności lub kategorii poza zakresem są oznaczane, zanim trafią na tablicę triażu.
Zakładka Bounty Matrix
VDP Add-on — ta zakładka wymaga VDP Add-on (49 USD/mies.). Programy Free działają jako VDP bez nagród.
Macierz nagród definiuje przedziały wypłat dla każdego poziomu ważności. Kwoty są wyświetlane na stronie polityki ujawniania, aby badacze wiedzieli, czego się spodziewać.
| Severity | Domyślne minimum | Domyślne maksimum |
|---|---|---|
| Super Critical | $5,000 | $10,000 |
| Critical | $1,500 | $5,000 |
| High | $500 | $1,500 |
| Medium | $150 | $500 |
| Low | $50 | $150 |
| Informational | $0 | $0 |
Przedziały należy dostosować do budżetu i tolerancji ryzyka. Gdy na zgłoszeniu zostanie zarejestrowana ocena CVSS, Kit automatycznie zasugeruje kwotę nagrody w ramach odpowiedniego przedziału.
Zakładka SLAs
SLA definiują zobowiązania zespołu dotyczące czasu reakcji. Zegar SLA startuje w momencie przesłania zgłoszenia. Dashboard pokazuje status każdego zgłoszenia jako zgodny z normą, zagrożony lub naruszony.
Acknowledgment SLA obowiązuje jednakowo dla wszystkich poziomów ważności — to maksymalny czas od przesłania zgłoszenia do pierwszej odpowiedzi. Domyślnie: 72 godziny.
Cele rozwiązania różnią się w zależności od poziomu ważności:
| Severity | Domyślny cel rozwiązania |
|---|---|
| Super Critical | 24 godziny |
| Critical | 72 godziny (3 dni) |
| High | 168 godzin (1 tydzień) |
| Medium | 336 godzin (2 tygodnie) |
| Low | 720 godzin (30 dni) |
| Informational | 720 godzin (30 dni) |
Wartości można zmienić, aby dopasować je do możliwości zespołu. Agresywne SLA dobrze wyglądają na papierze, ale tracą wiarygodność przy regularnym naruszaniu. Należy ustawiać cele realistyczne, a z czasem je zaostrzać.
Wskaźniki SLA widoczne na każdej karcie zgłoszenia na tablicy triażu:
- On Track (zielony) — upłynęło mniej niż 50% okna SLA
- At Risk (żółty) — upłynęło ponad 50% okna SLA
- Breached (czerwony) — termin SLA minął
Zakładka Triage
Ustawienia triażu kontrolują kierowanie i przetwarzanie przychodzących zgłoszeń.
| Pole | Domyślnie | Opis |
|---|---|---|
| Default Assignee | Brak | Członek zespołu automatycznie otrzymujący nowe zgłoszenia. Ustaw na główny kontakt ds. bezpieczeństwa. |
| Escalation Severities | Critical, Super Critical | Poziomy ważności wyzwalające alert eskalacji przez e-mail i Slack |
| Deduplication | Włączona | Oznaczanie potencjalnych duplikatów zgłoszeń przed trafieniem na tablicę |
| Require Retest | Wyłączony | Wymóg potwierdzenia przez badacza, że poprawka działa, przed zamknięciem zgłoszenia |
| Max Appeals | 3 | Maksymalna liczba odwołań od odrzuconego zgłoszenia |
Ustawienia rotacji dyżurowej (tryb, harmonogram, członkowie i automatyczne przypisywanie) mają dedykowaną stronę. Szczegóły w On-Call Rotation.
Jeśli domyślna osoba przypisana nie zostanie ustawiona, nowe zgłoszenia pojawiają się jako nieprzypisane na tablicy triażu. Zespół nadal może je przejmować ręcznie, ale przypisanie zapewnia, że nic nie umknie.
Alerty eskalacji są wysyłane do domyślnej osoby przypisanej i publikowane na skonfigurowanym kanale Slack. Integrację ze Slack konfiguruje się w Account Settings > Integrations.
Zakładka Payouts
VDP Add-on — ta zakładka wymaga VDP Add-on (49 USD/mies.). Programy Free nie przetwarzają wypłat przez Kit.
Zakładka Payouts konfiguruje sposób obsługi wypłat nagród.
| Pole | Domyślnie | Opis |
|---|---|---|
| Supported Payment Methods | PayPal | Obsługiwane metody: PayPal, Bank Transfer, Crypto |
| Require Tax Documents | Tak | Badacze muszą przesłać formularz W-9 (USA) lub W-8BEN (zagraniczni) przed otrzymaniem wypłaty |
| Require Agreement | Tak | Badacze muszą zaakceptować umowę ujawniania przed wypłatą |
| Minimum Payout | $50 | Zarobki badaczy poniżej progu są kumulowane do momentu osiągnięcia minimum |
| Currency | USD | Waluta dla wszystkich kwot nagród i wypłat |
Wymóg dokumentów podatkowych istnieje w celu zapewnienia zgodności prawnej. Wyłączenie tego ustawienia oznacza, że badacze mogą otrzymywać wypłaty bez dostarczenia dokumentacji podatkowej — przed wyłączeniem należy skonsultować się z działem finansowym.
Zakładka Spam
Ustawienia antyspamowe chronią program przed zalewem zgłoszeń i masowymi raportami niskiej jakości.
| Pole | Domyślnie | Opis |
|---|---|---|
| Max Reports per Window | 5 | Maksymalna liczba zgłoszeń od jednego badacza w oknie czasowym |
| Window Duration | 5 minut | Okno czasowe do ograniczania częstotliwości |
| Block Duration | 1 godzina | Czas blokady badacza po przekroczeniu limitu |
| Cleanup Interval | 24 godziny | Czas przechowywania rekordów spamu przed automatycznym usunięciem |
Wartości domyślne są konserwatywne. Jeśli legalni badacze osiągają limit, należy zwiększyć czas trwania okna lub podnieść próg maksymalnej liczby zgłoszeń. W przypadku intensywnego spamu trzeba skrócić okno i wydłużyć czas blokady.
Zablokowani badacze widzą jasny komunikat informujący, kiedy mogą ponownie przesłać zgłoszenie. Rekordy spamu są automatycznie usuwane w skonfigurowanym interwale.
Zakładka security.txt
Ta zakładka konfiguruje pola używane do generowania pliku /.well-known/security.txt zgodnie z RFC 9116. Kit serwuje ten plik automatycznie, gdy program jest aktywny.
| Pole | Domyślnie | Opis |
|---|---|---|
| Contact Email | Brak (wymagane) | Adres e-mail do zgłaszania podatności. Publikowany w polu Contact:. |
| Expiration | 365 dni | Liczba dni od wygenerowania do wygaśnięcia security.txt. RFC 9116 wymaga pola Expires:. |
| Policy URL | Generowany automatycznie | URL strony polityki ujawniania. Domyślnie wskazuje politykę hostowaną przez Kit. |
| Acknowledgments URL | Brak | URL strony Hall of Fame, jeśli jest włączona |
| Hiring URL | Brak | Link do ofert pracy zespołu ds. bezpieczeństwa |
| Encryption URL | Brak | URL klucza publicznego PGP do szyfrowanej komunikacji |
Przed serwowaniem pliku security.txt konieczne jest ustawienie adresu e-mail kontaktowego. Pełne szczegóły konfiguracji, formatowania i weryfikacji security.txt zawiera security.txt Setup.
Szybka lista kontrolna
- Ustaw nazwę programu i dostosuj tekst polityki ujawniania
- Zdefiniuj cele in-scope i kategorie out-of-scope
- Skonfiguruj macierz nagród (VDP Add-on) lub potwierdź program bez nagród (Free)
- Ustaw cele SLA dla każdego poziomu ważności
- Przypisz domyślnego właściciela triażu
- Skonfiguruj metody wypłat i wymagania podatkowe (VDP Add-on)
- Sprawdź progi antyspamowe
- Ustaw adres e-mail kontaktowy dla security.txt
- Skonfiguruj integrację ze Slack dla alertów eskalacji
- Ustaw status na Active po zakończeniu konfiguracji
Kolejne kroki
- security.txt Setup — szczegółowy przewodnik po zgodności z RFC 9116 i weryfikacji
- Triaging Reports — jak korzystać z tablicy Kanban, oceniać ważność i rozwiązywać zgłoszenia