Logo StartupKit
PL

Integracja z AI

Jak korzystać z wbudowanego asystenta AI i zewnętrznych narzędzi MCP do automatyzacji triażu VDP, oceny ważności i komunikacji z badaczami.

Dlaczego to ważne

Triaż bezpieczeństwa to powtarzalna praca o dużym obciążeniu poznawczym. Każde zgłoszenie wymaga sprawdzenia zakresu, wykrycia duplikatów, oceny ważności i odpowiedzi do badacza. Wsparcie AI skraca średni czas triażu z godzin do minut.

Agent AI CSIRT potrafi odczytać cały stan Twojego programu, zasugerować ważność, sprawdzić duplikaty i przygotować odpowiedzi, nie wyrywając Cię z kontekstu pracy. Działa jak drugi pilot, a nie autopilot — każda akcja zapisu wymaga Twojego wyraźnego potwierdzenia przed wykonaniem.

Screening AI (automatyczny)

Każde przesłane zgłoszenie jest oceniane automatycznie, zanim trafi na Twoją tablicę selekcji. Bez konfiguracji — screening uruchamia się przy każdym przesłaniu.

Screening wykrywa dwanaście sygnałów śmieci AI:

Sygnał Co wychwytuje
Zmyślone nazwy funkcji Odwołania do metod lub API, które nie istnieją w popularnych frameworkach ani w kodzie celu
Sfabrykowane numery CVE Identyfikatory CVE, których nie ma w bazie NVD
Istniejące CVE podane jako nowe Już opublikowane CVE przedstawione tak, jakby było nowym odkryciem
Ogólnikowa naprawa Szablonowe porady naprawcze pasujące do dowolnej podatności i niepowiązane ze zgłoszonym problemem
Brak konkretnego proof of concept „Mogę to zademonstrować na życzenie” bez kroków odtworzenia, zrzutów ekranu ani działającego exploita
Język szablonu Skopiowane sformułowania z szablonu zgłoszenia bug bounty, pasujące do dowolnego celu
Niejasne kroki odtworzenia Instrukcje odtworzenia zbyt nieprecyzyjne, by faktycznie prześledzić lub odtworzyć problem
Struktura szablonu Ogólny układ zgłoszenia odzwierciedla generyczny szablon, a nie prawdziwe dochodzenie
Niespójne szczegóły techniczne Twierdzenia, które wzajemnie sobie przeczą lub nie trzymają się technicznie
Odwołania do nieistniejących elementów kodu Pliki, endpointy, parametry lub symbole, których nie ma w celu
Akademicki opis Podręcznikowe wyjaśnienie klasy podatności bez dowodu, że dotyczy ona tego celu
Ogólnikowy tytuł Tytuł, który nazywa klasę podatności bez niczego konkretnego dla zgłoszenia

Każde zgłoszenie otrzymuje wynik pewności (0–100) i rekomendację:

Rekomendacja Znaczenie
Pass Nie wykryto sygnałów śmieci. Zgłoszenie trafia na tablicę selekcji normalnie.
Review Występują słabe sygnały. Zgłoszenie trafia na tablicę selekcji z ostrzegawczą plakietką.
Flag Silne sygnały śmieci. Zgłoszenie jest oznaczone na karcie tablicy selekcji plakietką AI wraz z uzasadnieniem.

Oznaczone zgłoszenia nigdy nie są automatycznie odrzucane. Wynik screeningu i jego uzasadnienie są widoczne w widoku szczegółów zgłoszenia, więc ostateczna decyzja należy do Ciebie. To wyłącznie wskazówka — system jest celowo zachowawczy, by nie oznaczać niesłusznie rzetelnych badaczy, zwłaszcza tych, dla których angielski nie jest językiem ojczystym.

Agent AI CSIRT

Asystenta AI otwierasz przez czat w panelu bocznym (ikona czatu w górnej nawigacji). Na stronach VDP asystent automatycznie ładuje agenta CSIRT z pełnym dostępem do danych Twojego programu.

Agent ma dostęp do 41 narzędzi w dwóch kategoriach:

  • Narzędzia odczytu (18) — odpytują stan programu, zgłoszenia, badaczy, karmę, metryki, dane finansowe, zewnętrzne udostępnienia partnerom, postmortemy i katalog komponentów
  • Narzędzia zapisu (23) — uruchamiają program (utwórz, skonfiguruj, aktywuj, wypróbuj), triażują zgłoszenia, zapisują oceny, rozstrzygają odwołania, korygują karmę i nagrody, wysyłają wiadomości, proponują kwoty nagród i głosują nad nimi, zatwierdzają nagrody, podpinają zewnętrzne odniesienia, udostępniają zgłoszenia partnerom z zewnątrz, piszą postmortemy i zarządzają katalogiem komponentów

