- Solicitação HTTP
- Corpo da solicitação
- Corpo da resposta
- ListUpdateRequest
- Restrições
- CompressionType
- ListUpdateResponse
- ResponseType
- ThreatEntrySet
- RawHashes (link em inglês)
- 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 de lista solicitadas pelos clientes. O número de respostas 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 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 ser atualizados assim que quiserem. Uma 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 representado pelas entradas presentes na lista. |
platformType |
O tipo de plataforma em risco de acordo com as 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 esta 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. 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. Deve ser uma potência de 2 entre 2**10 e 2**20. Se for zero, nenhum limite de tamanho de banco de dados será definido. |
region |
Solicita a lista para um local geográfico específico. Se ele não for definido, o servidor poderá escolher esse valor com base no endereço IP do usuário. Espera-se o formato ISO 3166-1 alfa-2. |
supportedCompressions[] |
Os tipos de compactação compatíveis com o cliente. |
language |
Solicita as listas para um idioma específico. Espera-se o formato ISO 639 alfa-2. |
deviceLocation |
O local físico de um cliente, expresso como um código regional ISO 31166-1 alfa-2. |
CompressionType
Os modos pelos quais os conjuntos de entradas de ameaças podem ser compactados.
Enums | |
---|---|
COMPRESSION_TYPE_UNSPECIFIED |
Desconhecido. |
RAW |
Dados brutos e não compactados. |
RICE |
Dados codificados de arroz em 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 adicionar à 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, 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 |
As atualizações parciais são aplicadas ao banco de dados local do cliente. |
FULL_UPDATE |
As atualizações completas substituem todo o banco de dados local do cliente. Isso significa que o cliente estava seriamente desatualizado ou acredita-se que ele estivesse corrompido. |
ThreatEntrySet
Um conjunto de ameaças que deve ser adicionada ou removida do banco de dados local do cliente.
Representação JSON |
---|
{ "compressionType": enum ( |
Campos | |
---|---|
compressionType |
O tipo de compactação para as entradas nesse conjunto. |
rawHashes |
Entradas brutas formatadas em SHA256. |
rawIndices |
Os índices brutos de remoção para uma lista local. |
riceHashes |
Os prefixos de 4 bytes codificados das entradas formatadas em 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 classificados, 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
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 deles tem 4 bytes, mas alguns hashes são ampliados se colidem 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 (menor prefixo) a 32 (hash SHA256 completo). |
rawHashes |
Os hashes, em formato binário, concatenados em uma única 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 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 for codificado, o valor desse 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 estará ausente (ou seja, zero) se |
numEntries |
O número de entradas com codificação delta nos dados codificados. Se apenas um número inteiro for 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. |