- Solicitud HTTP
- Parámetros de búsqueda
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- FullHash
- FullHashDetail
- ThreatAttribute
Busca hashes completos que coincidan con los prefijos especificados.
Este es un método personalizado según se define en https://google.aip.dev/136 (el método personalizado hace referencia a que este método tiene un nombre personalizado dentro de la nomenclatura general de desarrollo de la API de Google; no se refiere al uso de un método HTTP personalizado).
Solicitud HTTP
GET https://safebrowsing.googleapis.com/v5/hashes:search
La URL usa la sintaxis de la transcodificación gRPC.
Parámetros de consulta
Parámetros | |
---|---|
hashPrefixes[] |
Obligatorio. Los prefijos hash que se buscarán. Los clientes NO DEBEN enviar más de 1,000 prefijos de hash. Sin embargo, de acuerdo con el procedimiento de procesamiento de URLs, los clientes NO DEBEN enviar más de 30 prefijos de hash. Actualmente, cada prefijo de hash debe tener exactamente 4 bytes de longitud. Es POSIBLE que esto se flexibilice en el futuro. String codificada en base64. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
Es la respuesta que se muestra después de buscar hashes de amenazas.
Si no se encuentra nada, el servidor mostrará un estado OK (código de estado HTTP 200) con el campo fullHashes
vacío, en lugar de mostrar un estado NOT_FOUND (código de estado HTTP 404).
Novedades de la versión 5: Hay una separación entre FullHash
y FullHashDetail
. En el caso de que un hash represente un sitio con varias amenazas (p.ej., MALWARE y SOCIAL_ENGINEERING), no es necesario enviar el hash completo dos veces como en la V4. Además, la duración de la caché se simplificó en un solo campo cacheDuration
.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{
"fullHashes": [
{
object ( |
Campos | |
---|---|
fullHashes[] |
Lista sin ordenar. Se encontró la lista desordenada de hashes completos. |
cacheDuration |
Es la duración de la caché del cliente. El cliente DEBE agregar esta duración a la hora actual para determinar la hora de vencimiento. Luego, el tiempo de vencimiento se aplica a cada prefijo de hash que consulta el cliente en la solicitud, independientemente de la cantidad de hashes completos que se devuelvan en la respuesta. Incluso si el servidor no muestra hashes completos para un prefijo de hash en particular, el cliente TAMBIÉN DEBE almacenar en caché este hecho. Solo si el campo Importante: El cliente NO DEBE suponer que el servidor mostrará la misma duración de la caché para todas las respuestas. El servidor PUEDE elegir diferentes duraciones de almacenamiento en caché para diferentes respuestas según la situación. Una duración en segundos con hasta nueve dígitos decimales, que terminan en “ |
FullHash
El hash completo identificado con una o más coincidencias
Representación JSON |
---|
{
"fullHash": string,
"fullHashDetails": [
{
object ( |
Campos | |
---|---|
fullHash |
El hash completo coincidente Este es el hash SHA256. La longitud será exactamente de 32 bytes. String codificada en base64. |
fullHashDetails[] |
Lista sin ordenar. Es un campo repetido que identifica los detalles relevantes para este hash completo. |
FullHashDetail
Detalles sobre un hash completo coincidente
Nota importante sobre la retrocompatibilidad: El servidor puede agregar nuevos tipos y atributos de amenazas en cualquier momento. Esas incorporaciones se consideran cambios de versión menores. Es política de Google no exponer números de versión secundaria en las APIs (consulta https://cloud.google.com/apis/design/versioning para conocer la política de control de versiones), por lo que los clientes DEBEN estar preparados para recibir mensajes FullHashDetail
que contengan valores de enumeración ThreatType
o ThreatAttribute
que el cliente considere no válidos. Por lo tanto, es responsabilidad del cliente verificar la validez de todos los valores de enumeración ThreatType
y ThreatAttribute
. Si algún valor se considera no válido, el cliente DEBE ignorar todo el mensaje FullHashDetail
.
Representación JSON |
---|
{ "threatType": enum ( |
Campos | |
---|---|
threatType |
El tipo de amenaza. Este campo nunca estará vacío. |
attributes[] |
Lista sin ordenar. Atributos adicionales sobre esos hashes completos. Puede estar vacío. |
ThreatAttribute
Atributos de amenazas. Estos atributos pueden otorgar un significado adicional a una amenaza en particular, pero no afectarán el tipo de amenaza. Por ejemplo, un atributo puede especificar una confianza más baja, mientras que otro atributo puede especificar una confianza más alta. Es posible que se agreguen más atributos en el futuro.
Enumeraciones | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Atributo desconocido. Si el servidor muestra esto, el cliente debe ignorar el FullHashDetail que lo contiene por completo. |
CANARY |
Indica que no se debe usar threatType para la aplicación forzosa. |
FRAME_ONLY |
Indica que threatType solo debe usarse para la aplicación forzosa en marcos. |