Home Comunidade Eventos YouTube Networks Desafios // produtos Academy News CTI | CVE Contato

02 - AUT.2 - Automação com Plataformas de Workflows (n8n)

video explicativo
Video explicativoEspaco reservado para o video desta anotação — adicione video: https://youtu.be/... no frontmatter da nota.

AUT.2 - Automação com Plataformas de Workflows (n8n)

Nota do grupo AUT (Automação e Orquestração) da seção 15 do Framework CTH.
Deriva do Capítulo 14 do PDF de referência, controle AUT.2, com os subcontroles AUT.2.1 a AUT.2.5.
Apresenta plataformas low-code de workflow, com foco no n8n, como complemento do SOAR para integrações leves, ingestão de feeds e automação de CTI de ponta a ponta.

1. Contexto e Posicionamento no Framework CTH

Plataformas de automação de fluxos de trabalho complementam o SOAR fornecendo automação leve e flexível para integrações que não justificam um playbook completo de resposta. Enquanto a plataforma SOAR é otimizada para workflows de segurança complexos, com gestão de caso e trilha de auditoria, as plataformas de workflow brilham em tarefas de CTI como ingestão de feeds, geração de relatórios, sincronização de dados entre plataformas e gatilhos de webhook que conectam sistemas heterogêneos. O AUT.2 formaliza essa camada de encanamento da inteligência, mantendo a cadeia de CTI automatizada e atualizada sem sobrecarregar a plataforma de resposta.

No Framework CTH, o AUT.2 opera imediatamente abaixo do AUT.1 na pilha de automação e alimenta diretamente os controles PLT.1, PLT.2 e DAT.4 com dados normalizados. O controle não exige uma ferramenta específica, mas o n8n consolidou-se como escolha recorrente em times de segurança pela combinação de auto-hospedagem, custo acessível e amplitude de integrações. As salvaguardas por nível seguem do básico, com ingestão validada, até o avançado, com pipeline de CTI completo e notificação proativa sobre ameaças relevantes.

2. O Que São e Por Que o n8n Conquistou os Times de Segurança

Plataformas de workflow low-code permitem montar automações conectando nós visuais que representam chamadas de API, transformações de dados e lógica, sem escrever aplicações inteiras. O modelo reduz a barreira de entrada para analistas, sem impedir o programador de inserir código quando a lógica exige, recurso conhecido como escape hatch. O resultado é um meio-termo produtivo entre scripts avulsos em cron e plataformas corporativas pesadas.

O n8n conquistou espaço em times de segurança por razões objetivas, que vale explicitar para embasar a decisão de arquitetura. A implantação é auto-hospedada em Docker, o que mantém feeds, IOCs e credenciais dentro do perímetro da organização, requisito comum em políticas de dados. A biblioteca inclui centenas de integrações nativas, além do nó HTTP Request, que alcança qualquer API REST, e do nó Code, que executa JavaScript ou Python para adaptar formatos incompatíveis. O custo é previsível, baseado em infraestrutura própria, em contraste com licenças de SOAR cobradas por execução ou por usuário, que escalam mal quando a automação cresce.

Necessidade do time de segurança Como o n8n atende
Manter dados de CTI dentro do perímetro Auto-hospedagem em Docker com banco e credenciais locais
Integrar ferramenta sem conector oficial Nó HTTP Request alcança qualquer API REST com autenticação
Adaptar formatos entre plataformas Nós Code e Set transformam JSON, CSV e XML livremente
Reagir a eventos externos Gatilhos de webhook nativos com endpoint próprio
Orçamento enxuto Custo de infraestrutura previsível, sem cobrança por execução

3. Arquitetura Básica: Nós, Gatilhos e Fluxos

Um fluxo n8n é um conjunto de nós conectados que processam itens, onde cada item é um objeto JSON que atravessa a cadeia. A execução começa por um gatilho, prossegue pelos nós de transformação e integração e termina em uma saída, que pode ser uma notificação, uma gravação em banco ou um webhook de retorno. As credenciais ficam cifradas no banco da instância e são referenciadas pelos nós, nunca embutidas na lógica do fluxo.

