Usar la API de envío

En este documento, se describe cómo enviar las URLs que sospechas que no son seguras a la Navegación segura para analizarlas y verificar de forma asíncrona los resultados de estos envíos. Todas las URLs que se confirme que incumplen las políticas de la Navegación segura se agregarán al servicio de la Navegación segura.

Antes de comenzar

Comunícate con Ventas o con tu ingeniero de atención al cliente para obtener acceso a esta función.

Prácticas recomendadas

Lee las políticas de la Navegación segura

La API de Web Risk Submission revisa si las URLs enviadas tienen contenido que incumple las políticas de la Navegación segura. Los desarrolladores de la API deben asegurarse de que las URLs enviadas tengan pruebas claras de que incumplen estas políticas. En los siguientes ejemplos, se muestran pruebas de incumplimiento de las políticas:

  • Contenido de ingeniería social que imita una marca en línea legítima (nombre de la marca, logotipo, aspecto y estilo), alertas del sistema, usa URLs engañosas o solicita a los usuarios que ingresen credenciales sensibles, como un nombre de usuario o una contraseña
  • Un sitio que aloja un ejecutable de software malicioso conocido

No envíes los siguientes tipos de URLs, ya que es poco probable que se agreguen a la lista de bloqueo de la Navegación segura:

  • Encuestas falsas, sitios de compras o cualquier otra estafa que no demuestre phishing (como las estafas de criptomonedas)
  • Spam que contiene juegos de azar, violencia o contenido para adultos que no es phishing ni software malicioso

Mejorar la detección

Te recomendamos que uses los campos ThreatInfo y ThreatDiscovery para proporcionar información adicional sobre los envíos. Esto podría ayudar a mejorar la detección. Para obtener más información, consulta Prácticas recomendadas para usar la API de Submission.

Taxonomía y segmentación de marcas

Puedes proporcionar informes de abuso más precisos y detallados con los siguientes componentes opcionales en el objeto ThreatInfo: abuseSubtype y targetedBrand. Estos campos ayudan a Web Risk a analizar con mayor precisión las entidades segmentadas y a mejorar los modelos de detección.

abuseSubtype

El campo abuseSubtype proporciona una clasificación detallada de la amenaza. Asegúrate de que este campo se establezca solo cuando el abuseType principal sea SOCIAL_ENGINEERING; de lo contrario, se mostrará un error.

Los valores abuseSubtype admitidos incluyen lo siguiente:

  • BANK_PHISHING: Phishing que se hace pasar por un banco o una entidad financiera de confianza
  • CRYPTO_EXCHANGE_PHISHING: Phishing que se hace pasar por una plataforma de comercio de criptomonedas
  • SOCIAL_MEDIA_PLATFORM_PHISHING: Phishing que se hace pasar por una plataforma de redes sociales
  • RETAIL_PHISHING: Phishing que se hace pasar por una plataforma de venta minorista establecida
  • EMAIL_PROVIDER_PHISHING: Phishing que se hace pasar por un servicio de correo electrónico
  • ENTERTAINMENT_PHISHING: Phishing que se hace pasar por un servicio de entretenimiento
  • GOVERNMENT_AGENCY_PHISHING: Phishing que se hace pasar por un organismo gubernamental para obtener información de identificación personal (PII), como un número de seguridad social o un número de identificación fiscal
  • PACKAGE_TRACKING_SCAM: Imitación de un servicio de envío para obtener PII o detalles de pago
  • FAKE_SUPPORT_SCAM: Sitios web engañosos que afirman tener problemas falsos con el dispositivo para engañar a los usuarios y que compartan PII o se comuniquen con estafadores
  • GOVERNMENT_FINE_SCAM: Contenido engañoso que afirma que se debe pagar una multa cívica pendiente
  • FAKE_PRIZE_SCAM: Páginas engañosas que ofrecen recompensas o premios poco realistas
  • OTHER_PHISHING / OTHER_SCAM: Ataques de ingeniería social que no pertenecen a las otras categorías mencionadas aquí

targetedBrand

El objeto targetedBrand identifica la entidad segmentada por las campañas de phishing y de ingeniería social.

  • brandName: Es el nombre reconocible de la marca o la empresa que se suplanta (por ejemplo, Altostrat).
  • domain: Es el dominio legítimo de la marca que se suplanta (por ejemplo, altostrat.com).

Notas importantes para los participantes de la versión preliminar

  • Coherencia en la taxonomía: El phishing sigue categorizado en el tipo de amenaza SOCIAL_ENGINEERING (en lugar de un tipo superior PHISHING independiente) para garantizar la coherencia en el conjunto de APIs de Web Risk y Navegación segura.
  • Categorías excluidas: Las subcategorías de MALWARE y UNWANTED_SOFTWARE se excluyen de esta versión.
  • Cómo controlar las amenazas no incluidas en la lista: Si tu envío no se asigna a un subtipo específico, usa OTHER_PHISHING o OTHER_SCAM. Te recomendamos que uses el campo comments en ThreatJustification para describir el ataque.
  • Opcional, pero recomendado: Proporcionar estos campos ayuda a Web Risk a priorizar y mejorar los modelos de inteligencia contra amenazas asociados.
  • Fase de vista previa: Los valores y el comportamiento de enumeración de esta función están sujetos a cambios.

Envía URLs

Para enviar una URL, envía una solicitud HTTP POST a el projects.uris.submit método.

  • La API de Submission admite una URL por solicitud. Si deseas verificar varias URL, debes enviar una solicitud diferente para cada una.
  • La URL debe ser válida, pero no es necesario que sea canonicalizada. Para obtener más información, consulta RFC 2396.

  • La respuesta HTTP POST muestra una long-running operation. Para obtener más información sobre cómo recuperar el resultado del envío y verificar su estado, consulta Operaciones de larga duración.

Ejemplo

Método HTTP y URL:

POST https://webrisk.googleapis.com/v1/projects/project-id/uris:submit

Cuerpo JSON de la solicitud:

{
  "submission": {
    "uri": "https://www.example.com/login.html"
  }
}

Para enviar tu solicitud, elige una de estas opciones:

curl

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://webrisk.googleapis.com/v1/projects/project-id/uris:submit"

PowerShell

Guarda el cuerpo de la solicitud en un archivo llamado request.json y ejecuta el siguiente comando:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://webrisk.googleapis.com/v1/projects/project-id/uris:submit" | Select-Object -Expand Content

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "name": "projects/project-number/operations/operation-id",
}

Consulta el estado del envío

Usa el project-number y el operation-id de la respuesta para verificar el estado del envío. El estado se encuentra en el campo metadata.state de la operación que se muestra.

Los estados posibles incluyen RUNNING, SUCCEEDED y CLOSED. Para obtener más información sobre estos estados, consulta Comprende el estado de la operación en la guía Operaciones de larga duración.