- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- ListUpdateRequest
- Restrições
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes
- RawIndices
- RiceDeltaEncoding
- Soma de verificação
Busca as atualizações mais recentes da lista de ameaças. Um cliente pode solicitar atualizações para várias listas ao mesmo tempo.
Solicitação HTTP
POST https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch
O URL usa a sintaxe de transcodificação gRPC.
Corpo da solicitação
O corpo da solicitação contém dados com a seguinte estrutura:
Representação JSON | |
---|---|
{ "client": { object ( |
Campos | |
---|---|
client |
Os metadados do cliente. |
listUpdateRequests[] |
A lista de ameaças solicitada é atualizada. |
Corpo da resposta
Se bem-sucedido, o corpo da resposta exibirá os dados com a seguinte estrutura:
Representação JSON | |
---|---|
{
"listUpdateResponses": [
{
object ( |
Campos | |
---|---|
listUpdateResponses[] |
Atualizações da lista solicitadas pelos clientes. O número de respostas aqui pode ser menor que o número de solicitações enviadas pelos clientes. Esse é o caso, por exemplo, quando o servidor não tem atualizações para determinada lista. |
minimumWaitDuration |
A duração mínima que o cliente precisa esperar antes de emitir qualquer solicitação de atualização. Se este campo não for definido, os clientes poderão atualizar assim que quiserem. Uma duração em segundos com até nove dígitos fracionários, encerrada por " |
ListUpdateRequest
Uma única solicitação de atualização de lista.
Representação JSON | |
---|---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
O tipo de ameaça representado pelas entradas presentes na lista. |
platformType |
O tipo de plataforma em risco pelas entradas presentes na lista. |
threatEntryType |
Os tipos de entradas presentes na lista. |
state |
O estado atual do cliente para a lista solicitada (o estado criptografado do cliente recebido na última atualização bem-sucedida da lista). Uma string codificada em base64. |
constraints |
As restrições associadas a essa solicitação. |
Restrições
As restrições para esta atualização.
Representação JSON | |
---|---|
{
"maxUpdateEntries": integer,
"maxDatabaseEntries": integer,
"region": string,
"supportedCompressions": [
enum ( |
Campos | |
---|---|
maxUpdateEntries |
O tamanho máximo em número de entradas. A atualização não terá mais entradas do que esse valor. Deve ser uma potência de 2 entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho da atualização será definido. |
maxDatabaseEntries |
Define o número máximo de entradas que o cliente está disposto a ter no banco de dados local para a lista especificada. Deve ser uma potência de 2 entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho do banco de dados será definido. |
region |
Solicita a lista para uma localização geográfica específica. Se ele não for definido, o servidor poderá escolher esse valor com base no endereço IP do usuário. Espera-se no formato ISO 3166-1 alfa-2. |
supportedCompressions[] |
Os tipos de compactação aceitos pelo cliente. |
language |
Solicita as listas para um idioma específico. Espera-se no formato ISO 639 alfa-2. |
deviceLocation |
O local físico de um cliente, expresso como um código de região ISO 31166-1 alfa-2. |
CompressionType
Como os conjuntos de entradas de ameaças podem ser compactados.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconhecido. |
RAW |
Dados brutos e descompactados |
RICE |
Dados codificados em Rice-Golomb. |
ListUpdateResponse
Atualização de uma lista individual.
Representação JSON | |
---|---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
O tipo de ameaça para o qual os dados são retornados. |
threatEntryType |
O formato das ameaças. |
platformType |
O tipo de plataforma para o qual os dados são retornados. |
responseType |
O tipo de resposta. Isso pode indicar que o cliente precisa realizar uma ação quando a resposta é recebida. |
additions[] |
Um conjunto de entradas a serem adicionadas à lista de um tipo de ameaça local. Ele é repetido para permitir que uma combinação de dados compactados e brutos seja enviada em uma única resposta. |
removals[] |
Um conjunto de entradas a serem removidas da lista de um tipo de ameaça local. Na prática, esse campo está vazio ou contém exatamente um ThreatEntrySet. |
newClientState |
O novo estado do cliente, em formato criptografado. Opaco para os clientes. Uma string codificada em base64. |
checksum |
O hash SHA256 esperado do estado do cliente, ou seja, da lista classificada de todos os hashes presentes no banco de dados após a atualização fornecida. Se o estado do cliente não corresponder ao estado esperado, o cliente deverá ignorar essa atualização e tentar novamente mais tarde. |
ResponseType
O tipo de resposta enviada ao cliente.
Enums | |
---|---|
RESPONSE_TYPE_UNSPECIFIED |
Desconhecido. |
PARTIAL_UPDATE |
Atualizações parciais são aplicadas ao banco de dados local atual do cliente. |
FULL_UPDATE |
As atualizações completas substituem todo o banco de dados local do cliente. Isso significa que o cliente estava muito desatualizado ou acredita-se que ele estivesse corrompido. |
ThreatEntrySet
Um conjunto de ameaças que precisam ser adicionadas ou removidas do banco de dados local de um cliente.
Representação JSON | |
---|---|
{ "compressionType": enum ( |
Campos | |
---|---|
compressionType |
O tipo de compactação para as entradas neste conjunto. |
rawHashes |
As entradas brutas no formato SHA256. |
rawIndices |
Os índices brutos de remoção para uma lista local. |
riceHashes |
Os prefixos de 4 bytes codificados das entradas no formato SHA256, usando uma codificação Golomb-Rice. Os hashes são convertidos em uint32, classificados em ordem crescente e, em seguida, codificados em delta e armazenados comoencodedData. |
riceIndices |
Os índices de lista locais codificados lexicograficamente, usando uma codificação Golomb-Rice. Usado para enviar índices de remoção compactados. Os índices de remoção (uint32) são classificados em ordem crescente e, em seguida, codificados em delta e armazenados comoencodedData. |
RawHashes
As entradas de ameaça não compactadas no formato hash com um tamanho de prefixo específico. Os hashes podem ter de 4 a 32 bytes. A maioria deles tem 4 bytes, mas alguns hashes são maiores se colidirem com o hash de um URL conhecido.
Usado para enviar ThreatEntrySet a clientes que não oferecem suporte à compactação ou ao enviar hashes que não são de 4 bytes a clientes compatíveis.
Representação JSON | |
---|---|
{ "prefixSize": integer, "rawHashes": string } |
Campos | |
---|---|
prefixSize |
O número de bytes de cada prefixo codificado abaixo. Esse campo pode ser de 4 (prefixo mais curto) a 32 (hash SHA256 completo). |
rawHashes |
Os hashes, em formato binário, concatenados em uma string longa. Os hashes são classificados em ordem lexicográfica. Para usuários da API JSON, os hashes são codificados em base64. Uma string codificada em base64. |
RawIndices
Um conjunto de índices brutos a serem removidos de uma lista local.
Representação JSON | |
---|---|
{ "indices": [ integer ] } |
Campos | |
---|---|
indices[] |
Os índices a serem removidos de uma lista local lexicograficamente classificada. |
RiceDeltaEncoding
Os dados codificados em Rice-Golomb. Usado para enviar hashes de 4 bytes compactados ou índices de remoção compactados.
Representação JSON | |
---|---|
{ "firstValue": string, "riceParameter": integer, "numEntries": integer, "encodedData": string } |
Campos | |
---|---|
firstValue |
O deslocamento da primeira entrada nos dados codificados ou, se apenas um número inteiro tiver sido codificado, o valor desse único inteiro. Se o campo estiver vazio ou ausente, considere zero. |
riceParameter |
O parâmetro Golomb-Rice, que é um número entre 2 e 28. Este campo estará ausente (ou seja, zero) se |
numEntries |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro tiver sido codificado, esse valor será zero e o valor único será armazenado em |
encodedData |
Os deltas codificados que são codificados usando o codificador Golomb-Rice. Uma string codificada em base64. |
Soma de verificação
O estado esperado do banco de dados local de um cliente.
Representação JSON | |
---|---|
{ "sha256": string } |
Campos | |
---|---|
sha256 |
O hash SHA256 do estado do cliente, ou seja, da lista classificada de todos os hashes presentes no banco de dados. Uma string codificada em base64. |