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
| # | Endpoint | Descrição |
|---|---|---|
| 1 | GET /db/sid/{sid}.json | Detalhes completos de um SID específico |
| 2 | GET /db/index.json | Lista compacta de todos os SIDs |
1. Obter Detalhes do SID
Endpoint: GET /db/sid/{sid}.json
Parâmetros de Caminho (Path Parameters)
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
sid | integer | ✅ | Identificador 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 Sucesso — 200 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
| Campo | Tipo | Descrição |
|---|---|---|
sid | integer | Identificador único da regra do Suricata |
url_path | string | Caminho da URI alvo da regra |
url_base | string | Hostname do domínio de phishing |
msg | string | Descrição da regra legível por humanos |
protocol | string | Protocolo de rede (http, dns, tls) |
classtype | string | Tipo de classificação do Suricata |
rev | integer | Número de revisão da regra |
action | string | Ação do Suricata (alert) |
severity | string | Nível de gravidade (high) |
risk_score | integer | Pontuação numérica de risco (0–100) |
references | array | URLs de origem e deep-links do painel |
intel | object | Dados de enriquecimento de fontes externas de inteligência (pode ser null) |
rule_raw | string | Texto bruto completo da regra do Suricata |
updated_at | string | Timestamp ISO 8601 da última atualização |
probe.dns | boolean | Indica se a resolução de DNS foi bem-sucedida |
probe.whois | boolean | Indica se a consulta de WHOIS foi bem-sucedida |
probe.status | string | active = ameaça ativa · stale = não responde mais |
rule_status | string | Espelha o valor de probe.status |
Nota sobre o
rule_status: Um valorstalesignifica 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 valoractivesignifica que a ameaça está atualmente ativa.
Nota sobre campos opcionais: Alguns SIDs incluem dados adicionais, como
intel.alienvault(informações detalhadas do host) ouintel.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.
| SID | Protocolo | Nome da Regra |
|---|---|---|
6000000 | dns | AT DNS query to suspicious domain – Phishing |
6000001 | tls | AT 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 bloqueiotop_tlds— distribuição de TLDs em todos os domínios (ordenados por volume)domains— array completo e ordenado dos domínios bloqueados
Resposta de Sucesso — 200 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ção | TLD | Domínios | Proporção |
|---|---|---|---|
| 🥇 1 | .dev | 52.913 | 21.8% |
| 🥈 2 | .com | 38.697 | 15.9% |
| 🥉 3 | .io | 23.295 | 9.6% |
| 4 | .co | 16.774 | 6.9% |
| 5 | .xin | 14.924 | 6.1% |
| 6 | .i | 13.531 | 5.6% |
| 7 | .de | 8.517 | 3.5% |
| 8 | .top | 8.002 | 3.3% |
| 9 | .vip | 5.490 | 2.3% |
| 10 | .app | 4.257 | 1.8% |
Total de domínios no feed: 243.100 · Última atualização:
2026-07-31T02:04:48Z
Por que
.deve.iodominam? 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.ioreflete 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
domainsconté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 Sucesso — 200 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
| Campo | Tipo | Descrição |
|---|---|---|
sid | integer | Identificador único da regra |
- Perfil do projeto: https://github.com/julioliraup/Antiphishing
- Projeto já está disponível no suricata-update <3
- Venha contribuir em codigo ou doaç