EM ANDAMENTO
Resumo técnico
O NEXUS CrowdSec CTI consulta a API de Cyber Threat Intelligence do CrowdSec (13B+ IPs observados) para reputação de IP com score de agressividade, classificações, behaviors, ASN e país. Usa cache local de 24 h, limite diário de queries (community 50/dia) e enriquecimento automático via Intelligence Hub.
Escopo executado
- Registro do plugin (
registerTab('crowdsec-cti','CrowdSec CTI','shield-alert',tab.php,'Threat Intel')+registerDoc) e migração de banco viaPluginMigrationRunner(migrations/001_create_crowdsec_tables.php) criandocrowdsec_cache(PK por IP, result_json, overall_score, classification, expires_at com índices) ecrowdsec_history(auto-incremento, ip, score, classification, behaviors_json, source, cached, created_at com índices). - API com 11 actions:
crowdsec_status(stats + queries restantes),crowdsec_lookup(consulta única comforce),crowdsec_batch(lote por array ou texto),crowdsec_history(paginado por classification),crowdsec_alerts(IPs suspicious+),crowdsec_blocklist(checagem de IP problemático),crowdsec_enrich_task(extrai IPs da tarefa),crowdsec_settings/settings_save(key, tier, auto_enrich, daily_limit, alert_score),crowdsec_test_key(valida chave) ecrowdsec_purge(limpa expirados;all=1limpa tudo). - Integração CrowdSec CTI API v2 (
/v2/smoke/{ip}): base pública de 13B+ IPs; community tier com limite diário de 50 queries (reset automático por data) e premium sem limite local; key validada com teste de conexão no painel. - Classificação local:
crowdsec_signal_from_normalized()converte score/behaviors em label — score ≥ 70 ou ≥ 3 behaviors →malicious, score ≥ 30 →suspicious, demais (ou 404 CTI) →clean. - Cache local TTL 24 h:
crowdsec_cache_get/setrespondem do banco em cache válido (expires_at) ecrowdsec_can_query()controla o orçamento diário antes de consultar a API. - Enriquecimento (Intelligence Hub):
nx_intel_register_enricher('crowdsec-cti', ['ip'], 'crowdsec_intel_enrich', 48)publica sinais emtask.intel/comment.intel(sourcecrowdsec-cti) com toggle auto-enrich. - Cronjob
crowdsec_purge(tick, throttle 12 h) removendo entradas expiradas; CLI allowlistedcli.phproda o mesmo purge e aplica migrações viaPluginMigrationRunner. - Fast Responses: manifesto
fastr.jsoncom/crowdsec <IP>(arg obrigatório), actioncrowdsec_lookup. - Interface (
tab.php, 556 linhas, AlpinecrowdsecApp()): 6 abas — Lookup, Batch, Histórico, Alertas, Task e Configurações (tier community/premium, alert_score, teste de chave).
Stack e ferramentas
- PHP 8 backend (sem framework) + MySQL 8 (
crowdsec_cache,crowdsec_history) - CrowdSec CTI API v2 (
/v2/smoke/{ip}) com cache 24 h e orçamento diário - Sistema de migrations do core (
PluginMigrationRunner) - Alpine.js + Tailwind CSS (
tab.php) - Plugin API interno: PluginManager tabs/actions +
cronjob.json+fastr.json+ enricher
Tags operacionais
- CrowdSec
- CTI
- IP
- Reputação
- Threat Intel
- Score
- Behaviors
- Plugin NEXUS
Resultado operacional
- Threat intel de IPs: score de agressividade, classificações e behaviors de qualquer endereço citado no NEXUS, direto do painel ou do fluxo de tarefas.
- Base 13B+ IPs: contexto de ASN, país e first/last seen alimentam decisões com dados da comunidade CrowdSec.
- Orçamento diário controlado: cache 24 h + limite de queries (community 50/dia, reset automático) evitam estouro do free tier; tier premium remove o limite local.
- Enriquecimento automático: IPs em tarefas/comentários ganham sinais de segurança via Intelligence Hub sem ação manual.
- Alertas e blocklist: IPs suspicious+ ficam visíveis em alertas e o
crowdsec_blocklistresponde checagens rápidas. - Higiene do cache: purge por cron (12 h) e manual via action/CLI mantêm as tabelas enxutas.
Andamento no GitHub (issues)
Painel em tempo real com as issues mais recentes do repositório.
live feed
abrir issues no githubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Resultados reais
Consulta a API de Cyber Threat Intelligence do CrowdSec (13B+ IPs observados) para reputação de IP com score de agressividade, classificações, behaviors, ASN e país; usa cache local de 24 h, limite diário de queries (community 50/dia) e enriquecimento automático via Intelligence Hub.
Arquitetura e organização
- PHP 8
- MySQL 8
- CrowdSec CTI API
- Alpine.js
- Tailwind CSS
- Plugin NEXUS
Execução e operação
O projeto segue fluxo reprodutível de execução com validação técnica em ambiente de produção/similar.
Screenshots
Falar sobre este projeto
Aplique este modelo no seu ambiente e acelere a entrega com consistência técnica.