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

03 - CAIRN Toolkit (Rastreamento de Malware Integrado com IA)

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

CAIRN Toolkit (Rastreamento de Malware Integrado com IA)

Nota do Capítulo 17, pasta de AI-Orchestrated Attacks (Ameaças com IA).
Apresenta o CAIRN, toolkit público de pesquisa para identificar malware potencialmente desenvolvido com apoio de IA generativa, com sinais de código, pontuação e correlação entre amostras.
Dialoga com as notas de Campanha Anthropic e de FAMOUS CHOLLIMA da mesma pasta e com a análise de malware e de campanhas dos capítulos 5 e 9.

1. Contexto e Posicionamento na Biblioteca

A biblioteca dedicou o capítulo 5 à análise de campanhas e ao clustering de amostras, e o capítulo 9 às ferramentas de análise, sempre sob a premissa de que o malware é escrito por humanos com estilos identificáveis. Esta nota registra o ajuste que a IA generativa impõe a essa premissa: uma parte crescente do código ofensivo é gerada ou assistida por LLMs, o que cria padrões de escrita novos, comuns a amostras de autores diferentes, e ao mesmo tempo rastreáveis. O CAIRN, toolkit público lançado como projeto de pesquisa em 2025, é a primeira iniciativa amplamente conhecida a tratar essa questão de forma estruturada, com o objetivo declarado de ajudar a comunidade a identificar e acompanhar malware potencialmente assistido por IA.

O posicionamento na biblioteca é o de instrumento do analista de CTI técnico. O CAIRN não substitui desassembly, sandbox nem análise de infraestrutura, ele acrescenta uma dimensão de proveniência à análise: o artefato mostra sinais de ter sido gerado por modelo, e essa informação muda como o analista agrupa campanhas, estima a maturidade do ator e interpreta a velocidade de evolução do código. A nota descreve como o toolkit funciona, quais sinais examina, como usar em fluxo de análise e, com igual peso, quais limitações de atribuição o analista precisa respeitar.

2. O Problema: Identificar Desenvolvimento Assistido por IA em Malware

A pergunta que motiva o toolkit tem consequências analíticas diretas. Se uma família de malware que antes mudava a cada trimestre passa a mudar a cada semana, com refatorações consistentes e documentação uniforme, a hipótese de desenvolvimento assistido por IA altera a avaliação de capacidade do ator, a estimativa de tempo de resposta do defensor e a prioridade da ameaça. Se, por outro lado, dois agrupamentos de amostras de famílias distintas compartilham o mesmo conjunto de sinais de geração, existe a possibilidade de que ambos usem a mesma ferramenta ou o mesmo fluxo de produção, e essa pista agrega o que a infraestrutura sozinha não agregaria.

O problema é difícil por três razões técnicas. Código gerado por LLM pode ser editado por humanos depois, diluindo sinais. Sinais de estilo são probabilísticos, e código legítimo contemporâneo também é cada vez mais escrito com assistentes de código, o que produz falsos positivos se o sinal for usado isoladamente. E a ausência de sinal não prova ausência de uso de IA, porque modelos diferentes produzem estilos diferentes e o corpus de referência é sempre parcial. O CAIRN ataca o problema com transparência: publica os sinais que usa, mantém corpus de referência e trata o resultado como pontuação de similaridade, e não como veredito. A hipótese de desenvolvimento assistido não é curiosidade de laboratório, ela muda decisões de priorização, de estimativa de risco e de vida útil de detecção. A tabela abaixo organiza as perguntas analíticas que essa hipótese ajuda a responder. Cada linha deve ser lida como ponte entre um dado técnico da amostra e uma decisão de inteligência.

Pergunta analítica Como a hipótese de geração ajuda a responder
Qual a velocidade de evolução do ator Troca de assinatura entre ondas marca investimento em produção
O ator mantém fluxo próprio ou terceirizado Estabilidade e boilerplate compartilhado entre famílias distintas
Qual o impacto no tempo de vida das detecções Produção assistida acelera a variação de artefatos e envelhece o IOC
Há compartilhamento entre grupos Convergência de assinaturas com infraestrutura distinta
Qual a maturidade de engenharia do grupo Presença de testes, documentação e revisão parcial na saída

