Ir al contenido principal

Feed

Actualizado hace más de 3 semanas

Un feed es un mecanismo que permite la transmisión continua y automatizada de datos desde la API de la plataforma Axur hacia sistemas o plataformas externas. Actualmente, la plataforma ofrece dos modos de entrega de feeds, ambos utilizando el mismo formato de datos (JSON) y el mismo flujo de creación:

  • Feed Pull – los datos se consultan bajo demanda (polling)

  • Feed Push (Webhook 2.0) – los datos se envían automáticamente a un endpoint configurado

En el contexto de la ciberseguridad, los feeds pueden utilizarse para proporcionar datos sobre amenazas digitales, como phishing, filtraciones de datos, credenciales comprometidas, entre otros riesgos potenciales, permitiendo integraciones con SIEMs y otros sistemas externos.


Tipos de Feeds

Feed Pull

En el modo Pull, el sistema externo realiza solicitudes HTTP para obtener los datos del feed cuando sea necesario. Recomendado para:

  • Integraciones programadas

  • Procesamiento por lotes

  • Entornos que ya utilizan polling

Feed Push

En el modo Push, también conocido como Webhook 2.0, los eventos son enviados automáticamente por la plataforma Axur a un endpoint definido por el cliente, tan pronto como se generan nuevos eventos. Recomendado para:

  • Integraciones automatizadas

  • SIEMs

  • Casos que requieren baja latencia y entrega continua

Diferencia entre Feed Pull y Feed Push

Característica

Feed Pull

Feed Push

Forma de entrega

Consulta bajo demanda

Envío automático

Necesidad de polling

No

Latencia

Depende de la frecuencia

Cercana al tiempo real

Formato de los datos

JSON

JSON (mismo formato)


Cómo crear un feed

