Package google.security.safebrowsing.v5alpha1

Indeks

SafeBrowsing

Interfejsy Safe Browsing API umożliwiają klientom sprawdzanie zasobów internetowych (najczęściej adresów URL) na stale aktualizowanych przez Google listach niebezpiecznych zasobów internetowych.

BatchGetHashLists

rpc BatchGetHashLists(BatchGetHashListsRequest) returns (BatchGetHashListsResponse)

Pobieranie wielu list skrótów jednocześnie.

Często zdarza się, że klient potrzebuje kilku list skrótów. Używanie tej metody jest lepsze niż wielokrotne używanie zwykłej metody Get.

Jest to standardowa metoda pobierania zbiorczego zdefiniowana na stronie https://google.aip.dev/231, a metoda HTTP to GET.

GetHashList

rpc GetHashList(GetHashListRequest) returns (HashList)

Pobieranie najnowszej zawartości listy skrótów. Lista skrótów może być listą zagrożeń lub listą niezwiązaną z zagrożeniami, np. globalną pamięcią podręczną.

Jest to standardowa metoda Get zdefiniowana na stronie https://google.aip.dev/131, a metoda HTTP to też GET.

ListHashLists

rpc ListHashLists(ListHashListsRequest) returns (ListHashListsResponse)

Wyświetlanie list skrótów.

W interfejsie API w wersji 5 Google nigdy nie usunie listy skrótów, która została kiedykolwiek zwrócona przez tę metodę. Dzięki temu klienci mogą pominąć tę metodę i po prostu na stałe zakodować wszystkie potrzebne listy skrótów.

Jest to standardowa metoda List zdefiniowana na stronie https://google.aip.dev/132, a metoda HTTP to GET.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

Wyszukaj pełne hasze pasujące do określonych prefiksów.

Jest to metoda niestandardowa zdefiniowana na stronie https://google.aip.dev/136 (określenie „metoda niestandardowa” oznacza, że ta metoda ma niestandardową nazwę w ogólnej nomenklaturze tworzenia interfejsów API Google; nie odnosi się do używania niestandardowej metody HTTP).

SearchUrls

rpc SearchUrls(SearchUrlsRequest) returns (SearchUrlsResponse)

wyszukiwanie adresów URL pasujących do znanych zagrożeń; Sprawdzane są wszystkie adresy URL oraz ich sufiksy hosta i wyrażenia przedrostka ścieżki (do określonej głębokości). Oznacza to, że odpowiedź może zawierać adresy URL, które nie zostały uwzględnione w żądaniu, ale są wyrażeniami adresów URL z żądania.

BatchGetHashListsRequest

Prośba o pobranie wielu list skrótów jednocześnie.

Pola
names[]

string

Wymagane. Nazwy poszczególnych list skrótów. Lista MOŻE być listą zagrożeń lub globalną pamięcią podręczną. Nazwy NIE MOGĄ zawierać duplikatów. W przeciwnym razie klient otrzyma błąd.

version[]

bytes

Wersje listy skrótów, które klient już ma. Jeśli klient pobiera listy skrótów po raz pierwszy, to pole powinno być puste. W przeciwnym razie klient powinien podać wersje otrzymane wcześniej z serwera. Klient NIE MOŻE manipulować tymi bajtami.

Klient nie musi wysyłać wersji w tej samej kolejności co odpowiednie nazwy list. Klient może wysłać w żądaniu mniej lub więcej wersji niż nazw. Klient NIE MOŻE jednak wysyłać wielu wersji odpowiadających tej samej nazwie. Jeśli to zrobi, otrzyma komunikat o błędzie.

Uwaga historyczna: w wersji 4 interfejsu API ta wartość była nazywana states. Zmieniliśmy jej nazwę na version, aby była bardziej przejrzysta.

size_constraints

SizeConstraints

Ograniczenia rozmiaru każdej listy. Jeśli pominiesz to pole, nie będzie żadnych ograniczeń. Pamiętaj, że podane tu rozmiary dotyczą poszczególnych list, a nie wszystkich list łącznie.

BatchGetHashListsResponse

Odpowiedź zawierająca wiele list skrótów.

Pola
hash_lists[]