3. Como o Toolkit Funciona

O funcionamento do CAIRN segue três etapas conceituais. Na primeira, o analista fornece artefatos, tipicamente código-fonte recuperado em campanhas, amostras de malware em linguagens interpretadas ou decompilados com legibilidade suficiente. Na segunda, o toolkit extrai do artefato um conjunto de características de estilo e estrutura, compara com o corpus de referência de código gerado por IA e de código humano, e produz uma pontuação de similaridade com geração por IA, acompanhada da lista de sinais que sustentam a pontuação. Na terceira, os resultados podem ser comparados entre amostras, permitindo agrupar artefatos que compartilham a mesma assinatura de geração e acompanhar como essa assinatura muda ao longo do tempo, inclusive quando o ator troca de modelo ou ajusta o fluxo.

A decisão de design mais importante para o uso em CTI é a separação entre pontuação e sinais. A pontuação sozinha é uma pista, e a lista de sinais é o que permite ao analista avaliar se a pista faz sentido no contexto, por exemplo, quando o sinal dominante é comentário de API que não existe, o analista sabe que modelos alucinam interfaces, e quando o sinal dominante é formatação uniforme demais, o analista sabe que o mesmo sinal aparece em código corporativo escrito com assistente legítimo. O toolkit fornece evidência estruturada, e a interpretação permanece com o analista, na mesma divisão de trabalho que a biblioteca defende para toda automação analítica.

4. Características Extraídas e Corpus de Referência

A análise interna do toolkit pode ser descrita como extração de características em quatro camadas complementares. A camada lexical observa vocabulário, densidade de comentários e padrões de nomes. A camada estrutural observa organização de funções, cabeçalhos, tratamento de erro e blocos utilitários. A camada semântica observa coerência entre lógica e documentação, incluindo chamadas de API que não existem. A camada de similaridade compara a representação vetorial do artefato com as representações do corpus de referência e produz a pontuação final.

Camada Características observadas O que a presença indica
Lexical Vocabulário, densidade e tom de comentários, nomes de variáveis Padronização típica de modelos instruction-following
Estrutural Organização de módulos, cabeçalhos repetidos, blocos utilitários Templates de geração compartilhados entre amostras
Semântica Coerência lógica, chamadas inexistentes, testes desconectados Alucinação e montagem por partes sem revisão humana
Similaridade Distância entre vetores do artefato e do corpus Proximidade estatística com produção conhecida de IA

O corpus de referência é o componente vivo do sistema, e entender sua composição evita leitura ingênua da pontuação. O corpus combina código gerado por modelos conhecidos, código humano em contextos comparáveis e código ofensivo de referência, e a distribuição desse material muda com cada versão do toolkit. Para o analista, isso significa duas regras práticas: registrar a versão do toolkit junto à pontuação, e tratar mudança de versão como evento de recalibração para comparações longitudinais.

5. Sinais Típicos de Código Gerado por GenAI

A tabela abaixo consolida os sinais que o CAIRN e a literatura correlata associam a código gerado por IA generativa. A coluna de risco de falso positivo é essencial, porque nenhum sinal é exclusivo de código ofensivo gerado por IA.

Sinal Descrição típica Risco de falso positivo
Comentariado uniforme e redundante Densidade de comentários alta e tom padronizado, com explicações óbvias linha a linha Alto, código didático e scaffolding legítimo parecem iguais
Docstrings completas em scripts ofensivos Funções simples com documentação de biblioteca, pouco comum em malware artesanal Médio
Chamadas de API inexistentes Uso de funções ou parâmetros que não existem na biblioteca citada, alucinação de modelo Baixo, forte quando confirmado
Nomes genéricos e repetidos Variáveis e funções com nomes previsíveis e recorrentes entre amostras de autores distintos Médio
Estrutura boilerplate idêntica Cabeçalhos, tratamento de erro e blocos utilitários idênticos entre famílias diferentes Médio
Formatação sem estilo pessoal Indentação e organização perfeitamente uniformes, ausência de marcas de autoria Alto
Texto de preenchimento sem função Strings, mensagens ou funções de teste que não se conectam à lógica do programa Baixo
Múltiplos idiomas inconsistentes Comentários e strings misturando idiomas com fluência desigual Médio

