
Memoria agentica per CTI in Python — grafi di conoscenza STIX, risoluzione alias di attori minacciosi, RAG offline-first, server MCP per Claude Code e agenti LangChain
L'unico sistema di memoria agentivo costruito per l'intelligence sulle minacce informatiche.
Quando un analista senior se ne va, se ne portano via due o tre anni di contesto — ambienti cliente, indagini precedenti, TTP degli attori, pattern di falsi positivi, ogni "aspetta, abbiamo già visto questo" conquistato a fatica. ZettelForge è un sistema di memoria agentivo costruito affinché il contesto resti al team.
Estrae CVE, attori di minaccia, IOC e tecniche ATT&CK da note degli analisti e report di minaccia, risolve alias (APT28 = Fancy Bear = STRONTIUM = Sofacy), costruisce un grafo della conoscenza STIX 2.1 e restituisce ogni indagine passata ai tuoi analisti — e a Claude Code tramite MCP — in linguaggio naturale. Funziona interamente in-process. Nessuna chiave API. Nessun cloud. Nessun dato lascia l'host.
Star · pip install zettelforge · Docs · ThreatRecall (hosted) · Changelog
v2.6.2 (2026-04-27): La web editor di configurazione include menu a tendina funzionanti per tutti i campi enum (provider LLM/embedding, livello di log, azione PII, formato di sintesi) e un pulsante Applica funzionante. Nuovo extra
[crewai]espone ZettelForge come strumenti CrewAI —pip install zettelforge[crewai]. Changelog completo
Se ZettelForge si adatta a un flusso di lavoro CTI che gestisci, una stella è il segnale più rapido che vale la pena continuare a investire in questa categoria.
Ogni SOC perde analisti. Quando se ne vanno, il contesto delle indagini, l'attribuzione degli attori e i pattern di falsi positivi specifici dell'ambiente scompaiono con loro. I loro sostituti riaprono gli stessi ticket, rileggono gli stessi report e ricostruiscono da zero gli stessi modelli mentali.
I sistemi di memoria AI generici non risolvono questo problema per i team di sicurezza. Non sanno distinguere APT28 da Fancy Bear, non sanno che CVE-2024-3094 è il backdoor di XZ Utils, non sanno analizzare Sigma o YARA e non hanno alcun concetto degli ID delle tecniche MITRE ATT&CK. Quando un analista CTI fornisce loro un anno di report di intelligence, ottengono una vaga ricerca semantica sulla cronologia delle chat.
ZettelForge è stato costruito per analisti che pensano in grafi di minaccia. Estrae automaticamente CVE, attori di minaccia, IOC e tecniche ATT&CK, risolve alias tra convenzioni di denominazione, costruisce un grafo della conoscenza con relazioni causali e recupera memorie utilizzando una ricerca ibrida consapevole dell'intento — tutto in-process, senza dipendenza da API esterne.
L'augmentazione della memoria colma il 33% del divario tra modelli piccoli e grandi nelle attività CTI (CTI-REALM, Microsoft 2026, usando GPT-4 come baseline del modello grande). Vedi il rapporto benchmark completo per metodologia e confronti.
| Capacità | ZettelForge | Mem0 | Graphiti | Cognee |
|---|---|---|---|---|
| Estrazione entità CTI (CVE, attori, IOC) | Sì | No | No | No |
| Ontologia STIX 2.1 | Sì | No | No | No |
| Risoluzione alias attori di minaccia | Sì (APT28 = Fancy Bear) | No | No | No |
| Grafo della conoscenza con triple causali | Sì | No | Sì | Sì |
| Recupero classificato per intento (5 tipi) | Sì | No | No | No |
| In-process / nessuna API esterna richiesta | Sì | No | No | No |
| Log di audit in schema OCSF | Sì | No | No | No |
| Server MCP (Claude Code) | Sì | No | No | No |
Estrazione di entità — Identifica automaticamente CVE, attori di minaccia, IOC (IP, domini, hash, URL, email), tecniche MITRE ATT&CK, campagne, set di intrusione, strumenti, persone, luoghi e organizzazioni. Regex + LLM NER con tipi STIX 2.1 in tutto.
Grafo della conoscenza — Le entità diventano nodi, la co-occorrenza diventa archi. LLM deduce triple causali ("APT28 usa Cobalt Strike"). Archi temporali e soppressione tengono traccia di come l'intelligence si evolve.
Risoluzione alias — APT28, Fancy Bear, Sofacy, STRONTIUM si risolvono tutte allo stesso nodo attore. Funziona automaticamente su memorizzazione e recupero.
Recupero ibrido — Somiglianza vettoriale (fastembed a 768 dimensioni, ONNX) + traversata del grafo (BFS sugli archi del grafo della conoscenza), ponderata per classificazione dell'intento. Cinque tipi di intento: fattuale, temporale, relazionale, esplorativo, causale.
Evoluzione della memoria — Con evolve=True, la nuova intelligence viene confrontata con la memoria esistente. LLM decide AGGIUNGI, AGGIORNA, ELIMINA o NESSUNA OPERAZIONE. L'intelligence obsoleta viene sostituita. Le contraddizioni vengono risolte. I duplicati vengono saltati.
Sintesi RAG — Sintetizza risposte attraverso tutte le memorie memorizzate con il formato direct_answer.
In-process per architettura — fastembed (ONNX) per gli embedding, llama-cpp-python per l'inferenza LLM locale opzionale, SQLite + LanceDB per l'archiviazione e Ollama su localhost per impostazione predefinita. Non sono richieste chiavi API esterne. L'accesso alla rete in uscita può avvenire al primo avvio quando vengono scaricati i modelli di embedding/LLM; dopo il precaricamento dei modelli, può funzionare completamente offline (anche su host con aria-gap).
Registrazione audit in schema OCSF — Ogni operazione emette un evento strutturato nel formato Open Cybersecurity Schema Framework. Cosa fare con il flusso di log (SIEM, archivio WORM, niente) dipende da te.
pip install zettelforge