1

Pitch: API da Ruleset julioliraup/Antiphishing está on ar

Agora, é possível consultar FQDN suspeitas de phishing através da API gratuita, a base conta com informações de WHOIS, IP, Geolocalização e mapeamento de ameaça.
https://github.com/julioliraup/AT/wiki/REST-API-USE
Fiz um frontend também: https://julioliraup.github.io/AT

Segue

Documentação da API

URL Base: https://julioliraup.github.io/AT

O Painel Antiphishing expõe uma API JSON pública e de apenas leitura hospedada no GitHub Pages. Ela permite recuperar informações detalhadas sobre SIDs individuais do Suricata, navegar por um índice compacto de todas as regras disponíveis e — para as duas regras baseadas em vetor — consultar a lista completa de domínios junto com estatísticas de distribuição de TLD.


Visão Geral dos Endpoints Disponíveis

#EndpointDescrição
1GET /db/sid/{sid}.jsonDetalhes completos de um SID específico
2GET /db/index.jsonLista compacta de todos os SIDs

1. Obter Detalhes do SID

Endpoint: GET /db/sid/{sid}.json

Parâmetros de Caminho (Path Parameters)

ParâmetroTipoObrigatórioDescrição
sidintegerIdentificador da regra do Suricata. Exemplo: 6005281

Descrição

Retorna a representação JSON completa de uma regra do Suricata. A resposta inclui metadados como classificação, gravidade, protocolo, referências, resultados de varredura (probes) e — para os SIDs 6000000 and 6000001 — um objeto dns_feed com a lista completa de domínios e estatísticas de TLD.


1a. Regra HTTP Padrão (SIDs ≥ 6000002)

A maioria dos SIDs representa URLs individuais de phishing detectadas via HTTP. A resposta segue esta estrutura:

Resposta de Sucesso200 OK

{
  "sid": 6005989,
  "url_path": "/",
  "url_base": "instagramusicabrasilinstagram.blogspot.com",
  "msg": "AT related malicious URL (instagramusicabrasilinstagram.blogspot.com/)",
  "protocol": "http",
  "classtype": "social-engineering",
  "rev": 1,
  "action": "alert",
  "severity": "high",
  "risk_score": 85,
  "references": [
    "openphish.com",
    "julioliraup.github.io/AT/signature.html?sid=6005989"
  ],
  "intel": {
    "virustotal": null,
    "urlhaus": null,
    "shodan": null,
    "ipinfo": null,
    "alienvault": null,
    "phishdestroy": null
  },
  "rule_raw": "alert http \$HOME_NET any -> any any (...)",
  "updated_at": "2026-07-16T15:49:33.214479+00:00",
  "probe": {
    "dns": false,
    "whois": false,
    "status": "stale",
    "note": "dns-and-whois-unresponsive"
  },
  "rule_status": "stale"
}

Referência dos Campos

CampoTipoDescrição
sidintegerIdentificador único da regra do Suricata
url_pathstringCaminho da URI alvo da regra
url_basestringHostname do domínio de phishing
msgstringDescrição da regra legível por humanos
protocolstringProtocolo de rede (http, dns, tls)
classtypestringTipo de classificação do Suricata
revintegerNúmero de revisão da regra
actionstringAção do Suricata (alert)
severitystringNível de gravidade (high)
risk_scoreintegerPontuação numérica de risco (0–100)
referencesarrayURLs de origem e deep-links do painel
intelobjectDados de enriquecimento de fontes externas de inteligência (pode ser null)
rule_rawstringTexto bruto completo da regra do Suricata
updated_atstringTimestamp ISO 8601 da última atualização
probe.dnsbooleanIndica se a resolução de DNS foi bem-sucedida
probe.whoisbooleanIndica se a consulta de WHOIS foi bem-sucedida
probe.statusstringactive = ameaça ativa · stale = não responde mais
rule_statusstringEspelha o valor de probe.status

Nota sobre o rule_status: Um valor stale significa que o domínio estava inacessível durante o último ciclo de varredura. A regra ainda pode ser disparada no Suricata, mas deve ser tratada com menor confiança. Um valor active significa que a ameaça está atualmente ativa.

Nota sobre campos opcionais: Alguns SIDs incluem dados adicionais, como print (URL da captura de tela), intel.alienvault (informações detalhadas do host) ou intel.phishdestroy (análise abrangente da ameaça).

Exemplo de Requisição

GET https://julioliraup.github.io/AT/db/sid/6005989.json

1b. Regras de Vetor — Feed DNS & TLS (SID 6000000 e SID 6000001)