A leitura analítica correta é conjuntural. Um sinal isolado vale pouco, três sinais de grupos diferentes, como alucinação de API somada a boilerplate idêntico e comentariado uniforme, elevam a confiança na hipótese de geração assistida. E a presença do sinal informa sobre o processo de produção, nunca sobre a autoria final, distinção que a seção de limitações de atribuição desenvolve.

6. Exemplo de Saída e Interpretação de Pontuação

O bloco abaixo ilustra, em formato didático, o tipo de saída que o fluxo de análise registra para cada artefato, com pontuação, sinais ativos e trechos de sustentação. O exemplo é hipotético e serve de gabarito para o campo de proveniência do relatório tático, com os mesmos campos independentes do toolkit usado. A estrutura também facilita a ingestão automatizada na plataforma de CTI.

{
  "amostra": "loader_x_2025-08-12",
  "ferramenta": "CAIRN",
  "versao_toolkit": "2025.11",
  "pontuacao_similaridade_ia": 0.83,
  "sinais_ativos": [
    {"sinal": "chamada_de_api_inexistente", "trecho": "net::post_multipart_v2(...)", "peso": "alto"},
    {"sinal": "comentariado_uniforme", "densidade": "alta", "peso": "medio"},
    {"sinal": "boilerplate_igual", "referencia": "loader_b_2025-03", "peso": "medio"}
  ],
  "confianca_provisoria": "moderada",
  "justificativa": "alucinacao de API indicada, sem confirmacao por revisao de biblioteca; dois sinais estruturais"
}

A leitura da saída segue a regra da pontuação com sinais. A pontuação de 0,83 sozinha não sustenta conclusão, e é o conjunto, alucinação de API com peso alto somada a dois sinais estruturais, que eleva a hipótese a confiança moderada. A justificativa escrita antes da divulgação é o que protege o relatório em revisão por pares, porque obriga o analista a nomear qual evidência sustenta cada nível de confiança.

7. Correlação com Campanhas e Uso em CTI

O uso de maior valor em CTI é o de correlação longitudinal. Ao registrar a assinatura de geração de cada amostra no repositório de campanhas, o time cria uma dimensão nova no Diamond Model, a dimensão de capacidade de produção, e passa a responder perguntas que antes não tinham evidência. A troca repentina de assinatura entre uma campanha e a seguinte pode indicar troca de modelo ou de ferramenta de fluxo de trabalho. A estabilidade da assinatura por muitos meses indica fluxo produtivo consolidado. A convergência de assinaturas entre famílias distintas sugere compartilhamento de ferramental, a mesma pista que o agrupamento de infraestrutura fornece no plano de rede, agora no plano de produção de código. O exemplo abaixo mostra como a dimensão longitudinal se materializa no repositório de campanhas. As linhas são hipotéticas, e o que importa é o padrão de leitura: assinatura estável, troca abrupta e convergência entre famílias são três configurações com três interpretações distintas. O formato replica o registro de infraestrutura por onda, aplicado à dimensão de produção.

Campanha Período Assinatura de geração Interpretação analítica
Campanha A, onda 1 2025, 1º trimestre Sinais L1, pontuação média 0,7 Fluxo produtivo consolidado
Campanha A, onda 2 2025, 2º trimestre Sinais L1, pontuação média 0,7 Continuidade do mesmo fluxo
Campanha A, onda 3 2025, 3º trimestre Sinais L2, pontuação média 0,6 Troca de modelo ou de fluxo
Família B 2025, 3º trimestre Sinais L2, pontuação média 0,6 Possível compartilhamento com A
Família C 2025, 3º trimestre Sem sinais, pontuação 0,1 Código humano ou saída editada

O padrão de troca na onda 3 pede cuidado redobrado, porque pode significar tanto evolução natural do ator quanto tentativa deliberada de quebrar correlação após exposição pública. A convergência com a família B vira hipótese de compartilhamento de ferramental, que a infraestrutura e os TTPs podem confirmar ou refutar. A família C, por sua vez, lembra que ausência de sinal é informação incompleta, nunca exoneração.

