
Memória agentiva para CTI em Python — grafos de conhecimento STIX, resolução de alias de atores de ameaça, RAG offline-first, servidor MCP para Claude Code e agentes LangChain
O único sistema de memória agêntica construído para inteligência de ameaças cibernéticas.
Quando um analista sênior sai, dois ou três anos de contexto vão junto com ele — ambientes de clientes, investigações anteriores, TTPs de atores, padrões de falso positivo, cada "espera, já vimos isso antes" conquistado a duras penas. O ZettelForge é um sistema de memória agêntica construído para que o contexto permaneça com a equipe.
Ele extrai CVEs, atores de ameaças, IOCs e técnicas ATT&CK de notas de analistas e relatórios de ameaças, resolve aliases (APT28 = Fancy Bear = STRONTIUM = Sofacy), constrói um grafo de conhecimento STIX 2.1 e retorna toda investigação passada para seus analistas — e para o Claude Code via MCP — em linguagem natural. Executa inteiramente em processo. Sem chaves de API. Sem nuvem. Nenhum dado sai do host.
Favoritar · pip install zettelforge · Documentação · ThreatRecall (hospedado) · Changelog
v2.6.2 (2026-04-27): O editor web de configuração agora vem com menus suspensos funcionais para todos os campos de enumeração (provedor LLM/embedding, nível de log, ação de PII, formato de síntese) e um botão Apply funcional. Nova dependência
[crewai]expõe o ZettelForge como ferramentas CrewAI --pip install zettelforge[crewai]. Changelog completo
Se o ZettelForge se encaixa em um fluxo de trabalho de CTI que você executa, uma estrela é o sinal mais rápido de que esta categoria vale a pena continuar investindo.
Todo SOC perde analistas. Quando eles saem, o contexto das investigações, a atribuição de atores e os padrões de falso positivo específicos do ambiente vão junto. Seus substitutos reabrem os mesmos tickets, releem os mesmos relatórios e reconstroem os mesmos modelos mentais do zero.
Sistemas de memória de IA de uso geral não resolvem isso para equipes de segurança. Eles não distinguem APT28 de Fancy Bear, não sabem que CVE-2024-3094 é o backdoor do XZ Utils, não conseguem analisar regras Sigma ou YARA e não têm conceito de IDs de técnicas MITRE ATT&CK. Quando um analista de CTI fornece a eles um ano de relatórios de inteligência, eles retornam uma busca semântica difusa sobre o histórico do chat.
O ZettelForge foi construído para analistas que pensam em grafos de ameaças. Ele extrai CVEs, atores de ameaças, IOCs e técnicas ATT&CK automaticamente, resolve aliases entre convenções de nomenclatura, constrói um grafo de conhecimento com relações causais e recupera memórias usando busca híbrida ciente de intenção — tudo em processo, sem dependência de API externa.
Aumento de memória fecha 33% da lacuna entre modelos pequenos e grandes em tarefas de CTI (CTI-REALM, Microsoft 2026, usando GPT-4 como referência de modelo grande). Veja o relatório completo de benchmarks para metodologia e comparações.
| Capacidade | ZettelForge | Mem0 | Graphiti | Cognee |
|---|---|---|---|---|
| Extração de entidades de CTI (CVEs, atores, IOCs) | Sim | Não | Não | Não |
| Ontologia STIX 2.1 | Sim | Não | Não | Não |
| Resolução de aliases de atores de ameaças | Sim (APT28 = Fancy Bear) | Não | Não | Não |
| Grafo de conhecimento com triplas causais | Sim | Não | Sim | Sim |
| Recuperação classificada por intenção (5 tipos) | Sim | Não | Não | Não |
| Em processo / sem API externa necessária | Sim | Não | Não | Não |
| Registros de auditoria no esquema OCSF | Sim | Não | Não | Não |
| Servidor MCP (Claude Code) | Sim | Não | Não | Não |
Extração de Entidades -- Identifica automaticamente CVEs, atores de ameaças, IOCs (IPs, domínios, hashes, URLs, e-mails), técnicas MITRE ATT&CK, campanhas, conjuntos de intrusão, ferramentas, pessoas, localizações e organizações. Regex + LLM NER com tipos STIX 2.1 em todo o processo.
Grafo de Conhecimento -- Entidades tornam-se nós, coocorrência torna-se arestas. O LLM infere triplas causais ("APT28 usa Cobalt Strike"). Arestas temporais e substituição rastreiam como a inteligência evolui.
Resolução de Aliases -- APT28, Fancy Bear, Sofacy, STRONTIUM todos resolvem para o mesmo nó de ator. Funciona automaticamente no armazenamento e na recuperação.
Recuperação Híbrida -- Similaridade vetorial (fastembed 768-dim, ONNX) + travessia de grafo (BFS sobre arestas do grafo de conhecimento), ponderados pela classificação de intenção. Cinco tipos de intenção: factual, temporal, relacional, exploratória, causal.
Evolução da Memória -- Com evolve=True, nova inteligência é comparada à memória existente. O LLM decide ADD, UPDATE, DELETE ou NOOP. Inteligência desatualizada é substituída. Contradições são resolvidas. Duplicatas são ignoradas.
Síntese RAG -- Sintetize respostas em todas as memórias armazenadas com o formato direct_answer.
Em processo por arquitetura -- fastembed (ONNX) para embeddings, llama-cpp-python para inferência LLM local opcional, SQLite + LanceDB para armazenamento e Ollama em localhost por padrão. Nenhuma chave de API externa é necessária. O acesso de rede externa pode ocorrer na primeira execução, quando modelos de embedding/LLM são baixados; após o pré-carregamento dos modelos, pode ser executado completamente offline (inclusive em hosts isolados).
Registro de auditoria no esquema OCSF -- Toda operação emite um evento estruturado no formato Open Cybersecurity Schema Framework. O que você faz com o fluxo de logs (SIEM, armazenamento WORM, nada) é com você.