Większość reguł bezpieczeństwa agentów wymaga zrozumienia mechanizmu. Ta wymaga policzenia do trzech.
Czym jest zabójcza triada
Zabójcza triada to reguła opisująca trzy warunki, których jednoczesne spełnienie umożliwia wyprowadzenie danych przez agenta:
dostęp do danych prywatnych — poczty, dokumentów, bazy, poświadczeń,
kontakt z treścią z niezaufanego źródła — stroną internetową, wiadomością, plikiem od kogoś obcego,
możliwość komunikacji na zewnątrz — wysłania żądania, wiadomości, zapytania do wyszukiwarki.
Sformułowanie spopularyzował Simon Willison i przyjęło się ono jako praktyczna skrótowa reguła projektowa.
Dlaczego komplet ma znaczenie
Każdy z tych warunków osobno jest zupełnie normalny i nie tworzy zagrożenia.
Agent z dostępem do twoich dokumentów, który nie czyta niczego z zewnątrz, nie ma skąd wziąć instrukcji od atakującego. Agent czytający strony, ale bez dostępu do danych prywatnych, nie ma czego wynieść. Agent mający jedno i drugie, ale bez kanału wyjścia, nie ma jak.
Dopiero komplet trzech zamyka obwód: niezaufana treść dostarcza instrukcję, dane prywatne są w kontekście, a kanał wyjścia pozwala je wysłać.
Jak używać
Przy projektowaniu agenta wypisz, które z trzech zdolności ma. Jeśli ma wszystkie, odbierz jedną — to zwykle łatwiejsze niż uszczelnianie każdej z osobna, bo uszczelnianie wymaga przewidzenia wszystkich wariantów wstrzyknięcia, a odebranie zdolności nie wymaga niczego.
Najczęściej najtańszy do odebrania jest kanał wyjścia: agent może czytać z zewnątrz i pracować na danych, ale odpowiada wyłącznie do interfejsu, bez możliwości samodzielnego wysyłania żądań.