O feed é um mecanismo que permite a transmissão contínua e automatizada de dados da API da plataforma Axur para sistemas ou plataformas externas. Atualmente, a plataforma oferece dois modos de entrega de feeds, que utilizam o mesmo formato de dados (JSON) e o mesmo fluxo de criação:
Feed Pull – os dados são consultados sob demanda (polling)
Feed Push (Webhook 2.0) – os dados são enviados automaticamente para um endpoint configurado
No contexto de cibersegurança, os feeds podem ser utilizados para fornecer dados sobre ameaças digitais, como phishing, vazamento de dados, credenciais comprometidas, entre outros potenciais riscos, permitindo integrações com SIEMs e outros sistemas externos.
Tipos de Feeds
Feed Pull
No modo Pull, o sistema externo realiza requisições HTTP para buscar os dados do feed sempre que necessário. Indicado para:
Integrações agendadas
Processamento em lote
Ambientes que já utilizam polling
Feed Push
No modo Push, também conhecido como Webhook 2.0, os eventos são enviados automaticamente pela plataforma Axur para um endpoint definido pelo cliente, assim que novos eventos são gerados. Indicado para:
Integrações automatizadas
SIEMs
Necessidade de baixa latência e entrega contínua
Diferença entre Feed Pull e Feed Push
Característica | Feed Pull | Feed Push |
Forma de entrega | Consulta sob demanda | Envio automático |
Necessidade de polling | Sim | Não |
Latência | Depende da frequência | Próxima do tempo real |
Formato dos dados | JSON | JSON (mesmo formato) |
Como criar um feed
Primeiro, você deve acessar a página de API & Integrações na plataforma (https://one.axur.com/api-integrations) e ir até a seção “Feeds”.
Para iniciar o fluxo de criação, clique no botão “Adicionar feed”. A partir daí, você pode optar por utilizar um template ou por criar seu feed do zero.
Utilizando um template
A plataforma irá sugerir uma lista dos principais casos de uso.
Após selecionar um template, o último passo será somente revisar as configurações. Você pode editá-las, caso deseje algo diferente do que foi sugerido. Se nenhum template atender ao seu caso de uso, clique em “Pular templates”.
Criando o feed do zero
Caso você tenha optado por “Pular templates”, você deverá definir todas as condições do seu feed.
Você deve optar por criar um feed de Tickets ou de Credenciais.
👉 Por se tratarem de APIs diferentes, não é possível criar um único feed para ambos. Ou seja, caso você queira obter dados de ambos os tipos, precisará criar dois feeds.
Selecionar o modo de entrega
Neste momento, você deverá escolher como os dados serão entregues:
Pull – consulta via requisições HTTP
Push (Webhook 2.0) – envio automático para um endpoint configurado
Independentemente da escolha, o formato dos dados e os filtros disponíveis são os mesmos.
2. Você deve preencher as especificações, considerando que:
Data do evento
É a data que será levada em consideração para a atualização dos eventos. É um campo obrigatório. Para credenciais, ele já virá preenchido, já para tickets as opções selecionáveis serão as seguintes:
Primeira detecção (ticket.creation.date): levará em conta só a primeira detecção do ticket ou credencial. Se o mesmo ticket tiver outras detecções, elas não aparecerão no seu feed.
Qualquer detecção (open.date): levará em conta todas as detecções do ticket.
Incidente registrado (incident.date): levará em conta somente a data de incidente registrado. Ou seja, tickets que não se tornaram incidentes não aparecerão no seu feed.
Takedown solicitado (takedown.request.date): levará em conta somente a data de takedown solicitado. Ou seja, tickets que não tiveram takedown solicitado não aparecerão no seu feed.
Qualquer atualização de ticket (ticket.last-update.date): levará em conta toda e qualquer atualização no ticket. Por exemplo: adição de anotações, adição/remoçao de tags, incidente registrado, takedown solicitado, etc. Todas essas ações irão disparar atualiazação do seu feed.
Parâmetros do ticket
Nesse campo você deverá definir quais os filtros do seu feed. Ao clicar em “Mostrar dicas” você verá um exemplo e dicas para a criação do feed. Se escolher mais de um field, você deve utilizar um & entre os parâmetros. Por exemplo: type=fake-social-media-profile&creation.collector=facebook
Este campo é opcional. Se você deixá-lo em branco, receberá todos os eventos da data selecionada no campo de “Data do evento”.
Título do feed
O último passo é você definir um título para o seu feed. Apesar de opcional, esse passo pode ajudar bastante na sua organização. Esta é a única configuração que poderá ser editada após o salvamento do feed.
Características do feed
As características abaixo variam conforme o modo de entrega escolhido:
Características gerais (Pull e Push)
Cada atualização é enviada apenas uma única vez
Os feeds só podem ser criados, editados ou excluídos por Gerentes
Uma vez deletado, o feed não pode ser recuperado
Os parâmetros do feed não podem ser editados após a criação. Para alterar filtros, é necessário criar um novo feed
Características específicas do Feed Pull
O feed precisa ser consultado para enviar atualizações
Intervalo mínimo entre consultas: 30 segundos
Por padrão, apenas eventos ocorridos após a criação do feed são retornados
É possível obter dados históricos adicionando filtros de data
Exemplo:
type=phishing&takedown.request.date=ge:2024-01-01
Características específicas do Feed Push (Webhook 2.0)
Os dados são enviados automaticamente para o endpoint configurado
Não é necessário realizar consultas periódicas
Entrega contínua e com menor latência
Ideal para integrações automatizadas e SIEMs
Utiliza o mesmo formato de payload dos feeds Pull
Lista de feeds
Na lista de feeds você verá todos os feeds criados pelos usuários gerentes do seu time na plataforma Axur. Os feeds possuem três status possíveis:
Verde: Quando o feed obteve ao menos uma requisição nas últimas 24h.
Amarelo: Quando o feed não obteve nenhuma requisição nas últimas 24h.
Vazio: Quando o feed nunca obteve requisições.
Na lista de feeds você consegue ver qual usuário criou o feed e qual usuário editou-o pela última vez. Além disso, também é possível saber quando foi feita a última consulta ao feed e qual foi o último ticket recuperado.
Exemplos de casos de uso
Antes de criar um feed, você deve pensar a qual caso de uso deseja aplicá-lo. Vejamos alguns exemplos abaixo:
Caso de uso: Quero receber detecções de perfis falsos em redes sociais, especificamente de Facebook.
Data do evento: Qualquer detecção (open.date)
Parâmetros: type=fake-social-media-profile&creation.collector=facebook
Título: Perfis falsos em Facebook
Caso de uso: Quero receber tickets de Deep & Dark Web, de todos os tipos, desde Janeiro de 2024.
Data do evento: Qualquer detecção (open.date)
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
Título: Detecções de Deep & Dark Web (Desde 01/01/2024)
Caso de uso: Quero receber tickets de phishing que tiveram takedown solicitado.
Data do evento: Takedown solicitado (takedown.request.date)
Parâmetros: type=phishing
Título: Phisings com Takedown solicitado
Caso de uso: Quero receber todos os tickets que se tornaram incidentes.
Data do evento: Incidente registrado
Parâmetros: Não preencher.
Título: Incidentes da plataforma
Requisição e de resposta
Por ser uma requisição na API da plataforma Axur, sempre deve constar a API Key como autenticação. Para mais informações sobre a autenticação, consulte esta seção da documentação técnica.
Exemplo de resposta de requisição sem atualizações
{
"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
}
}
}Exemplo de resposta de requisição com atualização
{
"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
O que é o ?dry-run=true?
Esse parâmetro é utilizado para testar o feed, devendo ser inserido no final da URL. Por exemplo: https://api.axur.com/gateway/1.0/api/integration-feed/feeds/feed/f27afda8-2e5f-4f55-9243-4941b49ee51e?dry-run=true
Este parâmetro facilita testes, pois fará com que o ponteiro de atualizações do feed não se mova. Uma vez testado e validado que os eventos corretos estão chegando, você deverá remover esse parâmetro para que o ponteiro do feed se mova e você não receba atualizações já lidas.
Qual a diferença entre Feeds e Webhooks?
Nos Feeds o usuário consegue escolher exatamente quais eventos deseja receber, porém, o feed precisa ser consultado para enviarestes eventos. Ou seja, os dados não são enviados em tempo real, de maneira automática.
Nos Webhooks o usuário recebe todos os eventos disponíveis, não podendo filtrar. Além disso, os Webhooks não precisam ser consultados, o envio é feito em tempo real.
Quero um feed de tickets e credenciais, como faço?
Por serem APIs diferentes, você precisará criar dois feeds, um para consultar as detecções de credenciais e outro para consultar as detecções de tickets. Não é possível receber ambos os tipos num mesmo feed.
Se ficar com qualquer dúvida, é só chamar a gente no [email protected] 😊