{"id":5250,"date":"2026-10-19T10:41:01","date_gmt":"2026-10-19T08:41:01","guid":{"rendered":"https:\/\/cybernemo.eu\/?p=5250"},"modified":"2026-10-21T10:46:59","modified_gmt":"2026-10-21T08:46:59","slug":"building-trustworthy-security-ai-1-connecting-the-dots-with-graph-rag-for-cyber-defense","status":"publish","type":"post","link":"https:\/\/cybernemo.eu\/index.php\/2026\/10\/19\/building-trustworthy-security-ai-1-connecting-the-dots-with-graph-rag-for-cyber-defense\/","title":{"rendered":"Building Trustworthy Security AI #1: Connecting the Dots with Graph-RAG for Cyber Defense"},"content":{"rendered":"\n<p>Graph-based Retrieval-Augmented Generation (Graph-RAG) is changing how security knowledge reaches large language models. Conventional RAG splits documents into chunks and retrieves them by vector similarity. Graph-RAG instead grounds the model in a structured knowledge graph, where entities such as hosts, user accounts, software versions, CVEs, firewall rules, and MITRE ATT&amp;CK techniques are linked by explicit relationships. This approach is explored in the CyberNEMO project with promising results in actionable retrieval. It permits a shift from merely finding texts that are similar, to finding connections that are relevant. Take the query \u201cWhich internet-facing assets could an adversary reach by exploiting CVE-2024-XXXX\u201d? Flat vector search cannot answer it reliably, because the answer is not in any single document. A credible answer emerges only by traversing several hops: from the vulnerability to the affected package, to the server running it, to the subnet, to the identity with lateral-movement privileges. Graph-RAG turns that traversal into the context the model reasons over. Its answers can be traced back through the graph and checked by an analyst.<\/p>\n\n\n\n<p>The property graph model is what makes this work for a customized enterprise infrastructure. Nodes and edges are typed, and both can carry key-value attributes. So, an edge such as <span style=\"color: green;\"> (:Workstation)-[:AUTHENTICATES_TO {protocol:&#8221;Kerberos&#8221;, first_seen:&#8230;, risk_score:0.82}]-&gt;(:DomainController)<\/span> captures not just that a relationship exists, but its context, time, and weight. The solutions in CyberNEMO explored the benefits of this level of expressiveness for organizations whose environments are unique by design. Notwithstanding the benefits, several milestones must still be reached before the target performance is achieved. Graph construction remains the first hurdle, where extracting entities and relations from unstructured threat intelligence with LLMs introduces noise, and entity resolution is still non-trivial. Schema governance is the second. Ontologies must evolve as the infrastructure changes without breaking downstream queries, which argues for alignment with standards such as STIX 2.1 and the Unified Cybersecurity Ontology. Scale and latency matter too: multi-hop traversals over graphs with billions of edges must return within seconds an incident responder can afford. Finally, the field lacks standardized benchmarks for judging whether Graph-RAG outputs are complete and faithful in security contexts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Graph-based Retrieval-Augmented Generation (Graph-RAG) is changing how security knowledge reaches large language models. Conventional RAG splits documents into chunks and retrieves them by vector similarity. Graph-RAG instead grounds the model in a structured knowledge graph, where entities such as hosts, &hellip;<\/p>\n","protected":false},"author":5,"featured_media":5257,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_lock_modified_date":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[17,46,22],"tags":[],"cc_featured_image_caption":{"caption_text":"","source_text":"","source_url":""},"_links":{"self":[{"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/posts\/5250"}],"collection":[{"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/comments?post=5250"}],"version-history":[{"count":2,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/posts\/5250\/revisions"}],"predecessor-version":[{"id":5253,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/posts\/5250\/revisions\/5253"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/media\/5257"}],"wp:attachment":[{"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/media?parent=5250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/categories?post=5250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cybernemo.eu\/index.php\/wp-json\/wp\/v2\/tags?post=5250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}