Narzędzia zapisu wymagają potwierdzenia. AI opisze, co zamierza zrobić, i poczeka na Twoją zgodę przed wykonaniem.

Narzędzia odczytu

Narzędzie Co robi
csirt_get_setup_guide Zacznij tutaj. Przegląd programu z liczbą zgłoszeń, zgodnością z SLA i listą kontrolną konfiguracji — plus schemat konfiguracji, rekomendowane wartości domyślne i dokładnie to narzędzie, które wywołać dalej. Działa sensownie także dla świeżych kont bez programu.
csirt_get_program Pełna konfiguracja programu — wszystkie siedem zakładek ustawień przedstawionych jako czytelne dane
csirt_list_reports Filtrowalna lista zgłoszeń ze wskaźnikami SLA (filtruj po statusie, ważności, osobie przypisanej, statusie SLA)
csirt_get_report Pełne szczegóły zgłoszenia: ocena, wiadomości, oś czasu, przyznana nagroda, profil badacza
csirt_get_report_timeline Chronologiczny dziennik każdego zdarzenia w zgłoszeniu (zmiany statusu, wiadomości, oceny, przypisania)
csirt_check_duplicates Znajduje kandydatów na duplikaty na podstawie zgodnego endpointu i typu podatności
csirt_validate_scope Sprawdza, czy dotknięty endpoint zgłoszenia mieści się w skonfigurowanym zakresie programu
csirt_suggest_severity Zwraca kontekst zgłoszenia razem z matrycą nagród, by AI mogło rozważyć właściwą ważność
csirt_get_bounty_benchmark Historyczne dane o nagrodach dla poziomu ważności lub typu podatności (mediana, średnia, zakres, ostatnie przykłady)
csirt_list_messages Pełny wątek wiadomości zgłoszenia, łącznie z notatkami wewnętrznymi
csirt_get_ledger Finansowa ścieżka audytu, filtrowalna po zgłoszeniu, typie wpisu i zakresie dat
csirt_get_metrics MTTA, MTTR, procent zgodności z SLA, zgłoszenia wg ważności i statusu, najlepsi badacze, łączne dane o nagrodach
csirt_get_researcher Profil badacza z historią przesłań, poziomem karmy i sumą zdobytych nagród
csirt_get_researcher_karma Wynik karmy badacza, poziom, sygnał, rozbicie reputacji oraz ostatnia historia zdarzeń karmy (wyszukiwanie po ID z prefiksem lub adresie e-mail)
csirt_list_researchers Filtrowalny katalog badaczy z liczbą zgłoszeń i sumami nagród
csirt_list_report_shares Wyświetla aktywne zewnętrzne udostępnienia partnerom na zgłoszeniu (zaproszenia e-mail i każdy z linkiem), z audytem wyświetleń i linkiem do udostępnienia. Tu znajdziesz share_id, by cofnąć udostępnienie przez csirt_share_report.
csirt_get_postmortem Postmortem (analiza przyczyny źródłowej) rozwiązanego zgłoszenia: podsumowanie, ważność, kategoria, oś czasu incydentu, czas do naprawy oraz przyczyna źródłowa, działania naprawcze i wnioski. Do zapisu użyj csirt_set_postmortem.
csirt_list_components Komponenty z katalogu programu (obszary produktu, do których kierowane są zgłoszenia), każdy z własnymi maskami adresów URL i domyślnymi regułami kierowania (kanał Slack, domyślna osoba odpowiedzialna)

Narzędzia zapisu

Narzędzia zapisu wymagają wyraźnego potwierdzenia przed wykonaniem. AI powie Ci, co zamierza zrobić, a Ty musisz zatwierdzić akcję.