Para o analista de CTI técnico do dia a dia, o uso direto é responder a pergunta do dossiê de amostra: o malware analisado mostra sinais de desenvolvimento assistido por IA, com qual pontuação e quais sinais. A resposta entra no relatório tático como campo de proveniência, ao lado das plataformas afetadas e das técnicas ATT&CK, e alimenta a avaliação de capacidade do ator no relatório estratégico. Para o gerente de detecções, a informação tem uso operacional adicional: malware produzido em volume com assistência de IA tende a variar mais rápido, e a regra estática de byte exato envelhece mais rápido, o que orienta priorizar detecção comportamental sobre IOC frágil.

8. Limitações de Atribuição

As limitações de atribuição são o ponto onde o uso do CAIRN mais precisa de disciplina. Primeiro, pontuação de similaridade com código gerado por IA não identifica modelo, versão, provedor nem autor, e qualquer relatório que afirme isso a partir da pontuação está extrapolando. Segundo, código humano moderno escrito com assistentes corporativos produz sinais superpostos, e a base de código legítima da própria organização pode pontuar alto em ferramentas do tipo. Terceiro, atores ofensivos editam saída de modelo e usam ofuscação, o que destrói sinais superficiais e pode virar ausência de pontuação em código assistido. Quarto, o corpus de referência é dinâmico, e a mesma amostra pode pontuar diferente entre versões do toolkit, o que exige registrar a versão usada em cada análise.

A prática recomendada é tratar o resultado como hipótese de proveniência com nível de confiança, no vocabulário do capítulo 5 da biblioteca, e nunca como indicador de autoria. Em relatórios com TLP, o campo deve ser escrito em linguagem calibrada, por exemplo, artefato apresenta múltiplos sinais compatíveis com geração assistida por IA, com confiança moderada, versão do toolkit registrada. Essa calibração protege o analista e a organização de conclusões precipitadas em contexto de atribuição, onde erros têm custo diplomático e jurídico. Quinta limitação prática: a análise em conjunto com campanhas já rotuladas carrega o risco de circularidade, e o analista deve executar o toolkit antes de ler a hipótese anterior sobre o ator, registrando sinais de forma independente, disciplina que a seção de erros desenvolve.

9. Exemplo de Fluxo de Análise

O fluxo abaixo integra o CAIRN à rotina de análise de malware de um time de CTI técnico. O exemplo usa os passos típicos de execução do toolkit sobre um conjunto de amostras de uma mesma campanha, seguido da comparação com o repositório de campanhas anteriores.

Fluxo de análise com CAIRN

1. Coletar artefatos da campanha: scripts, loaders e decompilados legíveis.
2. Registrar proveniência de cada amostra: campanha, data, infraestrutura, TTPs.
3. Executar a análise do toolkit sobre cada artefato, registrando a versão do CAIRN.
4. Capturar para cada amostra: pontuação, sinais ativos e trechos que sustentam os sinais.
5. Comparar a assinatura da campanha com as assinaturas históricas do repositório.
6. Classificar confiança de geração assistida: alta, moderada ou baixa, com justificativa.
7. Publicar no relatório tático o campo de proveniência, com linguagem calibrada.
8. Alimentar a avaliação de capacidade do ator no relatório estratégico.

No passo 6, o critério de confiança deve ser escrito antes da análise, para evitar ajuste de conclusão após o resultado. Uma calibração de exemplo: confiança alta pede alucinação de API confirmada somada a dois ou mais sinais estruturais; confiança moderada pede três ou mais sinais sem alucinação confirmada; confiança baixa cobre o restante, incluindo pontuações altas sustentadas só por formatação. O passo 8 fecha o ciclo com o capítulo 1 da biblioteca, transformando um dado técnico de amostra em inteligência que muda priorização.

10. Posição no Fluxo de Análise de Malware do Capítulo 25

O capítulo 25 da biblioteca organiza a análise de malware em etapas, da triagem à produção de relatório, e o CAIRN ocupa posição específica nesse fluxo, sem substituir nenhuma etapa. O lugar correto é depois da análise estática inicial, quando o artefato já foi identificado, descomprimido e, quando aplicável, decompilado com legibilidade suficiente, e antes da correlação, para que a assinatura de geração entre no conjunto de dados do clustering. Executar a análise antes da deobfuscação desperdiça processamento, porque ofuscação destrói os sinais superficiais que o toolkit observa.

