cd /news/ai-agents/blastradius-why-severity-scores-lie-… Β· home β€Ί topics β€Ί ai-agents β€Ί article
[ARTICLE Β· art-152024] src=dev.to β†— pub= topic=ai-agents verified=true sentiment=↑ positive

BlastRadius: Why Severity Scores Lie, and How Graph AI Solves Real Attack Paths

A developer built BlastRadius, an open-source graph-native AI agent that uses FalkorDB and the Model Context Protocol to map real attack paths through hybrid cloud infrastructure rather than ranking vulnerabilities by CVSS severity. The tool traces reachability from internet-facing entry points to crown-jewel assets via OpenCypher variable-length path queries, arguing that vector-database RAG approaches fail because vector distance does not capture topological connectivity.

by read7 min views3 publishedOct 17, 2026

"Defenders think in lists. Attackers think in graphs. As long as this is true, attackers win."

β€” John Lambert, Distinguished Engineer, Microsoft Threat Intelligence

It is 2:14 AM. Your security scanner finishes sweeping your hybrid cloud infrastructure and drops a fresh spreadsheet into your ticketing queue: 4,821 open vulnerabilities.

Two hundred of them are flagged with a CVSS 9.8 or 10.0 Critical.

Your SecOps team has the engineering bandwidth to patch roughly ten servers this sprint. How do you choose?

If you do what 95% of security teams do, you sort the column by CVSS descending and start patching from the top:

legacy-ftp: CVSS 10.0 (Log4j remote code execution). batch-legacy: CVSS 9.8 (CGI deserialization exploit). Congratulations: your team spent 36 uninterrupted engineering hours patching two isolated, legacy servers sitting on an air-gapped staging subnet with zero egress and zero access to customer data.

Meanwhile, an unpatched CVSS 7.5 OpenSSL bug on your internet-facing api-gateway sat at ticket #384 in your backlog. Six hours later, an adversary used that single gateway to pivot into your microservices mesh and exfiltrate your entire customer database in three hops.

[The Vulnerability Mirage]

Isolated Subnet:
  [Attacker] ──x──> [legacy-ftp (CVSS 10.0)] ──x──> (DEAD END)

Production Route:
  [Attacker] ─────> [api-gateway (CVSS 7.5)] ─────> [db-customers (PII)]
                    β–²
                    └── THE REAL ATTACK PATH

Severity scores tell you how dangerous a vulnerability is in isolation. They tell you nothing about whether an adversary can actually reach your crown jewels.

We built BlastRadius to invert this paradigm: a graph-native, autonomous AI agent powered by FalkorDB and the Model Context Protocol (MCP) that maps true network reachability, calculates topological choke points, and safely remediates attack paths without taking down production.

Why hasn't the cybersecurity industry solved this already? Because answering the fundamental questionβ€”"Can an attacker on the public internet walk from an exposed ingress point to our customer database through exploitable vulnerabilities?"β€”is computationally agonizing in relational databases.

To trace lateral movement across a dynamic cloud network in a relational database, you must execute recursive Common Table Expressions (WITH RECURSIVE) across five separate tables: hosts, network_interfaces, firewall_rules, installed_services, and cve_vulnerabilities.

At 4 hops, relational engines devolve into massive Cartesian joins that bring relational query planners to their knees.

Many modern "AI security tools" attempt to dump scan reports into vector databases (RAG) and prompt an LLM: "Find the attack path."

This fails disastrously. Vector distance is not topological connectivity. LLMs cannot reliably trace multi-hop network paths in natural language; they hallucinate hops through air-gapped subnets, fabricate firewall allowances, and skip critical lateral constraints.

In FalkorDB, network infrastructure is represented in its natural state: a directed property graph.

Because FalkorDB is built on sparse matrix linear algebra (GraphBLAS) running over the ultra-fast Redis wire protocol, variable-length path traversal is not a pointer-chasing crawlβ€”it is an optimized linear algebraic matrix multiplication executed in microseconds.

Finding all paths from the public internet to our crown jewel database is a single OpenCypher query:

MATCH path = (entry:InternetEntry)-[:EXPLOITABLE_ROUTE*1..5]->(target:CrownJewel {name: 'db-customers'})
RETURN path, length(path) AS hops
[Public Internet]
       β”‚
       β”œβ”€β”€> [edge-apache] ──> [api-gateway] ──┐
       β”œβ”€β”€> [edge-nginx]  ──> [api-gateway] ──┼──> [db-customers] (CROWN JEWEL)
       β”œβ”€β”€> [edge-node]   ──> [api-gateway] β”€β”€β”˜
       └──> [edge-apache] ──> [worker-java]  ─────> [db-customers]

One query. Instant topological reality. FalkorDB identifies the exact four attack routes an adversary can execute today.

To reflect real enterprise environments, BlastRadius ingests live vulnerability telemetry:

Look at how raw scores compare to graph-grounded reality in our testbed:

Server Host Role Primary Vulnerability CVSS EPSS / KEV Graph Attack Paths True Threat Status
legacy-ftp Deprecated Storage Log4j (CVE-2021-44228) 10.0 High (KEV) 0 Noise (No route to crown jewels)
batch-legacy Internal Batch Job CGI RCE (CVE-2014-6271) 9.8 Moderate 0 Noise (Dead-end subnet)
api-gateway Microservice Ingress OpenSSL (CVE-2022-3602) 7.5 Low 3 of 4 CRITICAL CHOKE POINT