Narzędzie Co robi
csirt_create_program Tworzy VDP w statusie Roboczy z rozsądnymi domyślnymi ustawieniami. Plan darmowy, idempotentne. Pierwszy krok w uruchamianiu programu.
csirt_configure_program Ustawia dowolny podzbiór siedmiu sekcji konfiguracji (zakres, matryca nagród, SLA, triaż, wypłaty, spam, security.txt) w jednym wywołaniu. Kwoty w centach; klucze odpowiadają csirt_get_program.
csirt_activate_program Uruchamia program na żywo — publikuje publiczny portal i przyjmuje prawdziwe zgłoszenia. Wymaga potwierdzenia przez człowieka; odmawia, dopóki nie ustawisz zakresu i adresu kontaktowego security.txt.
csirt_start_trial Uruchamia darmowy, bezkartowy, samoczynnie kończący się 30-dniowy okres próbny dodatku VDP. Nigdy nie pobiera karty — płatna finalizacja pozostaje w interfejsie webowym.
csirt_triage_report Przesuwa status zgłoszenia (np. z Wysłane do Po selekcji) z opcjonalnym komentarzem. Odrzucenie wymaga kodu powodu; zgłoszenie z zatwierdzoną nagrodą trzeba odrzucić przez csirt_dismiss_report
csirt_assess_report Zapisuje wektor CVSS i ocenę ważności na zgłoszeniu
csirt_dismiss_report Odrzuca zgłoszenie z kodem powodu (poza zakresem, duplikat, informacyjne, nieodtwarzalne, spam, inne) i opcjonalną notatką. Cofa zatwierdzoną nagrodę, gdy potwierdzisz revoke_bounty: true
csirt_resolve_appeal Rozstrzyga oczekujące odwołanie badacza dotyczące zgłoszenia (przyjęte lub odrzucone). Przyjęcie odrzuconego zgłoszenia ponownie je otwiera; odrzucenie podtrzymuje rozstrzygnięcie. Badacz dostaje decyzję e-mailem.
csirt_assign_report Przypisuje zgłoszenie członkowi zespołu do zbadania
csirt_draft_response Zapisuje odpowiedź na zgłoszeniu jako szkic, który człowiek przejrzy i wyśle. Nikomu nie wysyła maila. Jeden otwarty szkic na zgłoszenie; nie nadpisze szkicu, który poprawiał człowiek. Dostępne dla każdego członka zespołu CSIRT.
csirt_send_message Publikuje wiadomość w wątku zgłoszenia. Notatki wewnętrzne są zawsze dozwolone; wiadomości zewnętrzne idą mailem do badacza i są blokowane, chyba że program włączył bezpośrednią wysyłkę przez agentów.
csirt_propose_bounty Kładzie kwotę nagrody na stole, żeby zespół mógł się o niej wypowiedzieć. Niczego nie zatwierdza i nie wypłaca, a badacz nigdy nie widzi propozycji. Jedna otwarta propozycja na zgłoszenie — kolejna ją zastępuje. Dostępne dla każdego członka zespołu CSIRT.
csirt_vote_bounty_proposal Zapisuje zgodę albo sprzeciw samego użytkownika wobec otwartej propozycji nagrody na zgłoszeniu. Sprzeciw musi zawierać kwotę alternatywną. Doradcze — osiągnięcie zgody niczego nie zatwierdza. Dostępne dla każdego członka zespołu CSIRT.
csirt_approve_bounty Zatwierdza kwotę nagrody dla rozwiązanego zgłoszenia (tylko dodatek VDP)
csirt_link_asset Podpina zewnętrzne odniesienie (ticket Jira, PR z poprawką GitHub/GitLab, issue Linear, dokument Notion lub dowolny URL) do zgłoszenia, by zespół mógł śledzić powiązaną pracę. Tylko wewnętrznie — nigdy nie pokazywane badaczowi.
csirt_share_report Nadaje lub cofa zewnętrznemu partnerowi dostęp do zgłoszenia. Udostępnia tylko ocenzurowane pola techniczne (tytuł, typ, endpoint, opis, repro, ważność, załączniki) — tożsamość badacza, nagroda i notatki wewnętrzne nigdy nie przekraczają granicy.
csirt_adjust_karma Ręcznie koryguje karmę badacza według predefiniowanego kodu powodu ze stałą liczbą punktów, powiązanego ze zgłoszeniem (i opcjonalnie z podpiętym odniesieniem), które to uzasadnia. Karma ma dolny próg 0.
csirt_adjust_bounty Koryguje kwotę już zatwierdzonej nagrody (jeśli żadna nie istnieje, najpierw użyj csirt_approve_bounty). Można ją zmieniać do momentu wypłaty; opcjonalnie powiadamia badacza o poprzedniej i nowej kwocie wraz z Twoimi notatkami.
csirt_set_postmortem Tworzy lub aktualizuje postmortem zgłoszenia (upsert). Jeśli już istnieje, zostaje zaktualizowany, a do jego zapisu audytowego dopisywana jest rewizja; w przeciwnym razie tworzony jest nowy. Zmieniają się tylko przekazane pola.
csirt_create_component Dodaje komponent do katalogu (obszar produktu, np. „Payments API”), do którego kierowane są zgłoszenia. Maski adresów URL to globy; domyślne reguły kierowania (kanał Slack, domyślna osoba odpowiedzialna) są opcjonalne.
csirt_update_component Aktualizuje komponent w katalogu. Zmieniają się tylko przekazane pola; pominięte zachowują bieżącą wartość.
csirt_archive_component Archiwizuje (usuwa w sposób odwracalny) komponent z katalogu, żeby nie kierował już nowych zgłoszeń. Istniejące zgłoszenia zachowują powiązanie z komponentem.
csirt_assign_component Ustawia, usuwa lub sugeruje komponent z katalogu, do którego kierowane jest zgłoszenie. Podaj identyfikator komponentu, by potwierdzić powiązanie, „none”, by je usunąć, lub pomiń go, by otrzymać samą sugestię — sugestie nigdy nie są stosowane automatycznie.