Posição do CAIRN no fluxo do capítulo 25
1. Triagem: identificação de tipo, empacotamento e IOCs brutos.
2. Análise estática: strings, imports, estrutura e decompilação legível.
3. Proveniência assistida: execução do toolkit, pontuação e sinais (esta nota).
4. Análise dinâmica: sandbox, comportamento e configuração extraída.
5. Correlação: clustering com infraestrutura, TTPs e assinatura de geração.
6. Relatório: ATT&CK, IOC, proveniência com confiança e recomendações.

A regra de passagem entre etapas é registrar o resultado da proveniência como campo obrigatório da ficha de amostra, inclusive quando o resultado é ausência de sinais, porque o registro negativo também alimenta a estatística de capacidade do ator. Times que executam o toolkit apenas nos casos que já parecem gerados introduzem viés de seleção no repositório e perdem justamente a dimensão longitudinal que dá valor ao método. O registro negativo, quando documentado, é o que permite ao capítulo 5 recalibrar a avaliação de capacidade sem viés de seleção.

11. Erros Comuns e Pontos de Atenção

Erro Consequência Mitigação
Tratar pontuação como atribuição de autor ou de modelo Relatório com conclusão insustentável Usar hipótese de proveniência com nível de confiança
Analisar amostra sem registrar versão do toolkit Resultado irreproduzível entre análises Registrar versão e parâmetros em cada ficha
Usar sinal isolado como decisão Falso positivo com código legítimo de assistente Decidir por conjunto de sinais com critério escrito antes
Ignorar amostras sem pontuação Subestimação de atores que editam saída de modelo Combinar com análise comportamental e de infraestrutura
Não atualizar o corpus de referência Pontuações desatualizadas frente a modelos novos Revisar corpus e recalibrar em cadência definida
Avaliar portfólio de candidato sem registrar o resultado Correlação futura entre processos seletivos impossível Registrar sinais com base legal e minimização

Um ponto de atenção adicional é o risco de circularidade na análise. Se o time publica que um ator usa IA e passa a procurar apenas sinais de IA, corre o risco de confirmar a própria hipótese em toda amostra seguinte. O antídoto é manter a análise cega na etapa de execução do toolkit, com o analista registrando sinais antes de ler a hipótese anterior sobre o mesmo ator, disciplina análoga à de hipóteses concorrentes descrita no capítulo 5.

12. Integração com o Restante da Biblioteca

A nota conecta o capítulo 17 ao capítulo 5 no plano metodológico, porque pontuação com confiança e critérios escritos antes da análise são aplicação direta de técnicas analíticas estruturadas e de avaliação de credibilidade. Conecta ao capítulo 9 no plano de ferramentas, ocupando na mesa do analista a posição de instrumento de proveniência, ao lado de plataformas de análise. Com as notas irmãs do capítulo, a Campanha Anthropic fornece o caso que motiva o instrumento, e a FAMOUS CHOLLIMA fornece o vetor de aplicação em portfólios e códigos de candidatos, onde a mesma lógica de sinais ajuda a auditar a proveniência de amostras de trabalho apresentadas em processos seletivos.

Para o leitor que estrutura o time de CTI, a recomendação final é incluir o campo de proveniência assistida por IA no template de análise de amostra da organização, com critério de confiança calibrado e versão de ferramenta registrada. Esse campo, rotineiro e barato, é o que transforma um toolkit de pesquisa em prática de inteligência, e coloca o time na posição de acompanhar a mudança estrutural da produção ofensiva com evidência, e não com impressão.

No recorte do capítulo 25, a nota fornece a etapa de proveniência assistida que passa a integrar o fluxo de análise de malware, com a regra de registro obrigatório, inclusive negativo, desenvolvida na seção 10. O conjunto formado pelo fluxo do capítulo 25, pela confiança calibrada do capítulo 5 e pelo template de amostra da organização é o que consolida a prática, e cada peça reforça as outras na produção do dossiê completo.