Logo StartupKit
PL

Kierowanie zgłoszeń do zespołów

Opisz obszary produktu w katalogu komponentów, żeby Kit mógł sugerować odpowiedni obszar dla zgłoszenia i pomóc przekazać je właściwemu zespołowi.

Po co tworzyć katalog

W małym programie jedna osoba triażuje wszystkie zgłoszenia. W miarę jak program rośnie, pojedyncza kolejka staje się wąskim gardłem: błąd w Payments i błąd w aplikacji mobilnej trafiają na ten sam stos, a właściwy inżynier zobaczy zgłoszenie tylko wtedy, gdy ktoś pamięta, żeby go do niego dopisać.

Rozwiązuje to katalog komponentów. Opisujesz obszary produktu, na przykład „Payments API”, „Mobile App” i „Marketing Site”. Kit dla każdego napływającego zgłoszenia sugeruje obszar, który je obejmuje, przypisuje zgłoszenie domyślnej osobie odpowiedzialnej za ten obszar i powiadamia kanał Slack odpowiedniego zespołu, gdy zgłoszenie zostanie zweryfikowane. Automatyczne dopasowanie daje sugestię. Przypisanie komponentu następuje dopiero po jej zatwierdzeniu lub wybraniu obszaru.

Note

Komponenty są dołączone i opcjonalne. Zgłoszenia działają także bez katalogu komponentów.

Czym jest komponent

Komponent to wpis w katalogu danego programu, opisujący jeden obszar produktu w ramach twojego programu ujawniania podatności (VDP). Każdy komponent ma następujące pola:

Pole Do czego służy
Nazwa Etykieta obszaru pokazywana na zgłoszeniach i w Slacku (np. Payments API). Wymagana.
Opis Krótkie podsumowanie tego, co obejmuje dany obszar. Klasyfikator AI czyta go, gdy decyduje, do którego obszaru pasuje niejednoznaczne zgłoszenie. Opisz go konkretnie.
Maski adresów URL (globy) Globy adresów URL dopasowywane do punktu końcowego, którego dotyczy zgłoszenie (zobacz Maski adresów URL (globy) poniżej).
Kanał Slack Kanał odpowiedniego zespołu. Otrzymuje powiadomienie „Przejmij” (Take it over), gdy skierowane zgłoszenie zostanie zweryfikowane.
Domyślna osoba odpowiedzialna Członek zespołu, który jest automatycznie przypisywany do zgłoszeń skierowanych do tego obszaru, o ile zgłoszenie nie ma jeszcze przypisanej osoby.

Obowiązkowa jest tylko nazwa. Komponent z samą nazwą nadal działa jako ręczna etykieta; dodaj maski adresów URL, kanał i osobę odpowiedzialną, żeby odblokować automatyczne sugestie i kierowanie.

Konfigurowanie komponentów

Otwórz VDP > Ustawienia programu > Komponenty. Zakładka Komponenty to katalog. Tutaj dodajesz, edytujesz i archiwizujesz obszary produktu.

Żeby dodać komponent, kliknij Nowy komponent, wypełnij pola i zapisz:

  • Nadaj obszarowi jasną nazwę i konkretny opis
  • Dodaj jedną lub więcej masek adresów URL, po jednym globie w wierszu
  • Wybierz kanał Slack odpowiedniego zespołu (opcjonalnie)
  • Wybierz domyślną osobę odpowiedzialną (opcjonalnie)

Nowi subskrybenci VDP widzą też opcjonalny krok „Skonfiguruj obszary produktu” podczas pierwszej konfiguracji. Możesz go wtedy wykonać albo pominąć i zbudować katalog później. Nic innego od niego nie zależy.

Maski adresów URL (globy)

Maski adresów URL to globy adresów URL, po jednym w wierszu, dopasowywane do punktu końcowego, którego dotyczy zgłoszenie, podanego przez badacza w zgłoszeniu. Służą do dopasowania według stałych reguł: jeśli punkt końcowy ze zgłoszenia pasuje do masek dokładnie jednego komponentu, Kit wskazuje ten komponent.

Jedna reguła: maska bez * na początku jest zakotwiczona na początku punktu końcowego. Ponieważ punkty końcowe to zwykle pełne adresy URL zaczynające się od https://, przy wyszukiwaniu fragmentu adresu dodaj * przed nim i po nim.

Dopasowanie nie rozróżnia wielkości liter, a * obejmuje również /, więc *pay* to prawdziwe dopasowanie podciągu.

Dla punktu końcowego https://app.example.com/api/pay/charge:

