- 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 de uma só vez.
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[] |
As atualizações da lista de ameaças solicitadas. |
Corpo da resposta
Se bem-sucedido, o corpo da resposta exibirá os dados com a seguinte estrutura:
Representação JSON |
---|
{
"listUpdateResponses": [
{
object ( |
Campos | |
---|---|
listUpdateResponses[] |
As 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. Isso acontece, por exemplo, quando o servidor não tem atualizações para uma lista específica. |
minimumWaitDuration |
O tempo mínimo que o cliente deve aguardar antes de emitir qualquer solicitação de atualização. Se esse campo não for definido, os clientes poderão fazer a atualização assim que quiserem. Duração em segundos com até nove dígitos fracionários, terminando em " |
ListUpdateRequest
Uma única solicitação de atualização de lista.
Representação JSON |
---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
O tipo de ameaça representada pelas entradas presentes na lista. |
platformType |
O tipo de plataforma em risco por entradas presentes na lista. |
threatEntryType |
Os tipos de entradas presentes na lista. |
state |
O estado atual do cliente da lista solicitada, ou seja, 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 conterá mais entradas do que esse valor. Essa potência deve ser uma potência de 2, entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho de 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. Essa potência deve ser uma potência de 2, entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho para o banco de dados será definido. |
region |
Solicita a lista de 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 o 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 o formato ISO 639 alfa-2. |
deviceLocation |
A localização física de um cliente, expressa como um código regional ISO 31166-1 alfa-2. |
CompressionType
As maneiras como os conjuntos de entradas de ameaças podem ser compactados.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconhecido. |
RAW |
Dados brutos e descompactados. |
RICE |
dados codificados por 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 que 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. 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, este campo está vazio ou contém exatamente um ThreatEntrySet. |
newClientState |
O novo estado do cliente, no formato criptografado. Opaca 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 aplicação da 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 |
As atualizações parciais são aplicadas ao banco de dados local atual do cliente. |
FULL_UPDATE |
Atualizações completas substituem todo o banco de dados local do cliente. Isso significa que o cliente estava seriamente desatualizado ou se acreditava que ele estava corrompido. |
ThreatEntrySet
Um conjunto de ameaças que devem ser adicionadas ou removidas do banco de dados local de um cliente.
Representação JSON |
---|
{ "compressionType": enum ( |
Campos | |
---|---|
compressionType |
O tipo de compactação das entradas neste conjunto. |
rawHashes |
Entradas brutas formatadas em SHA256. |
rawIndices |
Os índices de remoção brutos para uma lista local. |
riceHashes |
Os prefixos de 4 bytes codificados de entradas formatadas em SHA256, usando uma codificação Golomb-Rice. Os hashes são convertidos em uint32, classificados em ordem crescente, depois codificados em delta e armazenados comoencodedData. |
riceIndices |
Í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, depois são codificados para delta e armazenados comoencodedData. |
RawHashes
As entradas de ameaças não compactadas em formato hash com um tamanho de prefixo específico. Os hashes podem ter de 4 a 32 bytes. A maioria tem 4 bytes, mas alguns hashes são ampliados se entrarem em conflito 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 sejam de quatro bytes para clientes compatíveis com compactação.
Representação JSON |
---|
{ "prefixSize": integer, "rawHashes": string } |
Campos | |
---|---|
prefixSize |
O número de bytes de cada prefixo codificado abaixo. Esse campo pode estar em qualquer lugar 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 classificada lexicograficamente. |
RiceDeltaEncoding
Os dados codificados por Rice-Golomb. Usado para enviar hashes compactados de 4 bytes 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 foi codificado, o valor desse único número 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 está ausente (ou seja, zero) se |
numEntries |
O número de entradas codificadas em delta nos dados codificados. Se apenas um número inteiro for codificado, ele será zero e o valor único será armazenado em |
encodedData |
Os deltas 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. |