If you follow traditional security advice, you spend your week patching legacy-ftp and batch-legacy. Your customer database remains completely exposed.

BlastRadius immediately surfaces that patching a single CVE on api-gateway eliminates 75% of your total attack surface in one stroke.

A common anti-pattern in generative AI projects is "Text-to-SQL" or "Text-to-Cypher," where the LLM is asked to write raw queries against production databases.

In cybersecurity, this is unacceptable:

BlastRadius uses the Model Context Protocol (MCP). The LLM agent never writes raw Cypher. Instead, it interacts with FalkorDB through deterministic, strongly-typed MCP tools:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”       MCP Request       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 β”‚ ──────────────────────> β”‚                  β”‚
β”‚    AI Agent     β”‚                         β”‚  FalkorDB Engine β”‚
β”‚ (Reasoning Core)β”‚ <────────────────────── β”‚ (Ground Truth)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜       Typed Subgraph    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

find_choke_points(): Runs FalkorDB's betweenness centrality algorithms to mathematically score nodes that funnel the highest percentage of attack traffic.get_shortest_attack_path(source, target): Executes FalkorDB's native shortest-path traversal to calculate minimum attacker effort.simulate_remediation(target_node): Clones the active subgraph in memory, simulates patching or isolating the node, and recalculates remaining attack paths.apply_remediation(target_node): Commits changes to the live graph and updates state. draft_jira_ticket(finding): Formats an engineering ticket containing exact reproduction paths, affected assets, and rollback plans. When an operator asks: "Show the shortest route an attacker could take", real-world networks often feature symmetric microservice ingress paths.

In our reference architecture, FalkorDB evaluates all possible attack routes and detects a four-way tie, each requiring exactly 3 hops:

internet β†’ edge-apache β†’ api-gateway β†’ db-customers edge-nginx β†’ edge-node β†’ worker-java β†’ Rather than arbitrarily picking one route or truncating results, BlastRadius highlights all four tied paths across our React Flow topology canvas simultaneously. Operators immediately grasp the redundancy of the adversary's options.

The biggest obstacle to AI agents in infrastructure is trust. Nobody wants an autonomous agent making blind changes to production services.

Most AI projects attempt to enforce safety through system prompts:

"You are a helpful assistant. Please do not modify critical servers without asking."

This is dangerous. LLM system prompts can be bypassed, misunderstood, or ignored under complex context windows.

In BlastRadius, the graph enforces safety, not the AI prompt.

                  [User: "Fix everything safe"]
                                β”‚
                                β–Ό
                   [Agent: Inspect Node Tier]
                                β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
               β–Ό                                 β–Ό
      [Tier 1: Leaf Worker]             [Tier 3: Choke Point]
    (Low Betweenness Centrality)       (High Centrality / Ingress)
               β”‚                                 β”‚
               β–Ό                                 β–Ό
       Simulate in FalkorDB              REFUSE TO MODIFY
               β”‚                                 β”‚
               β–Ό                                 β–Ό
         Apply Patch                     Draft Jira Ticket with
       (Paths Drop: 4 β†’ 1)               Rollback & Graph Proof

Before touching any node, the MCP server calculates the node's Autonomy Tier directly from FalkorDB metrics:

When the operator types: "Fix everything that is safe", the agent patches the edge servers autonomouslyβ€”dropping attack paths from 4 down to 1.

But when it encounters api-gateway, it explicitly refuses.

The agent informs the operator:

"Remediation refused for api-gateway. This node has high topological centrality and serves active ingress routes. Severing or modifying this node without maintenance coordination risks dropping production traffic. I have drafted Jira ticket SEC-402 with full graph evidence, affected paths, and a rollback plan for human approval."

The model did not decide this out of caution; the graph topology mathematically forbade it.

Traditional chatbot agents suffer from stateless amnesia. If you return to the console three days later and ask: "Why didn't you patch the API gateway on Tuesday?", a typical agent has no idea what you're talking about.

BlastRadius writes its actions, simulations, and refusals back into FalkorDB as first-class graph entities:

CREATE (d:AgentDecision {
    action: 'REMEDIATION_REFUSED',
    target: 'api-gateway',
    reason: 'HIGH_BETWEENNESS_CHOKE_POINT',
    risk_score: 0.89,
    timestamp: 1729208000
})-[:EVALUATED_AGAINST]->(h:Host {name: 'api-gateway'})

Because reasoning is stored natively in the graph:

Enterprise security tools cannot be toy prototypes with hardcoded data.

BlastRadius allows teams to click Use your own data, upload network inventory or vulnerability scans, and instantly instantiate a private, isolated graph.

Because FalkorDB handles multi-tenant graph namespaces with zero overhead, each user or organization operates within a strictly partitioned graph spaceβ€”allowing rapid scan-to-graph conversion without infrastructure friction.

Most security tooling generates more data, more alerts, and more cognitive fatigue.

BlastRadius does the opposite:

Attackers will always think in graphs. It’s time our defenses did too.

── more in #ai-agents 4 stories Β· sorted by recency
── more on @blastradius 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain β€” perfect for shipping the agent you just read about.

$git push zahid main
β†’ Live at https://your-agent.zahid.host βœ“
Get free account β†’ Pricing
from €0/mo Β· no card required
LIVE [news/blastradius-why-seve…] indexed:0 read:7min 2026-10-17 Β· β€”