HashList

Listy skrótów w tej samej kolejności co w żądaniu.

FullHash

Pełny skrót zidentyfikowany z co najmniej 1 dopasowaniem.

Pola
full_hash

bytes

Pasujący pełny skrót. Jest to identyfikator SHA256. Długość będzie wynosić dokładnie 32 bajty.

full_hash_details[]

FullHashDetail

Lista nieuporządkowana. Powtarzające się pole zawierające szczegóły dotyczące tego pełnego skrótu.

FullHashDetail

Szczegóły dotyczące pasującego pełnego haszu.

Ważna uwaga dotycząca zgodności z przyszłymi wersjami: serwer może w dowolnym momencie dodawać nowe typy zagrożeń i ich atrybuty. Takie dodatki są traktowane jako zmiany wersji podrzędnej. Zgodnie z zasadami Google nie udostępniamy numerów wersji podrzędnych w interfejsach API (zasady dotyczące wersji znajdziesz na stronie https://cloud.google.com/apis/design/versioning), dlatego klienty MUSZĄ być przygotowane na odbieranie komunikatów FullHashDetail zawierających wartości wyliczeniowe ThreatType lub ThreatAttribute, które są przez nie uznawane za nieprawidłowe. Dlatego klient jest odpowiedzialny za sprawdzenie ważności wszystkich wartości wyliczeniowych ThreatTypeThreatAttribute. Jeśli jakakolwiek wartość zostanie uznana za nieprawidłową, klient MUSI zignorować całą wiadomość FullHashDetail.

Pola
threat_type

ThreatType

Rodzaj zagrożenia. To pole nigdy nie będzie puste.

attributes[]

ThreatAttribute

Lista nieuporządkowana. Dodatkowe atrybuty tych pełnych skrótów. To pole może być puste.

GetHashListRequest

Żądanie uzyskania listy skrótów, która może być listą zagrożeń lub listą niezawierającą zagrożeń, np. globalną pamięcią podręczną.

Nowości w wersji 5: w wersji 4 element states został zmieniony na version, aby uniknąć wątpliwości. Listy mają teraz nazwy, a typy platform i typy wpisów o zagrożeniach zostały usunięte. Obecnie wiele list może mieć ten sam typ zagrożenia lub jedna lista może dotyczyć wielu typów zagrożeń. W przeciwieństwie do prefiksów skrótów o zmiennej długości w wersji 4, które sprawiały problemy w wielu implementacjach po stronie klienta, wszystkie skróty na liście mają teraz jedną długość, co umożliwia znacznie wydajniejsze implementacje po stronie klienta. Ograniczenia zostały uproszczone, a typ kompresji został usunięty (kompresja jest zawsze stosowana).

Pola
name

string

Wymagane. Nazwa tej konkretnej listy skrótów. Może to być lista zagrożeń lub pamięć podręczna globalna.

version

bytes

Wersja listy skrótów, którą klient już ma. Jeśli klient pobiera listę skrótów po raz pierwszy, to pole MUSI pozostać puste. W przeciwnym razie klient POWINIEN podać wersję otrzymaną wcześniej z serwera. Klient NIE MOŻE manipulować tymi bajtami.

Nowości w wersji 5: w wersji 4 interfejsu API ten parametr nazywał się states, a teraz dla większej przejrzystości zmieniliśmy jego nazwę na version.

size_constraints

SizeConstraints

Ograniczenia rozmiaru listy. Jeśli pominiesz to pole, nie będzie żadnych ograniczeń. Ograniczenia są zalecane na wszystkich urządzeniach o ograniczonej mocy obliczeniowej, przepustowości lub pamięci.

HashList

Lista skrótów z nazwą.

Pola
name

string

Nazwa listy skrótów. Pamiętaj, że pamięć podręczna globalna to też tylko lista skrótów, do której możesz się odwołać.

version

bytes

Wersja listy skrótów. Klient NIE MOŻE manipulować tymi bajtami.

partial_update

bool

Jeśli wartość to „true”, jest to częściowa różnica zawierająca dodatki i usunięcia na podstawie tego, co klient już ma. Jeśli wartość jest fałszywa, jest to pełna lista skrótów.

Jeśli wartość jest fałszywa, klient MUSI usunąć każdą lokalnie przechowywaną wersję tej listy skrótów. Oznacza to, że wersja posiadana przez klienta jest bardzo nieaktualna lub dane klienta są prawdopodobnie uszkodzone. Pole compressed_removals będzie puste.

Jeśli wartość to „true”, klient MUSI zastosować aktualizację przyrostową, usuwając elementy, a następnie dodając nowe.

compressed_removals

RiceDeltaEncoded32Bit

Wersja indeksów usuwania zakodowana za pomocą kodowania Rice-delta. Każda lista skrótów ma mniej niż 2^32 pozycji, więc indeksy są traktowane jako 32-bitowe liczby całkowite i kodowane.

minimum_wait_duration

Duration

Klienci powinni odczekać co najmniej tyle czasu, zanim ponownie pobiorą listę skrótów. Jeśli wartość jest pominięta lub wynosi zero, klient POWINIEN natychmiast pobrać dane, ponieważ oznacza to, że serwer ma dodatkową aktualizację do wysłania do klienta, ale nie może tego zrobić z powodu ograniczeń określonych przez klienta.

sha256_checksum

bytes

Posortowana lista wszystkich skrótów ponownie zaszyfrowana za pomocą algorytmu SHA256. Jest to suma kontrolna posortowanej listy wszystkich skrótów obecnych w bazie danych po zastosowaniu podanej aktualizacji. Jeśli nie podano żadnych aktualizacji, serwer pominie to pole, aby wskazać, że klient powinien użyć istniejącej sumy kontrolnej.

metadata

HashListMetadata

Metadane dotyczące listy skrótów. Nie jest wypełniane przez metodę GetHashList, ale jest wypełniane przez metodę ListHashLists.

Pole zbiorcze compressed_additions. Wersja dodatków zakodowana za pomocą algorytmu Rice-delta. Długości prefiksów skrótu w przypadku dodatków są jednolite we wszystkich dodatkach na liście. compressed_additions może mieć tylko jedną z tych wartości:
additions_four_bytes

RiceDeltaEncoded32Bit

4-bajtowe dodatki.

additions_eight_bytes

RiceDeltaEncoded64Bit

8-bajtowe dodatki.

additions_sixteen_bytes

RiceDeltaEncoded128Bit

16-bajtowe dodatki.

additions_thirty_two_bytes

RiceDeltaEncoded256Bit

32-bajtowe dodatki.

HashListMetadata

Metadane dotyczące konkretnej listy skrótów.

Pola
threat_types[]

ThreatType

Lista nieuporządkowana. Jeśli ta lista nie jest pusta, oznacza to, że lista skrótów jest rodzajem listy zagrożeń, a ta lista zawiera rodzaje zagrożeń powiązanych ze skrótami lub prefiksami skrótów na tej liście. Może być puste, jeśli wpis nie stanowi zagrożenia, np. w przypadku, gdy reprezentuje prawdopodobnie bezpieczny typ.

likely_safe_types[]

LikelySafeType

Lista nieuporządkowana. Jeśli ta lista nie jest pusta, oznacza to, że zawiera ona listę prawdopodobnie bezpiecznych haszów, a to wyliczenie określa, w jaki sposób są one uważane za prawdopodobnie bezpieczne. To pole wyklucza się z polem threat_types.

description

string

Zrozumiały dla człowieka opis tej listy. musi być napisana w języku angielskim;

hash_length

HashLength

Obsługiwana długość skrótu na tej liście skrótów. Każda lista skrótów będzie obsługiwać tylko jeden rozmiar. Jeśli dla tego samego zestawu typów zagrożeń lub typów bezpiecznych zostanie wprowadzona inna długość skrótu, zostanie ona dodana jako osobna lista z odrębną nazwą i odpowiednią długością skrótu.

HashLength

Długość skrótów na liście skrótów.

Wartości w polu enum
HASH_LENGTH_UNSPECIFIED Nieokreślona długość.
FOUR_BYTES Każdy skrót to 4-bajtowy prefiks.
EIGHT_BYTES Każdy skrót to 8-bajtowy prefiks.
SIXTEEN_BYTES Każdy skrót to 16-bajtowy prefiks.
THIRTY_TWO_BYTES Każdy z nich to 32-bajtowy pełny skrót.

LikelySafeType

Typy prawdopodobnie bezpiecznych witryn.

Pamiętaj, że SearchHashesResponse celowo nie zawiera LikelySafeType.

Wartości w polu enum
LIKELY_SAFE_TYPE_UNSPECIFIED Brak informacji.
GENERAL_BROWSING Ta witryna jest prawdopodobnie wystarczająco bezpieczna do ogólnego przeglądania. Jest to też nazywane pamięcią podręczną globalną.
CSD Ta witryna jest prawdopodobnie wystarczająco bezpieczna, aby nie trzeba było uruchamiać modeli wykrywania po stronie klienta ani sprawdzać ochrony hasłem.
DOWNLOAD Ta strona jest prawdopodobnie wystarczająco bezpieczna, aby nie trzeba było sprawdzać pobieranych z niej plików.

ListHashListsRequest

Żądanie wyświetlenia listy dostępnych list skrótów.

Pola
page_size

int32

Maksymalna liczba list skrótów do zwrócenia. Usługa może zwrócić mniej niż ta wartość. Jeśli nie zostanie określony, serwer wybierze rozmiar strony, który może być większy niż liczba list skrótów, dzięki czemu nie będzie konieczne dzielenie na strony.

page_token

string

Token strony otrzymany z poprzedniego wywołania ListHashLists. Podaj ten token, aby pobrać kolejną stronę.

ListHashListsResponse

Odpowiedź zawierająca metadane list skrótów.

Pola
hash_lists[]

HashList

Listy skrótów są wyświetlane w dowolnej kolejności. Zawierać będą tylko metadane list skrótów, a nie ich zawartość.

next_page_token

string

Token, który można wysłać jako page_token, aby pobrać następną stronę. Jeśli pominiesz to pole, nie będzie kolejnych stron.

RiceDeltaEncoded128Bit

Tak samo jak RiceDeltaEncoded32Bit, z tym że koduje liczby 128-bitowe.

Pola
first_value_hi

uint64

64 bity wyższego rzędu pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, górne 64 bity są zerowe.

first_value_lo

fixed64

Dolne 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, dolne 64 bity są zerowe.

rice_parameter

int32

Parametr Golomba-Rice’a. Ten parametr na pewno będzie mieścić się w przedziale od 99 do 126 włącznie.

entries_count

int32

Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w first_value.

encoded_data

bytes

Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a.

RiceDeltaEncoded256Bit

Tak samo jak RiceDeltaEncoded32Bit, z tym że koduje liczby 256-bitowe.

Pola
first_value_first_part

uint64

Pierwsze 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, pierwsze 64 bity mają wartość zero.

first_value_second_part

fixed64

Bity od 65 do 128 pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, bity od 65 do 128 są zerami.

first_value_third_part

fixed64

Bity od 129 do 192 pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, bity od 129 do 192 mają wartość zero.

first_value_fourth_part

fixed64

Ostatnie 64 bity pierwszego wpisu w zakodowanych danych (haszach). Jeśli pole jest puste, ostatnie 64 bity są zerami.

rice_parameter

int32

Parametr Golomba-Rice’a. Wartość tego parametru musi mieścić się w przedziale od 227 do 254 włącznie.

entries_count

int32

Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w first_value.

encoded_data

bytes

Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a.

RiceDeltaEncoded32Bit

Dane zakodowane algorytmem Rice-Golomb. Używane w przypadku skrótów lub indeksów usuwania. Każdy skrót lub indeks ma tutaj taką samą długość, która wynosi dokładnie 32 bity.

Ogólnie rzecz biorąc, jeśli posortujemy wszystkie wpisy leksykograficznie, zauważymy, że bity wyższego rzędu zmieniają się rzadziej niż bity niższego rzędu. Oznacza to, że jeśli weźmiemy też sąsiednią różnicę między wpisami, bity wyższego rzędu będą z dużym prawdopodobieństwem zerowe. Wykorzystuje to wysokie prawdopodobieństwo wystąpienia zera, wybierając określoną liczbę bitów. Wszystkie bity o większym znaczeniu niż ta liczba prawdopodobnie będą zerami, więc używamy kodowania unarnego. Sprawdź pole rice_parameter.

Uwaga historyczna: kodowanie Rice-delta zostało po raz pierwszy użyte w wersji 4 tego interfejsu API. W wersji 5 wprowadzono 2 istotne ulepszenia: po pierwsze, kodowanie Rice-delta jest teraz dostępne z prefiksami skrótu dłuższymi niż 4 bajty; po drugie, zakodowane dane są teraz traktowane jako big-endian, aby uniknąć kosztownego kroku sortowania.

Pola
first_value

uint32

Pierwszy wpis w zakodowanych danych (skróty lub indeksy) lub, jeśli zakodowano tylko jeden prefiks skrótu lub indeks, wartość tego wpisu. Jeśli pole jest puste, wpis ma wartość zero.

rice_parameter

int32

Parametr Golomba-Rice’a. Ten parametr musi mieścić się w przedziale od 3 do 30 włącznie.

entries_count

int32

Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w first_value.

encoded_data

bytes

Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a.

RiceDeltaEncoded64Bit

Podobnie jak RiceDeltaEncoded32Bit, z tym że koduje liczby 64-bitowe.

Pola
first_value

uint64

Pierwszy wpis w zakodowanych danych (haszach) lub, jeśli zakodowano tylko 1 prefiks hasza, wartość tego wpisu. Jeśli pole jest puste, wpis ma wartość zero.

rice_parameter

int32

Parametr Golomba-Rice’a. Ten parametr na pewno będzie mieścić się w przedziale od 35 do 62 włącznie.

entries_count

int32

Liczba wpisów, które są zakodowane w danych zakodowanych za pomocą kodowania różnicowego. Jeśli zakodowano tylko jedną liczbę całkowitą, ta wartość będzie wynosić zero, a pojedyncza wartość będzie przechowywana w first_value.

encoded_data

bytes

Zakodowane różnice, które są kodowane za pomocą kodera Golomba-Rice’a.

SearchHashesRequest

Żądanie wysyłane przez klienta w celu wyszukania określonych prefiksów skrótów.

Wyszukiwanie obejmuje tylko listy zagrożeń, a nie listy niezwiązane z zagrożeniami, takie jak globalna pamięć podręczna.

Nowości w wersji 5: klienci nie muszą określać wartości ClientInfo ani stanów list skrótów w lokalnej bazie danych. Zwiększa to ochronę prywatności. Klienci nie muszą też wysyłać informacji o rodzajach zagrożeń, które ich interesują.

Pola
hash_prefixes[]

bytes

Wymagane. Prefiksy wartości hash do wyszukania. Klienci NIE MOGĄ wysyłać więcej niż 1000 prefiksów skrótu. Jednak po zastosowaniu procedury przetwarzania adresów URL klienci NIE POWINNI wysyłać więcej niż 30 prefiksów skrótów.

Obecnie każdy prefiks skrótu musi mieć dokładnie 4 bajty. W przyszłości MOŻE to zostać złagodzone.

filter

string

Opcjonalnie: Jeśli klient jest zainteresowany filtrowaniem, np. pobieraniem tylko określonych rodzajów zagrożeń, może to określić. Jeśli zostanie pominięty, zwracane są wszystkie pasujące zagrożenia. Zalecamy pominięcie tego kroku, aby uzyskać najpełniejszą ochronę, jaką może zapewnić Bezpieczne przeglądanie.

Filtr jest określany za pomocą języka Common Expression Language od Google, który wraz z ogólnymi przykładami znajdziesz na stronie https://github.com/google/cel-spec. Oto kilka konkretnych przykładów, które można tu wykorzystać:

Filtr "threat_type == ThreatType.SOCIAL_ENGINEERING" wymaga, aby w ramach FullHashDetail typ zagrożenia był SOCIAL_ENGINEERING. Identyfikator "threat_type" odnosi się do bieżącego typu zagrożenia. Identyfikator "ThreatType" odnosi się do zbioru wszystkich możliwych typów zagrożeń.

Filtr "threat_type in [ ThreatType.UNWANTED_SOFTWARE, ThreatType.MALWARE ]" wymaga, aby typ zagrożenia był równy UNWANTED_SOFTWARE lub MALWARE.

SearchHashesResponse

Odpowiedź zwracana po wyszukaniu skrótów zagrożeń.

Jeśli nic nie zostanie znalezione, serwer zwróci stan OK (kod stanu HTTP 200) z pustym polem full_hashes, a nie stan NOT_FOUND (kod stanu HTTP 404).

Nowości w wersji 5: nastąpiło rozdzielenie FullHashFullHashDetail. Jeśli skrót reprezentuje witrynę, w której występuje wiele zagrożeń (np. MALWARE i SOCIAL_ENGINEERING), nie trzeba wysyłać pełnego skrótu 2 razy, jak w przypadku wersji 4. Dodatkowo czas trwania pamięci podręcznej został uproszczony do jednego pola cache_duration.

Pola
full_hashes[]

FullHash

Lista nieuporządkowana. Nieuporządkowana lista znalezionych pełnych skrótów.

cache_duration

Duration

Czas trwania pamięci podręcznej po stronie klienta. Klient MUSI dodać ten czas do bieżącego czasu, aby określić czas wygaśnięcia. Czas wygaśnięcia dotyczy każdego prefiksu skrótu, o który klient wysyła zapytanie w żądaniu, niezależnie od tego, ile pełnych skrótów jest zwracanych w odpowiedzi. Nawet jeśli serwer nie zwróci pełnych skrótów dla danego prefiksu skrótu, klient MUSI zapisać tę informację w pamięci podręcznej.

Jeśli pole full_hashes jest puste, klient MOŻE zwiększyć wartość cache_duration, aby określić nowy termin ważności, który jest późniejszy niż ten określony przez serwer. W każdym przypadku wydłużony czas trwania pamięci podręcznej nie może przekraczać 24 godzin.

Ważne: klient NIE MOŻE zakładać, że serwer zwróci ten sam czas trwania pamięci podręcznej dla wszystkich odpowiedzi. Serwer MOŻE wybrać różne czasy trwania pamięci podręcznej dla różnych odpowiedzi w zależności od sytuacji.

SearchUrlsRequest

Żądanie wysyłane przez klienta w celu wyszukania zagrożeń pasujących do określonych adresów URL.

Wyszukiwanie obejmuje tylko listy zagrożeń, a nie listy niezwiązane z zagrożeniami, takie jak globalna pamięć podręczna.

Pola
urls[]

string

Wymagane. Adresy URL do wyszukania. Klienci NIE MOGĄ wysyłać więcej niż 50 adresów URL.

SearchUrlsResponse

Odpowiedź zwrócona po wyszukaniu zagrożeń pasujących do określonych adresów URL.

Jeśli nic nie zostanie znalezione, serwer zwróci stan OK (kod stanu HTTP 200) z pustym polem threats, a nie stan NOT_FOUND (kod stanu HTTP 404).

Pola
threats[]

ThreatUrl

Lista nieuporządkowana. Nieuporządkowana lista znalezionych dopasowań zagrożeń. Każdy wpis zawiera adres URL i typy zagrożeń, które zostały znalezione w tym adresie. Rozmiar listy może być większy niż liczba adresów URL w żądaniu, ponieważ brane są pod uwagę wszystkie wyrażenia adresu URL.

cache_duration

Duration

Czas trwania pamięci podręcznej po stronie klienta. Klient MUSI dodać ten czas do bieżącego czasu, aby określić czas wygaśnięcia. Czas wygaśnięcia dotyczy wtedy każdego adresu URL, o który klient zapytał w żądaniu, niezależnie od tego, ile adresów URL zostało zwróconych w odpowiedzi. Nawet jeśli serwer nie zwróci żadnych wyników dla danego adresu URL, klient MUSI zapisać tę informację w pamięci podręcznej.

Jeśli pole threats jest puste, klient MOŻE zwiększyć wartość cache_duration, aby określić nowy termin ważności, który jest późniejszy niż ten określony przez serwer. W każdym przypadku wydłużony czas trwania pamięci podręcznej nie może przekraczać 24 godzin.

Ważne: klient NIE MOŻE zakładać, że serwer zwróci ten sam czas trwania pamięci podręcznej dla wszystkich odpowiedzi. Serwer MOŻE wybrać różne czasy trwania pamięci podręcznej dla różnych odpowiedzi w zależności od sytuacji.

SizeConstraints

Ograniczenia dotyczące rozmiarów list skrótów.

Pola
max_update_entries

int32

Maksymalny rozmiar podany jako liczba wpisów. Aktualizacja nie będzie zawierać więcej wpisów niż ta wartość, ale może zawierać ich mniej. Musi wynosić co najmniej 1024. Jeśli ta opcja zostanie pominięta lub ma wartość 0, nie zostanie ustawiony limit rozmiaru aktualizacji.

max_database_entries

int32

Określa maksymalną liczbę wpisów, które klient może mieć w lokalnej bazie danych na potrzeby listy. (Serwer MOŻE spowodować, że klient będzie przechowywać mniej wpisów). Jeśli ta opcja zostanie pominięta lub będzie miała wartość 0, nie zostanie ustawiony limit rozmiaru bazy danych.

ThreatAttribute

Atrybuty zagrożeń. Atrybuty te mogą nadawać konkretnemu zagrożeniu dodatkowe znaczenie, ale nie wpływają na jego typ. Na przykład jeden atrybut może określać niższy poziom ufności, a inny – wyższy. W przyszłości możemy dodać więcej atrybutów.

Wartości w polu enum
THREAT_ATTRIBUTE_UNSPECIFIED Nieznany atrybut. Jeśli serwer zwróci ten kod, klient powinien całkowicie zignorować otaczający go znak FullHashDetail.
CANARY Wskazuje, że w przypadku threat_type nie należy stosować egzekwowania.
FRAME_ONLY Wskazuje, że wartość threat_type powinna być używana tylko do egzekwowania zasad w przypadku ramek.

ThreatType

Rodzaje zagrożeń.

Wartości w polu enum
THREAT_TYPE_UNSPECIFIED Nieznany typ zagrożenia. Jeśli serwer zwróci ten kod, klient powinien całkowicie zignorować otaczający go znak FullHashDetail.
MALWARE

Typ zagrożenia związanego ze złośliwym oprogramowaniem. Termin „złośliwe oprogramowanie” odnosi się do programów komputerowych lub aplikacji mobilnych zaprojektowanych specjalnie w celu zaszkodzenia użytkownikom lub zakłócania pracy komputera, urządzenia mobilnego bądź zainstalowanych na nim aplikacji. Działanie złośliwego oprogramowania objawia się instalowaniem programów bez zgody użytkownika lub instalowaniem szkodliwych aplikacji, np. wirusów.

Więcej informacji znajdziesz tutaj.

SOCIAL_ENGINEERING

Typ zagrożenia związanego z inżynierią społeczną. Strony wykorzystujące inżynierię społeczną fałszywie twierdzą, że działają w imieniu osoby trzeciej, aby nakłonić widzów do wykonania czynności, które wykonaliby tylko na prośbę prawdziwego przedstawiciela tej osoby. Phishing to rodzaj inżynierii społecznej, która podstępem nakłania użytkownika do wykonania określonej czynności, np. podania informacji takich jak dane logowania.

Więcej informacji znajdziesz tutaj.

UNWANTED_SOFTWARE Rodzaj zagrożenia związanego z niechcianym oprogramowaniem. Niechciane oprogramowanie to oprogramowanie, które nie jest zgodne z zasadami Google dotyczącymi oprogramowania, ale nie jest złośliwym oprogramowaniem.
POTENTIALLY_HARMFUL_APPLICATION Rodzaj zagrożenia związanego z potencjalnie szkodliwą aplikacją używany przez Google Play Protect w Sklepie Play.

ThreatUrl

Adres URL pasujący do co najmniej 1 zagrożenia.

Pola
url

string

Adres URL, którego dotyczy prośba i który został dopasowany do co najmniej 1 zagrożenia.

threat_types[]

ThreatType

Lista nieuporządkowana. Nieuporządkowana lista zagrożeń, do których zakwalifikowany jest adres URL.