- Solicitação HTTP
- Parâmetros de consulta
- Corpo da solicitação
- Corpo da resposta
- FullHash
- FullHashDetail
- ThreatAttribute
Pesquise hashes completos que correspondam aos prefixos especificados.
Este é um método personalizado, conforme definido em https://google.aip.dev/136. O método personalizado se refere a este método com um nome personalizado na nomenclatura geral de desenvolvimento de API do Google. Ele não se refere ao uso de um método HTTP personalizado.
Solicitação HTTP
GET https://safebrowsing.googleapis.com/v5/hashes:search
O URL usa a sintaxe de transcodificação gRPC.
Parâmetros de consulta
Parâmetros | |
---|---|
hashPrefixes[] |
Obrigatório. Os prefixos de hash a serem procurados. 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 precisam enviar mais de 30 prefixos de hash. Atualmente, cada prefixo de hash precisa ter exatamente 4 bytes. Isso PODE ser relaxado no futuro. Uma string codificada em base64. |
Corpo da solicitação
O corpo da solicitação precisa estar vazio.
Corpo da resposta
A resposta retornada após a pesquisa de hashes de ameaças.
Se nada for encontrado, o servidor vai retornar um status OK (código de status HTTP 200) com o campo fullHashes
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
. Quando um hash representa um site com várias ameaças (por exemplo, MALWARE e SOCIAL_ENGINEERING), não é necessário enviar o hash completo duas vezes, como na V4. Além disso, a duração do cache foi simplificada em um único campo cacheDuration
.
Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:
Representação JSON |
---|
{
"fullHashes": [
{
object ( |
Campos | |
---|---|
fullHashes[] |
Lista não ordenada. A lista não ordenada de hashes completos encontrados. |
cacheDuration |
A duração do cache do lado do cliente. O cliente PRECISA adicionar essa duração ao horário atual para determinar o tempo de expiração. O tempo de expiração se aplica a todos os prefixos de hash consultados pelo cliente na solicitação, independentemente de quantos hashes completos são 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. Se e somente se o campo Importante: o cliente NÃO PODE presumir que o servidor vai retornar a mesma duração de cache para todas as respostas. O servidor PODE escolher durações de cache diferentes para respostas diferentes, dependendo da situação. Duração em segundos com até nove dígitos fracionários, terminando em " |
FullHash
O hash completo identificado com uma ou mais correspondências.
Representação JSON |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Campos | |
---|---|
fullHash |
O hash completo correspondente. Este é o hash SHA256. O comprimento será exatamente de 32 bytes. Uma string codificada em base64. |
fullHashDetails[] |
Lista não ordenada. Um campo repetido que identifica os detalhes relevantes para esse hash completo. |
FullHashDetail
Detalhes sobre um hash completo correspondente.
Observação importante sobre a compatibilidade com versões futuras: novos tipos e atributos de ameaça podem ser adicionados pelo servidor a qualquer momento. Essas adições são consideradas mudanças de versão menores. A política do Google é não expor números de versão secundária nas APIs (consulte https://cloud.google.com/apis/design/versioning para conferir a política de controle de versões). Portanto, os clientes precisam estar preparados para receber mensagens FullHashDetail
com valores de enumeração ThreatType
ou 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
.
Representação JSON |
---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
O tipo de ameaça. Esse campo nunca vai ficar vazio. |
attributes[] |
Lista não ordenada. Outros atributos sobre esses hashes completos. Pode estar vazio. |
ThreatAttribute
Atributos de ameaças. Esses atributos podem conferir um significado adicional a uma ameaça específica, mas não afetam o tipo de ameaça. Por exemplo, um atributo pode especificar uma confiança menor, enquanto outro pode especificar uma confiança maior. Mais atributos poderão ser adicionados no futuro.
Enums | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Atributo desconhecido. Se isso for retornado pelo servidor, o cliente vai ignorar completamente o FullHashDetail que o contém. |
CANARY |
Indica que o threatType não deve ser usado para aplicação. |
FRAME_ONLY |
Indica que o threatType só pode ser usado para aplicação em frames. |