Package google.security.safebrowsing.v5

Índice

SafeBrowsing

As APIs de Navegação segura permitem que os clientes verifiquem recursos da Web (geralmente URLs) em relação às listas do Google de recursos inseguros da Web, que são constantemente atualizadas.

SearchHashes

rpc SearchHashes(SearchHashesRequest) returns (SearchHashesResponse)

Pesquise hashes completos que correspondam aos prefixos especificados.

Esse é um método personalizado, conforme definido por https://google.aip.dev/136 (link em inglês). Esse método tem um nome personalizado na nomenclatura geral de desenvolvimento de API do Google, não se refere ao uso de um método HTTP personalizado.

FullHash

O hash completo identificado com uma ou mais correspondências.

Campos
full_hash

bytes

O hash completo correspondente. Esse é o hash SHA256. O comprimento será de exatamente 32 bytes.

full_hash_details[]

FullHashDetail

Lista não ordenada. Um campo repetido que identifica os detalhes relevantes para esse hash completo.

FullHashDetail

Detalhes sobre um hash completo correspondente.

Uma observação importante sobre compatibilidade futura: novos tipos de ameaça e atributos de ameaça podem ser adicionados pelo servidor a qualquer momento; essas adições são consideradas pequenas alterações de versão. É política do Google não expor números de versão secundários nas APIs (consulte https://cloud.google.com/apis/design/versioning para a política de controle de versões). Por isso, os clientes PRECISAM estar preparados para receber mensagens FullHashDetail contendo valores de tipo enumerado ThreatType ou valores de tipo enumerado ThreatAttribute que são considerados inválidos pelo cliente. Portanto, é responsabilidade do cliente verificar a validade de todos os valores de tipo enumerado ThreatType e ThreatAttribute. Se algum valor for considerado inválido, o cliente PRECISA desconsiderar toda a mensagem FullHashDetail.

Campos
threat_type

ThreatType

O tipo de ameaça. Este campo nunca ficará vazio.

attributes[]

ThreatAttribute

Lista não ordenada. Atributos adicionais sobre esses hashes completos. Esse campo pode estar vazio.

SearchHashesRequest

Uma solicitação que o cliente emite para pesquisar prefixos de hash específicos.

Ele foi desenvolvido para pesquisar apenas listas de ameaças, e não listas que não são ameaças, como o Cache global.

Novidades na V5: os clientes não precisam especificar um ClientInfo nem os estados das listas de hash no banco de dados local. Isso é para melhorar a privacidade. Além disso, os clientes não precisam informar quais tipos de ameaça estão interessados.

Campos
hash_prefixes[]

bytes

Obrigatório. Os prefixos de hash a serem pesquisados. Os clientes NÃO PODEM enviar mais de 1.000 prefixos de hash. No entanto, seguindo o procedimento de processamento de URL, os clientes NÃO DEVEM enviar mais de 30 prefixos de hash.

Atualmente, cada prefixo de hash precisa ter exatamente 4 bytes. Isso PODE ser amenizado no futuro.

SearchHashesResponse

A resposta retornada após a pesquisa de hashes de ameaça.

Se nada for encontrado, o servidor retornará um status OK (código de status HTTP 200) com o campo full_hashes vazio, em vez de retornar um status NOT_FOUND (código de status HTTP 404).

Novidades na V5: há uma separação entre FullHash e FullHashDetail. No caso em que um hash representa um site que apresenta várias ameaças (por exemplo, MALWARE e SOCIAL_engineERING), o hash completo não precisa ser enviado duas vezes como na V4. Além disso, a duração do cache foi simplificada em um único campo cache_duration.

Campos
full_hashes[]

FullHash

Lista não ordenada. A lista não ordenada de hashes completos foi encontrada.

cache_duration

Duration

A duração do cache do lado do cliente. O cliente PRECISA adicionar essa duração ao horário atual para determinar o prazo de validade. O prazo de validade é aplicado a cada prefixo de hash consultado pelo cliente na solicitação, independentemente de quantos hashes completos forem retornados na resposta. Mesmo que o servidor não retorne hashes completos para um prefixo de hash específico, esse fato também PRECISA ser armazenado em cache pelo cliente.

Somente se o campo full_hashes estiver vazio, o cliente poderá aumentar o cache_duration para determinar uma nova expiração posterior à especificada pelo servidor. Em qualquer caso, o aumento da duração do cache não pode ser maior do que 24 horas.

Importante: o cliente NÃO PODE presumir que o servidor retornará a mesma duração de cache para todas as respostas. O servidor PODE escolher durações de cache diferentes para respostas distintas, dependendo da situação.

ThreatAttribute

Atributos das ameaças. Esses atributos podem conferir um significado adicional a uma ameaça específica, mas não afetam o tipo dela. Por exemplo, um atributo pode especificar uma confiança mais baixa, enquanto um atributo diferente pode especificar uma confiança mais alta. Mais atributos podem ser adicionados no futuro.

Tipos enumerados
THREAT_ATTRIBUTE_UNSPECIFIED Atributo desconhecido. Se esse valor for retornado pelo servidor, o cliente precisará desconsiderar completamente o FullHashDetail.
CANARY Indica que o threat_type não deve ser usado para aplicação.
FRAME_ONLY Indica que o threat_type deve ser usado apenas para a aplicação em frames.

ThreatType

Tipos de ameaças.

Tipos enumerados
THREAT_TYPE_UNSPECIFIED Tipo de ameaça desconhecido. Se esse valor for retornado pelo servidor, o cliente precisará desconsiderar completamente o FullHashDetail.
MALWARE

Tipo de ameaça de malware. Malware é qualquer software ou aplicativo para dispositivos móveis projetado especificamente para causar danos a um computador, dispositivo móvel, bem como a usuários ou outro software. Além disso, o malware apresenta um comportamento malicioso que pode incluir a instalação de software sem o consentimento do usuário e a instalação de software nocivo, como vírus.

Saiba mais aqui.

SOCIAL_ENGINEERING

Tipo de ameaça de engenharia social. Páginas de engenharia social têm a intenção falsa de agir em nome de terceiros com a intenção de confundir os espectadores, fazendo-os realizar uma ação com a qual eles confiam somente em um agente desse terceiro. Phishing é um tipo de engenharia social que engana o espectador para que realize a ação específica de fornecer informações, como credenciais de login.

Saiba mais aqui.

UNWANTED_SOFTWARE Tipo de ameaça de software indesejado. Software indesejado é qualquer software que não esteja em conformidade com os Princípios de software do Google, mas não seja malware.
POTENTIALLY_HARMFUL_APPLICATION Tipo de ameaça de apps potencialmente nocivos usado pelo Google Play Protect na Play Store.