Categoria de nó Exemplos Papel no fluxo
Gatilho Webhook, Schedule Trigger, Error Trigger Iniciam a execução por evento, cron ou falha
Lógica IF, Switch, Merge, Split In Batches Ramificam, unem e iteram sobre itens
Transformação Set, Code, Extract From File Normalizam campos, filtram e convertem formatos
Integração HTTP Request, MISP, Slack, PostgreSQL Chamam sistemas externos e persistem dados
Saída Notificação, retorno de webhook, escrita de log Formalizam o resultado e registram evidência

Para escala, a instância pode operar em modo fila com workers dedicados, separando a interface dos executores e suportando centenas de execuções por minuto. O fluxo é exportável em JSON, o que permite versionar o encanamento em Git e revisar mudanças como qualquer código. Esse par de características, escala e versionamento, é o que permite tratar o n8n como infraestrutura, e não como coleção de scripts improvisados.

4. Casos Práticos em CTI e Threat Hunting

  • Coleta agendada de feeds com parse e envio ao TIP: um Schedule Trigger baixa listas de fontes públicas, o fluxo normaliza tipo, valor e confiança, descarta duplicatas e endereços privados, e grava os atributos no MISP com etiqueta de fonte.
  • Triagem de e-mail reportado de phishing: um gatilho de caixa dedicada extrai remetente, cabeçalhos, URLs e anexos, consulta reputação e TIP e responde ao repórter com classificação preliminar.
  • Enriquecimento de alerta consultando MISP e VT e GeoIP: ao receber alerta do SIEM via webhook, o fluxo consulta o TIP interno, o serviço de reputação de arquivos e a localização de rede, devolvendo um dossiê compacto ao caso.
  • Notificação segmentada: um fluxo classifica eventos por severidade, ativo afetado e turno, e roteia a notificação para o canal correto, evitando tanto o silêncio quanto o ruído de listas gigantes de distribuição.

Esses quatro padrões cobrem a maioria das necessidades iniciais de um time de CTI e são implementáveis em semanas. Cada um deles é idempotente por construção quando as chaves naturais são respeitadas, o que permite reexecuções seguras após falha parcial. A regra de projeto é manter cada fluxo com um único propósito, facilitando revisão, métrica e desligamento.

5. Exemplo de Fluxo Passo a Passo

O primeiro fluxo demonstra o padrão de ingestão de feed, o mais usado na prática e o ponto de entrada do AUT.2.2. Os nós aparecem na ordem de execução, com a lógica de ramificação indentada.

Fluxo n8n: Ingestão agendada de feed de IOC para o TIP
Nó 1  Schedule Trigger   executa a cada 6 horas
Nó 2  HTTP Request       baixa o feed CSV de uma lista pública (URL com token)
Nó 3  Extract From File  converte o CSV em itens, uma linha por registro
Nó 4  IF                 descarta IP privado, wildcard e duplicata já vista hoje
        |__ Rejeitado: acumula em contador de rejeições por motivo
Nó 5  Code               normaliza para {type, value, confidence, source, tlp}
Nó 6  Set                adiciona metadados de coleta (data, versão do fluxo, fonte)
Nó 7  HTTP Request       envia lote de atributos ao MISP criando evento etiquetado
Nó 8  IF                 proporção de atributos aceitos abaixo de 50% do esperado?
        |__ Sim: Error Trigger do fluxo dispara alerta no canal de automação
Nó 9  Slack              publica resumo (recebidos, aceitos, rejeitados, motivos)
Nó 10 PostgreSQL         grava linha de log de execução para métricas do fluxo

Repare que os nós 8 a 10 existem para operação, não para a função principal. Esse é o padrão que separa automação amadora de automação mantida: falha notificada, métrica registrada e histórico consultável. Um fluxo sem observabilidade é uma bomba-relógio silenciosa na cadeia de inteligência.

O segundo fluxo cobre a triagem de phishing reportado, que conecta o AUT.2 ao trabalho diário do SOC.

Fluxo n8n: Triagem de e-mail reportado como phishing
Nó 1  Email Trigger (IMAP)  mensagem encaminhada à caixa de reporte
Nó 2  Code                  extrai remetente, assunto, cabeçalhos, URLs e anexos
Nó 3  IF                    há URL ou anexo para analisar?
        |__ Não: resposta automática pedindo encaminhamento correto e fim
