NT-2026.10.07 DOSSIÊ

CAIRN: ANALISANDO MALWARE APOIADO POR INTELIGÊNCIA ARTIFICIAL

Como o CAIRN combina regras YARA e a VirusTotal para encontrar cognitive artifacts — prompts, endpoints de LLM e chaves de API — em malware que delega decisões a modelos de IA.

Capa editorial CAIRN: Cognitive Artifacts + VirusTotal + Malware com IA decidindo

Quando o malware começa a conversar com IA

Tradicionalmente, analistas de malware procuram strings, domínios, IPs, infraestrutura C2, mutexes, APIs e padrões de código. Com malware apoiado por IA, novos tipos de artefatos começam a aparecer: templates de prompts, endpoints de provedores de IA, referências a modelos, padrões de API keys, instruções para LLM, jailbreak wording. A Cisco Talos batizou esses de “cognitive artifacts” — rastros deixados por desenvolvedores que integram modelos de IA às suas ferramentas ofensivas. Entender esses artefatos exige uma mudança de mentalidade: não buscamos mais apenas infraestrutura, mas também a lógica cognitiva que o malware delega a modelos externos.

O que são Cognitive Artifacts

Cognitive artifacts são evidências técnicas de que um malware utiliza modelos de linguagem para tomar decisões. Incluem: templates de prompts com placeholders runtime (ex: TARGET: %s), endpoints de provedores de LLM (OpenAI, Anthropic, etc.), referências a modelos específicos (gpt-4, claude-3, etc.), padrões e prefixos de API keys, jailbreak wording para burlar guardrails, e estruturas de resposta desserializadas em código (ex: Go structs). Diferente de IOCs tradicionais, esses artefatos revelam a intenção cognitiva do malware — o que ele pede para a IA decidir — e não apenas onde ele se conecta.

O que é o CAIRN

CAIRN significa Cognitive Artifact Intelligence Research Network. A metáfora do nome: um cairn é um conjunto de pedras usado para marcar trilhas. Da mesma forma, o CAIRN marca os rastros deixados por desenvolvedores que conectam LLMs às suas ferramentas. Foi desenvolvido pela Cisco Talos como ferramenta de pesquisa — NÃO é um feed de ameaças em tempo real, NÃO é antivírus, NÃO é EDR, NÃO é sandbox. É uma ferramenta para pesquisadores identificarem, organizarem e agruparem amostras que utilizam IA, trabalhando exclusivamente sobre metadados do VirusTotal, sem necessidade de baixar ou executar as amostras.

Como o CAIRN funciona

A arquitetura conceitual do CAIRN segue o fluxo: VirusTotal (metadados) → CAIRN → Regras YARA / Filtros → Artefatos relacionados à IA → Classificação em tiers → Clustering semântico → Interface de exploração. A abordagem evita download e execução direta de amostras — tudo opera sobre metadados já indexados pelo VirusTotal. O CAIRN agrupa achados em três níveis evolutivos: correspondências simples de strings relacionadas a IA, sinais comportamentais, e famílias/clusterings semânticos. O clustering agrupa amostras semelhantes mesmo quando não compartilham strings óbvias, analisando o significado semântico dos artefatos.

Preparando o ambiente

A instalação começa clonando o repositório oficial e criando um ambiente virtual Python isolado:

git clone https://github.com/Cisco-Talos/cairn.git
cd cairn
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

O repositório oficial é mantido pela Cisco Talos. O requirements.txt instala as dependências necessárias: yara-python, requests, python-dotenv, rich (para CLI), e bibliotecas de clustering/embedding.

Configuração inicial do CAIRN: clone do repositório e instalação de dependências Python
Figura 1. Configuração do CAIRN: clonagem do repositório oficial e instalação das dependências Python em ambiente virtual.

Configurando a VirusTotal API

O CAIRN necessita de uma chave de API do VirusTotal para consultar metadados. A configuração é feita via arquivo .env:

cp .env.example .env
nano .env  # edite e adicione: VT_API_KEY=SUA_API_KEY

NUNCA publique ou compartilhe sua API key real. Use placeholder seguro (SUA_API_KEY) na documentação. A API do VirusTotal é o motor de dados do CAIRN — sem ela, a ferramenta não consegue consultar metadados de amostras.

Arquivo .env.example mostrando configuração da VirusTotal API key
Figura 2. Exemplo de configuração .env com placeholder para a VirusTotal API key (VT_API_KEY=SUA_API_KEY).

Validando as regras YARA

Antes de pesquisar, valide as regras YARA incluídas no CAIRN. O comando verifica sintaxe, compilação e se as regras estão prontas para uso:

cairn validate-rules

Validar as regras antes da pesquisa evita falhas silenciosas durante o pull. As regras YARA do CAIRN são projetadas para detectar padrões relacionados a IA: imports de bibliotecas LLM, strings de prompt templates, endpoints de API, padrões de API keys, etc.