Primero, debes acceder a la página de API & Integraciones en la plataforma (https://one.axur.com/api-integrations) y dirigirte a la sección de “Feeds”. Para iniciar el flujo de creación, haz clic en el botón "Añadir feed". A partir de ahí, puedes elegir usar una plantilla o crear tu feed desde cero.

Usando una plantilla

La plataforma sugerirá una lista de los principales casos de uso.

Después de seleccionar una plantilla, el último paso será revisar la configuración. Puedes editarla si deseas algo diferente de lo que se sugirió. Si ninguna plantilla se ajusta a tu caso de uso, haz clic en "Saltar plantillas".

Creando el feed desde cero

Si elegiste “Omitir plantillas”, deberás definir todas las condiciones de tu feed.

  1. Debes optar por crear un feed de Tickets o de Credenciales.

👉 Como se trata de APIs diferentes, no es posible crear un único feed para ambos tipos. Es decir, si deseas obtener datos de ambos, deberás crear dos feeds separados.

Seleccionar el modo de entrega

En este momento, deberá elegir cómo se entregarán los datos:

  • Pull – consulta mediante solicitudes HTTP

  • Push (Webhook 2.0) – envío automático a un endpoint configurado

Independientemente de la opción elegida, el formato de los datos y los filtros disponibles son los mismos.

2. Debes completar las especificaciones considerando que:


​Fecha del evento

Es la fecha que se tomará en cuenta para la actualización de los eventos. Este campo es obligatorio.
Para credenciales, ya vendrá rellenado. Para tickets, las opciones seleccionables serán las siguientes:

  • Primera detección (ticket.creation.date): solo tomará en cuenta la primera detección del ticket o credencial. Si el mismo ticket tiene otras detecciones, no aparecerán en tu feed.

  • Cualquier detección (open.date): tomará en cuenta todas las detecciones del ticket.

  • Incidente registrado (incident.date): solo tomará en cuenta la fecha en que se registró el incidente. Los tickets que no se hayan convertido en incidentes no aparecerán en tu feed.

  • Solicitud de takedown (takedown.request.date): solo considerará la fecha en que se solicitó el takedown. Los tickets sin solicitud de takedown no aparecerán en tu feed.

  • Cualquier actualización del ticket (ticket.last-update.date): considerará cualquier actualización en el ticket. Por ejemplo: agregar notas, agregar o eliminar etiquetas, registrar incidente, solicitar takedown, etc. Todas estas acciones activarán una actualización en tu feed.

Parámetros del ticket


En este campo deberás definir los filtros de tu feed. Al hacer clic en “Mostrar consejos” verás un ejemplo y sugerencias para crear el feed.
Si eliges más de un campo, debes usar un & entre los parámetros. Por ejemplo:
type=fake-social-media-profile&creation.collector=facebook

Título del feed

El último paso es definir un título para tu feed. Aunque es opcional, este paso puede ayudarte mucho a mantener tu organización.
Esta es la única configuración que se puede editar después de guardar el feed.


Características del feed

El feed de la API de la plataforma de Axur tiene las siguientes características:

  • Debe ser consultado para enviar actualizaciones. Las consultas deben tener un intervalo mínimo de 30 segundos.

  • Por defecto, las actualizaciones enviadas son solo las que ocurren después de la creación del feed, no los eventos retrospectivos de la plataforma. Si lo deseas, puedes agregar un filtro de fecha para obtener resultados históricos. Por ejemplo: type=phishing&takedown.request.date=ge:2024-01-01.

  • Los feeds solo pueden ser creados, editados y eliminados por los gestores. Otros perfiles de usuarios de la plataforma solo pueden ver la lista de feeds, pero no pueden realizar ninguna acción.

  • Cada feed envía la misma actualización solo una vez.

  • Una vez eliminado, el feed no se puede recuperar.

  • Una vez creado, los parámetros del feed no se pueden editar. En este caso, recomendamos crear otro feed.


Lista de feeds

En la lista de feeds, verás todos los feeds creados por los usuarios gestores de tu equipo en la plataforma de Axur. Los feeds tienen tres estados posibles:

  • Verde: cuando el feed ha recibido al menos una solicitud en las últimas 24 horas.

  • Amarillo: cuando el feed no ha recibido solicitudes en las últimas 24 horas.

  • Vacío: cuando el feed nunca ha recibido solicitudes.


En la lista de feeds, puedes ver qué usuario creó el feed y quién fue el último en editarlo. Además, también es posible ver cuándo se hizo la última consulta al feed y qué ticket fue el último en ser recuperado.


Ejemplos de casos de uso

Antes de crear un feed, debes considerar qué caso de uso deseas aplicar. Aquí hay algunos ejemplos:

  1. Caso de uso: Quiero recibir detecciones de perfiles falsos de redes sociales, específicamente de Facebook.

    1. Fecha del evento: Cualquier detección (open.date)

    2. Parámetros: type=perfil-falso-red-social&creation.collector=facebook

    3. Título: Perfiles falsos de Facebook

  2. Caso de uso: Quiero recibir tickets de la Deep & Dark Web de todo tipo, a partir de enero de 2024.

    1. Fecha del evento: Cualquier detección (open.date)

    2. Parámetros: type=dw-activity,data-exposure-message,data-exposure-website,data-sale-message,data-sale-website,fraud-tool-scheme-message,fraud-tool-scheme-website,suspicious-activity-message,suspicious-activity-website,infrastructure-exposure,ransomware-attack&open.date=ge2024-01-01

    3. Título: Detecciones de Deep & Dark Web (Desde 01/01/2024)

  3. Caso de uso: Quiero recibir tickets de phishing que hayan tenido una solicitud de eliminación.

    1. Fecha del evento: Solicitud de eliminación (takedown.request.date)

    2. Parámetros: type=phishing

    3. Título: Phishings con solicitud de eliminación

  4. Caso de uso: Quiero recibir todos los tickets que se convirtieron en incidentes.

    1. Fecha del evento: Incidente registrado

    2. Parámetros: Déjalo en blanco.

    3. Título: Incidentes en la plataforma


Solicitud y respuesta

Como es una solicitud en la API de la plataforma de Axur, siempre se debe incluir la API Key como autenticación. Para obtener más información sobre la autenticación, consulta esta sección de la documentación técnica.

Ejemplo de una respuesta de solicitud sin actualizaciones

{
"feedData": {
"id": "f48ba821-2880-48fc-bc0e-dffe8312ad4d",
"title": "Detecções de Executivos & VIPs",
"url": "https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/f48ba821-2880-48fc-bc0e-dffe8312ad4d",
"createdAt": 1728325096238,
"lastRequest": 1728325104483,
"isActive": true,
"customerKey": "CTA",
"params": "type=executive-fake-social-media-profile,executive-personalinfo-leak,executive-credential-leak,executive-mobile-phone,executive-card-leak",
"eventDate": "open.date",
"nextPage": 1,
"feedType": "ticket"
},
"collectionData": {
"tickets": [],
"pageable": {
"pageNumber": 1,
"pageSize": 50,
"total": 0
}
}
}

Ejemplo de una respuesta de solicitud con actualizaciones

{
"feedData": {
"id": "31575706-f762-4c56-aafc-78542c9e670b",
"title": "Phishings marcados como incidente",
"url": "https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/31575706-f762-4c56-aafc-78542c9e670b",
"lastDataRetrieved": "z5qb1r",
"createdAt": 1728336214469,
"lastRequest": 1728336221044,
"isActive": true,
"customerKey": "ORMUS",
"params": "type=phishing&incident.date=ge2021-01-01",
"eventDate": "incident.date",
"nextPage": 1,
"feedType": "ticket"
},
"collectionData": {
"tickets": [
{
"ticket": {
"reference": "https://ormuspay.wixsite.com/ormuspay/phish-pt",
"ticketKey": "z5qb1r",
"customerKey": "ORMUS",
"creation.user": "10426",
"last-update.date": "2023-01-10T17:34:45Z",
"creation.customer": "ORMUS",
"creation.date": "2022-07-22T13:43:18Z"
},
"detection": {
"creation.user": "10426",
"close.date": "2022-07-26T12:20:36Z",
"treatment.type": "axur",
"incident.date": "2022-07-22T13:43:19Z",
"takedown.notification.date": [
"2022-07-25T17:24:41Z"
],
"isp": "Wix.com Ltd.",
"treatment.date": "2022-07-25T17:22:39Z",
"type": "phishing",
"takedown.resolution": "resolved",
"resolution": "resolved",
"assets": [
"ORMUSP"
],
"host": "ormuspay.wixsite.com",
"takedown.request.date": "2022-07-25T17:19:38Z",
"group": [
null,
"efc_autonotification_failed",
"efc_af_second_verification",
"reup_validation"
],
"takedown.verification.last.type": "auto",
"open.date": "2022-07-22T13:43:18Z",
"takedown.notification.last.type": "manual",
"takedown.reup": "false",
"ip": "199.15.163.145",
"takedown.close.date": "2022-07-26T12:20:36Z",
"creation.customer": "ORMUS",
"domain.registrar": "GoDaddy.com, LLC",
"takedown": "true",
"resolution.reason": "",
"takedown.verification.date": [
"2022-07-26T00:35:12Z",
"2022-07-26T06:52:39Z"
],
"domain": "wixsite.com",
"takedown.uptime": "68155281",
"takedown.close.type": "manual",
"status": "closed"
},
"texts": [],
"snapshots": {
"ipFilter": {
"filtering": false,
"countries": []
},
"content": {
"title": "Login ormus-pay | Ormuspay",
"httpStatusCode": {
"code": 200,
"message": "OK"
},
"hashMD5": {
"value": "ed1e1924300caf7f9902b15df7472cca"
}
},
"isp": {
"location": {
"country": {
"name": "United States"
}
},
"name": "Wix.com Ltd."
},
"digitalLocation": {
"url": "https://ormuspay.wixsite.com/ormuspay/phish-pt",
"host": {
"name": "ormuspay.wixsite.com",
"domain": {
"name": "wixsite.com"
},
"ip": {
"address": "199.15.163.145"
}
}
},
"referenceInfo": {
"originalReference": "https://ormuspay.wixsite.com/ormuspay/phish-pt",
"redirectChain": [],
"finalReference": "https://ormuspay.wixsite.com/ormuspay/phish-pt"
},
"domainInfo": {
"status": "Registered",
"registrar": "GoDaddy.com, LLC",
"registrarEmail": "[email protected]",
"registrant": "Registration Private",
"registrantEmail": "Select Contact Domain Holder link at https://www.godaddy.com/whois/results.aspx?domain=wixsite.com",
"nameServers": {
"hostnames": [
"dns1.p07.nsone.net",
"dns2.p07.nsone.net",
"dns3.p07.nsone.net",
"dns4.p07.nsone.net"
],
"ipAddresses": [
null,
null,
null,
null,
null,
null,
null,
null
]
}
}
}
}
],
"pageable": {
"pageNumber": 1,
"pageSize": 50,
"total": 1
}
}

FAQ

¿Qué es ?dry-run=true?

Este parámetro se utiliza para probar el feed y debe añadirse al final de la URL. Por ejemplo:https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/f27afda8-2e5f-4f55-9243-4941b49ee51e?dry-run=true.

Este parámetro facilita las pruebas, ya que evitará que el puntero de actualización del feed se mueva. Una vez probado y validado que los eventos correctos están llegando, deberás eliminar este parámetro para que el puntero del feed se mueva y no recibas actualizaciones ya leídas.

¿Cuál es la diferencia entre Feeds y Webhooks?

En los Feeds, el usuario puede elegir exactamente qué eventos desea recibir, pero el feed debe ser consultado para enviar estos eventos. Es decir, los datos no se envían en tiempo real ni se actualizan automáticamente.

En los Webhooks, el usuario recibe todos los eventos disponibles sin poder filtrarlos. Además, los Webhooks no necesitan ser consultados; el envío se realiza en tiempo real.

Quiero un feed de tickets y credenciales, ¿cómo lo hago?

Como se trata de APIs diferentes, deberás crear dos feeds distintos: uno para consultar las detecciones de credenciales y otro para consultar las detecciones de tickets. No es posible recibir ambos tipos en un mismo feed.


Si tienes cualquier duda, puedes contactarnos en [email protected] 😊

¿Ha quedado contestada tu pregunta?