Maska Pasuje? Dlaczego
*pay* ✅ * na początku i na końcu: dopasowuje „pay” w dowolnym miejscu ciągu
*/api/pay/* ✅ Wieloznaczniki po obu stronach dopasowują ten segment ścieżki, gdziekolwiek się pojawi
https://app.example.com/* ✅ Brak * na początku, ale punkt końcowy zaczyna się dokładnie od tego tekstu
app.example.com/* ❌ Zakotwiczona na początku, ale punkt końcowy zaczyna się od https://, a nie app.
/api/pay/charge ❌ Zakotwiczona na początku: punkt końcowy nie zaczyna się od /api/…

Tip

Żeby dopasować fragment ścieżki, dodaj * z obu stron: *payments* lub */api/pay/*. Maski zakotwiczone na początku (https://…/*) zostaw na sytuacje, gdy celowo chcesz dopasować jeden konkretny host od pierwszego znaku.

Jak działa kierowanie

Automatyczne dopasowanie tylko sugeruje obszar. Samo otrzymanie sugestii nie zmienia przypisania zgłoszenia. Poniżej opisano jej przegląd i zatwierdzenie w interfejsie.

flowchart TD
    submitted["Zgłoszenie przyjęte"] --> det{"Punkt końcowy pasuje do masek adresów URL dokładnie jednego komponentu?"}
    det -- "Tak" --> match["Jednoznaczne dopasowanie z pełną pewnością"]
    det -- "Brak dopasowania lub co najmniej dwa" --> ai["Klasyfikator AI zestawia zgłoszenie z opisami komponentów"]
    ai --> fit{"Pewne najlepsze dopasowanie?"}
    match --> suggested["Sugerowany obszar pokazany z pewnością i uzasadnieniem"]
    fit -- "Tak" --> suggested
    fit -- "Brak" --> nosuggestion["Zgłoszenie trafia bez sugerowanego obszaru"]
    suggested --> staff{"Przegląd przez zespół"}
    staff -- "Zaakceptuj sugestię" --> setarea["Obszar ustawiony na zgłoszeniu"]
    staff -- "Wybierz inny obszar" --> setarea
    staff -- "Zostaw puste" --> unset["Brak ustawionego obszaru"]
    setarea --> owner{"Komponent ma domyślną osobę odpowiedzialną, a zgłoszenie nie ma właściciela?"}
    owner -- "Tak" --> assigned["Domyślna osoba odpowiedzialna zostaje właścicielem zgłoszenia"]
    owner -- "Nie" --> validated["Zgłoszenie zweryfikowane w triażu"]
    assigned --> validated
    validated --> slack{"Komponent ma kanał Slack?"}
    slack -- "Tak" --> ping["Powiadomienie w Slacku z przyciskiem „Przejmij" (wysyła się raz na zgłoszenie)"]
    slack -- "Nie" --> noping["Brak pinga"]

1. Kit sugeruje obszar

Gdy zgłoszenie trafia do systemu, Kit szuka pasującego komponentu w dwóch etapach:

  1. Dopasowanie deterministyczne: jeśli punkt końcowy ze zgłoszenia pasuje do masek adresów URL dokładnie jednego komponentu, Kit uznaje dopasowanie za jednoznaczne.
  2. Klasyfikator AI: jeśli maski nie pasują do niczego albo niejednoznacznie pasują do dwóch lub więcej komponentów, klasyfikator AI zestawia zgłoszenie z opisami twoich komponentów i proponuje najlepsze dopasowanie albo none.

Kit pokazuje sugestię tylko wtedy, gdy jest wystarczająco pewny. Jeśli nic nie pasuje, zgłoszenie trafia bez sugerowanego obszaru. Kierowanie nigdy nie blokuje ani nie opóźnia przyjęcia zgłoszenia.

2. Zespół potwierdza obszar

Na stronie zgłoszenia w panelu bocznym widać kartę „Obszar / odpowiedzialny zespół”. Gdy Kit ma sugestię, pojawia się ona jako „Sugerowany obszar” z procentem pewności i jednozdaniowym uzasadnieniem. Twój zespół może wtedy:

  • Zaakceptować sugestię,
  • wybrać inny obszar z listy,
  • albo zostawić pole puste.

Zaakceptowanie komponentu ustawia obszar zgłoszenia oraz, jeśli komponent ma domyślną osobę odpowiedzialną, przypisuje tę osobę jako właściciela zgłoszenia (chyba że ma ono już właściciela). Obszar możesz w każdej chwili wyczyścić lub zmienić z tej samej karty.

3. Odpowiedzialny zespół dostaje powiadomienie

Gdy skierowane zgłoszenie zostanie zweryfikowane (przejdzie triaż; zobacz Triaż zgłoszeń), a jego komponent ma przypisany kanał Slack, Kit publikuje na tym kanale kartę powiadomienia z przyciskiem „Przejmij” (Take it over). Dowolny członek zespołu może go kliknąć, żeby przejąć zgłoszenie i zostać jego właścicielem. Powiadomienie jest wysyłane raz na zgłoszenie, więc ponowna weryfikacja czy zmiana przypisania nie zaśmieci kanału.

Note

Powiadomienie w Slacku jest wysyłane dopiero po weryfikacji, a nie przy przyjęciu zgłoszenia. Dzięki temu kanał zespołu pozostaje cichy, dopóki zgłoszenie nie zostanie potwierdzone jako prawdziwe i mieszczące się w zakresie. Slack skonfigurujesz w Ustawienia konta > Integracje.

Dobre i złe praktyki

Rób tak Nie rób tak
Dodaj * z obu stron istotnego fragmentu ścieżki (*payments*) Pomijaj * na początku i licz na dopasowanie podciągu
Pisz konkretne opisy, bo klasyfikator AI je czyta Polegaj wyłącznie na maskach adresów URL przy obszarach, których nie da się jednoznacznie rozróżnić po adresie URL
Traktuj każdą sugestię jako propozycję do potwierdzenia Zakładaj, że sugerowany obszar jest już przypisany. Staje się nim dopiero po akceptacji
Ustawiaj domyślną osobę odpowiedzialną dla obszarów z jasnym właścicielem Kieruj komponent na kanał Slack, do którego Kit nie należy
Archiwizuj obszary, które wycofujesz Usuwaj historię. Archiwizacja ją zachowuje

Zarządzanie przez narzędzia MCP

Katalog jest też dostępny dla agentów AI i klientów API poprzez narzędzia MCP, więc możesz budować katalog i kierować zgłoszenia programowo:

  • csirt_list_components: wyświetla katalog (odczyt)
  • csirt_create_component / csirt_update_component: dodaje lub edytuje obszar (zapis)
  • csirt_archive_component: wycofuje obszar (zapis)
  • csirt_assign_component: ustawia, czyści lub pyta o sugerowany obszar na zgłoszeniu. Pomiń id komponentu, żeby dostać sugestię deterministyczną/AI bez wprowadzania zmian, a potem wywołaj ponownie z sugerowanym id, żeby ją potwierdzić.

Narzędzia zapisu wymagają zakresu csirt_write. Wywołanie csirt_assign_component z identyfikatorem komponentu od razu zapisuje przypisanie, więc najpierw sprawdź sugestię. Zasady potwierdzania działań asystenta i konfigurację połączenia opisuje poradnik Integracja z AI.

Archiwizowanie komponentu

Żeby wycofać obszar, kliknij Archiwizuj w zakładce Komponenty. Archiwizacja to miękkie usunięcie:

  • Zgłoszenia już skierowane do komponentu zachowują swoją historię. Obszar nadal jest widoczny na tych zgłoszeniach.
  • Nowe zgłoszenia przestają być do niego kierowane. Komponent znika z sugestii i z listy wyboru.

W ten sposób wycofasz obszar produktu, zachowując wcześniejsze przypisania. Interfejs udostępnia archiwizację zamiast trwałego usunięcia.

Lista kontrolna

  • Utwórz komponent dla każdego obszaru produktu o wyraźnej granicy zespołu
  • Napisz konkretny opis, z którego korzysta klasyfikator AI
  • Dodaj maski adresów URL z * po obu stronach charakterystycznego fragmentu ścieżki (np. *payments*)
  • Ustaw kanał Slack, żeby odpowiedzialny zespół dostawał powiadomienie „Przejmij” (Take it over)
  • Ustaw domyślną osobę odpowiedzialną dla obszarów z jasnym właścicielem
  • Przy nowych zgłoszeniach potwierdzaj lub zmieniaj sugerowany obszar w karcie panelu bocznego
  • Archiwizuj wycofywane obszary zamiast je usuwać

Co dalej

  • Triaż zgłoszeń: tablica triażu, wskaźniki SLA i krok weryfikacji, który wyzwala powiadomienia zespołów
  • Konfigurowanie programu: zakres, SLA, macierz nagród i reszta ustawień programu
  • Integracja z AI: pełny zestaw narzędzi MCP, w tym narzędzia katalogu komponentów

Wpisz, aby wyszukać...