Saída do comando cairn validate-rules mostrando regras YARA validadas com sucesso
Figura 3. Validação das regras YARA: o comando confirma que todas as regras compilam corretamente antes da pesquisa.

Conhecendo os filtros

O CAIRN vem com filtros (saved searches) pré-definidos que representam ideias de caça prontas para uso. Liste-os com:

cairn filters

Cada filtro é uma consulta salva no VirusTotal que busca padrões específicos: arquivos Python que importam bibliotecas de LLM, structs Go que desserializam respostas de modelos, endpoints de API de provedores conhecidos, templates de prompt com placeholders, padrões de API keys, etc. O comando apenas lê o arquivo de configuração local — não faz requisição de rede.

Lista de filtros disponíveis no CAIRN: python-ai-scripts, go-ai-structs, llm-api-endpoints, etc.
Figura 4. Filtros pré-definidos do CAIRN: cada nome representa uma ideia de caça (ex: python-ai-scripts, go-ai-structs, llm-api-endpoints, prompt-templates, api-key-patterns).

Buscando artefatos relacionados à IA

Para coletar resultados usando um filtro específico, use o comando pull. O exemplo clássico:

cairn pull --filter python-ai-scripts --limit 10

O pull consulta o VirusTotal usando o filtro selecionado, baixa os metadados das amostras correspondentes (até o limite definido), e armazena na base local do CAIRN. –filter especifica qual saved search usar; –limit controla quantos resultados trazer. IMPORTANTE: o CAIRN NÃO baixa nem executa as amostras — apenas metadados.

Visualização dos clusters gerados pelo CAIRN: amostras agrupadas por similaridade semântica
Figura 5. Visualização dos clusters gerados pelo CAIRN: amostras agrupadas por similaridade semântica mesmo sem compartilharem strings óbvias. Fonte: Cisco Talos.

Resumindo os resultados

Após o pull, o comando summarize apresenta um resumo do que foi armazenado localmente:

cairn summarize

O summarize lê apenas a base local (SQLite) e reporta: quantos arquivos foram coletados, quais regras YARA dispararam, quantos por tipo de artefato (prompt template, endpoint, api key, etc.), e estatísticas gerais. Não faz nenhuma requisição externa.

Saída do cairn summarize mostrando contagem de arquivos, regras utilizadas e estatísticas
Figura 6. Resumo dos achados: total de arquivos coletados, regras YARA que dispararam, e distribuição por tipo de artefato.

Explorando os clusters

O comando explore abre uma interface visual (baseada em Rich/TUI) para navegar nos clusters gerados:

cairn explore
Interface do cairn explore mostrando schema do banco de dados e navegação
Figura 7. Interface de exploração do CAIRN (cairn explore): navegação TUI pelos clusters, amostras e relacionamentos.

Clustering semântico

Uma das capacidades mais poderosas do CAIRN é agrupar amostras semelhantes por significado semântico, não apenas por strings compartilhadas. O clustering analisa embeddings dos artefatos cognitivos (prompts, structs de resposta, padrões de API) e descobre famílias de malware que usam padrões de IA semelhantes, mesmo quando o código ofuscado não revela strings óbvias em comum. Isso permite descobrir variantes e evolução de famílias que ferramentas baseadas apenas em YARA/strings tradicionais perderiam.

Quando o malware utiliza IA para decidir: CLOSEDQUORUM

A pesquisa da Cisco Talos (reproduzida pela fonte) analisou o CLOSEDQUORUM — o primeiro implante Windows publicamente documentado que aplica LLMs comerciais a decisões táticas de C2. Após deploy, ele usa modelos de IA para decidir o que fazer a seguir e executa a decisão coletiva para colher credenciais de usuários e carteiras de criptomoedas. Não precisa de um humano governando o processo: a IA faz tudo.

C2 Tradicional vs C2 Apoiado por LLMs

O modelo tradicional de C2 requer infraestrutura de servidor atribuível e bloqueável: Malware → Servidor C2 → Operador → Comandos → Malware. O CLOSEDQUORUM inverte esse modelo: em vez de servidor próprio, chama até quatro endpoints comerciais de provedores de LLM (usados por milhares de aplicações legítimas diariamente): Malware → Endpoints de provedores LLM → Modelos → Decisão estruturada → Malware. Isso complica bloqueio e atribuição tradicional, pois o tráfego se mistura ao ruído legítimo de APIs de IA.

CLOSEDQUORUM: Análise Técnica

O implante é um binário Windows (Go) que incorpora lógica para consultar múltiplos provedores de LLM. A engenharia reversa pela Cisco Talos revelou a arquitetura interna:

O malware define provedores (OpenAI, Anthropic, etc.), modelos (gpt-4, claude-3, etc.) e templates de prompt. O prompt usa placeholders runtime — ex: TARGET: %s — que são substituídos no momento da execução com alvos reais (credenciais, carteiras, etc.).

