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.
Do czego służy asystent
Triaż zgłoszeń bezpieczeństwa wymaga skupienia, choć wiele czynności się powtarza. Każde zgłoszenie wymaga sprawdzenia zakresu, wykrycia duplikatów, oceny ważności i odpowiedzi badaczowi. Asystent pomaga zebrać informacje potrzebne do tych czynności.
Agent AI CSIRT korzysta z danych, do których masz dostęp. Może zasugerować poziom ważności, znaleźć podobne zgłoszenia i przygotować odpowiedź. Instrukcje wbudowanego asystenta nakazują mu poprosić o potwierdzenie przed użyciem narzędzia zapisu; narzędzia sprawdzają osobno uprawnienia do danej operacji.
Screening AI (automatyczny)
Po przesłaniu zgłoszenia Kit zleca automatyczną analizę jego treści. Wynik pojawia się po zakończeniu analizy. Błąd dostawcy AI może ją przerwać, a wyczerpany limit kredytów wstrzymać.
Model szuka w tekście dwunastu oznak nierzetelnego zgłoszenia wygenerowanego przez AI. Sam nie przeszukuje bazy NVD ani repozytorium celu; wskazuje podejrzenia na podstawie treści:
| Sygnał | Czego dotyczy podejrzenie |
|---|---|
| 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 prześledzić lub odtworzyć problem |
| Struktura szablonu | Ogólny układ zgłoszenia odzwierciedla uniwersalny szablon, a nie rzeczywiste badanie |
| 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 |
Po ukończeniu analizy zgłoszenie otrzymuje ocenę prawdopodobieństwa nierzetelnej treści AI (0–100) i rekomendację:
| Rekomendacja | Znaczenie |
|---|---|
| Pass | Model nie wskazał istotnych oznak nierzetelnej treści AI. |
| Review | Model wskazał słabe oznaki. Na tablicy zgłoszenie otrzymuje ostrzegawczą etykietę. |
| Flag | Model wskazał silne oznaki. Na tablicy zgłoszenie otrzymuje etykietę AI z uzasadnieniem. |
Sam screening nie odrzuca zgłoszeń. Wynik i uzasadnienie znajdziesz w szczegółach zgłoszenia. Sprawdź wskazane fragmenty, zanim podejmiesz decyzję: szablonowy język może wynikać np. z tego, że badacz pisze w obcym języku, a nie z braku rzetelności.
Każde zgłoszenie jest też skanowane pod kątem tekstu skierowanego do narzędzi AI i oznaczane tym, po co zostało wysłane. Zobacz Skan prompt injection i typy zgłoszeń.
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 narzędziami dostępnymi dla twojej roli i uprawnień.
Zestaw agenta obejmuje 49 narzędzi w dwóch kategoriach; dostępny wybór zależy od uprawnień:
- Narzędzia odczytu (25): odpytują stan programu, zgłoszenia, twoją kolejkę, osie czasu zgłoszeń, badaczy, karmę, metryki, dane finansowe, adresy załączników, zewnętrzne udostępnienia partnerom, postmortemy, odwołania, propozycje nagród, żądania usunięcia treści i katalog komponentów
- Narzędzia zapisu (24): 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, obsługują żądania usunięcia treści i zarządzają katalogiem komponentów
Wbudowany asystent ma instrukcję przedstawienia planowanej zmiany i poproszenia o zgodę. W klientach zewnętrznych sposób zatwierdzania wywołań zależy od klienta MCP.
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, a także schemat konfiguracji, zalecane wartości domyślne i wskazanie narzędzia do wywołania w następnym kroku. Działa także dla nowych 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, prośbach o informację bez odpowiedzi) |
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 endpoint wskazany w zgłoszeniu mieści się w skonfigurowanym zakresie programu |
csirt_suggest_severity |
Zwraca kontekst zgłoszenia razem z macierzą 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 |
Historia operacji finansowych do 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ą zgłoszeń, 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 udostępnienia zgłoszenia partnerom z zewnątrz (zaproszenia e-mail i dostęp dla każdego, kto ma link), 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
Przed zleceniem zmiany określ zgłoszenie i oczekiwane działanie. Wbudowany asystent ma poprosić o potwierdzenie; dostęp do operacji zależy też od uprawnień użytkownika i ustawień programu.
| Narzędzie | Co robi |
|---|---|
csirt_create_program |
Tworzy VDP w statusie Roboczy z rozsądnymi domyślnymi ustawieniami. Działa na darmowym planie. Ponowne wywołanie nie tworzy drugiego programu. Pierwszy krok w uruchamianiu programu. |
csirt_configure_program |
Ustawia dowolny podzbiór siedmiu sekcji konfiguracji (zakres, macierz 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_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 przy 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ź przy 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 |
Przedstawia zespołowi propozycję kwoty nagrody do oceny. 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 za zgłoszenie, zgodnie z ograniczeniami programu (wymaga aktywnej subskrypcji Kit i uprawnień administratora CSIRT) |
csirt_link_asset |
Dodaje link do powiązanego zadania lub dokumentu (zgłoszenie w Jira, PR z poprawką na GitHubie lub GitLabie, zgłoszenie w 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 wybrane pola techniczne (tytuł, typ, endpoint, opis, kroki odtworzenia, ważność, załączniki): tożsamość badacza, nagroda i notatki wewnętrzne nie są udostępniane. |
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 trafiały już do niego nowe zgłoszenia. 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ą uprawnienia 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. Możesz połączyć kilka poleceń: „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, narzędzia CSIRT są dostępne przez API MCP. Dostęp do modułu CSIRT trzeba przyznać na ekranie zgody, by jakiekolwiek narzędzia CSIRT były dostępne, a narzędzia zapisu wymagają uprawnienia csirt_write.
Żeby uruchomić program od zera z agentem, zobacz poradnik Skonfiguruj VDP z agentem AI, opisujący kolejność 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 zakresami uprawnień.
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
Portal bezpieczeństwa automatycznie udostępnia opis czytelny maszynowo pod adresem /llms.txt. Jest zgodny z formatem 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.
Lista kontrolna
- Otwórz zgłoszenie i wypróbuj „Check for duplicates” w panelu bocznym AI
- Zapytaj asystenta „What’s our SLA compliance this month?” z pulpitu 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 - Sprawdź Dostawców AI i limity wydatków, aby poznać własność dostawcy, limity i zachowanie przy awarii
- Przeczytaj Triaż zgłoszeń, by poznać cały proces obsługi zgłoszeń z pomocą tych narzędzi