- Solicitud HTTP
- Parámetros de búsqueda
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- FullHash
- FullHashDetail
- ThreatType
- ThreatAttribute
Busca hashes completos que coincidan con los prefijos especificados.
Este es un método personalizado, como lo define https://google.aip.dev/136 (el método personalizado hace referencia a que este método tiene un nombre personalizado dentro de la nomenclatura de desarrollo general de la API de Google; no hace referencia 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 de hash que se deben buscar. Los clientes NO DEBEN enviar más de 1,000 prefijos hash. Sin embargo, después del procedimiento de procesamiento de URL, los clientes NO DEBEN enviar más de 30 prefijos hash. Actualmente, cada prefijo de hash debe tener exactamente 4 bytes de longitud. Esto PUEDE relajarte en el futuro. String codificada en base64. |
Cuerpo de la solicitud
El cuerpo de la solicitud debe estar vacío.
Cuerpo de la respuesta
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 V5: Hay una separación entre FullHash
y FullHashDetail
. En el caso de que un hash represente un sitio que tiene múltiples amenazas (p.ej., MALWARE y SOCIAL_ENGINEERING), no es necesario enviar el hash completo dos veces como en 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. La lista desordenada de hashes completos encontrados. |
cacheDuration |
La duración de la caché del cliente. El cliente DEBE agregar esta duración a la hora actual para determinar la fecha y hora de vencimiento. Luego, el tiempo de vencimiento se aplica a cada prefijo de hash consultado por el cliente en la solicitud, sin importar cuántos hashes completos se devuelvan en la respuesta. Incluso si el servidor no devuelve hashes completos para un prefijo de hash en particular, el cliente también DEBE almacenar este dato en caché. Solo si el campo Importante: El cliente NO DEBE suponer que el servidor devolverá la misma duración de caché para todas las respuestas. El servidor PUEDE elegir diferentes duraciones de la 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. Un campo repetido que identifica los detalles relevantes para este hash completo. |
FullHashDetail
Detalles sobre un hash completo coincidente.
Nota importante sobre la compatibilidad con versiones futuras: el servidor puede agregar nuevos tipos de amenazas y atributos de amenazas en cualquier momento; esas incorporaciones se consideran cambios de versión menores. La política de Google es no exponer los números de versión secundarios 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 enum ThreatType
o valores enum ThreatAttribute
que el cliente considere no válidos. Por lo tanto, es responsabilidad del cliente verificar la validez de todos los valores enum 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. |
ThreatType
Tipos de amenazas.
Enumeradores | |
---|---|
THREAT_TYPE_UNSPECIFIED |
Tipo de amenaza desconocido. Si el servidor la muestra, el cliente ignorará por completo el FullHashDetail que lo contiene. |
MALWARE |
Tipo de amenaza de software malicioso. Un software malicioso es cualquier software o aplicación que se diseña específicamente para dañar una computadora, un dispositivo móvil, el software que lo ejecuta o a los usuarios. Su objetivo es llevar a cabo una acción malintencionada, como instalar software dañino (por ejemplo, virus) o programas sin el consentimiento del usuario. Puedes obtener más información en este vínculo. |
SOCIAL_ENGINEERING |
Tipo de amenaza de ingeniería social. Las páginas de ingeniería social pretenden actuar en nombre de un tercero con la intención de confundir a los usuarios para que realicen una acción con la que solo confiarían en un agente verdadero de ese tercero. La suplantación de identidad (phishing) es un tipo de ingeniería social que engaña al usuario para que realice la acción específica de proporcionar información, como credenciales de acceso. Puedes obtener más información en este vínculo. |
UNWANTED_SOFTWARE |
Tipo de amenaza de software no deseado. Se denomina software no deseado a cualquier software que no cumpla con los Principios de software de Google, pero que no sea software malicioso. |
POTENTIALLY_HARMFUL_APPLICATION |
Tipo de amenaza de la aplicación potencialmente dañina que usa Google Play Protect para Play Store. |
ThreatAttribute
Atributos de las amenazas Estos atributos pueden conferir un significado adicional a una amenaza en particular, pero no afectarán el tipo de amenaza. Por ejemplo, es posible que un atributo especifique un nivel de confianza menor, mientras que un atributo diferente puede especificar un nivel de confianza más alto. Es posible que se agreguen más atributos en el futuro.
Enumeradores | |
---|---|
THREAT_ATTRIBUTE_UNSPECIFIED |
Atributo desconocido. Si el servidor la muestra, el cliente ignorará por completo el FullHashDetail que lo contiene. |
CANARY |
Indica que no se debe usar ThreatType para la aplicación forzosa. |
FRAME_ONLY |
Indica que el ThreatType solo se debe usar para la aplicación forzosa en los fotogramas. |