Código descompilado do CLOSEDQUORUM mostrando provedores, modelos e prompts
Figura 9. Código descompilado do CLOSEDQUORUM revelando provedores de LLM, modelos utilizados e templates de prompt. Fonte: Cisco Talos.

Prompt Templates como Artefatos

Malware apoiado por IA pode conter templates técnicos de prompts com placeholders que são preenchidos em runtime:

O placeholder TARGET: %s é substituído dinamicamente com o alvo da operação (ex: caminho de carteira de criptomoedas, arquivo de credenciais). Isso transforma o prompt em um artefato forense: o template revela a intenção do malware sem precisar executá-lo.

Template de prompt do CLOSEDQUORUM: TARGET: %s substituído em runtime
Figura 10. Template de prompt do CLOSEDQUORUM: TARGET: %s é substituído em runtime pelo alvo real. Fonte: Cisco Talos.

Respostas Estruturadas e Decisões do Modelo

A resposta do LLM não é texto livre — é uma estrutura desserializada diretamente em código Go:

A resposta do modelo é parseada para uma struct Go com campos como capabilities (capacidades disponíveis), actions (ações a executar), targets (alvos), reasoning (justificativa). O malware então executa a ação decidida pelo modelo. Isso torna o fluxo de decisão auditable via artefatos estáticos: a struct Go define o contrato entre IA e malware.

Estrutura Go desserializada da resposta do LLM: capabilities, actions, targets
Figura 11. Estrutura Go para desserialização da resposta do modelo: capabilities, actions, targets, reasoning. Fonte: Cisco Talos.

Resultados e Capacidades Descobertas

O CAIRN revela as capacidades que o malware delega à IA. No caso do CLOSEDQUORUM, incluem coleta de credenciais, enumeração de carteiras de criptomoedas, decisões de movimentação lateral, e escolha de técnicas de evasão — tudo decidido pelo painel de LLMs.

Resultados do CAIRN mostrando capabilities identificadas: credential harvesting, wallet enumeration, etc.
Figura 12. Capacidades identificadas via CAIRN no CLOSEDQUORUM: credential harvesting, wallet enumeration, lateral movement decisions, evasion technique selection. Fonte: Cisco Talos.

O que muda na análise de malware

Investigadores passam a procurar uma nova camada de indicadores: templates de prompt com placeholders runtime, endpoints de provedores de LLM hardcoded ou configuráveis, referências a modelos específicos (gpt-4, claude-3-opus, etc.), padrões de API keys (sk-, sk-ant-, etc.), jailbreak wording para burlar guardrails, structs Go/JSON para desserialização de respostas. Esses cognitive artifacts complementam IOCs tradicionais e permitem atribuir famílias de malware apoiado por IA mesmo quando a infraestrutura C2 tradicional está ausente.

Limitações do CAIRN

O CAIRN é uma ferramenta de pesquisa, não um produto operacional. Limitações conhecidas: depende da API do VirusTotal (rate limits, custo); trabalha apenas sobre metadados — não analisa comportamento dinâmico; regras YARA podem gerar falsos positivos/negativos; clustering semântico depende da qualidade dos embeddings; não substitui engenharia reversa profunda; feed não é em tempo real; cobertura limitada às amostras indexadas no VirusTotal. É uma bússola para mostrar “para onde os hackers estão indo”, nas palavras da Talos.

O futuro da análise de malware apoiado por IA

À medida que mais malware incorpora LLMs para decisões táticas, a fronteira entre análise estática e análise cognitiva se torna central. Ferramentas como o CAIRN mostram o caminho: metadados em escala + regras YARA direcionadas + clustering semântico = descoberta de famílias inteiras que compartilham lógica cognitiva. O analista do futuro precisará fluir entre assembly, tráfego de rede, e agora também: prompt engineering reverso, estruturas de resposta de modelos, e topologia de provedores de IA. O CAIRN é o primeiro marco público nessa direção.

Conclusão

CAIRN demonstra que malware apoiado por IA não é ficção científica — é realidade documentada (CLOSEDQUORUM). A ferramenta da Cisco Talos permite pesquisadores identificarem cognitive artifacts (prompt templates, endpoints LLM, API key patterns, structs de resposta) via metadados do VirusTotal, sem executar amostras. O clustering semântico agrupa famílias por lógica cognitiva compartilhada, revelando evolução que strings tradicionais não capturam. Isso não substitui engenharia reversa — adiciona uma nova dimensão: a análise da intenção cognitiva delegada a modelos externos. O analista que ignora essa camada ficará cego para a próxima geração de ameaças. O CAIRN é open source, mantido pela Talos, e aponta o caminho: o futuro da threat intelligence inclui ler o que o malware pede para a IA decidir.