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ę triażu. 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ę triażu normalnie. |
| Review | Występują słabe sygnały. Zgłoszenie trafia na tablicę triażu z ostrzegawczym badge’em. |
| Flag | Silne sygnały śmieci. Zgłoszenie jest oznaczone na karcie tablicy triażu badge’em 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 sidebarze (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 31 narzędzi w dwóch kategoriach:
- Narzędzia odczytu (17) — odpytują stan programu, zgłoszenia, badaczy, karmę, metryki, dane finansowe i zewnętrzne udostępnienia partnerom
- Narzędzia zapisu (14) — uruchamiają program (utwórz, skonfiguruj, aktywuj, trial), triażują zgłoszenia, zapisują oceny, rozstrzygają odwołania, korygują karmę, wysyłają wiadomości, zatwierdzają nagrody, podpinają zewnętrzne odniesienia i udostępniają zgłoszenia partnerom z zewnątrz
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 checklistą 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_draft_response |
Ładuje pasujący szablon Liquid z wypełnionymi zmiennymi, by AI mogło przygotować naturalną odpowiedź do badacza. To narzędzie odczytu — przygotowuje kontekst, ale nic nie wysyła. Do wysłania użyj csirt_send_message. |
csirt_get_ledger |
Finansowy audit trail, filtrowalny 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. |
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 Wersja robocza 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 trial dodatku VDP. Nigdy nie pobiera karty — płatny checkout zostaje w interfejsie webowym. |
csirt_triage_report |
Przesuwa status zgłoszenia (np. z Przesłane do Striażowane) 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_send_message |
Wysyła wiadomość w wątku zgłoszenia — zewnętrzną (widoczną dla badacza) lub wewnętrzną (tylko dla zespołu) |
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 assetem), które to uzasadnia. Karma ma dolny próg 0. |
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 sidebarze 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 31 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_guide → csirt_create_program → csirt_configure_program → csirt_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 sidebarze. 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 sidebarze 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ź badge screeningu AI na oznaczonym zgłoszeniu, by zrozumieć, co go 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