Wszystkie narzędzia zapisu wymagają scope csirt_write przy dostępie przez zewnętrzne klienty MCP.

Przykładowe prompty

Użyj ich w czacie w panelu bocznym na dowolnej stronie VDP:

"Show me my triage queue — what's at risk of breaching SLA?"

"Check report rpt_abc123 for duplicates and suggest a severity."

"Draft a validation response for report rpt_abc123 explaining we've confirmed the SQL injection."

"What's our SLA compliance rate this month?"

"List all unassigned Critical reports."

"Triage report rpt_abc123 to Validated and assign it to Alice."

"Approve a $500 bounty for report rpt_abc123 — it's a High severity XSS."

"Show me the researcher profile for the person who submitted rpt_abc123."

"What does the bounty history look like for High severity findings?"

Asystent używa narzędzi odczytu, by zebrać kontekst, a potem sięga po narzędzia zapisu, gdy poprosisz go o działanie. Komendy możesz łączyć naturalnie — „check for duplicates, suggest severity, and draft a response” uruchamia trzy narzędzia po kolei.

Łączenie przez MCP (klienty zewnętrzne)

Dla zewnętrznych asystentów AI, takich jak Claude Desktop, Claude Code czy własne agenty MCP, wszystkie 41 narzędzi CSIRT jest dostępnych przez API MCP. Moduł CSIRT musi zostać przyznany na ekranie zgody, by jakiekolwiek narzędzia CSIRT były dostępne, a narzędzia zapisu wymagają scope csirt_write.

Żeby uruchomić program od zera z agentem, zobacz Skonfiguruj VDP z agentem AI, gdzie przechodzimy łańcuch csirt_get_setup_guidecsirt_create_programcsirt_configure_programcsirt_activate_program.

Zobacz Łączenie asystentów AI, aby poznać instrukcje konfiguracji, przepływ autoryzacji i zarządzanie scope’ami.

Po połączeniu klient zewnętrzny ma dostęp do tego samego zestawu narzędzi co wbudowany czat w panelu bocznym. Zacznij od csirt_get_setup_guide, by uzyskać przegląd programu, zanim sięgniesz po inne narzędzia.

Endpoint llms.txt

Twój portal bezpieczeństwa automatycznie udostępnia opis czytelny maszynowo pod adresem /llms.txt. Jest zgodny ze standardem llms.txt i daje asystentom AI ustrukturyzowany kontekst Twojego programu ujawniania podatności — zakres, zasady działania i wytyczne dotyczące zgłoszeń. Bez konfiguracji; aktualizuje się automatycznie wraz ze zmianami ustawień programu.

W skrócie

  • Otwórz zgłoszenie i wypróbuj „Check for duplicates” w panelu bocznym AI
  • Zapytaj asystenta „What’s our SLA compliance this month?” z dashboardu VDP
  • Wypróbuj „Draft a dismissal response” na zgłoszeniu poza zakresem
  • Sprawdź plakietkę screeningu AI na oznaczonym zgłoszeniu, by zrozumieć, co ją wywołało
  • Podłącz zewnętrzny klient MCP i wywołaj csirt_get_setup_guide, by zweryfikować dostęp
  • Przeczytaj Triaż zgłoszeń, by poznać pełny przepływ triażu, który wspierają te narzędzia

Wpisz, aby wyszukać...