Nó 4  HTTP Request          consulta reputação de cada URL, em lote
Nó 5  MISP                  busca URLs e domínios no TIP interno
Nó 6  Code                  calcula score preliminar (reputação, TIP, indícios de engenharia social)
Nó 7  IF                    score acima do limiar de suspeita?
        |__ Sim: cria caso na plataforma de incidentes com anexos e cabeçalhos
        |__ Não: responde ao repórter como provável spam e arquiva registro
Nó 8  HTTP Request          notifica canal do SOC com resumo e link do caso
Nó 9  PostgreSQL            grava execução, score e decisão para métricas

6. Padrões de Projeto e Métricas de Workflow

Fluxos longevos seguem padrões de projeto, e não improvisos individuais. A tabela abaixo resume os padrões que mais reduzem incidentes de automação em produção e deve fazer parte da documentação do time.

Padrão Problema que resolve Implementação típica
Retry com backoff Instabilidade momentânea de API externa Tentativas progressivas com espera crescente e limite
Idempotência Duplicação em reexecuções Upsert por chave natural antes de gravar no destino
Processamento em lote Estouro de quota e de memória Split In Batches com tamanho controlado e pausa entre lotes
Dead-letter Perda de itens que falham Ramificação que grava itens problemáticos para revisão posterior
Versão e changelog Rastreabilidade de mudança Versão no nome do fluxo e JSON exportado em Git

A observabilidade do encanamento precisa de métricas próprias, tratadas com o mesmo rigor dos playbooks do AUT.1. Sem elas, a queda de um feed só é percebida quando o analista percebe falta de contexto em um caso crítico.

Métrica Como medir Referência de meta
Execuções por dia Contagem pela própria plataforma ou log externo Dimensionar capacidade e custo
Taxa de falha por fluxo Execuções com erro sobre total de execuções Abaixo de 2%
Duração p95 Percentil 95 do tempo de execução por fluxo Dentro do SLA definido no projeto
Itens recebidos e aceitos Comparação entre itens processados e gravados no destino Taxa de aceite documentada por feed
Duplicatas evitadas Registros descartados pela chave natural Indica saúde da idempotência

7. Comparação com SOAR Comercial

Critério SOAR comercial n8n (workflow low-code)
Custo Licença por execução ou usuário, tipicamente elevada Infraestrutura própria e manutenção interna
Foco Casos, resposta e integrações certificadas de segurança Automação genérica e integrações customizadas
Flexibilidade Catálogo de conectores do fornecedor HTTP Request e Code alcançam qualquer API
Manutenção Suporte e upgrades do fornecedor Time interno mantém instância, upgrades e nós customizados
Segurança e auditoria Trilha de auditoria robusta e certificações Depende da implantação, exige hardening, RBAC e log próprios
Complexidade de fluxo Média a alta, para playbooks de segurança complexos Baixa a média, para fluxos lineares e ramificações simples
Casos ideais Enriquecimento com resposta, triagem, contenção Ingestão de feeds, relatórios, sincronização, webhooks

A leitura correta da tabela é de complementaridade, e não de substituição. O n8n cuida do encanamento de CTI, dos feeds ao relatório, enquanto o SOAR cuida de resposta com gestão de caso e auditoria. Times com orçamento restrito usam o n8n como SOAR de entrada para enriquecimento assistido, desde que contenção automática permaneça fora do escopo até existirem os guardrails do AUT.5.

8. Boas Práticas Operacionais

  • Idempotência: projete cada fluxo para reexecutar sem duplicar efeitos, com upsert no TIP por chave natural de tipo, valor e fonte, e gravação única por lote.
  • Logs e observabilidade: habilite o salvamento de execuções com dados, configure o Error Trigger para notificar canal dedicado e mantenha painel de duração e taxa de falha por fluxo.
  • Gestão de segredos: use variáveis de ambiente ou cofre externo referenciado pela instância, nunca cole credenciais em nós, e revise exportações antes de compartilhar, pois o JSON pode embutir dados sensíveis.
  • Limites de taxa: agrupe itens em lotes, aplique throttle e cache nas chamadas a serviços de reputação para respeitar quotas, especialmente em picos de incidente.
  • Ambientes e versionamento: mantenha instâncias separadas de desenvolvimento e produção, exporte os fluxos para Git e submeta mudanças a revisão por pares.
  • Controle de acesso: habilite RBAC na instância, segrege credenciais por fluxo e use contas de serviço com privilégio mínimo em cada integração.