Esses dois SIDs especiais são regras baseadas em vetor. Em vez de focar em uma única URL, cada uma delas faz a correspondência contra uma lista de bloqueio continuamente atualizada de 243.100 domínios suspeitos, cobrindo tanto a detecção de consultas DNS quanto a inspeção de TLS SNI.

SIDProtocoloNome da Regra
6000000dnsAT DNS query to suspicious domain – Phishing
6000001tlsAT TLS SNI to suspicious domain – Phishing

Ambas as regras compartilham uma estrutura de dados dns_feed idêntica contendo:

  • domains_count — número total de domínios na lista de bloqueio
  • top_tlds — distribuição de TLDs em todos os domínios (ordenados por volume)
  • domains — array completo e ordenado dos domínios bloqueados

Resposta de Sucesso200 OK

{
  "sid": 6000000,
  "protocol": "dns",
  "msg": "AT DNS query to suspicious domain - Phishing",
  "classtype": "social-engineering",
  "rev": 1,
  "action": "alert",
  "severity": "high",
  "risk_score": 85,
  "references": [
    "github.com/julioliraup/Antiphishing"
  ],
  "intel": {
    "virustotal": null,
    "urlhaus": null,
    "shodan": null,
    "ipinfo": null,
    "alienvault": null,
    "phishdestroy": null
  },
  "updated_at": "2026-07-31T02:04:48.078155+00:00",
  "dns_feed": {
    "domains_count": 243100,
    "top_tlds": [
      { "tld": "dev", "count": 52913 },
      { "tld": "com", "count": 38697 },
      { "tld": "io",  "count": 23295 },
      { "tld": "co",  "count": 16774 },
      { "tld": "xin", "count": 14924 },
      { "tld": "i",   "count": 13531 },
      { "tld": "de",  "count": 8517  },
      { "tld": "top", "count": 8002  },
      { "tld": "vip", "count": 5490  },
      { "tld": "app", "count": 4257  }
    ],
    "domains": [
      "000811893962007154932393170597959432.hanefra7bikiemta.com",
      "010k365.com",
      "01telegramsexy.pages.dev",
      "..."
    ]
  }
}

Top 10 TLDs no Feed (em 31/07/2026)

PosiçãoTLDDomíniosProporção
🥇 1.dev52.91321.8%
🥈 2.com38.69715.9%
🥉 3.io23.2959.6%
4.co16.7746.9%
5.xin14.9246.1%
6.i13.5315.6%
7.de8.5173.5%
8.top8.0023.3%
9.vip5.4902.3%
10.app4.2571.8%

Total de domínios no feed: 243.100 · Última atualização: 2026-07-31T02:04:48Z

Por que .dev e .io dominam? A maior parte da infraestrutura de phishing neste conjunto de dados abusa do Cloudflare Pages (*.pages.dev) e Cloudflare Workers (*.workers.dev), o que explica a alta participação do .dev. A concentração de .io reflete o abuso de plataformas de hospedagem gratuitas voltadas para desenvolvedores, populares entre atacantes pela rápida implantação e evasão de derrubadas (takedowns).

Exemplos de Requisições

GET https://julioliraup.github.io/AT/db/sid/6000000.json
GET https://julioliraup.github.io/AT/db/sid/6000001.json

⚠️ Aviso: O array domains contém 243.100 entradas (~8.7 MB). Utilize um parser JSON por streaming ou faça a divisão (slice) localmente — evite carregar a resposta inteira na memória em clientes baseados no navegador.


2. Listar Todos os SIDs (Índice)

Endpoint: GET /db/index.json

Descrição

Retorna um array JSON compacto onde cada elemento resume um único SID. Este é o ponto de partida recomendado para construir painéis (dashboards), menus suspensos (dropdowns), interfaces de busca ou paginação.

Resposta de Sucesso200 OK

[
  {
    "sid": 6000000,
    "name": "AT DNS query to suspicious domain - Phishing",
    "protocol": "dns",
    "severity": "high",
    "domains_count": 243100,
    "rule_status": "active"
  },
  {
    "sid": 6000001,
    "name": "AT TLS SNI to suspicious domain - Phishing",
    "protocol": "tls",
    "severity": "high",
    "domains_count": 243100,
    "rule_status": "active"
  },
  {
    "sid": 6000002,
    "name": "AT related malicious URL (www .settlementdomain .com/...)",
    "protocol": "http",
    "severity": "high",
    "rule_status": "active"
  }
  // … muitas outras entradas …
]

Campos da Entrada do Índice

CampoTipoDescrição
sidintegerIdentificador único da regra

Por fim, viva o software livre!

Carregando publicação patrocinada...