Imagem de capa do projeto: NEXUS CrowdSec CTI 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 via PluginMigrationRunner (migrations/001_create_crowdsec_tables.php) criando crowdsec_cache (PK por IP, result_json, overall_score, classification, expires_at com índices) e crowdsec_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 com force), 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) e crowdsec_purge (limpa expirados; all=1 limpa 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/set respondem do banco em cache válido (expires_at) e crowdsec_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 em task.intel/comment.intel (source crowdsec-cti) com toggle auto-enrich.
  • Cronjob crowdsec_purge (tick, throttle 12 h) removendo entradas expiradas; CLI allowlisted cli.php roda o mesmo purge e aplica migrações via PluginMigrationRunner.
  • Fast Responses: manifesto fastr.json com /crowdsec <IP> (arg obrigatório), action crowdsec_lookup.
  • Interface (tab.php, 556 linhas, Alpine crowdsecApp()): 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_blocklist responde 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.

abertas (amostra): -- fechadas (amostra): -- base: -- ultimas issues

carregando andamento...

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

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.