9. Quando NÃO Usar Workflow Low-Code

Há cenários em que a plataforma errada cria risco maior do que o problema que resolve. Nenhum dos itens abaixo é dogma absoluto, mas cada um pede justificativa explícita na governança antes de prosseguir.

  • Playbooks de resposta com gestão de caso, aprovação e trilha regulatória: use o SOAR, que possui auditoria e certificações embutidas.
  • Contenção destrutiva automática: ações sobre produção exigem os guardrails e a arquitetura de aprovação do AUT.5, e não improvisos em fluxo genérico.
  • Requisito de suporte 24x7 com SLA contratual: auto-hospedagem significa que a indisponibilidade é problema do seu time.
  • Integrações exigidas por auditoria externa com conectores certificados: o nó HTTP Request alcança a API, mas não entrega a certificação.
  • Time sem dono e sem capacidade de operar: fluxo órfão que falha silenciosamente é pior que o processo manual que ele substituiu.

10. Implementação e Salvaguardas por Nível

Nível Salvaguarda Descrição operacional
Básico AUT.2.1 Implantar a plataforma em ambiente dedicado, integrar MISP, OpenCTI e SIEM, e validar workflows básicos de ingestão de dados
Básico AUT.2.2 Criar workflows de ingestão de feeds (Abuse.ch, AlienVault OTX, comunidades), normalização para formato padrão e envio ao SIEM para indexação e busca
Intermediário AUT.2.3 Gerar relatórios periódicos agregando dados de MISP, OpenCTI e alertas do SIEM em relatórios de situação automáticos para a equipe
Intermediário AUT.2.4 Desenvolver integrações customizadas via webhook com HTTP Request e scripts para adaptar dados entre formatos incompatíveis
Avançado AUT.2.5 Operar pipeline de CTI completo: coleta OSINT, processamento e normalização, ingestão no gerenciador de CTI, enriquecimento cruzado, disseminação para MISP e SIEM e notificação proativa

O salto para o nível avançado pressupõe que os fluxos intermediários possuem dono, métrica e revisão consolidados. Pipeline de CTI completo sem observabilidade apenas encadeia pontos únicos de falha. Valide a cadeia inteira com uma simulação mensal de queda de fonte antes de declarar o nível atingido.

11. Erros Comuns e Pontos de Atenção

  • Catálogo de fluxos sem dono: crescimento orgânico sem inventário gera encanamento órfão que ninguém se atreve a desligar; mantenha catálogo com nome, propósito e responsável.
  • Segredo embutido no nó ou na exportação: credencial vazada em JSON compartilhado é incidente clássico; adote cofre e revisão de exportação.
  • Falta de idempotência: reexecução duplica atributos no TIP e corrompe métricas de volume; exija chave natural em toda escrita.
  • Falha silenciosa: fluxo morto há semanas, descoberto apenas quando o feed era necessário; Error Trigger e painel de falha são obrigatórios.
  • Usar o n8n como SOAR improvisado: contenção automática em plataforma sem gestão de caso e guardrails reproduz os riscos do AUT.1 sem os controles.
  • Upgrade sem testes: atualização de versão pode quebrar nós customizados; teste em instância de desenvolvimento e acompanhe o changelog de nós.

12. Integração com Outros Controles do Framework CTH

O AUT.2 é a cola logística entre os controles de plataforma e de dados do framework. Ele alimenta o PLT.1 com atributos normalizados dos feeds, mantém o PLT.2 sincronizado com observáveis e relações, envia indicadores ao DAT.4 para indexação no SIEM e veicula os relatórios que sustentam a disseminação de inteligência do PLT.5 conforme o TLP do material. Quando um fluxo revela padrão que merece detecção permanente, o achado entra no AUT.3 como candidata a regra Sigma, e quando envolve ação com efeito no ambiente, o fluxo deve delegar ao AUT.1 e ao AUT.5, nunca agir por conta própria.